From d0dcaaed7d7205442a8351b7f5e66d11bb6dcea2 Mon Sep 17 00:00:00 2001 From: Dulaj Atapattu Date: Mon, 18 Jan 2021 06:14:28 +0000 Subject: [PATCH] chore: Release v0.11.0 --- docs/01a85c17.26e86c49.js | 1 + docs/01a85c17.b7cade57.js | 1 - docs/075f21dd.fad92803.js | 1 + docs/08f25880.5f4cb6f3.js | 1 + docs/08f25880.af50edc9.js | 1 - docs/0923c366.5d7f32ac.js | 1 - docs/0923c366.67497d2d.js | 1 + docs/0965cdf6.759acd8f.js | 1 + docs/0965cdf6.82dfcc29.js | 1 - ...c0f5b.c4ee60ea.js => 0a6c0f5b.1fc082e5.js} | 2 +- docs/0eb58673.40cef532.js | 1 + docs/0eb58673.d66df410.js | 1 - docs/0f2a58c8.2bcc7290.js | 1 + docs/0f2a58c8.e2b08522.js | 1 - ...1debb.479f5013.js => 0fd1debb.69e53d89.js} | 2 +- docs/1.b8d7d786.js | 1 - docs/1.e9acad57.js | 1 + docs/10172759.172d1510.js | 1 + docs/10172759.ec8f609f.js | 1 - docs/109e456e.128ef3eb.js | 1 + docs/109e456e.aeff2fef.js | 1 - docs/11e3ce2c.18ec2e84.js | 1 - docs/11e3ce2c.531c09e3.js | 1 + docs/121dd878.64038ce6.js | 1 + docs/121dd878.8a593ca4.js | 1 - docs/126e0b0e.24c90b5c.js | 1 + docs/126e0b0e.efa09eb3.js | 1 - docs/12e676cf.83648d9a.js | 1 + docs/12e676cf.d24cdd16.js | 1 - docs/135cee2a.43497c55.js | 1 + docs/135cee2a.aeec546e.js | 1 - docs/1375ade1.34549b25.js | 1 - docs/1486e3bc.48ec33ce.js | 1 + docs/1486e3bc.696b818c.js | 1 - docs/15837ef3.4ed5e966.js | 1 + docs/15837ef3.a70971a8.js | 1 - ...78352.61a718e7.js => 15a78352.6cbf80ce.js} | 2 +- docs/174d8305.07af7852.js | 1 - docs/174d8305.b0f06072.js | 1 + docs/17896441.39e9d3d4.js | 1 - docs/17896441.90f4abef.js | 1 + docs/17b5adee.7eace6a3.js | 1 + docs/17b5adee.d1866ea9.js | 1 - docs/18fdb351.080d4f87.js | 1 + docs/18fdb351.0b8650f8.js | 1 - docs/190e4f21.2f387b0c.js | 1 - docs/190e4f21.a17097f4.js | 1 + ...78505.26735be8.js => 191d5269.5f162f25.js} | 2 +- ...0bc57.374e1ffb.js => 1a20bc57.1eb1100f.js} | 2 +- docs/1a4f1376.3ebcd79d.js | 1 + docs/1a4f1376.51c9cb73.js | 1 - docs/1ac8922b.27ef4ce6.js | 1 + docs/1ac8922b.85cc3b0c.js | 1 - docs/1ae86ebe.7aa3abb6.js | 1 - docs/1ae86ebe.d617a5bc.js | 1 + ...f8c91.95e000a2.js => 1b0f8c91.abc86300.js} | 2 +- docs/1be78505.b1443e9b.js | 1 + docs/1c59264e.113784ca.js | 1 - docs/1c59264e.a8350ada.js | 1 + docs/1cc3ff79.66064f0d.js | 1 - docs/1cc3ff79.6a4bff0c.js | 1 + docs/1e2038c3.2f38d2a8.js | 1 - docs/1e2038c3.b595f9ba.js | 1 + ...c204c.bb82a73d.js => 1f7c204c.f02833fc.js} | 2 +- docs/2.5359a75a.js | 2 + ....LICENSE.txt => 2.5359a75a.js.LICENSE.txt} | 0 docs/2.c7b926aa.js | 2 - docs/207f87c1.23f2cf3a.js | 1 - docs/207f87c1.8e3845bd.js | 1 + docs/22188a36.0c0a65f2.js | 1 - docs/22188a36.4d30d717.js | 1 + docs/245.88a54636.js | 2 + docs/245.88a54636.js.LICENSE.txt | 1 + docs/{247.76792f2c.js => 246.982fb142.js} | 2 +- docs/246.a234f8fe.js | 1 - docs/247.3764a174.js | 1 + docs/248.59aac0f6.js | 1 + docs/2673e11f.0b4f1485.js | 1 - docs/2673e11f.8c43d59b.js | 1 + docs/26907763.6e2706e1.js | 1 - docs/26907763.d031f314.js | 1 + docs/26a8c297.037a125d.js | 1 - docs/273cfbdf.2a929238.js | 1 + docs/273cfbdf.dd7c8f86.js | 1 - docs/28283d16.786f78c1.js | 1 - docs/296a8b4f.4dc754a9.js | 1 - docs/296a8b4f.e41a7af6.js | 1 + docs/2bf08973.e600e3af.js | 1 - docs/2bf08973.f57c019f.js | 1 + docs/2db704cb.5fcc84cd.js | 1 - docs/2db704cb.b6ada2cf.js | 1 + docs/2dd92585.5cc45242.js | 1 - docs/2dd92585.f4ee7a33.js | 1 + docs/2e8e6962.1af74e8b.js | 1 - docs/2e8e6962.2a3a90e0.js | 1 + docs/2fa9e1ff.0cb86037.js | 1 - docs/2fa9e1ff.5a7cf4f3.js | 1 + docs/3.700dda5d.js | 1 + docs/3.afc70f1d.js | 1 - docs/31c3c419.7d6bdc7a.js | 1 - docs/31c3c419.c14c8693.js | 1 + docs/31f8b56c.5ae80027.js | 1 + docs/31f8b56c.c283942f.js | 1 - docs/34cd3da4.de8c7526.js | 1 + docs/34cd3da4.ebc59d4a.js | 1 - docs/3584c003.18f7cd82.js | 1 - docs/3584c003.5c6eb115.js | 1 + docs/35dabcf3.19916c2c.js | 1 + docs/35dabcf3.c9bd8182.js | 1 - docs/360edac9.c3e41c4e.js | 1 + docs/360edac9.cfded8e7.js | 1 - docs/3697284d.4fece615.js | 1 + docs/3697284d.a0d0c00a.js | 1 - docs/36db7894.17adf4f0.js | 1 - docs/36db7894.75c274e5.js | 1 + ...e3260.a6977bb1.js => 36fe3260.3348be7b.js} | 2 +- ...3dbfc.0fc44864.js => 3713dbfc.fe865089.js} | 2 +- docs/37382beb.5c693e10.js | 1 + docs/37382beb.a4da3cc1.js | 1 - docs/38067279.5fa0ff7c.js | 1 + docs/38067279.c1cb0508.js | 1 - docs/3aa768f5.57ad171f.js | 1 - docs/3aa768f5.7158c588.js | 1 + ...e8fb9.781a3b48.js => 3abe8fb9.70d75ed1.js} | 2 +- docs/3ae7008e.932c0857.js | 1 + docs/3ae7008e.f223bc75.js | 1 - ...64fa6.76e9ea1b.js => 3b464fa6.b22098b9.js} | 2 +- docs/3b64911a.c4db21bc.js | 1 + docs/3b64911a.c98cd944.js | 1 - ...c55ea.b1104bb4.js => 3b8c55ea.8ac93549.js} | 2 +- docs/3da9dc01.40adcb23.js | 1 - docs/3da9dc01.ae7c98bc.js | 1 + docs/3f5dd320.36def7f4.js | 1 - docs/3f5dd320.5843fc21.js | 1 + docs/404.html | 17 +-- docs/4104f38c.219be94a.js | 1 + docs/4104f38c.2287470c.js | 1 - docs/41849bc6.5158fdee.js | 1 - docs/41849bc6.6f37253b.js | 1 + docs/418b096a.627b1744.js | 1 - docs/418b096a.808d4374.js | 1 + docs/424c54c2.08f52c24.js | 1 - docs/424c54c2.d797efbb.js | 1 + ...c4fb3.7e634cea.js => 430c4fb3.7e2683ea.js} | 2 +- docs/452608cb.3485f628.js | 1 - docs/452608cb.8d273aff.js | 1 + docs/4612f97b.2db8f05e.js | 1 + docs/4612f97b.bc2d1157.js | 1 - docs/472f8a66.0b301c4b.js | 1 + docs/472f8a66.ca275df7.js | 1 - docs/4784cd26.9b483878.js | 1 - docs/4784cd26.a514d268.js | 1 + ...365f9.67586eec.js => 47a365f9.5972eb6b.js} | 2 +- docs/47b3e1f7.17c632dc.js | 1 - docs/47b3e1f7.4abc3328.js | 1 + docs/48786391.05d74a4e.js | 1 - docs/48786391.aab643f8.js | 1 + docs/4a8e444b.b987198c.js | 1 + docs/4ab7b8a0.8d4790c5.js | 1 + docs/4ab7b8a0.d465effd.js | 1 - docs/4b953dd8.0c02a175.js | 1 + docs/4b953dd8.6e46326c.js | 1 - ...4d076.fb2aed38.js => 4d54d076.9ed1759e.js} | 2 +- docs/4d5eae90.912032bf.js | 1 - docs/4d5eae90.9a1b594d.js | 1 + docs/4e3b2ad1.8f055ff9.js | 1 - docs/4e3b2ad1.cf4e6e11.js | 1 + docs/4f49ed83.3a8073eb.js | 1 + docs/4f49ed83.67e84d85.js | 1 - ...dabb0.5a59f276.js => 4f6dabb0.53bf02b7.js} | 2 +- docs/50b74c5f.25b75a99.js | 1 + docs/50b74c5f.d79e5589.js | 1 - docs/5168cb29.73c7b85a.js | 1 - docs/5168cb29.9f148eaf.js | 1 + ...1b7a2.db94fa61.js => 5281b7a2.e2c7022e.js} | 2 +- docs/53da2547.0ff3f3a3.js | 1 - docs/53da2547.faa82cd8.js | 1 + docs/549ea605.0935ec7f.js | 1 + docs/549ea605.c6a1214f.js | 1 - docs/54aab825.2b521010.js | 1 - docs/54aab825.b053b90c.js | 1 + docs/58b13b12.af97e357.js | 1 - docs/58b13b12.ed1a4b31.js | 1 + ...4328a.cb20b242.js => 5a34328a.e9e85c75.js} | 2 +- docs/5e52c414.b5482ce6.js | 1 - docs/5e52c414.b599f5e2.js | 1 + docs/5e8c322a.6f0caff0.js | 1 - docs/5e8c322a.a1deb4fe.js | 1 + docs/600ae505.04d36db6.js | 1 - docs/600ae505.fb7b11bb.js | 1 + ...4312d.3354aa1b.js => 6264312d.22cef476.js} | 2 +- ...5c95c.c5516422.js => 6405c95c.1f34a925.js} | 2 +- ...e08dd.73e0c185.js => 649e08dd.00898e63.js} | 2 +- ...8ef03.64172c3a.js => 65b8ef03.de7224d5.js} | 2 +- docs/661410ac.3e4b3866.js | 1 - docs/661410ac.77fb573a.js | 1 + docs/6875c492.527dc100.js | 1 - docs/6875c492.e86db448.js | 1 + docs/692ea9bc.2d5ae0ba.js | 1 - docs/692ea9bc.6094c938.js | 1 + docs/696d57a8.a17edb58.js | 1 - docs/696d57a8.a2c32f7d.js | 1 + docs/6c3eb428.38be1345.js | 1 + docs/6c3eb428.d1548bf6.js | 1 - docs/6ce0e474.508c7c3f.js | 1 + docs/6ce0e474.5aaeb270.js | 1 - docs/6d36af6b.126d3fde.js | 1 + docs/6d36af6b.d28f23fa.js | 1 - docs/6eb0e506.3959460e.js | 1 + docs/6eb0e506.c253de13.js | 1 - docs/6ee3bac7.f6e551cb.js | 1 - docs/718f151f.557476ff.js | 1 + docs/718f151f.ba1ec61c.js | 1 - docs/746a1919.34027d19.js | 1 + docs/746a1919.58b11ebc.js | 1 - docs/77770fc3.4127629f.js | 1 + docs/77770fc3.8200b152.js | 1 - docs/79d0d182.ce161d95.js | 1 + docs/79d0d182.e55d9008.js | 1 - docs/7c1cba9e.04313215.js | 1 + docs/7c1cba9e.0f63b56d.js | 1 - docs/7ca2f128.2541f8d3.js | 1 + docs/7ca2f128.341ecdd9.js | 1 - docs/7d1cd1c9.68eb3518.js | 1 - docs/7d1cd1c9.c0af57f8.js | 1 + docs/7d744a8f.6083134a.js | 1 + docs/7d744a8f.d84911bd.js | 1 - docs/7ecd2c5c.1ee06b04.js | 1 - docs/7ecd2c5c.2246a4b5.js | 1 + ...f4b62.aa872a8c.js => 7f8f4b62.59a1ee6b.js} | 2 +- docs/82f75f63.9c04da50.js | 1 + docs/82f75f63.f6686d94.js | 1 - docs/8542acf3.a086d2c6.js | 1 + docs/8542acf3.f399b6ae.js | 1 - ...481fc.e0e96717.js => 854481fc.ff80df84.js} | 2 +- docs/879fc8a6.439ff7df.js | 1 - docs/879fc8a6.546c07a7.js | 1 + docs/883d6399.51e7f908.js | 1 + docs/883d6399.ff0a50eb.js | 1 - docs/887b127f.3a02b7cd.js | 1 + docs/887b127f.a7acb17c.js | 1 - docs/88c2f924.06bd0391.js | 1 - docs/88c2f924.26c0c401.js | 1 + docs/8926e245.4429d967.js | 1 - docs/8926e245.dcc963c5.js | 1 + docs/8954e356.384f1a7f.js | 1 - docs/8954e356.38aac59c.js | 1 + docs/8c12d624.3af6a59b.js | 1 + docs/8c12d624.8c72e917.js | 1 - docs/8c8ea2c1.156f4224.js | 1 + docs/8c8ea2c1.cee2be2c.js | 1 - ...add29.0b849ce9.js => 8caadd29.72de86a5.js} | 2 +- docs/8eaf94d7.76f9302c.js | 1 - docs/8eaf94d7.8a4a7237.js | 1 + ...30830.b3554104.js => 8f030830.2401e377.js} | 2 +- docs/9152460a.49995545.js | 1 + docs/9152460a.63de54cf.js | 1 - docs/917fcb62.c2fb7f96.js | 1 + docs/917fcb62.ec08e442.js | 1 - docs/935f2afb.06b40bc9.js | 1 - docs/935f2afb.2a6a8137.js | 1 + docs/9363aca1.27231cd8.js | 1 - docs/9363aca1.a1d22f1c.js | 1 + docs/941b9d10.cae859e9.js | 1 - docs/941b9d10.f86ce1ff.js | 1 + docs/948118d6.1fcd0816.js | 1 + docs/948118d6.e179e7ad.js | 1 - docs/94eea4ff.2e730d74.js | 1 + ...656ac.6cbc80bc.js => 950656ac.7afbfdc3.js} | 2 +- docs/9747bb1a.7cd6864b.js | 1 - docs/9747bb1a.a2ac6443.js | 1 + docs/97d9aba4.d389abbc.js | 1 + docs/97d9aba4.f04aa883.js | 1 - docs/97e78655.3ff5e96d.js | 1 + docs/97e78655.c6e0b2d0.js | 1 - ...e93c8.3b9974aa.js => 996e93c8.62e44a67.js} | 2 +- docs/997fea1d.02f710a2.js | 1 + docs/997fea1d.17fc1d50.js | 1 - docs/9a52a2f7.096e5794.js | 1 - docs/9a52a2f7.156f430d.js | 1 + docs/9ed00105.a81d914f.js | 1 + docs/9ed00105.dc862518.js | 1 - ...13279.c5016357.js => a3713279.34e1d64e.js} | 2 +- docs/a50fe136.48b73281.js | 1 - docs/a54511d2.0475f794.js | 1 - docs/a54511d2.e64b59ae.js | 1 + ...331b1.9adcb074.js => a64331b1.cb2ff036.js} | 2 +- docs/a6aa9e1f.04d83dac.js | 1 + docs/a6aa9e1f.d4010c31.js | 1 - docs/a7eb55a2.6ba69963.js | 1 + docs/a814b970.4f021e8f.js | 1 + docs/a814b970.84934795.js | 1 - docs/a8b2a833.e300a57f.js | 1 + docs/a8b2a833.e85eaa3c.js | 1 - ...b5334.3b483d53.js => a8bb5334.ace946c3.js} | 2 +- docs/a8dc7269.ae30c762.js | 1 - docs/a8dc7269.e6565eaa.js | 1 + docs/a9331674.5a3725d7.js | 1 - docs/a9331674.f6d96e76.js | 1 + docs/aa7f648d.45dbfacd.js | 1 + docs/aa7f648d.dbf7e1f1.js | 1 - docs/aa9ca283.4fc8267a.js | 1 - docs/aa9ca283.c61e58ec.js | 1 + docs/ac27f894.852c6456.js | 1 + docs/ac27f894.ff0d5c6c.js | 1 - ..._blue-ae85814564c8a969c952120b9eb2f670.png | Bin 0 -> 161702 bytes ..._cyan-be4d839fa6960467b252d03cdcc6e349.png | Bin 0 -> 245590 bytes ..._mint-c5aebe035f23b3185e05f2f5ad90588d.png | Bin 0 -> 186852 bytes ...range-72c70ac710794925a711d7f2babd191c.png | Bin 0 -> 164107 bytes ...urple-9a29d1ea728562c448cb870e766ddf79.png | Bin 0 -> 256397 bytes ...d_red-7e0bf422365e6eceb8bec7dc8e695221.png | Bin 0 -> 261395 bytes ...oards-f32b01c8c07e2a1ded1ce2ce265bbbcf.png | Bin 0 -> 277918 bytes ..._demo-1143b3fab018b50f5fd6a4f1c6198a30.png | Bin 0 -> 84638 bytes ...nsive-7e306ae02d67f49effa4ba3922f38c26.png | Bin 0 -> 174391 bytes ..._tags-45dad6ef9e0fb51b7f578dacedcefc31.png | Bin 0 -> 115224 bytes ...s_toc-1b6451d27979880f8e5697fc15370346.png | Bin 0 -> 199658 bytes ...ine_2-4bf7e9cee7574388d3434c79b250d430.png | Bin 0 -> 13338 bytes ...andas-47ec17d05b1b28f7774807623b918752.png | Bin 0 -> 28441 bytes ...aling-1ed013cfb64482f8eaa0808888c40b3b.png | Bin 0 -> 95119 bytes ...ction-97b470e00b7932d2795c95be9cd22543.png | Bin 0 -> 74585 bytes ...ion_1-eeb31d0e6c5a43abb92c456456dcd6e4.png | Bin 0 -> 13307 bytes ...ion_2-aa7a7627456b3455fdf0cdd77c3de49c.png | Bin 0 -> 14259 bytes ...ion_3-7dff0fecb5c9aa35d769fae64d1d0cda.png | Bin 0 -> 14879 bytes ...ion_4-872edf7d8d4bbead96bbcc7840d22cf5.png | Bin 0 -> 11688 bytes ...ion_5-3065b7aed493f3c0e4f4172914003a1d.png | Bin 0 -> 14040 bytes ...ion_6-31f91f3195622bace7ade25d484b329f.png | Bin 0 -> 13353 bytes ...ats_1-3d795dabf58580168c08af871ef00680.png | Bin 0 -> 36504 bytes ...ats_2-85969423403568ab077789ecd23458e2.png | Bin 0 -> 53927 bytes ...ats_4-1f9d8e2ef7c4ab59be8e79f9c6d6b06c.png | Bin 0 -> 26136 bytes ...ist_1-e5298c8479345c53d2e1197a118d0770.png | Bin 0 -> 35753 bytes ...ist_2-7b410ad4b07a18411a671a7c70f6f057.png | Bin 0 -> 35744 bytes ...ist_3-604ecf10a42d2e87feb60141d2777f5b.png | Bin 0 -> 44340 bytes ...table-45b32e215b9672e14fa49d726704b772.png | Bin 0 -> 44722 bytes docs/b140a32d.d182942c.js | 1 - docs/b140a32d.de53841c.js | 1 + docs/b18fb770.d936392e.js | 1 - docs/b18fb770.ff25d5d5.js | 1 + docs/b1e50d5a.0334a1a3.js | 1 - docs/b1e50d5a.c320aaae.js | 1 + docs/b22f7242.64ce058a.js | 1 - docs/b22f7242.9fa569f8.js | 1 + ...5475e.19c5d8f7.js => b4d5475e.178c9921.js} | 2 +- docs/b81c5e46.2180ab27.js | 1 + docs/b81c5e46.c79e6989.js | 1 - docs/b8435c12.2e99639b.js | 1 + docs/b8435c12.5490c5b8.js | 1 - docs/b999a6e4.1eea1b51.js | 1 - docs/b999a6e4.ed9562d2.js | 1 + docs/b9e4d6e6.56943b5d.js | 1 - docs/b9e4d6e6.85b68aef.js | 1 + docs/b9f028e1.3d6f3502.js | 1 - docs/b9f028e1.b25a6534.js | 1 + docs/ba1aeef8.28544b02.js | 1 - docs/ba1aeef8.68b93fe2.js | 1 + docs/bb5446ac.5ff59c50.js | 1 - docs/bb5446ac.86afd522.js | 1 + ...d3825.ff5a06b7.js => bbdd3825.9463c0a7.js} | 2 +- docs/bd0b0bbe.1a5aa90e.js | 1 - docs/bd0b0bbe.d202f93a.js | 1 + docs/bd7ed1d7.048a53a4.js | 1 - docs/bd7ed1d7.e57b0cf4.js | 1 + docs/bdc330a7.6e232023.js | 1 - docs/bdc330a7.ae066845.js | 1 + docs/bf614533.67bf7c71.js | 1 - docs/bf614533.ce3cbc51.js | 1 + docs/blog/index.html | 67 +++++----- docs/blog/release-0.11.0/index.html | 46 +++++++ docs/blog/release-0.9.0/index.html | 63 +++++----- docs/blog/tags/index.html | 57 ++++----- docs/blog/tags/release/index.html | 67 +++++----- docs/c07c3c71.b9eea2c6.js | 1 - docs/c07c3c71.c61b5daa.js | 1 + docs/c0ac41fc.9267fec3.js | 1 + docs/c0ac41fc.c7d631fd.js | 1 - docs/c0b6bb44.27ae555a.js | 1 - docs/c0b6bb44.d33cfa17.js | 1 + docs/c10c720e.32ea2fb3.js | 1 - docs/c10c720e.907dd7be.js | 1 + docs/c1570962.4d61f65f.js | 1 + docs/c1570962.8f6cab87.js | 1 - docs/c1cf1fe4.10fe43ae.js | 1 - docs/c1cf1fe4.f39d8ba7.js | 1 + docs/c246bde7.aa51826b.js | 1 + docs/c246bde7.ece887aa.js | 1 - ...5d8e4.4b76e444.js => c4f5d8e4.881b21ab.js} | 2 +- docs/c641a4e8.134b46d6.js | 1 - docs/c641a4e8.5eb96088.js | 1 + docs/c7b62599.adbb389d.js | 1 - docs/c7b62599.f6795b4b.js | 1 + docs/c87c151a.3d51ee92.js | 1 + docs/c87c151a.ccb035ef.js | 1 - docs/c9e5c590.01e2efc8.js | 1 + docs/c9e5c590.03f82b13.js | 1 - docs/ca1ac85d.e9482c2d.js | 1 - docs/ca622d62.88646c24.js | 1 - docs/ca622d62.a9af04d1.js | 1 + docs/ca84abdc.2712980c.js | 1 - docs/ca84abdc.be27a3cf.js | 1 + docs/cc0ea0cf.1247d1e3.js | 1 - docs/cc0ea0cf.725c89ef.js | 1 + docs/ccc49370.0cdbe2c0.js | 1 - docs/ccc49370.8ade93d7.js | 1 + docs/cd329814.7ca31a62.js | 1 + docs/cd329814.a168006e.js | 1 - docs/ce88eaaa.0c8cd2a0.js | 1 + docs/ce88eaaa.98d0a4f5.js | 1 - docs/d05981be.aaca794d.js | 1 - docs/d05981be.e06e4ee1.js | 1 + docs/d145135f.07622df8.js | 1 - docs/d145135f.6a4fa587.js | 1 + ...54ca5.8f613146.js => d3f54ca5.b90dc8d5.js} | 2 +- docs/d4ee2b4f.425d31d4.js | 1 - docs/d4ee2b4f.ab5306ef.js | 1 + ...9d3a7.95c208b4.js => d589d3a7.aaf3fac6.js} | 2 +- docs/d5fa3cd3.801ae9da.js | 1 - docs/d5fa3cd3.b2de7f2d.js | 1 + docs/d8689276.6e34b6ce.js | 1 - docs/d8689276.a9dec4c2.js | 1 + docs/d8aa093c.8b29b6a5.js | 1 - docs/d8aa093c.90510e50.js | 1 + docs/da7b351a.693a9d91.js | 1 - docs/db32d859.2a7a89e4.js | 1 - docs/db32d859.35c29cbe.js | 1 + docs/dc705eb8.4b9f0367.js | 1 - docs/dc705eb8.67948f0f.js | 1 + docs/dceb90d2.5715a89e.js | 1 + docs/dceb90d2.5726d999.js | 1 - docs/de02e8e6.3b44c339.js | 1 + docs/de02e8e6.b7ab3c05.js | 1 - docs/docs/_start_q/index.html | 61 ++++------ docs/docs/api/autoreload/index.html | 49 -------- docs/docs/api/cli/index.html | 49 -------- docs/docs/api/core/index.html | 57 ++++----- docs/docs/api/db/index.html | 49 -------- docs/docs/api/graphics/index.html | 57 ++++----- docs/docs/api/ide/index.html | 49 -------- docs/docs/api/index/index.html | 57 ++++----- docs/docs/api/server/index.html | 57 ++++----- docs/docs/api/test/index.html | 57 ++++----- docs/docs/api/types/index.html | 57 ++++----- docs/docs/api/ui/index.html | 57 ++++----- docs/docs/api/ui_ext/index.html | 57 ++++----- docs/docs/apps/index.html | 59 ++++----- docs/docs/architecture/index.html | 57 ++++----- docs/docs/arguments/index.html | 59 ++++----- docs/docs/background/index.html | 59 ++++----- docs/docs/backup/index.html | 57 ++++----- docs/docs/browser-testing/index.html | 59 ++++----- docs/docs/buffers/index.html | 59 ++++----- docs/docs/cards/index.html | 57 ++++----- docs/docs/change-log/index.html | 57 ++++----- docs/docs/cli/index.html | 59 ++++----- docs/docs/components/index.html | 59 ++++----- docs/docs/configuration/index.html | 57 ++++----- docs/docs/contributing/index.html | 59 ++++----- docs/docs/deployment/index.html | 57 ++++----- docs/docs/development/index.html | 57 ++++----- .../docs/enterprise/basic-concepts/index.html | 73 ----------- .../enterprise/developer-guide/index.html | 115 ------------------ docs/docs/enterprise/index.html | 49 -------- docs/docs/examples/all/index.html | 38 ++++++ .../examples/background-executor/index.html | 59 ++++----- .../examples/background-progress/index.html | 61 ++++------ docs/docs/examples/background/index.html | 59 ++++----- docs/docs/examples/breadcrumbs/index.html | 59 ++++----- docs/docs/examples/button/index.html | 59 ++++----- docs/docs/examples/buttons/index.html | 59 ++++----- docs/docs/examples/card-menu/index.html | 59 ++++----- docs/docs/examples/checkbox/index.html | 59 ++++----- docs/docs/examples/checklist/index.html | 59 ++++----- docs/docs/examples/choice-group/index.html | 59 ++++----- docs/docs/examples/color-picker/index.html | 59 ++++----- docs/docs/examples/combobox/index.html | 59 ++++----- .../examples/counter-broadcast/index.html | 59 ++++----- docs/docs/examples/counter-global/index.html | 60 ++++----- .../examples/counter-multicast/index.html | 59 ++++----- docs/docs/examples/counter-unicast/index.html | 59 ++++----- docs/docs/examples/dashboard/index.html | 61 ++++------ .../examples/date-picker-trigger/index.html | 59 ++++----- docs/docs/examples/date-picker/index.html | 59 ++++----- docs/docs/examples/dropdown/index.html | 59 ++++----- docs/docs/examples/file-upload/index.html | 59 ++++----- docs/docs/examples/form-frame-path/index.html | 59 ++++----- docs/docs/examples/form-frame/index.html | 59 ++++----- docs/docs/examples/form-markup/index.html | 59 ++++----- docs/docs/examples/form-menu/index.html | 59 ++++----- docs/docs/examples/form-template/index.html | 59 ++++----- docs/docs/examples/form/index.html | 61 ++++------ docs/docs/examples/frame-path/index.html | 59 ++++----- docs/docs/examples/frame/index.html | 59 ++++----- docs/docs/examples/glider-gun/index.html | 59 ++++----- docs/docs/examples/graphics-clock/index.html | 61 ++++------ .../docs/examples/graphics-hilbert/index.html | 59 ++++----- docs/docs/examples/graphics-path/index.html | 59 ++++----- .../examples/graphics-primitives/index.html | 59 ++++----- docs/docs/examples/graphics-spline/index.html | 59 ++++----- docs/docs/examples/graphics-turtle/index.html | 59 ++++----- docs/docs/examples/hash-routing/index.html | 60 ++++----- docs/docs/examples/header/index.html | 59 ++++----- docs/docs/examples/hello-world/index.html | 59 ++++----- docs/docs/examples/image/index.html | 59 ++++----- docs/docs/examples/index.html | 57 ++++----- docs/docs/examples/issue-tracker/index.html | 59 ++++----- docs/docs/examples/label/index.html | 59 ++++----- .../examples/layout-responsive/index.html | 64 ++++------ docs/docs/examples/layout-size/index.html | 59 ++++----- docs/docs/examples/layout/index.html | 59 ++++----- docs/docs/examples/link/index.html | 59 ++++----- docs/docs/examples/markdown-data/index.html | 59 ++++----- docs/docs/examples/markdown/index.html | 59 ++++----- docs/docs/examples/markup/index.html | 59 ++++----- docs/docs/examples/message-bar/index.html | 59 ++++----- docs/docs/examples/meta-dialog/index.html | 59 ++++----- docs/docs/examples/meta-icon/index.html | 59 ++++----- .../examples/meta-notification/index.html | 59 ++++----- docs/docs/examples/meta-redirect/index.html | 59 ++++----- docs/docs/examples/meta-refresh/index.html | 59 ++++----- docs/docs/examples/meta-title/index.html | 59 ++++----- docs/docs/examples/nav/index.html | 59 ++++----- .../docs/examples/picker-selection/index.html | 59 ++++----- docs/docs/examples/picker/index.html | 59 ++++----- docs/docs/examples/pixel-art/index.html | 59 ++++----- docs/docs/examples/plot-altair/index.html | 59 ++++----- docs/docs/examples/plot-app/index.html | 59 ++++----- .../docs/examples/plot-area-groups/index.html | 59 ++++----- .../examples/plot-area-line-groups/index.html | 59 ++++----- .../examples/plot-area-line-smooth/index.html | 59 ++++----- docs/docs/examples/plot-area-line/index.html | 59 ++++----- .../examples/plot-area-negative/index.html | 59 ++++----- docs/docs/examples/plot-area-range/index.html | 59 ++++----- .../docs/examples/plot-area-smooth/index.html | 59 ++++----- .../examples/plot-area-stacked/index.html | 59 ++++----- docs/docs/examples/plot-area/index.html | 59 ++++----- docs/docs/examples/plot-axis-title/index.html | 59 ++++----- docs/docs/examples/plot-bokeh/index.html | 59 ++++----- docs/docs/examples/plot-d3/index.html | 59 ++++----- docs/docs/examples/plot-events/index.html | 59 ++++----- docs/docs/examples/plot-form/index.html | 59 ++++----- docs/docs/examples/plot-histogram/index.html | 59 ++++----- .../index.html | 59 ++++----- .../plot-interval-annotation/index.html | 59 ++++----- .../plot-interval-groups-transpose/index.html | 59 ++++----- .../examples/plot-interval-groups/index.html | 59 ++++----- .../examples/plot-interval-helix/index.html | 59 ++++----- .../examples/plot-interval-labels/index.html | 59 ++++----- .../plot-interval-polar-stacked/index.html | 59 ++++----- .../examples/plot-interval-polar/index.html | 59 ++++----- .../plot-interval-range-transpose/index.html | 59 ++++----- .../examples/plot-interval-range/index.html | 60 ++++----- .../index.html | 59 ++++----- .../plot-interval-stacked-grouped/index.html | 59 ++++----- .../index.html | 59 ++++----- .../examples/plot-interval-stacked/index.html | 59 ++++----- .../examples/plot-interval-theta/index.html | 59 ++++----- .../plot-interval-transpose/index.html | 59 ++++----- docs/docs/examples/plot-interval/index.html | 59 ++++----- .../examples/plot-line-annotation/index.html | 59 ++++----- .../docs/examples/plot-line-groups/index.html | 59 ++++----- .../plot-line-labels-no-overlap/index.html | 59 ++++----- .../plot-line-labels-stroked/index.html | 59 ++++----- .../docs/examples/plot-line-labels/index.html | 59 ++++----- .../docs/examples/plot-line-smooth/index.html | 59 ++++----- docs/docs/examples/plot-line/index.html | 59 ++++----- docs/docs/examples/plot-matplotlib/index.html | 59 ++++----- docs/docs/examples/plot-pandas/index.html | 43 +++++++ docs/docs/examples/plot-path-point/index.html | 59 ++++----- .../docs/examples/plot-path-smooth/index.html | 59 ++++----- docs/docs/examples/plot-path/index.html | 59 ++++----- docs/docs/examples/plot-plotly/index.html | 59 ++++----- .../examples/plot-point-annotation/index.html | 59 ++++----- .../examples/plot-point-custom/index.html | 59 ++++----- .../examples/plot-point-groups/index.html | 59 ++++----- docs/docs/examples/plot-point-map/index.html | 60 ++++----- .../examples/plot-point-shapes/index.html | 59 ++++----- .../docs/examples/plot-point-sizes/index.html | 59 ++++----- docs/docs/examples/plot-point/index.html | 59 ++++----- docs/docs/examples/plot-polygon/index.html | 59 ++++----- docs/docs/examples/plot-step-after/index.html | 59 ++++----- .../docs/examples/plot-step-before/index.html | 59 ++++----- docs/docs/examples/plot-step/index.html | 59 ++++----- .../examples/plot-vegalite-form/index.html | 61 ++++------ .../examples/plot-vegalite-update/index.html | 61 ++++------ docs/docs/examples/plot-vegalite/index.html | 59 ++++----- docs/docs/examples/progress-update/index.html | 59 ++++----- docs/docs/examples/progress/index.html | 59 ++++----- docs/docs/examples/range-slider/index.html | 59 ++++----- docs/docs/examples/separator/index.html | 59 ++++----- docs/docs/examples/site-async/index.html | 61 ++++------ docs/docs/examples/slider/index.html | 59 ++++----- docs/docs/examples/spinbox/index.html | 59 ++++----- docs/docs/examples/stat-large-bar/index.html | 62 ++++------ docs/docs/examples/stat-large/index.html | 61 ++++------ .../stat-small-series-area/index.html | 59 ++++----- .../stat-small-series-interval/index.html | 61 ++++------ docs/docs/examples/stat-small/index.html | 59 ++++----- docs/docs/examples/stat-tall-gauge/index.html | 61 ++++------ .../examples/stat-tall-series-area/index.html | 59 ++++----- .../stat-tall-series-interval/index.html | 61 ++++------ docs/docs/examples/stat-wide-bar/index.html | 61 ++++------ docs/docs/examples/stat-wide-gauge/index.html | 61 ++++------ .../examples/stat-wide-series-area/index.html | 59 ++++----- .../stat-wide-series-interval/index.html | 61 ++++------ docs/docs/examples/stepper/index.html | 59 ++++----- docs/docs/examples/swatch-picker/index.html | 59 ++++----- docs/docs/examples/tab-delete/index.html | 59 ++++----- docs/docs/examples/tab-link/index.html | 59 ++++----- docs/docs/examples/tab-routing/index.html | 61 ++++------ docs/docs/examples/tab/index.html | 59 ++++----- docs/docs/examples/table-download/index.html | 59 ++++----- .../examples/table-filter-backend/index.html | 59 ++++----- docs/docs/examples/table-filter/index.html | 59 ++++----- docs/docs/examples/table-groupby/index.html | 59 ++++----- .../examples/table-markdown-pandas/index.html | 59 ++++----- docs/docs/examples/table-markdown/index.html | 59 ++++----- docs/docs/examples/table-search/index.html | 59 ++++----- docs/docs/examples/table-select/index.html | 59 ++++----- docs/docs/examples/table-sort/index.html | 59 ++++----- docs/docs/examples/table/index.html | 61 ++++------ docs/docs/examples/tabs/index.html | 59 ++++----- docs/docs/examples/tags/index.html | 38 ++++++ docs/docs/examples/template-data/index.html | 63 ++++------ docs/docs/examples/template/index.html | 59 ++++----- docs/docs/examples/text-sizes/index.html | 59 ++++----- docs/docs/examples/text/index.html | 59 ++++----- docs/docs/examples/textbox-trigger/index.html | 59 ++++----- docs/docs/examples/textbox/index.html | 59 ++++----- docs/docs/examples/todo/index.html | 59 ++++----- docs/docs/examples/toggle/index.html | 59 ++++----- docs/docs/examples/toolbar-routing/index.html | 61 ++++------ docs/docs/examples/toolbar/index.html | 59 ++++----- docs/docs/examples/upload-async/index.html | 59 ++++----- docs/docs/examples/upload-download/index.html | 59 ++++----- docs/docs/examples/upload-ui/index.html | 59 ++++----- docs/docs/examples/upload/index.html | 59 ++++----- docs/docs/examples/wizard/index.html | 59 ++++----- docs/docs/expressions/index.html | 57 ++++----- docs/docs/files/index.html | 59 ++++----- docs/docs/getting-started/index.html | 59 ++++----- docs/docs/graphics/index.html | 59 ++++----- docs/docs/guide/index.html | 57 ++++----- docs/docs/installation/index.html | 57 ++++----- docs/docs/layout/index.html | 59 ++++----- docs/docs/logging/index.html | 59 ++++----- docs/docs/migrating-0-8/index.html | 59 ++++----- docs/docs/migrating-0/index.html | 59 ++++----- docs/docs/pages/index.html | 59 ++++----- docs/docs/plotting/index.html | 59 ++++----- docs/docs/realtime/index.html | 59 ++++----- docs/docs/routing/index.html | 61 ++++------ docs/docs/scripts/index.html | 59 ++++----- docs/docs/security/index.html | 59 ++++----- docs/docs/state/index.html | 59 ++++----- docs/docs/testing/index.html | 57 ++++----- docs/docs/tour/index.html | 61 ++++------ docs/docs/tutorial-beer/index.html | 59 ++++----- docs/docs/tutorial-counter/index.html | 59 ++++----- docs/docs/tutorial-hello/index.html | 63 ++++------ docs/docs/tutorial-monitor/index.html | 59 ++++----- docs/docs/tutorial-todo/index.html | 59 ++++----- docs/e013439f.af64d972.js | 1 + docs/e013439f.f4c7defb.js | 1 - docs/e32c5859.1ab0cb80.js | 1 + docs/e32c5859.e504b404.js | 1 - docs/e4e8fb51.2fe9c8c0.js | 1 - docs/e4e8fb51.4add9225.js | 1 + docs/e7ad456d.1292fdaf.js | 1 + docs/e7ad456d.48d19298.js | 1 - docs/e7ba74f4.10e7b53c.js | 1 + docs/e7ba74f4.d1979e1e.js | 1 - docs/e7c32899.8e0faad1.js | 1 + docs/e7c32899.9971e3b8.js | 1 - docs/e833177e.1b8ae803.js | 1 + docs/e833177e.5e5f26f3.js | 1 - ...1c6e8.1719a22c.js => e8c1c6e8.3a9ebe86.js} | 2 +- docs/e96704c5.7036ba59.js | 1 - docs/e96704c5.86e9eb23.js | 1 + docs/eb2bb38c.6ae9d305.js | 1 - docs/eb2bb38c.80fbf418.js | 1 + docs/ecdac497.04d67e7a.js | 1 - docs/ecdac497.c6f6891f.js | 1 + docs/ed3db3ec.15abca09.js | 1 - docs/ed3db3ec.8448e938.js | 1 + docs/eec6e613.2515f613.js | 1 - docs/eec6e613.2666c6c4.js | 1 + docs/f09ebdf1.4e2b74b2.js | 1 + docs/f09ebdf1.bd81d7cc.js | 1 - docs/f132454a.1d64a439.js | 1 + docs/f132454a.3a7720a2.js | 1 - docs/f151ab1a.70cbbc59.js | 1 - docs/f151ab1a.e01e3504.js | 1 + docs/f1ec6cfa.43f7cfef.js | 1 + docs/f1ec6cfa.62d09cbf.js | 1 - docs/f21433ff.09f4e2fd.js | 1 - docs/f21433ff.6eac0e8b.js | 1 + docs/f21d2ab0.b19078a5.js | 1 + docs/f21d2ab0.d34a862e.js | 1 - docs/f3473c5b.2cd4d2c5.js | 1 - docs/f3473c5b.3389b817.js | 1 + docs/f349fb86.3dd850ad.js | 1 + docs/f349fb86.6e3ef028.js | 1 - docs/f60be60c.10fa7259.js | 1 - docs/f60be60c.76a7a2bf.js | 1 + ...a47c5.5831a7c9.js => f7ea47c5.0c1267d8.js} | 2 +- ...1e444.79df2f48.js => f811e444.af86600d.js} | 2 +- docs/f846e950.087c4ad9.js | 1 - docs/f846e950.1f568c02.js | 1 + docs/faf81df8.b7cc2b46.js | 1 - docs/faf81df8.daadc2be.js | 1 + docs/fb2b0a83.9b8f670f.js | 1 + ...93038.9ce84c7e.js => fbe93038.b67da8c7.js} | 2 +- docs/fcfc3752.10a29b01.js | 1 + docs/fcfc3752.8b54c7db.js | 1 - docs/fd056868.2b5efb53.js | 1 - docs/fd056868.fe997532.js | 1 + docs/fe4d4432.4d1396e6.js | 1 + docs/fe4d4432.b8110743.js | 1 - docs/index.html | 53 ++++---- docs/main.9aa19427.js | 2 + ...CENSE.txt => main.9aa19427.js.LICENSE.txt} | 0 docs/main.e285f046.js | 2 - docs/opensearch.xml | 11 ++ docs/runtime~main.0dd8391b.js | 1 + docs/runtime~main.450ef37d.js | 1 - docs/search/index.html | 44 +++++++ docs/sitemap.xml | 2 +- ...tyles.ca876ab9.css => styles.1e62bd2d.css} | 4 +- docs/styles.50210499.js | 1 - docs/styles.7ea488c3.js | 1 + py/examples/requirements.txt | 2 +- py/setup.py | 2 +- 730 files changed, 5941 insertions(+), 8549 deletions(-) create mode 100644 docs/01a85c17.26e86c49.js delete mode 100644 docs/01a85c17.b7cade57.js create mode 100644 docs/075f21dd.fad92803.js create mode 100644 docs/08f25880.5f4cb6f3.js delete mode 100644 docs/08f25880.af50edc9.js delete mode 100644 docs/0923c366.5d7f32ac.js create mode 100644 docs/0923c366.67497d2d.js create mode 100644 docs/0965cdf6.759acd8f.js delete mode 100644 docs/0965cdf6.82dfcc29.js rename docs/{0a6c0f5b.c4ee60ea.js => 0a6c0f5b.1fc082e5.js} (92%) create mode 100644 docs/0eb58673.40cef532.js delete mode 100644 docs/0eb58673.d66df410.js create mode 100644 docs/0f2a58c8.2bcc7290.js delete mode 100644 docs/0f2a58c8.e2b08522.js rename docs/{0fd1debb.479f5013.js => 0fd1debb.69e53d89.js} (98%) delete mode 100644 docs/1.b8d7d786.js create mode 100644 docs/1.e9acad57.js create mode 100644 docs/10172759.172d1510.js delete mode 100644 docs/10172759.ec8f609f.js create mode 100644 docs/109e456e.128ef3eb.js delete mode 100644 docs/109e456e.aeff2fef.js delete mode 100644 docs/11e3ce2c.18ec2e84.js create mode 100644 docs/11e3ce2c.531c09e3.js create mode 100644 docs/121dd878.64038ce6.js delete mode 100644 docs/121dd878.8a593ca4.js create mode 100644 docs/126e0b0e.24c90b5c.js delete mode 100644 docs/126e0b0e.efa09eb3.js create mode 100644 docs/12e676cf.83648d9a.js delete mode 100644 docs/12e676cf.d24cdd16.js create mode 100644 docs/135cee2a.43497c55.js delete mode 100644 docs/135cee2a.aeec546e.js delete mode 100644 docs/1375ade1.34549b25.js create mode 100644 docs/1486e3bc.48ec33ce.js delete mode 100644 docs/1486e3bc.696b818c.js create mode 100644 docs/15837ef3.4ed5e966.js delete mode 100644 docs/15837ef3.a70971a8.js rename docs/{15a78352.61a718e7.js => 15a78352.6cbf80ce.js} (97%) delete mode 100644 docs/174d8305.07af7852.js create mode 100644 docs/174d8305.b0f06072.js delete mode 100644 docs/17896441.39e9d3d4.js create mode 100644 docs/17896441.90f4abef.js create mode 100644 docs/17b5adee.7eace6a3.js delete mode 100644 docs/17b5adee.d1866ea9.js create mode 100644 docs/18fdb351.080d4f87.js delete mode 100644 docs/18fdb351.0b8650f8.js delete mode 100644 docs/190e4f21.2f387b0c.js create mode 100644 docs/190e4f21.a17097f4.js rename docs/{1be78505.26735be8.js => 191d5269.5f162f25.js} (84%) rename docs/{1a20bc57.374e1ffb.js => 1a20bc57.1eb1100f.js} (97%) create mode 100644 docs/1a4f1376.3ebcd79d.js delete mode 100644 docs/1a4f1376.51c9cb73.js create mode 100644 docs/1ac8922b.27ef4ce6.js delete mode 100644 docs/1ac8922b.85cc3b0c.js delete mode 100644 docs/1ae86ebe.7aa3abb6.js create mode 100644 docs/1ae86ebe.d617a5bc.js rename docs/{1b0f8c91.95e000a2.js => 1b0f8c91.abc86300.js} (51%) create mode 100644 docs/1be78505.b1443e9b.js delete mode 100644 docs/1c59264e.113784ca.js create mode 100644 docs/1c59264e.a8350ada.js delete mode 100644 docs/1cc3ff79.66064f0d.js create mode 100644 docs/1cc3ff79.6a4bff0c.js delete mode 100644 docs/1e2038c3.2f38d2a8.js create mode 100644 docs/1e2038c3.b595f9ba.js rename docs/{1f7c204c.bb82a73d.js => 1f7c204c.f02833fc.js} (98%) create mode 100644 docs/2.5359a75a.js rename docs/{2.c7b926aa.js.LICENSE.txt => 2.5359a75a.js.LICENSE.txt} (100%) delete mode 100644 docs/2.c7b926aa.js delete mode 100644 docs/207f87c1.23f2cf3a.js create mode 100644 docs/207f87c1.8e3845bd.js delete mode 100644 docs/22188a36.0c0a65f2.js create mode 100644 docs/22188a36.4d30d717.js create mode 100644 docs/245.88a54636.js create mode 100644 docs/245.88a54636.js.LICENSE.txt rename docs/{247.76792f2c.js => 246.982fb142.js} (77%) delete mode 100644 docs/246.a234f8fe.js create mode 100644 docs/247.3764a174.js create mode 100644 docs/248.59aac0f6.js delete mode 100644 docs/2673e11f.0b4f1485.js create mode 100644 docs/2673e11f.8c43d59b.js delete mode 100644 docs/26907763.6e2706e1.js create mode 100644 docs/26907763.d031f314.js delete mode 100644 docs/26a8c297.037a125d.js create mode 100644 docs/273cfbdf.2a929238.js delete mode 100644 docs/273cfbdf.dd7c8f86.js delete mode 100644 docs/28283d16.786f78c1.js delete mode 100644 docs/296a8b4f.4dc754a9.js create mode 100644 docs/296a8b4f.e41a7af6.js delete mode 100644 docs/2bf08973.e600e3af.js create mode 100644 docs/2bf08973.f57c019f.js delete mode 100644 docs/2db704cb.5fcc84cd.js create mode 100644 docs/2db704cb.b6ada2cf.js delete mode 100644 docs/2dd92585.5cc45242.js create mode 100644 docs/2dd92585.f4ee7a33.js delete mode 100644 docs/2e8e6962.1af74e8b.js create mode 100644 docs/2e8e6962.2a3a90e0.js delete mode 100644 docs/2fa9e1ff.0cb86037.js create mode 100644 docs/2fa9e1ff.5a7cf4f3.js create mode 100644 docs/3.700dda5d.js delete mode 100644 docs/3.afc70f1d.js delete mode 100644 docs/31c3c419.7d6bdc7a.js create mode 100644 docs/31c3c419.c14c8693.js create mode 100644 docs/31f8b56c.5ae80027.js delete mode 100644 docs/31f8b56c.c283942f.js create mode 100644 docs/34cd3da4.de8c7526.js delete mode 100644 docs/34cd3da4.ebc59d4a.js delete mode 100644 docs/3584c003.18f7cd82.js create mode 100644 docs/3584c003.5c6eb115.js create mode 100644 docs/35dabcf3.19916c2c.js delete mode 100644 docs/35dabcf3.c9bd8182.js create mode 100644 docs/360edac9.c3e41c4e.js delete mode 100644 docs/360edac9.cfded8e7.js create mode 100644 docs/3697284d.4fece615.js delete mode 100644 docs/3697284d.a0d0c00a.js delete mode 100644 docs/36db7894.17adf4f0.js create mode 100644 docs/36db7894.75c274e5.js rename docs/{36fe3260.a6977bb1.js => 36fe3260.3348be7b.js} (99%) rename docs/{3713dbfc.0fc44864.js => 3713dbfc.fe865089.js} (97%) create mode 100644 docs/37382beb.5c693e10.js delete mode 100644 docs/37382beb.a4da3cc1.js create mode 100644 docs/38067279.5fa0ff7c.js delete mode 100644 docs/38067279.c1cb0508.js delete mode 100644 docs/3aa768f5.57ad171f.js create mode 100644 docs/3aa768f5.7158c588.js rename docs/{3abe8fb9.781a3b48.js => 3abe8fb9.70d75ed1.js} (96%) create mode 100644 docs/3ae7008e.932c0857.js delete mode 100644 docs/3ae7008e.f223bc75.js rename docs/{3b464fa6.76e9ea1b.js => 3b464fa6.b22098b9.js} (98%) create mode 100644 docs/3b64911a.c4db21bc.js delete mode 100644 docs/3b64911a.c98cd944.js rename docs/{3b8c55ea.b1104bb4.js => 3b8c55ea.8ac93549.js} (97%) delete mode 100644 docs/3da9dc01.40adcb23.js create mode 100644 docs/3da9dc01.ae7c98bc.js delete mode 100644 docs/3f5dd320.36def7f4.js create mode 100644 docs/3f5dd320.5843fc21.js create mode 100644 docs/4104f38c.219be94a.js delete mode 100644 docs/4104f38c.2287470c.js delete mode 100644 docs/41849bc6.5158fdee.js create mode 100644 docs/41849bc6.6f37253b.js delete mode 100644 docs/418b096a.627b1744.js create mode 100644 docs/418b096a.808d4374.js delete mode 100644 docs/424c54c2.08f52c24.js create mode 100644 docs/424c54c2.d797efbb.js rename docs/{430c4fb3.7e634cea.js => 430c4fb3.7e2683ea.js} (96%) delete mode 100644 docs/452608cb.3485f628.js create mode 100644 docs/452608cb.8d273aff.js create mode 100644 docs/4612f97b.2db8f05e.js delete mode 100644 docs/4612f97b.bc2d1157.js create mode 100644 docs/472f8a66.0b301c4b.js delete mode 100644 docs/472f8a66.ca275df7.js delete mode 100644 docs/4784cd26.9b483878.js create mode 100644 docs/4784cd26.a514d268.js rename docs/{47a365f9.67586eec.js => 47a365f9.5972eb6b.js} (96%) delete mode 100644 docs/47b3e1f7.17c632dc.js create mode 100644 docs/47b3e1f7.4abc3328.js delete mode 100644 docs/48786391.05d74a4e.js create mode 100644 docs/48786391.aab643f8.js create mode 100644 docs/4a8e444b.b987198c.js create mode 100644 docs/4ab7b8a0.8d4790c5.js delete mode 100644 docs/4ab7b8a0.d465effd.js create mode 100644 docs/4b953dd8.0c02a175.js delete mode 100644 docs/4b953dd8.6e46326c.js rename docs/{4d54d076.fb2aed38.js => 4d54d076.9ed1759e.js} (98%) delete mode 100644 docs/4d5eae90.912032bf.js create mode 100644 docs/4d5eae90.9a1b594d.js delete mode 100644 docs/4e3b2ad1.8f055ff9.js create mode 100644 docs/4e3b2ad1.cf4e6e11.js create mode 100644 docs/4f49ed83.3a8073eb.js delete mode 100644 docs/4f49ed83.67e84d85.js rename docs/{4f6dabb0.5a59f276.js => 4f6dabb0.53bf02b7.js} (98%) create mode 100644 docs/50b74c5f.25b75a99.js delete mode 100644 docs/50b74c5f.d79e5589.js delete mode 100644 docs/5168cb29.73c7b85a.js create mode 100644 docs/5168cb29.9f148eaf.js rename docs/{5281b7a2.db94fa61.js => 5281b7a2.e2c7022e.js} (98%) delete mode 100644 docs/53da2547.0ff3f3a3.js create mode 100644 docs/53da2547.faa82cd8.js create mode 100644 docs/549ea605.0935ec7f.js delete mode 100644 docs/549ea605.c6a1214f.js delete mode 100644 docs/54aab825.2b521010.js create mode 100644 docs/54aab825.b053b90c.js delete mode 100644 docs/58b13b12.af97e357.js create mode 100644 docs/58b13b12.ed1a4b31.js rename docs/{5a34328a.cb20b242.js => 5a34328a.e9e85c75.js} (97%) delete mode 100644 docs/5e52c414.b5482ce6.js create mode 100644 docs/5e52c414.b599f5e2.js delete mode 100644 docs/5e8c322a.6f0caff0.js create mode 100644 docs/5e8c322a.a1deb4fe.js delete mode 100644 docs/600ae505.04d36db6.js create mode 100644 docs/600ae505.fb7b11bb.js rename docs/{6264312d.3354aa1b.js => 6264312d.22cef476.js} (99%) rename docs/{6405c95c.c5516422.js => 6405c95c.1f34a925.js} (96%) rename docs/{649e08dd.73e0c185.js => 649e08dd.00898e63.js} (98%) rename docs/{65b8ef03.64172c3a.js => 65b8ef03.de7224d5.js} (98%) delete mode 100644 docs/661410ac.3e4b3866.js create mode 100644 docs/661410ac.77fb573a.js delete mode 100644 docs/6875c492.527dc100.js create mode 100644 docs/6875c492.e86db448.js delete mode 100644 docs/692ea9bc.2d5ae0ba.js create mode 100644 docs/692ea9bc.6094c938.js delete mode 100644 docs/696d57a8.a17edb58.js create mode 100644 docs/696d57a8.a2c32f7d.js create mode 100644 docs/6c3eb428.38be1345.js delete mode 100644 docs/6c3eb428.d1548bf6.js create mode 100644 docs/6ce0e474.508c7c3f.js delete mode 100644 docs/6ce0e474.5aaeb270.js create mode 100644 docs/6d36af6b.126d3fde.js delete mode 100644 docs/6d36af6b.d28f23fa.js create mode 100644 docs/6eb0e506.3959460e.js delete mode 100644 docs/6eb0e506.c253de13.js delete mode 100644 docs/6ee3bac7.f6e551cb.js create mode 100644 docs/718f151f.557476ff.js delete mode 100644 docs/718f151f.ba1ec61c.js create mode 100644 docs/746a1919.34027d19.js delete mode 100644 docs/746a1919.58b11ebc.js create mode 100644 docs/77770fc3.4127629f.js delete mode 100644 docs/77770fc3.8200b152.js create mode 100644 docs/79d0d182.ce161d95.js delete mode 100644 docs/79d0d182.e55d9008.js create mode 100644 docs/7c1cba9e.04313215.js delete mode 100644 docs/7c1cba9e.0f63b56d.js create mode 100644 docs/7ca2f128.2541f8d3.js delete mode 100644 docs/7ca2f128.341ecdd9.js delete mode 100644 docs/7d1cd1c9.68eb3518.js create mode 100644 docs/7d1cd1c9.c0af57f8.js create mode 100644 docs/7d744a8f.6083134a.js delete mode 100644 docs/7d744a8f.d84911bd.js delete mode 100644 docs/7ecd2c5c.1ee06b04.js create mode 100644 docs/7ecd2c5c.2246a4b5.js rename docs/{7f8f4b62.aa872a8c.js => 7f8f4b62.59a1ee6b.js} (99%) create mode 100644 docs/82f75f63.9c04da50.js delete mode 100644 docs/82f75f63.f6686d94.js create mode 100644 docs/8542acf3.a086d2c6.js delete mode 100644 docs/8542acf3.f399b6ae.js rename docs/{854481fc.e0e96717.js => 854481fc.ff80df84.js} (97%) delete mode 100644 docs/879fc8a6.439ff7df.js create mode 100644 docs/879fc8a6.546c07a7.js create mode 100644 docs/883d6399.51e7f908.js delete mode 100644 docs/883d6399.ff0a50eb.js create mode 100644 docs/887b127f.3a02b7cd.js delete mode 100644 docs/887b127f.a7acb17c.js delete mode 100644 docs/88c2f924.06bd0391.js create mode 100644 docs/88c2f924.26c0c401.js delete mode 100644 docs/8926e245.4429d967.js create mode 100644 docs/8926e245.dcc963c5.js delete mode 100644 docs/8954e356.384f1a7f.js create mode 100644 docs/8954e356.38aac59c.js create mode 100644 docs/8c12d624.3af6a59b.js delete mode 100644 docs/8c12d624.8c72e917.js create mode 100644 docs/8c8ea2c1.156f4224.js delete mode 100644 docs/8c8ea2c1.cee2be2c.js rename docs/{8caadd29.0b849ce9.js => 8caadd29.72de86a5.js} (97%) delete mode 100644 docs/8eaf94d7.76f9302c.js create mode 100644 docs/8eaf94d7.8a4a7237.js rename docs/{8f030830.b3554104.js => 8f030830.2401e377.js} (98%) create mode 100644 docs/9152460a.49995545.js delete mode 100644 docs/9152460a.63de54cf.js create mode 100644 docs/917fcb62.c2fb7f96.js delete mode 100644 docs/917fcb62.ec08e442.js delete mode 100644 docs/935f2afb.06b40bc9.js create mode 100644 docs/935f2afb.2a6a8137.js delete mode 100644 docs/9363aca1.27231cd8.js create mode 100644 docs/9363aca1.a1d22f1c.js delete mode 100644 docs/941b9d10.cae859e9.js create mode 100644 docs/941b9d10.f86ce1ff.js create mode 100644 docs/948118d6.1fcd0816.js delete mode 100644 docs/948118d6.e179e7ad.js create mode 100644 docs/94eea4ff.2e730d74.js rename docs/{950656ac.6cbc80bc.js => 950656ac.7afbfdc3.js} (97%) delete mode 100644 docs/9747bb1a.7cd6864b.js create mode 100644 docs/9747bb1a.a2ac6443.js create mode 100644 docs/97d9aba4.d389abbc.js delete mode 100644 docs/97d9aba4.f04aa883.js create mode 100644 docs/97e78655.3ff5e96d.js delete mode 100644 docs/97e78655.c6e0b2d0.js rename docs/{996e93c8.3b9974aa.js => 996e93c8.62e44a67.js} (97%) create mode 100644 docs/997fea1d.02f710a2.js delete mode 100644 docs/997fea1d.17fc1d50.js delete mode 100644 docs/9a52a2f7.096e5794.js create mode 100644 docs/9a52a2f7.156f430d.js create mode 100644 docs/9ed00105.a81d914f.js delete mode 100644 docs/9ed00105.dc862518.js rename docs/{a3713279.c5016357.js => a3713279.34e1d64e.js} (96%) delete mode 100644 docs/a50fe136.48b73281.js delete mode 100644 docs/a54511d2.0475f794.js create mode 100644 docs/a54511d2.e64b59ae.js rename docs/{a64331b1.9adcb074.js => a64331b1.cb2ff036.js} (98%) create mode 100644 docs/a6aa9e1f.04d83dac.js delete mode 100644 docs/a6aa9e1f.d4010c31.js create mode 100644 docs/a7eb55a2.6ba69963.js create mode 100644 docs/a814b970.4f021e8f.js delete mode 100644 docs/a814b970.84934795.js create mode 100644 docs/a8b2a833.e300a57f.js delete mode 100644 docs/a8b2a833.e85eaa3c.js rename docs/{a8bb5334.3b483d53.js => a8bb5334.ace946c3.js} (96%) delete mode 100644 docs/a8dc7269.ae30c762.js create mode 100644 docs/a8dc7269.e6565eaa.js delete mode 100644 docs/a9331674.5a3725d7.js create mode 100644 docs/a9331674.f6d96e76.js create mode 100644 docs/aa7f648d.45dbfacd.js delete mode 100644 docs/aa7f648d.dbf7e1f1.js delete mode 100644 docs/aa9ca283.4fc8267a.js create mode 100644 docs/aa9ca283.c61e58ec.js create mode 100644 docs/ac27f894.852c6456.js delete mode 100644 docs/ac27f894.ff0d5c6c.js create mode 100644 docs/assets/images/dashboard_blue-ae85814564c8a969c952120b9eb2f670.png create mode 100644 docs/assets/images/dashboard_cyan-be4d839fa6960467b252d03cdcc6e349.png create mode 100644 docs/assets/images/dashboard_mint-c5aebe035f23b3185e05f2f5ad90588d.png create mode 100644 docs/assets/images/dashboard_orange-72c70ac710794925a711d7f2babd191c.png create mode 100644 docs/assets/images/dashboard_purple-9a29d1ea728562c448cb870e766ddf79.png create mode 100644 docs/assets/images/dashboard_red-7e0bf422365e6eceb8bec7dc8e695221.png create mode 100644 docs/assets/images/dashboards-f32b01c8c07e2a1ded1ce2ce265bbbcf.png create mode 100644 docs/assets/images/dashboards_demo-1143b3fab018b50f5fd6a4f1c6198a30.png create mode 100644 docs/assets/images/dashboards_responsive-7e306ae02d67f49effa4ba3922f38c26.png create mode 100644 docs/assets/images/docs_tags-45dad6ef9e0fb51b7f578dacedcefc31.png create mode 100644 docs/assets/images/docs_toc-1b6451d27979880f8e5697fc15370346.png create mode 100644 docs/assets/images/inline_2-4bf7e9cee7574388d3434c79b250d430.png create mode 100644 docs/assets/images/plot-pandas-47ec17d05b1b28f7774807623b918752.png create mode 100644 docs/assets/images/scaling-1ed013cfb64482f8eaa0808888c40b3b.png create mode 100644 docs/assets/images/section-97b470e00b7932d2795c95be9cd22543.png create mode 100644 docs/assets/images/section_1-eeb31d0e6c5a43abb92c456456dcd6e4.png create mode 100644 docs/assets/images/section_2-aa7a7627456b3455fdf0cdd77c3de49c.png create mode 100644 docs/assets/images/section_3-7dff0fecb5c9aa35d769fae64d1d0cda.png create mode 100644 docs/assets/images/section_4-872edf7d8d4bbead96bbcc7840d22cf5.png create mode 100644 docs/assets/images/section_5-3065b7aed493f3c0e4f4172914003a1d.png create mode 100644 docs/assets/images/section_6-31f91f3195622bace7ade25d484b329f.png create mode 100644 docs/assets/images/stats_1-3d795dabf58580168c08af871ef00680.png create mode 100644 docs/assets/images/stats_2-85969423403568ab077789ecd23458e2.png create mode 100644 docs/assets/images/stats_4-1f9d8e2ef7c4ab59be8e79f9c6d6b06c.png create mode 100644 docs/assets/images/stats_list_1-e5298c8479345c53d2e1197a118d0770.png create mode 100644 docs/assets/images/stats_list_2-7b410ad4b07a18411a671a7c70f6f057.png create mode 100644 docs/assets/images/stats_list_3-604ecf10a42d2e87feb60141d2777f5b.png create mode 100644 docs/assets/images/stats_table-45b32e215b9672e14fa49d726704b772.png delete mode 100644 docs/b140a32d.d182942c.js create mode 100644 docs/b140a32d.de53841c.js delete mode 100644 docs/b18fb770.d936392e.js create mode 100644 docs/b18fb770.ff25d5d5.js delete mode 100644 docs/b1e50d5a.0334a1a3.js create mode 100644 docs/b1e50d5a.c320aaae.js delete mode 100644 docs/b22f7242.64ce058a.js create mode 100644 docs/b22f7242.9fa569f8.js rename docs/{b4d5475e.19c5d8f7.js => b4d5475e.178c9921.js} (97%) create mode 100644 docs/b81c5e46.2180ab27.js delete mode 100644 docs/b81c5e46.c79e6989.js create mode 100644 docs/b8435c12.2e99639b.js delete mode 100644 docs/b8435c12.5490c5b8.js delete mode 100644 docs/b999a6e4.1eea1b51.js create mode 100644 docs/b999a6e4.ed9562d2.js delete mode 100644 docs/b9e4d6e6.56943b5d.js create mode 100644 docs/b9e4d6e6.85b68aef.js delete mode 100644 docs/b9f028e1.3d6f3502.js create mode 100644 docs/b9f028e1.b25a6534.js delete mode 100644 docs/ba1aeef8.28544b02.js create mode 100644 docs/ba1aeef8.68b93fe2.js delete mode 100644 docs/bb5446ac.5ff59c50.js create mode 100644 docs/bb5446ac.86afd522.js rename docs/{bbdd3825.ff5a06b7.js => bbdd3825.9463c0a7.js} (97%) delete mode 100644 docs/bd0b0bbe.1a5aa90e.js create mode 100644 docs/bd0b0bbe.d202f93a.js delete mode 100644 docs/bd7ed1d7.048a53a4.js create mode 100644 docs/bd7ed1d7.e57b0cf4.js delete mode 100644 docs/bdc330a7.6e232023.js create mode 100644 docs/bdc330a7.ae066845.js delete mode 100644 docs/bf614533.67bf7c71.js create mode 100644 docs/bf614533.ce3cbc51.js create mode 100644 docs/blog/release-0.11.0/index.html delete mode 100644 docs/c07c3c71.b9eea2c6.js create mode 100644 docs/c07c3c71.c61b5daa.js create mode 100644 docs/c0ac41fc.9267fec3.js delete mode 100644 docs/c0ac41fc.c7d631fd.js delete mode 100644 docs/c0b6bb44.27ae555a.js create mode 100644 docs/c0b6bb44.d33cfa17.js delete mode 100644 docs/c10c720e.32ea2fb3.js create mode 100644 docs/c10c720e.907dd7be.js create mode 100644 docs/c1570962.4d61f65f.js delete mode 100644 docs/c1570962.8f6cab87.js delete mode 100644 docs/c1cf1fe4.10fe43ae.js create mode 100644 docs/c1cf1fe4.f39d8ba7.js create mode 100644 docs/c246bde7.aa51826b.js delete mode 100644 docs/c246bde7.ece887aa.js rename docs/{c4f5d8e4.4b76e444.js => c4f5d8e4.881b21ab.js} (91%) delete mode 100644 docs/c641a4e8.134b46d6.js create mode 100644 docs/c641a4e8.5eb96088.js delete mode 100644 docs/c7b62599.adbb389d.js create mode 100644 docs/c7b62599.f6795b4b.js create mode 100644 docs/c87c151a.3d51ee92.js delete mode 100644 docs/c87c151a.ccb035ef.js create mode 100644 docs/c9e5c590.01e2efc8.js delete mode 100644 docs/c9e5c590.03f82b13.js delete mode 100644 docs/ca1ac85d.e9482c2d.js delete mode 100644 docs/ca622d62.88646c24.js create mode 100644 docs/ca622d62.a9af04d1.js delete mode 100644 docs/ca84abdc.2712980c.js create mode 100644 docs/ca84abdc.be27a3cf.js delete mode 100644 docs/cc0ea0cf.1247d1e3.js create mode 100644 docs/cc0ea0cf.725c89ef.js delete mode 100644 docs/ccc49370.0cdbe2c0.js create mode 100644 docs/ccc49370.8ade93d7.js create mode 100644 docs/cd329814.7ca31a62.js delete mode 100644 docs/cd329814.a168006e.js create mode 100644 docs/ce88eaaa.0c8cd2a0.js delete mode 100644 docs/ce88eaaa.98d0a4f5.js delete mode 100644 docs/d05981be.aaca794d.js create mode 100644 docs/d05981be.e06e4ee1.js delete mode 100644 docs/d145135f.07622df8.js create mode 100644 docs/d145135f.6a4fa587.js rename docs/{d3f54ca5.8f613146.js => d3f54ca5.b90dc8d5.js} (98%) delete mode 100644 docs/d4ee2b4f.425d31d4.js create mode 100644 docs/d4ee2b4f.ab5306ef.js rename docs/{d589d3a7.95c208b4.js => d589d3a7.aaf3fac6.js} (95%) delete mode 100644 docs/d5fa3cd3.801ae9da.js create mode 100644 docs/d5fa3cd3.b2de7f2d.js delete mode 100644 docs/d8689276.6e34b6ce.js create mode 100644 docs/d8689276.a9dec4c2.js delete mode 100644 docs/d8aa093c.8b29b6a5.js create mode 100644 docs/d8aa093c.90510e50.js delete mode 100644 docs/da7b351a.693a9d91.js delete mode 100644 docs/db32d859.2a7a89e4.js create mode 100644 docs/db32d859.35c29cbe.js delete mode 100644 docs/dc705eb8.4b9f0367.js create mode 100644 docs/dc705eb8.67948f0f.js create mode 100644 docs/dceb90d2.5715a89e.js delete mode 100644 docs/dceb90d2.5726d999.js create mode 100644 docs/de02e8e6.3b44c339.js delete mode 100644 docs/de02e8e6.b7ab3c05.js delete mode 100644 docs/docs/api/autoreload/index.html delete mode 100644 docs/docs/api/cli/index.html delete mode 100644 docs/docs/api/db/index.html delete mode 100644 docs/docs/api/ide/index.html delete mode 100644 docs/docs/enterprise/basic-concepts/index.html delete mode 100644 docs/docs/enterprise/developer-guide/index.html delete mode 100644 docs/docs/enterprise/index.html create mode 100644 docs/docs/examples/all/index.html create mode 100644 docs/docs/examples/plot-pandas/index.html create mode 100644 docs/docs/examples/tags/index.html create mode 100644 docs/e013439f.af64d972.js delete mode 100644 docs/e013439f.f4c7defb.js create mode 100644 docs/e32c5859.1ab0cb80.js delete mode 100644 docs/e32c5859.e504b404.js delete mode 100644 docs/e4e8fb51.2fe9c8c0.js create mode 100644 docs/e4e8fb51.4add9225.js create mode 100644 docs/e7ad456d.1292fdaf.js delete mode 100644 docs/e7ad456d.48d19298.js create mode 100644 docs/e7ba74f4.10e7b53c.js delete mode 100644 docs/e7ba74f4.d1979e1e.js create mode 100644 docs/e7c32899.8e0faad1.js delete mode 100644 docs/e7c32899.9971e3b8.js create mode 100644 docs/e833177e.1b8ae803.js delete mode 100644 docs/e833177e.5e5f26f3.js rename docs/{e8c1c6e8.1719a22c.js => e8c1c6e8.3a9ebe86.js} (98%) delete mode 100644 docs/e96704c5.7036ba59.js create mode 100644 docs/e96704c5.86e9eb23.js delete mode 100644 docs/eb2bb38c.6ae9d305.js create mode 100644 docs/eb2bb38c.80fbf418.js delete mode 100644 docs/ecdac497.04d67e7a.js create mode 100644 docs/ecdac497.c6f6891f.js delete mode 100644 docs/ed3db3ec.15abca09.js create mode 100644 docs/ed3db3ec.8448e938.js delete mode 100644 docs/eec6e613.2515f613.js create mode 100644 docs/eec6e613.2666c6c4.js create mode 100644 docs/f09ebdf1.4e2b74b2.js delete mode 100644 docs/f09ebdf1.bd81d7cc.js create mode 100644 docs/f132454a.1d64a439.js delete mode 100644 docs/f132454a.3a7720a2.js delete mode 100644 docs/f151ab1a.70cbbc59.js create mode 100644 docs/f151ab1a.e01e3504.js create mode 100644 docs/f1ec6cfa.43f7cfef.js delete mode 100644 docs/f1ec6cfa.62d09cbf.js delete mode 100644 docs/f21433ff.09f4e2fd.js create mode 100644 docs/f21433ff.6eac0e8b.js create mode 100644 docs/f21d2ab0.b19078a5.js delete mode 100644 docs/f21d2ab0.d34a862e.js delete mode 100644 docs/f3473c5b.2cd4d2c5.js create mode 100644 docs/f3473c5b.3389b817.js create mode 100644 docs/f349fb86.3dd850ad.js delete mode 100644 docs/f349fb86.6e3ef028.js delete mode 100644 docs/f60be60c.10fa7259.js create mode 100644 docs/f60be60c.76a7a2bf.js rename docs/{f7ea47c5.5831a7c9.js => f7ea47c5.0c1267d8.js} (97%) rename docs/{f811e444.79df2f48.js => f811e444.af86600d.js} (50%) delete mode 100644 docs/f846e950.087c4ad9.js create mode 100644 docs/f846e950.1f568c02.js delete mode 100644 docs/faf81df8.b7cc2b46.js create mode 100644 docs/faf81df8.daadc2be.js create mode 100644 docs/fb2b0a83.9b8f670f.js rename docs/{fbe93038.9ce84c7e.js => fbe93038.b67da8c7.js} (93%) create mode 100644 docs/fcfc3752.10a29b01.js delete mode 100644 docs/fcfc3752.8b54c7db.js delete mode 100644 docs/fd056868.2b5efb53.js create mode 100644 docs/fd056868.fe997532.js create mode 100644 docs/fe4d4432.4d1396e6.js delete mode 100644 docs/fe4d4432.b8110743.js create mode 100644 docs/main.9aa19427.js rename docs/{main.e285f046.js.LICENSE.txt => main.9aa19427.js.LICENSE.txt} (100%) delete mode 100644 docs/main.e285f046.js create mode 100644 docs/opensearch.xml create mode 100644 docs/runtime~main.0dd8391b.js delete mode 100644 docs/runtime~main.450ef37d.js create mode 100644 docs/search/index.html rename docs/{styles.ca876ab9.css => styles.1e62bd2d.css} (70%) delete mode 100644 docs/styles.50210499.js create mode 100644 docs/styles.7ea488c3.js diff --git a/docs/01a85c17.26e86c49.js b/docs/01a85c17.26e86c49.js new file mode 100644 index 0000000000..791c367360 --- /dev/null +++ b/docs/01a85c17.26e86c49.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4,28],{310:function(e,a,t){"use strict";t.d(a,"a",(function(){return o}));var n=t(0),r=t.n(n),c=t(311),l=t(312),i=function(){var e=r.a.useState(!!window.localStorage.getItem("noticeRead")),a=e[0],t=e[1];return r.a.createElement("section",{className:"notice",style:{opacity:a?0:1}},r.a.createElement("div",null,r.a.createElement("p",null,"By using this website you agree to our use of cookies. "),r.a.createElement("a",{href:"https://www.h2o.ai/privacy/",target:"_blank"},"Read H2O.ai\u2019s privacy policy.")),r.a.createElement("span",{className:"notice__close",onClick:function(){window.localStorage.setItem("noticeRead",!0),t(!0)}},"X"))};function o(e){return r.a.createElement(r.a.Fragment,null,r.a.createElement(l.a,null,i),r.a.createElement(c.a,e))}},54:function(e,a,t){"use strict";t.r(a);var n=t(0),r=t.n(n),c=t(308),l=t(306);a.default=function(e){var a=e.tags,t={};Object.keys(a).forEach((function(e){var a=function(e){return e[0].toUpperCase()}(e);t[a]=t[a]||[],t[a].push(e)}));var n=Object.entries(t).sort((function(e,a){var t=e[0],n=a[0];return t===n?0:t>n?1:-1})).map((function(e){var t=e[0],n=e[1];return r.a.createElement("div",{key:t},r.a.createElement("h3",null,t),n.map((function(e){return r.a.createElement(l.a,{className:"padding-right--md",href:a[e].permalink,key:e},a[e].name," (",a[e].count,")")})),r.a.createElement("hr",null))})).filter((function(e){return null!=e}));return r.a.createElement(c.a,{title:"Tags",description:"Blog Tags"},r.a.createElement("div",{className:"container margin-vert--lg"},r.a.createElement("div",{className:"row"},r.a.createElement("main",{className:"col col--8 col--offset-2"},r.a.createElement("h1",null,"Tags"),r.a.createElement("div",{className:"margin-vert--lg"},n)))))}}}]); \ No newline at end of file diff --git a/docs/01a85c17.b7cade57.js b/docs/01a85c17.b7cade57.js deleted file mode 100644 index 315ff8f566..0000000000 --- a/docs/01a85c17.b7cade57.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4,33],{306:function(e,a,t){"use strict";t.d(a,"a",(function(){return s}));var n=t(0),c=t.n(n),l=t(307),r=t(308),o=function(){var e=c.a.useState(!!window.localStorage.getItem("noticeRead")),a=e[0],t=e[1];return c.a.createElement("section",{className:"notice",style:{opacity:a?0:1}},c.a.createElement("div",null,c.a.createElement("p",null,"By using this website you agree to our use of cookies. "),c.a.createElement("a",{href:"https://www.h2o.ai/privacy/",target:"_blank"},"Read H2O.ai\u2019s privacy policy.")),c.a.createElement("span",{className:"notice__close",onClick:function(){window.localStorage.setItem("noticeRead",!0),t(!0)}},"X"))};function s(e){return c.a.createElement(c.a.Fragment,null,c.a.createElement(r.a,null,o),c.a.createElement(l.a,e))}},56:function(e,a,t){"use strict";t.r(a);var n=t(0),c=t.n(n),l=t(305),r=t(303);a.default=function(e){const{tags:a}=e,t={};Object.keys(a).forEach((e=>{const a=function(e){return e[0].toUpperCase()}(e);t[a]=t[a]||[],t[a].push(e)}));const n=Object.entries(t).sort((([e],[a])=>e===a?0:e>a?1:-1)).map((([e,t])=>c.a.createElement("div",{key:e},c.a.createElement("h3",null,e),t.map((e=>c.a.createElement(r.a,{className:"padding-right--md",href:a[e].permalink,key:e},a[e].name," (",a[e].count,")"))),c.a.createElement("hr",null)))).filter((e=>null!=e));return c.a.createElement(l.a,{title:"Tags",description:"Blog Tags"},c.a.createElement("div",{className:"container margin-vert--lg"},c.a.createElement("div",{className:"row"},c.a.createElement("main",{className:"col col--8 col--offset-2"},c.a.createElement("h1",null,"Tags"),c.a.createElement("div",{className:"margin-vert--lg"},n)))))}}}]); \ No newline at end of file diff --git a/docs/075f21dd.fad92803.js b/docs/075f21dd.fad92803.js new file mode 100644 index 0000000000..e3b71c2033 --- /dev/null +++ b/docs/075f21dd.fad92803.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{302:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return d}));var r=n(0),o=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=o.a.createContext({}),s=function(e){var t=o.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=s(e.components);return o.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},m=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=s(n),m=r,d=p["".concat(i,".").concat(m)]||p[m]||f[m]||a;return n?o.a.createElement(d,c(c({ref:t},l),{},{components:n})):o.a.createElement(d,c({ref:t},l))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=m;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var l=2;l=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=r.a.createContext({}),b=function(e){var t=r.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=b(e.components);return r.a.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),s=b(n),d=a,m=s["".concat(i,".").concat(d)]||s[d]||u[d]||o;return n?r.a.createElement(m,c(c({ref:t},p),{},{components:n})):r.a.createElement(m,c({ref:t},p))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var p=2;p str:\n time.sleep(seconds) # Blocks!\n return f'Done!'\n")),Object(o.b)("p",null,"To call the above function from an app, don't do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python",metastring:"{4}","{4}":!0}),"@app('/demo')\nasync def serve(q: Q):\n # ...\n message = blocking_function(42)\n # ...\n")),Object(o.b)("p",null,"Instead, do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python",metastring:"{4}","{4}":!0}),"@app('/demo')\nasync def serve(q: Q):\n # ...\n message = await q.run(blocking_function, 42)\n # ...\n")),Object(o.b)("p",null,Object(o.b)("inlineCode",{parentName:"p"},"q.run()")," runs the blocking function in the background, in-process."),Object(o.b)("p",null,"Depending on your use case, you might want to use a separate process pool or thread pool from Python's ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://docs.python.org/3/library/multiprocessing.html"}),"multiprocessing")," library, like this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python",metastring:"{1,6-7}","{1,6-7}":!0}),"import concurrent.futures\n\n@app('/demo')\nasync def serve(q: Q):\n # ...\n with concurrent.futures.ThreadPoolExecutor() as pool:\n message = await q.exec(pool, blocking_function, 42)\n # ...\n")),Object(o.b)("p",null,Object(o.b)("inlineCode",{parentName:"p"},"q.exec()")," accepts a custom process pool or thread pool to run the blocking function."),Object(o.b)("h2",{id:"asgi-compatibility"},"ASGI compatibility"),Object(o.b)("p",null,"Wave apps are now ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://asgi.readthedocs.io/en/latest/"}),"ASGI"),"-compatible, based on ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.uvicorn.org"}),"Uvicorn")," / ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.starlette.io/"}),"Starlette"),", a ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=fortune&l=zijzen-1"}),"high-performance")," Python server."),Object(o.b)("p",null,"You can run Wave apps behind any ASGI server, like ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.uvicorn.org"}),"uvicorn"),", ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://gunicorn.org/"}),"gunicorn"),", ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://github.com/django/daphne/"}),"daphne"),", ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://pgjones.gitlab.io/hypercorn/"}),"hypercorn"),", etc."),Object(o.b)("p",null,"To run your app using an ASGI server like uvicorn, append ",Object(o.b)("inlineCode",{parentName:"p"},":main")," to the ",Object(o.b)("inlineCode",{parentName:"p"},"app")," argument:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"(venv) $ uvicorn foo:main\n")),Object(o.b)("h2",{id:"download"},"Download"),Object(o.b)("p",null,"Get the release ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://github.com/h2oai/wave/releases/latest"}),"here"),". Check out the release notes for more details."),Object(o.b)("p",null,"We look forward to continuing our collaboration with the community and hearing your feedback as we further improve and expand the H2O Wave platform."),Object(o.b)("p",null,"We\u2019d like to thank the entire Wave team and the community for all of the contributions to this work!"))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/docs/08f25880.af50edc9.js b/docs/08f25880.af50edc9.js deleted file mode 100644 index 61a033108d..0000000000 --- a/docs/08f25880.af50edc9.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{300:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var a=n(0),r=n.n(a);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=r.a.createContext({}),b=function(e){var t=r.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},s=function(e){var t=b(e.components);return r.a.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),s=b(n),d=a,m=s["".concat(c,".").concat(d)]||s[d]||u[d]||o;return n?r.a.createElement(m,i(i({ref:t},p),{},{components:n})):r.a.createElement(m,i({ref:t},p))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,c=new Array(o);c[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var p=2;p str:\n time.sleep(seconds) # Blocks!\n return f'Done!'\n")),Object(o.b)("p",null,"To call the above function from an app, don't do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python",metastring:"{4}","{4}":!0}),"@app('/demo')\nasync def serve(q: Q):\n # ...\n message = blocking_function(42)\n # ...\n")),Object(o.b)("p",null,"Instead, do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python",metastring:"{4}","{4}":!0}),"@app('/demo')\nasync def serve(q: Q):\n # ...\n message = await q.run(blocking_function, 42)\n # ...\n")),Object(o.b)("p",null,Object(o.b)("inlineCode",{parentName:"p"},"q.run()")," runs the blocking function in the background, in-process."),Object(o.b)("p",null,"Depending on your use case, you might want to use a separate process pool or thread pool from Python's ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://docs.python.org/3/library/multiprocessing.html"}),"multiprocessing")," library, like this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python",metastring:"{1,6-7}","{1,6-7}":!0}),"import concurrent.futures\n\n@app('/demo')\nasync def serve(q: Q):\n # ...\n with concurrent.futures.ThreadPoolExecutor() as pool:\n message = await q.exec(pool, blocking_function, 42)\n # ...\n")),Object(o.b)("p",null,Object(o.b)("inlineCode",{parentName:"p"},"q.exec()")," accepts a custom process pool or thread pool to run the blocking function."),Object(o.b)("h2",{id:"asgi-compatibility"},"ASGI compatibility"),Object(o.b)("p",null,"Wave apps are now ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://asgi.readthedocs.io/en/latest/"}),"ASGI"),"-compatible, based on ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.uvicorn.org"}),"Uvicorn")," / ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.starlette.io/"}),"Starlette"),", a ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=fortune&l=zijzen-1"}),"high-performance")," Python server."),Object(o.b)("p",null,"You can run Wave apps behind any ASGI server, like ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.uvicorn.org"}),"uvicorn"),", ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://gunicorn.org/"}),"gunicorn"),", ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://github.com/django/daphne/"}),"daphne"),", ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://pgjones.gitlab.io/hypercorn/"}),"hypercorn"),", etc."),Object(o.b)("p",null,"To run your app using an ASGI server like uvicorn, append ",Object(o.b)("inlineCode",{parentName:"p"},":main")," to the ",Object(o.b)("inlineCode",{parentName:"p"},"app")," argument:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"(venv) $ uvicorn foo:main\n")),Object(o.b)("h2",{id:"download"},"Download"),Object(o.b)("p",null,"Get the release ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://github.com/h2oai/wave/releases/latest"}),"here"),". Check out the release notes for more details."),Object(o.b)("p",null,"We look forward to continuing our collaboration with the community and hearing your feedback as we further improve and expand the H2O Wave platform."),Object(o.b)("p",null,"We\u2019d like to thank the entire Wave team and the community for all of the contributions to this work!"))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/docs/0923c366.5d7f32ac.js b/docs/0923c366.5d7f32ac.js deleted file mode 100644 index 7a0d06f46f..0000000000 --- a/docs/0923c366.5d7f32ac.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{300:function(e,o,t){"use strict";t.d(o,"a",(function(){return l})),t.d(o,"b",(function(){return w}));var n=t(0),a=t.n(n);function r(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function i(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o&&(n=n.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var o=1;o=0||(a[t]=e[t]);return a}(e,o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var u=a.a.createContext({}),p=function(e){var o=a.a.useContext(u),t=o;return e&&(t="function"==typeof e?e(o):c(c({},o),e)),t},l=function(e){var o=p(e.components);return a.a.createElement(u.Provider,{value:o},e.children)},g={inlineCode:"code",wrapper:function(e){var o=e.children;return a.a.createElement(a.a.Fragment,{},o)}},m=a.a.forwardRef((function(e,o){var t=e.components,n=e.mdxType,r=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),l=p(t),m=n,w=l["".concat(i,".").concat(m)]||l[m]||g[m]||r;return t?a.a.createElement(w,c(c({ref:o},u),{},{components:t})):a.a.createElement(w,c({ref:o},u))}));function w(e,o){var t=arguments,n=o&&o.mdxType;if("string"==typeof e||n){var r=t.length,i=new Array(r);i[0]=m;var c={};for(var s in o)hasOwnProperty.call(o,s)&&(c[s]=o[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var u=2;u=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var s=r.a.createContext({}),p=function(e){var t=r.a.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):u(u({},t),e)),o},l=function(e){var t=p(e.components);return r.a.createElement(s.Provider,{value:t},e.children)},g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},f=r.a.forwardRef((function(e,t){var o=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),l=p(o),f=n,d=l["".concat(i,".").concat(f)]||l[f]||g[f]||a;return o?r.a.createElement(d,u(u({ref:t},s),{},{components:o})):r.a.createElement(d,u({ref:t},s))}));function d(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=o.length,i=new Array(a);i[0]=f;var u={};for(var c in t)hasOwnProperty.call(t,c)&&(u[c]=t[c]);u.originalType=e,u.mdxType="string"==typeof e?e:n,i[1]=u;for(var s=2;s=0||(r[a]=n[a]);return r}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(n,a)&&(r[a]=n[a])}return r}var u=r.a.createContext({}),s=function(n){var e=r.a.useContext(u),a=e;return n&&(a="function"==typeof n?n(e):o(o({},e),n)),a},p=function(n){var e=s(n.components);return r.a.createElement(u.Provider,{value:e},n.children)},d={inlineCode:"code",wrapper:function(n){var e=n.children;return r.a.createElement(r.a.Fragment,{},e)}},f=r.a.forwardRef((function(n,e){var a=n.components,t=n.mdxType,i=n.originalType,c=n.parentName,u=l(n,["components","mdxType","originalType","parentName"]),p=s(a),f=t,_=p["".concat(c,".").concat(f)]||p[f]||d[f]||i;return a?r.a.createElement(_,o(o({ref:e},u),{},{components:a})):r.a.createElement(_,o({ref:e},u))}));function _(n,e){var a=arguments,t=e&&e.mdxType;if("string"==typeof n||t){var i=a.length,c=new Array(i);c[0]=f;var o={};for(var l in e)hasOwnProperty.call(e,l)&&(o[l]=e[l]);o.originalType=n,o.mdxType="string"==typeof n?n:t,c[1]=o;for(var u=2;u 0:\n time.sleep(update_freq)\n\n for f, c in simples:\n val, pc = f.next()\n c.value = f'${val:.2f}',\n\n for f, c in simples_colored:\n cat, val, pc = f.next()\n c.data.qux = val\n c.data.quux = pc / 100\n c.plot_data[-1] = [cat, val]\n\n for f, c in lines:\n cat, val, pc = f.next()\n c.data.qux = val\n c.data.quux = pc / 100\n c.plot_data[-1] = [cat, val]\n\n for f, c in bars:\n cat, val, pc = f.next()\n c.data.qux = val\n c.data.quux = pc / 100\n c.plot_data[-1] = [cat, val]\n\n for f, c in large_lines:\n cat, val, pc = f.next()\n c.data.qux = val\n c.data.quux = pc / 100\n c.plot_data[-1] = [cat, val]\n\n for f, c in large_pcs:\n val, pc = f.next()\n c.data.foo = val\n c.data.bar = pc\n c.progress = pc\n\n for f, c in small_pcs:\n val, pc = f.next()\n c.data.foo = val\n c.data.bar = pc\n c.progress = pc\n\n for f, c in small_pbs:\n val, pc = f.next()\n c.data.foo = val\n c.data.bar = pc\n c.progress = pc\n\n for f, c in large_cards:\n val, pc = f.next()\n c.data.qux = val\n c.data.quux = pc\n\n for f, c in large_pbs:\n val, pc = f.next()\n c.data.foo = val\n c.data.bar = pc\n c.progress = pc\n\n page.save()\n\n\ncreate_dashboard(update_freq=0.25)\n")),Object(i.b)("p",null,Object(i.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(i.b)("a",{href:Object(c.a)("docs/examples/tags#dashboard")},"dashboard")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/docs/0965cdf6.82dfcc29.js b/docs/0965cdf6.82dfcc29.js deleted file mode 100644 index ca0d447de4..0000000000 --- a/docs/0965cdf6.82dfcc29.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{300:function(n,e,a){"use strict";a.d(e,"a",(function(){return s})),a.d(e,"b",(function(){return _}));var t=a(0),r=a.n(t);function i(n,e,a){return e in n?Object.defineProperty(n,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[e]=a,n}function c(n,e){var a=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.push.apply(a,t)}return a}function o(n){for(var e=1;e=0||(r[a]=n[a]);return r}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(n,a)&&(r[a]=n[a])}return r}var p=r.a.createContext({}),u=function(n){var e=r.a.useContext(p),a=e;return n&&(a="function"==typeof n?n(e):o(o({},e),n)),a},s=function(n){var e=u(n.components);return r.a.createElement(p.Provider,{value:e},n.children)},d={inlineCode:"code",wrapper:function(n){var e=n.children;return r.a.createElement(r.a.Fragment,{},e)}},f=r.a.forwardRef((function(n,e){var a=n.components,t=n.mdxType,i=n.originalType,c=n.parentName,p=l(n,["components","mdxType","originalType","parentName"]),s=u(a),f=t,_=s["".concat(c,".").concat(f)]||s[f]||d[f]||i;return a?r.a.createElement(_,o(o({ref:e},p),{},{components:a})):r.a.createElement(_,o({ref:e},p))}));function _(n,e){var a=arguments,t=e&&e.mdxType;if("string"==typeof n||t){var i=a.length,c=new Array(i);c[0]=f;var o={};for(var l in e)hasOwnProperty.call(e,l)&&(o[l]=e[l]);o.originalType=n,o.mdxType="string"==typeof n?n:t,c[1]=o;for(var p=2;p 0:\n time.sleep(update_freq)\n\n for f, c in simples:\n val, pc = f.next()\n c.value = f'${val:.2f}',\n\n for f, c in simples_colored:\n cat, val, pc = f.next()\n c.data.qux = val\n c.data.quux = pc / 100\n c.plot_data[-1] = [cat, val]\n\n for f, c in lines:\n cat, val, pc = f.next()\n c.data.qux = val\n c.data.quux = pc / 100\n c.plot_data[-1] = [cat, val]\n\n for f, c in bars:\n cat, val, pc = f.next()\n c.data.qux = val\n c.data.quux = pc / 100\n c.plot_data[-1] = [cat, val]\n\n for f, c in large_lines:\n cat, val, pc = f.next()\n c.data.qux = val\n c.data.quux = pc / 100\n c.plot_data[-1] = [cat, val]\n\n for f, c in large_pcs:\n val, pc = f.next()\n c.data.foo = val\n c.data.bar = pc\n c.progress = pc\n\n for f, c in small_pcs:\n val, pc = f.next()\n c.data.foo = val\n c.data.bar = pc\n c.progress = pc\n\n for f, c in small_pbs:\n val, pc = f.next()\n c.data.foo = val\n c.data.bar = pc\n c.progress = pc\n\n for f, c in large_cards:\n val, pc = f.next()\n c.data.qux = val\n c.data.quux = pc\n\n for f, c in large_pbs:\n val, pc = f.next()\n c.data.foo = val\n c.data.bar = pc\n c.progress = pc\n\n page.save()\n\n\ncreate_dashboard(update_freq=0.25)\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/docs/0a6c0f5b.c4ee60ea.js b/docs/0a6c0f5b.1fc082e5.js similarity index 92% rename from docs/0a6c0f5b.c4ee60ea.js rename to docs/0a6c0f5b.1fc082e5.js index e9f58f41ff..9ffa6a91d6 100644 --- a/docs/0a6c0f5b.c4ee60ea.js +++ b/docs/0a6c0f5b.1fc082e5.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{300:function(e,t,a){"use strict";a.d(t,"a",(function(){return b})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=r.a.createContext({}),p=function(e){var t=r.a.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},b=function(e){var t=p(e.components);return r.a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),b=p(a),d=n,m=b["".concat(i,".").concat(d)]||b[d]||u[d]||l;return a?r.a.createElement(m,o(o({ref:t},s),{},{components:a})):r.a.createElement(m,o({ref:t},s))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=d;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var s=2;s=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=r.a.createContext({}),p=function(e){var t=r.a.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},b=function(e){var t=p(e.components);return r.a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),b=p(a),d=n,m=b["".concat(i,".").concat(d)]||b[d]||u[d]||l;return a?r.a.createElement(m,o(o({ref:t},s),{},{components:a})):r.a.createElement(m,o({ref:t},s))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=d;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var s=2;s=0||(a[r]=e[r]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),l=function(e){var n=a.a.useContext(u),r=n;return e&&(r="function"==typeof e?e(n):s(s({},n),e)),r},p=function(e){var n=l(e.components);return a.a.createElement(u.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},f=a.a.forwardRef((function(e,n){var r=e.components,t=e.mdxType,o=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=l(r),f=t,m=p["".concat(i,".").concat(f)]||p[f]||d[f]||o;return r?a.a.createElement(m,s(s({ref:n},u),{},{components:r})):a.a.createElement(m,s({ref:n},u))}));function m(e,n){var r=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var o=r.length,i=new Array(o);i[0]=f;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s.mdxType="string"==typeof e?e:t,i[1]=s;for(var u=2;u=0||(a[r]=e[r]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=a.a.createContext({}),p=function(e){var n=a.a.useContext(c),r=n;return e&&(r="function"==typeof e?e(n):s(s({},n),e)),r},u=function(e){var n=p(e.components);return a.a.createElement(c.Provider,{value:n},e.children)},m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},d=a.a.forwardRef((function(e,n){var r=e.components,t=e.mdxType,o=e.originalType,i=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=p(r),d=t,f=u["".concat(i,".").concat(d)]||u[d]||m[d]||o;return r?a.a.createElement(f,s(s({ref:n},c),{},{components:r})):a.a.createElement(f,s({ref:n},c))}));function f(e,n){var r=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var o=r.length,i=new Array(o);i[0]=d;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s.mdxType="string"==typeof e?e:t,i[1]=s;for(var c=2;c=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var b=r.a.createContext({}),p=function(e){var t=r.a.useContext(b),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},s=function(e){var t=p(e.components);return r.a.createElement(b.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,b=l(e,["components","mdxType","originalType","parentName"]),s=p(a),d=n,m=s["".concat(i,".").concat(d)]||s[d]||u[d]||o;return a?r.a.createElement(m,c(c({ref:t},b),{},{components:a})):r.a.createElement(m,c({ref:t},b))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var b=2;b=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var b=r.a.createContext({}),p=function(e){var t=r.a.useContext(b),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},s=function(e){var t=p(e.components);return r.a.createElement(b.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,b=l(e,["components","mdxType","originalType","parentName"]),s=p(a),d=n,m=s["".concat(i,".").concat(d)]||s[d]||u[d]||o;return a?r.a.createElement(m,c(c({ref:t},b),{},{components:a})):r.a.createElement(m,c({ref:t},b))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var b=2;b{}});var s=n(304),f=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(t);ot.startsWith("/"))(O=w)?b(O):O:void 0;var O;const A=Object(r.useRef)(!1),C=n?i.e:i.c,E=u.a.canUseIntersectionObserver;let S;Object(r.useEffect)((()=>(!E&&m&&window.docusaurus.prefetch(T),()=>{E&&S&&S.disconnect()})),[T,E,m]);const j=null!==(e=null==T?void 0:T.startsWith("#"))&&void 0!==e&&e,P=!T||!m||j;return T&&m&&!j&&!h&&g.collectLink(T),P?o.a.createElement("a",Object.assign({href:T},!m&&{target:"_blank",rel:"noopener noreferrer"},y)):o.a.createElement(C,Object.assign({},y,{onMouseEnter:()=>{A.current||(window.docusaurus.preload(T),A.current=!0)},innerRef:t=>{var e,n;E&&t&&m&&(e=t,n=()=>{window.docusaurus.prefetch(T)},S=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(S.unobserve(e),S.disconnect(),n())}))})),S.observe(e))},to:T||""},n&&{activeClassName:d}))}},304:function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"a",(function(){return a}));var r=n(301),o=n(309);function i(){const{siteConfig:{baseUrl:t="/",url:e}={}}=Object(r.a)();return{withBaseUrl:(n,r)=>function(t,e,n,{forcePrependBaseUrl:r=!1,absolute:i=!1}={}){if(!n)return n;if(n.startsWith("#"))return n;if(Object(o.b)(n))return n;if(r)return e+n;const a=n.startsWith(e)?n:e+n.replace(/^\//,"");return i?t+a:a}(e,t,n,r)}}function a(t,e={}){const{withBaseUrl:n}=i();return n(t,e)}},309:function(t,e,n){"use strict";function r(t){return!0===/^(\w*:|\/\/)/.test(t)}function o(t){return void 0!==t&&!r(t)}n.d(e,"b",(function(){return r})),n.d(e,"a",(function(){return o}))},310:function(t,e,n){"use strict";var r=n(0),o=n.n(r),i=n(503);e.a=function(t){return o.a.createElement(i.a,Object.assign({},t))}},312:function(t,e,n){"use strict";n.r(e);var r=n(13);n.d(e,"MemoryRouter",(function(){return r.d})),n.d(e,"Prompt",(function(){return r.f})),n.d(e,"Redirect",(function(){return r.g})),n.d(e,"Route",(function(){return r.h})),n.d(e,"Router",(function(){return r.i})),n.d(e,"StaticRouter",(function(){return r.j})),n.d(e,"Switch",(function(){return r.k})),n.d(e,"generatePath",(function(){return r.l})),n.d(e,"matchPath",(function(){return r.m})),n.d(e,"useHistory",(function(){return r.n})),n.d(e,"useLocation",(function(){return r.o})),n.d(e,"useParams",(function(){return r.p})),n.d(e,"useRouteMatch",(function(){return r.q})),n.d(e,"withRouter",(function(){return r.r})),n.d(e,"BrowserRouter",(function(){return r.a})),n.d(e,"HashRouter",(function(){return r.b})),n.d(e,"Link",(function(){return r.c})),n.d(e,"NavLink",(function(){return r.e}))},313:function(t,e,n){try{t.exports=n(512)}catch(r){t.exports={}}},503:function(t,e,n){"use strict";(function(t){n.d(e,"a",(function(){return bt}));var r,o,i,a,u=n(7),c=n.n(u),s=n(504),f=n.n(s),l=n(505),p=n.n(l),d=n(0),h=n.n(d),y=n(20),b=n.n(y),g="bodyAttributes",v="htmlAttributes",m="titleAttributes",w={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"},T=(Object.keys(w).map((function(t){return w[t]})),"charset"),O="cssText",A="href",C="http-equiv",E="innerHTML",S="itemprop",j="name",P="property",L="rel",k="src",x="target",I={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},D="defaultTitle",R="defer",M="encodeSpecialCharacters",N="onChangeClientState",V="titleTemplate",_=Object.keys(I).reduce((function(t,e){return t[I[e]]=e,t}),{}),B=[w.NOSCRIPT,w.SCRIPT,w.STYLE],H="data-react-helmet",U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},q=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Y=function(){function t(t,e){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n},z=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},K=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===e?String(t):String(t).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},$=function(t){var e=Z(t,w.TITLE),n=Z(t,V);if(n&&e)return n.replace(/%s/g,(function(){return Array.isArray(e)?e.join(""):e}));var r=Z(t,D);return e||r||void 0},J=function(t){return Z(t,N)||function(){}},G=function(t,e){return e.filter((function(e){return void 0!==e[t]})).map((function(e){return e[t]})).reduce((function(t,e){return F({},t,e)}),{})},Q=function(t,e){return e.filter((function(t){return void 0!==t[w.BASE]})).map((function(t){return t[w.BASE]})).reverse().reduce((function(e,n){if(!e.length)for(var r=Object.keys(n),o=0;o=0;n--){var r=t[n];if(r.hasOwnProperty(e))return r[e]}return null},tt=(r=Date.now(),function(t){var e=Date.now();e-r>16?(r=e,t(e)):setTimeout((function(){tt(t)}),0)}),et=function(t){return clearTimeout(t)},nt="undefined"!=typeof window?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||tt:t.requestAnimationFrame||tt,rt="undefined"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||et:t.cancelAnimationFrame||et,ot=function(t){return console&&"function"==typeof console.warn&&console.warn(t)},it=null,at=function(t,e){var n=t.baseTag,r=t.bodyAttributes,o=t.htmlAttributes,i=t.linkTags,a=t.metaTags,u=t.noscriptTags,c=t.onChangeClientState,s=t.scriptTags,f=t.styleTags,l=t.title,p=t.titleAttributes;st(w.BODY,r),st(w.HTML,o),ct(l,p);var d={baseTag:ft(w.BASE,n),linkTags:ft(w.LINK,i),metaTags:ft(w.META,a),noscriptTags:ft(w.NOSCRIPT,u),scriptTags:ft(w.SCRIPT,s),styleTags:ft(w.STYLE,f)},h={},y={};Object.keys(d).forEach((function(t){var e=d[t],n=e.newTags,r=e.oldTags;n.length&&(h[t]=n),r.length&&(y[t]=d[t].oldTags)})),e&&e(),c(t,h,y)},ut=function(t){return Array.isArray(t)?t.join(""):t},ct=function(t,e){void 0!==t&&document.title!==t&&(document.title=ut(t)),st(w.TITLE,e)},st=function(t,e){var n=document.getElementsByTagName(t)[0];if(n){for(var r=n.getAttribute(H),o=r?r.split(","):[],i=[].concat(o),a=Object.keys(e),u=0;u=0;l--)n.removeAttribute(i[l]);o.length===i.length?n.removeAttribute(H):n.getAttribute(H)!==a.join(",")&&n.setAttribute(H,a.join(","))}},ft=function(t,e){var n=document.head||document.querySelector(w.HEAD),r=n.querySelectorAll(t+"["+"data-react-helmet]"),o=Array.prototype.slice.call(r),i=[],a=void 0;return e&&e.length&&e.forEach((function(e){var n=document.createElement(t);for(var r in e)if(e.hasOwnProperty(r))if(r===E)n.innerHTML=e.innerHTML;else if(r===O)n.styleSheet?n.styleSheet.cssText=e.cssText:n.appendChild(document.createTextNode(e.cssText));else{var u=void 0===e[r]?"":e[r];n.setAttribute(r,u)}n.setAttribute(H,"true"),o.some((function(t,e){return a=e,n.isEqualNode(t)}))?o.splice(a,1):i.push(n)})),o.forEach((function(t){return t.parentNode.removeChild(t)})),i.forEach((function(t){return n.appendChild(t)})),{oldTags:o,newTags:i}},lt=function(t){return Object.keys(t).reduce((function(e,n){var r=void 0!==t[n]?n+'="'+t[n]+'"':""+n;return e?e+" "+r:r}),"")},pt=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(t).reduce((function(e,n){return e[I[n]||n]=t[n],e}),e)},dt=function(t,e,n){switch(t){case w.TITLE:return{toComponent:function(){return t=e.title,n=e.titleAttributes,(r={key:t})[H]=!0,o=pt(n,r),[h.a.createElement(w.TITLE,o,t)];var t,n,r,o},toString:function(){return function(t,e,n,r){var o=lt(n),i=ut(e);return o?"<"+t+' data-react-helmet="true" '+o+">"+K(i,r)+"":"<"+t+' data-react-helmet="true">'+K(i,r)+""}(t,e.title,e.titleAttributes,n)}};case g:case v:return{toComponent:function(){return pt(e)},toString:function(){return lt(e)}};default:return{toComponent:function(){return function(t,e){return e.map((function(e,n){var r,o=((r={key:n})[H]=!0,r);return Object.keys(e).forEach((function(t){var n=I[t]||t;if(n===E||n===O){var r=e.innerHTML||e.cssText;o.dangerouslySetInnerHTML={__html:r}}else o[n]=e[t]})),h.a.createElement(t,o)}))}(t,e)},toString:function(){return function(t,e,n){return e.reduce((function(e,r){var o=Object.keys(r).filter((function(t){return!(t===E||t===O)})).reduce((function(t,e){var o=void 0===r[e]?e:e+'="'+K(r[e],n)+'"';return t?t+" "+o:o}),""),i=r.innerHTML||r.cssText||"",a=-1===B.indexOf(t);return e+"<"+t+' data-react-helmet="true" '+o+(a?"/>":">"+i+"")}),"")}(t,e,n)}}}},ht=function(t){var e=t.baseTag,n=t.bodyAttributes,r=t.encode,o=t.htmlAttributes,i=t.linkTags,a=t.metaTags,u=t.noscriptTags,c=t.scriptTags,s=t.styleTags,f=t.title,l=void 0===f?"":f,p=t.titleAttributes;return{base:dt(w.BASE,e,r),bodyAttributes:dt(g,n,r),htmlAttributes:dt(v,o,r),link:dt(w.LINK,i,r),meta:dt(w.META,a,r),noscript:dt(w.NOSCRIPT,u,r),script:dt(w.SCRIPT,c,r),style:dt(w.STYLE,s,r),title:dt(w.TITLE,{title:l,titleAttributes:p},r)}},yt=f()((function(t){return{baseTag:Q([A,x],t),bodyAttributes:G(g,t),defer:Z(t,R),encode:Z(t,M),htmlAttributes:G(v,t),linkTags:X(w.LINK,[L,A],t),metaTags:X(w.META,[j,T,C,P,S],t),noscriptTags:X(w.NOSCRIPT,[E],t),onChangeClientState:J(t),scriptTags:X(w.SCRIPT,[k,E],t),styleTags:X(w.STYLE,[O],t),title:$(t),titleAttributes:G(m,t)}}),(function(t){it&&rt(it),t.defer?it=nt((function(){at(t,(function(){it=null}))})):(at(t),it=null)}),ht)((function(){return null})),bt=(o=yt,a=i=function(t){function e(){return q(this,e),z(this,t.apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.shouldComponentUpdate=function(t){return!p()(this.props,t)},e.prototype.mapNestedChildrenToProps=function(t,e){if(!e)return null;switch(t.type){case w.SCRIPT:case w.NOSCRIPT:return{innerHTML:e};case w.STYLE:return{cssText:e}}throw new Error("<"+t.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},e.prototype.flattenArrayTypeChildren=function(t){var e,n=t.child,r=t.arrayTypeChildren,o=t.newChildProps,i=t.nestedChildren;return F({},r,((e={})[n.type]=[].concat(r[n.type]||[],[F({},o,this.mapNestedChildrenToProps(n,i))]),e))},e.prototype.mapObjectTypeChildren=function(t){var e,n,r=t.child,o=t.newProps,i=t.newChildProps,a=t.nestedChildren;switch(r.type){case w.TITLE:return F({},o,((e={})[r.type]=a,e.titleAttributes=F({},i),e));case w.BODY:return F({},o,{bodyAttributes:F({},i)});case w.HTML:return F({},o,{htmlAttributes:F({},i)})}return F({},o,((n={})[r.type]=F({},i),n))},e.prototype.mapArrayTypeChildrenToProps=function(t,e){var n=F({},e);return Object.keys(t).forEach((function(e){var r;n=F({},n,((r={})[e]=t[e],r))})),n},e.prototype.warnOnInvalidChildren=function(t,e){return!0},e.prototype.mapChildrenToProps=function(t,e){var n=this,r={};return h.a.Children.forEach(t,(function(t){if(t&&t.props){var o=t.props,i=o.children,a=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(t).reduce((function(e,n){return e[_[n]||n]=t[n],e}),e)}(W(o,["children"]));switch(n.warnOnInvalidChildren(t,i),t.type){case w.LINK:case w.META:case w.NOSCRIPT:case w.SCRIPT:case w.STYLE:r=n.flattenArrayTypeChildren({child:t,arrayTypeChildren:r,newChildProps:a,nestedChildren:i});break;default:e=n.mapObjectTypeChildren({child:t,newProps:e,newChildProps:a,nestedChildren:i})}}})),e=this.mapArrayTypeChildrenToProps(r,e)},e.prototype.render=function(){var t=this.props,e=t.children,n=W(t,["children"]),r=F({},n);return e&&(r=this.mapChildrenToProps(e,r)),h.a.createElement(o,r)},Y(e,null,[{key:"canUseDOM",set:function(t){o.canUseDOM=t}}]),e}(h.a.Component),i.propTypes={base:c.a.object,bodyAttributes:c.a.object,children:c.a.oneOfType([c.a.arrayOf(c.a.node),c.a.node]),defaultTitle:c.a.string,defer:c.a.bool,encodeSpecialCharacters:c.a.bool,htmlAttributes:c.a.object,link:c.a.arrayOf(c.a.object),meta:c.a.arrayOf(c.a.object),noscript:c.a.arrayOf(c.a.object),onChangeClientState:c.a.func,script:c.a.arrayOf(c.a.object),style:c.a.arrayOf(c.a.object),title:c.a.string,titleAttributes:c.a.object,titleTemplate:c.a.string},i.defaultProps={defer:!0,encodeSpecialCharacters:!0},i.peek=o.peek,i.rewind=function(){var t=o.rewind();return t||(t=ht({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),t},a);bt.renderStatic=bt.rewind}).call(this,n(28))},504:function(t,e,n){"use strict";var r,o=n(0),i=(r=o)&&"object"==typeof r&&"default"in r?r.default:r;function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var u=!("undefined"==typeof window||!window.document||!window.document.createElement);t.exports=function(t,e,n){if("function"!=typeof t)throw new Error("Expected reducePropsToState to be a function.");if("function"!=typeof e)throw new Error("Expected handleStateChangeOnClient to be a function.");if(void 0!==n&&"function"!=typeof n)throw new Error("Expected mapStateOnServer to either be undefined or a function.");return function(r){if("function"!=typeof r)throw new Error("Expected WrappedComponent to be a React component.");var c,s=[];function f(){c=t(s.map((function(t){return t.props}))),l.canUseDOM?e(c):n&&(c=n(c))}var l=function(t){var e,n;function o(){return t.apply(this,arguments)||this}n=t,(e=o).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,o.peek=function(){return c},o.rewind=function(){if(o.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var t=c;return c=void 0,s=[],t};var a=o.prototype;return a.UNSAFE_componentWillMount=function(){s.push(this),f()},a.componentDidUpdate=function(){f()},a.componentWillUnmount=function(){var t=s.indexOf(this);s.splice(t,1),f()},a.render=function(){return i.createElement(r,this.props)},o}(o.PureComponent);return a(l,"displayName","SideEffect("+function(t){return t.displayName||t.name||"Component"}(r)+")"),a(l,"canUseDOM",u),l}}},505:function(t,e){var n="undefined"!=typeof Element,r="function"==typeof Map,o="function"==typeof Set,i="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function a(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(t.constructor!==e.constructor)return!1;var u,c,s,f;if(Array.isArray(t)){if((u=t.length)!=e.length)return!1;for(c=u;0!=c--;)if(!a(t[c],e[c]))return!1;return!0}if(r&&t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(f=t.entries();!(c=f.next()).done;)if(!e.has(c.value[0]))return!1;for(f=t.entries();!(c=f.next()).done;)if(!a(c.value[1],e.get(c.value[0])))return!1;return!0}if(o&&t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(f=t.entries();!(c=f.next()).done;)if(!e.has(c.value[0]))return!1;return!0}if(i&&ArrayBuffer.isView(t)&&ArrayBuffer.isView(e)){if((u=t.length)!=e.length)return!1;for(c=u;0!=c--;)if(t[c]!==e[c])return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();if((u=(s=Object.keys(t)).length)!==Object.keys(e).length)return!1;for(c=u;0!=c--;)if(!Object.prototype.hasOwnProperty.call(e,s[c]))return!1;if(n&&t instanceof Element)return!1;for(c=u;0!=c--;)if(("_owner"!==s[c]&&"__v"!==s[c]&&"__o"!==s[c]||!t.$$typeof)&&!a(t[s[c]],e[s[c]]))return!1;return!0}return t!=t&&e!=e}t.exports=function(t,e){try{return a(t,e)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},512:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.useDocVersionSuggestions=e.useActiveDocContext=e.useActiveVersion=e.useLatestVersion=e.useVersions=e.useActivePlugin=void 0;const r=n(312),o=n(513),i=n(514),a=t=>o.usePluginData("docusaurus-plugin-content-docs",t);e.useActivePlugin=(t={})=>{const e=o.useAllPluginInstancesData("docusaurus-plugin-content-docs"),{pathname:n}=r.useLocation();return i.getActivePlugin(e,n,t)},e.useVersions=t=>a(t).versions,e.useLatestVersion=t=>{const e=a(t);return i.getLatestVersion(e)},e.useActiveVersion=t=>{const e=a(t),{pathname:n}=r.useLocation();return i.getActiveVersion(e,n)},e.useActiveDocContext=t=>{const e=a(t),{pathname:n}=r.useLocation();return i.getActiveDocContext(e,n)},e.useDocVersionSuggestions=t=>{const e=a(t),{pathname:n}=r.useLocation();return i.getDocVersionSuggestions(e,n)}},513:function(t,e,n){"use strict";n.r(e),n.d(e,"default",(function(){return o})),n.d(e,"useAllPluginInstancesData",(function(){return i})),n.d(e,"usePluginData",(function(){return a}));var r=n(301);function o(){const{globalData:t}=Object(r.a)();if(!t)throw new Error("Docusaurus global data not found");return t}function i(t){const e=o()[t];if(!e)throw new Error("Docusaurus plugin global data not found for pluginName="+t);return e}function a(t,e="default"){const n=i(t)[e];if(!n)throw new Error(`Docusaurus plugin global data not found for pluginName=${t} and pluginId=${e}`);return n}},514:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getDocVersionSuggestions=e.getActiveDocContext=e.getActiveVersion=e.getLatestVersion=e.getActivePlugin=void 0;const r=n(312);e.getActivePlugin=function(t,e,n={}){const o=Object.entries(t).find((([t,n])=>!!r.matchPath(e,{path:n.path,exact:!1,strict:!1}))),i=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!i&&n.failfast)throw new Error(`Can't find active docs plugin for pathname=${e}, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(t).map((t=>t.path)).join(", ")}`);return i},e.getLatestVersion=t=>t.versions.find((t=>t.isLast)),e.getActiveVersion=(t,n)=>{const o=e.getLatestVersion(t);return[...t.versions.filter((t=>t!==o)),o].find((t=>!!r.matchPath(n,{path:t.path,exact:!1,strict:!1})))},e.getActiveDocContext=(t,n)=>{const o=e.getActiveVersion(t,n),i=null==o?void 0:o.docs.find((t=>!!r.matchPath(n,{path:t.path,exact:!0,strict:!1})));return{activeVersion:o,activeDoc:i,alternateDocVersions:i?function(e){const n={};return t.versions.forEach((t=>{t.docs.forEach((r=>{r.id===e&&(n[t.name]=r)}))})),n}(i.id):{}}},e.getDocVersionSuggestions=(t,n)=>{const r=e.getLatestVersion(t),o=e.getActiveDocContext(t,n),i=o.activeVersion!==r;return{latestDocSuggestion:i?null==o?void 0:o.alternateDocVersions[r.name]:void 0,latestVersionSuggestion:i?r:void 0}}}}]); \ No newline at end of file diff --git a/docs/1.e9acad57.js b/docs/1.e9acad57.js new file mode 100644 index 0000000000..31d600b457 --- /dev/null +++ b/docs/1.e9acad57.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{303:function(t,e,n){"use strict";var r=n(0),o=n(19);e.a=function(){var t=Object(r.useContext)(o.a);if(null===t)throw new Error("Docusaurus context not provided");return t}},304:function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"a",(function(){return a}));var r=n(303),o=n(305);function i(){var t=Object(r.a)().siteConfig,e=(t=void 0===t?{}:t).baseUrl,n=void 0===e?"/":e,i=t.url;return{withBaseUrl:function(t,e){return function(t,e,n,r){var i=void 0===r?{}:r,a=i.forcePrependBaseUrl,u=void 0!==a&&a,c=i.absolute,s=void 0!==c&&c;if(!n)return n;if(n.startsWith("#"))return n;if(Object(o.b)(n))return n;if(u)return e+n;var f=n.startsWith(e)?n:e+n.replace(/^\//,"");return s?t+f:f}(i,n,t,e)}}}function a(t,e){return void 0===e&&(e={}),(0,i().withBaseUrl)(t,e)}},305:function(t,e,n){"use strict";function r(t){return!0===/^(\w*:|\/\/)/.test(t)}function o(t){return void 0!==t&&!r(t)}n.d(e,"b",(function(){return r})),n.d(e,"a",(function(){return o}))},306:function(t,e,n){"use strict";var r=n(0),o=n.n(r),i=n(13),a=n(305),u=n(10),c=Object(r.createContext)({collectLink:function(){}}),s=n(304),f=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(t);o0)&&(l.unobserve(e),l.disconnect(),n())}))}))).observe(e))},to:A||""},d&&{activeClassName:v}))}},307:function(t,e,n){"use strict";function r(t){var e,n,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t)if(Array.isArray(t))for(e=0;e=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n},z=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},K=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===e?String(t):String(t).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},J=function(t){var e=Z(t,w.TITLE),n=Z(t,V);if(n&&e)return n.replace(/%s/g,(function(){return Array.isArray(e)?e.join(""):e}));var r=Z(t,D);return e||r||void 0},$=function(t){return Z(t,N)||function(){}},G=function(t,e){return e.filter((function(e){return void 0!==e[t]})).map((function(e){return e[t]})).reduce((function(t,e){return F({},t,e)}),{})},Q=function(t,e){return e.filter((function(t){return void 0!==t[w.BASE]})).map((function(t){return t[w.BASE]})).reverse().reduce((function(e,n){if(!e.length)for(var r=Object.keys(n),o=0;o=0;n--){var r=t[n];if(r.hasOwnProperty(e))return r[e]}return null},tt=(r=Date.now(),function(t){var e=Date.now();e-r>16?(r=e,t(e)):setTimeout((function(){tt(t)}),0)}),et=function(t){return clearTimeout(t)},nt="undefined"!=typeof window?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||tt:t.requestAnimationFrame||tt,rt="undefined"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||et:t.cancelAnimationFrame||et,ot=function(t){return console&&"function"==typeof console.warn&&console.warn(t)},it=null,at=function(t,e){var n=t.baseTag,r=t.bodyAttributes,o=t.htmlAttributes,i=t.linkTags,a=t.metaTags,u=t.noscriptTags,c=t.onChangeClientState,s=t.scriptTags,f=t.styleTags,l=t.title,d=t.titleAttributes;st(w.BODY,r),st(w.HTML,o),ct(l,d);var p={baseTag:ft(w.BASE,n),linkTags:ft(w.LINK,i),metaTags:ft(w.META,a),noscriptTags:ft(w.NOSCRIPT,u),scriptTags:ft(w.SCRIPT,s),styleTags:ft(w.STYLE,f)},h={},v={};Object.keys(p).forEach((function(t){var e=p[t],n=e.newTags,r=e.oldTags;n.length&&(h[t]=n),r.length&&(v[t]=p[t].oldTags)})),e&&e(),c(t,h,v)},ut=function(t){return Array.isArray(t)?t.join(""):t},ct=function(t,e){void 0!==t&&document.title!==t&&(document.title=ut(t)),st(w.TITLE,e)},st=function(t,e){var n=document.getElementsByTagName(t)[0];if(n){for(var r=n.getAttribute(H),o=r?r.split(","):[],i=[].concat(o),a=Object.keys(e),u=0;u=0;l--)n.removeAttribute(i[l]);o.length===i.length?n.removeAttribute(H):n.getAttribute(H)!==a.join(",")&&n.setAttribute(H,a.join(","))}},ft=function(t,e){var n=document.head||document.querySelector(w.HEAD),r=n.querySelectorAll(t+"["+"data-react-helmet]"),o=Array.prototype.slice.call(r),i=[],a=void 0;return e&&e.length&&e.forEach((function(e){var n=document.createElement(t);for(var r in e)if(e.hasOwnProperty(r))if(r===E)n.innerHTML=e.innerHTML;else if(r===O)n.styleSheet?n.styleSheet.cssText=e.cssText:n.appendChild(document.createTextNode(e.cssText));else{var u=void 0===e[r]?"":e[r];n.setAttribute(r,u)}n.setAttribute(H,"true"),o.some((function(t,e){return a=e,n.isEqualNode(t)}))?o.splice(a,1):i.push(n)})),o.forEach((function(t){return t.parentNode.removeChild(t)})),i.forEach((function(t){return n.appendChild(t)})),{oldTags:o,newTags:i}},lt=function(t){return Object.keys(t).reduce((function(e,n){var r=void 0!==t[n]?n+'="'+t[n]+'"':""+n;return e?e+" "+r:r}),"")},dt=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(t).reduce((function(e,n){return e[I[n]||n]=t[n],e}),e)},pt=function(t,e,n){switch(t){case w.TITLE:return{toComponent:function(){return t=e.title,n=e.titleAttributes,(r={key:t})[H]=!0,o=dt(n,r),[h.a.createElement(w.TITLE,o,t)];var t,n,r,o},toString:function(){return function(t,e,n,r){var o=lt(n),i=ut(e);return o?"<"+t+' data-react-helmet="true" '+o+">"+K(i,r)+"":"<"+t+' data-react-helmet="true">'+K(i,r)+""}(t,e.title,e.titleAttributes,n)}};case b:case g:return{toComponent:function(){return dt(e)},toString:function(){return lt(e)}};default:return{toComponent:function(){return function(t,e){return e.map((function(e,n){var r,o=((r={key:n})[H]=!0,r);return Object.keys(e).forEach((function(t){var n=I[t]||t;if(n===E||n===O){var r=e.innerHTML||e.cssText;o.dangerouslySetInnerHTML={__html:r}}else o[n]=e[t]})),h.a.createElement(t,o)}))}(t,e)},toString:function(){return function(t,e,n){return e.reduce((function(e,r){var o=Object.keys(r).filter((function(t){return!(t===E||t===O)})).reduce((function(t,e){var o=void 0===r[e]?e:e+'="'+K(r[e],n)+'"';return t?t+" "+o:o}),""),i=r.innerHTML||r.cssText||"",a=-1===B.indexOf(t);return e+"<"+t+' data-react-helmet="true" '+o+(a?"/>":">"+i+"")}),"")}(t,e,n)}}}},ht=function(t){var e=t.baseTag,n=t.bodyAttributes,r=t.encode,o=t.htmlAttributes,i=t.linkTags,a=t.metaTags,u=t.noscriptTags,c=t.scriptTags,s=t.styleTags,f=t.title,l=void 0===f?"":f,d=t.titleAttributes;return{base:pt(w.BASE,e,r),bodyAttributes:pt(b,n,r),htmlAttributes:pt(g,o,r),link:pt(w.LINK,i,r),meta:pt(w.META,a,r),noscript:pt(w.NOSCRIPT,u,r),script:pt(w.SCRIPT,c,r),style:pt(w.STYLE,s,r),title:pt(w.TITLE,{title:l,titleAttributes:d},r)}},vt=f()((function(t){return{baseTag:Q([A,x],t),bodyAttributes:G(b,t),defer:Z(t,R),encode:Z(t,M),htmlAttributes:G(g,t),linkTags:X(w.LINK,[L,A],t),metaTags:X(w.META,[j,T,C,P,S],t),noscriptTags:X(w.NOSCRIPT,[E],t),onChangeClientState:$(t),scriptTags:X(w.SCRIPT,[k,E],t),styleTags:X(w.STYLE,[O],t),title:J(t),titleAttributes:G(m,t)}}),(function(t){it&&rt(it),t.defer?it=nt((function(){at(t,(function(){it=null}))})):(at(t),it=null)}),ht)((function(){return null})),yt=(o=vt,a=i=function(t){function e(){return q(this,e),z(this,t.apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.shouldComponentUpdate=function(t){return!d()(this.props,t)},e.prototype.mapNestedChildrenToProps=function(t,e){if(!e)return null;switch(t.type){case w.SCRIPT:case w.NOSCRIPT:return{innerHTML:e};case w.STYLE:return{cssText:e}}throw new Error("<"+t.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},e.prototype.flattenArrayTypeChildren=function(t){var e,n=t.child,r=t.arrayTypeChildren,o=t.newChildProps,i=t.nestedChildren;return F({},r,((e={})[n.type]=[].concat(r[n.type]||[],[F({},o,this.mapNestedChildrenToProps(n,i))]),e))},e.prototype.mapObjectTypeChildren=function(t){var e,n,r=t.child,o=t.newProps,i=t.newChildProps,a=t.nestedChildren;switch(r.type){case w.TITLE:return F({},o,((e={})[r.type]=a,e.titleAttributes=F({},i),e));case w.BODY:return F({},o,{bodyAttributes:F({},i)});case w.HTML:return F({},o,{htmlAttributes:F({},i)})}return F({},o,((n={})[r.type]=F({},i),n))},e.prototype.mapArrayTypeChildrenToProps=function(t,e){var n=F({},e);return Object.keys(t).forEach((function(e){var r;n=F({},n,((r={})[e]=t[e],r))})),n},e.prototype.warnOnInvalidChildren=function(t,e){return!0},e.prototype.mapChildrenToProps=function(t,e){var n=this,r={};return h.a.Children.forEach(t,(function(t){if(t&&t.props){var o=t.props,i=o.children,a=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(t).reduce((function(e,n){return e[_[n]||n]=t[n],e}),e)}(W(o,["children"]));switch(n.warnOnInvalidChildren(t,i),t.type){case w.LINK:case w.META:case w.NOSCRIPT:case w.SCRIPT:case w.STYLE:r=n.flattenArrayTypeChildren({child:t,arrayTypeChildren:r,newChildProps:a,nestedChildren:i});break;default:e=n.mapObjectTypeChildren({child:t,newProps:e,newChildProps:a,nestedChildren:i})}}})),e=this.mapArrayTypeChildrenToProps(r,e)},e.prototype.render=function(){var t=this.props,e=t.children,n=W(t,["children"]),r=F({},n);return e&&(r=this.mapChildrenToProps(e,r)),h.a.createElement(o,r)},Y(e,null,[{key:"canUseDOM",set:function(t){o.canUseDOM=t}}]),e}(h.a.Component),i.propTypes={base:c.a.object,bodyAttributes:c.a.object,children:c.a.oneOfType([c.a.arrayOf(c.a.node),c.a.node]),defaultTitle:c.a.string,defer:c.a.bool,encodeSpecialCharacters:c.a.bool,htmlAttributes:c.a.object,link:c.a.arrayOf(c.a.object),meta:c.a.arrayOf(c.a.object),noscript:c.a.arrayOf(c.a.object),onChangeClientState:c.a.func,script:c.a.arrayOf(c.a.object),style:c.a.arrayOf(c.a.object),title:c.a.string,titleAttributes:c.a.object,titleTemplate:c.a.string},i.defaultProps={defer:!0,encodeSpecialCharacters:!0},i.peek=o.peek,i.rewind=function(){var t=o.rewind();return t||(t=ht({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),t},a);yt.renderStatic=yt.rewind}).call(this,n(28))},520:function(t,e,n){"use strict";var r,o=n(0),i=(r=o)&&"object"==typeof r&&"default"in r?r.default:r;function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var u=!("undefined"==typeof window||!window.document||!window.document.createElement);t.exports=function(t,e,n){if("function"!=typeof t)throw new Error("Expected reducePropsToState to be a function.");if("function"!=typeof e)throw new Error("Expected handleStateChangeOnClient to be a function.");if(void 0!==n&&"function"!=typeof n)throw new Error("Expected mapStateOnServer to either be undefined or a function.");return function(r){if("function"!=typeof r)throw new Error("Expected WrappedComponent to be a React component.");var c,s=[];function f(){c=t(s.map((function(t){return t.props}))),l.canUseDOM?e(c):n&&(c=n(c))}var l=function(t){var e,n;function o(){return t.apply(this,arguments)||this}n=t,(e=o).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,o.peek=function(){return c},o.rewind=function(){if(o.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var t=c;return c=void 0,s=[],t};var a=o.prototype;return a.UNSAFE_componentWillMount=function(){s.push(this),f()},a.componentDidUpdate=function(){f()},a.componentWillUnmount=function(){var t=s.indexOf(this);s.splice(t,1),f()},a.render=function(){return i.createElement(r,this.props)},o}(o.PureComponent);return a(l,"displayName","SideEffect("+function(t){return t.displayName||t.name||"Component"}(r)+")"),a(l,"canUseDOM",u),l}}},521:function(t,e){var n="undefined"!=typeof Element,r="function"==typeof Map,o="function"==typeof Set,i="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function a(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(t.constructor!==e.constructor)return!1;var u,c,s,f;if(Array.isArray(t)){if((u=t.length)!=e.length)return!1;for(c=u;0!=c--;)if(!a(t[c],e[c]))return!1;return!0}if(r&&t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(f=t.entries();!(c=f.next()).done;)if(!e.has(c.value[0]))return!1;for(f=t.entries();!(c=f.next()).done;)if(!a(c.value[1],e.get(c.value[0])))return!1;return!0}if(o&&t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(f=t.entries();!(c=f.next()).done;)if(!e.has(c.value[0]))return!1;return!0}if(i&&ArrayBuffer.isView(t)&&ArrayBuffer.isView(e)){if((u=t.length)!=e.length)return!1;for(c=u;0!=c--;)if(t[c]!==e[c])return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();if((u=(s=Object.keys(t)).length)!==Object.keys(e).length)return!1;for(c=u;0!=c--;)if(!Object.prototype.hasOwnProperty.call(e,s[c]))return!1;if(n&&t instanceof Element)return!1;for(c=u;0!=c--;)if(("_owner"!==s[c]&&"__v"!==s[c]&&"__o"!==s[c]||!t.$$typeof)&&!a(t[s[c]],e[s[c]]))return!1;return!0}return t!=t&&e!=e}t.exports=function(t,e){try{return a(t,e)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},528:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.useDocVersionSuggestions=e.useActiveDocContext=e.useActiveVersion=e.useLatestVersion=e.useVersions=e.useActivePlugin=void 0;var r=n(313),o=n(529),i=n(530),a=function(t){return o.usePluginData("docusaurus-plugin-content-docs",t)};e.useActivePlugin=function(t){void 0===t&&(t={});var e=o.useAllPluginInstancesData("docusaurus-plugin-content-docs"),n=r.useLocation().pathname;return i.getActivePlugin(e,n,t)},e.useVersions=function(t){return a(t).versions},e.useLatestVersion=function(t){var e=a(t);return i.getLatestVersion(e)},e.useActiveVersion=function(t){var e=a(t),n=r.useLocation().pathname;return i.getActiveVersion(e,n)},e.useActiveDocContext=function(t){var e=a(t),n=r.useLocation().pathname;return i.getActiveDocContext(e,n)},e.useDocVersionSuggestions=function(t){var e=a(t),n=r.useLocation().pathname;return i.getDocVersionSuggestions(e,n)}},529:function(t,e,n){"use strict";n.r(e),n.d(e,"default",(function(){return o})),n.d(e,"useAllPluginInstancesData",(function(){return i})),n.d(e,"usePluginData",(function(){return a}));var r=n(303);function o(){var t=Object(r.a)().globalData;if(!t)throw new Error("Docusaurus global data not found");return t}function i(t){var e=o()[t];if(!e)throw new Error("Docusaurus plugin global data not found for pluginName="+t);return e}function a(t,e){void 0===e&&(e="default");var n=i(t)[e];if(!n)throw new Error("Docusaurus plugin global data not found for pluginName="+t+" and pluginId="+e);return n}},530:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getDocVersionSuggestions=e.getActiveDocContext=e.getActiveVersion=e.getLatestVersion=e.getActivePlugin=void 0;var r=n(313);e.getActivePlugin=function(t,e,n){void 0===n&&(n={});var o=Object.entries(t).find((function(t){t[0];var n=t[1];return!!r.matchPath(e,{path:n.path,exact:!1,strict:!1})})),i=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!i&&n.failfast)throw new Error("Can't find active docs plugin for pathname="+e+", while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: "+Object.values(t).map((function(t){return t.path})).join(", "));return i},e.getLatestVersion=function(t){return t.versions.find((function(t){return t.isLast}))},e.getActiveVersion=function(t,n){var o=e.getLatestVersion(t);return[].concat(t.versions.filter((function(t){return t!==o})),[o]).find((function(t){return!!r.matchPath(n,{path:t.path,exact:!1,strict:!1})}))},e.getActiveDocContext=function(t,n){var o,i,a=e.getActiveVersion(t,n),u=null==a?void 0:a.docs.find((function(t){return!!r.matchPath(n,{path:t.path,exact:!0,strict:!1})}));return{activeVersion:a,activeDoc:u,alternateDocVersions:u?(o=u.id,i={},t.versions.forEach((function(t){t.docs.forEach((function(e){e.id===o&&(i[t.name]=e)}))})),i):{}}},e.getDocVersionSuggestions=function(t,n){var r=e.getLatestVersion(t),o=e.getActiveDocContext(t,n),i=o.activeVersion!==r;return{latestDocSuggestion:i?null==o?void 0:o.alternateDocVersions[r.name]:void 0,latestVersionSuggestion:i?r:void 0}}}}]); \ No newline at end of file diff --git a/docs/10172759.172d1510.js b/docs/10172759.172d1510.js new file mode 100644 index 0000000000..c101b21a24 --- /dev/null +++ b/docs/10172759.172d1510.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{302:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),p=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=p(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),s=p(n),b=r,m=s["".concat(i,".").concat(b)]||s[b]||f[b]||o;return n?a.a.createElement(m,c(c({ref:t},l),{},{components:n})):a.a.createElement(m,c({ref:t},l))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=b;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),u=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):p(p({},t),e)),n},s=function(e){var t=u(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),s=u(n),f=r,b=s["".concat(i,".").concat(f)]||s[f]||m[f]||o;return n?a.a.createElement(b,p(p({ref:t},l),{},{components:n})):a.a.createElement(b,p({ref:t},l))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=f;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p.mdxType="string"==typeof e?e:r,i[1]=p;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=o.a.createContext({}),s=function(e){var t=o.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=s(e.components);return o.a.createElement(p.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},m=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(r),m=n,b=u["".concat(i,".").concat(m)]||u[m]||f[m]||a;return r?o.a.createElement(b,c(c({ref:t},p),{},{components:r})):o.a.createElement(b,c({ref:t},p))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var p=2;p=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=o.a.createContext({}),s=function(e){var t=o.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=s(e.components);return o.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},f=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=s(n),f=r,b=u["".concat(l,".").concat(f)]||u[f]||m[f]||a;return n?o.a.createElement(b,i(i({ref:t},p),{},{components:n})):o.a.createElement(b,i({ref:t},p))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,l=new Array(a);l[0]=f;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:r,l[1]=i;for(var p=2;p=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=r.a.createContext({}),p=function(e){var t=r.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=p(e.components);return r.a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},m=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),d=p(n),m=a,v=d["".concat(o,".").concat(m)]||d[m]||u[m]||i;return n?r.a.createElement(v,l(l({ref:t},s),{},{components:n})):r.a.createElement(v,l({ref:t},s))}));function v(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),u=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=u(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},v=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),d=u(r),v=n,b=d["".concat(o,".").concat(v)]||d[v]||p[v]||i;return r?a.a.createElement(b,l(l({ref:t},s),{},{components:r})):a.a.createElement(b,l({ref:t},s))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=v;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,o[1]=l;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),p=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=p(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),s=p(r),d=n,m=s["".concat(i,".").concat(d)]||s[d]||f[d]||o;return r?a.a.createElement(m,c(c({ref:t},l),{},{components:r})):a.a.createElement(m,c({ref:t},l))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),u=s(r),d=n,f=u["".concat(i,".").concat(d)]||u[d]||m[d]||o;return r?a.a.createElement(f,c(c({ref:t},l),{},{components:r})):a.a.createElement(f,c({ref:t},l))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),p=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=p(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=p(r),d=n,b=s["".concat(i,".").concat(d)]||s[d]||f[d]||o;return r?a.a.createElement(b,c(c({ref:t},u),{},{components:r})):a.a.createElement(b,c({ref:t},u))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var u=2;u=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),u=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=u(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),s=u(n),d=r,f=s["".concat(i,".").concat(d)]||s[d]||m[d]||o;return n?a.a.createElement(f,c(c({ref:t},p),{},{components:n})):a.a.createElement(f,c({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var p=2;p=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),c=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},f=function(e){var t=c(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},p=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),f=c(n),p=r,d=f["".concat(s,".").concat(p)]||f[p]||b[p]||o;return n?a.a.createElement(d,i(i({ref:t},u),{},{components:n})):a.a.createElement(d,i({ref:t},u))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,s=new Array(o);s[0]=p;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:r,s[1]=i;for(var u=2;u 0.5 else 'BoxMultiplySolid'),\n notifications=('Off' if random.random() > 0.5 else 'On'),\n created=fake.iso8601()) for i in range(100)\n]\n\n# Create columns for our issue table.\ncolumns = [\n ui.table_column(name='text', label='Issue', sortable=True, searchable=True, max_width='300'),\n ui.table_column(name='status', label='Status', filterable=True),\n ui.table_column(name='notifications', label='Notifications', filterable=True),\n ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),\n ui.table_column(name='views', label='Views', sortable=True, data_type='number'),\n ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),\n ui.table_column(name='created', label='Created', sortable=True, data_type='time'),\n]\n\n\n@app('/demo')\nasync def serve(q: Q):\n q.page['form'] = ui.form_card(box='1 1 -1 11', items=[\n ui.table(\n name='issues',\n columns=columns,\n rows=[ui.table_row(\n name=issue.id,\n cells=[issue.text, issue.status, issue.notifications, issue.icon,\n str(issue.views), issue.progress, issue.created]\n ) for issue in issues],\n groupable=True,\n downloadable=True,\n resettable=True,\n height='800px'\n )\n ])\n await q.page.save()\n")),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(o.b)("a",{href:Object(s.a)("docs/examples/tags#table")},"table")))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/docs/135cee2a.aeec546e.js b/docs/135cee2a.aeec546e.js deleted file mode 100644 index afdbaa2725..0000000000 --- a/docs/135cee2a.aeec546e.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{300:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),u=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=u(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,s=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=u(n),m=r,f=p["".concat(o,".").concat(m)]||p[m]||b[m]||s;return n?a.a.createElement(f,i(i({ref:t},c),{},{components:n})):a.a.createElement(f,i({ref:t},c))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=n.length,o=new Array(s);o[0]=m;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:r,o[1]=i;for(var c=2;c 0.5 else 'BoxMultiplySolid'),\n notifications=('Off' if random.random() > 0.5 else 'On'),\n created=fake.iso8601()) for i in range(100)\n]\n\n# Create columns for our issue table.\ncolumns = [\n ui.table_column(name='text', label='Issue', sortable=True, searchable=True, max_width='300'),\n ui.table_column(name='status', label='Status', filterable=True),\n ui.table_column(name='notifications', label='Notifications', filterable=True),\n ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),\n ui.table_column(name='views', label='Views', sortable=True, data_type='number'),\n ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),\n ui.table_column(name='created', label='Created', sortable=True, data_type='time'),\n]\n\n\n@app('/demo')\nasync def serve(q: Q):\n q.page['form'] = ui.form_card(box='1 1 -1 11', items=[\n ui.table(\n name='issues',\n columns=columns,\n rows=[ui.table_row(\n name=issue.id,\n cells=[issue.text, issue.status, issue.notifications, issue.icon,\n str(issue.views), issue.progress, issue.created]\n ) for issue in issues],\n groupable=True,\n downloadable=True,\n resettable=True,\n height='800px'\n )\n ])\n await q.page.save()\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/docs/1375ade1.34549b25.js b/docs/1375ade1.34549b25.js deleted file mode 100644 index 141214f540..0000000000 --- a/docs/1375ade1.34549b25.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{300:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m}));var a=n(0),i=n.n(a);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=i.a.createContext({}),s=function(e){var t=i.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},b=function(e){var t=s(e.components);return i.a.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},u=i.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,o=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),b=s(n),u=a,m=b["".concat(o,".").concat(u)]||b[u]||d[u]||r;return n?i.a.createElement(m,l(l({ref:t},c),{},{components:n})):i.a.createElement(m,l({ref:t},c))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=u;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var c=2;c")," command can be used to launch a new instance of that app.\nThe ",Object(r.b)("inlineCode",{parentName:"p"},"-v")," flag can be used with ",Object(r.b)("inlineCode",{parentName:"p"},"app run")," to specify app instance visibility settings."),Object(r.b)("pre",null,Object(r.b)("code",Object(a.a)({parentName:"pre"},{className:"language-sh"}),"$ h2o app run bcd543210-1111-1111-1111-0123456789ab\nID 22222222-3333-4444-5555-666666666666\nURL https://22222222-3333-4444-5555-666666666666.wave.h2o.ai\n")),Object(r.b)("h3",{id:"publishing-an-app-for-others-to-see-and-launch"},"Publishing an app for others to see and launch"),Object(r.b)("p",null,"Just run ",Object(r.b)("inlineCode",{parentName:"p"},"h2o bundle import")," in your app git repository. This will automatically package your\ncurrent directory into a ",Object(r.b)("inlineCode",{parentName:"p"},".wave")," package and import it into the platform."),Object(r.b)("p",null,"If you set the visibility to ",Object(r.b)("inlineCode",{parentName:"p"},"ALL_USERS")," (via the ",Object(r.b)("inlineCode",{parentName:"p"},"-v")," flag), others will be able use ",Object(r.b)("inlineCode",{parentName:"p"},"h2o app run"),"\nor the UI to launch the app."),Object(r.b)("p",null,"Note: the name-version combination from your ",Object(r.b)("inlineCode",{parentName:"p"},"app.toml")," has to be unique and the platform will reject\nthe request if such combination already exists. Therefore, you need to update the version in ",Object(r.b)("inlineCode",{parentName:"p"},"app.toml"),"\nbefore each run."),Object(r.b)("pre",null,Object(r.b)("code",Object(a.a)({parentName:"pre"},{className:"language-sh"}),"$ h2o bundle import -v ALL_USERS\nID bcd543210-1111-1111-1111-0123456789ab\nTitle Peak\nVersion 0.1.2\nCategory Healthcare\nCreated At 2020-10-13 06:28:03.050226 +0000 UTC\nUpdated At 2020-10-13 06:28:03.050226 +0000 UTC\nOwner user1@h2o.ai\nVisibility ALL_USERS\nDescription Forecast of COVID-19 spread\nTags\n")),Object(r.b)("h3",{id:"running-an-app-under-development"},"Running an app under development"),Object(r.b)("p",null,"Just run ",Object(r.b)("inlineCode",{parentName:"p"},"h2o bundle deploy")," in your app git repository. This will automatically package your\ncurrent directory into a ",Object(r.b)("inlineCode",{parentName:"p"},".wave")," package, import it into the platform, and run it."),Object(r.b)("p",null,'In the output you will be able to find a URL where you can reach the instance, or visit\nthe "My Instances" in the UI.'),Object(r.b)("p",null,"Note: the CLI will auto-generate the version so that you can keep executing this without worrying about\nversion conflicts, just don't forget to clean up old instances/versions."),Object(r.b)("pre",null,Object(r.b)("code",Object(a.a)({parentName:"pre"},{className:"language-sh"}),"$ h2o bundle deploy\nID bcd543210-1111-1111-1111-0123456789ab\nTitle Peak\nVersion 0.1.2-20201013062803\nCategory Healthcare\nCreated At 2020-10-13 06:28:03.050226 +0000 UTC\nUpdated At 2020-10-13 06:28:03.050226 +0000 UTC\nOwner user1@h2o.ai\nVisibility PRIVATE\nDescription Forecast of COVID-19 spread\nTags\nID 22222222-3333-4444-5555-666666666666\nURL https://22222222-3333-4444-5555-666666666666.wave.h2o.ai\n")),Object(r.b)("h3",{id:"getting-the-logs-of-a-running-app-instance"},"Getting the logs of a running app instance"),Object(r.b)("p",null,"Just run ",Object(r.b)("inlineCode",{parentName:"p"},"h2o instance logs"),", use the flag ",Object(r.b)("inlineCode",{parentName:"p"},"-f")," (",Object(r.b)("inlineCode",{parentName:"p"},"--follow"),") to tail the log."),Object(r.b)("pre",null,Object(r.b)("code",Object(a.a)({parentName:"pre"},{className:"language-sh"}),'$ h2o instance logs c22222222-3333-4444-5555-666666666666\n...\n2020/10/27 16:16:34 #\n2020/10/27 16:16:34 # \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n2020/10/27 16:16:34 # \u2502 \u250c \u250c \u250c\u2500\u2500\u2510 \u250c \u250c \u250c\u2500\u2500\u2510 \u2502 H2O Wave\n2020/10/27 16:16:34 # \u2502 \u2502 \u250c\u2500\u2500\u2518 \u2502\u2500\u2500\u2502 \u2502 \u2502 \u2514\u2510 \u2502 (version) (build)\n2020/10/27 16:16:34 # \u2502 \u2514\u2500\u2518 \u2518 \u2518 \u2514\u2500\u2500\u2518 \u2514\u2500\u2518 \u2502 \xa9 2020 H2O.ai, Inc.\n2020/10/27 16:16:34 # \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n2020/10/27 16:16:34 #\n2020/10/27 16:16:34 # {"address":":10101","t":"listen","webroot":"/wave/www"}\n2020/10/27 16:16:34 # {"host":"ws://127.0.0.1:10102","route":"/","t":"relay"}\n...\n')),Object(r.b)("h3",{id:"running-the-app-in-cloud-like-environment-locally"},"Running the app in cloud-like environment locally"),Object(r.b)("p",null,"Just run ",Object(r.b)("inlineCode",{parentName:"p"},"h2o exec"),". This will bundle the app in a temporary ",Object(r.b)("inlineCode",{parentName:"p"},".wave")," and launch it locally\nusing our platform docker image."),Object(r.b)("p",null,"Note that this requires that you have docker installed and that you have access to the docker image."),Object(r.b)("p",null,"Then navigate to ",Object(r.b)("inlineCode",{parentName:"p"},"http://localhost:10101/"),"."),Object(r.b)("pre",null,Object(r.b)("code",Object(a.a)({parentName:"pre"},{className:"language-sh"}),'$ h2o exec\n{"level":"info","log_level":"debug","url":"file:///wave_bundle/q-peak.0.1.2.wave","app_root":"/app","venv_root":"/resources","server_path":"/wave/wave","py_module":"peak","tmp":"/tmp","startup_server":true,"version":"latest-20200929","time":"2020-10-13T06:42:21Z","message":"configuration"}\n{"level":"info","port":":10101","time":"2020-10-13T06:42:21Z","message":"starting launcher server"}\n{"level":"info","executable":"/wave/wave","time":"2020-10-13T06:42:21Z","message":"wave executable found"}\n...\n')),Object(r.b)("h3",{id:"updating-app-visibility"},"Updating App Visibility"),Object(r.b)("p",null,"The ",Object(r.b)("inlineCode",{parentName:"p"},"h2o app update -v ")," command can be used to modify an existing app's visibility."),Object(r.b)("p",null,"Authors who publish a new version of an app may want to de-list the old version. It is not possible\nto remove an app if there are instances running, as the data may still need to be available.\nThe preferred method to de-list previous versions is to modify the visibility setting to ",Object(r.b)("inlineCode",{parentName:"p"},"PRIVATE"),"."),Object(r.b)("h3",{id:"updating-instance-visibility"},"Updating Instance Visibility"),Object(r.b)("p",null,"The ",Object(r.b)("inlineCode",{parentName:"p"},"h2o instance update -v ")," command, much like the ",Object(r.b)("inlineCode",{parentName:"p"},"app")," version,\ncan be used to modify an existing running instance's visibility setting."),Object(r.b)("h3",{id:"managing-app-tags"},"Managing App Tags"),Object(r.b)("p",null,"The ",Object(r.b)("inlineCode",{parentName:"p"},"h2o tag [assign, get, list, remove, update]")," commands let users see and, when authorized,\nmanage available app tags.\nApp tag configuration includes of name/title, RGB color, description, and ACLs\n(see ",Object(r.b)("a",Object(a.a)({parentName:"p"},{href:"basic-concepts#authorization"}),"Authorization")," for details on ACLs and semantics of the related\ntag attributes)."),Object(r.b)("h2",{id:"how-to"},"How-To"),Object(r.b)("h3",{id:"updating-app-to-a-newer-version"},"Updating App To a Newer Version"),Object(r.b)("p",null,'The "Catalog" page shows apps with visibility ',Object(r.b)("inlineCode",{parentName:"p"},"ALL_USERS"),", so rolling out a new app version is done by:"),Object(r.b)("ol",null,Object(r.b)("li",{parentName:"ol"},Object(r.b)("a",Object(a.a)({parentName:"li"},{href:"#publishing-an-app-for-others-to-see-and-launch"}),"importing a new version")," of the app as ",Object(r.b)("inlineCode",{parentName:"li"},"PRIVATE")),Object(r.b)("li",{parentName:"ol"},"testing the new version"),Object(r.b)("li",{parentName:"ol"},Object(r.b)("a",Object(a.a)({parentName:"li"},{href:"#updating-app-visibility"}),"changing the visibility")," of the new version to ",Object(r.b)("inlineCode",{parentName:"li"},"ALL USERS")),Object(r.b)("li",{parentName:"ol"},"(optional) ",Object(r.b)("a",Object(a.a)({parentName:"li"},{href:"#updating-app-visibility"}),"changing the visibility")," of the old version to ",Object(r.b)("inlineCode",{parentName:"li"},"PRIVATE"))),Object(r.b)("p",null,"This is based on the ",Object(r.b)("a",Object(a.a)({parentName:"p"},{href:"basic-concepts#app"}),"Basic Concepts"),":"),Object(r.b)("blockquote",null,Object(r.b)("p",{parentName:"blockquote"},"Apps are mostly ",Object(r.b)("strong",{parentName:"p"},"immutable"),', meaning once uploaded, they cannot be changed (except for visibility).\nTo "update" an app, one has to upload a new version.')),Object(r.b)("p",null,"and:"),Object(r.b)("blockquote",null,Object(r.b)("p",{parentName:"blockquote"},"Internally, H2O AI Cloud treats every app name/version combination as a separate entity.\nThe UI then uses the app name to link several versions together; however each can have different\ntitle, description, owner, instances, etc.")),Object(r.b)("p",null,"An important corollary is that ",Object(r.b)("strong",{parentName:"p"},"instances of the old app version are not affected by the update"),"\n(as they are completely separate from the new app version). The update only prevents users from\nstarting new instances of the old version."),Object(r.b)("h3",{id:"utilizing-secrets"},"Utilizing Secrets"),Object(r.b)("p",null,"Developers can pass secrets registered with the platform to apps, exposed as environment variables\nusing the ",Object(r.b)("inlineCode",{parentName:"p"},"[[Env]]")," section within the ",Object(r.b)("inlineCode",{parentName:"p"},"app.toml")," or as files using the ",Object(r.b)("inlineCode",{parentName:"p"},"[[File]]")," section."),Object(r.b)("p",null,"This allows developers to link their apps with external dependencies (e.g., S3, Driverless AI)\nsecurely, while allowing easy overrides for local development or deployments outside the platform."),Object(r.b)("div",{className:"admonition admonition-note alert alert--secondary"},Object(r.b)("div",Object(a.a)({parentName:"div"},{className:"admonition-heading"}),Object(r.b)("h5",{parentName:"div"},Object(r.b)("span",Object(a.a)({parentName:"h5"},{className:"admonition-icon"}),Object(r.b)("svg",Object(a.a)({parentName:"span"},{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"16",viewBox:"0 0 14 16"}),Object(r.b)("path",Object(a.a)({parentName:"svg"},{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})))),"note")),Object(r.b)("div",Object(a.a)({parentName:"div"},{className:"admonition-content"}),Object(r.b)("p",{parentName:"div"},"There is currently not a self-service option for developers to add their own secrets,\nnor is there an API for listing the available secrets.\nSecrets are currently managed by Admins.\nContact your admins for the available secrets or for adding a new one."),Object(r.b)("p",{parentName:"div"},"We are actively working on improving this."))),Object(r.b)("h3",{id:"app-route"},"App Route"),Object(r.b)("p",null,"While it is not a strict requirement, since the platform deploys each app with its own Wave server,\nwe advise that apps use ",Object(r.b)("inlineCode",{parentName:"p"},"/")," as their main route:"),Object(r.b)("pre",null,Object(r.b)("code",Object(a.a)({parentName:"pre"},{className:"language-python"}),"@app('/')\nasync def serve(q: Q):\n pass\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/docs/1486e3bc.48ec33ce.js b/docs/1486e3bc.48ec33ce.js new file mode 100644 index 0000000000..5c9ebb5bd6 --- /dev/null +++ b/docs/1486e3bc.48ec33ce.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{302:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return f}));var r=n(0),o=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=o.a.createContext({}),l=function(e){var t=o.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},u=function(e){var t=l(e.components);return o.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},m=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=l(n),m=r,f=u["".concat(i,".").concat(m)]||u[m]||d[m]||a;return n?o.a.createElement(f,s(s({ref:t},p),{},{components:n})):o.a.createElement(f,s({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:r,i[1]=s;for(var p=2;p\n\n\n - Page Not Found | H2O Wave - - - + Page Not Found | H2O Wave + + +
-

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - - +

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+ + + diff --git a/docs/4104f38c.219be94a.js b/docs/4104f38c.219be94a.js new file mode 100644 index 0000000000..e4c34c8987 --- /dev/null +++ b/docs/4104f38c.219be94a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{125:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return l})),n.d(t,"rightToc",(function(){return u})),n.d(t,"default",(function(){return s}));var r=n(2),a=n(6),o=(n(0),n(302)),i=n(304),c={title:"Plot / Vega-lite / Form",keywords:["form","plot","vega"]},l={unversionedId:"examples/plot-vegalite-form",id:"examples/plot-vegalite-form",isDocsHomePage:!1,title:"Plot / Vega-lite / Form",description:"Display a Vega-lite plot inside a form card.",source:"@site/docs/examples/plot-vegalite-form.md",slug:"/examples/plot-vegalite-form",permalink:"/wave/docs/examples/plot-vegalite-form",editUrl:"https://github.com/h2oai/wave/edit/master/website/docs/examples/plot-vegalite-form.md",version:"current",sidebar:"someSidebar",previous:{title:"Plot / Vega-lite / Update",permalink:"/wave/docs/examples/plot-vegalite-update"},next:{title:"Plot / Altair",permalink:"/wave/docs/examples/plot-altair"}},u=[],p={rightToc:u};function s(e){var t=e.components,c=Object(a.a)(e,["components"]);return Object(o.b)("wrapper",Object(r.a)({},p,c,{components:t,mdxType:"MDXLayout"}),Object(o.b)("p",null,"Display a Vega-lite plot inside a form card."),Object(o.b)("div",{className:"cover",style:{backgroundImage:"url("+n(366).default+")"}}),Object(o.b)("pre",null,Object(o.b)("code",Object(r.a)({parentName:"pre"},{className:"language-py"}),'from h2o_wave import site, data, ui\nimport random\nimport time\n\npage = site[\'/demo\']\n\nspec = \'\'\'\n{\n "description": "A simple bar plot with embedded data.",\n "mark": "bar",\n "encoding": {\n "x": {"field": "a", "type": "ordinal"},\n "y": {"field": "b", "type": "quantitative"}\n }\n}\n\'\'\'\n\n\n# Get data rows for our plot.\n# Typically, this data would be read from some external data source.\ndef poll():\n return [\n ["A", rnd()], ["B", rnd()], ["C", rnd()],\n ["D", rnd()], ["E", rnd()], ["F", rnd()],\n ["G", rnd()], ["H", rnd()], ["I", rnd()]\n ]\n\n\n# Generate random datum between 1 and 100\ndef rnd():\n return random.randint(1, 100)\n\n\npage[\'example\'] = ui.form_card(\n box=\'1 1 2 -1\',\n items=[\n ui.text_xl(\'Example 1\'),\n ui.vega_visualization(\n specification=spec,\n data=data(fields=["a", "b"], rows=poll(), pack=True),\n ),\n ui.text_xl(\'Example 2\'),\n ui.vega_visualization(\n specification=spec,\n data=data(fields=["a", "b"], rows=poll(), pack=True),\n ),\n ui.text_xl(\'Example 3\'),\n ui.vega_visualization(\n specification=spec,\n data=data(fields=["a", "b"], rows=poll(), pack=True),\n ),\n ],\n)\n\npage.save()\n')),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(o.b)("a",{href:Object(i.a)("docs/examples/tags#form")},"form")," \u2002",Object(o.b)("a",{href:Object(i.a)("docs/examples/tags#plot")},"plot")," \u2002",Object(o.b)("a",{href:Object(i.a)("docs/examples/tags#vega")},"vega")))}s.isMDXComponent=!0},302:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),p=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=p(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=p(n),f=r,m=s["".concat(i,".").concat(f)]||s[f]||d[f]||o;return n?a.a.createElement(m,c(c({ref:t},u),{},{components:n})):a.a.createElement(m,c({ref:t},u))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var u=2;u=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),s=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=s(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),d=s(n),m=r,f=d["".concat(i,".").concat(m)]||d[m]||u[m]||o;return n?a.a.createElement(f,l(l({ref:t},c),{},{components:n})):a.a.createElement(f,l({ref:t},c))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=m;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var c=2;c\n
  • Spam
  • \n
  • Ham
  • \n
  • Eggs
  • \n\n'''\n\npage['example'] = ui.form_card(\n box='1 1 2 2',\n items=[\n ui.markup(content=menu)\n ]\n)\npage.save()\n")))}s.isMDXComponent=!0},300:function(e,r,t){"use strict";t.d(r,"a",(function(){return m})),t.d(r,"b",(function(){return f}));var n=t(0),a=t.n(n);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function u(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=a.a.createContext({}),s=function(e){var r=a.a.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},m=function(e){var r=s(e.components);return a.a.createElement(p.Provider,{value:r},e.children)},c={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},v=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,u=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),m=s(t),v=n,f=m["".concat(u,".").concat(v)]||m[v]||c[v]||o;return t?a.a.createElement(f,i(i({ref:r},p),{},{components:t})):a.a.createElement(f,i({ref:r},p))}));function f(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,u=new Array(o);u[0]=v;var i={};for(var l in r)hasOwnProperty.call(r,l)&&(i[l]=r[l]);i.originalType=e,i.mdxType="string"==typeof e?e:n,u[1]=i;for(var p=2;p\n
  • Spam
  • \n
  • Ham
  • \n
  • Eggs
  • \n\n'''\n\npage['example'] = ui.form_card(\n box='1 1 2 2',\n items=[\n ui.markup(content=menu)\n ]\n)\npage.save()\n")),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(o.b)("a",{href:Object(u.a)("docs/examples/tags#form")},"form")," \u2002",Object(o.b)("a",{href:Object(u.a)("docs/examples/tags#html")},"html")," \u2002",Object(o.b)("a",{href:Object(u.a)("docs/examples/tags#markup")},"markup")))}p.isMDXComponent=!0},302:function(e,t,r){"use strict";r.d(t,"a",(function(){return p})),r.d(t,"b",(function(){return d}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),c=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=c(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,u=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=c(r),m=n,d=p["".concat(u,".").concat(m)]||p[m]||f[m]||o;return r?a.a.createElement(d,i(i({ref:t},l),{},{components:r})):a.a.createElement(d,i({ref:t},l))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,u=new Array(o);u[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,u[1]=i;for(var l=2;l= 0:\n breakpoint='xs',\n zones=[\n # 80px high header\n ui.zone('header', size='80px'),\n # Use remaining space for content\n ui.zone('content')\n ]\n ),\n ui.layout(\n # If the viewport width >= 768:\n breakpoint='m',\n zones=[\n # 80px high header\n ui.zone('header', size='80px'),\n # Use remaining space for body\n ui.zone('body', direction=ui.ZoneDirection.ROW, zones=[\n # 250px wide sidebar\n ui.zone('sidebar', size='250px'),\n # Use remaining space for content\n ui.zone('content'),\n ]),\n ]\n ),\n ui.layout(\n # If the viewport width >= 1200:\n breakpoint='xl',\n width='1200px',\n zones=[\n # 80px high header\n ui.zone('header', size='80px'),\n # Use remaining space for body\n ui.zone('body', direction=ui.ZoneDirection.ROW, zones=[\n # 300px wide sidebar\n ui.zone('sidebar', size='300px'),\n # Use remaining space for other widgets\n ui.zone('other', zones=[\n # Use one half for charts\n ui.zone('charts', direction=ui.ZoneDirection.ROW),\n # Use other half for content\n ui.zone('content'),\n ]),\n ])\n ]\n )\n])\n\npage['header'] = ui.header_card(\n # Place card in the header zone, regardless of viewport size.\n box='header',\n title='Lorem Ipsum',\n subtitle='Excepteur sint occaecat cupidatat',\n nav=[\n ui.nav_group('Menu', items=[\n ui.nav_item(name='#menu/spam', label='Spam'),\n ui.nav_item(name='#menu/ham', label='Ham'),\n ui.nav_item(name='#menu/eggs', label='Eggs'),\n ]),\n ui.nav_group('Help', items=[\n ui.nav_item(name='#about', label='About'),\n ui.nav_item(name='#support', label='Support'),\n ])\n ],\n)\npage['controls'] = ui.markdown_card(\n # If the viewport width >= 0, place in content zone.\n # If the viewport width >= 768, place in sidebar zone.\n # If the viewport width >= 1200, place in sidebar zone.\n box=ui.boxes('content', 'sidebar', 'sidebar'),\n title='Controls',\n content='',\n)\npage['chart1'] = ui.markdown_card(\n box=ui.boxes(\n # If the viewport width >= 0, place as second item in content zone.\n ui.box(zone='content', order=2),\n # If the viewport width >= 768, place in content zone.\n 'content',\n # If the viewport width >= 1200, place as first item in charts zone, use 2 parts of available space.\n ui.box(zone='charts', order=1, size=2),\n ),\n title='Chart 1',\n content='',\n)\npage['chart2'] = ui.markdown_card(\n box=ui.boxes(\n # If the viewport width >= 0, place as third item in content zone.\n ui.box(zone='content', order=3),\n # If the viewport width >= 768, place as second item in content zone.\n ui.box(zone='content', order=2),\n # If the viewport width >= 1200, place as second item in charts zone, use 1 part of available space.\n ui.box(zone='charts', order=2, size=1),\n ),\n title='Chart 2',\n content='',\n)\npage['content'] = ui.markdown_card(\n box=ui.boxes(\n # If the viewport width >= 0, place as fourth item in content zone.\n ui.box(zone='content', order=4),\n # If the viewport width >= 768, place as third item in content zone.\n ui.box(zone='content', order=3),\n # If the viewport width >= 1200, place in content zone.\n 'content',\n ),\n title='Content',\n content='',\n)\n\npage.save()\n")))}u.isMDXComponent=!0},300:function(e,n,t){"use strict";t.d(n,"a",(function(){return l})),t.d(n,"b",(function(){return b}));var o=t(0),r=t.n(o);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function c(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p=r.a.createContext({}),u=function(e){var n=r.a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},l=function(e){var n=u(e.components);return r.a.createElement(p.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},m=r.a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),l=u(t),m=o,b=l["".concat(a,".").concat(m)]||l[m]||d[m]||i;return t?r.a.createElement(b,c(c({ref:n},p),{},{components:t})):r.a.createElement(b,c({ref:n},p))}));function b(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,a=new Array(i);a[0]=m;var c={};for(var s in n)hasOwnProperty.call(n,s)&&(c[s]=n[s]);c.originalType=e,c.mdxType="string"==typeof e?e:o,a[1]=c;for(var p=2;p= 0:\n breakpoint='xs',\n zones=[\n # 80px high header\n ui.zone('header', size='80px'),\n # Use remaining space for content\n ui.zone('content')\n ]\n ),\n ui.layout(\n # If the viewport width >= 768:\n breakpoint='m',\n zones=[\n # 80px high header\n ui.zone('header', size='80px'),\n # Use remaining space for body\n ui.zone('body', direction=ui.ZoneDirection.ROW, zones=[\n # 250px wide sidebar\n ui.zone('sidebar', size='250px'),\n # Use remaining space for content\n ui.zone('content'),\n ]),\n ui.zone('footer'),\n ]\n ),\n ui.layout(\n # If the viewport width >= 1200:\n breakpoint='xl',\n width='1200px',\n zones=[\n # 80px high header\n ui.zone('header', size='80px'),\n # Use remaining space for body\n ui.zone('body', direction=ui.ZoneDirection.ROW, zones=[\n # 300px wide sidebar\n ui.zone('sidebar', size='300px'),\n # Use remaining space for other widgets\n ui.zone('other', zones=[\n # Use one half for charts\n ui.zone('charts', direction=ui.ZoneDirection.ROW),\n # Use other half for content\n ui.zone('content'),\n ]),\n ]),\n ui.zone('footer'),\n ]\n )\n])\n\npage['header'] = ui.header_card(\n # Place card in the header zone, regardless of viewport size.\n box='header',\n title='Lorem Ipsum',\n subtitle='Excepteur sint occaecat cupidatat',\n nav=[\n ui.nav_group('Menu', items=[\n ui.nav_item(name='#menu/spam', label='Spam'),\n ui.nav_item(name='#menu/ham', label='Ham'),\n ui.nav_item(name='#menu/eggs', label='Eggs'),\n ]),\n ui.nav_group('Help', items=[\n ui.nav_item(name='#about', label='About'),\n ui.nav_item(name='#support', label='Support'),\n ])\n ],\n)\npage['controls'] = ui.markdown_card(\n # If the viewport width >= 0, place in content zone.\n # If the viewport width >= 768, place in sidebar zone.\n # If the viewport width >= 1200, place in sidebar zone.\n box=ui.boxes('content', 'sidebar', 'sidebar'),\n title='Controls',\n content=content,\n)\npage['chart1'] = ui.markdown_card(\n box=ui.boxes(\n # If the viewport width >= 0, place as second item in content zone.\n ui.box(zone='content', order=2),\n # If the viewport width >= 768, place in content zone.\n 'content',\n # If the viewport width >= 1200, place as first item in charts zone, use 2 parts of available space.\n ui.box(zone='charts', order=1, size=2),\n ),\n title='Chart 1',\n content=content,\n)\npage['chart2'] = ui.markdown_card(\n box=ui.boxes(\n # If the viewport width >= 0, place as third item in content zone.\n ui.box(zone='content', order=3),\n # If the viewport width >= 768, place as second item in content zone.\n ui.box(zone='content', order=2),\n # If the viewport width >= 1200, place as second item in charts zone, use 1 part of available space.\n ui.box(zone='charts', order=2, size=1),\n ),\n title='Chart 2',\n content=content,\n)\npage['content'] = ui.markdown_card(\n box=ui.boxes(\n # If the viewport width >= 0, place as fourth item in content zone.\n ui.box(zone='content', order=4),\n # If the viewport width >= 768, place as third item in content zone.\n ui.box(zone='content', order=3),\n # If the viewport width >= 1200, place in content zone.\n 'content',\n ),\n title='Content',\n content=content,\n)\npage['footer'] = ui.footer_card(box='footer', caption='(c) 2020 Lowest Common Denominator, Inc. ')\n\npage.save()\n")),Object(i.b)("p",null,Object(i.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(i.b)("a",{href:Object(a.a)("docs/examples/tags#layout")},"layout")," \u2002",Object(i.b)("a",{href:Object(a.a)("docs/examples/tags#responsive")},"responsive")))}l.isMDXComponent=!0},302:function(e,n,t){"use strict";t.d(n,"a",(function(){return l})),t.d(n,"b",(function(){return b}));var o=t(0),r=t.n(o);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function c(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var u=r.a.createContext({}),p=function(e){var n=r.a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},l=function(e){var n=p(e.components);return r.a.createElement(u.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},f=r.a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),l=p(t),f=o,b=l["".concat(a,".").concat(f)]||l[f]||d[f]||i;return t?r.a.createElement(b,c(c({ref:n},u),{},{components:t})):r.a.createElement(b,c({ref:n},u))}));function b(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,a=new Array(i);a[0]=f;var c={};for(var s in n)hasOwnProperty.call(n,s)&&(c[s]=n[s]);c.originalType=e,c.mdxType="string"==typeof e?e:o,a[1]=c;for(var u=2;u=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=r.a.createContext({}),u=function(e){var t=r.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=u(e.components);return r.a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},m=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=u(n),m=a,f=d["".concat(i,".").concat(m)]||d[m]||p[m]||o;return n?r.a.createElement(f,c(c({ref:t},s),{},{components:n})):r.a.createElement(f,c({ref:t},s))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var s=2;s=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),l=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=l(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=l(n),f=r,m=d["".concat(i,".").concat(f)]||d[f]||p[f]||o;return n?a.a.createElement(m,c(c({ref:t},u),{},{components:n})):a.a.createElement(m,c({ref:t},u))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=f;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var u=2;u',id:"cypress",children:[]}]},{value:"Classes",id:"classes",children:[{value:'Cypress ',id:"cypress-1",children:[]}]}],p={rightToc:o};function l(e){var t=e.components,n=Object(s.a)(e,["components"]);return Object(a.b)("wrapper",Object(r.a)({},p,n,{components:t,mdxType:"MDXLayout"}),Object(a.b)("h2",{id:"functions"},"Functions"),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"cypress"},"cypress ",Object(a.b)("a",{name:"h2o_wave.test.cypress"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"cypress"),"(description:\xa0str)"),Object(a.b)("div",{className:"api__description"}))),Object(a.b)("h2",{id:"classes"},"Classes"),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"cypress-1"},"Cypress ",Object(a.b)("a",{name:"h2o_wave.test.Cypress"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"class ",Object(a.b)("span",{class:"ident"},"Cypress")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Represents a Cypress test translator.")),Object(a.b)("h4",{id:"methods"},"Methods"),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api"},Object(a.b)("h4",{id:"run"},"run ",Object(a.b)("a",{name:"h2o_wave.test.Cypress.run"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"run"),"(self, f)"),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Includes all steps from the given test into the current test."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"f")),Object(a.b)("dd",null,"A Python function containing Cypress test steps.")))))))))}l.isMDXComponent=!0},300:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return O}));var r=n(0),s=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(s[n]=e[n]);return s}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}var p=s.a.createContext({}),l=function(e){var t=s.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},b=function(e){var t=l(e.components);return s.a.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return s.a.createElement(s.a.Fragment,{},t)}},d=s.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),b=l(n),d=r,O=b["".concat(c,".").concat(d)]||b[d]||u[d]||a;return n?s.a.createElement(O,i(i({ref:t},p),{},{components:n})):s.a.createElement(O,i({ref:t},p))}));function O(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,c=new Array(a);c[0]=d;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var p=2;p',id:"cypress",children:[]}]},{value:"Classes",id:"classes",children:[{value:'Cypress ',id:"cypress-1",children:[]}]}],p={rightToc:o};function l(e){var t=e.components,n=Object(s.a)(e,["components"]);return Object(a.b)("wrapper",Object(r.a)({},p,n,{components:t,mdxType:"MDXLayout"}),Object(a.b)("h2",{id:"functions"},"Functions"),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"cypress"},"cypress ",Object(a.b)("a",{name:"h2o_wave.test.cypress"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"cypress"),"(description:\xa0str)"),Object(a.b)("div",{className:"api__description"}))),Object(a.b)("h2",{id:"classes"},"Classes"),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"cypress-1"},"Cypress ",Object(a.b)("a",{name:"h2o_wave.test.Cypress"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"class ",Object(a.b)("span",{class:"ident"},"Cypress")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Represents a Cypress test translator.")),Object(a.b)("h4",{id:"methods"},"Methods"),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api"},Object(a.b)("h4",{id:"run"},"run ",Object(a.b)("a",{name:"h2o_wave.test.Cypress.run"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"run"),"(self, f)"),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Includes all steps from the given test into the current test."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"f")),Object(a.b)("dd",null,"A Python function containing Cypress test steps.")))))))))}l.isMDXComponent=!0},302:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return O}));var r=n(0),s=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(s[n]=e[n]);return s}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}var p=s.a.createContext({}),l=function(e){var t=s.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},b=function(e){var t=l(e.components);return s.a.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return s.a.createElement(s.a.Fragment,{},t)}},d=s.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),b=l(n),d=r,O=b["".concat(c,".").concat(d)]||b[d]||u[d]||a;return n?s.a.createElement(O,i(i({ref:t},p),{},{components:n})):s.a.createElement(O,i({ref:t},p))}));function O(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,c=new Array(a);c[0]=d;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var p=2;p=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),p=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=p(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,u=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(n),m=r,b=d["".concat(u,".").concat(m)]||d[m]||l[m]||o;return n?a.a.createElement(b,i(i({ref:t},c),{},{components:n})):a.a.createElement(b,i({ref:t},c))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,u=new Array(o);u[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:r,u[1]=i;for(var c=2;c=0||(a[n]=t[n]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(a[n]=t[n])}return a}var c=a.a.createContext({}),d=function(t){var e=a.a.useContext(c),n=e;return t&&(n="function"==typeof t?t(e):i(i({},e),t)),n},b=function(t){var e=d(t.components);return a.a.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return a.a.createElement(a.a.Fragment,{},e)}},p=a.a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,o=t.originalType,u=t.parentName,c=s(t,["components","mdxType","originalType","parentName"]),b=d(n),p=r,m=b["".concat(u,".").concat(p)]||b[p]||l[p]||o;return n?a.a.createElement(m,i(i({ref:e},c),{},{components:n})):a.a.createElement(m,i({ref:e},c))}));function m(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=n.length,u=new Array(o);u[0]=p;var i={};for(var s in e)hasOwnProperty.call(e,s)&&(i[s]=e[s]);i.originalType=t,i.mdxType="string"==typeof t?t:r,u[1]=i;for(var c=2;c=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=o.a.createContext({}),s=function(e){var r=o.a.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},p=function(e){var r=s(e.components);return o.a.createElement(l.Provider,{value:r},e.children)},f={inlineCode:"code",wrapper:function(e){var r=e.children;return o.a.createElement(o.a.Fragment,{},r)}},m=o.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=s(t),m=n,d=p["".concat(c,".").concat(m)]||p[m]||f[m]||a;return t?o.a.createElement(d,i(i({ref:r},l),{},{components:t})):o.a.createElement(d,i({ref:r},l))}));function d(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var a=t.length,c=new Array(a);c[0]=m;var i={};for(var u in r)hasOwnProperty.call(r,u)&&(i[u]=r[u]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var l=2;l=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=o.a.createContext({}),s=function(e){var r=o.a.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},u=function(e){var r=s(e.components);return o.a.createElement(p.Provider,{value:r},e.children)},m={inlineCode:"code",wrapper:function(e){var r=e.children;return o.a.createElement(o.a.Fragment,{},r)}},f=o.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(t),f=n,d=u["".concat(c,".").concat(f)]||u[f]||m[f]||a;return t?o.a.createElement(d,i(i({ref:r},p),{},{components:t})):o.a.createElement(d,i({ref:r},p))}));function d(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var a=t.length,c=new Array(a);c[0]=f;var i={};for(var l in r)hasOwnProperty.call(r,l)&&(i[l]=r[l]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var p=2;p=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var c=i.a.createContext({}),p=function(e){var t=i.a.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):b(b({},t),e)),a},s=function(e){var t=p(e.components);return i.a.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},u=i.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,r=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),s=p(a),u=n,m=s["".concat(o,".").concat(u)]||s[u]||d[u]||r;return a?i.a.createElement(m,b(b({ref:t},c),{},{components:a})):i.a.createElement(m,b({ref:t},c))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=a.length,o=new Array(r);o[0]=u;var b={};for(var l in t)hasOwnProperty.call(t,l)&&(b[l]=t[l]);b.originalType=e,b.mdxType="string"==typeof e?e:n,o[1]=b;for(var c=2;c=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var c=r.a.createContext({}),p=function(e){var t=r.a.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},d=function(e){var t=p(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},u=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,l=e.parentName,c=b(e,["components","mdxType","originalType","parentName"]),d=p(a),u=n,O=d["".concat(l,".").concat(u)]||d[u]||s[u]||i;return a?r.a.createElement(O,o(o({ref:t},c),{},{components:a})):r.a.createElement(O,o({ref:t},c))}));function O(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=u;var o={};for(var b in t)hasOwnProperty.call(t,b)&&(o[b]=t[b]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var c=2;c=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=a.a.createContext({}),u=function(e){var t=a.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},m=function(e){var t=u(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},l=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),m=u(r),l=n,b=m["".concat(c,".").concat(l)]||m[l]||d[l]||o;return r?a.a.createElement(b,s(s({ref:t},p),{},{components:r})):a.a.createElement(b,s({ref:t},p))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=l;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s.mdxType="string"==typeof e?e:n,c[1]=s;for(var p=2;p=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=o.a.createContext({}),p=function(e){var t=o.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},d=function(e){var t=p(e.components);return o.a.createElement(u.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},l=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=p(r),l=n,b=d["".concat(s,".").concat(l)]||d[l]||m[l]||a;return r?o.a.createElement(b,c(c({ref:t},u),{},{components:r})):o.a.createElement(b,c({ref:t},u))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,s=new Array(a);s[0]=l;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:n,s[1]=c;for(var u=2;u=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=r.a.createContext({}),s=function(e){var t=r.a.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},b=function(e){var t=s(e.components);return r.a.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),b=s(a),d=n,m=b["".concat(i,".").concat(d)]||b[d]||u[d]||o;return a?r.a.createElement(m,c(c({ref:t},l),{},{components:a})):r.a.createElement(m,c({ref:t},l))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=d;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=r.a.createContext({}),s=function(e){var t=r.a.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},b=function(e){var t=s(e.components);return r.a.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),b=s(a),d=n,m=b["".concat(i,".").concat(d)]||b[d]||u[d]||o;return a?r.a.createElement(m,c(c({ref:t},l),{},{components:a})):r.a.createElement(m,c({ref:t},l))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=d;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,c=e.originalType,o=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=s(n),m=r,b=p["".concat(o,".").concat(m)]||p[m]||d[m]||c;return n?a.a.createElement(b,i(i({ref:t},l),{},{components:n})):a.a.createElement(b,i({ref:t},l))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var c=n.length,o=new Array(c);o[0]=m;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i.mdxType="string"==typeof e?e:r,o[1]=i;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),l=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=l(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),d=l(n),f=r,b=d["".concat(c,".").concat(f)]||d[f]||p[f]||o;return n?a.a.createElement(b,i(i({ref:t},s),{},{components:n})):a.a.createElement(b,i({ref:t},s))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,c=new Array(o);c[0]=f;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var s=2;s=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=o.a.createContext({}),u=function(e){var t=o.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):p(p({},t),e)),r},s=function(e){var t=u(e.components);return o.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},m=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),s=u(r),m=n,d=s["".concat(i,".").concat(m)]||s[m]||f[m]||a;return r?o.a.createElement(d,p(p({ref:t},l),{},{components:r})):o.a.createElement(d,p({ref:t},l))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=m;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p.mdxType="string"==typeof e?e:n,i[1]=p;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=o.a.createContext({}),l=function(e){var t=o.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=l(e.components);return o.a.createElement(p.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},m=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),s=l(r),m=n,d=s["".concat(i,".").concat(m)]||s[m]||f[m]||a;return r?o.a.createElement(d,c(c({ref:t},p),{},{components:r})):o.a.createElement(d,c({ref:t},p))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=m;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var p=2;p=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var n=r.a.createContext({}),i=function(e){var a=r.a.useContext(n),t=a;return e&&(t="function"==typeof e?e(a):c(c({},a),e)),t},p=function(e){var a=i(e.components);return r.a.createElement(n.Provider,{value:a},e.children)},m={inlineCode:"code",wrapper:function(e){var a=e.children;return r.a.createElement(r.a.Fragment,{},a)}},d=r.a.forwardRef((function(e,a){var t=e.components,l=e.mdxType,o=e.originalType,s=e.parentName,n=b(e,["components","mdxType","originalType","parentName"]),p=i(t),d=l,u=p["".concat(s,".").concat(d)]||p[d]||m[d]||o;return t?r.a.createElement(u,c(c({ref:a},n),{},{components:t})):r.a.createElement(u,c({ref:a},n))}));function u(e,a){var t=arguments,l=a&&a.mdxType;if("string"==typeof e||l){var o=t.length,s=new Array(o);s[0]=d;var c={};for(var b in a)hasOwnProperty.call(a,b)&&(c[b]=a[b]);c.originalType=e,c.mdxType="string"==typeof e?e:l,s[1]=c;for(var n=2;n=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var u=o.a.createContext({}),l=function(e){var r=o.a.useContext(u),t=r;return e&&(t="function"==typeof e?e(r):a(a({},r),e)),t},p=function(e){var r=l(e.components);return o.a.createElement(u.Provider,{value:r},e.children)},b={inlineCode:"code",wrapper:function(e){var r=e.children;return o.a.createElement(o.a.Fragment,{},r)}},f=o.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,c=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(t),f=n,d=p["".concat(i,".").concat(f)]||p[f]||b[f]||c;return t?o.a.createElement(d,a(a({ref:r},u),{},{components:t})):o.a.createElement(d,a({ref:r},u))}));function d(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var c=t.length,i=new Array(c);i[0]=f;var a={};for(var s in r)hasOwnProperty.call(r,s)&&(a[s]=r[s]);a.originalType=e,a.mdxType="string"==typeof e?e:n,i[1]=a;for(var u=2;u=0||(o[n]=e[n]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=o.a.createContext({}),l=function(e){var r=o.a.useContext(u),n=r;return e&&(n="function"==typeof e?e(r):c(c({},r),e)),n},p=function(e){var r=l(e.components);return o.a.createElement(u.Provider,{value:r},e.children)},b={inlineCode:"code",wrapper:function(e){var r=e.children;return o.a.createElement(o.a.Fragment,{},r)}},A=o.a.forwardRef((function(e,r){var n=e.components,t=e.mdxType,a=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(n),A=t,m=p["".concat(i,".").concat(A)]||p[A]||b[A]||a;return n?o.a.createElement(m,c(c({ref:r},u),{},{components:n})):o.a.createElement(m,c({ref:r},u))}));function m(e,r){var n=arguments,t=r&&r.mdxType;if("string"==typeof e||t){var a=n.length,i=new Array(a);i[0]=A;var c={};for(var s in r)hasOwnProperty.call(r,s)&&(c[s]=r[s]);c.originalType=e,c.mdxType="string"==typeof e?e:t,i[1]=c;for(var u=2;u=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),u=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},l=function(e){var t=u(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),l=u(n),d=r,m=l["".concat(i,".").concat(d)]||l[d]||f[d]||o;return n?a.a.createElement(m,c(c({ref:t},s),{},{components:n})):a.a.createElement(m,c({ref:t},s))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var s=2;s=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),l=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=l(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,p=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=l(n),d=r,m=u["".concat(p,".").concat(d)]||u[d]||f[d]||o;return n?a.a.createElement(m,i(i({ref:t},s),{},{components:n})):a.a.createElement(m,i({ref:t},s))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,p=new Array(o);p[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:r,p[1]=i;for(var s=2;s=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=i.a.createContext({}),u=function(e){var t=i.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},b=function(e){var t=u(e.components);return i.a.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},m=i.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,r=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),b=u(n),m=a,d=b["".concat(r,".").concat(m)]||b[m]||p[m]||o;return n?i.a.createElement(d,s(s({ref:t},l),{},{components:n})):i.a.createElement(d,s({ref:t},l))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,r=new Array(o);r[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,r[1]=s;for(var l=2;l=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=i.a.createContext({}),u=function(e){var t=i.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},b=function(e){var t=u(e.components);return i.a.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},m=i.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,r=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),b=u(n),m=a,d=b["".concat(r,".").concat(m)]||b[m]||p[m]||o;return n?i.a.createElement(d,s(s({ref:t},l),{},{components:n})):i.a.createElement(d,s({ref:t},l))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,r=new Array(o);r[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,r[1]=s;for(var l=2;l=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p=r.a.createContext({}),d=function(e){var n=r.a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},c=function(e){var n=d(e.components);return r.a.createElement(p.Provider,{value:n},e.children)},m={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},u=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=d(t),u=a,f=c["".concat(i,".").concat(u)]||c[u]||m[u]||o;return t?r.a.createElement(f,s(s({ref:n},p),{},{components:t})):r.a.createElement(f,s({ref:n},p))}));function f(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=u;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,i[1]=s;for(var p=2;p=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var d=a.a.createContext({}),l=function(e){var n=a.a.useContext(d),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},u=function(e){var n=l(e.components);return a.a.createElement(d.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},f=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=l(t),f=r,m=u["".concat(i,".").concat(f)]||u[f]||p[f]||o;return t?a.a.createElement(m,s(s({ref:n},d),{},{components:t})):a.a.createElement(m,s({ref:n},d))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=f;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s.mdxType="string"==typeof e?e:r,i[1]=s;for(var d=2;d=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),s=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=s(n),d=r,f=u["".concat(i,".").concat(d)]||u[d]||m[d]||o;return n?a.a.createElement(f,l(l({ref:t},c),{},{components:n})):a.a.createElement(f,l({ref:t},c))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var c=2;c=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),u=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=u(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),p=u(n),d=r,b=p["".concat(i,".").concat(d)]||p[d]||f[d]||o;return n?a.a.createElement(b,c(c({ref:t},s),{},{components:n})):a.a.createElement(b,c({ref:t},s))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var s=2;s=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=n.a.createContext({}),p=function(e){var r=n.a.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},d=function(e){var r=p(e.components);return n.a.createElement(s.Provider,{value:r},e.children)},l={inlineCode:"code",wrapper:function(e){var r=e.children;return n.a.createElement(n.a.Fragment,{},r)}},m=n.a.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),d=p(t),m=a,f=d["".concat(i,".").concat(m)]||d[m]||l[m]||o;return t?n.a.createElement(f,c(c({ref:r},s),{},{components:t})):n.a.createElement(f,c({ref:r},s))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=m;var c={};for(var u in r)hasOwnProperty.call(r,u)&&(c[u]=r[u]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var s=2;s=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var u=n.a.createContext({}),l=function(e){var r=n.a.useContext(u),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},d=function(e){var r=l(e.components);return n.a.createElement(u.Provider,{value:r},e.children)},m={inlineCode:"code",wrapper:function(e){var r=e.children;return n.a.createElement(n.a.Fragment,{},r)}},s=n.a.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),d=l(t),s=a,f=d["".concat(i,".").concat(s)]||d[s]||m[s]||o;return t?n.a.createElement(f,c(c({ref:r},u),{},{components:t})):n.a.createElement(f,c({ref:r},u))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=s;var c={};for(var p in r)hasOwnProperty.call(r,p)&&(c[p]=r[p]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var u=2;u=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var l=n.a.createContext({}),o=function(e){var a=n.a.useContext(l),t=a;return e&&(t="function"==typeof e?e(a):b(b({},a),e)),t},s=function(e){var a=o(e.components);return n.a.createElement(l.Provider,{value:a},e.children)},p={inlineCode:"code",wrapper:function(e){var a=e.children;return n.a.createElement(n.a.Fragment,{},a)}},u=n.a.forwardRef((function(e,a){var t=e.components,r=e.mdxType,c=e.originalType,i=e.parentName,l=d(e,["components","mdxType","originalType","parentName"]),s=o(t),u=r,m=s["".concat(i,".").concat(u)]||s[u]||p[u]||c;return t?n.a.createElement(m,b(b({ref:a},l),{},{components:t})):n.a.createElement(m,b({ref:a},l))}));function m(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var c=t.length,i=new Array(c);i[0]=u;var b={};for(var d in a)hasOwnProperty.call(a,d)&&(b[d]=a[d]);b.originalType=e,b.mdxType="string"==typeof e?e:r,i[1]=b;for(var l=2;l=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var l=n.a.createContext({}),o=function(e){var a=n.a.useContext(l),t=a;return e&&(t="function"==typeof e?e(a):b(b({},a),e)),t},s=function(e){var a=o(e.components);return n.a.createElement(l.Provider,{value:a},e.children)},p={inlineCode:"code",wrapper:function(e){var a=e.children;return n.a.createElement(n.a.Fragment,{},a)}},u=n.a.forwardRef((function(e,a){var t=e.components,r=e.mdxType,c=e.originalType,i=e.parentName,l=d(e,["components","mdxType","originalType","parentName"]),s=o(t),u=r,m=s["".concat(i,".").concat(u)]||s[u]||p[u]||c;return t?n.a.createElement(m,b(b({ref:a},l),{},{components:t})):n.a.createElement(m,b({ref:a},l))}));function m(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var c=t.length,i=new Array(c);i[0]=u;var b={};for(var d in a)hasOwnProperty.call(a,d)&&(b[d]=a[d]);b.originalType=e,b.mdxType="string"==typeof e?e:r,i[1]=b;for(var l=2;l The quick brown fox jumped over the lazy dog.\n\nUnordered list:\n\n- The quick brown fox jumped over the lazy dog.\n- The quick brown fox jumped over the lazy dog.\n- The quick brown fox jumped over the lazy dog.\n\nOrdered list:\n\n1. The quick brown fox jumped over the lazy dog.\n1. The quick brown fox jumped over the lazy dog.\n1. The quick brown fox jumped over the lazy dog.\n\nImage:\n\n![Monty Python](https://upload.wikimedia.org/wikipedia/en/c/cb/Flyingcircus_2.jpg)\n\nLinks:\n\nHere's a [link to an image](https://upload.wikimedia.org/wikipedia/en/c/cb/Flyingcircus_2.jpg).\n\nTable:\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Item 1 | Item 2 | Item 3 |\n| Item 1 | Item 2 | Item 3 |\n| Item 1 | Item 2 | Item 3 |\n'''\n\npage['example'] = ui.form_card(\n box='1 1 4 -1',\n items=[ui.text(sample_markdown)]\n)\npage.save()\n")),Object(a.b)("p",null,Object(a.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(a.b)("a",{href:Object(i.a)("docs/examples/tags#form")},"form")," \u2002",Object(a.b)("a",{href:Object(i.a)("docs/examples/tags#markdown")},"markdown")," \u2002",Object(a.b)("a",{href:Object(i.a)("docs/examples/tags#text")},"text")))}p.isMDXComponent=!0},302:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return f}));var r=n(0),o=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=o.a.createContext({}),l=function(e){var t=o.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=l(e.components);return o.a.createElement(s.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=l(n),d=r,f=p["".concat(i,".").concat(d)]||p[d]||m[d]||a;return n?o.a.createElement(f,c(c({ref:t},s),{},{components:n})):o.a.createElement(f,c({ref:t},s))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var s=2;s The quick brown fox jumped over the lazy dog.\n\nUnordered list:\n\n- The quick brown fox jumped over the lazy dog.\n- The quick brown fox jumped over the lazy dog.\n- The quick brown fox jumped over the lazy dog.\n\nOrdered list:\n\n1. The quick brown fox jumped over the lazy dog.\n1. The quick brown fox jumped over the lazy dog.\n1. The quick brown fox jumped over the lazy dog.\n\nImage:\n\n![Monty Python](https://upload.wikimedia.org/wikipedia/en/c/cb/Flyingcircus_2.jpg)\n\nLinks:\n\nHere's a [link to an image](https://upload.wikimedia.org/wikipedia/en/c/cb/Flyingcircus_2.jpg).\n\nTable:\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Item 1 | Item 2 | Item 3 |\n| Item 1 | Item 2 | Item 3 |\n| Item 1 | Item 2 | Item 3 |\n'''\n\npage['example'] = ui.form_card(\n box='1 1 4 -1',\n items=[ui.text(sample_markdown)]\n)\npage.save()\n")))}l.isMDXComponent=!0},300:function(e,t,n){"use strict";n.d(t,"a",(function(){return m})),n.d(t,"b",(function(){return f}));var r=n(0),o=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=o.a.createContext({}),l=function(e){var t=o.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},m=function(e){var t=l(e.components);return o.a.createElement(u.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),m=l(n),d=r,f=m["".concat(i,".").concat(d)]||m[d]||s[d]||a;return n?o.a.createElement(f,c(c({ref:t},u),{},{components:n})):o.a.createElement(f,c({ref:t},u))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=d;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var u=2;u=0||(r[n]=e[n]);return r}(e,a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=r.a.createContext({}),d=function(e){var a=r.a.useContext(l),n=a;return e&&(n="function"==typeof e?e(a):u(u({},a),e)),n},p=function(e){var a=d(e.components);return r.a.createElement(l.Provider,{value:a},e.children)},s={inlineCode:"code",wrapper:function(e){var a=e.children;return r.a.createElement(r.a.Fragment,{},a)}},f=r.a.forwardRef((function(e,a){var n=e.components,t=e.mdxType,o=e.originalType,i=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),p=d(n),f=t,m=p["".concat(i,".").concat(f)]||p[f]||s[f]||o;return n?r.a.createElement(m,u(u({ref:a},l),{},{components:n})):r.a.createElement(m,u({ref:a},l))}));function m(e,a){var n=arguments,t=a&&a.mdxType;if("string"==typeof e||t){var o=n.length,i=new Array(o);i[0]=f;var u={};for(var c in a)hasOwnProperty.call(a,c)&&(u[c]=a[c]);u.originalType=e,u.mdxType="string"==typeof e?e:t,i[1]=u;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),d=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):u(u({},t),e)),r},l=function(e){var t=d(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),l=d(r),f=n,m=l["".concat(i,".").concat(f)]||l[f]||p[f]||o;return r?a.a.createElement(m,u(u({ref:t},s),{},{components:r})):a.a.createElement(m,u({ref:t},s))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=f;var u={};for(var c in t)hasOwnProperty.call(t,c)&&(u[c]=t[c]);u.originalType=e,u.mdxType="string"==typeof e?e:n,i[1]=u;for(var s=2;s=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=n.a.createContext({}),l=function(e){var t=n.a.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},b=function(e){var t=l(e.components);return n.a.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},d=n.a.forwardRef((function(e,t){var a=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),b=l(a),d=r,h=b["".concat(i,".").concat(d)]||b[d]||u[d]||o;return a?n.a.createElement(h,c(c({ref:t},p),{},{components:a})):n.a.createElement(h,c({ref:t},p))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=a.length,i=new Array(o);i[0]=d;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var p=2;p=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=n.a.createContext({}),l=function(e){var t=n.a.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},b=function(e){var t=l(e.components);return n.a.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},d=n.a.forwardRef((function(e,t){var a=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),b=l(a),d=r,h=b["".concat(i,".").concat(d)]||b[d]||u[d]||o;return a?n.a.createElement(h,c(c({ref:t},p),{},{components:a})):n.a.createElement(h,c({ref:t},p))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=a.length,i=new Array(o);i[0]=d;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var p=2;p=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),u=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):p(p({},t),e)),r},s=function(e){var t=u(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),s=u(r),d=n,f=s["".concat(i,".").concat(d)]||s[d]||m[d]||o;return r?a.a.createElement(f,p(p({ref:t},l),{},{components:r})):a.a.createElement(f,p({ref:t},l))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p.mdxType="string"==typeof e?e:n,i[1]=p;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=a.a.createContext({}),s=function(e){var t=a.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=s(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),l=s(r),d=n,m=l["".concat(i,".").concat(d)]||l[d]||f[d]||o;return r?a.a.createElement(m,c(c({ref:t},p),{},{components:r})):a.a.createElement(m,c({ref:t},p))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var p=2;p=0||(i[n]=e[n]);return i}(e,s);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=i.a.createContext({}),c=function(e){var s=i.a.useContext(l),n=s;return e&&(n="function"==typeof e?e(s):u(u({},s),e)),n},p=function(e){var s=c(e.components);return i.a.createElement(l.Provider,{value:s},e.children)},f={inlineCode:"code",wrapper:function(e){var s=e.children;return i.a.createElement(i.a.Fragment,{},s)}},m=i.a.forwardRef((function(e,s){var n=e.components,t=e.mdxType,r=e.originalType,a=e.parentName,l=o(e,["components","mdxType","originalType","parentName"]),p=c(n),m=t,d=p["".concat(a,".").concat(m)]||p[m]||f[m]||r;return n?i.a.createElement(d,u(u({ref:s},l),{},{components:n})):i.a.createElement(d,u({ref:s},l))}));function d(e,s){var n=arguments,t=s&&s.mdxType;if("string"==typeof e||t){var r=n.length,a=new Array(r);a[0]=m;var u={};for(var o in s)hasOwnProperty.call(s,o)&&(u[o]=s[o]);u.originalType=e,u.mdxType="string"==typeof e?e:t,a[1]=u;for(var l=2;l=0||(i[n]=e[n]);return i}(e,s);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=i.a.createContext({}),c=function(e){var s=i.a.useContext(l),n=s;return e&&(n="function"==typeof e?e(s):u(u({},s),e)),n},p=function(e){var s=c(e.components);return i.a.createElement(l.Provider,{value:s},e.children)},m={inlineCode:"code",wrapper:function(e){var s=e.children;return i.a.createElement(i.a.Fragment,{},s)}},f=i.a.forwardRef((function(e,s){var n=e.components,t=e.mdxType,a=e.originalType,r=e.parentName,l=o(e,["components","mdxType","originalType","parentName"]),p=c(n),f=t,d=p["".concat(r,".").concat(f)]||p[f]||m[f]||a;return n?i.a.createElement(d,u(u({ref:s},l),{},{components:n})):i.a.createElement(d,u({ref:s},l))}));function d(e,s){var n=arguments,t=s&&s.mdxType;if("string"==typeof e||t){var a=n.length,r=new Array(a);r[0]=f;var u={};for(var o in s)hasOwnProperty.call(s,o)&&(u[o]=s[o]);u.originalType=e,u.mdxType="string"==typeof e?e:t,r[1]=u;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),p=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=p(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(n),m=r,b=u["".concat(l,".").concat(m)]||u[m]||d[m]||o;return n?a.a.createElement(b,i(i({ref:t},c),{},{components:n})):a.a.createElement(b,i({ref:t},c))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,l=new Array(o);l[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:r,l[1]=i;for(var c=2;c=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=o.a.createContext({}),u=function(e){var t=o.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=u(e.components);return o.a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},b=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),p=u(r),b=n,f=p["".concat(i,".").concat(b)]||p[b]||d[b]||a;return r?o.a.createElement(f,l(l({ref:t},s),{},{components:r})):o.a.createElement(f,l({ref:t},s))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=b;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var s=2;s=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var b=r.a.createContext({}),l=function(e){var t=r.a.useContext(b),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=l(e.components);return r.a.createElement(b.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,b=u(e,["components","mdxType","originalType","parentName"]),p=l(n),d=a,f=p["".concat(o,".").concat(d)]||p[d]||s[d]||i;return n?r.a.createElement(f,c(c({ref:t},b),{},{components:n})):r.a.createElement(f,c({ref:t},b))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var b=2;b=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),b=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},l=function(e){var t=b(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},p=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),l=b(n),p=r,f=l["".concat(o,".").concat(p)]||l[p]||d[p]||i;return n?a.a.createElement(f,c(c({ref:t},s),{},{components:n})):a.a.createElement(f,c({ref:t},s))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=p;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,o[1]=c;for(var s=2;s=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=r.a.createContext({}),l=function(e){var t=r.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):p(p({},t),e)),n},b=function(e){var t=l(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),b=l(n),d=a,m=b["".concat(i,".").concat(d)]||b[d]||u[d]||o;return n?r.a.createElement(m,p(p({ref:t},c),{},{components:n})):r.a.createElement(m,p({ref:t},c))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=d;var p={};for(var s in t)hasOwnProperty.call(t,s)&&(p[s]=t[s]);p.originalType=e,p.mdxType="string"==typeof e?e:a,i[1]=p;for(var c=2;c=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=r.a.createContext({}),l=function(e){var t=r.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):p(p({},t),e)),n},b=function(e){var t=l(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),b=l(n),d=a,m=b["".concat(i,".").concat(d)]||b[d]||u[d]||o;return n?r.a.createElement(m,p(p({ref:t},c),{},{components:n})):r.a.createElement(m,p({ref:t},c))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=d;var p={};for(var s in t)hasOwnProperty.call(t,s)&&(p[s]=t[s]);p.originalType=e,p.mdxType="string"==typeof e?e:a,i[1]=p;for(var c=2;c=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=n.a.createContext({}),c=function(e){var t=n.a.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},m=function(e){var t=c(e.components);return n.a.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},d=n.a.forwardRef((function(e,t){var a=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),m=c(a),d=r,f=m["".concat(i,".").concat(d)]||m[d]||u[d]||o;return a?n.a.createElement(f,l(l({ref:t},p),{},{components:a})):n.a.createElement(f,l({ref:t},p))}));function f(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=a.length,i=new Array(o);i[0]=d;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var p=2;p=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=n.a.createContext({}),u=function(e){var t=n.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},p=function(e){var t=u(e.components);return n.a.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},m=n.a.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=u(r),m=a,f=p["".concat(o,".").concat(m)]||p[m]||d[m]||i;return r?n.a.createElement(f,s(s({ref:t},c),{},{components:r})):n.a.createElement(f,s({ref:t},c))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var c=2;c=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var b=a.a.createContext({}),s=function(e){var t=a.a.useContext(b),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=s(e.components);return a.a.createElement(b.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},p=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,b=l(e,["components","mdxType","originalType","parentName"]),d=s(n),p=r,O=d["".concat(c,".").concat(p)]||d[p]||u[p]||o;return n?a.a.createElement(O,i(i({ref:t},b),{},{components:n})):a.a.createElement(O,i({ref:t},b))}));function O(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,c=new Array(o);c[0]=p;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var b=2;b=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var b=a.a.createContext({}),s=function(e){var t=a.a.useContext(b),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(b.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},p=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,b=l(e,["components","mdxType","originalType","parentName"]),u=s(n),p=r,f=u["".concat(c,".").concat(p)]||u[p]||d[p]||o;return n?a.a.createElement(f,i(i({ref:t},b),{},{components:n})):a.a.createElement(f,i({ref:t},b))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,c=new Array(o);c[0]=p;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var b=2;b 0.5 else 'BoxMultiplySolid'),\n notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)\n]\n\n# Create columns for our issue table.\ncolumns = [\n ui.table_column(name='text', label='Issue'),\n ui.table_column(name='status', label='Status', filterable=True),\n ui.table_column(name='notifications', label='Notifications', filterable=True),\n ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),\n ui.table_column(name='views', label='Views'),\n ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),\n]\n\n\n@app('/demo')\nasync def serve(q: Q):\n q.page['form'] = ui.form_card(box='1 1 -1 11', items=[\n ui.table(\n name='issues',\n columns=columns,\n rows=[ui.table_row(\n name=issue.id,\n cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for\n issue in issues]\n )\n ])\n await q.page.save()\n")))}u.isMDXComponent=!0},300:function(e,n,t){"use strict";t.d(n,"a",(function(){return f})),t.d(n,"b",(function(){return b}));var r=t(0),a=t.n(r);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=a.a.createContext({}),u=function(e){var n=a.a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},f=function(e){var n=u(e.components);return a.a.createElement(c.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},m=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),f=u(t),m=r,b=f["".concat(s,".").concat(m)]||f[m]||p[m]||i;return t?a.a.createElement(b,o(o({ref:n},c),{},{components:t})):a.a.createElement(b,o({ref:n},c))}));function b(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,s=new Array(i);s[0]=m;var o={};for(var l in n)hasOwnProperty.call(n,l)&&(o[l]=n[l]);o.originalType=e,o.mdxType="string"==typeof e?e:r,s[1]=o;for(var c=2;c 0.5 else 'BoxMultiplySolid'),\n notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)\n]\n\n# Create columns for our issue table.\ncolumns = [\n ui.table_column(name='text', label='Issue'),\n ui.table_column(name='status', label='Status', filterable=True),\n ui.table_column(name='notifications', label='Notifications', filterable=True),\n ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),\n ui.table_column(name='views', label='Views'),\n ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),\n]\n\n\n@app('/demo')\nasync def serve(q: Q):\n q.page['form'] = ui.form_card(box='1 1 -1 11', items=[\n ui.table(\n name='issues',\n columns=columns,\n rows=[ui.table_row(\n name=issue.id,\n cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for\n issue in issues]\n )\n ])\n await q.page.save()\n")),Object(i.b)("p",null,Object(i.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(i.b)("a",{href:Object(o.a)("docs/examples/tags#table")},"table")))}f.isMDXComponent=!0},302:function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),u=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},f=function(e){var t=u(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),f=u(n),b=r,m=f["".concat(o,".").concat(b)]||f[b]||p[b]||i;return n?a.a.createElement(m,s(s({ref:t},c),{},{components:n})):a.a.createElement(m,s({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=b;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:r,o[1]=s;for(var c=2;c\n")),Object(b.b)("p",null,"The drawing commands in the above example work like this:"),Object(b.b)("ol",null,Object(b.b)("li",{parentName:"ol"},Object(b.b)("inlineCode",{parentName:"li"},"m 25 25"),": Move 25px left, 25px down"),Object(b.b)("li",{parentName:"ol"},Object(b.b)("inlineCode",{parentName:"li"},"h 50"),": Draw a line 50px right"),Object(b.b)("li",{parentName:"ol"},Object(b.b)("inlineCode",{parentName:"li"},"v 50"),": Draw a line 50px down"),Object(b.b)("li",{parentName:"ol"},Object(b.b)("inlineCode",{parentName:"li"},"h -50"),": Draw a line 50px left"),Object(b.b)("li",{parentName:"ol"},Object(b.b)("inlineCode",{parentName:"li"},"z"),": Close the path (going back to where we started)")),Object(b.b)("p",null,"The little drawing syntax above is part of the SVG specification, not something unique to Wave."),Object(b.b)("p",null,"Authoring ",Object(b.b)("inlineCode",{parentName:"p"},"path()")," drawing commands by hand is tedious, so Wave provides two utilities to make it easier: ",Object(b.b)("inlineCode",{parentName:"p"},"p()")," and ",Object(b.b)("inlineCode",{parentName:"p"},"turtle()"),"."),Object(b.b)("h2",{id:"drawing-with-paths"},"Drawing with paths"),Object(b.b)("p",null,Object(b.b)("inlineCode",{parentName:"p"},"p()")," creates a path generator with convenience methods to draw step by step. For example, the following two lines are equivalent:"),Object(b.b)("pre",null,Object(b.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py"}),"red_square = g.path(d='m 25 25 h 50 v 50 h -50 z', fill='red')\nred_square = g.p().m(25, 25).h(50).v(50).h(-50).z().path(fill='red')\n")),Object(b.b)("h3",{id:"commands"},"Commands"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(n.a)({parentName:"tr"},{align:null}),"Method"),Object(b.b)("th",Object(n.a)({parentName:"tr"},{align:null}),"Use"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"M()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Move, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"H()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Horizontal line, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"V()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Vertical line, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"L()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Line, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"A()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Elliptical arc, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"C()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Cubic B\xe9zier curve, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"S()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Cubic B\xe9zier curve, smooth, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"Q()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Quadratic B\xe9zier curve, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"T()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Quadratic B\xe9zier curve, smooth, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"Z()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Close path")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"m()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Move, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"h()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Horizontal line, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"v()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Vertical line, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"l()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Line, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"a()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Elliptical arc, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"c()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Cubic B\xe9zier curve, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"s()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Cubic B\xe9zier curve, smooth, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"q()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Quadratic B\xe9zier curve, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"t()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Quadratic B\xe9zier curve, smooth, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"z()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Close path")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"d()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Serialize this path's commands into SVG path data.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"path()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Create a SVG path element")))),Object(b.b)("div",{className:"admonition admonition-info alert alert--info"},Object(b.b)("div",Object(n.a)({parentName:"div"},{className:"admonition-heading"}),Object(b.b)("h5",{parentName:"div"},Object(b.b)("span",Object(n.a)({parentName:"h5"},{className:"admonition-icon"}),Object(b.b)("svg",Object(n.a)({parentName:"span"},{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"16",viewBox:"0 0 14 16"}),Object(b.b)("path",Object(n.a)({parentName:"svg"},{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})))),"info")),Object(b.b)("div",Object(n.a)({parentName:"div"},{className:"admonition-content"}),Object(b.b)("p",{parentName:"div"},"The upper-cased commands use absolute coordinates. The lower-cased commands use relative coordinates. For example, ",Object(b.b)("inlineCode",{parentName:"p"},"L(4,2)"),' means "draw a line to (4,2)", but ',Object(b.b)("inlineCode",{parentName:"p"},"l(4,2)"),' means "draw a line 4px right, 2px down from the current position".'))),Object(b.b)("h2",{id:"drawing-with-a-turtle"},"Drawing with a turtle"),Object(b.b)("p",null,Object(b.b)("inlineCode",{parentName:"p"},"turtle()")," creates a path generator (similar to ",Object(b.b)("inlineCode",{parentName:"p"},"p()"),"), but using ",Object(b.b)("a",Object(n.a)({parentName:"p"},{href:"https://docs.python.org/3/library/turtle.html"}),"Turtle Geometry"),"."),Object(b.b)("h3",{id:"commands-1"},"Commands"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(n.a)({parentName:"tr"},{align:null}),"Method"),Object(b.b)("th",Object(n.a)({parentName:"tr"},{align:null}),"Use"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"pd()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Pen down")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"pu()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Pen up")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"p()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Set the turtle's position")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"a()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Set the turtle's orientation")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"f()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Move forward")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"b()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Move backward")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"l()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Turn left")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"r()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Turn right")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"d()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Serialize this turtle's movements into SVG path data")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"path()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Create a SVG path element")))),Object(b.b)("h3",{id:"example"},"Example"),Object(b.b)("p",null,"Here is an example from ",Object(b.b)("a",Object(n.a)({parentName:"p"},{href:"https://docs.python.org/3/library/turtle.html"}),"Python's turtle module"),": "),Object(b.b)("p",null,Object(b.b)("img",Object(n.a)({parentName:"p"},{src:"https://docs.python.org/3/_images/turtle-star.png",alt:"star"}))),Object(b.b)("p",null,"Here is the above example recreated in Wave:"),Object(b.b)("pre",null,Object(b.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py"}),"from turtle import *\ncolor('red', 'yellow')\nbegin_fill()\nwhile True:\n forward(200)\n left(170)\n if abs(pos()) < 1:\n break\nend_fill()\ndone()\n")),Object(b.b)("pre",null,Object(b.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py",metastring:"{3-6}","{3-6}":!0}),"from h2o_wave import site, ui, graphics as g\n\nt = g.turtle().f(100).r(90).pd()\nfor _ in range(36):\n t.f(200).l(170)\nspirograph = t.pu(1).path(stroke='red', fill='yellow')\n\npage = site['/demo']\npage['example'] = ui.graphics_card(\n box='1 1 2 3', view_box='0 0 220 220', width='100%', height='100%',\n scene=g.scene(foo=spirograph),\n)\n\npage.save()\n")),Object(b.b)("div",{className:"admonition admonition-info alert alert--info"},Object(b.b)("div",Object(n.a)({parentName:"div"},{className:"admonition-heading"}),Object(b.b)("h5",{parentName:"div"},Object(b.b)("span",Object(n.a)({parentName:"h5"},{className:"admonition-icon"}),Object(b.b)("svg",Object(n.a)({parentName:"span"},{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"16",viewBox:"0 0 14 16"}),Object(b.b)("path",Object(n.a)({parentName:"svg"},{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})))),"info")),Object(b.b)("div",Object(n.a)({parentName:"div"},{className:"admonition-content"}),Object(b.b)("p",{parentName:"div"},"Turtle graphics is not just kid stuff: See ",Object(b.b)("a",Object(n.a)({parentName:"p"},{href:"https://mitpress.mit.edu/books/turtle-geometry"}),"Turtle Geometry")," by Harold Abelson and Andrea diSessa."))))}d.isMDXComponent=!0},300:function(e,t,a){"use strict";a.d(t,"a",(function(){return o})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function b(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function c(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=r.a.createContext({}),d=function(e){var t=r.a.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},o=function(e){var t=d(e.components);return r.a.createElement(p.Provider,{value:t},e.children)},O={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},j=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,b=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),o=d(a),j=n,m=o["".concat(l,".").concat(j)]||o[j]||O[j]||b;return a?r.a.createElement(m,c(c({ref:t},p),{},{components:a})):r.a.createElement(m,c({ref:t},p))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var b=a.length,l=new Array(b);l[0]=j;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:n,l[1]=c;for(var p=2;p\n")),Object(b.b)("p",null,"The drawing commands in the above example work like this:"),Object(b.b)("ol",null,Object(b.b)("li",{parentName:"ol"},Object(b.b)("inlineCode",{parentName:"li"},"m 25 25"),": Move 25px left, 25px down"),Object(b.b)("li",{parentName:"ol"},Object(b.b)("inlineCode",{parentName:"li"},"h 50"),": Draw a line 50px right"),Object(b.b)("li",{parentName:"ol"},Object(b.b)("inlineCode",{parentName:"li"},"v 50"),": Draw a line 50px down"),Object(b.b)("li",{parentName:"ol"},Object(b.b)("inlineCode",{parentName:"li"},"h -50"),": Draw a line 50px left"),Object(b.b)("li",{parentName:"ol"},Object(b.b)("inlineCode",{parentName:"li"},"z"),": Close the path (going back to where we started)")),Object(b.b)("p",null,"The little drawing syntax above is part of the SVG specification, not something unique to Wave."),Object(b.b)("p",null,"Authoring ",Object(b.b)("inlineCode",{parentName:"p"},"path()")," drawing commands by hand is tedious, so Wave provides two utilities to make it easier: ",Object(b.b)("inlineCode",{parentName:"p"},"p()")," and ",Object(b.b)("inlineCode",{parentName:"p"},"turtle()"),"."),Object(b.b)("h2",{id:"drawing-with-paths"},"Drawing with paths"),Object(b.b)("p",null,Object(b.b)("inlineCode",{parentName:"p"},"p()")," creates a path generator with convenience methods to draw step by step. For example, the following two lines are equivalent:"),Object(b.b)("pre",null,Object(b.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py"}),"red_square = g.path(d='m 25 25 h 50 v 50 h -50 z', fill='red')\nred_square = g.p().m(25, 25).h(50).v(50).h(-50).z().path(fill='red')\n")),Object(b.b)("h3",{id:"commands"},"Commands"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(n.a)({parentName:"tr"},{align:null}),"Method"),Object(b.b)("th",Object(n.a)({parentName:"tr"},{align:null}),"Use"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"M()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Move, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"H()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Horizontal line, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"V()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Vertical line, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"L()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Line, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"A()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Elliptical arc, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"C()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Cubic B\xe9zier curve, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"S()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Cubic B\xe9zier curve, smooth, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"Q()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Quadratic B\xe9zier curve, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"T()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Quadratic B\xe9zier curve, smooth, absolute")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"Z()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Close path")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"m()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Move, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"h()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Horizontal line, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"v()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Vertical line, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"l()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Line, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"a()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Elliptical arc, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"c()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Cubic B\xe9zier curve, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"s()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Cubic B\xe9zier curve, smooth, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"q()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Quadratic B\xe9zier curve, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"t()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Quadratic B\xe9zier curve, smooth, relative")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"z()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Close path")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"d()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Serialize this path's commands into SVG path data.")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"path()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Create a SVG path element")))),Object(b.b)("div",{className:"admonition admonition-info alert alert--info"},Object(b.b)("div",Object(n.a)({parentName:"div"},{className:"admonition-heading"}),Object(b.b)("h5",{parentName:"div"},Object(b.b)("span",Object(n.a)({parentName:"h5"},{className:"admonition-icon"}),Object(b.b)("svg",Object(n.a)({parentName:"span"},{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"16",viewBox:"0 0 14 16"}),Object(b.b)("path",Object(n.a)({parentName:"svg"},{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})))),"info")),Object(b.b)("div",Object(n.a)({parentName:"div"},{className:"admonition-content"}),Object(b.b)("p",{parentName:"div"},"The upper-cased commands use absolute coordinates. The lower-cased commands use relative coordinates. For example, ",Object(b.b)("inlineCode",{parentName:"p"},"L(4,2)"),' means "draw a line to (4,2)", but ',Object(b.b)("inlineCode",{parentName:"p"},"l(4,2)"),' means "draw a line 4px right, 2px down from the current position".'))),Object(b.b)("h2",{id:"drawing-with-a-turtle"},"Drawing with a turtle"),Object(b.b)("p",null,Object(b.b)("inlineCode",{parentName:"p"},"turtle()")," creates a path generator (similar to ",Object(b.b)("inlineCode",{parentName:"p"},"p()"),"), but using ",Object(b.b)("a",Object(n.a)({parentName:"p"},{href:"https://docs.python.org/3/library/turtle.html"}),"Turtle Geometry"),"."),Object(b.b)("h3",{id:"commands-1"},"Commands"),Object(b.b)("table",null,Object(b.b)("thead",{parentName:"table"},Object(b.b)("tr",{parentName:"thead"},Object(b.b)("th",Object(n.a)({parentName:"tr"},{align:null}),"Method"),Object(b.b)("th",Object(n.a)({parentName:"tr"},{align:null}),"Use"))),Object(b.b)("tbody",{parentName:"table"},Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"pd()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Pen down")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"pu()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Pen up")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"p()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Set the turtle's position")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"a()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Set the turtle's orientation")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"f()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Move forward")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"b()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Move backward")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"l()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Turn left")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"r()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Turn right")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"d()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Serialize this turtle's movements into SVG path data")),Object(b.b)("tr",{parentName:"tbody"},Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),Object(b.b)("inlineCode",{parentName:"td"},"path()")),Object(b.b)("td",Object(n.a)({parentName:"tr"},{align:null}),"Create a SVG path element")))),Object(b.b)("h3",{id:"example"},"Example"),Object(b.b)("p",null,"Here is an example from ",Object(b.b)("a",Object(n.a)({parentName:"p"},{href:"https://docs.python.org/3/library/turtle.html"}),"Python's turtle module"),": "),Object(b.b)("p",null,Object(b.b)("img",Object(n.a)({parentName:"p"},{src:"https://docs.python.org/3/_images/turtle-star.png",alt:"star"}))),Object(b.b)("p",null,"Here is the above example recreated in Wave:"),Object(b.b)("pre",null,Object(b.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py"}),"from turtle import *\ncolor('red', 'yellow')\nbegin_fill()\nwhile True:\n forward(200)\n left(170)\n if abs(pos()) < 1:\n break\nend_fill()\ndone()\n")),Object(b.b)("pre",null,Object(b.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py",metastring:"{3-6}","{3-6}":!0}),"from h2o_wave import site, ui, graphics as g\n\nt = g.turtle().f(100).r(90).pd()\nfor _ in range(36):\n t.f(200).l(170)\nspirograph = t.pu(1).path(stroke='red', fill='yellow')\n\npage = site['/demo']\npage['example'] = ui.graphics_card(\n box='1 1 2 3', view_box='0 0 220 220', width='100%', height='100%',\n scene=g.scene(foo=spirograph),\n)\n\npage.save()\n")),Object(b.b)("div",{className:"admonition admonition-info alert alert--info"},Object(b.b)("div",Object(n.a)({parentName:"div"},{className:"admonition-heading"}),Object(b.b)("h5",{parentName:"div"},Object(b.b)("span",Object(n.a)({parentName:"h5"},{className:"admonition-icon"}),Object(b.b)("svg",Object(n.a)({parentName:"span"},{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"16",viewBox:"0 0 14 16"}),Object(b.b)("path",Object(n.a)({parentName:"svg"},{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})))),"info")),Object(b.b)("div",Object(n.a)({parentName:"div"},{className:"admonition-content"}),Object(b.b)("p",{parentName:"div"},"Turtle graphics is not just kid stuff: See ",Object(b.b)("a",Object(n.a)({parentName:"p"},{href:"https://mitpress.mit.edu/books/turtle-geometry"}),"Turtle Geometry")," by Harold Abelson and Andrea diSessa."))))}d.isMDXComponent=!0},302:function(e,t,a){"use strict";a.d(t,"a",(function(){return o})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function b(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function c(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=r.a.createContext({}),d=function(e){var t=r.a.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},o=function(e){var t=d(e.components);return r.a.createElement(p.Provider,{value:t},e.children)},O={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},j=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,b=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),o=d(a),j=n,m=o["".concat(l,".").concat(j)]||o[j]||O[j]||b;return a?r.a.createElement(m,c(c({ref:t},p),{},{components:a})):r.a.createElement(m,c({ref:t},p))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var b=a.length,l=new Array(b);l[0]=j;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:n,l[1]=c;for(var p=2;p=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var b=r.a.createContext({}),s=function(e){var t=r.a.useContext(b),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=s(e.components);return r.a.createElement(b.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,b=i(e,["components","mdxType","originalType","parentName"]),p=s(n),d=a,m=p["".concat(c,".").concat(d)]||p[d]||u[d]||o;return n?r.a.createElement(m,l(l({ref:t},b),{},{components:n})):r.a.createElement(m,l({ref:t},b))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,c=new Array(o);c[0]=d;var l={};for(var i in t)hasOwnProperty.call(t,i)&&(l[i]=t[i]);l.originalType=e,l.mdxType="string"==typeof e?e:a,c[1]=l;for(var b=2;b=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var b=r.a.createContext({}),s=function(e){var t=r.a.useContext(b),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=s(e.components);return r.a.createElement(b.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,b=i(e,["components","mdxType","originalType","parentName"]),p=s(n),d=a,m=p["".concat(c,".").concat(d)]||p[d]||u[d]||o;return n?r.a.createElement(m,l(l({ref:t},b),{},{components:n})):r.a.createElement(m,l({ref:t},b))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,c=new Array(o);c[0]=d;var l={};for(var i in t)hasOwnProperty.call(t,i)&&(l[i]=t[i]);l.originalType=e,l.mdxType="string"==typeof e?e:a,c[1]=l;for(var b=2;b=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var b=r.a.createContext({}),s=function(e){var a=r.a.useContext(b),t=a;return e&&(t="function"==typeof e?e(a):c(c({},a),e)),t},u=function(e){var a=s(e.components);return r.a.createElement(b.Provider,{value:a},e.children)},d={inlineCode:"code",wrapper:function(e){var a=e.children;return r.a.createElement(r.a.Fragment,{},a)}},p=r.a.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,b=l(e,["components","mdxType","originalType","parentName"]),u=s(t),p=n,f=u["".concat(o,".").concat(p)]||u[p]||d[p]||i;return t?r.a.createElement(f,c(c({ref:a},b),{},{components:t})):r.a.createElement(f,c({ref:a},b))}));function f(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,o=new Array(i);o[0]=p;var c={};for(var l in a)hasOwnProperty.call(a,l)&&(c[l]=a[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var b=2;b=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var b=r.a.createContext({}),s=function(e){var a=r.a.useContext(b),t=a;return e&&(t="function"==typeof e?e(a):c(c({},a),e)),t},u=function(e){var a=s(e.components);return r.a.createElement(b.Provider,{value:a},e.children)},d={inlineCode:"code",wrapper:function(e){var a=e.children;return r.a.createElement(r.a.Fragment,{},a)}},p=r.a.forwardRef((function(e,a){var t=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,b=l(e,["components","mdxType","originalType","parentName"]),u=s(t),p=n,f=u["".concat(o,".").concat(p)]||u[p]||d[p]||i;return t?r.a.createElement(f,c(c({ref:a},b),{},{components:t})):r.a.createElement(f,c({ref:a},b))}));function f(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=t.length,o=new Array(i);o[0]=p;var c={};for(var l in a)hasOwnProperty.call(a,l)&&(c[l]=a[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var b=2;b=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var o=r.a.createContext({}),p=function(e){var t=r.a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=p(e.components);return r.a.createElement(o.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},O=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,b=e.originalType,i=e.parentName,o=l(e,["components","mdxType","originalType","parentName"]),d=p(n),O=a,s=d["".concat(i,".").concat(O)]||d[O]||m[O]||b;return n?r.a.createElement(s,c(c({ref:t},o),{},{components:n})):r.a.createElement(s,c({ref:t},o))}));function s(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var b=n.length,i=new Array(b);i[0]=O;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var o=2;o=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var o=r.a.createContext({}),p=function(e){var t=r.a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=p(e.components);return r.a.createElement(o.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},O=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,b=e.originalType,i=e.parentName,o=l(e,["components","mdxType","originalType","parentName"]),d=p(n),O=a,s=d["".concat(i,".").concat(O)]||d[O]||m[O]||b;return n?r.a.createElement(s,c(c({ref:t},o),{},{components:n})):r.a.createElement(s,c({ref:t},o))}));function s(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var b=n.length,i=new Array(b);i[0]=O;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var o=2;o=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var l=r.a.createContext({}),p=function(e){var n=r.a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},A=function(e){var n=p(e.components);return r.a.createElement(l.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},b=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),A=p(t),b=a,f=A["".concat(i,".").concat(b)]||A[b]||u[b]||o;return t?r.a.createElement(f,c(c({ref:n},l),{},{components:t})):r.a.createElement(f,c({ref:n},l))}));function f(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=b;var c={};for(var s in n)hasOwnProperty.call(n,s)&&(c[s]=n[s]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),l=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},b=function(e){var t=l(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),b=l(n),f=r,A=b["".concat(i,".").concat(f)]||b[f]||p[f]||o;return n?a.a.createElement(A,c(c({ref:t},u),{},{components:n})):a.a.createElement(A,c({ref:t},u))}));function A(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=f;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var u=2;u1?t+"s":t}(s,"post"),' tagged with "',i,'"'),c.a.createElement(o.a,{href:n},"View All Tags"),c.a.createElement("div",{className:"margin-vert--xl"},a.map((({content:e})=>c.a.createElement(r.a,{key:e.metadata.permalink,frontMatter:e.frontMatter,metadata:e.metadata,truncated:!0},c.a.createElement(e,null)))))))))}},306:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(0),c=a.n(n),l=a(307),r=a(308),o=function(){var e=c.a.useState(!!window.localStorage.getItem("noticeRead")),t=e[0],a=e[1];return c.a.createElement("section",{className:"notice",style:{opacity:t?0:1}},c.a.createElement("div",null,c.a.createElement("p",null,"By using this website you agree to our use of cookies. "),c.a.createElement("a",{href:"https://www.h2o.ai/privacy/",target:"_blank"},"Read H2O.ai\u2019s privacy policy.")),c.a.createElement("span",{className:"notice__close",onClick:function(){window.localStorage.setItem("noticeRead",!0),a(!0)}},"X"))};function i(e){return c.a.createElement(c.a.Fragment,null,c.a.createElement(r.a,null,o),c.a.createElement(l.a,e))}}}]); \ No newline at end of file diff --git a/docs/6875c492.e86db448.js b/docs/6875c492.e86db448.js new file mode 100644 index 0000000000..ba715985c4 --- /dev/null +++ b/docs/6875c492.e86db448.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[106,28],{161:function(e,a,t){"use strict";t.r(a);var r=t(0),n=t.n(r),l=t(308),m=t(314),c=t(306);a.default=function(e){var a=e.metadata,t=e.items,r=a.allTagsPath,o=a.name,i=a.count;return n.a.createElement(l.a,{title:'Posts tagged "'+o+'"',description:'Blog | Tagged "'+o+'"'},n.a.createElement("div",{className:"container margin-vert--lg"},n.a.createElement("div",{className:"row"},n.a.createElement("main",{className:"col col--8 col--offset-2"},n.a.createElement("h1",null,i," ",function(e,a){return e>1?a+"s":a}(i,"post"),' tagged with "',o,'"'),n.a.createElement(c.a,{href:r},"View All Tags"),n.a.createElement("div",{className:"margin-vert--xl"},t.map((function(e){var a=e.content;return n.a.createElement(m.a,{key:a.metadata.permalink,frontMatter:a.frontMatter,metadata:a.metadata,truncated:!0},n.a.createElement(a,null))})))))))}},310:function(e,a,t){"use strict";t.d(a,"a",(function(){return o}));var r=t(0),n=t.n(r),l=t(311),m=t(312),c=function(){var e=n.a.useState(!!window.localStorage.getItem("noticeRead")),a=e[0],t=e[1];return n.a.createElement("section",{className:"notice",style:{opacity:a?0:1}},n.a.createElement("div",null,n.a.createElement("p",null,"By using this website you agree to our use of cookies. "),n.a.createElement("a",{href:"https://www.h2o.ai/privacy/",target:"_blank"},"Read H2O.ai\u2019s privacy policy.")),n.a.createElement("span",{className:"notice__close",onClick:function(){window.localStorage.setItem("noticeRead",!0),t(!0)}},"X"))};function o(e){return n.a.createElement(n.a.Fragment,null,n.a.createElement(m.a,null,c),n.a.createElement(l.a,e))}},314:function(e,a,t){"use strict";var r=t(0),n=t.n(r),l=t(307),m=t(302),c=t(309),o=t(306),i=t(317),s=t(304),u=t(46),g=t.n(u),E=["January","February","March","April","May","June","July","August","September","October","November","December"];a.a=function(e){var a,t,r,u,d,p=e.children,v=e.frontMatter,h=e.metadata,f=e.truncated,b=e.isBlogPostPage,w=void 0!==b&&b,N=h.date,_=h.permalink,k=h.tags,y=h.readingTime,T=v.author,M=v.title,R=v.image,I=v.keywords,P=v.author_url||v.authorURL,F=v.author_title||v.authorTitle,J=v.author_image_url||v.authorImageURL,O=Object(s.a)(R,{absolute:!0});return n.a.createElement(n.a.Fragment,null,n.a.createElement(c.a,null,I&&I.length&&n.a.createElement("meta",{name:"keywords",content:I.join(",")}),R&&n.a.createElement("meta",{property:"og:image",content:O}),R&&n.a.createElement("meta",{property:"twitter:image",content:O}),R&&n.a.createElement("meta",{name:"twitter:image:alt",content:"Image for "+M})),n.a.createElement("article",{className:w?void 0:"margin-bottom--xl"},(a=w?"h1":"h2",t=N.substring(0,10).split("-"),r=t[0],u=E[parseInt(t[1],10)-1],d=parseInt(t[2],10),n.a.createElement("header",null,n.a.createElement(a,{className:Object(l.a)("margin-bottom--sm",g.a.blogPostTitle)},w?M:n.a.createElement(o.a,{to:_},M)),n.a.createElement("div",{className:"margin-vert--md"},n.a.createElement("time",{dateTime:N,className:g.a.blogPostDate},u," ",d,", ",r," ",y&&n.a.createElement(n.a.Fragment,null," \xb7 ",Math.ceil(y)," min read"))),n.a.createElement("div",{className:"avatar margin-vert--md"},J&&n.a.createElement("a",{className:"avatar__photo-link avatar__photo",href:P,target:"_blank",rel:"noreferrer noopener"},n.a.createElement("img",{src:J,alt:T})),n.a.createElement("div",{className:"avatar__intro"},T&&n.a.createElement(n.a.Fragment,null,n.a.createElement("h4",{className:"avatar__name"},n.a.createElement("a",{href:P,target:"_blank",rel:"noreferrer noopener"},T)),n.a.createElement("small",{className:"avatar__subtitle"},F)))))),n.a.createElement("section",{className:"markdown"},n.a.createElement(m.a,{components:i.a},p)),(k.length>0||f)&&n.a.createElement("footer",{className:"row margin-vert--lg"},k.length>0&&n.a.createElement("div",{className:"col"},n.a.createElement("strong",null,"Tags:"),k.map((function(e){var a=e.label,t=e.permalink;return n.a.createElement(o.a,{key:t,className:"margin-horiz--sm",to:t},a)}))),f&&n.a.createElement("div",{className:"col text--right"},n.a.createElement(o.a,{to:h.permalink,"aria-label":"Read more about "+M},n.a.createElement("strong",null,"Read More"))))))}}}]); \ No newline at end of file diff --git a/docs/692ea9bc.2d5ae0ba.js b/docs/692ea9bc.2d5ae0ba.js deleted file mode 100644 index 5a8a88d69e..0000000000 --- a/docs/692ea9bc.2d5ae0ba.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[107],{160:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return c})),r.d(t,"rightToc",(function(){return l})),r.d(t,"default",(function(){return p}));var a=r(2),n=r(6),o=(r(0),r(300)),i={title:"Stat / Bar / Large"},c={unversionedId:"examples/stat-large-bar",id:"examples/stat-large-bar",isDocsHomePage:!1,title:"Stat / Bar / Large",description:"Create a large captioned card displaying a primary value, an auxiliary value and a progress bar, with captions for each value.",source:"@site/docs/examples/stat-large-bar.md",slug:"/examples/stat-large-bar",permalink:"/wave/docs/examples/stat-large-bar",editUrl:"https://github.com/h2oai/wave/edit/master/website/docs/examples/stat-large-bar.md",version:"current",sidebar:"someSidebar",previous:{title:"Stat / Bar / Wide",permalink:"/wave/docs/examples/stat-wide-bar"},next:{title:"Stat / Series / Small / Area",permalink:"/wave/docs/examples/stat-small-series-area"}},l=[],s={rightToc:l};function p(e){var t=e.components,i=Object(n.a)(e,["components"]);return Object(o.b)("wrapper",Object(a.a)({},s,i,{components:t,mdxType:"MDXLayout"}),Object(o.b)("p",null,"Create a large captioned card displaying a primary value, an auxiliary value and a progress bar, with captions for each value."),Object(o.b)("div",{className:"cover",style:{backgroundImage:"url("+r(383).default+")"}}),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-py"}),"import time\n\nfrom faker import Faker\n\nfrom synth import FakePercent\nfrom h2o_wave import site, ui\n\npage = site['/demo']\n\nfake = Faker()\nf = FakePercent()\nval, pc = f.next()\nc = page.add(f'example', ui.large_bar_stat_card(\n box='1 1 2 2',\n title=fake.cryptocurrency_name(),\n value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',\n value_caption='This Month',\n aux_value='={{intl bar style=\"percent\" minimum_fraction_digits=2 maximum_fraction_digits=2}}',\n aux_value_caption='Previous Month',\n plot_color='$red',\n progress=pc,\n data=dict(foo=val, bar=pc),\n caption=' '.join(fake.sentences(2)),\n))\npage.save()\n\nwhile True:\n time.sleep(1)\n val, pc = f.next()\n c.data.foo = val\n c.data.bar = pc\n c.progress = pc\n page.save()\n")))}p.isMDXComponent=!0},300:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return d}));var a=r(0),n=r.n(a);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function c(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=n.a.createContext({}),p=function(e){var t=n.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=p(e.components);return n.a.createElement(s.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},f=n.a.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=p(r),f=a,d=u["".concat(i,".").concat(f)]||u[f]||m[f]||o;return r?n.a.createElement(d,c(c({ref:t},s),{},{components:r})):n.a.createElement(d,c({ref:t},s))}));function d(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),l=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=l(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(r),d=n,m=p["".concat(i,".").concat(d)]||p[d]||f[d]||o;return r?a.a.createElement(m,c(c({ref:t},u),{},{components:r})):a.a.createElement(m,c({ref:t},u))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var u=2;u=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),u=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=u(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,p=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),s=u(n),m=r,d=s["".concat(p,".").concat(m)]||s[m]||f[m]||o;return n?a.a.createElement(d,c(c({ref:t},l),{},{components:n})):a.a.createElement(d,c({ref:t},l))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,p=new Array(o);p[0]=m;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:r,p[1]=c;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),l=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},s=function(e){var t=l(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),s=l(n),d=r,m=s["".concat(c,".").concat(d)]||s[d]||f[d]||o;return n?a.a.createElement(m,i(i({ref:t},u),{},{components:n})):a.a.createElement(m,i({ref:t},u))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,c=new Array(o);c[0]=d;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var u=2;u=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),u=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=u(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),p=u(n),d=r,b=p["".concat(i,".").concat(d)]||p[d]||f[d]||o;return n?a.a.createElement(b,l(l({ref:t},s),{},{components:n})):a.a.createElement(b,l({ref:t},s))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var s=2;s=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),s=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=s(n),f=r,d=u["".concat(i,".").concat(f)]||u[f]||m[f]||o;return n?a.a.createElement(d,l(l({ref:t},p),{},{components:n})):a.a.createElement(d,l({ref:t},p))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=f;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var p=2;p=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=a.a.createContext({}),u=function(e){var t=a.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},l=function(e){var t=u(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,c=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),l=u(r),d=n,m=l["".concat(o,".").concat(d)]||l[d]||f[d]||c;return r?a.a.createElement(m,i(i({ref:t},p),{},{components:r})):a.a.createElement(m,i({ref:t},p))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var c=r.length,o=new Array(c);o[0]=d;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,o[1]=i;for(var p=2;p=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=a.a.createContext({}),l=function(e){var t=a.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=l(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,c=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=l(r),d=n,f=u["".concat(o,".").concat(d)]||u[d]||m[d]||c;return r?a.a.createElement(f,i(i({ref:t},p),{},{components:r})):a.a.createElement(f,i({ref:t},p))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var c=r.length,o=new Array(c);o[0]=d;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,o[1]=i;for(var p=2;p\n
  • Spam
  • \n
  • Ham
  • \n
  • Eggs
  • \n\n'''\n\npage['example'] = ui.markup_card(\n box='1 1 2 2',\n title='Menu',\n content=menu,\n)\npage.save()\n")),Object(a.b)("p",null,Object(a.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(a.b)("a",{href:Object(o.a)("docs/examples/tags#html")},"html")," \u2002",Object(a.b)("a",{href:Object(o.a)("docs/examples/tags#markup")},"markup")))}d.isMDXComponent=!0},302:function(e,n,t){"use strict";t.d(n,"a",(function(){return d})),t.d(n,"b",(function(){return m}));var r=t(0),i=t.n(r);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var u=i.a.createContext({}),l=function(e){var n=i.a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},d=function(e){var n=l(e.components);return i.a.createElement(u.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return i.a.createElement(i.a.Fragment,{},n)}},f=i.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,o=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=l(t),f=r,m=d["".concat(o,".").concat(f)]||d[f]||p[f]||a;return t?i.a.createElement(m,s(s({ref:n},u),{},{components:t})):i.a.createElement(m,s({ref:n},u))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,o=new Array(a);o[0]=f;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s.mdxType="string"==typeof e?e:r,o[1]=s;for(var u=2;u\n
  • Spam
  • \n
  • Ham
  • \n
  • Eggs
  • \n\n'''\n\npage['example'] = ui.markup_card(\n box='1 1 2 2',\n title='Menu',\n content=menu,\n)\npage.save()\n")))}p.isMDXComponent=!0},300:function(e,n,t){"use strict";t.d(n,"a",(function(){return d})),t.d(n,"b",(function(){return E}));var r=t(0),i=t.n(r);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=i.a.createContext({}),p=function(e){var n=i.a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},d=function(e){var n=p(e.components);return i.a.createElement(l.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return i.a.createElement(i.a.Fragment,{},n)}},m=i.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,s=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),d=p(t),m=r,E=d["".concat(s,".").concat(m)]||d[m]||u[m]||a;return t?i.a.createElement(E,o(o({ref:n},l),{},{components:t})):i.a.createElement(E,o({ref:n},l))}));function E(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,s=new Array(a);s[0]=m;var o={};for(var c in n)hasOwnProperty.call(n,c)&&(o[c]=n[c]);o.originalType=e,o.mdxType="string"==typeof e?e:r,s[1]=o;for(var l=2;l 0.5 else 'BoxMultiplySolid'),\n notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)\n]\n\n# Create columns for our issue table.\ncolumns = [\n ui.table_column(name='text', label='Issue'),\n ui.table_column(name='status', label='Status'),\n ui.table_column(name='notifications', label='Notifications'),\n ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),\n ui.table_column(name='views', label='Views'),\n ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),\n]\n\n\n@app('/demo')\nasync def serve(q: Q):\n q.page['form'] = ui.form_card(box='1 1 -1 11', items=[\n ui.table(\n name='issues',\n columns=columns,\n rows=[ui.table_row(\n name=issue.id,\n cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for\n issue in issues],\n groupable=True,\n )])\n await q.page.save()\n")),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(o.b)("a",{href:Object(s.a)("docs/examples/tags#table")},"table")))}p.isMDXComponent=!0},302:function(e,n,t){"use strict";t.d(n,"a",(function(){return p})),t.d(n,"b",(function(){return m}));var r=t(0),a=t.n(r);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var u=a.a.createContext({}),c=function(e){var n=a.a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=c(e.components);return a.a.createElement(u.Provider,{value:n},e.children)},b={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},f=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=c(t),f=r,m=p["".concat(s,".").concat(f)]||p[f]||b[f]||o;return t?a.a.createElement(m,i(i({ref:n},u),{},{components:t})):a.a.createElement(m,i({ref:n},u))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,s=new Array(o);s[0]=f;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i.mdxType="string"==typeof e?e:r,s[1]=i;for(var u=2;u 0.5 else 'BoxMultiplySolid'),\n notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)\n]\n\n# Create columns for our issue table.\ncolumns = [\n ui.table_column(name='text', label='Issue'),\n ui.table_column(name='status', label='Status'),\n ui.table_column(name='notifications', label='Notifications'),\n ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),\n ui.table_column(name='views', label='Views'),\n ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),\n]\n\n\n@app('/demo')\nasync def serve(q: Q):\n q.page['form'] = ui.form_card(box='1 1 -1 11', items=[\n ui.table(\n name='issues',\n columns=columns,\n rows=[ui.table_row(\n name=issue.id,\n cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for\n issue in issues],\n groupable=True,\n )])\n await q.page.save()\n")))}c.isMDXComponent=!0},300:function(e,n,t){"use strict";t.d(n,"a",(function(){return p})),t.d(n,"b",(function(){return f}));var r=t(0),a=t.n(r);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var u=a.a.createContext({}),c=function(e){var n=a.a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=c(e.components);return a.a.createElement(u.Provider,{value:n},e.children)},b={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},m=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=c(t),m=r,f=p["".concat(s,".").concat(m)]||p[m]||b[m]||o;return t?a.a.createElement(f,i(i({ref:n},u),{},{components:t})):a.a.createElement(f,i({ref:n},u))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,s=new Array(o);s[0]=m;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i.mdxType="string"==typeof e?e:r,s[1]=i;for(var u=2;u -v "),'\nor via the "My Apps"/"My Instances" page.'),Object(r.b)("p",null,"See ",Object(r.b)("a",Object(n.a)({parentName:"p"},{href:"developer-guide#cli"}),"Developer Guide")," for details on managing app instances."),Object(r.b)("h3",{id:"tag-authorization-for-users-with-full-access"},"Tag Authorization for Users with Full Access"),Object(r.b)("p",null,"Access to tags is governed by the following rules:"),Object(r.b)("ul",null,Object(r.b)("li",{parentName:"ul"},'All users with "full access" can see all tags and tag assignments'),Object(r.b)("li",{parentName:"ul"},"A tag can only be assigned/removed/updated by users having a role (as determined by the auth provider)\nthat is present in the tag's ",Object(r.b)("inlineCode",{parentName:"li"},"Admin Roles"),' list; empty means any user with "full access" is allowed'),Object(r.b)("li",{parentName:"ul"},"Currently, tags can only be created by admins")),Object(r.b)("p",null,"See ",Object(r.b)("a",Object(n.a)({parentName:"p"},{href:"developer-guide#managing-app-tags"}),"Developer Guide")," for details on managing tags."),Object(r.b)("h3",{id:"authorization-for-visitors"},"Authorization for Visitors"),Object(r.b)("p",null,'Visitors, a.k.a., users without "full access", have limited permissions within the platform:'),Object(r.b)("ul",null,Object(r.b)("li",{parentName:"ul"},"Visitors can only ever see their own instances, regardless of instance visibility (technically,\nthey can also access UI of the ",Object(r.b)("inlineCode",{parentName:"li"},"PUBLIC")," instances, if given the URL)"),Object(r.b)("li",{parentName:"ul"},"Visitors cannot see app logs, not even for their own instances "),Object(r.b)("li",{parentName:"ul"},"Visitors cannot import apps into the platform"),Object(r.b)("li",{parentName:"ul"},"Visitors can only see/run ",Object(r.b)("inlineCode",{parentName:"li"},"ALL_USERS")," apps that have a tag which includes one of the visitor's roles\n(as determined by the auth provider) in the tag's ",Object(r.b)("inlineCode",{parentName:"li"},"Visitor Roles"),"; empty means no visitors are allowed",Object(r.b)("ul",{parentName:"li"},Object(r.b)("li",{parentName:"ul"},Object(r.b)("em",{parentName:"li"},"Example"),": Visitor ",Object(r.b)("inlineCode",{parentName:"li"},"UA")," has role ",Object(r.b)("inlineCode",{parentName:"li"},"RA"),", visitor ",Object(r.b)("inlineCode",{parentName:"li"},"UB")," has role ",Object(r.b)("inlineCode",{parentName:"li"},"RB"),", tag ",Object(r.b)("inlineCode",{parentName:"li"},"TA")," has ",Object(r.b)("inlineCode",{parentName:"li"},"Visitor Roles")," ",Object(r.b)("inlineCode",{parentName:"li"},"RA, RC"),", tag\n",Object(r.b)("inlineCode",{parentName:"li"},"TB")," has ",Object(r.b)("inlineCode",{parentName:"li"},"Visitor Roles")," ",Object(r.b)("inlineCode",{parentName:"li"},"RB"),", app ",Object(r.b)("inlineCode",{parentName:"li"},"A1")," has no tags, app ",Object(r.b)("inlineCode",{parentName:"li"},"A2")," has tag ",Object(r.b)("inlineCode",{parentName:"li"},"TA"),", app ",Object(r.b)("inlineCode",{parentName:"li"},"A3")," has tags ",Object(r.b)("inlineCode",{parentName:"li"},"TA, TB")," but is ",Object(r.b)("inlineCode",{parentName:"li"},"PRIVATE"),".\nIn this case, user ",Object(r.b)("inlineCode",{parentName:"li"},"UA")," can see and run app ",Object(r.b)("inlineCode",{parentName:"li"},"A2"),", while ",Object(r.b)("inlineCode",{parentName:"li"},"UB")," cannot see or run any apps."))),Object(r.b)("li",{parentName:"ul"},"Visitors cannot see tags or tag assignments")),Object(r.b)("h3",{id:"authorization-for-admins"},"Authorization for Admins"),Object(r.b)("p",null,"The admin API gives admins read/write access to all apps/instances/tags.\nNote that the admin API does not allow access to the app UI itself, meaning admins cannot access UI of ",Object(r.b)("inlineCode",{parentName:"p"},"PRIVATE")," instances.\nSimilarly, admins cannot impersonate another user, e.g., for the purposes of importing/running an app."))}p.isMDXComponent=!0},300:function(e,t,a){"use strict";a.d(t,"a",(function(){return b})),a.d(t,"b",(function(){return m}));var n=a(0),i=a.n(n);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var c=i.a.createContext({}),p=function(e){var t=i.a.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},b=function(e){var t=p(e.components);return i.a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},d=i.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,r=e.originalType,s=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),b=p(a),d=n,m=b["".concat(s,".").concat(d)]||b[d]||u[d]||r;return a?i.a.createElement(m,l(l({ref:t},c),{},{components:a})):i.a.createElement(m,l({ref:t},c))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=a.length,s=new Array(r);s[0]=d;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l.mdxType="string"==typeof e?e:n,s[1]=l;for(var c=2;c=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),l=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=l(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=l(r),m=n,d=p["".concat(i,".").concat(m)]||p[m]||f[m]||o;return r?a.a.createElement(d,c(c({ref:t},s),{},{components:r})):a.a.createElement(d,c({ref:t},s))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=m;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),u=s(r),f=n,d=u["".concat(i,".").concat(f)]||u[f]||m[f]||o;return r?a.a.createElement(d,c(c({ref:t},l),{},{components:r})):a.a.createElement(d,c({ref:t},l))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=f;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),p=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},l=function(e){var t=p(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),l=p(r),m=n,d=l["".concat(c,".").concat(m)]||l[m]||f[m]||o;return r?a.a.createElement(d,i(i({ref:t},s),{},{components:r})):a.a.createElement(d,i({ref:t},s))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=m;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):p(p({},t),e)),r},u=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),u=s(r),f=n,d=u["".concat(c,".").concat(f)]||u[f]||m[f]||o;return r?a.a.createElement(d,p(p({ref:t},l),{},{components:r})):a.a.createElement(d,p({ref:t},l))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=f;var p={};for(var i in t)hasOwnProperty.call(t,i)&&(p[i]=t[i]);p.originalType=e,p.mdxType="string"==typeof e?e:n,c[1]=p;for(var l=2;l=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=a.a.createContext({}),f=function(e){var r=a.a.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},p=function(e){var r=f(e.components);return a.a.createElement(s.Provider,{value:r},e.children)},m={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},l=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=f(t),l=n,d=p["".concat(c,".").concat(l)]||p[l]||m[l]||o;return t?a.a.createElement(d,i(i({ref:r},s),{},{components:t})):a.a.createElement(d,i({ref:r},s))}));function d(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,c=new Array(o);c[0]=l;var i={};for(var u in r)hasOwnProperty.call(r,u)&&(i[u]=r[u]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var s=2;s=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var m=a.a.createContext({}),s=function(e){var r=a.a.useContext(m),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},l=function(e){var r=s(e.components);return a.a.createElement(m.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},f=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,m=p(e,["components","mdxType","originalType","parentName"]),l=s(t),f=n,d=l["".concat(c,".").concat(f)]||l[f]||u[f]||o;return t?a.a.createElement(d,i(i({ref:r},m),{},{components:t})):a.a.createElement(d,i({ref:r},m))}));function d(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,c=new Array(o);c[0]=f;var i={};for(var p in r)hasOwnProperty.call(r,p)&&(i[p]=r[p]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var m=2;m=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),l=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=l(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(r),d=n,m=p["".concat(o,".").concat(d)]||p[d]||f[d]||i;return r?a.a.createElement(m,c(c({ref:t},u),{},{components:r})):a.a.createElement(m,c({ref:t},u))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=d;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var u=2;u=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=a.a.createContext({}),s=function(e){var t=a.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=s(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(r),m=n,d=u["".concat(o,".").concat(m)]||u[m]||f[m]||i;return r?a.a.createElement(d,c(c({ref:t},p),{},{components:r})):a.a.createElement(d,c({ref:t},p))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var p=2;p=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=o.a.createContext({}),s=function(e){var t=o.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):u(u({},t),e)),r},b=function(e){var t=s(e.components);return o.a.createElement(l.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},p=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,l=x(e,["components","mdxType","originalType","parentName"]),b=s(r),p=n,d=b["".concat(i,".").concat(p)]||b[p]||c[p]||a;return r?o.a.createElement(d,u(u({ref:t},l),{},{components:r})):o.a.createElement(d,u({ref:t},l))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=p;var u={};for(var x in t)hasOwnProperty.call(t,x)&&(u[x]=t[x]);u.originalType=e,u.mdxType="string"==typeof e?e:n,i[1]=u;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var b=a.a.createContext({}),u=function(e){var t=a.a.useContext(b),r=t;return e&&(r="function"==typeof e?e(t):x(x({},t),e)),r},s=function(e){var t=u(e.components);return a.a.createElement(b.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},p=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,b=l(e,["components","mdxType","originalType","parentName"]),s=u(r),p=n,d=s["".concat(i,".").concat(p)]||s[p]||c[p]||o;return r?a.a.createElement(d,x(x({ref:t},b),{},{components:r})):a.a.createElement(d,x({ref:t},b))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=p;var x={};for(var l in t)hasOwnProperty.call(t,l)&&(x[l]=t[l]);x.originalType=e,x.mdxType="string"==typeof e?e:n,i[1]=x;for(var b=2;b=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=r.a.createContext({}),u=function(e){var n=r.a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},m=function(e){var n=u(e.components);return r.a.createElement(s.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},d=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),m=u(t),d=a,f=m["".concat(i,".").concat(d)]||m[d]||p[d]||o;return t?r.a.createElement(f,c(c({ref:n},s),{},{components:t})):r.a.createElement(f,c({ref:n},s))}));function f(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=d;var c={};for(var l in n)hasOwnProperty.call(n,l)&&(c[l]=n[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var s=2;s=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=r.a.createContext({}),m=function(e){var n=r.a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},p=function(e){var n=m(e.components);return r.a.createElement(s.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},u=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),p=m(t),u=a,f=p["".concat(i,".").concat(u)]||p[u]||d[u]||o;return t?r.a.createElement(f,c(c({ref:n},s),{},{components:t})):r.a.createElement(f,c({ref:n},s))}));function f(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=u;var c={};for(var l in n)hasOwnProperty.call(n,l)&&(c[l]=n[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var s=2;s=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},m=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,c=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),m=s(n),d=r,f=m["".concat(i,".").concat(d)]||m[d]||u[d]||c;return n?a.a.createElement(f,o(o({ref:t},l),{},{components:n})):a.a.createElement(f,o({ref:t},l))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var c=n.length,i=new Array(c);i[0]=d;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),p=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},l=function(e){var t=p(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,c=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),l=p(r),m=n,d=l["".concat(i,".").concat(m)]||l[m]||f[m]||c;return r?a.a.createElement(d,o(o({ref:t},u),{},{components:r})):a.a.createElement(d,o({ref:t},u))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var c=r.length,i=new Array(c);i[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var u=2;u=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=o.a.createContext({}),p=function(e){var t=o.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=p(e.components);return o.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),s=p(r),d=n,m=s["".concat(i,".").concat(d)]||s[d]||f[d]||a;return r?o.a.createElement(m,c(c({ref:t},l),{},{components:r})):o.a.createElement(m,c({ref:t},l))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=a.a.createContext({}),u=function(e){var t=a.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):p(p({},t),e)),r},s=function(e){var t=u(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),s=u(r),d=n,f=s["".concat(i,".").concat(d)]||s[d]||m[d]||o;return r?a.a.createElement(f,p(p({ref:t},c),{},{components:r})):a.a.createElement(f,p({ref:t},c))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var p={};for(var l in t)hasOwnProperty.call(t,l)&&(p[l]=t[l]);p.originalType=e,p.mdxType="string"==typeof e?e:n,i[1]=p;for(var c=2;c=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=a.a.createContext({}),l=function(e){var r=a.a.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},s=function(e){var r=l(e.components);return a.a.createElement(c.Provider,{value:r},e.children)},g={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},S=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,p=e.originalType,A=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),s=l(t),S=n,u=s["".concat(A,".").concat(S)]||s[S]||g[S]||p;return t?a.a.createElement(u,i(i({ref:r},c),{},{components:t})):a.a.createElement(u,i({ref:r},c))}));function u(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var p=t.length,A=new Array(p);A[0]=S;var i={};for(var o in r)hasOwnProperty.call(r,o)&&(i[o]=r[o]);i.originalType=e,i.mdxType="string"==typeof e?e:n,A[1]=i;for(var c=2;c=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var A=a.a.createContext({}),l=function(e){var r=a.a.useContext(A),t=r;return e&&(t="function"==typeof e?e(r):p(p({},r),e)),t},s=function(e){var r=l(e.components);return a.a.createElement(A.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},g=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,A=c(e,["components","mdxType","originalType","parentName"]),s=l(t),g=n,S=s["".concat(o,".").concat(g)]||s[g]||u[g]||i;return t?a.a.createElement(S,p(p({ref:r},A),{},{components:t})):a.a.createElement(S,p({ref:r},A))}));function S(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=t.length,o=new Array(i);o[0]=g;var p={};for(var c in r)hasOwnProperty.call(r,c)&&(p[c]=r[c]);p.originalType=e,p.mdxType="string"==typeof e?e:n,o[1]=p;for(var A=2;A',id:"arc",children:[]},{value:'circle
    ',id:"circle",children:[]},{value:'draw ',id:"draw",children:[]},{value:'ellipse ',id:"ellipse",children:[]},{value:'image ',id:"image",children:[]},{value:'line ',id:"line",children:[]},{value:'p ',id:"p",children:[]},{value:'path ',id:"path",children:[]},{value:'polygon ',id:"polygon",children:[]},{value:'polyline ',id:"polyline",children:[]},{value:'rect ',id:"rect",children:[]},{value:'reset ',id:"reset",children:[]},{value:'scene ',id:"scene",children:[]},{value:'spline ',id:"spline",children:[]},{value:'stage ',id:"stage",children:[]},{value:'text ',id:"text",children:[]},{value:'turtle ',id:"turtle",children:[]},{value:'type_of ',id:"type_of",children:[]}]},{value:"Classes",id:"classes",children:[{value:'Path ',id:"path-1",children:[]},{value:'Turtle ',id:"turtle-1",children:[]}]}],r={rightToc:s};function o(e){var t=e.components,a=Object(b.a)(e,["components"]);return Object(l.b)("wrapper",Object(c.a)({},r,a,{components:t,mdxType:"MDXLayout"}),Object(l.b)("h2",{id:"functions"},"Functions"),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"arc"},"arc ",Object(l.b)("a",{name:"h2o_wave.graphics.arc"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"arc"),"(r1:\xa0float, r2:\xa0float, a1:\xa0float, a2:\xa0float, **kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw circular or annular sector, as in a pie or donut chart, centered at (0, 0)."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"r1")),Object(l.b)("dd",null,"inner radius."),Object(l.b)("dt",null,Object(l.b)("code",null,"r2")),Object(l.b)("dd",null,"outer radius."),Object(l.b)("dt",null,Object(l.b)("code",null,"a1")),Object(l.b)("dd",null,"start angle, in degrees."),Object(l.b)("dt",null,Object(l.b)("code",null,"a2")),Object(l.b)("dd",null,"end angle, in degrees."),Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"circle"},"circle ",Object(l.b)("a",{name:"h2o_wave.graphics.circle"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"circle"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a circle. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"draw"},"draw ",Object(l.b)("a",{name:"h2o_wave.graphics.draw"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"draw"),"(element:\xa0",Object(l.b)("a",{title:"h2o_wave.core.Ref",href:"core#h2o_wave.core.Ref"},"Ref"),", **kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Ref",href:"core#h2o_wave.core.Ref"},"Ref")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Schedule a redraw of the specified graphical element using the provided attributes."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"element")),Object(l.b)("dd",null,"A reference to a graphical element."),Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use while performing a redraw.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The element reference, without change.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"ellipse"},"ellipse ",Object(l.b)("a",{name:"h2o_wave.graphics.ellipse"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"ellipse"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw an ellipse. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"image"},"image ",Object(l.b)("a",{name:"h2o_wave.graphics.image"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"image"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw an image. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"line"},"line ",Object(l.b)("a",{name:"h2o_wave.graphics.line"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"line"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a line. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"p"},"p ",Object(l.b)("a",{name:"h2o_wave.graphics.p"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"p"),"() \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Create a new ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),"."),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"A new ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),".")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"path"},"path ",Object(l.b)("a",{name:"h2o_wave.graphics.path"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"path"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a path. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"polygon"},"polygon ",Object(l.b)("a",{name:"h2o_wave.graphics.polygon"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"polygon"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a polygon. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygon"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygon")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"polyline"},"polyline ",Object(l.b)("a",{name:"h2o_wave.graphics.polyline"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"polyline"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a polyline. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"rect"},"rect ",Object(l.b)("a",{name:"h2o_wave.graphics.rect"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"rect"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a rectangle. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"reset"},"reset ",Object(l.b)("a",{name:"h2o_wave.graphics.reset"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"reset"),"(element:\xa0",Object(l.b)("a",{title:"h2o_wave.core.Ref",href:"core#h2o_wave.core.Ref"},"Ref"),") \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Ref",href:"core#h2o_wave.core.Ref"},"Ref")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Schedule a redraw of the specified graphical element using its original attributes. Calling this function clears any changes performed using the ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.draw",href:"#h2o_wave.graphics.draw"},"draw()"))," function."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"element")),Object(l.b)("dd",null,"A reference to a graphical element.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The element reference, without change.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"scene"},"scene ",Object(l.b)("a",{name:"h2o_wave.graphics.scene"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"scene"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Create a scene. A scene holds graphic elements whose attributes need to be changed dynamically (causing a re-render). The return value must be assigned to the ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.scene",href:"#h2o_wave.graphics.scene"},"scene()"))," property of a ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.types.GraphicsCard",href:"types#h2o_wave.types.GraphicsCard"},"GraphicsCard")),"."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Graphical elements to render as part of the scene.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"A ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"spline"},"spline ",Object(l.b)("a",{name:"h2o_wave.graphics.spline"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"spline"),"(x:\xa0Union[List[Union[float,\xa0NoneType]],\xa0NoneType]\xa0=\xa0None, y:\xa0Union[List[Union[float,\xa0NoneType]],\xa0NoneType]\xa0=\xa0None, x0:\xa0Union[List[Union[float,\xa0NoneType]],\xa0NoneType]\xa0=\xa0None, y0:\xa0Union[List[Union[float,\xa0NoneType]],\xa0NoneType]\xa0=\xa0None, curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, radial:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, **kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a spline."),Object(l.b)("p",null,"If x, y are specified, draws a regular spline."),Object(l.b)("p",null,"If x, y, y0 are specified, draws a horizontal area spline. Sets baseline to zero if y0 is an empty list."),Object(l.b)("p",null,"If x, x0, y are specified, draws a vertical area spline. Sets baseline to zero if x0 is an empty list"),Object(l.b)("p",null,"Missing information is rendered as gaps in the spline."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinates."),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinates."),Object(l.b)("dt",null,Object(l.b)("code",null,"x0")),Object(l.b)("dd",null,"base x-coordinates."),Object(l.b)("dt",null,Object(l.b)("code",null,"y0")),Object(l.b)("dd",null,"base y-coordinates."),Object(l.b)("dt",null,Object(l.b)("code",null,"curve")),Object(l.b)("dd",null,"Interpolation. One of basis, basis-closed, basis-open, cardinal, cardinal-closed, cardinal-open, smooth, smooth-closed, smooth-open, linear, linear-closed, monotone-x, monotone-y, natural, step, step-after, step-before. Defaults to linear."),Object(l.b)("dt",null,Object(l.b)("code",null,"radial")),Object(l.b)("dd",null,"Whether (x, y) should be treated as (angle,radius) or (x0, x, y0, y) should be treated as (start-angle, end-angle, inner-radius, outer-radius)."),Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"stage"},"stage ",Object(l.b)("a",{name:"h2o_wave.graphics.stage"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"stage"),"(**kwargs) \u2011>\xa0str"),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Create a stage. A stage holds static graphics elements that are rendered as part of the background (behind the scene). The return value must be assigned to the ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.stage",href:"#h2o_wave.graphics.stage"},"stage()"))," property of a ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.types.GraphicsCard",href:"types#h2o_wave.types.GraphicsCard"},"GraphicsCard")),"."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Graphical elements to render as part of the stage.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Packed data.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"text"},"text ",Object(l.b)("a",{name:"h2o_wave.graphics.text"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"text"),"(text:\xa0str, **kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw text. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"text")),Object(l.b)("dd",null,"The text content."),Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"turtle"},"turtle ",Object(l.b)("a",{name:"h2o_wave.graphics.turtle"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"turtle"),"(x=0.0, y=0.0, degrees=0.0) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Create a new ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),"."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"initial position x"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"initial position y"),Object(l.b)("dt",null,Object(l.b)("code",null,"degrees")),Object(l.b)("dd",null,"initial angle in degrees")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"A new ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),".")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"type_of"},"type_of ",Object(l.b)("a",{name:"h2o_wave.graphics.type_of"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"type_of"),"(element:\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando"),") \u2011>\xa0Union[str,\xa0NoneType]"),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Get the type of the graphical element."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"element")),Object(l.b)("dd",null,"A graphical element.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"A string indicating the type of the element, e.g. 'circle', 'line', etc.")))),Object(l.b)("h2",{id:"classes"},"Classes"),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"path-1"},"Path ",Object(l.b)("a",{name:"h2o_wave.graphics.Path"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"class ",Object(l.b)("span",{class:"ident"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"A convenience class for drawing SVG paths.")),Object(l.b)("h4",{id:"methods"},"Methods"),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"a"},"A ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.A"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"A"),"(self, rx:\xa0float, ry:\xa0float, x_axis_rotation:\xa0float, large_arc:\xa0bool, sweep:\xa0bool, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws an elliptical arc from the current point to (x, y). The size and orientation of the ellipse are defined by two radii (rx, ry) and an ",Object(l.b)("code",null,"x_axis_rotation"),", which indicates how the ellipse as a whole is rotated, in degrees, relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. ",Object(l.b)("code",null,"large_arc")," and ",Object(l.b)("code",null,"sweep_flag"),"contribute to the automatic calculations and help determine how the arc is drawn. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"rx")),Object(l.b)("dd",null,"x-radius"),Object(l.b)("dt",null,Object(l.b)("code",null,"ry")),Object(l.b)("dd",null,"y-radius"),Object(l.b)("dt",null,Object(l.b)("code",null,"x_axis_rotation")),Object(l.b)("dd",null,"Rotation in degrees."),Object(l.b)("dt",null,Object(l.b)("code",null,"large_arc")),Object(l.b)("dd",null,"Determines if the arc should be greater than or less than 180 degrees."),Object(l.b)("dt",null,Object(l.b)("code",null,"sweep")),Object(l.b)("dd",null,"Determines if the arc should begin moving at positive angles or negative ones."),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"c"},"C ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.C"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"C"),"(self, x1:\xa0float, y1:\xa0float, x2:\xa0float, y2:\xa0float, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a cubic B\xe9zier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x1")),Object(l.b)("dd",null,"x-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y1")),Object(l.b)("dd",null,"y-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x2")),Object(l.b)("dd",null,"x-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y2")),Object(l.b)("dd",null,"y-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"h"},"H ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.H"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"H"),"(self, x:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a horizontal line from the current point. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"l"},"L ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.L"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"L"),"(self, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a line from the current point to the given (x,y) coordinate which becomes the new current point. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"m"},"M ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.M"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"M"),"(self, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Start a new sub-path at the given (x,y) coordinates. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"q"},"Q ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.Q"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"Q"),"(self, x1:\xa0float, y1:\xa0float, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a quadratic B\xe9zier curve from the current point to (x,y) using (x1,y1) as the control point. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x1")),Object(l.b)("dd",null,"x-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y1")),Object(l.b)("dd",null,"y-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"s"},"S ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.S"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"S"),"(self, x2:\xa0float, y2:\xa0float, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a cubic B\xe9zier curve from the current point to (x,y). The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (x2,y2) is the second control point (i.e., the control point at the end of the curve). In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x2")),Object(l.b)("dd",null,"x-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y2")),Object(l.b)("dd",null,"y-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"t"},"T ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.T"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"T"),"(self, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a quadratic B\xe9zier curve from the current point to (x,y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"v"},"V ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.V"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"V"),"(self, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a vertical line from the current point. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"z"},"Z ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.Z"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"Z"),"(self) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Close the current subpath by connecting it back to the current subpath's initial point."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataClosePathCommand"},"https://www.w3.org/TR/SVG/paths.html#PathDataClosePathCommand")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"a-1"},"a ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.a"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"a"),"(self, rx:\xa0float, ry:\xa0float, x_axis_rotation:\xa0float, large_arc:\xa0bool, sweep:\xa0bool, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws an elliptical arc from the current point to (x, y). The size and orientation of the ellipse are defined by two radii (rx, ry) and an ",Object(l.b)("code",null,"x_axis_rotation"),", which indicates how the ellipse as a whole is rotated, in degrees, relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. ",Object(l.b)("code",null,"large_arc")," and ",Object(l.b)("code",null,"sweep_flag"),"contribute to the automatic calculations and help determine how the arc is drawn. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"rx")),Object(l.b)("dd",null,"x-radius"),Object(l.b)("dt",null,Object(l.b)("code",null,"ry")),Object(l.b)("dd",null,"y-radius"),Object(l.b)("dt",null,Object(l.b)("code",null,"x_axis_rotation")),Object(l.b)("dd",null,"Rotation in degrees."),Object(l.b)("dt",null,Object(l.b)("code",null,"large_arc")),Object(l.b)("dd",null,"Determines if the arc should be greater than or less than 180 degrees."),Object(l.b)("dt",null,Object(l.b)("code",null,"sweep")),Object(l.b)("dd",null,"Determines if the arc should begin moving at positive angles or negative ones."),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"c-1"},"c ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.c"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"c"),"(self, x1:\xa0float, y1:\xa0float, x2:\xa0float, y2:\xa0float, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a cubic B\xe9zier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x1")),Object(l.b)("dd",null,"x-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y1")),Object(l.b)("dd",null,"y-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x2")),Object(l.b)("dd",null,"x-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y2")),Object(l.b)("dd",null,"y-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"d"},"d ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.d"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"d"),"(self) \u2011>\xa0str"),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Serialize this path's commands into SVG path data."),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The ",Object(l.b)("code",null,"d")," attribute for a SVG path.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"h-1"},"h ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.h"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"h"),"(self, x:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a horizontal line from the current point. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"l-1"},"l ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.l"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"l"),"(self, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a line from the current point to the given (x,y) coordinate which becomes the new current point. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"m-1"},"m ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.m"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"m"),"(self, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Start a new sub-path at the given (x,y) coordinates. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"path-2"},"path ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.path"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"path"),"(self, **kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"A SVG path element representing the commands in this ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance. Same as calling ",Object(l.b)("code",null,"h2o_wave.graphics.path(d=path.d())")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Additional attributes for the SVG path element.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"A SVG path element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"q-1"},"q ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.q"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"q"),"(self, x1:\xa0float, y1:\xa0float, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a quadratic B\xe9zier curve from the current point to (x,y) using (x1,y1) as the control point. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x1")),Object(l.b)("dd",null,"x-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y1")),Object(l.b)("dd",null,"y-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"s-1"},"s ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.s"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"s"),"(self, x2:\xa0float, y2:\xa0float, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a cubic B\xe9zier curve from the current point to (x,y). The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (x2,y2) is the second control point (i.e., the control point at the end of the curve). In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x2")),Object(l.b)("dd",null,"x-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y2")),Object(l.b)("dd",null,"y-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"t-1"},"t ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.t"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"t"),"(self, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a quadratic B\xe9zier curve from the current point to (x,y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"v-1"},"v ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.v"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"v"),"(self, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a vertical line from the current point. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"z-1"},"z ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.z"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"z"),"(self) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Close the current subpath by connecting it back to the current subpath's initial point."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataClosePathCommand"},"https://www.w3.org/TR/SVG/paths.html#PathDataClosePathCommand")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance."))))))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"turtle-1"},"Turtle ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"class ",Object(l.b)("span",{class:"ident"},"Turtle"),"(x=0.0, y=0.0, degrees=0.0)"),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"A Logo-like Turtle implementation for generating SVG paths. This is not a complete Turtle implementation. Contains a useful subset relevant to generating paths without using trigonometry or mental gymnastics."),Object(l.b)("p",null,"Create a Turtle."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"initial position x"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"initial position y"),Object(l.b)("dt",null,Object(l.b)("code",null,"degrees")),Object(l.b)("dd",null,"initial angle in degrees"))),Object(l.b)("h4",{id:"methods-1"},"Methods"),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"a-2"},"a ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.a"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"a"),"(self, degrees:\xa0float\xa0=\xa00) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Set the turtle's orientation."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"degrees")),Object(l.b)("dd",null,"angle in degrees")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"b"},"b ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.b"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"b"),"(self, distance:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Move backward."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"distance")),Object(l.b)("dd",null,"Distance to move by.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"d-1"},"d ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.d"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"d"),"(self) \u2011>\xa0str"),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Serialize this turtle's movements into SVG path data."),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The ",Object(l.b)("code",null,"d")," attribute for a SVG path.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"f"},"f ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.f"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"f"),"(self, distance:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Move forward."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"distance")),Object(l.b)("dd",null,"Distance to move by.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"l-2"},"l ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.l"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"l"),"(self, degrees:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Turn left."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"degrees")),Object(l.b)("dd",null,"Angle in degrees.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"p-1"},"p ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.p"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"p"),"(self, x:\xa0float\xa0=\xa00.0, y:\xa0float\xa0=\xa00.0) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Set the turtle's position."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"path-3"},"path ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.path"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"path"),"(self, **kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Create a SVG path element that represents this turtle's movements."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Additional attributes for the SVG path element.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"A SVG path element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"pd"},"pd ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.pd"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"pd"),"(self) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Pen down."),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"pu"},"pu ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.pu"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"pu"),"(self, close:\xa0bool) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Pen up."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"close")),Object(l.b)("dd",null,"Whether to close the current subpath.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"r"},"r ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.r"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"r"),"(self, degrees:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Turn right."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"degrees")),Object(l.b)("dd",null,"Angle in degrees.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance."))))))))}o.isMDXComponent=!0},300:function(e,t,a){"use strict";a.d(t,"a",(function(){return d})),a.d(t,"b",(function(){return O}));var c=a(0),b=a.n(c);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);t&&(c=c.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,c)}return a}function i(e){for(var t=1;t=0||(b[a]=e[a]);return b}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(c=0;c=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(b[a]=e[a])}return b}var r=b.a.createContext({}),o=function(e){var t=b.a.useContext(r),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=o(e.components);return b.a.createElement(r.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return b.a.createElement(b.a.Fragment,{},t)}},p=b.a.forwardRef((function(e,t){var a=e.components,c=e.mdxType,l=e.originalType,n=e.parentName,r=s(e,["components","mdxType","originalType","parentName"]),d=o(a),p=c,O=d["".concat(n,".").concat(p)]||d[p]||h[p]||l;return a?b.a.createElement(O,i(i({ref:t},r),{},{components:a})):b.a.createElement(O,i({ref:t},r))}));function O(e,t){var a=arguments,c=t&&t.mdxType;if("string"==typeof e||c){var l=a.length,n=new Array(l);n[0]=p;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:c,n[1]=i;for(var r=2;r',id:"arc",children:[]},{value:'circle ',id:"circle",children:[]},{value:'draw ',id:"draw",children:[]},{value:'ellipse ',id:"ellipse",children:[]},{value:'image ',id:"image",children:[]},{value:'line ',id:"line",children:[]},{value:'p ',id:"p",children:[]},{value:'path ',id:"path",children:[]},{value:'polygon ',id:"polygon",children:[]},{value:'polyline ',id:"polyline",children:[]},{value:'rect ',id:"rect",children:[]},{value:'reset ',id:"reset",children:[]},{value:'scene ',id:"scene",children:[]},{value:'spline ',id:"spline",children:[]},{value:'stage ',id:"stage",children:[]},{value:'text ',id:"text",children:[]},{value:'turtle ',id:"turtle",children:[]},{value:'type_of ',id:"type_of",children:[]}]},{value:"Classes",id:"classes",children:[{value:'Path ',id:"path-1",children:[]},{value:'Turtle ',id:"turtle-1",children:[]}]}],r={rightToc:s};function o(e){var t=e.components,a=Object(b.a)(e,["components"]);return Object(l.b)("wrapper",Object(c.a)({},r,a,{components:t,mdxType:"MDXLayout"}),Object(l.b)("h2",{id:"functions"},"Functions"),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"arc"},"arc ",Object(l.b)("a",{name:"h2o_wave.graphics.arc"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"arc"),"(r1:\xa0float, r2:\xa0float, a1:\xa0float, a2:\xa0float, **kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw circular or annular sector, as in a pie or donut chart, centered at (0, 0)."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"r1")),Object(l.b)("dd",null,"inner radius."),Object(l.b)("dt",null,Object(l.b)("code",null,"r2")),Object(l.b)("dd",null,"outer radius."),Object(l.b)("dt",null,Object(l.b)("code",null,"a1")),Object(l.b)("dd",null,"start angle, in degrees."),Object(l.b)("dt",null,Object(l.b)("code",null,"a2")),Object(l.b)("dd",null,"end angle, in degrees."),Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"circle"},"circle ",Object(l.b)("a",{name:"h2o_wave.graphics.circle"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"circle"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a circle. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"draw"},"draw ",Object(l.b)("a",{name:"h2o_wave.graphics.draw"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"draw"),"(element:\xa0",Object(l.b)("a",{title:"h2o_wave.core.Ref",href:"core#h2o_wave.core.Ref"},"Ref"),", **kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Ref",href:"core#h2o_wave.core.Ref"},"Ref")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Schedule a redraw of the specified graphical element using the provided attributes."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"element")),Object(l.b)("dd",null,"A reference to a graphical element."),Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use while performing a redraw.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The element reference, without change.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"ellipse"},"ellipse ",Object(l.b)("a",{name:"h2o_wave.graphics.ellipse"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"ellipse"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw an ellipse. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"image"},"image ",Object(l.b)("a",{name:"h2o_wave.graphics.image"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"image"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw an image. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"line"},"line ",Object(l.b)("a",{name:"h2o_wave.graphics.line"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"line"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a line. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"p"},"p ",Object(l.b)("a",{name:"h2o_wave.graphics.p"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"p"),"() \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Create a new ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),"."),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"A new ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),".")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"path"},"path ",Object(l.b)("a",{name:"h2o_wave.graphics.path"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"path"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a path. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"polygon"},"polygon ",Object(l.b)("a",{name:"h2o_wave.graphics.polygon"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"polygon"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a polygon. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygon"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygon")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"polyline"},"polyline ",Object(l.b)("a",{name:"h2o_wave.graphics.polyline"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"polyline"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a polyline. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"rect"},"rect ",Object(l.b)("a",{name:"h2o_wave.graphics.rect"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"rect"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a rectangle. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"reset"},"reset ",Object(l.b)("a",{name:"h2o_wave.graphics.reset"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"reset"),"(element:\xa0",Object(l.b)("a",{title:"h2o_wave.core.Ref",href:"core#h2o_wave.core.Ref"},"Ref"),") \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Ref",href:"core#h2o_wave.core.Ref"},"Ref")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Schedule a redraw of the specified graphical element using its original attributes. Calling this function clears any changes performed using the ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.draw",href:"#h2o_wave.graphics.draw"},"draw()"))," function."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"element")),Object(l.b)("dd",null,"A reference to a graphical element.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The element reference, without change.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"scene"},"scene ",Object(l.b)("a",{name:"h2o_wave.graphics.scene"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"scene"),"(**kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Create a scene. A scene holds graphic elements whose attributes need to be changed dynamically (causing a re-render). The return value must be assigned to the ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.scene",href:"#h2o_wave.graphics.scene"},"scene()"))," property of a ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.types.GraphicsCard",href:"types#h2o_wave.types.GraphicsCard"},"GraphicsCard")),"."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Graphical elements to render as part of the scene.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"A ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"spline"},"spline ",Object(l.b)("a",{name:"h2o_wave.graphics.spline"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"spline"),"(x:\xa0Union[List[Union[float,\xa0NoneType]],\xa0NoneType]\xa0=\xa0None, y:\xa0Union[List[Union[float,\xa0NoneType]],\xa0NoneType]\xa0=\xa0None, x0:\xa0Union[List[Union[float,\xa0NoneType]],\xa0NoneType]\xa0=\xa0None, y0:\xa0Union[List[Union[float,\xa0NoneType]],\xa0NoneType]\xa0=\xa0None, curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, radial:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, **kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a spline."),Object(l.b)("p",null,"If x, y are specified, draws a regular spline."),Object(l.b)("p",null,"If x, y, y0 are specified, draws a horizontal area spline. Sets baseline to zero if y0 is an empty list."),Object(l.b)("p",null,"If x, x0, y are specified, draws a vertical area spline. Sets baseline to zero if x0 is an empty list"),Object(l.b)("p",null,"Missing information is rendered as gaps in the spline."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinates."),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinates."),Object(l.b)("dt",null,Object(l.b)("code",null,"x0")),Object(l.b)("dd",null,"base x-coordinates."),Object(l.b)("dt",null,Object(l.b)("code",null,"y0")),Object(l.b)("dd",null,"base y-coordinates."),Object(l.b)("dt",null,Object(l.b)("code",null,"curve")),Object(l.b)("dd",null,"Interpolation. One of basis, basis-closed, basis-open, cardinal, cardinal-closed, cardinal-open, smooth, smooth-closed, smooth-open, linear, linear-closed, monotone-x, monotone-y, natural, step, step-after, step-before. Defaults to linear."),Object(l.b)("dt",null,Object(l.b)("code",null,"radial")),Object(l.b)("dd",null,"Whether (x, y) should be treated as (angle,radius) or (x0, x, y0, y) should be treated as (start-angle, end-angle, inner-radius, outer-radius)."),Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"stage"},"stage ",Object(l.b)("a",{name:"h2o_wave.graphics.stage"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"stage"),"(**kwargs) \u2011>\xa0str"),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Create a stage. A stage holds static graphics elements that are rendered as part of the background (behind the scene). The return value must be assigned to the ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.stage",href:"#h2o_wave.graphics.stage"},"stage()"))," property of a ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.types.GraphicsCard",href:"types#h2o_wave.types.GraphicsCard"},"GraphicsCard")),"."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Graphical elements to render as part of the stage.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Packed data.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"text"},"text ",Object(l.b)("a",{name:"h2o_wave.graphics.text"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"text"),"(text:\xa0str, **kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw text. See ",Object(l.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"text")),Object(l.b)("dd",null,"The text content."),Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Attributes to use for the initial render. SVG attributes, snake-cased.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"Data for the graphical element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"turtle"},"turtle ",Object(l.b)("a",{name:"h2o_wave.graphics.turtle"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"turtle"),"(x=0.0, y=0.0, degrees=0.0) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Create a new ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),"."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"initial position x"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"initial position y"),Object(l.b)("dt",null,Object(l.b)("code",null,"degrees")),Object(l.b)("dd",null,"initial angle in degrees")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"A new ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),".")))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"type_of"},"type_of ",Object(l.b)("a",{name:"h2o_wave.graphics.type_of"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"type_of"),"(element:\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando"),") \u2011>\xa0Union[str,\xa0NoneType]"),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Get the type of the graphical element."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"element")),Object(l.b)("dd",null,"A graphical element.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"A string indicating the type of the element, e.g. 'circle', 'line', etc.")))),Object(l.b)("h2",{id:"classes"},"Classes"),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"path-1"},"Path ",Object(l.b)("a",{name:"h2o_wave.graphics.Path"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"class ",Object(l.b)("span",{class:"ident"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"A convenience class for drawing SVG paths.")),Object(l.b)("h4",{id:"methods"},"Methods"),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"a"},"A ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.A"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"A"),"(self, rx:\xa0float, ry:\xa0float, x_axis_rotation:\xa0float, large_arc:\xa0bool, sweep:\xa0bool, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws an elliptical arc from the current point to (x, y). The size and orientation of the ellipse are defined by two radii (rx, ry) and an ",Object(l.b)("code",null,"x_axis_rotation"),", which indicates how the ellipse as a whole is rotated, in degrees, relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. ",Object(l.b)("code",null,"large_arc")," and ",Object(l.b)("code",null,"sweep_flag"),"contribute to the automatic calculations and help determine how the arc is drawn. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"rx")),Object(l.b)("dd",null,"x-radius"),Object(l.b)("dt",null,Object(l.b)("code",null,"ry")),Object(l.b)("dd",null,"y-radius"),Object(l.b)("dt",null,Object(l.b)("code",null,"x_axis_rotation")),Object(l.b)("dd",null,"Rotation in degrees."),Object(l.b)("dt",null,Object(l.b)("code",null,"large_arc")),Object(l.b)("dd",null,"Determines if the arc should be greater than or less than 180 degrees."),Object(l.b)("dt",null,Object(l.b)("code",null,"sweep")),Object(l.b)("dd",null,"Determines if the arc should begin moving at positive angles or negative ones."),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"c"},"C ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.C"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"C"),"(self, x1:\xa0float, y1:\xa0float, x2:\xa0float, y2:\xa0float, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a cubic B\xe9zier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x1")),Object(l.b)("dd",null,"x-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y1")),Object(l.b)("dd",null,"y-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x2")),Object(l.b)("dd",null,"x-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y2")),Object(l.b)("dd",null,"y-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"h"},"H ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.H"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"H"),"(self, x:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a horizontal line from the current point. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"l"},"L ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.L"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"L"),"(self, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a line from the current point to the given (x,y) coordinate which becomes the new current point. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"m"},"M ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.M"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"M"),"(self, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Start a new sub-path at the given (x,y) coordinates. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"q"},"Q ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.Q"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"Q"),"(self, x1:\xa0float, y1:\xa0float, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a quadratic B\xe9zier curve from the current point to (x,y) using (x1,y1) as the control point. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x1")),Object(l.b)("dd",null,"x-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y1")),Object(l.b)("dd",null,"y-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"s"},"S ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.S"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"S"),"(self, x2:\xa0float, y2:\xa0float, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a cubic B\xe9zier curve from the current point to (x,y). The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (x2,y2) is the second control point (i.e., the control point at the end of the curve). In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x2")),Object(l.b)("dd",null,"x-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y2")),Object(l.b)("dd",null,"y-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"t"},"T ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.T"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"T"),"(self, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a quadratic B\xe9zier curve from the current point to (x,y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"v"},"V ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.V"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"V"),"(self, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a vertical line from the current point. In absolute coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"z"},"Z ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.Z"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"Z"),"(self) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Close the current subpath by connecting it back to the current subpath's initial point."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataClosePathCommand"},"https://www.w3.org/TR/SVG/paths.html#PathDataClosePathCommand")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"a-1"},"a ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.a"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"a"),"(self, rx:\xa0float, ry:\xa0float, x_axis_rotation:\xa0float, large_arc:\xa0bool, sweep:\xa0bool, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws an elliptical arc from the current point to (x, y). The size and orientation of the ellipse are defined by two radii (rx, ry) and an ",Object(l.b)("code",null,"x_axis_rotation"),", which indicates how the ellipse as a whole is rotated, in degrees, relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. ",Object(l.b)("code",null,"large_arc")," and ",Object(l.b)("code",null,"sweep_flag"),"contribute to the automatic calculations and help determine how the arc is drawn. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"rx")),Object(l.b)("dd",null,"x-radius"),Object(l.b)("dt",null,Object(l.b)("code",null,"ry")),Object(l.b)("dd",null,"y-radius"),Object(l.b)("dt",null,Object(l.b)("code",null,"x_axis_rotation")),Object(l.b)("dd",null,"Rotation in degrees."),Object(l.b)("dt",null,Object(l.b)("code",null,"large_arc")),Object(l.b)("dd",null,"Determines if the arc should be greater than or less than 180 degrees."),Object(l.b)("dt",null,Object(l.b)("code",null,"sweep")),Object(l.b)("dd",null,"Determines if the arc should begin moving at positive angles or negative ones."),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"c-1"},"c ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.c"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"c"),"(self, x1:\xa0float, y1:\xa0float, x2:\xa0float, y2:\xa0float, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a cubic B\xe9zier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x1")),Object(l.b)("dd",null,"x-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y1")),Object(l.b)("dd",null,"y-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x2")),Object(l.b)("dd",null,"x-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y2")),Object(l.b)("dd",null,"y-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"d"},"d ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.d"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"d"),"(self) \u2011>\xa0str"),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Serialize this path's commands into SVG path data."),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The ",Object(l.b)("code",null,"d")," attribute for a SVG path.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"h-1"},"h ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.h"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"h"),"(self, x:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a horizontal line from the current point. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"l-1"},"l ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.l"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"l"),"(self, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draw a line from the current point to the given (x,y) coordinate which becomes the new current point. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"m-1"},"m ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.m"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"m"),"(self, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Start a new sub-path at the given (x,y) coordinates. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"path-2"},"path ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.path"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"path"),"(self, **kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"A SVG path element representing the commands in this ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance. Same as calling ",Object(l.b)("code",null,"h2o_wave.graphics.path(d=path.d())")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Additional attributes for the SVG path element.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"A SVG path element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"q-1"},"q ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.q"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"q"),"(self, x1:\xa0float, y1:\xa0float, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a quadratic B\xe9zier curve from the current point to (x,y) using (x1,y1) as the control point. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x1")),Object(l.b)("dd",null,"x-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y1")),Object(l.b)("dd",null,"y-coordinate of first control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"s-1"},"s ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.s"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"s"),"(self, x2:\xa0float, y2:\xa0float, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a cubic B\xe9zier curve from the current point to (x,y). The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (x2,y2) is the second control point (i.e., the control point at the end of the curve). In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x2")),Object(l.b)("dd",null,"x-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"y2")),Object(l.b)("dd",null,"y-coordinate of second control point"),Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"t-1"},"t ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.t"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"t"),"(self, x:\xa0float, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a quadratic B\xe9zier curve from the current point to (x,y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"v-1"},"v ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.v"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"v"),"(self, y:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Draws a vertical line from the current point. In relative coordinates."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands"},"https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands")),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"z-1"},"z ",Object(l.b)("a",{name:"h2o_wave.graphics.Path.z"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"z"),"(self) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Close the current subpath by connecting it back to the current subpath's initial point."),Object(l.b)("p",null,"See ",Object(l.b)("a",{href:"https://www.w3.org/TR/SVG/paths.html#PathDataClosePathCommand"},"https://www.w3.org/TR/SVG/paths.html#PathDataClosePathCommand")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current ",Object(l.b)("code",null,Object(l.b)("a",{title:"h2o_wave.graphics.Path",href:"#h2o_wave.graphics.Path"},"Path"))," instance."))))))),Object(l.b)("div",{className:"api"},Object(l.b)("h3",{id:"turtle-1"},"Turtle ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"class ",Object(l.b)("span",{class:"ident"},"Turtle"),"(x=0.0, y=0.0, degrees=0.0)"),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"A Logo-like Turtle implementation for generating SVG paths. This is not a complete Turtle implementation. Contains a useful subset relevant to generating paths without using trigonometry or mental gymnastics."),Object(l.b)("p",null,"Create a Turtle."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"initial position x"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"initial position y"),Object(l.b)("dt",null,Object(l.b)("code",null,"degrees")),Object(l.b)("dd",null,"initial angle in degrees"))),Object(l.b)("h4",{id:"methods-1"},"Methods"),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"a-2"},"a ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.a"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"a"),"(self, degrees:\xa0float\xa0=\xa00) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Set the turtle's orientation."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"degrees")),Object(l.b)("dd",null,"angle in degrees")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"b"},"b ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.b"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"b"),"(self, distance:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Move backward."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"distance")),Object(l.b)("dd",null,"Distance to move by.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"d-1"},"d ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.d"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"d"),"(self) \u2011>\xa0str"),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Serialize this turtle's movements into SVG path data."),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The ",Object(l.b)("code",null,"d")," attribute for a SVG path.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"f"},"f ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.f"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"f"),"(self, distance:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Move forward."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"distance")),Object(l.b)("dd",null,"Distance to move by.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"l-2"},"l ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.l"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"l"),"(self, degrees:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Turn left."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"degrees")),Object(l.b)("dd",null,"Angle in degrees.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"p-1"},"p ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.p"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"p"),"(self, x:\xa0float\xa0=\xa00.0, y:\xa0float\xa0=\xa00.0) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Set the turtle's position."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"x")),Object(l.b)("dd",null,"x-coordinate"),Object(l.b)("dt",null,Object(l.b)("code",null,"y")),Object(l.b)("dd",null,"y-coordinate")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"path-3"},"path ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.path"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"path"),"(self, **kwargs) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.core.Expando",href:"core#h2o_wave.core.Expando"},"Expando")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Create a SVG path element that represents this turtle's movements."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"kwargs")),Object(l.b)("dd",null,"Additional attributes for the SVG path element.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"A SVG path element.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"pd"},"pd ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.pd"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"pd"),"(self) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Pen down."),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"pu"},"pu ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.pu"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"pu"),"(self, close:\xa0bool) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Pen up."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"close")),Object(l.b)("dd",null,"Whether to close the current subpath.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance.")))),Object(l.b)("div",{className:"api"},Object(l.b)("h4",{id:"r"},"r ",Object(l.b)("a",{name:"h2o_wave.graphics.Turtle.r"})),Object(l.b)("div",{className:"api__body"},Object(l.b)("div",{className:"api__signature"},"def ",Object(l.b)("span",{class:"ident"},"r"),"(self, degrees:\xa0float) \u2011>\xa0",Object(l.b)("a",{title:"h2o_wave.graphics.Turtle",href:"#h2o_wave.graphics.Turtle"},"Turtle")),Object(l.b)("div",{className:"api__description"},Object(l.b)("p",null,"Turn right."),Object(l.b)("h5",{id:"args"},"Args"),Object(l.b)("dl",null,Object(l.b)("dt",null,Object(l.b)("code",null,"degrees")),Object(l.b)("dd",null,"Angle in degrees.")),Object(l.b)("h5",{id:"returns"},"Returns"),Object(l.b)("p",null,"The current turtle instance."))))))))}o.isMDXComponent=!0},302:function(e,t,a){"use strict";a.d(t,"a",(function(){return d})),a.d(t,"b",(function(){return O}));var c=a(0),b=a.n(c);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);t&&(c=c.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,c)}return a}function i(e){for(var t=1;t=0||(b[a]=e[a]);return b}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(c=0;c=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(b[a]=e[a])}return b}var r=b.a.createContext({}),o=function(e){var t=b.a.useContext(r),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=o(e.components);return b.a.createElement(r.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return b.a.createElement(b.a.Fragment,{},t)}},p=b.a.forwardRef((function(e,t){var a=e.components,c=e.mdxType,l=e.originalType,n=e.parentName,r=s(e,["components","mdxType","originalType","parentName"]),d=o(a),p=c,O=d["".concat(n,".").concat(p)]||d[p]||h[p]||l;return a?b.a.createElement(O,i(i({ref:t},r),{},{components:a})):b.a.createElement(O,i({ref:t},r))}));function O(e,t){var a=arguments,c=t&&t.mdxType;if("string"==typeof e||c){var l=a.length,n=new Array(l);n[0]=p;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:c,n[1]=i;for(var r=2;r=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=n.a.createContext({}),p=function(e){var t=n.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},l=function(e){var t=p(e.components);return n.a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},f=n.a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,c=e.originalType,a=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),l=p(r),f=o,g=l["".concat(a,".").concat(f)]||l[f]||d[f]||c;return r?n.a.createElement(g,i(i({ref:t},s),{},{components:r})):n.a.createElement(g,i({ref:t},s))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var c=r.length,a=new Array(c);a[0]=f;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i.mdxType="string"==typeof e?e:o,a[1]=i;for(var s=2;s=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var p=n.a.createContext({}),s=function(e){var t=n.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},l=function(e){var t=s(e.components);return n.a.createElement(p.Provider,{value:t},e.children)},g={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},d=n.a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,c=e.originalType,a=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),l=s(r),d=o,m=l["".concat(a,".").concat(d)]||l[d]||g[d]||c;return r?n.a.createElement(m,i(i({ref:t},p),{},{components:r})):n.a.createElement(m,i({ref:t},p))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var c=r.length,a=new Array(c);a[0]=d;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i.mdxType="string"==typeof e?e:o,a[1]=i;for(var p=2;p=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},b=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),b=s(r),f=n,p=b["".concat(o,".").concat(f)]||b[f]||m[f]||i;return r?a.a.createElement(p,c(c({ref:t},l),{},{components:r})):a.a.createElement(p,c({ref:t},l))}));function p(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=f;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var m=a.a.createContext({}),u=function(e){var t=a.a.useContext(m),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=u(e.components);return a.a.createElement(m.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},p=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),s=u(r),p=n,f=s["".concat(o,".").concat(p)]||s[p]||b[p]||i;return r?a.a.createElement(f,c(c({ref:t},m),{},{components:r})):a.a.createElement(f,c({ref:t},m))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=p;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var m=2;m=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var s=o.a.createContext({}),p=function(e){var t=o.a.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=p(e.components);return o.a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},b=o.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,r=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),d=p(a),b=n,m=d["".concat(i,".").concat(b)]||d[b]||u[b]||r;return a?o.a.createElement(m,l(l({ref:t},s),{},{components:a})):o.a.createElement(m,l({ref:t},s))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=a.length,i=new Array(r);i[0]=b;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var s=2;s=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var s=o.a.createContext({}),p=function(e){var t=o.a.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=p(e.components);return o.a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},b=o.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,r=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),d=p(a),b=n,m=d["".concat(i,".").concat(b)]||d[b]||u[b]||r;return a?o.a.createElement(m,l(l({ref:t},s),{},{components:a})):o.a.createElement(m,l({ref:t},s))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=a.length,i=new Array(r);i[0]=b;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var s=2;s=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=r.a.createContext({}),l=function(e){var t=r.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):u(u({},t),e)),n},s=function(e){var t=l(e.components);return r.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},c=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,p=b(e,["components","mdxType","originalType","parentName"]),s=l(n),c=a,m=s["".concat(i,".").concat(c)]||s[c]||d[c]||o;return n?r.a.createElement(m,u(u({ref:t},p),{},{components:n})):r.a.createElement(m,u({ref:t},p))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=c;var u={};for(var b in t)hasOwnProperty.call(t,b)&&(u[b]=t[b]);u.originalType=e,u.mdxType="string"==typeof e?e:a,i[1]=u;for(var p=2;p=0||(a[n]=t[n]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(a[n]=t[n])}return a}var s=a.a.createContext({}),p=function(t){var e=a.a.useContext(s),n=e;return t&&(n="function"==typeof t?t(e):u(u({},e),t)),n},c=function(t){var e=p(t.components);return a.a.createElement(s.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return a.a.createElement(a.a.Fragment,{},e)}},d=a.a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,o=t.originalType,i=t.parentName,s=b(t,["components","mdxType","originalType","parentName"]),c=p(n),d=r,m=c["".concat(i,".").concat(d)]||c[d]||l[d]||o;return n?a.a.createElement(m,u(u({ref:e},s),{},{components:n})):a.a.createElement(m,u({ref:e},s))}));function m(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=n.length,i=new Array(o);i[0]=d;var u={};for(var b in e)hasOwnProperty.call(e,b)&&(u[b]=e[b]);u.originalType=t,u.mdxType="string"==typeof t?t:r,i[1]=u;for(var s=2;s\n
  • Spam
  • \n
  • Ham
  • \n
  • Eggs
  • \n\n'''\nmenu = '''\n
      \n{{#each dishes}}\n
    1. {{name}} costs {{price}}
    2. \n{{/each}}\n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var u=a.a.createContext({}),s=function(e){var n=a.a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},p=function(e){var n=s(e.components);return a.a.createElement(u.Provider,{value:n},e.children)},m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},b=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=s(t),b=r,d=p["".concat(i,".").concat(b)]||p[b]||m[b]||o;return t?a.a.createElement(d,l(l({ref:n},u),{},{components:t})):a.a.createElement(d,l({ref:n},u))}));function d(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=b;var l={};for(var c in n)hasOwnProperty.call(n,c)&&(l[c]=n[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var u=2;u\n
    3. Spam
    4. \n
    5. Ham
    6. \n
    7. Eggs
    8. \n
    \n'''\nmenu = '''\n
      \n{{#each dishes}}\n
    1. {{name}} costs {{price}}
    2. \n{{/each}}\n=0||(r[a]=e[a]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var u=r.a.createContext({}),s=function(e){var n=r.a.useContext(u),a=n;return e&&(a="function"==typeof e?e(n):l(l({},n),e)),a},p=function(e){var n=s(e.components);return r.a.createElement(u.Provider,{value:n},e.children)},m={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},b=r.a.forwardRef((function(e,n){var a=e.components,t=e.mdxType,o=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=s(a),b=t,d=p["".concat(i,".").concat(b)]||p[b]||m[b]||o;return a?r.a.createElement(d,l(l({ref:n},u),{},{components:a})):r.a.createElement(d,l({ref:n},u))}));function d(e,n){var a=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var o=a.length,i=new Array(o);i[0]=b;var l={};for(var c in n)hasOwnProperty.call(n,c)&&(l[c]=n[c]);l.originalType=e,l.mdxType="string"==typeof e?e:t,i[1]=l;for(var u=2;u=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=a.a.createContext({}),u=function(e){var n=a.a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},f=function(e){var n=u(e.components);return a.a.createElement(l.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},m=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),f=u(t),m=r,p=f["".concat(i,".").concat(m)]||f[m]||d[m]||o;return t?a.a.createElement(p,s(s({ref:n},l),{},{components:t})):a.a.createElement(p,s({ref:n},l))}));function p(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=m;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s.mdxType="string"==typeof e?e:r,i[1]=s;for(var l=2;l=0||(a[r]=e[r]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=a.a.createContext({}),m=function(e){var n=a.a.useContext(c),r=n;return e&&(r="function"==typeof e?e(n):l(l({},n),e)),r},d=function(e){var n=m(e.components);return a.a.createElement(c.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},f=a.a.forwardRef((function(e,n){var r=e.components,t=e.mdxType,o=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=m(r),f=t,p=d["".concat(i,".").concat(f)]||d[f]||u[f]||o;return r?a.a.createElement(p,l(l({ref:n},c),{},{components:r})):a.a.createElement(p,l({ref:n},c))}));function p(e,n){var r=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var o=r.length,i=new Array(o);i[0]=f;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l.mdxType="string"==typeof e?e:t,i[1]=l;for(var c=2;c 0.5 else 'BoxMultiplySolid'),\n notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)\n]\n\n# Create columns for our issue table.\ncolumns = [\n ui.table_column(name='text', label='Issue'),\n ui.table_column(name='status', label='Status'),\n ui.table_column(name='notifications', label='Notifications'),\n ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),\n ui.table_column(name='views', label='Views'),\n ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),\n]\n\n\n@app('/demo')\nasync def serve(q: Q):\n q.page['form'] = ui.form_card(box='1 1 -1 11', items=[\n ui.table(\n name='issues',\n columns=columns,\n rows=[ui.table_row(\n name=issue.id,\n cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for\n issue in issues],\n downloadable=True,\n )\n ])\n await q.page.save()\n")))}f.isMDXComponent=!0},300:function(e,n,t){"use strict";t.d(n,"a",(function(){return c})),t.d(n,"b",(function(){return A}));var i=t(0),r=t.n(i);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return t}function s(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var u=r.a.createContext({}),f=function(e){var n=r.a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},c=function(e){var n=f(e.components);return r.a.createElement(u.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},d=r.a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),c=f(t),d=i,A=c["".concat(l,".").concat(d)]||c[d]||p[d]||a;return t?r.a.createElement(A,s(s({ref:n},u),{},{components:t})):r.a.createElement(A,s({ref:n},u))}));function A(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,l=new Array(a);l[0]=d;var s={};for(var o in n)hasOwnProperty.call(n,o)&&(s[o]=n[o]);s.originalType=e,s.mdxType="string"==typeof e?e:i,l[1]=s;for(var u=2;u 0.5 else 'BoxMultiplySolid'),\n notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)\n]\n\n# Create columns for our issue table.\ncolumns = [\n ui.table_column(name='text', label='Issue'),\n ui.table_column(name='status', label='Status'),\n ui.table_column(name='notifications', label='Notifications'),\n ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),\n ui.table_column(name='views', label='Views'),\n ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),\n]\n\n\n@app('/demo')\nasync def serve(q: Q):\n q.page['form'] = ui.form_card(box='1 1 -1 11', items=[\n ui.table(\n name='issues',\n columns=columns,\n rows=[ui.table_row(\n name=issue.id,\n cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for\n issue in issues],\n downloadable=True,\n )\n ])\n await q.page.save()\n")),Object(a.b)("p",null,Object(a.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(a.b)("a",{href:Object(s.a)("docs/examples/tags#download")},"download")," \u2002",Object(a.b)("a",{href:Object(s.a)("docs/examples/tags#table")},"table")))}f.isMDXComponent=!0},302:function(e,n,t){"use strict";t.d(n,"a",(function(){return f})),t.d(n,"b",(function(){return b}));var r=t(0),i=t.n(r);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var u=i.a.createContext({}),c=function(e){var n=i.a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},f=function(e){var n=c(e.components);return i.a.createElement(u.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return i.a.createElement(i.a.Fragment,{},n)}},p=i.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,s=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),f=c(t),p=r,b=f["".concat(s,".").concat(p)]||f[p]||d[p]||a;return t?i.a.createElement(b,l(l({ref:n},u),{},{components:t})):i.a.createElement(b,l({ref:n},u))}));function b(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,s=new Array(a);s[0]=p;var l={};for(var o in n)hasOwnProperty.call(n,o)&&(l[o]=n[o]);l.originalType=e,l.mdxType="string"==typeof e?e:r,s[1]=l;for(var u=2;u=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),u=s(n),m=r,f=u["".concat(i,".").concat(m)]||u[m]||d[m]||o;return n?a.a.createElement(f,c(c({ref:t},l),{},{components:n})):a.a.createElement(f,c({ref:t},l))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=m;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),p=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},u=function(e){var t=p(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),u=p(n),f=r,b=u["".concat(i,".").concat(f)]||u[f]||d[f]||o;return n?a.a.createElement(b,c(c({ref:t},l),{},{components:n})):a.a.createElement(b,c({ref:t},l))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=f;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),l=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=l(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=l(n),m=r,g=u["".concat(p,".").concat(m)]||u[m]||h[m]||i;return n?a.a.createElement(g,o(o({ref:t},s),{},{components:n})):a.a.createElement(g,o({ref:t},s))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,p=new Array(i);p[0]=m;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:r,p[1]=o;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=a.a.createContext({}),l=function(e){var t=a.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},h=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=l(r),h=n,f=u["".concat(o,".").concat(h)]||u[h]||d[h]||i;return r?a.a.createElement(f,c(c({ref:t},p),{},{components:r})):a.a.createElement(f,c({ref:t},p))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=h;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var p=2;p=0||(c[n]=e[n]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(c[n]=e[n])}return c}var s=c.a.createContext({}),b=function(e){var t=c.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},l=function(e){var t=b(e.components);return c.a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return c.a.createElement(c.a.Fragment,{},t)}},p=c.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,o=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),l=b(n),p=r,m=l["".concat(o,".").concat(p)]||l[p]||d[p]||a;return n?c.a.createElement(m,i(i({ref:t},s),{},{components:n})):c.a.createElement(m,i({ref:t},s))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=p;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i.mdxType="string"==typeof e?e:r,o[1]=i;for(var s=2;s=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(c=0;c=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=r.a.createContext({}),s=function(e){var t=r.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},b=function(e){var t=s(e.components);return r.a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},p=r.a.forwardRef((function(e,t){var n=e.components,c=e.mdxType,a=e.originalType,o=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),b=s(n),p=c,m=b["".concat(o,".").concat(p)]||b[p]||d[p]||a;return n?r.a.createElement(m,i(i({ref:t},l),{},{components:n})):r.a.createElement(m,i({ref:t},l))}));function m(e,t){var n=arguments,c=t&&t.mdxType;if("string"==typeof e||c){var a=n.length,o=new Array(a);o[0]=p;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i.mdxType="string"==typeof e?e:c,o[1]=i;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=a.a.createContext({}),u=function(e){var t=a.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},l=function(e){var t=u(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,p=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),l=u(r),m=n,b=l["".concat(p,".").concat(m)]||l[m]||f[m]||o;return r?a.a.createElement(b,s(s({ref:t},c),{},{components:r})):a.a.createElement(b,s({ref:t},c))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,p=new Array(o);p[0]=m;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s.mdxType="string"==typeof e?e:n,p[1]=s;for(var c=2;c=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=a.a.createContext({}),u=function(e){var t=a.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},l=function(e){var t=u(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,p=e.originalType,o=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),l=u(r),b=n,d=l["".concat(o,".").concat(b)]||l[b]||m[b]||p;return r?a.a.createElement(d,i(i({ref:t},c),{},{components:r})):a.a.createElement(d,i({ref:t},c))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var p=r.length,o=new Array(p);o[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,o[1]=i;for(var c=2;c=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=r.a.createContext({}),b=function(e){var t=r.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=b(e.components);return r.a.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},m=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),s=b(n),m=a,d=s["".concat(i,".").concat(m)]||s[m]||u[m]||o;return n?r.a.createElement(d,c(c({ref:t},l),{},{components:n})):r.a.createElement(d,c({ref:t},l))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=m;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var l=2;l=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=r.a.createContext({}),b=function(e){var t=r.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=b(e.components);return r.a.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},m=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),s=b(n),m=a,d=s["".concat(i,".").concat(m)]||s[m]||u[m]||o;return n?r.a.createElement(d,c(c({ref:t},l),{},{components:n})):r.a.createElement(d,c({ref:t},l))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=m;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),s=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=s(n),f=r,b=u["".concat(l,".").concat(f)]||u[f]||m[f]||o;return n?a.a.createElement(b,i(i({ref:t},p),{},{components:n})):a.a.createElement(b,i({ref:t},p))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,l=new Array(o);l[0]=f;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:r,l[1]=i;for(var p=2;p=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),u=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=u(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),p=u(n),b=r,d=p["".concat(i,".").concat(b)]||p[b]||f[b]||o;return n?a.a.createElement(d,l(l({ref:t},s),{},{components:n})):a.a.createElement(d,l({ref:t},s))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=b;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var s=2;s "Open...", then choose ',Object(r.b)("inlineCode",{parentName:"li"},"$HOME/wave-apps"),"."),Object(r.b)("li",{parentName:"ol"},"Right-click on ",Object(r.b)("inlineCode",{parentName:"li"},"wave-apps"),' in the "Project" tree, then click "New" -> "Python File".'),Object(r.b)("li",{parentName:"ol"},"Enter a file name, say, ",Object(r.b)("inlineCode",{parentName:"li"},"foo.py"),"."),Object(r.b)("li",{parentName:"ol"},"Write some code (see sample below)."),Object(r.b)("li",{parentName:"ol"},'Right-click anywhere inside the file and choose "Run foo" or "Debug foo".')),Object(r.b)("h3",{id:"using-visual-studio-code"},"Using Visual Studio Code"),Object(r.b)("ol",null,Object(r.b)("li",{parentName:"ol"},"Launch Visual Studio Code"),Object(r.b)("li",{parentName:"ol"},'Click "File" -> "Open...", then choose ',Object(r.b)("inlineCode",{parentName:"li"},"$HOME/wave-apps"),"."),Object(r.b)("li",{parentName:"ol"},'Click "File" -> "New File"; save the file as, say, ',Object(r.b)("inlineCode",{parentName:"li"},"foo.py"),"."),Object(r.b)("li",{parentName:"ol"},'You should now get a prompt asking if you want to install extensions for Python. Click "Install".'),Object(r.b)("li",{parentName:"ol"},"Write some code (see sample below)."),Object(r.b)("li",{parentName:"ol"},"Hit ",Object(r.b)("inlineCode",{parentName:"li"},"Ctrl+F5")," to run, or ",Object(r.b)("inlineCode",{parentName:"li"},"F5")," to debug.")),Object(r.b)("h2",{id:"debugging-apps"},"Debugging Apps"),Object(r.b)("p",null,"To debug Wave apps, set your IDE or editor's configuration to execute the command ",Object(r.b)("inlineCode",{parentName:"p"},"python -m h2o_wave run --no-reload foo")," instead of ",Object(r.b)("inlineCode",{parentName:"p"},"python foo.py"),"."),Object(r.b)("div",{className:"admonition admonition-tip alert alert--success"},Object(r.b)("div",Object(a.a)({parentName:"div"},{className:"admonition-heading"}),Object(r.b)("h5",{parentName:"div"},Object(r.b)("span",Object(a.a)({parentName:"h5"},{className:"admonition-icon"}),Object(r.b)("svg",Object(a.a)({parentName:"span"},{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"16",viewBox:"0 0 12 16"}),Object(r.b)("path",Object(a.a)({parentName:"svg"},{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})))),"tip")),Object(r.b)("div",Object(a.a)({parentName:"div"},{className:"admonition-content"}),Object(r.b)("p",{parentName:"div"},"The command ",Object(r.b)("inlineCode",{parentName:"p"},"wave run --no-reload foo")," is equivalent to ",Object(r.b)("inlineCode",{parentName:"p"},"python -m h2o_wave run --no-reload foo"),"."))),Object(r.b)("h3",{id:"using-pycharm-1"},"Using PyCharm"),Object(r.b)("ul",null,Object(r.b)("li",{parentName:"ul"},'Open the "Run/Debug Configurations" dialog for your script.'),Object(r.b)("li",{parentName:"ul"},'Under "Configuration", change the "Script path" dropdown to "Module name".'),Object(r.b)("li",{parentName:"ul"},'Set "Module name" to ',Object(r.b)("inlineCode",{parentName:"li"},"h2o_wave"),"."),Object(r.b)("li",{parentName:"ul"},'Set "Parameters" to ',Object(r.b)("inlineCode",{parentName:"li"},"run foo")," (assuming your app's source code is in ",Object(r.b)("inlineCode",{parentName:"li"},"foo.py"),")")))}b.isMDXComponent=!0},300:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return u}));var a=n(0),o=n.n(a);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function c(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=o.a.createContext({}),b=function(e){var t=o.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=b(e.components);return o.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,i=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),s=b(n),d=a,u=s["".concat(i,".").concat(d)]||s[d]||m[d]||r;return n?o.a.createElement(u,c(c({ref:t},p),{},{components:n})):o.a.createElement(u,c({ref:t},p))}));function u(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,i=new Array(r);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var p=2;p "Open...", then choose ',Object(r.b)("inlineCode",{parentName:"li"},"$HOME/wave-apps"),"."),Object(r.b)("li",{parentName:"ol"},"Right-click on ",Object(r.b)("inlineCode",{parentName:"li"},"wave-apps"),' in the "Project" tree, then click "New" -> "Python File".'),Object(r.b)("li",{parentName:"ol"},"Enter a file name, say, ",Object(r.b)("inlineCode",{parentName:"li"},"foo.py"),"."),Object(r.b)("li",{parentName:"ol"},"Write some code (see sample below)."),Object(r.b)("li",{parentName:"ol"},'Right-click anywhere inside the file and choose "Run foo" or "Debug foo".')),Object(r.b)("h3",{id:"using-visual-studio-code"},"Using Visual Studio Code"),Object(r.b)("ol",null,Object(r.b)("li",{parentName:"ol"},"Launch Visual Studio Code"),Object(r.b)("li",{parentName:"ol"},'Click "File" -> "Open...", then choose ',Object(r.b)("inlineCode",{parentName:"li"},"$HOME/wave-apps"),"."),Object(r.b)("li",{parentName:"ol"},'Click "File" -> "New File"; save the file as, say, ',Object(r.b)("inlineCode",{parentName:"li"},"foo.py"),"."),Object(r.b)("li",{parentName:"ol"},'You should now get a prompt asking if you want to install extensions for Python. Click "Install".'),Object(r.b)("li",{parentName:"ol"},"Write some code (see sample below)."),Object(r.b)("li",{parentName:"ol"},"Hit ",Object(r.b)("inlineCode",{parentName:"li"},"Ctrl+F5")," to run, or ",Object(r.b)("inlineCode",{parentName:"li"},"F5")," to debug.")),Object(r.b)("h2",{id:"debugging-apps"},"Debugging Apps"),Object(r.b)("p",null,"To debug Wave apps, set your IDE or editor's configuration to execute the command ",Object(r.b)("inlineCode",{parentName:"p"},"python -m h2o_wave run --no-reload foo")," instead of ",Object(r.b)("inlineCode",{parentName:"p"},"python foo.py"),"."),Object(r.b)("div",{className:"admonition admonition-tip alert alert--success"},Object(r.b)("div",Object(a.a)({parentName:"div"},{className:"admonition-heading"}),Object(r.b)("h5",{parentName:"div"},Object(r.b)("span",Object(a.a)({parentName:"h5"},{className:"admonition-icon"}),Object(r.b)("svg",Object(a.a)({parentName:"span"},{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"16",viewBox:"0 0 12 16"}),Object(r.b)("path",Object(a.a)({parentName:"svg"},{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})))),"tip")),Object(r.b)("div",Object(a.a)({parentName:"div"},{className:"admonition-content"}),Object(r.b)("p",{parentName:"div"},"The command ",Object(r.b)("inlineCode",{parentName:"p"},"wave run --no-reload foo")," is equivalent to ",Object(r.b)("inlineCode",{parentName:"p"},"python -m h2o_wave run --no-reload foo"),"."))),Object(r.b)("h3",{id:"using-pycharm-1"},"Using PyCharm"),Object(r.b)("ul",null,Object(r.b)("li",{parentName:"ul"},'Open the "Run/Debug Configurations" dialog for your script.'),Object(r.b)("li",{parentName:"ul"},'Under "Configuration", change the "Script path" dropdown to "Module name".'),Object(r.b)("li",{parentName:"ul"},'Set "Module name" to ',Object(r.b)("inlineCode",{parentName:"li"},"h2o_wave"),"."),Object(r.b)("li",{parentName:"ul"},'Set "Parameters" to ',Object(r.b)("inlineCode",{parentName:"li"},"run foo")," (assuming your app's source code is in ",Object(r.b)("inlineCode",{parentName:"li"},"foo.py"),")")))}b.isMDXComponent=!0},302:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return u}));var a=n(0),o=n.n(a);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function c(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=o.a.createContext({}),b=function(e){var t=o.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=b(e.components);return o.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,i=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),s=b(n),d=a,u=s["".concat(i,".").concat(d)]||s[d]||m[d]||r;return n?o.a.createElement(u,c(c({ref:t},p),{},{components:n})):o.a.createElement(u,c({ref:t},p))}));function u(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,i=new Array(r);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var p=2;p=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=r.a.createContext({}),u=function(e){var n=r.a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=u(e.components);return r.a.createElement(s.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},m=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),p=u(t),m=a,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||o;return t?r.a.createElement(f,i(i({ref:n},s),{},{components:t})):r.a.createElement(f,i({ref:n},s))}));function f(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,c=new Array(o);c[0]=m;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var s=2;s=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p=r.a.createContext({}),s=function(e){var n=r.a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},d=function(e){var n=s(e.components);return r.a.createElement(p.Provider,{value:n},e.children)},m={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},u=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=s(t),u=a,f=d["".concat(c,".").concat(u)]||d[u]||m[u]||o;return t?r.a.createElement(f,l(l({ref:n},p),{},{components:t})):r.a.createElement(f,l({ref:n},p))}));function f(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,c=new Array(o);c[0]=u;var l={};for(var i in n)hasOwnProperty.call(n,i)&&(l[i]=n[i]);l.originalType=e,l.mdxType="string"==typeof e?e:a,c[1]=l;for(var p=2;p 0:\n form = q.page['example']\n form.items = items\n else:\n q.page['example'] = ui.form_card(box='1 1 12 10', items=items)\n\n await q.page.save()\n")),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(o.b)("a",{href:Object(c.a)("docs/examples/tags#broadcast")},"broadcast")," \u2002",Object(o.b)("a",{href:Object(c.a)("docs/examples/tags#mode")},"mode")))}l.isMDXComponent=!0},302:function(e,t,r){"use strict";r.d(t,"a",(function(){return l})),r.d(t,"b",(function(){return f}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),d=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},l=function(e){var t=d(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),l=d(r),b=n,f=l["".concat(c,".").concat(b)]||l[b]||p[b]||o;return r?a.a.createElement(f,i(i({ref:t},u),{},{components:r})):a.a.createElement(f,i({ref:t},u))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var u=2;u 0:\n form = q.page['example']\n form.items = items\n else:\n q.page['example'] = ui.form_card(box='1 1 12 10', items=items)\n\n await q.page.save()\n")))}p.isMDXComponent=!0},300:function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return b}));var r=n(0),a=n.n(r);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),p=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},l=function(e){var t=p(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),l=p(n),m=r,b=l["".concat(c,".").concat(m)]||l[m]||d[m]||o;return n?a.a.createElement(b,i(i({ref:t},u),{},{components:n})):a.a.createElement(b,i({ref:t},u))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,c=new Array(o);c[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var u=2;u=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),l=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=l(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),u=l(r),m=n,b=u["".concat(c,".").concat(m)]||u[m]||f[m]||o;return r?a.a.createElement(b,i(i({ref:t},s),{},{components:r})):a.a.createElement(b,i({ref:t},s))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=m;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),p=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=p(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),l=p(r),b=n,d=l["".concat(i,".").concat(b)]||l[b]||f[b]||o;return r?a.a.createElement(d,c(c({ref:t},u),{},{components:r})):a.a.createElement(d,c({ref:t},u))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=b;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var u=2;u=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):p(p({},t),e)),r},u=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=s(r),m=n,d=u["".concat(i,".").concat(m)]||u[m]||f[m]||o;return r?a.a.createElement(d,p(p({ref:t},l),{},{components:r})):a.a.createElement(d,p({ref:t},l))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=m;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p.mdxType="string"==typeof e?e:n,i[1]=p;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),s=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=s(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),l=s(r),d=n,m=l["".concat(i,".").concat(d)]||l[d]||f[d]||o;return r?a.a.createElement(m,c(c({ref:t},u),{},{components:r})):a.a.createElement(m,c({ref:t},u))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var u=2;u=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=o.a.createContext({}),l=function(e){var t=o.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):u(u({},t),e)),n},b=function(e){var t=l(e.components);return o.a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},m=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),b=l(n),m=r,f=b["".concat(i,".").concat(m)]||b[m]||p[m]||a;return n?o.a.createElement(f,u(u({ref:t},s),{},{components:n})):o.a.createElement(f,u({ref:t},s))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=m;var u={};for(var c in t)hasOwnProperty.call(t,c)&&(u[c]=t[c]);u.originalType=e,u.mdxType="string"==typeof e?e:r,i[1]=u;for(var s=2;s=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=a.a.createContext({}),s=function(e){var n=a.a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},p=function(e){var n=s(e.components);return a.a.createElement(l.Provider,{value:n},e.children)},b={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},m=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=s(t),m=r,d=p["".concat(i,".").concat(m)]||p[m]||b[m]||o;return t?a.a.createElement(d,c(c({ref:n},l),{},{components:t})):a.a.createElement(d,c({ref:n},l))}));function d(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=m;var c={};for(var u in n)hasOwnProperty.call(n,u)&&(c[u]=n[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var l=2;l=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=r.a.createContext({}),s=function(e){var t=r.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=s(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},m=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),d=s(n),m=a,f=d["".concat(l,".").concat(m)]||d[m]||u[m]||o;return n?r.a.createElement(f,i(i({ref:t},c),{},{components:n})):r.a.createElement(f,i({ref:t},c))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,l=new Array(o);l[0]=m;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i.mdxType="string"==typeof e?e:a,l[1]=i;for(var c=2;c=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=i.a.createContext({}),s=function(e){var t=i.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=s(e.components);return i.a.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},d=i.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,r=e.parentName,l=b(e,["components","mdxType","originalType","parentName"]),p=s(n),d=a,m=p["".concat(r,".").concat(d)]||p[d]||u[d]||o;return n?i.a.createElement(m,c(c({ref:t},l),{},{components:n})):i.a.createElement(m,c({ref:t},l))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,r=new Array(o);r[0]=d;var c={};for(var b in t)hasOwnProperty.call(t,b)&&(c[b]=t[b]);c.originalType=e,c.mdxType="string"==typeof e?e:a,r[1]=c;for(var l=2;l=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=i.a.createContext({}),s=function(e){var t=i.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=s(e.components);return i.a.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},d=i.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,r=e.parentName,l=b(e,["components","mdxType","originalType","parentName"]),p=s(n),d=a,m=p["".concat(r,".").concat(d)]||p[d]||u[d]||o;return n?i.a.createElement(m,c(c({ref:t},l),{},{components:n})):i.a.createElement(m,c({ref:t},l))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,r=new Array(o);r[0]=d;var c={};for(var b in t)hasOwnProperty.call(t,b)&&(c[b]=t[b]);c.originalType=e,c.mdxType="string"==typeof e?e:a,r[1]=c;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),o=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=o(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,p=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=o(n),f=r,m=d["".concat(i,".").concat(f)]||d[f]||s[f]||p;return n?a.a.createElement(m,l(l({ref:t},u),{},{components:n})):a.a.createElement(m,l({ref:t},u))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var p=n.length,i=new Array(p);i[0]=f;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var u=2;u=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),o=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=o(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,p=e.originalType,i=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),s=o(n),f=r,v=s["".concat(i,".").concat(f)]||s[f]||d[f]||p;return n?a.a.createElement(v,l(l({ref:t},c),{},{components:n})):a.a.createElement(v,l({ref:t},c))}));function v(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var p=n.length,i=new Array(p);i[0]=f;var l={};for(var u in t)hasOwnProperty.call(t,u)&&(l[u]=t[u]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var c=2;c=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),l=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=l(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=l(r),f=n,m=p["".concat(c,".").concat(f)]||p[f]||d[f]||o;return r?a.a.createElement(m,i(i({ref:t},s),{},{components:r})):a.a.createElement(m,i({ref:t},s))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=f;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),u=s(r),m=n,f=u["".concat(c,".").concat(m)]||u[m]||d[m]||o;return r?a.a.createElement(f,i(i({ref:t},l),{},{components:r})):a.a.createElement(f,i({ref:t},l))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=m;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=o.a.createContext({}),p=function(e){var t=o.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=p(e.components);return o.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),l=p(r),d=n,b=l["".concat(i,".").concat(d)]||l[d]||f[d]||a;return r?o.a.createElement(b,c(c({ref:t},s),{},{components:r})):o.a.createElement(b,c({ref:t},s))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),c=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=c(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,p=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=c(r),f=n,m=u["".concat(p,".").concat(f)]||u[f]||d[f]||o;return r?a.a.createElement(m,i(i({ref:t},s),{},{components:r})):a.a.createElement(m,i({ref:t},s))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,p=new Array(o);p[0]=f;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:n,p[1]=i;for(var s=2;s=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var l=a.a.createContext({}),c=function(e){var t=a.a.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):d(d({},t),e)),o},p=function(e){var t=c(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},u=a.a.forwardRef((function(e,t){var o=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),p=c(o),u=n,m=p["".concat(s,".").concat(u)]||p[u]||b[u]||i;return o?a.a.createElement(m,d(d({ref:t},l),{},{components:o})):a.a.createElement(m,d({ref:t},l))}));function m(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=o.length,s=new Array(i);s[0]=u;var d={};for(var r in t)hasOwnProperty.call(t,r)&&(d[r]=t[r]);d.originalType=e,d.mdxType="string"==typeof e?e:n,s[1]=d;for(var l=2;l=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var l=a.a.createContext({}),c=function(e){var t=a.a.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):d(d({},t),e)),o},p=function(e){var t=c(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},u=a.a.forwardRef((function(e,t){var o=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),p=c(o),u=n,m=p["".concat(s,".").concat(u)]||p[u]||b[u]||i;return o?a.a.createElement(m,d(d({ref:t},l),{},{components:o})):a.a.createElement(m,d({ref:t},l))}));function m(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=o.length,s=new Array(i);s[0]=u;var d={};for(var r in t)hasOwnProperty.call(t,r)&&(d[r]=t[r]);d.originalType=e,d.mdxType="string"==typeof e?e:n,s[1]=d;for(var l=2;l The quick brown fox jumped over the lazy dog.\n\nUnordered list:\n\n- The quick brown fox jumped over the lazy dog.\n- The quick brown fox jumped over the lazy dog.\n- The quick brown fox jumped over the lazy dog.\n\nOrdered list:\n\n1. The quick brown fox jumped over the lazy dog.\n1. The quick brown fox jumped over the lazy dog.\n1. The quick brown fox jumped over the lazy dog.\n\nImage:\n\n![Monty Python](https://upload.wikimedia.org/wikipedia/en/c/cb/Flyingcircus_2.jpg)\n\nTable:\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Item 1 | Item 2 | Item 3 |\n| Item 1 | Item 2 | Item 3 |\n| Item 1 | Item 2 | Item 3 |\n\n'''\n\npage['example'] = ui.markdown_card(\n box='1 1 3 -1',\n title='I was made using markdown!',\n content=sample_markdown,\n)\npage.save()\n")),Object(a.b)("p",null,Object(a.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(a.b)("a",{href:Object(i.a)("docs/examples/tags#markdown")},"markdown")))}l.isMDXComponent=!0},302:function(e,n,t){"use strict";t.d(n,"a",(function(){return l})),t.d(n,"b",(function(){return f}));var r=t(0),o=t.n(r);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var d=o.a.createContext({}),s=function(e){var n=o.a.useContext(d),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},l=function(e){var n=s(e.components);return o.a.createElement(d.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return o.a.createElement(o.a.Fragment,{},n)}},m=o.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,d=u(e,["components","mdxType","originalType","parentName"]),l=s(t),m=r,f=l["".concat(i,".").concat(m)]||l[m]||p[m]||a;return t?o.a.createElement(f,c(c({ref:n},d),{},{components:t})):o.a.createElement(f,c({ref:n},d))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,i=new Array(a);i[0]=m;var c={};for(var u in n)hasOwnProperty.call(n,u)&&(c[u]=n[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var d=2;d The quick brown fox jumped over the lazy dog.\n\nUnordered list:\n\n- The quick brown fox jumped over the lazy dog.\n- The quick brown fox jumped over the lazy dog.\n- The quick brown fox jumped over the lazy dog.\n\nOrdered list:\n\n1. The quick brown fox jumped over the lazy dog.\n1. The quick brown fox jumped over the lazy dog.\n1. The quick brown fox jumped over the lazy dog.\n\nImage:\n\n![Monty Python](https://upload.wikimedia.org/wikipedia/en/c/cb/Flyingcircus_2.jpg)\n\nTable:\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Item 1 | Item 2 | Item 3 |\n| Item 1 | Item 2 | Item 3 |\n| Item 1 | Item 2 | Item 3 |\n\n'''\n\npage['example'] = ui.markdown_card(\n box='1 1 3 -1',\n title='I was made using markdown!',\n content=sample_markdown,\n)\npage.save()\n")))}m.isMDXComponent=!0},300:function(e,n,t){"use strict";t.d(n,"a",(function(){return p})),t.d(n,"b",(function(){return f}));var r=t(0),o=t.n(r);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function c(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var d=o.a.createContext({}),m=function(e){var n=o.a.useContext(d),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=m(e.components);return o.a.createElement(d.Provider,{value:n},e.children)},l={inlineCode:"code",wrapper:function(e){var n=e.children;return o.a.createElement(o.a.Fragment,{},n)}},s=o.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,d=u(e,["components","mdxType","originalType","parentName"]),p=m(t),s=r,f=p["".concat(c,".").concat(s)]||p[s]||l[s]||a;return t?o.a.createElement(f,i(i({ref:n},d),{},{components:t})):o.a.createElement(f,i({ref:n},d))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,c=new Array(a);c[0]=s;var i={};for(var u in n)hasOwnProperty.call(n,u)&&(i[u]=n[u]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var d=2;d=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=a.a.createContext({}),s=function(e){var t=a.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=s(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=s(r),f=n,m=u["".concat(l,".").concat(f)]||u[f]||d[f]||o;return r?a.a.createElement(m,i(i({ref:t},c),{},{components:r})):a.a.createElement(m,i({ref:t},c))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,l=new Array(o);l[0]=f;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i.mdxType="string"==typeof e?e:n,l[1]=i;for(var c=2;c=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=a.a.createContext({}),u=function(e){var t=a.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},s=function(e){var t=u(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),s=u(r),f=n,v=s["".concat(i,".").concat(f)]||s[f]||d[f]||o;return r?a.a.createElement(v,l(l({ref:t},p),{},{components:r})):a.a.createElement(v,l({ref:t},p))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=f;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var p=2;p=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),l=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=l(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(n),b=r,v=d["".concat(o,".").concat(b)]||d[b]||u[b]||i;return n?a.a.createElement(v,c(c({ref:t},p),{},{components:n})):a.a.createElement(v,c({ref:t},p))}));function v(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=b;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:r,o[1]=c;for(var p=2;p=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),l=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=l(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(n),b=r,h=d["".concat(o,".").concat(b)]||d[b]||u[b]||i;return n?a.a.createElement(h,c(c({ref:t},p),{},{components:n})):a.a.createElement(h,c({ref:t},p))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=b;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:r,o[1]=c;for(var p=2;p=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),u=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=u(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,p=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),s=u(n),m=r,d=s["".concat(p,".").concat(m)]||s[m]||b[m]||o;return n?a.a.createElement(d,c(c({ref:t},l),{},{components:n})):a.a.createElement(d,c({ref:t},l))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,p=new Array(o);p[0]=m;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:r,p[1]=c;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),u=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=u(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,p=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),s=u(n),m=r,d=s["".concat(p,".").concat(m)]||s[m]||b[m]||o;return n?a.a.createElement(d,c(c({ref:t},l),{},{components:n})):a.a.createElement(d,c({ref:t},l))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,p=new Array(o);p[0]=m;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:r,p[1]=c;for(var l=2;l',id:"teledb",children:[]},{value:'TeleDBError
      ',id:"teledberror",children:[]}]}],s={rightToc:o};function b(e){var t=e.components,r=Object(a.a)(e,["components"]);return Object(c.b)("wrapper",Object(n.a)({},s,r,{components:t,mdxType:"MDXLayout"}),Object(c.b)("h2",{id:"classes"},"Classes"),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"teledb"},"TeleDB ",Object(c.b)("a",{name:"h2o_wave.db.TeleDB"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TeleDB"),"(address:\xa0str, key_id:\xa0str, key_secret:\xa0str)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Represents a TeleDB database client."),Object(c.b)("p",null,"Create a new client instance."),Object(c.b)("h5",{id:"args"},"Args"),Object(c.b)("dl",null,Object(c.b)("dt",null,Object(c.b)("code",null,"address")),Object(c.b)("dd",null,"database address"),Object(c.b)("dt",null,Object(c.b)("code",null,"key_id")),Object(c.b)("dd",null,"access key id"),Object(c.b)("dt",null,Object(c.b)("code",null,"key_secret")),Object(c.b)("dd",null,"access key secret"))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"teledberror"},"TeleDBError ",Object(c.b)("a",{name:"h2o_wave.db.TeleDBError"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TeleDBError"),"(*args, **kwargs)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Represents a remote exception thrown by the TeleDB database server.")),Object(c.b)("h4",{id:"ancestors"},"Ancestors"),Object(c.b)("ul",null,Object(c.b)("li",{parentName:"ul"},"builtins.Exception"),Object(c.b)("li",{parentName:"ul"},"builtins.BaseException")))))}b.isMDXComponent=!0},300:function(e,t,r){"use strict";r.d(t,"a",(function(){return d})),r.d(t,"b",(function(){return O}));var n=r(0),a=r.n(n);function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),b=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=b(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},p=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,c=e.originalType,i=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),d=b(r),p=n,O=d["".concat(i,".").concat(p)]||d[p]||u[p]||c;return r?a.a.createElement(O,l(l({ref:t},s),{},{components:r})):a.a.createElement(O,l({ref:t},s))}));function O(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var c=r.length,i=new Array(c);i[0]=p;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var s=2;s=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var u=r.a.createContext({}),s=function(e){var t=r.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=s(e.components);return r.a.createElement(u.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},f=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=s(n),f=a,d=p["".concat(i,".").concat(f)]||p[f]||m[f]||o;return n?r.a.createElement(d,l(l({ref:t},u),{},{components:n})):r.a.createElement(d,l({ref:t},u))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=f;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,i[1]=l;for(var u=2;u=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=s(r),m=n,d=p["".concat(i,".").concat(m)]||p[m]||f[m]||o;return r?a.a.createElement(d,c(c({ref:t},l),{},{components:r})):a.a.createElement(d,c({ref:t},l))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=m;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var l=r.a.createContext({}),b=function(e){var a=r.a.useContext(l),t=a;return e&&(t="function"==typeof e?e(a):p(p({},a),e)),t},s=function(e){var a=b(e.components);return r.a.createElement(l.Provider,{value:a},e.children)},d={inlineCode:"code",wrapper:function(e){var a=e.children;return r.a.createElement(r.a.Fragment,{},a)}},m=r.a.forwardRef((function(e,a){var t=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),s=b(t),m=n,u=s["".concat(c,".").concat(m)]||s[m]||d[m]||o;return t?r.a.createElement(u,p(p({ref:a},l),{},{components:t})):r.a.createElement(u,p({ref:a},l))}));function u(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var o=t.length,c=new Array(o);c[0]=m;var p={};for(var i in a)hasOwnProperty.call(a,i)&&(p[i]=a[i]);p.originalType=e,p.mdxType="string"==typeof e?e:n,c[1]=p;for(var l=2;l=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var l=r.a.createContext({}),b=function(e){var a=r.a.useContext(l),t=a;return e&&(t="function"==typeof e?e(a):p(p({},a),e)),t},s=function(e){var a=b(e.components);return r.a.createElement(l.Provider,{value:a},e.children)},d={inlineCode:"code",wrapper:function(e){var a=e.children;return r.a.createElement(r.a.Fragment,{},a)}},m=r.a.forwardRef((function(e,a){var t=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),s=b(t),m=n,u=s["".concat(c,".").concat(m)]||s[m]||d[m]||o;return t?r.a.createElement(u,p(p({ref:a},l),{},{components:t})):r.a.createElement(u,p({ref:a},l))}));function u(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var o=t.length,c=new Array(o);c[0]=m;var p={};for(var i in a)hasOwnProperty.call(a,i)&&(p[i]=a[i]);p.originalType=e,p.mdxType="string"==typeof e?e:n,c[1]=p;for(var l=2;l0||h)&&r.a.createElement("footer",{className:"row margin-vert--lg"},k.length>0&&r.a.createElement("div",{className:"col"},r.a.createElement("strong",null,"Tags:"),k.map((function(e){var a=e.label,t=e.permalink;return r.a.createElement(i.a,{key:t,className:"margin-horiz--sm",to:t},a)}))),h&&r.a.createElement("div",{className:"col text--right"},r.a.createElement(i.a,{to:_.permalink,"aria-label":"Read more about "+R},r.a.createElement("strong",null,"Read More"))))))}}}]); \ No newline at end of file diff --git a/docs/a6aa9e1f.d4010c31.js b/docs/a6aa9e1f.d4010c31.js deleted file mode 100644 index 23243834c4..0000000000 --- a/docs/a6aa9e1f.d4010c31.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[156,33],{298:function(e,a,t){"use strict";t.r(a);var n=t(0),i=t.n(n),l=t(301),c=t(305),r=t(382),o=t(303);var s=function(e){const{metadata:a}=e,{previousPage:t,nextPage:n}=a;return i.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},i.a.createElement("div",{className:"pagination-nav__item"},t&&i.a.createElement(o.a,{className:"pagination-nav__link",to:t},i.a.createElement("h4",{className:"pagination-nav__label"},"\xab Newer Entries"))),i.a.createElement("div",{className:"pagination-nav__item pagination-nav__item--next"},n&&i.a.createElement(o.a,{className:"pagination-nav__link",to:n},i.a.createElement("h4",{className:"pagination-nav__label"},"Older Entries \xbb"))))};a.default=function(e){const{metadata:a,items:t}=e,{siteConfig:{title:n}}=Object(l.a)(),o="/"===a.permalink?n:"Blog",{blogDescription:m}=a;return i.a.createElement(c.a,{title:o,description:m},i.a.createElement("div",{className:"container margin-vert--lg"},i.a.createElement("div",{className:"row"},i.a.createElement("main",{className:"col col--8 col--offset-2"},t.map((({content:e})=>i.a.createElement(r.a,{key:e.metadata.permalink,frontMatter:e.frontMatter,metadata:e.metadata,truncated:e.metadata.truncated},i.a.createElement(e,null)))),i.a.createElement(s,{metadata:a})))))}},306:function(e,a,t){"use strict";t.d(a,"a",(function(){return o}));var n=t(0),i=t.n(n),l=t(307),c=t(308),r=function(){var e=i.a.useState(!!window.localStorage.getItem("noticeRead")),a=e[0],t=e[1];return i.a.createElement("section",{className:"notice",style:{opacity:a?0:1}},i.a.createElement("div",null,i.a.createElement("p",null,"By using this website you agree to our use of cookies. "),i.a.createElement("a",{href:"https://www.h2o.ai/privacy/",target:"_blank"},"Read H2O.ai\u2019s privacy policy.")),i.a.createElement("span",{className:"notice__close",onClick:function(){window.localStorage.setItem("noticeRead",!0),t(!0)}},"X"))};function o(e){return i.a.createElement(i.a.Fragment,null,i.a.createElement(c.a,null,r),i.a.createElement(l.a,e))}}}]); \ No newline at end of file diff --git a/docs/a7eb55a2.6ba69963.js b/docs/a7eb55a2.6ba69963.js new file mode 100644 index 0000000000..0f3c705ee7 --- /dev/null +++ b/docs/a7eb55a2.6ba69963.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[156],{210:function(e,a,t){"use strict";t.r(a),t.d(a,"frontMatter",(function(){return l})),t.d(a,"metadata",(function(){return s})),t.d(a,"rightToc",(function(){return i})),t.d(a,"default",(function(){return p}));var c=t(2),r=t(6),o=(t(0),t(302)),b=t(304),l={title:"Examples by Tag",slug:"/examples/tags"},s={unversionedId:"examples/tags",id:"examples/tags",isDocsHomePage:!1,title:"Examples by Tag",description:"altair",source:"@site/docs/examples/tags.md",slug:"/examples/tags",permalink:"/wave/docs/examples/tags",editUrl:"https://github.com/h2oai/wave/edit/master/website/docs/examples/tags.md",version:"current",sidebar:"someSidebar",previous:{title:"All Examples",permalink:"/wave/docs/examples/all"},next:{title:"Hello World!",permalink:"/wave/docs/examples/hello-world"}},i=[{value:"altair",id:"altair",children:[]},{value:"annotation",id:"annotation",children:[]},{value:"background_tasks",id:"background_tasks",children:[]},{value:"bokeh",id:"bokeh",children:[]},{value:"breadcrumbs",id:"breadcrumbs",children:[]},{value:"broadcast",id:"broadcast",children:[]},{value:"buttons",id:"buttons",children:[]},{value:"checkbox",id:"checkbox",children:[]},{value:"checklist",id:"checklist",children:[]},{value:"choice",id:"choice",children:[]},{value:"choice_group",id:"choice_group",children:[]},{value:"collaboration",id:"collaboration",children:[]},{value:"color_picker",id:"color_picker",children:[]},{value:"combobox",id:"combobox",children:[]},{value:"command",id:"command",children:[]},{value:"context_menu",id:"context_menu",children:[]},{value:"dashboard",id:"dashboard",children:[]},{value:"dataframe",id:"dataframe",children:[]},{value:"date_picker",id:"date_picker",children:[]},{value:"dialog",id:"dialog",children:[]},{value:"download",id:"download",children:[]},{value:"dropdown",id:"dropdown",children:[]},{value:"events",id:"events",children:[]},{value:"executor",id:"executor",children:[]},{value:"file_upload",id:"file_upload",children:[]},{value:"form",id:"form",children:[]},{value:"frame",id:"frame",children:[]},{value:"graphics",id:"graphics",children:[]},{value:"header",id:"header",children:[]},{value:"hello_world",id:"hello_world",children:[]},{value:"histogram",id:"histogram",children:[]},{value:"html",id:"html",children:[]},{value:"icon",id:"icon",children:[]},{value:"image",id:"image",children:[]},{value:"interval",id:"interval",children:[]},{value:"label",id:"label",children:[]},{value:"layout",id:"layout",children:[]},{value:"link",id:"link",children:[]},{value:"location_hash",id:"location_hash",children:[]},{value:"map",id:"map",children:[]},{value:"markdown",id:"markdown",children:[]},{value:"markup",id:"markup",children:[]},{value:"matplotlib",id:"matplotlib",children:[]},{value:"message_bar",id:"message_bar",children:[]},{value:"meta",id:"meta",children:[]},{value:"mode",id:"mode",children:[]},{value:"multi_series",id:"multi_series",children:[]},{value:"multicast",id:"multicast",children:[]},{value:"navigation",id:"navigation",children:[]},{value:"notification",id:"notification",children:[]},{value:"pandas",id:"pandas",children:[]},{value:"picker",id:"picker",children:[]},{value:"plot",id:"plot",children:[]},{value:"plotly",id:"plotly",children:[]},{value:"progress",id:"progress",children:[]},{value:"range",id:"range",children:[]},{value:"redirect",id:"redirect",children:[]},{value:"refresh",id:"refresh",children:[]},{value:"responsive",id:"responsive",children:[]},{value:"routing",id:"routing",children:[]},{value:"search",id:"search",children:[]},{value:"selection",id:"selection",children:[]},{value:"separator",id:"separator",children:[]},{value:"series",id:"series",children:[]},{value:"sidebar",id:"sidebar",children:[]},{value:"site",id:"site",children:[]},{value:"slider",id:"slider",children:[]},{value:"spinbox",id:"spinbox",children:[]},{value:"stacked",id:"stacked",children:[]},{value:"stat_card",id:"stat_card",children:[]},{value:"stepper",id:"stepper",children:[]},{value:"swatch_picker",id:"swatch_picker",children:[]},{value:"table",id:"table",children:[]},{value:"tabs",id:"tabs",children:[]},{value:"template",id:"template",children:[]},{value:"text",id:"text",children:[]},{value:"textbox",id:"textbox",children:[]},{value:"toggle",id:"toggle",children:[]},{value:"toolbar",id:"toolbar",children:[]},{value:"trigger",id:"trigger",children:[]},{value:"unicast",id:"unicast",children:[]},{value:"upload",id:"upload",children:[]},{value:"vega",id:"vega",children:[]},{value:"wizard",id:"wizard",children:[]}],d={rightToc:i};function p(e){var a=e.components,t=Object(r.a)(e,["components"]);return Object(o.b)("wrapper",Object(c.a)({},d,t,{components:a,mdxType:"MDXLayout"}),Object(o.b)("h3",{id:"altair"},"altair"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-altair")},"Plot / Altair"),Object(o.b)("h3",{id:"annotation"},"annotation"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-annotation")},"Plot / Interval / Annotation")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-annotation-transpose")},"Plot / Interval / Annotation / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-line-annotation")},"Plot / Line / Annotation")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-point-annotation")},"Plot / Point / Annotation"),Object(o.b)("h3",{id:"background_tasks"},"background_tasks"),Object(o.b)("a",{href:Object(b.a)("docs/examples/background")},"Background Tasks")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/background-executor")},"Background Tasks / Executor")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/background-progress")},"Background Tasks / Progress"),Object(o.b)("h3",{id:"bokeh"},"bokeh"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-bokeh")},"Plot / Bokeh"),Object(o.b)("h3",{id:"breadcrumbs"},"breadcrumbs"),Object(o.b)("a",{href:Object(b.a)("docs/examples/breadcrumbs")},"Breadcrumbs"),Object(o.b)("h3",{id:"broadcast"},"broadcast"),Object(o.b)("a",{href:Object(b.a)("docs/examples/counter-broadcast")},"Mode / Broadcast")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/counter-global")},"Mode / Broadcast / Global"),Object(o.b)("h3",{id:"buttons"},"buttons"),Object(o.b)("a",{href:Object(b.a)("docs/examples/button")},"Form / Button")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/buttons")},"Form / Buttons"),Object(o.b)("h3",{id:"checkbox"},"checkbox"),Object(o.b)("a",{href:Object(b.a)("docs/examples/checkbox")},"Form / Checkbox"),Object(o.b)("h3",{id:"checklist"},"checklist"),Object(o.b)("a",{href:Object(b.a)("docs/examples/checklist")},"Form / Checklist"),Object(o.b)("h3",{id:"choice"},"choice"),Object(o.b)("a",{href:Object(b.a)("docs/examples/choice-group")},"Form / Choice Group")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/dropdown")},"Form / Dropdown")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/picker")},"Form / Picker")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/picker-selection")},"Form / Picker / Selection"),Object(o.b)("h3",{id:"choice_group"},"choice_group"),Object(o.b)("a",{href:Object(b.a)("docs/examples/choice-group")},"Form / Choice Group"),Object(o.b)("h3",{id:"collaboration"},"collaboration"),Object(o.b)("a",{href:Object(b.a)("docs/examples/pixel-art")},"Pixel Art"),Object(o.b)("h3",{id:"color_picker"},"color_picker"),Object(o.b)("a",{href:Object(b.a)("docs/examples/color-picker")},"Form / Color Picker"),Object(o.b)("h3",{id:"combobox"},"combobox"),Object(o.b)("a",{href:Object(b.a)("docs/examples/combobox")},"Form / Combobox"),Object(o.b)("h3",{id:"command"},"command"),Object(o.b)("a",{href:Object(b.a)("docs/examples/toolbar")},"Toolbar"),Object(o.b)("h3",{id:"context_menu"},"context_menu"),Object(o.b)("a",{href:Object(b.a)("docs/examples/card-menu")},"Context Menu")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/form-menu")},"Form / Menu"),Object(o.b)("h3",{id:"dashboard"},"dashboard"),Object(o.b)("a",{href:Object(b.a)("docs/examples/dashboard")},"Dashboard"),Object(o.b)("h3",{id:"dataframe"},"dataframe"),Object(o.b)("a",{href:Object(b.a)("docs/examples/table-markdown-pandas")},"Table / Markdown / Pandas"),Object(o.b)("h3",{id:"date_picker"},"date_picker"),Object(o.b)("a",{href:Object(b.a)("docs/examples/date-picker")},"Form / Date Picker")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/date-picker-trigger")},"Form / Date Picker / Trigger"),Object(o.b)("h3",{id:"dialog"},"dialog"),Object(o.b)("a",{href:Object(b.a)("docs/examples/meta-dialog")},"Meta / Dialog"),Object(o.b)("h3",{id:"download"},"download"),Object(o.b)("a",{href:Object(b.a)("docs/examples/table-download")},"Table / Download")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/upload-download")},"Uploads / Download"),Object(o.b)("h3",{id:"dropdown"},"dropdown"),Object(o.b)("a",{href:Object(b.a)("docs/examples/dropdown")},"Form / Dropdown"),Object(o.b)("h3",{id:"events"},"events"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-events")},"Plot / Events"),Object(o.b)("h3",{id:"executor"},"executor"),Object(o.b)("a",{href:Object(b.a)("docs/examples/background-executor")},"Background Tasks / Executor"),Object(o.b)("h3",{id:"file_upload"},"file_upload"),Object(o.b)("a",{href:Object(b.a)("docs/examples/file-upload")},"Form / File Upload"),Object(o.b)("h3",{id:"form"},"form"),Object(o.b)("a",{href:Object(b.a)("docs/examples/form")},"Form")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/button")},"Form / Button")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/buttons")},"Form / Buttons")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/checkbox")},"Form / Checkbox")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/checklist")},"Form / Checklist")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/choice-group")},"Form / Choice Group")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/color-picker")},"Form / Color Picker")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/combobox")},"Form / Combobox")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/date-picker")},"Form / Date Picker")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/date-picker-trigger")},"Form / Date Picker / Trigger")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/dropdown")},"Form / Dropdown")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/file-upload")},"Form / File Upload")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/form-frame")},"Form / Frame")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/form-frame-path")},"Form / Frame / Path")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/label")},"Form / Label")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/link")},"Form / Link")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/form-markup")},"Form / Markup")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/form-menu")},"Form / Menu")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/message-bar")},"Form / Message Bar")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/picker")},"Form / Picker")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/picker-selection")},"Form / Picker / Selection")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/progress")},"Form / Progress")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/progress-update")},"Form / Progress / Updating")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/range-slider")},"Form / Range Slider")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/separator")},"Form / Separator")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/slider")},"Form / Slider")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/spinbox")},"Form / Spinbox")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stepper")},"Form / Stepper")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/swatch-picker")},"Form / Swatch Picker")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/tabs")},"Form / Tabs")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/form-template")},"Form / Template")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/text")},"Form / Text")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/text-sizes")},"Form / Text / Sizes")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/textbox")},"Form / Textbox")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/textbox-trigger")},"Form / Textbox / Trigger")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/toggle")},"Form / Toggle")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/frame")},"Frame")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-form")},"Plot / Form")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-vegalite-form")},"Plot / Vega-lite / Form")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/upload-ui")},"Uploads / UI")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/wizard")},"Wizard"),Object(o.b)("h3",{id:"frame"},"frame"),Object(o.b)("a",{href:Object(b.a)("docs/examples/form-frame")},"Form / Frame")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/form-frame-path")},"Form / Frame / Path")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/frame")},"Frame")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/frame-path")},"Frame / Path"),Object(o.b)("h3",{id:"graphics"},"graphics"),Object(o.b)("a",{href:Object(b.a)("docs/examples/graphics-clock")},"Graphics / Clock")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/glider-gun")},"Graphics / Glider Gun")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/graphics-hilbert")},"Graphics / Hilbert")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/graphics-path")},"Graphics / Path")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/graphics-primitives")},"Graphics / Primitives")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/graphics-spline")},"Graphics / Spline")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/graphics-turtle")},"Graphics / Turtle"),Object(o.b)("h3",{id:"header"},"header"),Object(o.b)("a",{href:Object(b.a)("docs/examples/header")},"Header"),Object(o.b)("h3",{id:"hello_world"},"hello_world"),Object(o.b)("a",{href:Object(b.a)("docs/examples/hello-world")},"Hello World!"),Object(o.b)("h3",{id:"histogram"},"histogram"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-histogram")},"Plot / Histogram"),Object(o.b)("h3",{id:"html"},"html"),Object(o.b)("a",{href:Object(b.a)("docs/examples/form-frame")},"Form / Frame")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/form-markup")},"Form / Markup")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/form-template")},"Form / Template")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/frame")},"Frame")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/markup")},"Markup")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/template")},"Template"),Object(o.b)("h3",{id:"icon"},"icon"),Object(o.b)("a",{href:Object(b.a)("docs/examples/meta-icon")},"Meta / Icon"),Object(o.b)("h3",{id:"image"},"image"),Object(o.b)("a",{href:Object(b.a)("docs/examples/image")},"Image"),Object(o.b)("h3",{id:"interval"},"interval"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval")},"Plot / Interval")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-annotation")},"Plot / Interval / Annotation")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-annotation-transpose")},"Plot / Interval / Annotation / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-groups")},"Plot / Interval / Groups")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-groups-transpose")},"Plot / Interval / Groups / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-helix")},"Plot / Interval / Helix")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-labels")},"Plot / Interval / Labels")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-polar")},"Plot / Interval / Polar")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-polar-stacked")},"Plot / Interval / Polar / Stacked")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-range")},"Plot / Interval / Range")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-stacked")},"Plot / Interval / Stacked")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-stacked-grouped")},"Plot / Interval / Stacked / Grouped")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-stacked-grouped-transpose")},"Plot / Interval / Stacked / Grouped / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-stacked-transpose")},"Plot / Interval / Stacked / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-theta")},"Plot / Interval / Theta")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-transpose")},"Plot / Interval / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-small-series-interval")},"Stat / Series / Small / Interval")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-tall-series-interval")},"Stat / Series / Tall / Interval")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-wide-series-interval")},"Stat / Series / Wide / Interval"),Object(o.b)("h3",{id:"label"},"label"),Object(o.b)("a",{href:Object(b.a)("docs/examples/label")},"Form / Label"),Object(o.b)("h3",{id:"layout"},"layout"),Object(o.b)("a",{href:Object(b.a)("docs/examples/layout")},"Layout / Position")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/layout-responsive")},"Layout / Responsive")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/layout-size")},"Layout / Size"),Object(o.b)("h3",{id:"link"},"link"),Object(o.b)("a",{href:Object(b.a)("docs/examples/link")},"Form / Link")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/tab-link")},"Tab / Links"),Object(o.b)("h3",{id:"location_hash"},"location_hash"),Object(o.b)("a",{href:Object(b.a)("docs/examples/hash-routing")},"Routing"),Object(o.b)("h3",{id:"map"},"map"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-point-map")},"Plot / Point / Map"),Object(o.b)("h3",{id:"markdown"},"markdown"),Object(o.b)("a",{href:Object(b.a)("docs/examples/text")},"Form / Text")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/markdown")},"Markdown")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/markdown-data")},"Markdown / Data")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table-markdown")},"Table / Markdown")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table-markdown-pandas")},"Table / Markdown / Pandas"),Object(o.b)("h3",{id:"markup"},"markup"),Object(o.b)("a",{href:Object(b.a)("docs/examples/form-markup")},"Form / Markup")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/markup")},"Markup"),Object(o.b)("h3",{id:"matplotlib"},"matplotlib"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-matplotlib")},"Plot / Matplotlib"),Object(o.b)("h3",{id:"message_bar"},"message_bar"),Object(o.b)("a",{href:Object(b.a)("docs/examples/message-bar")},"Form / Message Bar"),Object(o.b)("h3",{id:"meta"},"meta"),Object(o.b)("a",{href:Object(b.a)("docs/examples/meta-dialog")},"Meta / Dialog")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/meta-icon")},"Meta / Icon")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/meta-notification")},"Meta / Notification")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/meta-redirect")},"Meta / Redirect")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/meta-refresh")},"Meta / Refresh")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/meta-title")},"Meta / Title"),Object(o.b)("h3",{id:"mode"},"mode"),Object(o.b)("a",{href:Object(b.a)("docs/examples/counter-broadcast")},"Mode / Broadcast")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/counter-global")},"Mode / Broadcast / Global")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/counter-multicast")},"Mode / Multicast")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/counter-unicast")},"Mode / Unicast"),Object(o.b)("h3",{id:"multi_series"},"multi_series"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-line-groups")},"Plot / Line / Groups"),Object(o.b)("h3",{id:"multicast"},"multicast"),Object(o.b)("a",{href:Object(b.a)("docs/examples/counter-multicast")},"Mode / Multicast"),Object(o.b)("h3",{id:"navigation"},"navigation"),Object(o.b)("a",{href:Object(b.a)("docs/examples/breadcrumbs")},"Breadcrumbs")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/link")},"Form / Link")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/tabs")},"Form / Tabs")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/nav")},"Nav")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/tab-delete")},"Tabs / Navigation"),Object(o.b)("h3",{id:"notification"},"notification"),Object(o.b)("a",{href:Object(b.a)("docs/examples/meta-notification")},"Meta / Notification"),Object(o.b)("h3",{id:"pandas"},"pandas"),Object(o.b)("a",{href:Object(b.a)("docs/examples/table-markdown-pandas")},"Table / Markdown / Pandas"),Object(o.b)("h3",{id:"picker"},"picker"),Object(o.b)("a",{href:Object(b.a)("docs/examples/picker")},"Form / Picker")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/picker-selection")},"Form / Picker / Selection"),Object(o.b)("h3",{id:"plot"},"plot"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-altair")},"Plot / Altair")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-app")},"Plot / App")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-area")},"Plot / Area")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-area-line")},"Plot / Area + Line")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-area-line-groups")},"Plot / Area + Line / Groups")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-area-line-smooth")},"Plot / Area + Line / Smooth")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-area-groups")},"Plot / Area / Groups")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-area-negative")},"Plot / Area / Negative")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-area-range")},"Plot / Area / Range")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-area-smooth")},"Plot / Area / Smooth")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-area-stacked")},"Plot / Area / Stacked")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-axis-title")},"Plot / Axis Titles")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-bokeh")},"Plot / Bokeh")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-d3")},"Plot / D3.js")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-events")},"Plot / Events")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-form")},"Plot / Form")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-histogram")},"Plot / Histogram")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval")},"Plot / Interval")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-annotation")},"Plot / Interval / Annotation")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-annotation-transpose")},"Plot / Interval / Annotation / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-groups")},"Plot / Interval / Groups")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-groups-transpose")},"Plot / Interval / Groups / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-helix")},"Plot / Interval / Helix")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-labels")},"Plot / Interval / Labels")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-polar")},"Plot / Interval / Polar")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-polar-stacked")},"Plot / Interval / Polar / Stacked")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-range")},"Plot / Interval / Range")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-range-transpose")},"Plot / Interval / Range / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-stacked")},"Plot / Interval / Stacked")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-stacked-grouped")},"Plot / Interval / Stacked / Grouped")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-stacked-grouped-transpose")},"Plot / Interval / Stacked / Grouped / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-stacked-transpose")},"Plot / Interval / Stacked / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-theta")},"Plot / Interval / Theta")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-transpose")},"Plot / Interval / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-line")},"Plot / Line")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-line-annotation")},"Plot / Line / Annotation")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-line-groups")},"Plot / Line / Groups")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-line-labels")},"Plot / Line / Labels")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-line-labels-no-overlap")},"Plot / Line / Labels / Occlusion")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-line-labels-stroked")},"Plot / Line / Labels/ Stroked")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-line-smooth")},"Plot / Line / Smooth")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-step")},"Plot / Line / Step")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-step-after")},"Plot / Line / Step / After")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-step-before")},"Plot / Line / Step / Before")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-matplotlib")},"Plot / Matplotlib")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-path")},"Plot / Path")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-path-point")},"Plot / Path / Point")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-path-smooth")},"Plot / Path / Smooth")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-plotly")},"Plot / Plotly")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-point")},"Plot / Point")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-point-annotation")},"Plot / Point / Annotation")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-point-custom")},"Plot / Point / Custom")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-point-groups")},"Plot / Point / Groups")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-point-map")},"Plot / Point / Map")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-point-shapes")},"Plot / Point / Shapes")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-point-sizes")},"Plot / Point / Sizes")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-polygon")},"Plot / Polygon")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-vegalite")},"Plot / Vega-lite")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-vegalite-form")},"Plot / Vega-lite / Form")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-vegalite-update")},"Plot / Vega-lite / Update"),Object(o.b)("h3",{id:"plotly"},"plotly"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-plotly")},"Plot / Plotly"),Object(o.b)("h3",{id:"progress"},"progress"),Object(o.b)("a",{href:Object(b.a)("docs/examples/background-progress")},"Background Tasks / Progress")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/progress")},"Form / Progress")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/progress-update")},"Form / Progress / Updating")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stepper")},"Form / Stepper")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-large-bar")},"Stat / Bar / Large")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-wide-bar")},"Stat / Bar / Wide")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-tall-gauge")},"Stat / Gauge / Tall")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-wide-gauge")},"Stat / Gauge / Wide"),Object(o.b)("h3",{id:"range"},"range"),Object(o.b)("a",{href:Object(b.a)("docs/examples/range-slider")},"Form / Range Slider")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-range")},"Plot / Interval / Range"),Object(o.b)("h3",{id:"redirect"},"redirect"),Object(o.b)("a",{href:Object(b.a)("docs/examples/meta-redirect")},"Meta / Redirect"),Object(o.b)("h3",{id:"refresh"},"refresh"),Object(o.b)("a",{href:Object(b.a)("docs/examples/meta-refresh")},"Meta / Refresh"),Object(o.b)("h3",{id:"responsive"},"responsive"),Object(o.b)("a",{href:Object(b.a)("docs/examples/layout-responsive")},"Layout / Responsive"),Object(o.b)("h3",{id:"routing"},"routing"),Object(o.b)("a",{href:Object(b.a)("docs/examples/hash-routing")},"Routing")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/tab-routing")},"Routing / Tabs")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/toolbar-routing")},"Routing / Toolbar"),Object(o.b)("h3",{id:"search"},"search"),Object(o.b)("a",{href:Object(b.a)("docs/examples/table-search")},"Table / Search"),Object(o.b)("h3",{id:"selection"},"selection"),Object(o.b)("a",{href:Object(b.a)("docs/examples/picker-selection")},"Form / Picker / Selection")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table-select")},"Table / Preselection"),Object(o.b)("h3",{id:"separator"},"separator"),Object(o.b)("a",{href:Object(b.a)("docs/examples/separator")},"Form / Separator"),Object(o.b)("h3",{id:"series"},"series"),Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-small-series-area")},"Stat / Series / Small / Area")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-small-series-interval")},"Stat / Series / Small / Interval")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-tall-series-area")},"Stat / Series / Tall / Area")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-tall-series-interval")},"Stat / Series / Tall / Interval")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-wide-series-area")},"Stat / Series / Wide / Area")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-wide-series-interval")},"Stat / Series / Wide / Interval"),Object(o.b)("h3",{id:"sidebar"},"sidebar"),Object(o.b)("a",{href:Object(b.a)("docs/examples/nav")},"Nav"),Object(o.b)("h3",{id:"site"},"site"),Object(o.b)("a",{href:Object(b.a)("docs/examples/site-async")},"Site / Async"),Object(o.b)("h3",{id:"slider"},"slider"),Object(o.b)("a",{href:Object(b.a)("docs/examples/range-slider")},"Form / Range Slider")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/slider")},"Form / Slider"),Object(o.b)("h3",{id:"spinbox"},"spinbox"),Object(o.b)("a",{href:Object(b.a)("docs/examples/spinbox")},"Form / Spinbox"),Object(o.b)("h3",{id:"stacked"},"stacked"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-area-stacked")},"Plot / Area / Stacked")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-polar-stacked")},"Plot / Interval / Polar / Stacked")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-stacked")},"Plot / Interval / Stacked")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-stacked-grouped")},"Plot / Interval / Stacked / Grouped")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-stacked-grouped-transpose")},"Plot / Interval / Stacked / Grouped / Transpose")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-interval-stacked-transpose")},"Plot / Interval / Stacked / Transpose"),Object(o.b)("h3",{id:"stat_card"},"stat_card"),Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-large-bar")},"Stat / Bar / Large")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-wide-bar")},"Stat / Bar / Wide")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-tall-gauge")},"Stat / Gauge / Tall")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-wide-gauge")},"Stat / Gauge / Wide")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-large")},"Stat / Large")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-small-series-area")},"Stat / Series / Small / Area")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-small-series-interval")},"Stat / Series / Small / Interval")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-tall-series-area")},"Stat / Series / Tall / Area")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-tall-series-interval")},"Stat / Series / Tall / Interval")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-wide-series-area")},"Stat / Series / Wide / Area")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-wide-series-interval")},"Stat / Series / Wide / Interval")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/stat-small")},"Stat / Small"),Object(o.b)("h3",{id:"stepper"},"stepper"),Object(o.b)("a",{href:Object(b.a)("docs/examples/stepper")},"Form / Stepper"),Object(o.b)("h3",{id:"swatch_picker"},"swatch_picker"),Object(o.b)("a",{href:Object(b.a)("docs/examples/swatch-picker")},"Form / Swatch Picker"),Object(o.b)("h3",{id:"table"},"table"),Object(o.b)("a",{href:Object(b.a)("docs/examples/issue-tracker")},"Issue Tracker")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table")},"Table")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table-download")},"Table / Download")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table-filter")},"Table / Filter")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table-filter-backend")},"Table / Filter / Backend")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table-groupby")},"Table / Group by")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table-markdown")},"Table / Markdown")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table-markdown-pandas")},"Table / Markdown / Pandas")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table-select")},"Table / Preselection")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table-search")},"Table / Search")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/table-sort")},"Table / Sort"),Object(o.b)("h3",{id:"tabs"},"tabs"),Object(o.b)("a",{href:Object(b.a)("docs/examples/tabs")},"Form / Tabs")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/tab-routing")},"Routing / Tabs")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/tab")},"Tab")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/tab-link")},"Tab / Links")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/tab-delete")},"Tabs / Navigation"),Object(o.b)("h3",{id:"template"},"template"),Object(o.b)("a",{href:Object(b.a)("docs/examples/form-template")},"Form / Template")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/template")},"Template")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/template-data")},"Template / Data"),Object(o.b)("h3",{id:"text"},"text"),Object(o.b)("a",{href:Object(b.a)("docs/examples/text")},"Form / Text")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/text-sizes")},"Form / Text / Sizes"),Object(o.b)("h3",{id:"textbox"},"textbox"),Object(o.b)("a",{href:Object(b.a)("docs/examples/textbox")},"Form / Textbox")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/textbox-trigger")},"Form / Textbox / Trigger"),Object(o.b)("h3",{id:"toggle"},"toggle"),Object(o.b)("a",{href:Object(b.a)("docs/examples/toggle")},"Form / Toggle"),Object(o.b)("h3",{id:"toolbar"},"toolbar"),Object(o.b)("a",{href:Object(b.a)("docs/examples/toolbar-routing")},"Routing / Toolbar")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/toolbar")},"Toolbar"),Object(o.b)("h3",{id:"trigger"},"trigger"),Object(o.b)("a",{href:Object(b.a)("docs/examples/date-picker-trigger")},"Form / Date Picker / Trigger")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/textbox-trigger")},"Form / Textbox / Trigger"),Object(o.b)("h3",{id:"unicast"},"unicast"),Object(o.b)("a",{href:Object(b.a)("docs/examples/counter-unicast")},"Mode / Unicast"),Object(o.b)("h3",{id:"upload"},"upload"),Object(o.b)("a",{href:Object(b.a)("docs/examples/file-upload")},"Form / File Upload")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/upload")},"Uploads")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/upload-async")},"Uploads / Async")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/upload-download")},"Uploads / Download")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/upload-ui")},"Uploads / UI"),Object(o.b)("h3",{id:"vega"},"vega"),Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-altair")},"Plot / Altair")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-vegalite")},"Plot / Vega-lite")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-vegalite-form")},"Plot / Vega-lite / Form")," \u2002",Object(o.b)("a",{href:Object(b.a)("docs/examples/plot-vegalite-update")},"Plot / Vega-lite / Update"),Object(o.b)("h3",{id:"wizard"},"wizard"),Object(o.b)("a",{href:Object(b.a)("docs/examples/wizard")},"Wizard"))}p.isMDXComponent=!0},302:function(e,a,t){"use strict";t.d(a,"a",(function(){return p})),t.d(a,"b",(function(){return j}));var c=t(0),r=t.n(c);function o(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function b(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);a&&(c=c.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,c)}return t}function l(e){for(var a=1;a=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(c=0;c=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var i=r.a.createContext({}),d=function(e){var a=r.a.useContext(i),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},p=function(e){var a=d(e.components);return r.a.createElement(i.Provider,{value:a},e.children)},n={inlineCode:"code",wrapper:function(e){var a=e.children;return r.a.createElement(r.a.Fragment,{},a)}},O=r.a.forwardRef((function(e,a){var t=e.components,c=e.mdxType,o=e.originalType,b=e.parentName,i=s(e,["components","mdxType","originalType","parentName"]),p=d(t),O=c,j=p["".concat(b,".").concat(O)]||p[O]||n[O]||o;return t?r.a.createElement(j,l(l({ref:a},i),{},{components:t})):r.a.createElement(j,l({ref:a},i))}));function j(e,a){var t=arguments,c=a&&a.mdxType;if("string"==typeof e||c){var o=t.length,b=new Array(o);b[0]=O;var l={};for(var s in a)hasOwnProperty.call(a,s)&&(l[s]=a[s]);l.originalType=e,l.mdxType="string"==typeof e?e:c,b[1]=l;for(var i=2;i=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=o.a.createContext({}),l=function(e){var t=o.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=l(e.components);return o.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),s=l(r),d=n,m=s["".concat(i,".").concat(d)]||s[d]||f[d]||a;return r?o.a.createElement(m,c(c({ref:t},u),{},{components:r})):o.a.createElement(m,c({ref:t},u))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=d;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var u=2;u=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=o.a.createContext({}),u=function(e){var t=o.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=u(e.components);return o.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},m=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,p=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),s=u(n),m=r,d=s["".concat(p,".").concat(m)]||s[m]||f[m]||a;return n?o.a.createElement(d,c(c({ref:t},l),{},{components:n})):o.a.createElement(d,c({ref:t},l))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,p=new Array(a);p[0]=m;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:r,p[1]=c;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=o.a.createContext({}),d=function(e){var t=o.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=d(e.components);return o.a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},w=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,a=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),p=d(r),w=n,b=p["".concat(a,".").concat(w)]||p[w]||u[w]||i;return r?o.a.createElement(b,l(l({ref:t},s),{},{components:r})):o.a.createElement(b,l({ref:t},s))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,a=new Array(i);a[0]=w;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,a[1]=l;for(var s=2;s=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=n.a.createContext({}),p=function(e){var t=n.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},s=function(e){var t=p(e.components);return n.a.createElement(c.Provider,{value:t},e.children)},w={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},b=n.a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,c=d(e,["components","mdxType","originalType","parentName"]),s=p(r),b=o,H=s["".concat(a,".").concat(b)]||s[b]||w[b]||i;return r?n.a.createElement(H,l(l({ref:t},c),{},{components:r})):n.a.createElement(H,l({ref:t},c))}));function H(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=b;var l={};for(var d in t)hasOwnProperty.call(t,d)&&(l[d]=t[d]);l.originalType=e,l.mdxType="string"==typeof e?e:o,a[1]=l;for(var c=2;c=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),l=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=l(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(r),m=n,b=p["".concat(i,".").concat(m)]||p[m]||d[m]||o;return r?a.a.createElement(b,c(c({ref:t},u),{},{components:r})):a.a.createElement(b,c({ref:t},u))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=m;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var u=2;u=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),l=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=l(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(r),m=n,b=p["".concat(i,".").concat(m)]||p[m]||d[m]||o;return r?a.a.createElement(b,c(c({ref:t},u),{},{components:r})):a.a.createElement(b,c({ref:t},u))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=m;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var u=2;u=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),s=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=s(n),m=r,f=u["".concat(i,".").concat(m)]||u[m]||d[m]||o;return n?a.a.createElement(f,l(l({ref:t},p),{},{components:n})):a.a.createElement(f,l({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var p=2;p=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),s=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=s(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=s(r),f=n,b=p["".concat(i,".").concat(f)]||p[f]||d[f]||o;return r?a.a.createElement(b,c(c({ref:t},u),{},{components:r})):a.a.createElement(b,c({ref:t},u))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var u=2;u\n{{#each dishes}}\n
    3. {{name}} costs {{price}}
    4. \n{{/each}}\n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),s=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=s(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),c=s(n),d=r,v=c["".concat(i,".").concat(d)]||c[d]||m[d]||o;return n?a.a.createElement(v,l(l({ref:t},u),{},{components:n})):a.a.createElement(v,l({ref:t},u))}));function v(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var u=2;u\n{{#each dishes}}\n
    5. {{name}} costs {{price}}
    6. \n{{/each}}\n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),l=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):u(u({},t),e)),n},p=function(e){var t=l(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=l(n),d=r,f=p["".concat(i,".").concat(d)]||p[d]||m[d]||o;return n?a.a.createElement(f,u(u({ref:t},c),{},{components:n})):a.a.createElement(f,u({ref:t},c))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var u={};for(var s in t)hasOwnProperty.call(t,s)&&(u[s]=t[s]);u.originalType=e,u.mdxType="string"==typeof e?e:r,i[1]=u;for(var c=2;c=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),p=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=p(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=p(n),d=r,b=s["".concat(i,".").concat(d)]||s[d]||f[d]||o;return n?a.a.createElement(b,c(c({ref:t},u),{},{components:n})):a.a.createElement(b,c({ref:t},u))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var u=2;u=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),u=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=u(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),s=u(n),d=r,f=s["".concat(i,".").concat(d)]||s[d]||m[d]||o;return n?a.a.createElement(f,l(l({ref:t},p),{},{components:n})):a.a.createElement(f,l({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var p=2;p=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=r.a.createContext({}),s=function(e){var t=r.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=s(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,l=e.originalType,a=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=s(n),d=o,f=u["".concat(a,".").concat(d)]||u[d]||m[d]||l;return n?r.a.createElement(f,i(i({ref:t},c),{},{components:n})):r.a.createElement(f,i({ref:t},c))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var l=n.length,a=new Array(l);a[0]=d;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i.mdxType="string"==typeof e?e:o,a[1]=i;for(var c=2;c=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var p=o.a.createContext({}),s=function(t){var e=o.a.useContext(p),n=e;return t&&(n="function"==typeof t?t(e):i(i({},e),t)),n},u=function(t){var e=s(t.components);return o.a.createElement(p.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return o.a.createElement(o.a.Fragment,{},e)}},f=o.a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,l=t.originalType,a=t.parentName,p=c(t,["components","mdxType","originalType","parentName"]),u=s(n),f=r,m=u["".concat(a,".").concat(f)]||u[f]||d[f]||l;return n?o.a.createElement(m,i(i({ref:e},p),{},{components:n})):o.a.createElement(m,i({ref:e},p))}));function m(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=n.length,a=new Array(l);a[0]=f;var i={};for(var c in e)hasOwnProperty.call(e,c)&&(i[c]=e[c]);i.originalType=t,i.mdxType="string"==typeof t?t:r,a[1]=i;for(var p=2;p=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),p=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=p(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=p(r),d=n,b=u["".concat(i,".").concat(d)]||u[d]||f[d]||o;return r?a.a.createElement(b,c(c({ref:t},s),{},{components:r})):a.a.createElement(b,c({ref:t},s))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=a.a.createContext({}),s=function(e){var t=a.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):p(p({},t),e)),r},u=function(e){var t=s(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=s(r),m=n,f=u["".concat(i,".").concat(m)]||u[m]||d[m]||o;return r?a.a.createElement(f,p(p({ref:t},c),{},{components:r})):a.a.createElement(f,p({ref:t},c))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=m;var p={};for(var l in t)hasOwnProperty.call(t,l)&&(p[l]=t[l]);p.originalType=e,p.mdxType="string"==typeof e?e:n,i[1]=p;for(var c=2;cWiuT=vHT z`0JXZ#3N-iczB{2g~0!BJ3Ul)dTwjt)l9gYWgQm{rmP12m1JK>L}Se#++~dKG)#nP)&X_@XC)pCsr;xntvV{Y+5g03J~7p|9CTS z!7(!M?~55^;FS*5uevcq|9xtu`yPB`z?Emzd|dziOe+b7w5MpYL^rqpKPMR|A%=$X zdzljL?@2~gyzlwJEvFl=1Wwy0|#C#k|dV4L_7_v>{Km;I&GgDm6DZ z;iE^7WFI|huJ<_nGilqHZok;>UQ>uoAs~k4x7Bzl(&3_{q=YMxW?^&u?sCQ3puZd7qP3+Dw1_{3KD&-2AvY_|d;NSP*f7Z+U?x7W z{#s?f`1ZqxliM?aWRdB8ejpPjg zrDdMdXpydH`csD1)=+}7b;lncAHmDvdZmtcmUvdf!@^o&VFGX^tfs1z)+`0xcRp6R zZs}C)6WmiEltA15*-0?Jww7pJyVM>31};}ALn^fI!nr}O4phP-u zmSQR~e(2A#$b@D+b`s1R{{Q()dWHth6J8?2p0KZA6iX7-X+%R!Ep9ba$3M9UOUP<7 zUGquF#>R&A+4JXZ^DV)F^7P%?Q{C}ww`auC zlarxdVleK_b?w?U&x6BNFWO2YRp~Gi4!E?^Cjy-RcX&99BL`aAg#F>IgjlMu@NoOX z%@^dN-a?ZPnwy)mpM82QeazN)_6pX>aI9GWZTAv?ifMb;Z8QuF|2J>ms4jM?6PqCy zF)J$zm5hw+=;)}aqXYHj%a>;3rJtk)2?z+@Cnn~xa10F&wgjLP*v)^v4mW0Qe{B>E z3#)CR?Tx;fS+>g=gsk?e94Zl{aqSP=+-%i6P%bO^qTGK`x#w;9N?P_36{ygN?~x znMg|N`}fgZH>aB4-F>WQV6ZdK>-WzN&rVzHVczd|iR-H^G3>zJ{xdIG>dl6_u34 z3`fdx7QJ0ousWQVrE+?Dxb+4$fO!lYRuhd{sw09TFd`xX_Vq2;$3M(??dHU&18~Dh zdGHZZq4;;D^z_nTp$)cX>J9c*2EGmqDCMh{NWeDLoNDmWA|WBkj!5M)jd;pHnBlP0 zr4iBh?VIe!&!1nHTaM<&3JMBhRBN*q>eMsBnlL9NCAH?Ngo2;4@R`&&*R_?fLOxz8?HTcz&V9@;PIt?G6`rg{8;uo_42}~*xZ7FH# z*JESqO6d~U!$s~r`9Sy6p&AVvoA`N_0+E7(fKY_AS8ZLbwI=Ehc9jw-}H{ZUZ_S9Fs)fJD$GUv-1mYV3}Ip<$phqY9HN z1poc}_cP1}GOqaYx&29lARFfMo~*E5_&u1F>-CYCMH6`zD?dKHk)DKo{d#ZDiNmy) zTtx%&NdW9ph^amY&z4{u{2!WJizOJiMZlQv_)%F_`JmHpIk%v97 z^k~$ruthQ$qh;y7&d%y0uX>`~(vo~}VSy$9Hv@vmVyU5_0k&RJaxzZ@zthTF*(Xnk z=I7@#WTR*-oZ+?++s@SCb;q$hXR55Mgd>-jd?yV*eFhhAzx(USe}c=1=AVS|Pu{qU zJ?gt#1{Xlz70;Gx3ES@H{e-(wvaM0HGOdss0uvGvG^gj9{dc*$Z~FER4-?%Cl&Gqy zu^4WE^MOf_`-Wx(^}DQxWQPYt<_ zeSHyd9^aWKPft!58wWUJucM;Afw(ZO#q(J1O)itCG`{8jM2w!EKKFZEcU7>4^=9fe zrEY_##x+z_OKmMHt9&?xVZP6Sz$WCVeT%wxU#jb0qST31g1>HWJFs255v{?lFuOmz8xtZ^XF8Dh0>iUW^o7*k0_g zaK8IE?i!-Cz1?D3S5uP|pMXH6;}--cm+a%m&nJ1i$Hqvo$Q~$9qB1S6LFndm!3ITr z{``5l3!nnnom~f>P)}yAtE-bJq>3aPdr)7iuo}MtpQD_s{HTCcNQm6r z+?=#S>fu8a#KmFbrSbT3rc9)sk1tv36kBGY+60ZWC=^i8p9`#Rh!SqjNN zR@7*s(lpC0vUM9pV8aE;#WEt{h1pOxo`j_2@WkeL8EWIj3De2pR^;2axGL5D{#WVn zLp3?`pk(E4*VQI?np~dFUOt5jE7%m*xlKm4c)Yu8VfZ>En>06BQMe%Bx3cevtEN85q#|QiPwE4-5~teS8#+gk^B=&;hn~oSz=z zQBp>1OjgoDwJ`3AQCi~_5upsmrjUSD=dhmO9uCU`xY69#r^s>~&5^hEH4vj(XLP#O zwY&j!f>EQC?llop&^^VJ?AV0F#6>_1)s(634^+G(F}`^b>snbce|&Zyitz9Z@4qni z^7W-WCzGi2NQ$-rC?Ms4 z;9y!|;q&KM;s4-;l{Y)$o%xaH^OuhFw@P<5DrXl~1~RK$Hb`F{tS78_KSC7iHD7Vs zoVrcMYa;~_=s2}(1~oNXtCIEQ{%UNNz45w7Y*de&qGCq^mnrwer;i_-pxVUtyngeh zrR~ivm3@eKe`Utu_u;Y4Lqmj5K5&b>xm8IgYqNIrCJSrW<<>cfVBJQ`qo`BSV1y!GXZKR-k=d^WdihN{b1kmU?gWgKm7+H#AnjSZHJ%uJrHJe53p_(vOn!@%@({gifg=T&7uAomoK zaAB{EX0s_}1gKZqB;!h;DJu3I)+nH&qQcMBigbujP*BDz99>+9A%QQzK1QM^3upXL zDP%c@I)NrEEL<*d_3BmogLMtOTet4n%+w_;*6S4O`N5|N3f3}DI&V&Cz&UlrG69wt zCPCs`DEv?dz4|@k@PdMZzD`fSfEQexpYp64b0$=|ZD+Wh9hGFO6{SdfK@_zvc0@h| z@TOT^R8++0bKx1c{H3%MAAkfbH}l%z#^gPy9z$L0>+1l$+}zyILZvcP)jrGLMy}oV z(YB$!kx|T+=)M0fe4fAY@bPIjr>beIOyh{<<>l>8_RM4MKfeK$x}#XXrPP{?gal1g zRJ5FvmzNibtw(iz9!g1F0}5kzdSLzW)2DPu;wwWr1jytAI7T06)D}-WpfK_Dr)lE; zH{SDDs#a{k>x+RF4dtp}AdyHOfy7)^s`uBz7qxbnX zc1vAE>ri+AJp@V7_*GZ)-@qmhsjA}R6A-WvPC2xPL?{1&8~t%SYhZafkIU9fxM^QX zy2KRv#+84nADd|X;5C48dP_`dUdroOg+q|~^(bfZ=}oD_MdkyxAV z-n}bd zIUW=#TmpJ|+-Et;ZXO<{f?OEB@43z2K}dai9REvT=GXVcH=-9ul2eU7x=8d6rx^-Z z;B^Fr;IH2`_4V~UGpKDkXI`F~o8VrVDx-~TYO|F4MRulQdT=gOl01K-2_ z{qI@&o=F$U$;l-KZ8xEkpi%!>8KCX?z=Hv5#5KfJojUNmme!C%D@hI zU^5j0Dv3DS_RRS&ZUrF!Ztm{Qlar^CK`EvX3hj_KOWb#VDZbSC_f$@7Pv?wAIuy*j zvRSk$^pK2Kmd@p{LZYrd7q>}S* zIShwSU*;3jB#?Xfgvd=3GxR(h^q+S_HeRH>&XhU zsVWY+cvdVZ21tTBYzljJpvKt}SSwB-#;tZZO`x~fz~doO(xI+s&i)PAjI*8Ldu8Ml z6jATqz54mnh+M!4jg^(v4Qlg9hnAKWEhi_wj*bql1oD8O5K(G=F-v!*f_udN;6eM^ zXwksOM+Dk+Zg_wj#h*RH&s8hJ7UPe83?&y*B81t|@2ph2y%i-DDoRR95C=N^QE@>0 z@`vP|vnnJkjAVh3Cl&w~NvDc<-HDRz2jR-?<;w+NF@TcPtL&)dpFB~@QlPkYyCOV}IMk#H1J`IVYztjBvnUzzOEl!8tkib?V$uK&=GoHJ9ph(F}KN zpux-In-M2M3;^xP{#x*DE|WVzle8*rR9K$$WcR&&_b#KNXA2fPw^nH=p~Bx# zj5T#d|1TPkSEDr&0s{i{fJH&ciXnfl#Se7Q?yJjEpzoFzxVZN+1_}v7RIb#izUC5`ehbI#*n^ z?%(BBToR4#;eE>fvTfC z2CZnyInS;mqZ|@Ov1uPA8g;SbvH~AJe>!aNw{oAL)Y7Mjc)jlLe>$uVM8sk!+b>-* z*ksa2Obh{$HNUa~faMjGl?>R4n&JN<+Ykm(ul-Kud-v`^DFDn%0m5OG<1)68kP!F8 z_Y`3=AQbJ84fRb;QFV275n>h=i~`Q90dP@wfIZF3%&6DDNv_9H!Ndno@zp#+i z`{egML=zmC-D&0N`b0Sf&?4kLjHDDsAOKY`z#UH!^?~H!lD*NlUkK`=)7A_H&>AGB z1xW#^=@qm~|C`ifQvWTG&`R+CtMD^uLD6JT&h8%-{h!7G<$oI(N`B2o#D5zFL?r)z z{{Rxi|CH5Nl8mu(B8Mb@&pyO~E>a?c}cjhZJ|6OvaJv{Vu zd87M>?e8RHWMpVRKD+J2S*q>pKwD6Go0WlZN4~7|e;PI-^p8G|YjA!u>bk87{S#1| zKqdz^q(Wcj8}{Uj5#&cG5x5fR9}513eo|6<_l)WgtzN?#FmP^R$k~O=3PxpSbCLB$mKdRFSA$uplSDQ6Z{`1rN zUbO#P%*ZFzJx_NYl-yP3`U0}Z38!SJR6^am&X{gYu7ht~-wZj@|L;_&1{=A`l<&eO z%>5bX;OKVWiL>D;eM#C$(K|$w%x(OC*L5H(E#(a`Y>UfSS-LKxI9!_NpQM~|O^yDp z`#=_*(v$Beye0cvKP1KO?Y`;hWTKY(?Ee>+g@}ar@aMShJ{L$J(BS9!+byFxA?IAq zaVll}?-TgHf6fH_Cs$#@)7mrb-{~YeLAyGN}bEzNIcMF+ZNUC*rkAC?qt6 zcg{^pK+o6cDtf#Gx%SWA)T=ykaRBUXytB&UP*?|Qo+S1Oe~Dc6mbx}Y%qBf-F+8_a z&NJzvlag|@QTZL=>vejVX{AA+@@py`IBeF9k_*)J&DfWW#H6u}m%Q z3sQW7iapzWx}vi_jR*VPB?WNlBs><}AX;9C8{YjlFki-xkTn4xxNSXIeif0#??npA zZd=N9E#Q+up;Tow6fduL``twO)J-fTuV!vMRfzp|#TQyH^Bq*dlIc(9TDKQ-ch*J=^@p;f z%tkA)YFyW#88ec-ffcKD4!YI+3LnYFM1}aQNPUUNC~Nt)cB2bcrgVf@ZH0Az?I8{_ ztSmZ2y-33~xJ=U|Q9Z`WE8BqO4joWnVAY3$I`DO-P`Ji<kEN=l? z!f~k9=ILfxqmWziP@()M(1rptx^fd3m%;!>Gs!asf|sR zcf{O}-Uj}patb8q_MqJNzg_@?o)smt$E(Z#_kE@bCt*_H;V)0|Kt0Q6sS=qN%3b z5&)>ndoA^*0edu^)^>yTu-_KwZ-Bj8P1g_s*^(-lDCarp$%zEw@^xzJ3IZw9hLQ3J zC@x}QVz!2pQLl{U5Xi-{7O1-N3XvoF0ZxZ6k~Xr`dK_XS<`mRP=oOsWTTpTO3p`w* z=S<;qRzk43*=V7%1;p)PAuEIG7lt5gvLNW>eQjx>xaZ}GKp;2N@2t=e_XEuHlS3Jh z9_E*Rhl19WvpGM;VF)cr_p!0Dv?qxV(Ec2D{7k(k&KgfkPk)1;J+dP@n_-WN9RWXU zNtc{aF9-Ia_YL>naCtZ-*9}kwM^-P6k543MqMEw8NJk!w;7T;H4VJbf0ezKEIOFO~ z6~*y5#a=W(N3r$Q^Jtu%9PsCkV zSeVL^6B8xn2+G>eWqKN#E;dazuAV=uDp!PN=uJr?&Y&!d z+S=L;AyV(& zyurZ4#AJ6_9}}WDT$z^yxQY&3@gXb*NNfJo3X)1iI`xs<&mhVDaHA4JAXa7;PjM`E zslO;7Rc}-<$SBnpD(B#nQv@RrjHN zgiJM3sNw(Zn+%$dAQLmolj<;bpalr_)&V6$=79l4JKi%^#FEL`Z8(YS8B_$4rp`+S z+h1OIO*K;a{rpKsc>fvSq(^jO*!P)&g4oA`Ose@I&;+8Uqa$I{Z3u{pQi|w+lgt1m zfzSO1YOU)=`(j5_?oS=KyU>=5oN!*fv(iPhch-Q)+;C0|I|Z6d8y=AfaIbcBK~9LE z5Pm&kJ&`7#z_H*sfZF`o+4(wB zu&P*?BH+wuWo4zOub-~cczL#q(;jg${ttM@KPb(c8|Pn=?y)UY40Xk|dWtCzLYb{IND zm*|dwCQ@vlc~W(De%@c8bx0oRbHYt3nVfVdzI&i|gcysITTIMX^vdjvR)YKuS63Xc zToC*D`Jtg>x2Kx+&W#Pws+YM;qlPDkgk-0Y^4c&L>ehZ%vH`wYe|q2(gol!)nEWa@ zSTG}1+VJbOWzP+di#qp^H*X{dKR-!JZL>NqY6F!^#Nrb4AL!NJ0iolQ>P)T*(-({3 zn{dyeKN39AbB0GNjns@Z_Zyu;$@25_*$sa&t7x3xzM$wi+x^#HuHnhmEOCzNdr(K$TEa|1Q*ivmvTA%Pe# zW@`H&U+9M>l3lrSrUV6Y?_?eolrZ^?-8%3^K}YLNFb-uJ>@~X-K0Mer&jtHz8?DODYxx?*WbCZ8ZcbaHZX?Ci0^)hR2x5RaF*}) zV&(yN3mjU4F*ZZ8BLZ5r1>l}p+*x{THt_YP1X|B~5iI-dZD_}M74Dn%U7&;2N9Elw zux?ox<|t*}fKI?GkoI#^Zn%LYPj~MwXz-f0(H1h>P&bf@0|LROs0f}CgWf6kKf=ox zff9a1Olrv16|`{FOIxu(o$YfXyNfFU85<;#B{y3nW$#bydNOr-NR`Ie=yggAHkX^C zy0hBR8sciNkn8@N%OqoQ^3-j0@4m`8eaSZG|88Ue?J$O)x}#@$j*%i&xiY)YXJxPf_HAiW?(P!K2Yb~Mn^ z(jvRjJ;}VfnZ3>FR4$uSp-gIpO+S9%gFUDPIs#8KUt*E-6;nx|Ijv6JHf#_3zK=7d zOBx@Dp*L81_m^?aCiErJtrAMr*?mN?srYl{wC@w%bXp&K6x-jOo3Gy@Z8laMrMlcZ z1&)K#_j5_2kBq3VL4UUFMfE$4A8Vrw&%T)Xy_|J&cDA2OtJKs`K$o({5A;VB%oxQH zy#u-p4wXo2MS+eTxey7YIPWh3BfZIuV6AX5fW1UQN@@VzBoa{@=7aU=tP}EE1iOUM zS@M42PaY53KXe!?e3&SbrI;858n)Hc7j(9i#wM`O0JYE5#3BR%`}g2ygPouE&H9U} zJ-zz$Gs?JJHf9PY7(2SV2>`7(y}FK(ZmZ`D0N0>>@3-CIQE@2o-cr9w&~S&Q&U@-U z50m=Gy1G>03#;ZTsy%BL=w|I;RY~E{g|-GLbYJPe`RBNCShyN#_q|UG?@? zRjMFJ;7$Nw*zv>~H0=r44cG>y6y@T`@ZKI4rX3SEA&B#S(SuKweFQ!7bT2Q^(EfBl zz5%%^_!JKhDSVF>PJhW|( z=s*QNBzZ_F9CK=M-f-39a9!Lp$pQUm&hvXpB?b?bv!9~;$E9MW-iZB+m>3CpW>jjN zZbQR(F@C&kpjMFz{08?YPZzefP^qt-98&p4WlHCC1>&v@?|Nw0za&CO|Ip3F)lCvz zc_=65$K9C)1^1Vyxa2XH#aXqfb;(Vq?Pj=FqbrU^D`6 z|l~UjBG1uQ9c2fh+9=rdw;rUMt8KIcTT z39MpD^)Imsig+tUfVSe1xZUnhJYu-q$U%`$7QlkQki5LOng%un=nFT0Hh%0mTXqkD z%<5$`p(O8F44>je_Q<5;YN1CbEWGr6rN2qlwZ zHo%93#bjw&klG)w0mh*cNEBaerf+~ls42OaUAaIN3()BEeH=u&#qif1A||EkXLrek z9j+lE)yu=p@NEKmGnLEkB!1AuJ3wupcU<6;4ttt<1>}5TW~~ZxdU|@kVjs~90UyeZ z$;oEt0Rx2CK*q!Q&5|1|`T2Gio(Lqs_}X=|JB|(Pnk{-VGQewS+1YUgD{O-ctUb!_ zXCl}w_RNO3csrmuYrnBNOuqFdwTKPTG|{eEAhg&S1pQwWlnefYfqZvIOe&5m$g_w3 zsnSO~{ju@!yw&blu9l288?c&l3kg@w^;6rbYiQ^nzb1P7t5_%|BxI%0YE6|*U8}qa z5H5m2)M;X}T;|dnJ6B^p7>7ba6czQ0<>ZZs2!DHl!Jd^^Ce3T?)O6r9Sf|)}l(@|FyOe=JM(z_((?Qi5_=njC zLw3s**5Ep{KRdE_+8V)vPnla<3iY`-Mr{ec3~{lZ)SDXPa68$X-SrOf_4W1qeNQk# zW4$`pTFbf}0B#;R0o9EgH!OU9GV9cl1o82ULz;jzWj3BmB=O3>oN_V#4)Z!TbZ7M5 zJ*1JTHtN5kuV0C@A+Mhq-a_1&JJVIKwor*P-a;Bxs!9wI)N{Yfi8d)M?T&ZuLbz~` zmH^o&jEbZ(?AU5FJdK#$=HtXqNzwXJQ&>t*zcM(Ave{Vp6$}%lR?$)4RtHDZ#qO3m zIBv}dtCt^PgIi3>W76fluq81xSA(Uo$bRNfK~~_ya{ihym=zUg9=Qy@r;O!8;r<1| z$58Ka!71=ekTr9r)SYW@YZj-{7Hodxtc8UjCq%E7!zh9_Yp_(tSy)U`QW&7J^u5VP zR1@C{`nuy;)4ly+DWpnDE2QP*ZraSMMmRV5q8uGBcUqj^O!t+_J@fwt&KFR^gNRx3 zmG>dBOP!x!*&V+-IZu0)rFBU8XR1cHFKRZFS?o=MhJu3R{7-J~jtAcpwKCitAD5T* zD3VWAcm=m}6lhjTHy!(o9{w6ZMPO1qz?2Ne>UQ=_$PzUbkx^h&%XxK-LHu)~5O9-v zrH-Q_llAKNo}RhQ66pfwv?pZcqv46%;*0c8-clg#j8B%hn1Bs{>7hV%q%8h~02Q!C znDg3Dyq$?_r0V5r$_5|(#U26tejevlrv(n=JDB9z7x7b_&p&53*o@>StQK7bB|fIM z!HdEU`Yq57{n|T22|Km}TA3WCn?frqD|2&xSHWh^k91K&2Nc=d++F_e59HYJihP+e7^n4TV7t`1LXld|U<2mu5fg6`WrRIx;C>y{ld$9d{ zu{6aPbok8YyhDeikt``X+3HHwg!IrU2Y4n4AR0QecxM&vTngl(*kp-u4ElP$U;_am z=_&>>^V!_tI#gk*DH(-^^MlDLGUGwj#1hETrin+07)7BX<>T4gmnKWydBgGS41PyP zNvRphPfxkD|2!kK^x;0A#J(m4FCBEO5X)^7d^2&y*}iwbfp3Zaa~ z?!EEexwhX}P^3As1h?M$k%LXHYQbkYvwA^ECP$h)0IHgY8c&g3;HfS? z96NGOy2(c<)%&-P`S6!!6EK0HVL*ph$ea8+#v5Cn_LI5htJ=V@T4oi7+{lkfz^^xQ zMO6Hc4uhw za{-e8;xgYwwB)bbU^#F_^sJxE<8af@-`~G|a1Jpy)ENz=2c7(6zhz~>5W!%YwKY~k zAtG|GzbtD9#~B>z>cw`{xyr{k?CtGWM#?cj0YpIvc^=_H>oE`zH8RM3cRG7oe8__` zWg_(UNQ@g{s6)M~|2kNBkRA!3{1FeVCk$JN%^v~Bs_|RpY%@}$sN^cUZ(VFnq5B86 zRpv?&r+FH9Dopwst*rIq41QK<9?lato5;Tn#`a)Fm4?p2<1#rjFRajfUfY?b(&`hc zE>mFCU}U(8AiR0~vwT9XCg*8GXTCw(YiR%Fn9#j+e+kZodzt%_oj1W(+Ll}_$mhMz zU@?-94m2=~oL{bdYt9$tDvW~wdKuF0+g}-wgnB_JdMTt4OZTqR2za@Fbz7y~$|%+0 z)@<DIY$(PT(?W>YdRk_x$7hV~yF= zo|sjeq;IBo?^Ds^Uq&h}x;~iyv}C=~t*j?ApQihWu8b5u*V=ckb*UI@w52*&pTPoS z1E}v;5nyuggHZ;=Q{qvI#jh zGVH?byYoAqGlvk|Yt6+}K0O@G$uCkLz9AO3$Te|bp{AyM_{L0xT@Qr%u7t|L&zF-j zQ5mvNhR^B~a8rG0G=-deZ{DyrF|;>9cH#$ohTfMLI!+;UqTHpwPZn{RjDr(IZ?n$b zV&l`Zals-kud&YH1WBKBXG*TmiZay>OGxsqS!ol_W4Uv*m&@E9r4)1AqM<-F#JMRB zWud>I_9Qx9bd-Pq#zaIdIJ>*MLH|?z^?ep)Y3$4P?$7%$q=NY_`rW`M%Udg}D_=+Z zZpmO%1-;43TMhNneFIhuXm*gVjTW>dRXYx^LPSIW`Sj^mz0G4e(z^Mg7N**AKiqZ% zRW=}KM)^BUmx5HQD1+9>wdvYJvBOQ_Kj7{it8`UNiPmUpL@$W#jyL?dGH_iW>N#L4&Qrb2Es0^<{e1RX=py9_-1edS(Mn)6lTYQK9X-GzeIN#o z5g42(n_gti5&;>JcE#eYrUsx)5MQv%c2>J_U=}Qx$xm&r+&OQ8fbe@)ybM@7VW?&m zJrwch$exawrLlXTG+VFV?4HxUhQVz}E}zIdbba!=INOyoUxr(Cq-vB~bm1&^c6Nf1 zj1opXf`5GKo;xXDvq)_9k(=o8KEVYK*Pq?p?(*c+)KqEC$CD*01)4-_(80jH*^|tL z3fg6x|0zzf!!Toby=@~gmr3u}YDZHJ=T$-^{t*`!SFdTsf_6hk{&<-vgP*DSF@;26G{hy&o=h#m;&#gIv`@Q+fBgNYs7~ zxOeq;KR+qn>PG>4EOb9%frwK?J%XV7n6ofmW(rRspM@;Xs@sr1(g)7jva|CK`e1Sb zG}K(W#Khe&%Bo%Edq3Jol?ej}2N?>GJT7#+9+*!Mjuz^)fj39R82WhN&X5G^u55fS zf~sRn&_!=}bvSpt;I_qRAr?Svuphdsj03B+hg35>h?O(9E8-@`vn!WaBzmLwKU1(L z5(T=I3f2VENKbFiSP2-AzP4knDS^W|ER`JvJghBLKI;LgscbNx5a@k=YPj)%hlI<7 zyP@n1o7ZMWtUs2CL}&~T7(&;Mw#&i6(fJ|8Sgk3}!r}r70z8XS@DcwRCo>L$9Pn^^ zp$)u|H+d`Dj6)#|%4J{pFW~a`QCw(dP${vZvBwQ}} zBg;qcl#6sIQgpPCeK@3U3Un5v__hh>wShG8nH1kcR_Hl^x0v|x6mg6FpF6Ujo*_lR z-d+MnVV8l0Hg$-slY`$_Im$OJ$;jkWgzkcL(Th^qs4$H&sI160I3@ONo%&V*FcLdHCC!sphyz* zAcn2e(r|uSCbT?Kpu=Z>#z)NN(gM{%#ls_(Spy%8XW%`(f%K{Zrkp$7@}ODWHtb0h zymfxE-{yLazEY%UTgw5+s2t0#I5)o~6y9HgDhFl~5F1bg`^ z;)|Jnp#5UUGT-Ffi``|mrXZ{}`^|L?B;zVJq{9vo<6-3P?rz@mt&4da08}q4ldmo$m5{#ngtCX!F#9FjO9+yN;7! zJj~fwfszSf^gwY`e9IOD53A|b>#%d7#-%}slL)NK4C{Cx^h`}7fk@>8VpmKN5{EHo z;B(r;Iu0A6L{WNwy#O2QPEhILAmFe@fFNdZX~C~-BjItNyLpQ>Y|G=I z75842&sJdkt(iLat2nN%ZdJ8;T`Xm%b?paE_ZZ)|s}R%q;PIa^h3 z3hy{GSKA;OP5W%BSaf2F?hVI50t4nJ+Ff1FVJGGTGmcjg0%Mc&VAH4C_w+j5lQuFk z+Qe#<;P+xn;i3|l=sqe%Ff?sx@F++M*3C| za~_-ICVd|g);K`I9V;_+t=LcSVVzy7aKnor=g&||p_-MXq5%uS?BUZ*{T=WG@2wu! zuWs+~d(GnFDK&FD{*ni$B+9Q}zf#Yp;Lj>Re3#?3YsHMEyuORN&z=$z7Hj46po}6g zo?5lFZ3Wd-qzUcNlI}2 z)mta%xS8Pik>)W>GQZ~Iv2L%yN_=+CR-h|L5W zfo8daowr3{_ZPn4A98T%E7Ms;79ootd&!{D_FE0K=xVoZ8dPlZroq8zkdzmG|IQg{ zRM&(y_Gf5-fCD5P#yLJ`m$}007d&D!x|k~mv-rJE2wz`GNlAHc#H0V?W9QG#=wOp4 z$?8>RB^I({Psn(8R)-&hOQbitBQgQzS!QM;zv-qSK-^0=>U;-xda(SlDR_mOQ|dj$ zlt}o@aEJ3o^CX?e#>MeM=KuIDq)U+0*6va5A+uykCT|L*u1y=jwW(3%#Sjq z!&k=Ag$d{to(Ypjl5mh`(JPFNO_W*;Q^~*Qd$j-d_;A)#quSv5z`y{g*spqD)TDj- z)OO~+`%U*wBO}Nl75GO2ZyU}}V4CP_(s)^w$04ggP0ilcXsX3<-c@^+SE}bF@1VF1 zq)W<_zo$Ci#eu1*)-@`&(ho+TY#STKCR9}@ASosm`&^2Y8g+gR2#rS8rN|3+DX7B< z-0r0l-(;yg8|rCgu(_;HFn2(p{b>*8f5Y#q!`H4IJuiMrEqyNX+Vgn#D&5I+ZL-LB zXq|`AP#IH-<6fV;#jS|o6AOM4?yL+0g zL_$X9xW2-%bL*R;-<9iV=;-?Gd*<4;F5zGYd^Xstut5r6KM`O-m zTS`q$q-Po6eeV%EfpP~M10R|t6H^c-g*3G1>;%0?c`FCaEZ6J?cj+Pdn0$Ln9mAr< z+PQm&BXmO%+;G-Oi;N{7xNTZLc0LEUa+2n_Vo`Tr(MCY;X=^X_lL)nEv#}Wrp}*3A zm4X(~+k6!jKI5ve_gc>DyFx-qVBcDpn|r(NP7C8n=ayhhQ)Wkpop3*9-7+Y(7PiiY zpwnED*C~9*!%ZetW+*$T@YMlR)6>e`)z!80b5CK|g+W_ey1!V77TS$+@O>XgULP@l zMIpco_<>oY6y{1OwWTk5^Aos2LqqlFn#7@S?VM&0(slFyHNu(f>nj6B-T7LzLF@bu#g>PZ;HeDETcaj?IG^fMr(Ucl z0?7R59JLxGYIm5?$en_wY__>tbW3m~yZ4!!iF~R8Xd#y$6xH;Uy+s)Y3PR}q=@+tfok7MXQ_%!>0rF@v9pR& zAZGnR^yESAuqB|&<-X)v?%cP0j_t|iYa=C#eaY8uG?;Y9RjJ_;2;H>W{_PG1pjS>U}M6w&;ZhXTG6Br%cf92HYaS2vZM z-=RO}xoHIX1)q^K*i=_r3B&*5u8_z7(5L4Rn4@4Fz! z1!W?sL=~)MWPr3qR8%}j7H~EB)}L-+4CxAHOoh%*al{lABax{uPj!QB#zl_DdIA#$ zU112zY-1{jpkuN3Q)_QL*d9wk5-m0PE(hZr31vn~UO0$Pk7F~${H_2_R;p1pXH-6l zMV|RP9;WNiZ2gO15YfUo_(Bn#>yh;MH5E_-3zf!W$ctJV@;*BBhZ1zatR*VwV@6#up~Ng& zpUh?dg|QpQPk+lx6rOUB8G8}X?-2Kg07FrMF=!tbA)OffMrafEv02oe2( z`(n)V#7miwy4jvc6&yqsMHj!lN_!RIt0|)3ewKS1f)yorOH{h zCR|s1>+7$A|0#xfdz*(DM#SVV3zU7Uu=6Ty#$TtTupVO&ipj{tzaLYF_~;)UmC-si z6#i7v+tFD5l?jt|PPfQaZwY6^jwIbNb{oAC|*$fBiV)T70h zE4ZhJURK+mz@d@r`G8kVRM+8WPbbho$bAV$*s`(?rhMns-*t%>!7>_j z$1-I}+aoIp@}9}IV9&wT0gdjMo=z?^o%%iNgFt{(8N;XoL2((PMh^pli~EW1jqWlt zhk+rZ*xspUhmg>ol^dss}le^GBS6O7l6 zzp%LG-`R+h*XQL41H$J<6iVoYwBV4zB;|e&eIrLO)&ybS4vYPyQddPoOY2U7d-#@| zn7F;J+Ht(to&dV`^ba1yy>woqt4{5FWZ^+|NPS@s6GNP8McUBU2#1a60QKjye9A{n zQ-j(1N%Q^D`i6E9uil;^%v42b|FDP%diW-k0txsAkpQ>|d}89yx&0@5&X0jz&E$E- z>zk7B)7 zu~7^V6%i$r4gm`(3F$^ex}-zG4kVNg0qF)QX;3L?=>{dG^QPmQ`9$B~vPRL}+D~zY zyFN(I2JfEf7ZZ^XX{_G|E>aEpuTn=}X^8r4gyRpS*lSS|#O zuYk)sv)}}&@C8biN1yFUCmED8K44vr96eeBtN=j5D$nOKi1hTVN zsj0h>Rm!O(8?~Dg>Hq}=1vCQ7H0jM_qj6x;EM72J1YA86^oK8YGBF8XIj_ckFm=YsUw}gX`a)?c&eWouXn$ zBK&T&o2e6GVNTgEF(UEWw5<@99}nPCbXLDXwzMy9tkH&$a+y%(o})L6^7LY9{Ap@`Q7K ze#5-~jlNzvY3^8@tu2Y_f@pvJYH85{aQH5Hb8b!tS!|Q(ue0h2w}^eKmn>Pdg+VR< zt>E4v=P{{<%un1F4Kck>Hy^3|_XAX!c))Q4u+?pLah$J8={jK87@>o5gF{9p*Lp&9 zs9MR>IG{OA?n;^4nPTXM6$>4CCnZemSo)gPZfum`8lo&{!GEVM~;!G zKt$=_%6gZj`g$LwKZoNER^5BLKq}j07m8}=OZXk`Dh zv?>FuCJ>a4o91X13qjW`dy*qoGVI4IGm}Q&HwPxSNqu>6Q<=^5W-F5#D51se?E!dS z!;JM_`-MlfnFa{y(kdVm? zzo$HO67= zY#}G^>#(16l=F(FXRt~Z!SEcY30hQnGb=Ol?w#ha&J6yQ9`w4%>ip-qgQU{(wmK{P_x|JRgCnmqs^PTp-~aP}x%hJW ze`FcB=1wk+kJ5i%d#?LKCBuLI;jLXCO@y_5|NDJ~Isg5A|Km52r=$a5dG?=w-LOCI z|NqK_ukWRC`p2{CxZ{CsQC!9Jn0IrnzWr2k^`h?CQC z?D&Ll=k~_w*sZry0bm6v_a53!D@c5P|Nrs%2Y7}1*l+*$t*0sE6p_~vX_UoUon_Ct zHye6TU`NgdzW>$=ZPYQZqI1NQ|K~&af9JXCPmtGfqhvj4cttERi6QQRvEUgYAqr;o zJ4Qz13Y|khpT2xe8-Q@#z?n|Bx3H)!Ybqs$!tY?;@BlIZ<4!IunJAY1qpey%-BEBG z$XbJ)1A!vxiV*JP$2R$4#$`68U?d zyy+ZibhV`X-kH^}*O4)z&>0c5K7=)H@ex&<7`eF^Aog6p1Qnx)tG5#3!h)GxWvrHe_u&^+F zhogArgWkT~MG#Y?qK=*7FnI|2YjpsxpL)R)i^(o-^yA1%OdadvWQ3f?>d%mQ7*eU` zpUCP$rZLi*#msIf8)MD5)0bH#`tlq;ORm+JsGQ2F*9T6OWyHzE85nN+7VUN_^=sM% z2zs94k2H<7D{v-m;d(N(uQo|V%TVUkSL07|jRI>Yb9HJAPI4LuyNx!trE2k_{r)3a zXaC8jlya1JMYH#ho^z}U;$(&x6yLYE4e2t}Z@LwIf*>AldyK3&*LuWN+@}&}x+1B# zV;HPQ#oR}`GYz?=uvlTYcN{r*kjx>!jMJp;20kN`Dp%t zip;G=+c-voJ+}CzW))Ker5IQ|`*dT>K>9EWs|o&V4SYi^Fk+&7L&=4j&EA?J?&~h4|%D9Es)M zd)#-B#t4(AOwvUwX5XfDJoTL`qdrQey@j-A&k}G0`RO)EWV_rJgIgcW$KF?+n|@HT z>o}BiC7-y{xgAHn&M>a5!SC<@raqkn`JBeUkfENZZLOb=8$O1Qe_*O_$lHgQvS^oWecMO^Oqo&wi zdg;ik7Q;1kGST<4T~D}&Uy9e32;sUp)#LaxR6qa}y#AF;LkQ@Ij7O)&TjBG|U*14a zKoO+j;yS_1%nbX!k=_($Jgj)v01c<*SMQF{fuI>>tIe6HQ3pUv4+tI8dFNqd^hk1~ zREA)4i{6<(q+WDSoUQsw%%Ij521pM#%d>lj>LMh2odEi~Mv3`CiP*L6fq{jXp5CSP zl?56OdCj$@-2+vA9$3^F6y?lZ&u_go{Ua7K2sN(VnWaFaDB&q79#wA-{j+_06pzq_ ztb*d?WKffRsQ8@vhuluV{&efxRT|U!AFqhQvIi*|WVCLJ0&%O%G$mQ2W)0SVV*3?U zNH%CTj5NiuLVnlxJ==d_yBLzPIUhLJ9^<{`3mWj?dAp_D*vVH9)=Zzq-h$`DYnlJ%d=!4 z>W?Ix-iEW1cB$7_N@r-upfUYX#dBP1P#BHAEGTAhFYtp;XMJuaQNrXqEPHllnbhZ4 z9GCOj3<}}Qu~@ZE8>{wZJQdU3^$vub-rmsbc5~+Fmo~p(c$#i;YP2~;5|z!7i>@)c zDe5S|pu?JqRnFQ&!=|O9v!f)FiGcM`7u*Zx2nLu0zNHn!rG#-VNQ~?1kAM?G0OpQW zBLk{c=SlnCZe>2sARx8BObhC{`gQR6n)O=pxqT93|NIJj!DiC+5+TR)rbZ~T&_8o) z+%DmfJXs)O^rD0$AgetT3~#ZP?C}c4&7^~BxxxZZZ$)xq%Qm*Q>Q?)w61=;F7@?v< z$Lz-&*Ofau-VMDi2`Oc34@okX>&WtWVhtMN1xYG_9gt2R`8ztwf_?#V@}I%HoLKu- zz1|~vn}=^XJlPb{Zt0^HBV3NkJc9=)aJWgxKH#_z7MK$E{r2mt#-m4ffPW3>4IDX5C`bP(blU&fmv?Tk zDyDv$F04MiE{c~-%_WxcwVnyTTgqF&(gKEWrWQ-dJDT1+I4AO5)4MT0zHD1 zqsiKG;OC#>M3pRGz^hxOa?FpNoz!Gu7!QtDeOgo$pSCVTV9z~k+u<|aZ@ofn1l_8k znv4xjXQx1Bf%VnmVguX+l&Gbfy_M`wZ|^){zSee)!>H@dNJCV6hW-)6C$YR2XJ1MI zHP_iJbR;-mnwsB%C7hkKuL)qKLsKJvdaf9DytdjkH8pl?Z7QVYVs?;kttWf)V!kF` zTvQ1BxiIxY`C*Qrg3ueAsUNbT0yT`(5B*tnnJ5GqWv@A`e5QXXOkFsjG>HQgVje9$ zy`K?6)FFe_u#`!t7QG|{%IL)t<$ePkGL1&6*}o+bAJO_L>r`2{yB7B(wPdnr$G+44 zBJ+W1&1BU=2rGB0hYLh95_c57%(A=5pD8@w_j$f%rL7GEb~7I(2&Zv0 zc)?sDxWen=;S(qPf3Lu&Ks4{GF#tBtc-F+HG+oGse3HMilWC>Va6 zen#BMUl+3SZU2=2*uEF)MaIcVlXyFrJC$Q+LNN{+t(yC3{#yyYjM>&T=LN6rqA8?~ zv-5rL=B7O$e0*WDyK2qOqQaa02*QDgocoez*N{{K1^TY8r$>GiIy$H7{n?tiEYkg+ z)_Rln<``%7k+o#GdwdCY(8|SHx+3RNyx*3_V+0q2no# ze&GH<*PKsuA@ybs18@&uGusMr$YkEU+0go$&j3zNlgW+r=GeEfDka8c+}cjeJaY^r~by;F0jj z%x04!h=RCiNe5ZCho4_-7Wr-BbDvZ5YTfthzi^a0xnZjs#(!bpXw>_4|03&TSCP$u zw@P~xQ zF}zWRj1RwisIM;wpE!CTiO;psM~szcA2}_T;^at>>CMJ(?IIKf*v9=0rSGqU#R7*$ z_*)92&uFAhe0jv1S@Mg+q=@Ls`ogTXmjp?eT=sC;8eOUy;?3?t#Jn^H$P#mKy>dg z%EDE`qg|AMUOo9S)Kv!4ywZ~%-^HtoI2xx#s znEJ>1t3vqluGKzF*92NOB~QQw^&djOKN~6XiO=G7K)Oyu!fI%< z)}9%eC#wsL?~gMQnaw-?d0JG9HPxY<9@0@_jnT#`^Q3vZ>FF(FEy;s_Kb}uiPv=l~ zy6(Jj`n+1-tgBWq4;)wDa?+T>-TfaN{^-$olBfxQ%=e_8hc|5WGU#gFm+_eHo9ZBqFpNb6WR7 zX-Ahm>H7Me!VO0z_MCrycd#EoC*lsaL7YMgfBU`kKXY9>6Oqnza>(fyGHo|VH#J@g*%X#v&*G0*eY!-U<)EKLMx7MoRAy{e3mkYm| zo3JgRSB!no{kbS1CZ#@Q*RVFuFCJ;zh4fzZf{iHsOoPlOQW=Q(V9>e zt)i$oh8kb+{!#5xm%&PGQ(&gvXxd#qe|Mh(&@vxGDyn#MlxU*E5@&o|isYp*6e1Q4 ze2LUFh7{0q`I=J!eq1@jo1p*`j|kZmc{xfJTdC(&h)xQ`HAe0E+&%fo;;$@Nv-{lK zwzDi~5q3&Z&og~k9+o^F1hhXh1c|CJaWM#h*PBuD8{Tvr-Hz~C5sa(YMUb1C&$m9v87aESbI&y87~9@9T@pU>@6464~{9oDAGyp*ucdK2%L<>Vz=s&t-NP7_?Du zsv3KDU7a6VPU)Kc7YPY|Vd2K{@-*X4dC+j`+EV*rTrTvy3NDmshQkst{qcGr(+I5- z*lG2jxch7ICQU;*d3kWotNK85yS}mUy~0hf#fv$TI(a2_xKfH!42!gPGNbb%kl%E-|qx+s=gE&s*T)|ERko6X3FwPg^6; z4jLyN?7<-j$N`Np_oROUi{$p}eY7wiUdx3zA3S*Q4c6%Tzdk=R zP{ubVy8qyc3wv<^zD2W`5^Oz5^I#N2ungQ<&SP~%t*obq3Jq;{D(-NO_1iLS;0nkQ}pVZO3tS%Hj~UQG?_Vf?jI!| z7q|hN+9MNQm1SkV;z68R#>P>BLpayT+}*7XcdPf8x$Pz=A3~JTpk2stz4m=~B%N1)V$_gDxm5JBw`aEk;S9z%>ySVKK4_3+%`~O~}Q*g9IfNMYicM)kkV89%p z0@{smvFq_4!PfzmOe{W&`Q@*!;i8k#C8c|h|3o=PRCwa(sw}L<^?o)w3maOp-nM z*PX`Cq?9%eqtALLuI_TWEMxkHF+JtUlcG{mQZ8D;#!NG__QEhl;`mCv^A&*#LJtsM zhgx)PR*b&7COsiq@b2AkfQZkY-3-4L5D>JjB+o-Mp{ad zQSI<;N)Aj|_N**Uz;|sIulf5zoFgyaVyjvZ_?HFIpGa78Nu!#EDsmD2H~?c()B^^8 z|Goj3lag15?Twn+{iB11rYs@rs|#i@n!#i)uSb3VT$1{HmW(sGSJ;vg!d{RSYHzU(+4jKVK9%SM<~n5de%6`KOd0<~$6fV%oo z`iD1>WubWxZgNIwe8S)%It<`bn!)Q@)>L8FOz-UMZ1{uk&mjtbJmks?)Ltejo{{Kd zxJR7Fdy7qz{GV^%^BdSHPLX%Xt2hV9fQ8;N&hAe*iQUvXb4xRQ@6G6xp!YlgPIzT?l-qnt@{04fr0GtGF9J0PBteH z-i~fpzDfs)!Nr=47+go#SZv!lAEPX%a(a9s*1!-`$olQTImkEPzUSzT``#C>yfaZP zBL7x(ocV~_kk~`XsuM2{its*JV1UP2WVD*No3G>qX&J*A$XpZ^FXU_-rWJ$toDjx0 zJO|Vs40~;({QBRo4vy3*q*OPwwhnv9C8VZiYFGQ$vl+BK6_8IJ!2F#}5dkomw?G5q zaZ&u!Qs%?bM}Bo)bO(wyls_`6aLg^4t<^IEF~(Rjo`amC?ZZ$=Ra7gbbDIzBB3#+A z?w^8H(oH6mR}P%;9~XWtk^`?R%#;gHQ{$iy0T;>B;;g@_bl>fy?ya(tt4C)zg z`3s)RAjYSp7vEZY3g7MOz|66qA8v+%|Irxc$csWL`^gj&2n-^=q?s9778cL;be;Ra z{Gug-YGGX!tFK$$!}o+R(S((=7{}|Tp~FB$(D<01pO1w13NkZRh)$vlk>YM3B!|MC=ceA#Ph}b`iGtuu>cB{LskgUhqFFWogL|YS2e)D=<8cGxo$uoeK~IqJDN= zalG(HQxia!8}fz59I@k>X;prVS}oO--V92fwQ9Ky;o4%C6_W2+TJ8fGX%K=yaCWv$ z$j%3`Ygax(PFCEc-`H>U7M}98f$Rx03k!F}#NNw6v!JUhgeXFf;haQY2sh#k?^iFr zC*+Xw1oTbp{iy!x&6|j%Bsa9rJBnULT5YU)dw3jxNAvBEB&$ttZtCud>>dyQW@_~-zlIWu;)0v=kF^O;F5;H zA7LLA%Rim*a{bAhhiRcGkARImT)q6RD5U&?a_Y|FPU%pw+D~Q>!Knbfh%qhN0L~zS zseG3nYTop@%)!+Z|7tAk_9ytH57nrAj)>S+vi?>HzVKg7d&?@0&=Dt*z5NQ5B4z-g z!Jn7PRAxuh^ykA*uXwBuPjS*^rp9RRyXC-KXvMUuil~Z5?MGdm2Q7*%7`oig!6Qkf zkYbJy#bYz#Il#X@Rk6th@{fdsc=P2#@a9I~i4X5N?O&h2$BzKI#$d`Vn2cEI%@|Y} z0Y-;d;80#l56hSgB$C8MYrqAGu9s=A)AjY<&A%N{to>!~;&U2nlA%1MKs6}&f4l;c zrl-oJklba|p6i1yQmWC2H1h7UI1#P8x!F?DMoPX6YOljDJ*s>ZDQ^OJED=qJkOKQu zoe3U08MT;Bd@U zF5*1c%I#RRu}%+1Q3y9zFQz;}PwV)pQv~^m0OxQL&J4jz)XO(X*=+vjp|!OpUbPAQ zAN}Q$zbpFbz~`lox#$Ki2ghgL^XrM#Eo##l=&MySE<-bBCR z?43ROhK4dZ=GsVdUD23F_#%2;7=+URD=IvSr&I1>%YZ%S(s96y8iEXWr}b3}bYYWK zMRFw@nua{v{1p+TW8nyB+>!B4fysGe4gJvpzy_bVoK%g~Asto9v}XrG@^CHNEJLry zm7*pn-E!nGkM(HD&yPh%;P8L{+_oVH{c(ND7YEPr3*ILz)i{$ibb%b9Nh%;XC}ZKM zQ+-t7nU5^zo`bD6mr9Dt5!bIF)jp&G?ccr z`G*z1j;dIJAyvRNtsNlI6C*L`nM_SWf|b&T4}#MPY12FRci(^fxYc~2xvtgkx?L0R zE!A}UWAgIyaKS(S-KqsW84O(!#n$9rzP>@F{T=ArE0`KRq91ca`zs!CNJq7DM|m7@*8M zt}#}YerC6!_ZU(0uzfxp-Pmel!JxKXg4;;j~-U%DEwxiWDE&QtS||ZyPxIC#Ql9 z1n=7}P19r=^2SFOI4mCqhygul@FUgc_|^v~kGl%3#QGJiK=-Z1)}rJvvJEdTH_+Gr zh<*%ur-wgnKEpf;GGvlqsFm0-2)Td48(e7j-Y6!W{v<5)3-~mwwI9qV>Bb$P>Jq{^ z0GW2=rReeY{=3KbkV`DTHMsS5iO8#V`F%u_*}dS2bxbVF6`ZL+PUGE}{6Am^02m^> zV5boVzAfxwJjY%6A<~FHL@9tS(h!i3qx7DZLbduIcNVejpm~{#7DpQDQKAIx&V8rA zW+>V?mX1u33{rj%G@Tye{8C;Klu60eGLE|ol+~~LD+j&;` zFsTL7c~H|W?+L3by6uQV#xUQJro=hLGN1u@$XwATpNJ);M(Baox$>Z7)cn^zI~QHB z7@@SW5%s0sPqEyhn1K?l6D^V~keL%{Ig-6GPsQgVaH2NGY{x%K2|jZuCedDpN4$0T zU~P6DraX$3KH4!PV*IbT(ief8lAw~l zkk5dUgq*{bsBx+=R^=HAVcL$_OHn%2pG5B6>pQ=F|0$k-o^o6C-(6ezWfm6}MuV~j zvEUdTUCci!@8A(Yu);3OB_{^@;^D>PU)k#%8UDF$*GZue;-^5aX92Y(dN=a2u&ocZ0bX!p<*bVhxjd|_oml&JJL?%daQBi`xd)jj>=!n#KS`PXU1 zU91?ZM=c}8H${7ai_4$hi%!$nSUd=m1(pX$cMy^$60)idI+M?!{=f)8rtjpdz}Wpc ztS$rH3v)c|b3>#(!|Xh|XHr4(Fzdp2y2I-VNNM1o5x26YA0@ZCaApZ(hZNIwtn!VM zG>Y5-HI1|=KWvs!u0>*YkU`3lT8=|N5a*E%k`=(% zfl8mfcmy7K5K&n9wJ=2gXULPW6 zLeff%80;%~XRA%fgNZ!U?mdM8W8(P48G<%~9)EG~rjK#}dV^ODnx=4+9-xbfHkd=4 zmw4w%t3)cNhQZR=o&^r$juK+fV_Td|+Oe@)Z?mb(AvSylG1)0jBjM@7-+)i|oni6E zwM+qPfmsYivh=&e)_aQeT=CFVq7f>xLD<+lLX9H z&|-siS1)pMOHa3W9x-@<4p9^*4AJ3&SVPpyKUg$|_3nTA0t9lD_6P1n719qGlWd~m zA!9~kVr!unLzo1@G1v|GjH(7EGjK<4XSZ%CvgG%|m&8#2P88HqM7-JA&WlFu^@2|o$K()SHGPwCz z>MB}67$&Prc%AY-S!Lsvxb-&U&mido%I(M-&z>7J?%a3!rx%?EI)Ax!R%IODnA>G6% z`#*m$EI|Nu`VgWf*}YF(^y=@+LB)EEIqMhio$!EU6`!r*bLbY}VkkUf6jS@|g|G-F z-BTVq{5J0m9LsqzXl@AU7@RJ({I8wIrX2!!jm`8P^bz=~Iq{D4u^di$b6})1hSS|@ z6oV6X-|Ef(1OIG-<^Y{`A8C*irZa?w4{+gM|{mDsbb{hpV-xKR;u$GPp&o*T?g89{JQ} zAf-TC0PsSmVI(q`fWiSy;%rqiO~w& z&7ZVGd5S(Ss6jFrde>moByKEJey55IE*tM~v{+O%dSSjh!OTkSE7foNatMYNa)#R} zPM^N#R~!7(yW%aRwx~}>L2sd~XcGOtonrixOwuirvUTasIO zeNZ6mf9?2}K6$ldI8=0i>EEqmf1oa?hNQ(eEy~G(34iY?TKFhXv@+cSjtEg}zSy}y zJonH?3jw3n>l?TOx$a>H(#~(?Ai${*wqbN;5s*9GN02JHF zRR1xc_}`K(I*HTeb#(`DqQc`}l2Azw`bp3D_JU}Yu%Y-48hK0#zAFAuQXf@rU7;LP z5UVZ+6yVKz?PyL)C)ryy>-rrk&H-v76 z-r@CqG|7U7j60t|iFLQrdO})Oe%FkZp6AqWfyC;SCd43H(kv}hxSM@e!LS@ZRQx6# z-4hpzE51AGA&g+_EiN{ahB&+egcL5bS=m6>q029q{yxdua0c}nM+Bjas%d4+x$~B~ zbU|H@{DKc(h3PuFCMM)w8Qw*`{wCZ%FOnpK5)taIK0@_wG>FaAB=g zvPFe6lRP#eY22bN_zMTwuIn2+(&O`WjGl8yFnahq=u7i9MeyW$kJb`&4D#ZRdmlHC(;m3G3r+2ftv1ceq7e!QdUvZQsnU z&eenmRmoDU942cPl$Q4VBoSl3NbguKM;06Vw63}%-!2`^EvbcVTRxxcD0q^UmY&|6 z;#`zQy^oCcGu|&4EoTvsd@oBE9U!}0wL30gJ6XBR*_Hq@Dek3>ZLz!mR*^MPWJc>y zkp1gF1_z!i{rjg~C;mzQ_fH3}?$X)vuOH7oI9R>)Uq9XWcGiFUzkYi9^ybyQ|Gsd` ziwFPlGF!{ccI(j6(HT|``so+H?iF)XRaOo(33Sj(U4*fSTbX-~YJc*Hgqi;2UyPi+ ziKV?xDno{wL7x(XV!9$h9+ReCL_=E{1LFe9uN>%I>^J3gD41TG%Y8V0!Y%J%;zd{L znANE~1&p7M(WqM=3QDnp$LZW+-emr5SQ!jH*+v%Mw8>%8DC*m4t0MN zBm!fFsO++<%|6gvxgyi5Zc%fsz)4=-mx6I+$lv{bTex8F-z0pIUluUx)$O)e><;A8 z%r_~TXkjUTd_`d+5|K{aGXt|v`FJM+_7pHZb(t&JIB8R=*lk}`vjX;-7XKv1Jk7&e zU*Xo?_p^(+jS7M*{+`Jbu<|_6Z8dyGkgCYIlcU>V&fC18EcNT5*pcV%~*rs3hL@1Lj|mLDdkR^>x+BH$>kLl{p~sdg|a!WT*)2kFl>&h z(qEa(o0{)RZ)BTjAAXeHK2K86&<70{e6SCNtCPHLrv%g?GM69oQcgf{lbcT_TVkpG zL;mJAraKB0V196N{-{B)wQ_0st&Pgs+7>8F*c_JHtNo{L<}i2#4&GBA0B15$}F&nfk-d^bM@WDu8s}MC0LdR z+l;2h$@l~X89I&dQF-vMO>bk=_<9c|V(yZF-;yJ!;VL8EGLp?mvYO!THqo9gl-^@6 z23~|T20oU#QKxVi_j$vEEXQIf-e!v5GZHMu(c%LFQufM$JfRM0$+@Ej0CNqSD?^Vq zvdN1Fm5F-tZ?3U2s-@lWY)Wxq zy&k5#xV8MtOIqu*RdwcEr%yTz1?2vI-mud`K0%JpexWIEsvrTj<2d<5i#ApgHdaUI zM8(8p<|r5~o8=S|kVDx|Kilc;>l>|N5)xkTryf67dn!zle?zgg_i+St2E*%#It5X< zgK=iET58u!K4FnBh~y4W=CM8cDaE*A{gH*0h5gabgKCyDrJj-Jh1~U!w{~P}zJQ#; z>ietX@ft-NPMbknxJGfj%J?lYxztQqh2J<7 z

      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 Waig~BU^aybA4-ak#tsP$4 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

        9%X%c1i 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

        mt)l6`6oILs4 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

        caQU!orE+oI9~uB0ZsyJl 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≶z31w6-hOoIxuWpK-;@4P9=$W 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ℑ%YP=f@#IPNA|Lv%*mg1{2Y$)-934x`- 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 I2kpZC2R3QeYXATM literal 0 HcmV?d00001 diff --git a/docs/assets/images/dashboard_red-7e0bf422365e6eceb8bec7dc8e695221.png b/docs/assets/images/dashboard_red-7e0bf422365e6eceb8bec7dc8e695221.png new file mode 100644 index 0000000000000000000000000000000000000000..3ebe05bc4ca3be95ae6fbb97d5d88c4350156139 GIT binary patch literal 261395 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 %r?9Zwd)I$1kKeW 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 ?@Kvwh>Fs=cGJMxZR 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¥*V zy_J7K4JWK$^>ouC$B%D81%-MQe8i8~h9z1`=vkr#9EE~;KKejVwLU~k zi=M4g9oEo=gtSy>hT%3>y+8kC%sv!BrKjiCR!T<0Fs0RIZ5MES#4Wp>?8V6hMIeAY z|4W3-<9qM06WrsL^&Q{^-lJu+hqoV~%7JvZ0`@`2DWUM)62E{yj^y^DddqbD9 z0V7t%2pVH%74I)~{LAuMe}pB3sjlPjV}YiYx3_%2dp%2ZVMGy3?;sUJJ8%ycB31$_ z?;Y5G_w3q!K|Im@hSIrnBxu7PM})y>F_E((>}So?h#YJx#@bNxX&e3hy8>z+X8=~= zp%Y7z7*@p;D6dZOHUbc-sMz+ACIB7tg^qhv*kL%epcf|#xNhvxp({-F`lo|;baEpN z`jfYy1%TjbiB34sj(4K=$rsyxqJ+ZdIS-Zv?o?@Ir3btuvs>EzwD&(E(4y-U{8kq( zx=XL&gsTGNmAdu+saXAgtor^x`i9Wf#GP9ujG83=snV6+ns8`(zqq3RTk>MRet@z| z6ab!ozpj65B~@YY;RfFE^;V&NN@t?FMA#;T_2v0Se7`j=nxHckHMYUuCQ} zAEHkiuZ3xv8V*w2P1g-RVKM86#H(dhI{wlFlo%*WxpBa&l+m?(^nvWfbHv^0plB!) z8u0U}e=BxobeU4_U{q}x&_i^0&IO1|$ z*MIu`&U3AGuC@7J?}pD_rhl~E`?4%?tN(4@s-bj{ADJ$^M5#OaZ6329!4X1fV{$5ty!N2~se(nR7vgN-n z)_=p4w;wg-)!%i)*E=G0e|&F9G(P0Yl?_2kORd+&WbCtE56vji&i}ZxxpT5$N3wP3 zKk~}uLAElNi}+rzg309NYwpIs$CXeI^K)%5$W{ca^B(ybhzvE-CvzMhy{`)sdX3Z(78+yUU}?WYRt-=+FWk%N=C?p9412OxKuXAi15;)$m;ttGI(h{<3F>dtruh z>-Ok>f8X?fzVE-`H@th|@lrrG`uGw?rz-{j^ChIsnwS3daQ|~Odhh?=PX7OgzqtKk zdjdgEXW~58|W=DO5V9VEB#fKCIMa-R&oLPP1gm zc3e2h##YfYk7A?{iLnL10&A1wo zXCxmYa=rO%2muU`slp8nQ8Z^K*j_#-)8-FmTp1i)9qB;zD25(mVWL$j+@^Be*>>H5 zHBF3%G;4vP(QfaNG79W3#xC)b(f_RVQvOQU^9ul6=y=;rjjTX}9M`5UIJx&Ti49+ih&RH0DkWH{1~Kf&m9M z+Z8CB)>4tyYI10g$K9W#WJtWhz&F4Re{GG8d}{qYA6bV@^G60XzJ2M}k(v-C7fh8m zE$;Ijv+YdIL&sn!;qK{a6>sznEt>P%IUkXkQ<$VW5JY-1#;sfJ=L1yi z@6DasB9v^fl57M$c<>`Ts*loxa?bOO@6={?@7i^Yo0}N#oNnp!nJuE(>}hNz!C%oB zWbUImg-h-fomZp1AH8A_ev5LTwPCVjncaPY{#shR#?qfYpLFvju9Gr{sPmre>Pue? z%^Yvf5q1;9Jwo<-E=Fl>u0bA{`MvgP%slbj8@drCvUmha+=0AD>ttA>#nygrb(|l& zh;Ze=^%3?3NBvjtp_)4A;z&^!;UqxIu~ZRiP?|@E%jQoZ@k;wwnXg0YUTpwRb5xY! z#_y`ZX69|Iz{dU%+zK9%Gyd4j>7k0C6xy+a%V{BY4UwWdhiakdIxKso=-|)iXiBV53_>M*CHCzZkn%OQx!|XOlo4hW z=*|N9P20(9zw5HX?p+3QXJ~UUN9Qy*((3O0h+O9V5-))$SdSdqnFnXd5|_efJ1r({4U)G~;hRuwuZkUwLS?hS_;Z!TUt}l`B#e zk4ZVbo}6L^Wv@TUI7~R8W-onndUz1N2-m}QbSJCvY^)aCB-5|{a1qm=Nm@=`AVz>` z8>5t~2-UI(tKt4B9~RWSd_GBFu(}_o1JgayA|jT5hq-M8MeQZ1y0X10;YvHn0cVzy za@Ptf5AzW7YDc;l#C5jFuMLW$g|I*o3@MnP&CKWZbu?h-@SwEW4do$v;L!Q0v+#a( zkM%@E7t`rm+~9okuAMs}u3q^P-OFV*ruwYAJ8<>nYq9e@p_x?dQ_IOJ1}J&8i&um)0Cp26fjpSUg`?-8d{D=JKQ^PK|T0C3R1YtOFJ1 zbiOEM^5aeFi)N z`LMt}*VInS>h!vrKf zao8J^<*ek-Up@bg9vA5D6I99MwehCHuteFBr=oS{C=}74&ChDcFt0m~{J9Pf`A5Ct zVR~=7#dy+YE%Z^J2UZyc%E;mQegau{-`LolFY|l<**RWHzo19}#vOES_9~Oxm;y@l zKT}<)-_#v2TtyH8(Q+DCiS=Otmh+2jbiifk^qkiWFBURe{jI0$r2qvTjlp*VrOS>b?E_+dp&Ob?%p1dH&_ov?l*na+Y}UE){oD9eoc)~ApLy%Z7kOyj`|=I6FP66)j5CpCCs{D^+Qv&_1a_u z&w<6|I4(d zq7j1t{PpkORgjQ-qgn48R3QNMnUW3xGOpk==LLhHdCL+VU$zEZMg)BcwSTcgOQW~Hf*SB0#eoL?VpAN3V944{D+{aMVZ!RpX6Z=J7RF-rzIU@_6L zxsq(<<|9%y;pvrRP&0$kpy^*q^0RsF)Rt>C;ttq{uCj@fX4Q21t;MQ|sqrknNz>If zRV*^vVA1Br8k1`K|6%+O+$tBRpE8&CK71LNHlrrwSCFw-PW`^vzPP`>Ik7|4LH4`PN9@m^a)0<)Q*;P8A41=3y>n+C zLU9FP1cPF2y1;F7G{N;|r@A={#~Aly);d2hhVA0($=P}H3>Ztq0q{xs zXqI77@|bR8Rm4BcrDWiwE~cR zD45?2$>S5LoV;Pd7&Wk*8&c@9ccGGg>x?g;rZDq#u8xv$`N<4mpH0bre$67o>h}fj zBZ38Mc3nOAq1q2^a=Q)-3bf>e(>Z!&U`80|-MGtaWHU^XCaN8vRk>yTgD9yqFRoOM zRhI^day#;#n8@`Jb+V!WOivsm~Vv!Lyl1Q=`vZjOB&Qp zha|k1sxDKD60FKvIj@wn61FfFeWeYM#+l6GNlzz$3yfM) z`=^}d>#^ePRn4TTe|YH;9oK#KL7v2 z+zYG@-`}LY{A^DY)Z^?1*RBq4@@6H=m8gi zubN53EHQqEzV=Mo>SINQe-My=nk2HTtcuE*dzP!+{*njq3G-8b@hPzB1Slp6nR9e_l1=H@k$`+JjH^Oy?8ATwPWl z06)4Lf2)qjxhK(`-S)C6$M1&nV$ho`rq0aoNOw@=OuM{ldqj9a@>9dRqI0WdLke-K z-?Lg~2r)PY+2mM+w*1sjIyc(??%MV1r_1lY{A~O#KKXtpTX(zoW`~vY)W#}{>IuW9 zxWn0x9S^dZ0viSKKtM^wcVc_3Tvl<)s!v2nb|$PGSQGIn**uu zqDFmM8P*T4u&yoyn;)_tBoj(DFHLZo)G4hIZ|}}@8v2Wh>HKR0CRoe&6uqEXK06!# zXzQ-Md&{jd1xeWiI64zz?m?hyxmx0A7X&SOuLLa@d^yD*r&aSShV!0-sFk|;n^(Dm z^ERi4EEE)*;x&FgneKb}MiOH1ZVt^m9P{a7q~0%KZ{n|d=A0B0+mKKJF0}DfiuYkZ z(i(wBhB?nzT&Gp~8$QCvxDxuj;yv6kXmaju(blI@>Ug$Jip(E?aE&-(r8f%!PuvQ` zXv$?uO{RBtWd#AGoEiu=pPu#BA|@Gw#9Zj%61GLVvc=-p;$jU?7+Mj_#68>CxZ#KH zwTtE?s3zBlSjFB7MRgKMT21gQM%@aZQ@pgT_VV=X4>o_v`q0Kjvsgj=w1y|$nSVxI z&7SYyt9{r@B1$$aACpK($hG%w*T}Gbff-(JTfY;^-KowYtSP zZqKD$K8)o-CWt!-EqtBu7drE-X(7Ne>8avLmE*y}i+lBRSJ;T8n_E9=p#x)Ux9wjL zkb#XD9*$a)IWvxLs))wN3YDyL+VF}CpiM-qFV9hpTzyv^5{NVKEO-8oL0Av!_dl%$ zp~tvBqIsFuD_of;!+fe&<})htkMQcFI}KNvM8K3#7q8~sr(FWl|0YPvBgE|2<<0l>Ib zXLEXrXwukBmGLHwY@VS1OERo$CeB>Eh7gZ&(@(01vv8s-NsN>}EOc)tzEzb91Nqs_ zdAbNmug|zn9af9A94E|Xlt|R#OAm3nYjME`vgc3o2amfgYi)R1=$7t3RQrg0eN|6b zZ+fUMLWJA#09w^U*3B25DG1=2=oBnjREDmz;fLTB0t(NmzplBVxn72CEfDr9n6>ST ze`J@aUo~Pfo1sRm``9dd;SNOz>2~h?{Vi>vXKZXw-ZSPbd1y(XOq?5U2qxvM_-(AO z)Z_f8ns!p=!R5Oe?NXqi)ef34SGIObJf-rRuIoef=`_1(o%^RWq5I=pTXe{cf82l(Pcyu&dXlx7_Zfm z3*_n&qa6QJPV>rnN$0WS{GWUZ3ADfI&MA|`UC+z=1REPp=Rkrfx_T5XWaph0IEXW; zRC>W z3)`2ull8%KOpf%Q{iPf&?N(R&%1*w!;}@}Qd3e=6cj`*`L>c%ny>b~nlOnnF`{Gu$ zG}|-sR73KlQpcH|wdFqp17C+HTC;;$DdwWBqP<@+3wVR1zWdXdjWaUE6KFiQMenwg zGWI^9qK;hFWq+Z7kP^+2i`K0Re>&%s#VML$r$o}48JX>Wr};P50S~If;hJ_DKOQ{l zcH`MYeYPXkyjWhGuxhLf z9)$(O8+=-V{`~y|S9{@@nrD1B&osFRlu|DN?2Dm z@f1KYaB?=$xLIz;Ugwu`j9cx8i|KxizZ9-?kThS7sq z34!S3EUj6kNLu&Qyzmoima1rt3aaawe!pU}wdA`jxT*uKJ%xg6i~F3NzXrUc!PDzA z%;&+8q7ptAn?uQy<|<{GW|L-FO!=PIv}8imY589M7T4uvy7?{FV;g5m0_(`uruyWa zzdzV_k?t|fVkBPl=UNYkmuGn~uJTXj2xDAxjrbrOiGgLNUv*FT)7^xT49x7#jW(I* zrQPN`DIa>zHi&X{tYP~Rkp~au#nkdDZpA*ZvNI?eJyBLsp_sO8T18KImU!cMdZjtf zA$}C@cP(WM|06cl_#FSs8SzViCo?pd*=hvqq&_vh3O zF)|i^@jYSKowGG}eS>0BHZU&@X`UEQXf!40~W=@y5OwR6sB%Ell%Y?)o!j8_`0Mo42QXk34Is$OW&uL8@>mS_sjGX8A5No$5z zOhXiUGZTE-zS3MtQdf4+Io*?hVjO(eF}h!X>H9JR;C{I7|@HQOf-3DC!DLXoC+Grz9CbzR?UHRy8VUN@40#>U25lI)nR2C8*SUJc*>{e!Sy z?OCSN)GpN$c32rUfZd9GQiXwBTY7pr)+gDO1(y%&6jU=4nUmbE9hpU?rCU8F_bpoX zx1=~x&x)_rj%nY=H^22&S+9LT9Q6ENVy+t*k2V4I*;oX+q_oNW;2R-7jEo9_g$#$XRa?WpD#lKH3)X`G|d=)Fazx6aE4 z+fz5MJ4)<;A!fwg;+JvV36Ib+fA1rO5J_Nva(wss;wJFTzwGeht@h2rY?1enL-am?}u_`!_6*!*ir1SF4lr)XmlhW*e0$HCX*>BzdAv=(G3BpII~6`Wn>kQ$ zPPgkQi(nA?a9XwKI>V)jOufqYqQSsK2|64FRAFn<;Hy*yZu^~h4UsXGmlyx*>n%@o zzPje-HLpKi#(*PtEBkeY1H=>mS1maNTg3govX{ZI^=m+R*2uggddsU=s3CG57&h>* zSeY{-i~IHs#bj|)39Y)iIxoGf@4COAUrUY)18(UYep9T{knzdn&V z0T}Htmo}NLt?klkGayAR70!nn8>{AsehcC;I1BtX8t1QabLuh}dD;8-?|<*-oH*WA zQ9;R|&R}9{nvjxGTwkA9#vcjKr!JRw=DDlhXr+Nw6~F!@Z?)dWH?Oi$UvcvW#*@MG z_xo=Tt4~lk@%3g*#jlu#gv3Pd5r>9U4dIM!J9>wP%JLpz+H!`-A5>LU)z;PB`q0bE ztIfafS^rO>57yYSHRfh{F!WI~ExOq)8G1?Oj?2()LL9rb5T!bhAeuuh0h-xP@9aZ& zvwiCfRIkQB6qIOBA!AZjR%U6kvCtEUe2_8l%LltTP;HFf-}rv_Dhl~Z+@HS~G#?@} z_61ZCy%Q5=wuhgIt@FZWk7z9xPs$KB08ldpx^zL-Xg@yRY++&X3F_8uw&P!2^$8;h zc!Hye@FtNs(aGum`BH}*KbuXQ#s=u;G#!`qU>aZq7jpC5St3ugI zl*3ejkC)e8bXI>b(4zxOE(xQ+B#p_gY{Yi)22tSV(X{Wm%E7@gQF*bY@JsYn3lkF) zWH+C{lLc>-sg=E4#7fI zT^+V8w;aV5RAY<=0#YE3B1<;xdJK+80g_qVvql}Cclj##j-y8||Vc<^~fMzTO7*;_Q-2d~!vd$CDnpdo}K7n!Kj+}|9$aliW7TUuZ+ zByr`+HprKqS6T;&VQ|2^J!8F>x^sLGscG0A&j>e`f`ZMLm0EJl@&oQ;p~;L`0%8*fi-Aa&Eg2M*pnyEPs9Z^1_fqp|6O zLhNNX+ehk>qSg8tkVM}QB`+CK2aE)Qg*VK{j~|ccK6JYE<>Q8_p59Y;clQ;c$tcVvG9aKMVjV7;HKLm$=01$l z?WyC2K*wMY%W0AG3VQahZkg#B^xH2<(a_SrOiAGbY8ta zcX;~tVYJ80>?}fj2f#&HkKT7?ns*e%!_y&m-QjmX=lGHPyz~fAu6p6m`eUD~d#qi? z7kqxK-kBJg?HWjXh6hS0BPkaDSPY4cWe6%xrn#!{!+!cW0k`Hq zUemmZI%8zJnNEJQyHR`mw>oa*>-o3SMt`=|H51&O%E(2EuTtRBuo{iN&8L-;y#-{< zVSE_0KZFC3UwpdW-2D8lO-NbTcYv zwFdB$QzBIK zH3e5a5n2{iXG=vzrK;BNrgvLiJ$OFh@sp)(5soR}zbmvGgQxfQ_Lk^YzZH8+w;{^w zpNCZQcisU`PR8Hl&$pb zJ|9$?ForC_)fwW!h@^T*aNOUisi_i^q{nW?y!6($Lsr_7F07Jn#`xW4#dR_1`0*&k zZS7NhT5>YTrvA{M#!~sSMz=nS23W6Q)XJ=5r$PNH4a%dB-8Ax3Be5jnF%b)3XNc7L zR6DrXIZ)o#HWJTNrjW1~Luu#CC+@`GNq?1Qr#I)wn3K~eEqmhZ+3KN8ImA_@+`l#d zB6d;HVEe3%xalZnpPVy((=xTr4P@~FvGH9XMb?q@EvyUUP#$eKk8&F(Bpyu^`m^x0P?_On9V+ zomjbK8kfw!xM_wS0%Al@kQY$GUW72tsXev-SGoVyEvkzZ;1$ZscFx-nBVHrWfy5}M&};uFuQ^kDIaT{;4wic7wQ|-W zYat@a8j12Rv%;jU_4L7925_m*)i7`>LKYcb{CJgcrgfPJr;kr_4);_C`&o zQWxM|8@oh$dIWx5c!SNHGi&KMAS``f7b&($cg6Z?a*w@EZ*>YoSzsn0Q1U9uc3cQ{ zTn7(l9LB`q4(=J%+iHGFzgM|VG^{ZXO_a!sZ#;+S9((Ymh`Ol;A8}g2?kN1h{(Zh$ zR9H|DLkTyC5iTtysn{e`&ENb+1|z5kXXkhdhZ=u!mG-WS2~JPuZVrGLiPM~ASXfxt zwtf3K(~$!<*)g*npRdzE2zd?B&Yhi%4;cgsrl)w5JF)R1v5r)Sg2%tq`Gy1gm(Ppo zC>y6giv9|_f=T8h2zxXrTv%nE7zV_OgLOm4)YMdYd3S>$FH4ir^}!pY z=2<8qxUHHvLY+1oAThY{cdf$hAj+B9*{yr%v>o~p(RxxuB&+C{#nYc#m&dQ*xrQZI zuX!i8)GVY8#XC-ek1Q`&Dxp64L-orZ+ox>``C6}~jRh7J<*Y_B9<)~Jn5~0~W!P(z zjX-sTEH5nwO?2Aj4$f#+tLs2M)QgQ!f?5z`Ox$0?a6{49u~!crYHd}sI;l6D+_#5g&pHBBTi8wAA<$qq!@XaX-4mq z-oVh-oF;@JflJX1paV2hSS7K|$k!%A$|ogo>MsR6jg!cQth#fZMON?vL8P5c3v6Yg4d#pKV8p0esRgP z>ORmmnDg|z()XLqg-CMEc_UA-&L)gwQG*k{2hU#f1eC+bJwhLJK z_c1USbDuJQ`M9Sv4uoukV5OAQ=y%QRmIR%xfZ;D8QPrf?4nxH`Wj;Hf2HZ5*9&}%w zL0};5Tm6V+bVE2cJm;kwFQ}=x--VyT^H2DnOh4-%ndztKx!q1c3;_d9E^0tjh5GjY0`8$XI&P_>3_&ba%L( z^fII}Gj6o>>S^<&mG9P&R6BZnzMMD0>+6?Tc(6A-1r#gxi_XHVO(W=+>fSLgVDD zweBqMwzcD|#G(qk04^y;mP|>0)t{a|B?j(w+M7(luK{mWqvcS2prXfC2CpgB(4m^o zi>#J-FSD+!e1J(oa~nm+t&9$oVtJ94mWCyGoS5Kf`e2v=8tt);bbl~x@JT5s+ee}~ za>Rt&>(N#U3&}#V+TV7fBSvhPOWyyams-x66T0y8b`u<0&Kp4)@yWJUoc+Af z@v;G(N6;okM4aG>lE(no6HK7%R|j4MChEzUGkdhUzcVzg0Cu!KFviA9STPs@emrq5 zmh{Tw5*58jAUtoTfe7Nv{Koku&{zy7=r^7FIJfv3n-87)W7U-VEYMmJ{6LtSW^wH& z`K=y{J&?Y|iG7;r)-EdZg(!ZuEtd3GOC*mc?b&-BON)lJAM-ULXDbs7mY|V2EZ94L zd=xso!XMLphk<*|4R?A0&XZH5W@<1LqsMYr>(AK`~=*^QJD zc4__9Q{U>V4KA{zc>2AuUK4X!h3ECv8m7*}3zZF^cs;OW+;=f+%?d)?(KH-Lrpq78 zdse<^M(=?LZa~0xVu1qhLP1acLADvrHILzMr6a<(XK1X+L*06|qo}9rraiP13i)Wt@aX-d&r?bX~0G3l!v~-G|`;OdOf+N`9 zA9W=|nS=mp?X2W5hxMn11BiT%XSff9}SLXFXqnXZ^X4?lZ&D zyWa%y=$~SCTl3ABXjIYU&vd0^yW^4hEpxiB>(*O*TTIPL8#SkT&8XHeRlGbXewguu zn3!hJd7a0^I}q>0J-q%x3Yxzc{mkMM8Yyc}e?~Xn55VLh8#!YeJCwQS)Z+cBbyQUY zXF8?~0#Z$Hv&&O6hL5#;hsHno#rtRgI6tZZE4;x2!3J_c1tfDc^g%x>kk<2SetWx2 zDEOENpmP^pvN1Uk>68{sfk^gS|Uds5Bh4$F==MA@*T8YHr>%Z+I;SGWpEUrtfR{HRW8UYSOec7^nKMPU|q1 zGN$ItUV5Ck;3NL#1Z)6mCd)@A>wx4IN1-TYJ1#-*r_{58gml?0p%<&Wa8i9uYibZ8yUU8?n6sU zYsmZlcwyKdr;*Jc#|)}%A>X`vf4^pxqF*2+?N z=!){9L+=4*#y_9@b?G^`QoYL~5!x#R>w_K(|0hz<)TXraDN*Q7rs?##hdo%os17uD z)0(#EM7Uj;*xW?JAdXWF8okKH0KCU0@8L_Qp8VCz%zF8szr(w5Ke_S0@3_|ONA~uA z-W@-+|9qWH`hR~bQvdfumVbZv&SOkQ`}6ky>zfd-@!{R2O%x6P`pI+2_uCTw{SS16 zCuFy%{_ksheNU2e{O7ehr?2_{|KnqO#Z1!u*5wT@{`;gXH51=_(Qtm5Lw}-tDLUyt z2eme;w%%~~uimiFrznThU%&sRt-Gr_mEMGdFLGkBFouJcsl4cwEOGJv`4fw<&lF7> zOJhm$MqP2I5d#-VWXoaC?QV)wXkK)TV}&5h`D5uFlog?j{Cgh4b&*(NfrFCeXr;bF z%|nJ9DS6T5zp*xOuc#lAE~}kgeQFXlAv0JWrev7H8|2;1(qM3vveWI_r>f?1YqhtP zqYR3zhd=0YdvW^cCr(`(*jm+`ROm6iVobuKo56A7g!@3%dsr{Opm2;^RZwK$sKV$t zfeim@PSUTwhbiNSJ=uJgMWfVWh5x>~8wZIa`KlI6iv>i2)L^kRSy&miNxqk!|FdSc zqn_)SjCoZhQfO{ncfoIM`?KOFU)N8teNk%~WqR(d>>jS#ml0bBb&5})`BmRrp;odPrNx-t zwhI?Zy;W7O(eeNLszmxTsoIrSS9@dh^+rv17-ZPn;oNoU@}-w1boBHEqoiypY`g*ZuKh`;GLTWb@{?$1u=gJkWn;hCCs z*I&3u7 z_2=OR@j8VQl7BHXQ(u6xVKQfyKSbE(Gnnz^KA-MK_3hdg;~P*1_FVFHkw zhuNe?hPVvRR|8;g43Db1VQZ{x8Q1a4ER1_re~miM z3D1w)#xm>eZ*L{M80ge;?WgZ%WwCMT4#+_5Sb>-wz&k7u3sGqImF%qy683@MyNhX+ zwmsD>5+E9vOWV!;{(h<}^8#0{N)QzJ*ITn^{5D4Ta_hbsADxtcf2AhWCm^tSvBW3Z z>RmNKd-I#Nl{HJhOPm`eF<%oE`I?waDebL4^E2IKZu?{9gCV@uB%{l$TE-&|w{^@l z9I20f)6{8;w@%gidF!2;A(zzR#UaGEz~-Uy!?_UiTy_2Avq1RMx}4n~dNT%z>7ImY zOs8^40lBk>Vb4lb|MvEWq;oes;68U!&YqeCBM9s~-&Z4}qj|tj>(_){_K%WPOZZLW zx@x)?aQ)pLx-hHN1yk3hX;#R1mX;!XhU!^rPsvBM;o9YxcbBFEYQZ_^M^t8UXJ_`c z<(dzImkT|-2-=K8YeN)4M4(FEitSm*ZOJKik7&G4ge*Z_cTZpcuCejuNU1I~3A!K+ zl<9SJJ`t4uhYu$7yoP09amvceque&hRd3&ZYq1NKGM$(&tWPl(fHu2g&7N2a%HH8J zSBJQvP?UETC@m^_FjRXni~S!~3T7YRDQT3fl;Hu~0hV4Lce*Pz!S;Z+K zc6J^bVJ9cT+@3fKNlEMty4{`yHvWNuWf;3Ytr9N+67OKHjXQz3j5e&{R(;Yd~2QsZLGg0YtqO#bb!cYs~xsRA3RenJPEEr z>0ajc-D2Abd9-DJ2jDiyn!k|8ZEW2^z%693Qn&=qO#~qipyA@Ull&Y8C&Z*Wk)Qnh z1(POb_FLN9m2$EOOWw!w@0V_{A!pY1;uWiOY8tj{| zxdbeDq`swXDz4H}dxPJD69q7gySk=?D=L5wbg_YfLxvz5-`iO952|csU{D7k$9yUN zpW@_H;`h`~mY-HHF)#$Xof2547ci5#d-tG7b`}}PuR-OtGih|yaNf6z(10CNnm#j@-+5{5;MEx?eNT2CMX+5y7^O6k$SwJhDPDQcIGg)kqodjfqS$& zz0zj~z8m(?&AEj$Ls^=&v9c2ohl`ex*w^FcqlePZc|C9U$VmPEWZ#+b!(BzRKb->2 zjp}@5`0Vxc$Qv@x*G7Av2__x#*gtZ>-e`RM?jmW_sQ3rff<8qRo})ls2TK30uxqme zRloWzzFWX5Vj8W;NFv%X0Dv%1V9M6?kq=n2Z9uFInKzT5;+QKG%kWeU2w-<5jM*bF zu#qL8a~wH2x|Iy(Q`3^n({O&&F*g4BkX)YIu`*C`R_k^q=k-XbWr0mFCJ3+yeX{gK zajWWPiuyi9((~lo_|B4;-$<5U< z%g@pTc_@1E!4t}v$$x7B9&lZ}NLN-_d9!)z70Ig>8wJ}ftt`JNrck0MFR8Eh1LnV< zf#GtgcL=;_Z@Q)1*jceA7^^_gCFr!U2S<*J9~;a7KZBcYWV@)S1}gf04$V0dBkP~< zfF%Up6pC}g!EpvbrBMnIC8}y_F{Nfr$%j?qHIK2g@7C%b0T~t45H05$6mwxc)E7|C?4-?voDm~Qq#7zKp9GtL^->AZg?UrIqd|`DXJ+<+#s(4-KA{b)QZVm< zfx{!rmpx$Lpe4fq{wE|{@S1geE;4@R6krzualOQa3()_XU~xJkI3ob4v;zTznAHi# z>inQ*i|@XDf9_jZSlL9ly6*t0z6E({LL6r}kh#GRH>)UzSz2IzG&q~h5xP}0+ zIgdGfn{4G+Wm84-Zs>@aQ1C#0C51;9j^*0E8Pn4-1>bcgr{|_V>qg5h-k~Eqn8jB6 z*+?mmYyBtWD?c2^*>W0VG5J#oCz`rZ8yG%afXD||^@jt`V{nK^7>|5WN;?ZSj)y(W zq1g$X!r(|iED-{TKvF>Ijr(>0foEM>vEk~YqmUWBMNK#M`s8Lv0 zw@ah1;NK5z-o=@kd{Hc(`h+|wJ_H;W#fN0R+M)^q&3R!snnN?|N$PkT?18SN#Xl-$ ziGlSA!RSIkaAUrjLVn3>YPH%*)8_-qu$)cT!#w&j(Js%Ze6DPpzbI8*&!cbUI#uyg zp|C(q?$^SPMSWLccDE0|$Kt)`;%?2UJmxtURqEe-${;`X%-F=&Qo0L+)gi+$ROT_L zyz#Do{`T$fmH~CLk-+ajh=P3ni-}1tK=@)D&}-0vw|ia5;M}JJzYL;E1Q<0?8C3Q4 zmN?ed@(u^)k9CIUAN(ep^kSCmJ9+h41+6t{T&#v5VYKAIY+$Og6gDZazFYoTUA^VT z;BdvPmQiHSGFD zZr7FdX_0X$F51!56Y40D@;g2G)? zIo{vCoxwV#^z37L=DP?GW*u1;?ih`L@PzQYf{29h-b9`R_IWriM&6x;9@qvl9Ntp772&JT3^zDe254*JWCTHK#w=%u1?~s}M z1B0uCUESh@#t~7+Ctn-C(zb%+#hXe))eN4Rm)#U@Xy9*(3pm9Fv2vNTX9R3rU8Kv* z#+@qZy=KarZlg0iJWL3aAqR!`{1%)eVyP4`-lV;qUC^%HfSBTKB z-`IQlF_X52-V9VRu5f`=$K=v?-EG!}HSrq4YI#@S?cwyAxczqo_XcvFW!E;-7`G=0A23WD~4cs6{!Wt{idXFkcU%c3T6 z-%d{|gyOR8Z%K(&pa+5&g_si}fZ^16Q)6T4MbOiG#-y;OP0#V}p*tlqtiQfv-ssnt zeL0OTC#p4a3Wo`bs4 zd5MVEP{v^S!?gaLabGH;YK6IAOf`!hWL?>W?Rb@X@<(R}YD>$+7oJ{xY65!Y8`Ul< z%C>dSp7d+%zJ2>Pf^}seQ?VcWt_fLJ$1SnZX7dX$voh)m->&_md&}kEEryL5e3-6< zVRkB}E3sQuNojTF-eO-{A8iP~DxLRN3!AZC*H-q~_Q;{fXWz{0NJV~6lkDqxbgM5) zHO=%{N!@U0eY)#7eT|6d0j_NywrmmNw)}G{!W5Ygfm}MrwK&&_F!xwe&W<<%_H{%r zokL%Tkjsns9u6x(2FM=zSZ>>MvSoHtaR`9X8=!%J!=7QK;Hn)g5Rr|zJBOAm-It=J;McxFhe z=IzD3QlVK6#TV#o_Aj>Zijuy`vm9$k_~@6kU3yipujj$!v<@CWq`UQzIalF%x;k-YcquL&eZ^TYORHLI)<#<_YJ-_+*4+;*xwGVv6{ew?Ym3r64)7AjB40;=?xY+Ed4@Vdq zng7hh2Sexbs-A~0<2WgP!Xrt^)tr@%&S3xkUfCVK6}L58WvkL|W6~c$@*dIXyLZ8W z#a`M@B>Jg{{~GM1X>Fr#lj!0zlZg6cHapT*Rpm8Mr5+e!*0tdLrMK+-BMBhG`8~Mo>h6r3^^*PxwF<6go*!(x0ccF$utr5({6 zmAVxx+FB?Z`Yq>_UrW30pOAR9O&f*7oW^s zWAfSMCHLZHRVZJcc&x&%@{KK#UHRx zqN&#QMtEsWzT3QU&%wwv;j`@|jFSCWw7!xCD}!P;G^Skmbb5=9mySbEDeAazQ;Y6M z;;OlMcla2g5N!FO3VG7YcPiU~>ZIGwv)S6^jIrP1t~{e-G3a!hl~rq%>Aosqq-d(Hz+?!(wi3GWprp&rb#-PW0)Y zBl{QMQeyP7q>AC!RP4p|9eb}yOY35rTvWbDz!3IFv2(o0JoqdmL{v>Jh_C^~jNI4J zgIABCNk?IUUq4zK-61S2jBR!&rhQ9FXs;@u04MGw@e2T8{DXr%p~Jgww;-URrXhSF zr@CU*cM5XJE2UQ&z9{IjsqpVXE}*<*Y~x)$y{l3$k8Rosqp@r@EEq@llj9KOoQ8TN&sb&bzQc1wsNgn6IG60WJob z8%v0uvN=D66GeS}!w;8LejI(@LWpr^qU%?dHI>0UDd`iV?U9BxVTC#sdwBK5*fd1m zzdcfQ$;lveYB0DBDB`fb%Q?B9?d|nH0yeZAY3~iNWu>!t)&5U-g%utoPH|dA0-|idcsk&gDy&L~!&n zjn))(gOXYP?%gfWt`t^PWfu+W9o;N{PRF@J0VoQ0rY+YUgHHShPqWzI*p)X{IC|uj zeNRm-LH+@#e-wdFf`f&R9m_}I-!cE>_kbp;xTwhTPuV_ep>I9cfAOc$xLh69Ue=jSb71?pZ{fYOOMgAP-oSJ_w8-5CH^HL^g$!*C z3Wc#}WF%{RIx71^OpWdx40Mc1@j2LO+*bSL@xgvZ-akWoklf|B;XmdAo5-^k_<~5;6IC}2fE_QbIcf7{3`F5st{F;#^l3Kn+n7 z&6w4O*hKoKHScXx^w{wzWRBpvz_rq_evHq`L6R0<2A(76@Gl(h*gh8g|z}Vp}TQk45H_a{% zcBESY>HxxU9mp5?FTrn@ExuuSv`H0~oub(P>!!`2~H#={o{l0n8m&CQ$rgb1o)cgDQ1^*J+3g<0$WU`JKpM*iW18dPFN&Z8EzB+j=Q)O7`WVq;x09m#8rblte z^&TdV!>}L|bR5CXFz~Jn@XTwR~Cu*lZ^-GJKPg?k#wBh&3c<2e4 zlLs#ceIBKJ({u-O%x8TDGYOYF9D)0WF7QnHl~PYq|I}Gqu(q6M8O*Pv&lww(DWu%2 zqVl>VveUtTN*%KbIy#ReA{1ChYm}6`m7eO|yNCA5gAjjTJ&S9)Q-KyTf@hkfzL@A8 z8x3m9Dw${y08D&QsnHtO<7AR$>7-jT2)*=WXeQ#Xrf+T9;g^$^>>7JD`KA*8L_ewqZfN`L4_Ew!sfxmj?mnJZecc*6IF`bF z{I`*wEYVp!c#zlKt@T)i*k!=QUfSTX>wM}~o;KVTGA7>iG1vB>i{Z`;h8|UAzRl_2 z-Y`3Esh{J*k7DFhkbpMzFDo2s#ll(B2L))_-flNGHVr1X|mDH%BL-B zyS}yE;_HkUd1tlkbHydeOO%Ow{_K z4H_1id3&jfUsh*J{`&LvkIBW!HvW?hFRs;DEa{(3t3UWQtU{61jCw9T5DzbzX(-n6hDSOB!*GQy#zGSl*mb z#-;c$Lcq!)v$kOuc}8P`zNVdI9LJv3^KFJpEB3TP+f6t=<>q>2oUMse7qV&5vHlt= z#I&d)_V16sbm-0U-xKt#2J`0q3*(7mAAGa=)PB6D~ z-nX<@-IZ{#^XB4<;i6MyIZMJx*QUM(_yj0SQRcNOyFZKQvGJzb&wYT>Dy^nl%)H+I zKOfVP%T2AVc5_B~v+3#6xAQ$WSK8AQddN!C_%UH;>4$|9(3Mvs{AH%wKFG~ zUcI_=`E}W+KnlvJ{y!AHcgAF>^}M7S>C}{~8WXQgvK3m)ywfxG-0{VPveF^ooxp#6 z5H4h6T+GI|OzZD))GEJKFOGD-Z8SdgO{u=2EKqoBvPZl?>iSB=cfaMA8{L1lzu~r& zC2_W#7_ogj{7}(qGJG&Q(q}mJ^_!qD2|*hF{AjwJfr70f$E|YzL;G)T(PK*aK0~7B z=YQ?*zEGxf;M>BdZJw5klRs-NH|UdLby@ghk@%M53bO?bnQZaP7Al8<`1-C~H)hO2 zsQ2?#S6kkFwTg*wKF;$m}lmytsym{trS9eh@6e z9?GaC;n-G+z2O>}3&j&jzy0MA{=yB(_Z}whClJ`?|5>{Mp7eK6^s||!mbAmXhOgE1 z90Ko{@Lh@ge^~qPxE}xae;6-G5~4)3kd~q?ZIoz`N{h6oR4VOhBxz}Ah(d#uwu&~| zOQk(&Nu{)Rzx(O+`+Tp@?Ydome*5SBen~o?=lM7vkK?!>_i<>;1+gMkV|oMf%C*C4 zw?osW|Bxt6{5oT&A@(NzgVy!ZX?DjuDJple7W0K9tDWxY2el=UUF9NwxJ#_N&y7S; zWgkIz#UX{vQknQBjG!uM*H;N?$)(to&j7KJRKTC&wf+=i)NF)@wmRU%YkPm~+0#f2 zZD(uKQ(D`BHM`F>`7%n~*^a{$kkL>t@<#9Qi23TEtNG$9tq5c+T6$9^JBT>R{%tr> zstaNH-QswnK1ZA##K|Xr+}CoN&`GMi+N@eFnXl*ZBHM*bG)CklE=&GVV`EG~P5br>uN>38_aHfe4KfhA;xf|_7TFp-S>0?BFi3=ts+R*J06D8%3 zcIQW@uVuRmqmkYVgY6_VC|9T7ov~98SY7xt7|3q~|835}{uuonWgv|4azP1-k!LCb zy@D}C0Q%y8zlaP@75rTqDXjt~Gsm9gng6}GEuG}J*!A0@y1rW;aE$-uHj`*nkAJMu zp?x-D|ANoRj4nmu#p%kHrh6u2&*iI|jcnfYAKIq%E%qDZ{M0FRrC{xym+PoQ)$e@D zYX}5`m~yJ95{UILr2V3^Jj~7QkJ?laAnfjm{zhM;faIoy zMRk-&A16PH*oz>WlI3j&G&SRg31c7Eq97mt{b4a-Unp4WjN0lBx-T_Vo^RI5xqXCy z7c82M1r>R}exakGnfV_=$RjU0Y3ULH#no2|fv(wVc zH(-rp=S}5U&aA-mfzM7Wz3?+Ji7U7)eOzD%E(uHr5w~Ec>1V z+)5sIoa%yv%%FLwnh=bo>q?$P*xtikZQDb5<1vZ(I6@@1*a zKQ9ORgoU<4T~{+rZOl*dTe#-lsD0%$`C2)C>+KKRQUl>BYFaL*u6r>3(#-MQf9A?_ zgNyH8(0%7Lb8TK~=7EVi29u?syd?=xuKk|TggG1*%yj3QxEX{}Pfuijx%5XGlX$#2 z7l5uuFKw(UJ?Fa%!a}?iq*1)ZOR9d$S|y%LcvXIUiBpRt2h(?BO;jUQ$FIc8gG4U) zU_5iY{;DL>15z|MYtWEJbogI+AOqfJnrvEUQ!odZW!5R z;>dI3>aos}^_#AVA9iWfUpJJt-EmpZ(@nXI+q>%R#pCKT#Z!lSsB0s`Ab9WjI2&NS zL5laFQhchg7G#stjuUU2K6$Jzpanumqf_8LO&7TUdOt9A3!EkeuEnCVgmyG=A$dYA z8YzGAlSJOr%y2)E)gD$`=M(mrX)o+eQu#1XDBdj0<7E27|=`#|m6SsdO;krwDgY#4% zZDsIm8O5yj^q3idpI!%M5^&R(|8(16U)&3Suq%-qJ!3^$PzyR}57$V6Geko}^W6lV z(@Jrto|-+}6>pNFu^3MAKWD}3m%hzpibe)^d&lFeqE@6xwEIt%zq3{2Nzrh7S*c=Y zU%mE=tg2>9scGq%TXBr$S{7!(6|M7k=hhxS4*1<`;#x@g?UDczL}Lm5|8M0SX3a48`y8}<$Ia>NXWu-oMK`VydbZK;cjpW)(J^tYHJfN<7y=osnsP*|tJ=_7#*r}>!j%%i^ ze7wjvXHA4P0mgaeVyouG2wY zdB^UOQ101YoLVD5DrZKx|^C@N@t;gZxM{o9xDYJyvnV7kfH{ocJ4CVY|U^vmq0 zqe}03WJ=5huD;aN|8R{mcIfQaWqT5O0n?+MnpS+Kb^DfKl3$i|!qv?!OjOaBgj+%a zanLLvpzGOPy$XbBX?a=YRD|(33AzKYmhER`zjHmIJAU=6u|THdZa+4GE2@379=VXW(ROHLf{ZrjgU<6-@%OR>^I0gPQN2%bMHmE*4rZI-|VazPeZF`gkMPlvc#awJ@(oPyb4j^Z!2c#HxGLhsjWBnwinm zWY#9ciecB46E<~fJM~7Ue|&-dGEBn7t~(dWS+q1W?Jg!Y;eO|)3TZ8wHiew&4jrli zL;tqDef-trxACPj2RP4QwiYdE$-V(XnfuZcB$!NlW*X*(xWU^WzZuL}Kfz$ShHp)tVTE23DEnLN^1_oP|=@mORq~Fwu zo_=CjwS8yiF|ADwW@%3)NVj$`><)l!0>r9Fkb!yR09-bHAW|b)=VOiHIMRR)k+{r^ z1ZL}$og?oABLm~3+)_C>yo~j};ictpzFpZJ1KwFEzZyI9@^YqAziz}y?Q@Va#?P~& zjorz@A47wX4te zQN*KOuILc1530?!{?bllsXeZSujVUA6ikHGgwrK`Zd}SgeTZ^*w%w|q&wY{49gbYz zbAKN$_5C>UOa0`CW!6ah9{2mKwHkF67gqLp@t$;_uc5;@^&Gs@Q#4$%Cg3>p_ivd# z-xCfST?pmn&=hQH^#1*TMjp^}C3yYulY-Go?t&IHWE49Gz9`VaUwohElq80H6r~`o zgEAM}HGcSixBy#jd~#H`J_42zzT~f@3wxVf456tE8Qeb6%ak%j#^Y2-`RjYc5L1D^ z-iMX`cY;5IEw{P^l-Uj24Q&gftdt_-8?KG>mfZAToa`n^)%kc&z@+9|vb|Yzl6o=N$^gUK1{bPyRA>f zjI|X}fQ|4tvl#cCu-E)CXdj2Hq)xeso)WJ({`d<`X&!Dn=#I~YraZY*IDRupXSX0l zy01NNY0bSbWeYt4*Oy$HhiLmfe#^#9k%@Y62z0JAUH`#YM8|BlE+=Em{5~i#wEXnF zDNk=7a<9w$LL^p-Yeg@U5ef}(12Gp(9~8}SGM|AQrYc5+1&#egM{%HmjPLD{xny&- zRhk+|!nMKoL%asGZ;}-P%d-dc>$@D5mU=49g%FdrMK#`ZF1o^yl(y%3jG+)%__S6mI4Hyn57BTGMt-^KHkT5uKaQ4 zA}c4K-OXo39z8Afs;A{fKJM7LGa$=j0izd$D;_=n_)5I#2?5i(DpqM}!b$ckCG&IX zO>Qjy%3DDjdt>TN1x!}BeIr|Mn!rtIs6Hlg|B2#&Y-xFwO4VvnyOy}yR6Jty;dY`E z&b%^nvyQex0wtabj=Gda3z_=Xl75n}3P?G_dX*xZgNE$=T+W|GY|bOHyGy>ZLB;Q) z`(xL}Hu}6&@kRoO85sK*3J@`?*`6+1z$9yO6GqI@QdWnMPn9(7cAn6|^xxz-3Bu$E z_zp@@r~f9J=qc?fxm~u!x+lNvU8^OHgOAF;6};C)yeNVsLRf->~YnJ}5-Ft`56xsw&oKk}UxHQ?(u*fm{gR~a+ye}Gcj_0c1$ z(fAyLi(&gKH}3P(@jMbyMFcN^Q!RUD_5luM^eAG@V(Ba(P#C?nmcPiw=$2!_N)PYfhP@37o`r+(%Bce zA0PPsrHt{@-h&dCM$KP3@u=+_gpuSHZ(nK_0kc0noMkCy>wms~6ohesLG{n`V6I7@ zB|DD@6dvuYC?eG+;bNUveN{J4%Tm_rUv4MnV4W;jL>lQX_^*z z#S&kIO0Ow0&QVYJ>m20c@sw|Pzc{t`ll87wU!T8}Xd7H(rs?1q`8w$MRQhw~=78qA zsVTeLw+G^b-(?}m38w^Kv>|iR;KcJokDecjg3Ly1eAaDgx^bo<*NSSy%ReUOdd@(r zAY|i^xecby%q2LCpR#3ND2AyEhSK^~-wcdv!YQF|CbUHdb}=*;II+Or<2)STwLiG- z0td)zY`KK%y+6m`ulIZneSrgKpFC~2z81#D*ZC7@I zd~<=)j2f<=MOg+)s!2+IW%`G`?rs^Xp|juMgn{h*Z(*eP?4V{|l4T&DS9VU*@k5FX z{Gz=Q2O+#aD0G{|L3$$!<}rKWj0@IdbtoG*Om2p|gn2818GPf7>>%+9(_g3ix12-r z6kn&Gqxbx!UwB{Bk8ProOzT9Z@&QG2w9?=eA!vuiGWxlw{TA5H*x0ts7qm|q*F`l& zZ2m^m16IyA$B?e?RFCy)#F86)Rpox~jwn{L(b?GiR_47m?Ylv@66 z1FXlhIKw;h4P>5A7Fn3a-<20u3tew)-Bz^5lcTlypqBb4L`&~Jp9o2zy(~?0tGlhh z-LA%X(~SGi!JXT{Hju|F{G2FID7?WRlD;|R0$UM6U;0#Pjjw@jw~>JDJqnzsaD{_2 zZ6n1;3{P0mn!;umAgMRb<1E+KcU#BPiRDujvv2?Y#m6H@Lr>FqY>kkKPtqbI%hZ*KY&?_RJHs+y(Jhf-3V7v6?QOA6+%D%=rd!lH1~x+*k-rk z`M~Nr_Q|Ef+n-Y%k%41?uEW3eX5hTdc&^jX(Ji3MC_gzxs==ez026Za_S{}>raWZf zBG9%5h6z@rZTS69q>3!V%PCP-mEvfpNiF$THrc2WE`$OOhjvp&y_1vGJ=sL2m8A1g zp1+GVGseX#O{chSNIvYg6EE}NO%DW9noPw?hQsu#f${u*RZIp{L=aaV92EKtrP1K% zs2Kwjc}RRgbAtSrvis5m^-gPibF4BBL03Zv^{H4VocrhBse{Tb(!lj_^OW{;C7z9A zbT{%SZf|&QeYH2_J-JLDc-`RA$qgaUAM z=O~?8-d%ey2A@|^K4o`n+GIv)_=cVbH0j9bHOJ8hu=9{ry{W|y~?nB0X&crtjpgQ)ZgkB zZ9^gTVLf&Q*5gqF{INI@Lf9`ILQZ1YsGj>?qZ@di>z)aRorn>krKi7$AcV1YFYglv ztYP7TLc$1wC`1e#*LWw}U%Y;cIw(%U<(_Y)Gof`L0U7sVT(L*|dM?!GN!BmAn!1#u z1=yt5mS{=D9Vhe~COT1caJVfn-kEB;kK4*tcYf7(VWRWPgm(7yLh&WIH~jjR$%>ZW zWz3dIJZH2jgmvxCv>784>#Q=x)~$T@6+7Efwd;qf)j0Kz*lDyZ_D>n3Z6-m$@qMTc zSV)u`pFZE5mtegRsF0AoItqe2T$4^g0dtI#^UBH0czkgrJ&EHgMK8*J+`cjMtnf#y_+seMro6l~xriAfm3xGFL232DG1QH$$ z5NQC)O7l#LhROnyv?HOlmFrwEsZGzw%X_0&Qrwipp!?CzN4{TaXx*@!^F~sDRRNN@ z&inI<0-m%VsjHy*^1TYBE^L7h!B2<5C^i8{8vm_dd!7l~1jWR-g?oT0I}8{>CHF>= z9b1FM4f#vgF0l5uDW4xax?6(bj>G&bpW=co$=MT>ExRfH*7n{$_t}W$g=2gF=Ul}j zcRELudrgA1*T?nBQW%p1>(b+npG8m{i|5i2v^>TWQH0OH`OX9T_g7TyWrf9pX?Twr zdrMU9*5~92&*x7hotxUzQ6Roox1_S*BzUB-q-ubxR=Te`S3_xsr~+DOgQfaUTyKym@eN?)XMDt1MdU)C(?OIOJmax(39=YzdI9G> z;5ZCa#_et{xK1^aW&1V&4?9{{CbimzpfqA24?gPzO^I4oKzx z`$sCz{y;C&PK?}PMZ|Lq^n>_NT&2N+&ANciuE4r?E=zIDF6b#i* zjI7$pltaaGP&Z{WII~g%iauM1tWxrIxA6hJ&^-j3Zdo{TJV8!}__g zW|LnnA|uj0P4RL+5JMh7Ss=YUL`xXaf`Yg-{iOzL(4P>irt7Y6{d6z=f9N*NC{A z==!RFkdC*ddnGPlqnMu4kw>#=Qiop86 zuP+&q;9YP0A>+HW?(=d^aB-^NY$idTQQ9*A^gxAhPWeqzvfH+{2H#%ZCBSt!fALw4 z@W4gttx7gKf=Nn|QOnHS5OA=iv(SPTh7mcIEc2UVAg7wZaO1npH}7b{q->`tU6P*O z$4y?PB&hGo@xa4G?M<hdpEsns=mk{v~}yU|h)uPy6w zp$5-c!2^IVAR9E!Btq8B`;;5S5PyP=1%F`r`@2Q%UTt`Yy}3MjEmx%%*v6|H-Hr*D znLeJ@Dq5M3hOcLUhlupzdO3nP)Ket1^Ue854hk3>uQ^k9r#{9eJ@|t^mO&(~`?sfB zVWB5+)P$e7zS|q;C^Wab!6`Zi?U$iM1^hL*!Z`S?3n|`TU!TwDH5U@FnAtZoQeV5_ zvHF_PC^wrG?03*}CnhJISLWdUw$l_R}pZK)co53ZCje3 z%h^IU{{w>h1BZ94MGL&eE)R=>MetNALAC78vo062qYABXP$e0+d8<0iYRA)9-OQ%g zQQ{>{%_4OSWa<2m1uZ%9E#`h1u%^3!Q&B$TXrk48nVCZ5$$AB4W`T!#Z}-!s$y9wP~T@tzS_*=im0x0iWB?W!eWrRHq2FN<4gP3 z?AGxfn&=6pl6=~=H_8StFOyO{+wXAr(#%(;9CSR65$Rghc*i?RY*@q{Z&jk4Ip@=d zg?cueQ(Hh`8FYys;F|uWDcAe>o=tH-s{3;>=_Nsn{D2qQgepCQ}mu=d31dH*(1Bt*7Q^a{y9a;|g#RCD8 z+L_*Fwz;YHNG9=;P324C$aeEfpP@UR0sk}5G^&vNNOCcZeHS+BZJI!wh;*Y{!*Nm` zV0v@>lGfJ`m>0g;bGl~rK84p$WK@>x^MUz$39mHQTAy3)Iz($6fERQ=-3h_%Q31Mo z%DU?!zlaD4HYi0XQuJJzsrJ{s!Kn$EI>liHu_y3Xgf+E7mT`4eB=5%9c^bv0*Hg0t zcd3zelYnKxC~EfrG$u9p;%fyT6m;E(=|J>}i?ackMWm(ir~mBBHdBU;r%>B+V(P zg64LiagD$I<1?kJlppfaOQh`KRRjo9shqyK2_ew7Ff3%2nj7|tbN}31-~^!c&89bL zu0?WQkvG%(=k$wvVM}Yu;2pLvEo_UHms($;%RzoS1Ei@V?FnV8)%IMI9iWDoV| zh>`z^m-9-;DagoMqMa*SWuqq?^UY2fxtAAeZxVL*fI(l`kDlZ`alNiSaGk>Qk;5j6 zYQx_4_t%|pK^qDlwJ*d)e0Q_>WfRiSsM#JNwvdFApU0h)rphH98YXn_J>ri1Nmu%b z*bc3|JTi}K7EA160PHt`ObZw650Fnl${L2-Ydc?~*OGr?KNa@l!|Df7Py+OAza}I9`=P~)x?ehr}W8U+{-|%#vh$m?6@_sUcQDW zxA4W()6<%tMbt}(R}7lyEW<<&oXbC9ed6Byk`xo(caG<$%Ak2{T%Zhg!G4+*nZMlpwpDuqUM`oM}~ zwlDUThUPu?j}K|wAwI4BqiRiEBju_0mF?R<=-UVk4C$9P%&pv0KRPp_egFRU-u$49 z7u^>>+%XCF*xO#X{a4TK`(c8P!^gj-6a&)}FdE^(DTFFuFvgD-bbC7B^T8U9XeR+G z(PO>ieNq5-FNZh9qB(&ygY7UfyD3T+%gFGJb6LhA+^>?*OO-ubX@9@UAIW>ebUflj zs!rw>6uZB{ddFs@=W=8xp5f+WglK*HXn)}3b7|$c;`OM_NeRTYmDNd;DeqaHwphwA zfN@!+M=rmBeEs`iViIOw==Ilv4I{*Wr-@^*nArT5p8ca?O4E z@IgV7fKZ9eOU`q@_O`zB+-K4a@8I}=$8n33?x>qOvfV`VKCIC+s;9_Dp8S1O7TfjQ zcz5He^(@=~yaZ2Co=^9=O`T^rEO>Ly{AO!v*|MJ3aM988x4Qd>9Gc^=x}*TLQ5B`H z3a@$KAFooz9g-I=)3Tr5P-|{WX}BauP|@J#o$6bs)Lxz;MUQ?F!lGo|A~DT$ogcrS za;wzz0*pr{uu7q`Eg^hvd#}eb{%s*DKS8k)4cPYGySE)J$!ELzSsmC|3Ie(EHc2eo z-&gh)oyJ4`agoQ*9AQTr;|o*$HnmRVA=OOY$6Aq_c4O9Xv)CiY)%q-_Hxy#Fqd_8jmNQasb=pCR`XX*a=hd_W&U}UNuNWm= zkechxcA{qS(g{X@&;f9g`#ctJY%GqMxtG|R<%kiwbcjlbCmle7VqF|*X2M>t*%&%7Fi zANOUL`=gCj3Kt{bvVoqH+f+iKvn&MTLeDCM|pVm!Tk;>K8_-Pno@ZM z-^`mok3z6gUNA5uidi|7mWFODkg! z3C6BQDD?=09WY^(sL{4<_m3!?%oXu?A>?yKR<`eElA-n1UBAfq$-R`=d88I8Hyn3Y zi#zyhdML+A7<{kVduHhKHu4?&UaE~YV5W7RE0RmibY)?(5*LRpkb`jL#_Xz%;|=dk z2#+x2y49EC2hgvjSjO#7UlFb4GVk@=ueG)QAk3wrGJ+x(&7Z%9-iM(t)Y8VKrDx9!{dx*z*OqC6#1a}y z&39M*Y}hZsE0+PN+$-k3Y@&Er z;BQfIFg2*cr3jaauqHjs$+?~6K;#{0dB1ixe6%0!C@`ajhb8IJ18v7ub2#4@-;~c9 zsD%zm2lk?Exv8b(H?OhfCs=fbrM-a=eD95VX)FX=K)v|D6qA=M5ew6D(? zFCiNF$nwgHp+Gd>p+NdTIV4x-tnKo1iQ5r-igHz1s&ei#Cy^c;a^M5pMxbXZ65^XF zoGR(B1}|x8Bu3t^LomdvB;WIZ`BnsQ7tRN0XYaKg6A3tJLD^eG_4y0maDDK{su&h2 z!opO(c0v?^lncX(k;zxbzR3Oxtm>9w%|H(u=+?rTky>_k>+ata%5jEup>)}9l;_&s zv$qzWr&KK=aQ#Px&*k(%PXAi=q$gw_?HihnS>>&bFXX=lj?=fi@oMS)7qJ{7{V(Y1 z+>pXa6cqZJX`f^M{EL@+RCw6a^4|Y{#DstB$o~q?3QhWdvcQj7{QJhSCs@7N&VPTJ zcXK!gi~`W4&`17!t{026H4l6O_}l2>?5IW>Mkv3HsJUl7wVQuWlUe!Iro@vE3|PQ9M&&-7rZf0l>!wbvW{ zrl8kG9)=OqWfY0aLt)B>JdxipL--OjDekSfv0lb__XuG&34bkTpXtTQ$5uotiF_#yM|w!^I2N+e~87KA*--s z=6|>VFf`j)3M>LIH1{s4Wfp9R1_+(V9bBCotFH=)Ctm5FTdC1EfBEsn_u`+ZduYWn zY`<)SLZ3jx^m1?cVeqm=?*#ElU0VL_QO8J4>O-HR?-oI-jIh;<;wG zuoD~qr6Fcww|85dcm;O^gcI$L7i?jg%usf4&fyL`9v$L<_ z{?5;PBrXus-(haeUrpHupv8kP>pfOq>h1--^>rt)I}@_mBPVpP5qJ1vq?F{Bhrut; z+}%R-#Em6O_m0T;(g2>tQKg$~Lkw1Cre6L_bEizb`QfHgtdJk>pUP|5>eICmyn4(R zE?i(_Vj?zWc+OK7uEF;>F(@IG8?Ili3HRUddlh=iQRC6&(s%9sx-VlkE%-U{|nZptV8m0zC0~# zY0e|*Z;&TOVp&gZYrUhR7SGaB*e7#(+2Bu|O#00G5o_`>)aB@p11GsD*_I54|+UQ2pxG&ywuDRk1|u6%#R(F=vj~ga`tFi zbNlaqpW7?cj@Unrg~It`4?R86UC|_N(6A|FV2TC+TmH(GJx+gm44OXsgmbEF$zEn_ ze49!XP{{wA=q?aZSy?=H9|M;^{Uwb}@fQqFJO$5bVv>mnF8dFt=dSt1_iq`CTM)b9 z#iM@D6*}OA$8k(y9s50;9Y!W#KZ=>kKvd7(#h-t^zoT0`ei!)v&`hFY0JHE8tdE)q z?#kYRO^GT;RPdJ~l5 zjZw+Fe53A~I!=1oq4#FnckawNXDmfE9;a-CJ{T9r&u)%6vAlV4aWR@Y6dec}ykF*B zwnw-u?9YEW@|#w+>nFecKY{J?&HGCKZLaw7kYkrfd5F(QeEnbjMxD(kGAsz2dy$dt zF@Nq6JARdy0+?5{@2$y+Gva-Cl!)ekzgO$oIZk5r5MT2DE6p%8;eW*({$KmX%noSZ z`|cc&?GyVyheqK&N2?OgmK%Fq#yP#&jvfs?1G||mPI-p;1$6OOt7*QcsfPhi{|f?} zbGu5moC5@@v4__!dfpy^PARhpJuLtAQ#QFpaeQU>uL)a1N*H%|63cTf65Y-8WZvvj zzBLoEOBV%?qpdZ>ZcKturz{U@=M4vx8JzP(-FfQ$b(LHtiK#k?@OTJQ@SPDaJ2GV8M^?G5`&Lg z%SrzNH(Sh+joeD^RMX51Rm*_wvhAh*-FsV?RtE5v^*K6xYc;sf3krx4i9!zh#I6ZJCo74=+ zgElFk>k)^B6U!~ZBHL6Yw=%Ctgsa#CLR7QPnc>3OKLskeB@_1i-JN?;+1|d*x3J(S z;juy(r3xDV;!{ny__wQJb}HlA`v7`TV*G%xAmy@q?w3*K^xI*M}+& zBU5p4SUt#L6n_x+6C(gW$6M|-5C0FE9avBxj%Q%Dnrqec`x&1tYBaO@SQ*SFXeSu) zV)tzme%C%wFcp!7C5F?I1fx`usp36+q{Q?gc#T;FGd9ld7cX95VsR8yplS^IKRVX? zvv{69gGWG;Kiy6K_#>Uaof5x@6A`S-*^Tb6938J5x*pxGDXIev*(SB703=yF^d!37 z!hUw6b5k@pRVi7`lhl}qgB&pY@QPlMUrJl9O7SmN{(q zpcQUHqBz+SYs39C7Ldyh@bt;q``c7A&$--ee}@1YiYmNRIa%`aV*dhX3!na3y70|W zjYLN3&N0q9f>L=zwa&GY9rCK^|(hVvYBSqFmJI6p4(i$NxXmrER8*;XaiWM?p2NkX67 zR09?&GMN{?Wt;JC+eu#qyUbsm@f67~UL?;!%(gCr0-MVLpO9 zrOEuI2oH@sz{MmePBz~XOdy(U;FttuD@|_`>@7Dw>j`=!r7S@Rdp#Pi9|i)^V5PX` z3}RG0hA>x;)%iC_)+T0H2>Il5sM&|&RsL}}*RA-1SQnHhTxyA1N-HaU0Zj4Px815U zomC{$vLCHGqF3yWU68F}o!1f^sJBuT^B+kF67E<_l7Lg61j^%vMha@MsO5kx956Zb zD~8YD9tGH%xkWZ`XX$mD%PHd3Ej)c8i1`bUgiNCf!l4QJ?)X-$YG|lN%hAw7Il44? z`&z2o=TEaoWVLi9HNPuMZ&V>Vit~CJBT3pp9a4fQ#VskR4abk)!j{n``UW{hdWos1 zM~7^oEXP_@Vtd^vd zW7!@{JfIM&)aOzjVm174F2^QZd3BEDR##34XeLdsJjCCruRpq}&U(RE^FKK7QCpu= z|B2ymuViwwYKvEcO!_@8q-f}srxYa|KC-fu)mUzr$>%(Mm`Gufec%(w&<1GZ79%5L z$A|G%FZbP>SEu?sPCKqWn4ITvc7UtqN!@_DI8$Ip1Uj;;u85dGUvmd+Z?xGrzVj>X z-A{#j-r!Y&=YN}_%h~s9yYrKTeyT{4Qyoe$Gz<*y@uVrsVJ+j8JOu&|&i!m0*a-Jj zf*z?lil6oU^$WYl)AZ7%OtYgg+lJPM9OZ`@%+bDvmixbMoj-0e$ZAq^b!}sH3ee5N zjEsyDb!a83x_{$Sf-CYIaO-`zCfUJ~cK=D8Gq#IAa|K{)Q7$aAt!90BV8;MP@}P^; zco(|N&eZaj+(tP3xpU{H|9))5lCO>t;Uz)qIx-P0NI;QKp6pqe>aHY!ilMM76+t{> zgYE?;07TV~pN3H9k!ZNOs(!j-LBP8JDXpw*`ZL3XE!#V5+Edm2pMAKA&_#3~ELXtD&Ctds7!3z#1M;rMtH6EZZ*-@NqN2jC zp@V!T+$psLbCtutKP2CHv)h-N$q;!(#HbG3!4WU);P!=9UoS6o|aYst4x*Nf0%ehMvK>p7ehFwef`yOc)vGXCb0%B{00#oNB;R0a zuSV}@?o%~<;JpU-et&Y5iL$Z}CWEh|CIj^p`pC_RI(J%h^ z3t`-vCl3i*Kd&mHSzh!Xce+b}S=j5DG-)4FP0uG)(cRKv3=FTiX&R@=Ijg+Q=-=Gz zu<|w96OTowJ=p~-=|o= z!*kIMKlZ1QA`Ngf+G-@CZSgNR>`p61Yr96M7jG4`>c5J*24As$wsfD(q>p=> z-{t<-uf;j@d(XSyll#}Qg+$3x=}R*B%-=fhTWy?Wr8cb~D@*e^+pW%@+kdV5z7~O{ zftm87(Z2S{5i$%?IlMO3{F?jz$xjTn$fCRC-+0J6K zMr(o?1K{?cxZ_S(N0GbC4E;c%3!(87g0L)3O1D4&ffbyr>9JOthvDe3 z5i~l*%DXKi)@wb6Kh?#hA#ybW^}ElWdQ zaX?LPbt}h-o$n1EC%sbO$b@o!YbjEN&)r>Hru)}2hqNDW<9g7zS+GSDHT)A@cl{Z? z?K(wO#sYt_3ue2t$l?4Yuro}eOy-X(qusrqV!4et-@vz|AV_Y{2hM__b=rMtPc@U; zH;fHVS$B9NjHolqWDqk(z$$KuQs_$_GIcvmFa2eOKtndZBGA^sAyAcF=Hbo+`LKtu ztGtq-f0l%ph|qd@0p+GB4VvsWZ!07hclt9hZ;msHHDw*+c>ETMxrd@b^x7OD(Tj$*-3#QO%W zjoC)t>|2fZVr&W#L$K&JC|g_J$tbkl8#w8clOC=Qcd?WKbSI{l;M`Wg3(m!U)NbWF zmqNsGx~T;{d}eh8+5RK#9|dXuK1A=&C~94y>szED%-gC7baX!$L( z3z>%HBvp|jyg<8-S#{-*4As1#>h~??&m9|I^+p-h)n``wED)O%w!kyNu|*`)i;Ey2 z?Pg(#qaVk0?+Wf6TozgrM053~@p+Q%Ap2jjQJ9I6?m>g|p!}TqMNVj4oZb3^=H27S zYyQ1tKe;PN+5~ww^1p4zJ1W0@^Qm{Mzv`RIP~p>Y>Av1tvf&!!VA&qRt7p7r5tYR( zQeXs8C0t)dKoLgPq!9jPzbDzL&nFQV)$3hu=$CovKxCA?KHlLBaH^4nJ;79xYhZ9G+iA`nZ_|KjCMZZc` z?#p1;c~!J(Z2In}Wtk(Criqp2NBI zV#AYFNki0*8j0%>3pzy81YqA)LvAdKnb`LMmj5&68Tk2gCaC}r0=_5-OgXIjL6iAc zb0InH%(bU-`doemc#F3VUj?a!_-FQ-k&G{UKfOn6SXWXtEOVY(|F^*#(i)MBYiArk z|9D^e2SGe;N9e=0?yLH5?h%I87nNNU8uTLxdI|os9gzzT?{%dW<6IO!= zVDHgawwmp!qZjnXd>^27JK6Y0v~eR@1p{e(%@mrmX6UZ%J%S79xHCmu)!vZ&uVOym z3^NP=6ypfIUSpWa>HObE%6v>y>bg;R-}55AG5&fr_`iR@Jc4X|d5l3LMSb}K-tZ6n z^gC7lNT&}<4Gj-JeLMee4peAm2jRN8LyR6yN!g(i4t|@oe^(HiVOV#U{Mlz*L3;2X z(SLtN6RAb^-}Mpyi4o)f`H%m5pyOXc7EDczS=JsG?*D^i(olotZ2%RX%_oMVHi@#k z^d+6Ay^q|dP)nTgy_$L@*3qgPC3EN3TQfG<=yYF*`wmtHm8YyB^gT-4Y4?7Awz3t% zRXsVB?Y0wl1z7k$J$h@n%DZ+gY1U(v6^)W+UEQ}#_3`O}3mu_FnTX_s|cvFr%Eulc@_Jnj9IHO9I ztZjEnUnNVWmL_xyAm+bz{c!Utr(O_@F>hl+LtndX+qR#7GyY`# zpPAve+VNtFkvx7Mrs6LIzLvFJSi97O`u13)L+hGj&9tFE{|`tH4oa9` z`5CLT<&fB&?LbLi7eQjfocJ6XEQBw;H1wGv2pX&xc5-lXR^>|Pjz{fFQ+rLGL9hqj z4M!5(XuIKBm@;@^v~(Hrto%D;s)oX=dD=YtLD;GV)n!n91N>!h$ro+NGYnVvW+S!- z`wB><QhoE~Z>9*@%~HlI%0stl_lCSB{HvSu_Y(6ribO?%V2V@1s4~D{B8vZS z8o`ADU-Ht|Sd2ESQhv3k^CFoNy5=B6H8-Q1M{Wj&av>#F|C@7u%Bqji=mzLL`t6JT zf`}`0^epjr+EFC)CWr~#hCmI+nIU<&iG)Du$=SU+_b1R_Q7qT0zpTflKg-~YE4l=F zBe%Z3yo3CP#^J@S$!Z54t-a{@|0MTs4%xABQV0Ltx@~Kg#q56k>T?+W(@IFZ4*%%3 zcruVd_}KZHeNcZaKMf*aKW1iH!tVnfxLXDwUQgA_3-VlF<=CKPhcdy}cCN#=+Y%w@ z2?|elh&U~B4zDbZSGEl3x7l=5&CqdwbefU^FJ;Tm;vo4SVraTP<1?DE2USMyY_FDKO#`A7s*T7QbNfdy) z_w1uROU`zOZr|4r;{2I>j&vDk$tSGuwC|p{ocdw!*Uz$5tm?Oym{H6mK#{%ycF_oNhF!{1FuiEXkmdQxMFy6%|?x^&83L{}skb;DS-}Ar# zfV{M?A%e2F_|9arPb_322eV~-cOzuleaBt72K}3apcbw9dj25!pf)8Rl-WNFD&ibqK%P#Tm zPtI;`A zmq}0AaQV+i>OB)ZB`NORJC%h}>(H8NTvFO41n}uZjIwRNH?0hH)JY^pm^SpdC`Ivw zoMmQC)y;mW=eg{IP64Gm=^5GsW<5Qh6e}nDKKMV=h-l8!DJ%08{o77SqFd}+(!ii6k@A$Q4&-#*W67^bVC&rhty1G%%p1pqm zzWy*Zb*QoMs}dyRgoHTJOBrtc^yw4u^oOKm+p=uG zJml$iTRZ*iXXo7H{J7?6F;PPAE+i!M_UcCgOq*q8b!uBauF;~$kb!|M*VVUsfGEE{ zUmJnZh0Ln}k#%xHkwFe8M;i zTR1WX-AOQyr~{b6rT%W;VCCwQs3)Zv24619%NsQG1SH=fLZs)S0)E&S$pw!XYSHWJ z_N{fLf-#{q+R+q$TKJ|c!U9O5O7uxV=c!Ut!XSzWiAUp7moo+SgU(JWBBnveyyFSf zeR~#;WQN70u57R|F~PWHqUz^)s*jj4$NpZ|!4bIPL)FsW`vQc+AN=Nf>SOX=TD0g< zO1VeD(})B%Am-M6`FAS^%IFywpbv?a$onxq{sr%Hw1mkH^u#F&FF!xb)^(WmDNrf}`Nv>#li zL=Y|)gN*x9eKh4ijt#mkB4? zZ{MEeYG2c~MNy|TpY-O<>_n&9DRQd>_1gW!rq>%6xRV=JOrU*4FmoWj6%n|t?^=u5 zC6;RtD$6A9wCBKq3pzTC2;6z4yS}o+Bp@JwPgr<8X%K4n%ibj{nC!%Fdfz2x337o9 zYDlSZmrP&V$G}hv;vYTV?U$b&KS~TPbA(kVSP4W2z_(_PxgN=JQTG!q!q0pi~ zbjY+z7YO{=BF4am1_npS=g;5bfowoCYIAjU`Uf7m+L;T!SWGhmWn?)Y1hN{jA>qf+ zZ7O_kZ58~DfjC$gu8R%ylKU8FYjN5yuP^?X==wkSQhCmNQyHv-xozTL9vunonFRaWsi-j(wE!u zhol`@E`oIR^%gJ_53=beQoJBatePEdB)o%R_LP8>Q4*bEyXZ%jF13B>uogz{2ioQH zbA#q2e|m~9i4NM4+?nX`V^2#%TnZMy4D@!%7$)v*XZ8H#(uK`byecg8VrNlUxXh}G z%}_u?oeO8OS>eI&zeS$R<)04KNGD-q6DpWLlX$ND*0_R#0ufvAT23x{0d&iq-tFnS zUJfj3YHISz$`{V7`=H>+wp!giCOlPocfD%Z&fSCK%6nI0VlV&ogC#hYyvh!+vAn&a zRI%?aOi61FGT6h?{*RoT;j%$^I{IbM?(phmdak=7m)yKJX%`6*+Elhq(b>j}&42qQ zZ$$u;A^=v>4NqX#4++e_w|T5RmvOsb~`xif|BE2<;%0TI_Mu{W&O-BBR*C*4RHA| z;!}QgE^Z+)A>rE_Wj&>u7``eaKA;qz+uJEFUAhDmGWCkD61x$Uo?2SpU%~^mpUt{o zrai5fUZ8`Fqw*n1RE*|p%XaJjNoPw-hSc|h#qJW06Z8N9zq$>TnElq*h~TA4ur)HP z3FnH>=tcfH++vfIqU%8TLag`K#ztxf2Z!e3i=Lii|84ej^Yb`M>T@Jvq5Dw>6x`j2 zveeS{cowXktD}9`h_okIYU8hkg_-dSlPsZk>gkvDoSaVCbbZC_m`_M30U8#>d_Tr} zID-aZV`cin$*^i{-#;Kn|0>}X^y<}-Yb-SSrlzJ*(b1&FpXhEXDaqwZl=jDUW}A{8 zWH}1VdbOUPpN}(ivKZ$n38xZoPm$#T(A8?~@9~JhAb)A;a%qtbOPfbjMYN`vSX|b| z@#F8_rkJ=puXN<$Rn{$Xr+m359)pHa(Yqgb_?`eGV-2h3)XqBQea=*C^-G2<9UUFX zcd7CFTHT6!9;CCmEqO0~@x8~hOSn?5s=t`cWYqCHd3F(zYVV(8+1@u=-m7s ztj2ov>eVZ%s^@O3x8xP!pig*HOYFuEHVJhE&f(MWVQzh=X_k<8fHdsQ6&R}{%4VOO z{_67TVAoflN0#kxHHto+lPq#wWEW+N)|GTS99e5?)fGY#+_=biyJBdrNvp-y(9mx{ndji6OEl|V9bi5Dq7B6!7 zPTNca$0OpqM^0SN?veigQTE>9T(?miO9|_imZ}RX2@O%Sy>GfWuzix zWrdKPtTM~Y2qAm#k-dJ8tM2#b^LZcNzkc`8(QzN8m&4}K*FV8${$$NCKL+GgEoI=Em%yo-VrJkGnDb#_faa~Di5JX4exEeH4pEx zmYf$4x02mb$~c9Lm3q<@WH`T9nPvh3@LQwA^F354C`}YJX&&)%*xhVWWDsFg7HOiT z3E_7L429!05$}alUiI+DXE6^djoNs1^Ar92W=Y;9yqj8Iixb@JB)1lxj(``%xSIEi zv$e8oS1;SM3%gA3nxo=9OCq9K&hA>vEJ3vIfY*MH{0O0N4TUH(Jmt35-Ywmxr-muF zI0&c}I!2mkZa?_+@Tp-cMwgajJu7o3<`(xUC8$Q+y0+PSp7xsQ42$$u(ms_qxVu3a z-M6|li_Il3Ux+XyVOd|@eE;4YCtQ3J68xvu8#dZso5dbFU-q?sTBP8OkWH|t=(BV4 zb92XG`+kCM9g^1&j{fs(fii`zX50O4ieml7*zDN!&*s4WhwnYW)NQ|0-zh+2U#(ZM z8n<*80+XX69py-jkFP`B2Gzn&{_tssGsw}F^cAV5SGacV+o2ybrRR5keXUP~*6pU< zJ#c4gA0|Ht65iLicsAIydgMo*{q#f7q3S+9r+`gSf0_3v_wBwC6jSj=H=mKE6lq24Q41jg=dISp`T;S9UM?awD3JFTgVC`OlsMKm#J4j5^M>rm0{&y`mi-$QrerRYY z0-XjV96QN1Dhixe&T=rGEZ#}j`xZIea8G;ZR#g1s9iqjQUp5(5S#s`#c9z3J=5>%Ca2Qr?Y@VNBE+q?hX zMYoq9E0`tdB>&WnSfKAU(+3h;QT#5dRV*)`qCOmHpf%Z0*2)__*5dUkoyAJ^unBLt zM{VWpPO+G~L98ardQ*PK-Q3<7wtPR1#10G%E7DAFl)W8FQp*llFTVlPTI>!WRttF@ z;Gj3^EgKvCJq5AAsQo>M$S6e;>(S!!v$$OKJ#1P9CEyT8>x%kt z-lY8avczr6l~o%tostAuMsc=4BJ(j!)K^Eft3GeL{GVd@RSL|gv1KSFD8Y8p z?udZBA4Jcwa^agkV;jeW2mJfkh$uw@Rfvj?rcVmZ(<$Bt{+f4uJhS8cMEC7J&DGVl zYs$*{s$B{=nos86z8WMTrz6k}hm@TfpWN`8MaIQFE+`N|(vA*T;N-Ld&xXo<33po% zQ~o)2dgLgKTOy$Zd-v{L*C}E-SYF9zL$6z$IH!XBz|zwM3Ah{Mtt@RN(h$b2ub$J)^ziaW$bawd4Ft zb(R&``&3ZryjRKDFUiDoWqpoHFv}tiGR7@z>OQLOq)2bAdx4dh4xkC+6vF-ewSf7( zWE(!Sp|4=)^J6A(GC$uh=G$u?Q(hc_zsG(&o%r>OC|q4$Fuv9Lcvdmip#4NcQPDpe z_euU32i_MA4i1KvLT0)62mmEyNa=Pzo{MC3J+xcEu*Qt?jK*bgNy%;GUsX~Pk>5tV zG6!APzo9iGO!3XzGJA{M_u}|MoS|yxuCpwUchkOwdl5J?s;#k6QI8N!QSM87l7YdU zFjYdlAuohbs8jGYF=Di+x0&$$7Z;aLSC!8Ho_P!DJK;>B%#$g^F1x|txVs zlJ9HH%r1bFBTyA2Oan>ZDKqWQc}rySii%Ncb0esyj`8rk;!igO58{D%{?(oQ*4EbB zcFi2a;SG}m#TcuDkOiC>r#p9NFQ&A52=^vFh$@gVXS>{=mqIrqBSR%mj~TUVSzF}` zn0b9bgcfx4C*^3ye&z1rVPyrWlSNMB4UxA+Ms>zt#B>{*<_Wo6I^Hq9s;VluB<-qp zF|WXeKfPy%Uu#1{Llo{^xC=S?*|T34*Ln>p%V z*TamN06!8FD_6IY5ghorQU0#}VJRe18vRT==*MAYhWRT&huv1#Se|v8)@-y%r;m#7 z#>zF~x-;x|4%UW7c|PUB^$|=uNPRAVJ<+XE*l$mmd05e(d#zKb-)@$CcbHQt`$L3X zN*EHL>fc@KWgT6oKBMu`55q&euuSGFoD#ECtbHzx&To#;)TckD;W7PDQk^83Y_mab zsc>&&J^u)&$F7QgDZw$LKC*BE(aRAOT2biBDQ2^T&)%RwSnK!W zEWc~i=_CI5(JXhxrM>HwR?8a4I)0K8t&u7=^{AiuOj53Fl^+|lYYXsg|2gmYp8eZs zv)?)W{ihGIL<-+7;>*@GHfH`6bNSDwyQWw;$Q3%TQ0|@^@$7qbY*p^W1HgmFR^#H; zRNk6AU-EwE@3Addcty|Bjey^Fh;{sIZPhVl3Ant^tx!hx_yJTIE+6T5-2ZI9L;)Nw zc_o}|#(bY0%8&p3wRrU6KQjOI2l1X;0{(m?K9%@2rC6E0rDBE_Ygn_xg_fvLdw0g{GB-EZ2?-zKYeg z6~HJ!*6cz?I09g==yW0!@|1kUXFFp_RaNRezF+tQ@czx&8IKx1Z(BNmBR{g(L(13s zDH6P0pXMLiQB+t5Cf)buW+tK46NS8{0mE#*8<%tD5&S8e0==~iRcGJ+%NcbG~j*Qd^(9gDLE5q%2;^PwwDD>mP zD9rrIxJx1;yn#J$oAnwnYdvrgbtQH_y%vi?8M;$!Zf<9B;GleboRh;3|1iaO8@)?} zKati*^JZ;m#Sc+ar*3?{fUu@vNQ`x;iVyY>2MR_CK^)G9!6+ahU`ptvBje+P`g5Fq z1{O?A*gM>_8u?A_Uf}fX%y|ShQO~zoASC5j!#Z~654P2ZdwM&sAzrb}d*OL9=+i)o ztNXrxc|`Jid=#;L-GmMrfHwt-vy)%G;2>tp1iH5+BO{ZVqll|Em0dlS75-@AH*Qc} zy~^(I@2~Rl&L)e_f|$stljy<4m3d~vC4sCD!$1l~MlZ6!#PVa4G3<$!(waN6K67{z zI0u0|rq@xq`rZ8nG^MhY$Mhq1eUPAZhrUNPW@h%o??UzFO8YIpHlD?L@TPZ6?SaML zSzr&-p=UW1gYft1J+-35Izja`6;+(1&Ie^h6iNpy3u@tfF|duWFO|nk-2q7cAu}@yVF4xOb9mjSRjuAvUVdz0BuYt2s`qiNrL+8862z@um(CrF(5(= zC9Dw9B`YTv<4n{;ir*#PMulr@YoCYvX!Ky&tI9xlW%5~CbjW{s{|}5R-V#ze7=qva z_3PBNw_6b2DU+I>83hdXqNJ$7Y;1L&)7<_wG54YN7#7f3df{zg1`0L}pGCym_YdJ}p-Sh>11d)+9We;Vp1UM&{{JVaHo~dL<}scNE$`56i!|X={|InEiJE6(V-1|ZvLi-{U%xn2@*(49;8fe!K5PCTnI|ui$m^Y z(b3U+X=tAMrcCk)2X6gy{DLYZ59J| z>FRph+1q+t3{31Cq&s(BNQpSAo^`wU=TG;Ok`IFf^htq^|4g%CNtO%YG#iq~vS6T{ zwM#a=ZjL48_F(g}uAyNqK&$DQc>`7LV<8V8M(ZN~3Zq+nUHQFS232}LDqhJ3bMF%s zb)6sk_1Mdc^eGj4MOHQNb0YQ}mLcctht3{k3Fb2DBEcSe|Jid&%)dT&bUXlNMa^@M z8$3Wg42nseVL(hT6R@qPfBcMjXPyIvZn?Ma_@_AspWLZ6%^mz#0Uu4zh2F;zGuo8A z8QPb`_Iw)8z-&HXAjbukIWTgm$t=K#U7_Ur-p-vA@hYh&W(TWd;G6MmVfr}gehj42 zh1k&0gzzOR#+WFZsHp9uq&z*26IB;K9XQXNP)cE%TZ4@c@$>!IEX+F6h~0sp?t(R_ z-RrR{XWkme0XG6b>*+=DUS74gmv{?V=aGZT%7E#+gstdNWDla4s<%u{ zzpn<{cF@dO8k5bveN))STeA&u*8%kT1q77M=s#$TR}8%WP0?s*=qnupCf>XuKd;eF zgF(?0TA_>I{Hbj;bHrc`hr4$k$0Xp*N{%Z5*RS6lYI)w;)P#K&&rLd+1E<7pxK5mK zAgWeWH8%^GJ^wSj#Lb7ItQJq+1J5Eg^>{Fzm08#0WfKQyYYBWOIjI7l2 zVQq@2;n7Kx*x1am7JBk>a^9LOSo=NplT2LvBvL-(!RT$9z&*QY08e-D+v;1;$235$N$gd3fBN;CGn+&CJ7Uf+K?(7(_98r{PZ5 z^8xzlBQg{>nl;+K*5GKy9F`kH*W#~VpXe03=uZ1TE1iVAyZXWAl^|F|0)Q?@rAnuz zg|cNkDk*4C2}_Vp1u;$Bqj7trEcS{fG>m**yZ0nB73B@youVu?TF1~@xA!)GE)H-s~Ye8FXnfSuvYp$*Imb2;mo zltPl0Jmx0|jBZH3!48zo9q?MQ%ZfKPBWb!=bi2?RmX(xj(bUw8pMd?W4l>6J3S0_= z`P|!;v)^6lF4{)Yn0O<6Wg*HQ;=P0f6M6>5X++)O#~EsfV_#lg&S{EEi1mokFO%C> zB`Zf@;_VvGW>_?{{+KZK)+7|vM8IH zngAE++>GB}xFK=`&<_}v?^M$naac>B^oK61HN!l_RP=|EGA2dGk(8pAX(|&HftLby zhZH3E7$7X_-DDoEnMr6}%Nnc5`>ary|8st6CN}S0&|D64$skM5VM$IB&*;0Q z(h_&CQOVPB)&unFYwuM!mVXbkc>A$o2s|(_Ktjw~^DgehMhr_dySfGzw@mL{m=?lX zO1|X74kBRbo#{JWQ`4tuGjZ8Bd00&&l9IeJ0>|w=Ik1#2R61<>`Xygv`yRE;iho-S z$BJfVHxf`I&>84A*U;i^vF@+X4?`ZLVw42R8M)JTD4LX%mGP9{X2>C+(*)JVXjAoM zM+)9iKt#o%ZP|pjsyRg~PC0R`*`&U)5$)f_d+%dnE;%SFPIP!jUr$mCst|Qth99gq z5wN|n?tHV*Mb1jvD`TUw&JaVR`nU6TCnpt}vyzL}Cv$iuQI1j%kC%d!0lq|6U!PlQ zs#Jh}p`BLnM_wJg)*0pv+Z-JQ$7n~c<=UE)Oh{e=ONCLc^!^^pjWNrceUvM2FL_6I zie6!Az<4SvKGF1Y=WEw^AQ!JgLacGQu%(rp>ej|q0cMCvf$-z%s;UD=LvAFhQ+PK0yWtW9)nLwPY; z{+FX+d6^^jm*z zk{Z-V5CuxNvAI9SpxhibdgA*wZ+4%ddm&=cnHSk;m~!Lv>C+C<88+ihp#WLWLKZ0f zidAZs@(f0Y2QX9B1`7XYl5}~W{|iOGO3^vhZW-_shBaQ{WUtU?%KhkaliNw-xcR zTAgXVQ0D0AiRgjzzw&3tK49Kcze~+#Y`thynNnPtlmL z}X4!%BZ&xNokW&1uo00p7eM zrXU==yxrNgluET^s=>E@(RDVuz_@AmSVwwb;kv*DBcoHAxp#HY(XzZB{k^c_KQ~8Y zWVK~Yc0s$P@$t@sR9y+8X$(vPFpzh-0MR z3y6eFM`S#Od%fh&q&6X*3 zXH@py*K#q2!h^dD$nF+4O)*R{Ie2(3&Hp^`3pN+5I}!kGy4`uK}) zL~TEeT5R?%@X;bB{d!;H+&Y4J z5L_8)_z~&p+rRb!e#aexFTTA=;BG}k61f7t=+a`llVc zKD)HH-|On;I3y{_gi{RNj04@Wg^7W5OX*p6^X3%EK6}}+>;{JwzrzP@_7Fc)mYI8a zxNF%bF}m1jXBjQr`zMaHOu|>Br4<&x&*y-IH3fqxqN+j73h1=!^MlPLrKLJ%xBRD% zJX!pG1Qo=~SS=DGV-u;9KSaEI)-zlxI=!85a@*R%6Xs3vF-&#gyI0bN2hx5?n_pB4eT8Yd4=FKA1oqx2v|UmnL+rDI|sF=RM8OycHo z^K*ON39aRT!r5onqz3Yyc*k7y++TkcQ}u$5OVw5H|KUjGAT?)XVtVdB<1Bi_Wqsjg zaBu}kP%)$GskgQki5=Wn7h`w3Wn^@@yU2aEy=-9>&3-6LV9FG|z~La-GGIX*95t^; z97g)2VA?FHrgj)~hIa|^kfpU!FMnE+3odyvWCV7>_qw`khnNGx!ma?h;=8TEG;_P}M!4_u=ld4kPVA$hkwK+Z z?nC=(UZ1L&-QC??AxdJGyE%`EinQsYB#j(@t~f3UBV$uj7N__blpH7 zi8x9SIv1@1A&buZ{?#0745U%jl#QvTU%q^Kam3nftT#G2`HF0nwedaYE7N~*+eOzI zU-}OuM5_TEDhGi7-?95RW4~vb{UFuSqQk7Ns`&Aqol^_ga}OF)1*VwD;E!<>%uoC( zo@L#y2+3K0&3GH2z3IMh6wof0W!6$!RC|HN0#`fe;vT{XfWx-R2t=a5{+yT0>H#Qm zDX6KXlp2wtMEhbq!v`gOo6l1noz>}bE5!Bf+`T(sq9QO9RO>rqE!W)juG-=Y%QK7> zJ$-xzaA1MK`x2Jo{We9^<0?}f8W_VwoRR+i^dRNTdTwg% zQ(S^J@)Ms?HxQGfnmN;OP&cW{u?wL`nSvc45d#SPi1U@8{S*lXLdOIIf-_BjJ0g@w_re}p?L;a&NyrE6A|n$6We>N`?%Z8tqzgYE@}W*&oLmNuRh>V;UtJfldE7)j?cwK`^Pf zEqu>Kd1k^9J9@#D&`&lk1|S4Gf$fnaGSNw%!+VnnEu9CXxU+%e#Vdrw7&ZE z8y0vEPC>s;D`=}%J;L+s@NhLcXX6Gi!_fX)F>(4s5^4!|;bAgb6fMNs1Z(vWmjO3A z#whXfXSsG+7M%}}3CICLXid1FWGQJ7#jhOZ>+cWYAgy{W5{kjvwM=PcV=Y_DH4W^m z`}Q@bevp6WiJrYST$G8ImlEz#Vr*__?=_yfo}?iak~JQ^@%+_kxUk-)$4_stflhJc zhm2Zz#jkw2L20qo_GH-+8f5j(5+CgFOLmrvGi5Pvb|eWNS%cP_FXzIsw| z$EG)-ny-1R8LNZ&YO|`I>+KGVSA*Vu=qxRDhfQI3KmR}X%Rmb?X*^XfFgHim07@J_0RYdgrY7F1AVKy@L6Wuk zw#mg6xuPUTJ^;C3lkefPFevn!4aCb<{w8PkHJ2l0W#E}8=~oHQrhXS$mrR-Y0_q^g zMO&}7aO^%>v2;ZaZrVDan%*7zeiWU@k&z$84Gk={&hYm;1lIS93T}%!7!H||)9@a^ z`V|t|hKhWgb(H3;_Az2bfV+!HpaSsk0ruDINvdE97(sUZP22avDHfK76j#@d!j0eK znLr>w;AYkQ3Uan5eehOPnYWbm6@%`FTM53HE(OIvO~}<4vnJ`4fI@4OiuLvNDrxq0k1q|$ zboY*i^e^p`=ybVcbSWWb# z=SjeN?HL#5tkg|VSCRi!bfRG%R=eH9{h_7%0Q|iCoeT69bBKVWAwfYpyuTGUG&Dnc zMp~8bnVA|g(FSU2h^9D>z{WTWBqG=y#VwE(d+3Le?x2nmLj=mja-X1$-A@m)1nB3H z9XJ(nXPl(fCG}82XsEE>8wnrF`tRRA=WB_&oBu4uF#NEpOWofI+muE0@AWlDem&Xj zm5=N4IOEWqKVqk}Ik@HP$MJ>xo7VVkma9bT!@%QgX=(YM z0e9|mnLYv5`Es4+zQ1*Q;md}>hpuL%k$;Dg|Nidu^gn;J8tBA-Np^98LUHEr+v{?K zswt~Gasw z>4w$xuy=vMC9H6C0?v>{yNcTJZZogA%VI;^mc`te*;3_ye+0Kl7A*>uk&zK>Y}@Vw zfSNT;H$aJHD6I`^bsvJJU@)$R@_NT-VAwwk%xQpV7@3+58uI<$Tjdt6Qoz=8Gs{fX zy&MuadU{5^(^S;do>^I0FZ2HSUSIzfxvT#Ig#UR=bb%OQ3SC`$QHe2sZEf=3I{n|@ zHx!nFKUXBq#KzJyFj)33+Ze0gx^)6rztrWgLbv{Viaoi=yk7;zbJ3WeEiOJ|Ld}b@ zFu|%H4LD z_NCyZTJSrwEi%Xc&r;;g z3l2A?ZiXm|Yi-N+?Hl8tP>hPpvB==-P<)l8>TJgTwxqe-{?=i(P}7(AeygHnyLZRR z3|_$={{8E>eXgRS=w6t{UDuX*I&OxYYiXO7S-ZEmvh@7r%a`WP2;z!}H>Du>APBU9 zqW7ZC1}5Idb$R?*HlyED#ka#?Hs!+xs^^b3lOCbwnyuNUmB<%JGiS+8Lx~k(9@5nE zvkCXVhQDdH6CX0=bdMV1wXXz7Y>1&Rtc&*w8W!`U40sR9wq<$TcJSV8y zBhA(kP*I_#OuRFW0`7i@x*bGO#8}IC1+x1?e70umZ@TQPx;}3*`H@ld$@a{!VUOER z)quH$*(lqjU{d{sv7e#(KQC96OZJhY zmH%u`e{V6_A#B$6>6L2w;GMo9j*-SBnNE@Xm|;&GB0B4NIa_4Isyqv?)B^(Y*jT3l zLP3Iljsx+ZYFQ@Lsl7~xFtLV%q8Es3vgZBQ=P~%jYA({9+Us*v@Jel1{vlzL1K1hX zI&`Yi!JflF?5z~V4g4i6q`5$(6@{&}SwO#}_YoYwz`zt#u9fcNUFL>ZIm4;0n;65td&^g)1`F44=HXtWCTPMRw63NP~rRzy%pI z7a&IQ*+ug`C0x*Ndf+{l)Tg@>Zos=FRA|8tgfQ;ipmuGvCk49Ms>ZThI}851L&sov zA21RO<7e+TM^cm2AG=IA=UA^~DY;;%19=}M^m#niAEnpY7|(5GRf6R<;k>(#ZOjLFWcsq^LS+`-|1p%Q7;XBaG^9 z!Oq?rcAOF5sbcztv4#U$O%k*`F;@Mj;q^ia9f6toIN>xi+H@wUwIXQ@L{`X(HW#kW zkR3jJ7_I`-*nQ2~vUo(rf|!6S6xDt6w1p*9WaNdIidV45IC-K+EjA6cnMU5BGI~*0 zklZ0DC=oq&Uwr!>>79jmXy5Z3tPu=*5s4Z`b!iNsJNu2uD=VG^c^SwnWH(SX6dA6b z!$U;#HtQR@kp0BRMb>ja!;I4Wbgz-upu#*5A<);JLZqkPy1-Q;HAiRshj-#4wsM;( zT|j8ThV^daD&>0gfoj!&^m8zaV79_$s~Z4_Xra{VTr&YlUy_w2SB$+P ze(BPs(=-{(Po76fP*|-CfypMWs7P^@eey`#nSMcMMV?PlR1|Y-WI7G{hHlZv%z>*k@GxPA7GiOMK=cv1|7mWQ%Cp0OT z){)#~MwqeAGN7iTBKCd@B+iDVPXo0Z-__Ok;vGgZ zHcEZj*fcALGJdcejNxy8Qdl??CmDu4xHQA^8d?=K)lGOQDMx;!u)m@caXJSc4k`-H zqK2nnan!%F)J2;U>}$B>3>pGP+yOqc0)GDf&!VCzFcQ3W2b!UOd z(9nShu-)os=c7nmMG4#+OPecm4$u700pqsuzS+}CK;7tjyT-{jP8oK3g@g#sz_6H9 zh7<0#%IWN6Q$3|*8X+G~nF-QaZ9@BpEv(chR1jwEjKs}CkQw+ia*<>2u0;V|ECtyD zvU#}Ft{ys_lc$SZ854mR|oMvOhJC zE1~BjB-XKV7ldFr(3GS`*w(|rgN-3nBte<$q!hfbYO$4Ft@Xmp26rB6474m}q*QEG zu$ntG*8L^6I^pkyNPp%p9xUNC)h$@(ho>Q}f% zaR-rukkwJ(T#0Seo@&GAxz=w{Osz4JzopROhF&Jed6W`^IU^GjVyzt0&FDxUtPK({ z7XZu`)VfUFL%&~z*tuN;{1wXh?D(HoUbw0lbn|+!tYFY<(|;1-^9J57TiDWc^*hjY zGzIK*8s9x9xjWh++%S!prI#-3u-wM5iN7OFkdbj)kgSJis%J)$LVtzQ@`s5gY!T2{ zpMZ=qA~Eslm&ex>(|+HL&jYWT`?osyR8ZGK*Sr*e`^AicYVV$Lyl33y=ZIstXyXN3 zYdGzv_F~)a>KFF!ul$FaW7Uq5P3^rr8~4}=cn<44(ZyDg|qy zO;ea0=2)Ig)+$V%D!q;fy5XiIL6B#NYr%Z0rL{Fu@%$fgk3erv#Skoctb3e2x) z*x4-@w{Mxk5Z&ZQvUiBOuUVX^iv=X>@+ual%g?9@2Dl%GiP6Ip_MJOD7q`pSWci@* z<^Zo8)lCfU*YDv`Vk~s%0P{l)HpB0qH=R4z_#*iSI3d*BM#nIHRXn6hM?q1%>R_#U z_|R8aVnZi=pwx@1xXn>7_F}&%GaH)^s-go~wEXwTG5l1^yq)wxSbOHcC%aKE$b{Uj z8!!n@$<6)!5w>NJn5J0|UV$!7*366*ye6IQx24!341zu{4@s6uz5h!sH5@iQJC5Y&>kRJL|Eq^ll9ZKw_IqI7b?ldoiqcP- z&(o7tXFtnt)9Fg?Ic)kgd8;i+S#qMO-Fnjm+g_Sn!RF5@xuu!8>UBIM*LGeoW}KMx zt^1;S{=y~I1*fpbgF!h9?beeTljp2E9cmpRPerW87r=Hfo(4H;4;`a(s?*9j!x{}b zAu24Phf`of*F zdbAniz1OE+SV_@KiN!TU$`4u8TEKWc-EdiTCp0{FY?7XZga|VEgp+iY7l{JsJQ(G| zuJ!36yeIr=S01;bA5y?*mT;dyZTDKld7E#z5CX{fRkf&f9!*L_z3s7hbi<#X;Ge=t z<2A4Iy@XEp47D?^8*6;MOtO6~(-aV5ks)uJ`|vIxN(^Vu`k|DZcFewwrd(TBSA5~9 z@DB1FU7(J5xZD+>1w8lGqR_=CQy|Ntt>U3O83z|vFC@5HU9!<^Kw2dRhgRL6sub=# ze^lV^*Hh<>bt1*0>JFI%6&$3dhDpBUvw(P3R&twW+p(4_c;LdH?241Fn2Ud|!tcl~ zGiezx4QJZ-ndocQ)1?PFyGvd)riV1Dc`9x)k)ZSGzx^)2Hl|v%#n8z~2$~(PWf+%` zXk(Vvo?{&X`|t0Ox{|hLond1#{UtklLA;_tq7@^Y81K!E6xz9}rW?e7ivLEy#tZ+O zHdiZ(Fut=i&dwNxUrhXQLTdl|`uZCfB*(~5GL1rn!lgHL%yzu}8|=jEjJScFh9h06 zYha=VVv!)2Eacjb-%9Y^gKgH{-ah&c_n*};zLS((ukT4W;XMr^GaPKEum{)I)VzNE zI^u^3;i6nnKm&13yO(d$f4BhsD22zq%MD@~+Qr=-8ueyLvFN0Pto7?0YY~Mmq3wf3C63z zml2uqg7NAF#uv~1{ItJbcKtnc98CVLzf~t7V$xqX~AZ^4c(k za(CZKh@?)RMvHN3T_t^+yV!$Aj~?l`;vGL$sOSQa%SSEr3A8xqbfI(*_haH}&8Pzj z(qJE;=yby`vTx4ryjw*eSNfGkOTH-|1=BObwQXABZCEb|HZjAr zu@p1SXvx|zy7s{#j<6QJZ$%TDxp<5*sL{!(1-3v;a_{$$)Yqp}M9cwV>*_z~h-2_% znBk1k1Ce(KexF2KLtTvNjl%^&s>UeM^isbSLB9LsFBf%DHq{rPW8o&6s@{KEm54PaOb%Mfl$`*;z3hb z`s`QF8Zwl6e@!^P1uxu>AQ4?gyUBL_wx%Rd$G5$bE(IHsTJ-jjOeiyoiXN5~u1P>B zLLwip#H#Y~3GzEXn8k~{R?M^C2|QKrR5+}UcI{qSO11i7a$c(_QZHTsH({UkE3cZ+ zT&FKL!bK>Uwg{jT8^rKJa{sG3up4?UbpVe0bz@uEkKf1QV70DEEJ6VhtK{3g(_&Z+VBXwC{b|hO*Y>ym-V35 zOw(Ct&3Tbi1=m7bb@ju1w`F0w4i{yI{R}d%2H@1#XlWgVBmRhx{e8S{|Hx0oSt0+H z#9i!pk13JQ268-MOtHGQ&`I!G?hg$a#mdb^Dlkyhyy5q*DDo#%HAppl_~_BnMD8RJ zOD-MbkF7n+tfORH(C$OVhtI!?AK_bA_s{6#QvSIEGFx6=S?s+d@jpM!U1ihE`x^6< zD#xW)0KvCwuU-Fzx{p&VUDeZ;^7JgR_n}WvJ$Z}i>iK$;!ujKWfl0n(tvL0CqxKHo z4DgS@cH=K-cN-ll(bST_zW`Y~@);@|Aa~WET?LV3b8q?8&rQ67I0DJne&t(-Al0W! z`1X-YPY>#Y^+iH{=-d-HAD_Kfb%>B{N<`@l`!f*26?mt7e^-|R4Cx_gUo^}2sE^jX ztBZoUIjP~5@Bz4s5K7H`CnfgpopOU-B4#ldv-%vzL0%NSaT(Usphg;Htb_U8^0Td% zrzr%@7nfa)8M4c34qd(4Xu@-YO>3KW<$xUQ5qigkeUdj;LID5~^K3l-NQbACgrlHk zZ&{q6{nqavr!8Kt4KsmP$nfyS-@r3We_`~2-C@|7*`G-60&V`E7) z^6oz0w#%igqJs35w0lUdAfH0~1@xU~X88Fd72;39;Rp9n617=V$f;N71O+$Ce>lGh zPJeRn$ipn)3v(ewH+wO@ci%v@I*4J1VicqhHTn*;OFmJ{mWY4f%kkyd$9oSyyfIjF z=*$f|e)9V!LzngFrYn<)zmIm8j^PyI<+v8{V}#_6t*rsvO$m+}O5kfq*d`&4RE*CN z4U?fG2$CB}w`uErq+45+T%LJ8b8-*O53S>L6m-Pb>DwnOo!;e3x4uS1PU)KKCTSg$ zQc+cpYgrgkP9zy>&Q8(!3HzPJcnyB>LW{=||9sV(T))mJ9@l`nLJnk#jt<>jrYKN)RGQ^(5yrMv^(~N{gb*iHMNP6s<%Pk)$xr2R4Z&knHf0XIEx@pMb z)R7}r-=mEw1Z>A%9#7e%joOn{E9>Pi$N9s;F5%z5@6EdXOB!TW)Wek@bSXG%fKw0s zN~99Bo#50{zh5v>weiVTXEs3eTezsJR~st#Dbr$)vDW;@C|q6ZEn&I#<}iqr{#KcmiDoCbsZ_en|hzXJb#(34YgyN}B<+v^Vt@0_)zO+D1Ri*fm5 z=B=X8({%u!P>rPOeD$1~B$A6D2Jr~*JRa5m zcy0BR$_M#`FNwA0rC$9)0Al3K5e;DYlIO&ZqLo+h>#7dnRmAL8ocE=55a%0FyMWL4 zN$90|@LJ&3v&yXn1qaV?pW5Lqfe5_S^Jq%33rP6WudYp64$jkpd;Pp8OW$?b6GpcX zbGlNmacBYYAe{7;3I5-Qd%A}G0QH1`4K@)T552q3ciiEuI4@#n9HwcSwpv4KAZNWxO<_-#B-t z{720G&C3fXQFfz!tILw3Awi%C++0E$Y`pPCJ1w=}bzAf)0Cyy|rHpCgStFj`%asb4Z&nqc1*#emmOX&h*AgALc zzYnp0UB)+yk4g!bp+;G0XBty)w8uIe;^2Z*ms3Croer*x;%9Vc~@;^ zfMvkLN8!>q*!>^phHyKz$PZ5zZUi85i|rNr!i&2gSu-E&@>D9z$@q=c6IE_Od|;@6 zje>vlf)+lj;3e^4ycQkw`7UdJZr$O=6s9Dt>?`-?$AbFCg|C}5Wq9Jp`Mo@68gG+$ zy&i0)82m$N|KIBi;`yI!80f;83FRVD(n}X^OuA}~<&g#{s;In%Iqz{WGo*ow-Oq?}?%y&d!6M;FZqG`dw$3JtkvkDw~+1KDmg$ms4&{|9RtB&OEZ`=A!#(RNw5*^xHr#wh@G7s_GZ-!or5SR zj|vLrF5I5giuoa>;h5ZQ7U4lvCs1_DrX)V5wy98q?PN#}xu6WcyV*gd>bR1oo(A1w z&`faXt-?7%Gj|@F{fEf!)<&0iz}XRkg+r~b3u_B`I~<-*tVP>us;N>_iKFV!n~9cM zT%s+)2m$C$M8mMc7#Az+SpMW=%&9n0A-b3^lA%x;Sm?~XmVGn-E?w?_Zq>u7&Z+7x zALv7UJ}#y2`ocoO%>DB91?SW^yls0+q;Xs}Wn2ngn04;RJHV##8U?4d_J#|rbIU-= z`jGj(#KG@wk29qFk2dE)QED+*2Q$)^K!Tb9<(0^C9u$G5$MLyuYxCoeCru^`9)tfL~= z3O)`ud4KvIgT)Auk6MN2lg|f;hbzzUK8e}ovi$8!qAOx!Pr@97P#<88yJO0kcJIgO zu&vuEj;y{caK2{^lST0rh}rL~E^-jm#(D;scL)dp(bl7o_ZDV6?FG(HQOfpm>2p4% zWOJG<(6{2>IlU7}#g^b+u69rd>+3}B5ji3o6R(5uFIf#6(SgxaXrUe@~l=WP2tIf{k_z6rM#bIX0nR6uRdL_229B|7` zH&k>RePi6WX5a4U>&SPUbQXnb1!-_RggFZQBCr?W#4Bbs`=6T#H`k42a#kt-Cn5a1 z<{mgNZ?)Q*pmUOgd0e)tYkeq8NP=`1!zafZPrNzI7UHo2Z!}jBYpuUBfWv(GZeE#> zetonj++JwWdzdu6zeLN&C%!^?Mm_D;66r+eLL53sC|I|g$2{GB?zF#UM+eZvo-qv% zphEd}orN16-k@O;={sJOXQW}Hw3C!{%Q1Lb5-MQohPbHfrbew9!%X=#t|6kyWn3$= zM?Udco^&VID7c}(Rp?JQey~OTE60rj(c&}0clTc`8Mdd4=~cQPEWT&I!_lP9r3c$h zj!InQNDMoe^Inwg=Ga8{m$&X@({~omvMRgf3xSijsoj zd9qmS`z8-w%;qy7ezq3eRx$xdc5)1l|x&D`yRFvJNCFpk6WkPoU!dRo|a~Ans)VB}hNw=quRtxYC{JIxO z=J4RH_HkL$ruBQ<&*;70;$6~GcC$!st5t=X z?eW7|T!%^2Up)&oPm5T7#`AGYxB9Wa;1}_J0r7e$`{F^&E_<=Db64;B(ovte+McoL z#mqtcqz{B-uJ=$@aqPai>uA`4ykIWHEh+1d=%sG0&DoRaop-(Q>e|%lD+uI`+x)pz z)+6)hAT@ttom5HuoO8j|B_ZjAenqRX)ZnRep84yZtJkZ>(vLhkwu5dGXua0Tf7VoY zh`*@oI{B!e;+7A0kF!6aZrRSv$yquVJUjS=mWTXO_X+xmmIN)M9r8I0TT^T&?G1n3 zku}YYX$hY)&!J6VPzt|%c}a-zKq_Cs``T>@)E~7(H}_BWS1skY$L%?zVRhW+Rba2w z_mKtu$Sj5|%J}VNt^6U@W2uMl_xk=gai3vF(0K`$kN>Ve@OEE#r_5&4dig%31*O#DQ0rTyuhg;~X?M&yLwtJxIPC+;iA zNPl2b+&glmg1oacRnn97(_RaE7m>@weZ8r&b04H_LKOH9>fQKePt9a0a@kvgN#_Jr z@s9tc`yD@1aF0aB%TvO7WD5zWDGjS()uk{^t%i%!;+y)mlJ0MqU5MV*u`Oj}=<&9) z+K@{KX&F4$^Ti2^*xE(KV)3E5bZ#6GsLCwKqrD^c_R(dV6ZQ;w`%=Eh zBe~gF{}`zLJu}2woufD+PI9=EccMm<@RZ#uubV!?9_>s9l=K?b?-`4O~@y~4J%oj&> zPNY!KYZTs?alY=Xb@fE%o89udx{OitdtzS)(Qi%KpCNUDB}R;#j&Kh8`^zn3`NSq1 zU-EQoPu+f0)(JZY-=c|;6qfZ0yxht-VpA_2L>?4Va6U`KK2xqxBl$d!8GS5|iGE8e zSx|VUs>0b*r!N%M{PVuL&*SGdUm;oUEgxL0xR+Sd_a?mL9HHX<|JwV?s4ClTT@=Ar zP*D_>5(A_~xu;)37-m zpF<*%$+z2Ko=OplQFd#-Su;V1vI3w%Xz^X_gl<^Oh8JvNKt=9Zq#qZ};AHJ<9!SC~IL6SkeGcf5TG1xhwFxXs z5~Dic+N#Gns-?IhqE27cz~Vn#Lt_-kR53x^$@E@dE@MXMq^bcw6FuO^a`xKuidu~V9ax)0*H3n0LD?0{~ z58IH&_$|Lleq*!M#VM5cM0>~@x7^|l^ZS2%T_y34WqEv6a}6Lk0u_M-jq|_{eK9B< zQAyD4A3S(8tpAY}+Kn?y= zhNI(5*KL>Rg*dX{8jt(vJ5{bA$;VtS55h}mR=Ul6mRl~%2tf7A)l0}@UrUA>2npx zo6E)%pXiVWHtRG!y6;qn{@TFAw|R88DG=Xh={LswE!=zk7`$I*(_xGD%G&<81v9M z2Jfwwt}g%K+=(ZlskE>6M*cJct}EzIesbBw}1I5+xxV9%3ky?7wpy5p#s)nLngeZ-B@&N|5A$Gn8auclrDOT1~%rjZ0Pa z81Su+l@cCG+__+6*qBPIbjCmY)_6j`w4^K<8*Z{Ailm8(dV1bBg(Nq4?@=P9LT$9}Ur;Z4kC>T~M z<{x`b*PgyJIk|Y!H87hF-7lxc&u@^=WWCe{*My12rfXgpT7H>oK$8o>@UF#wm(&Fj z)Qf2UM{-+FVG4V|wRHZG=Fq32%EK$vj2O1mhLX(W=k?JZQ4!^yOL0Z1+vZ3>D2Rw{ zJbL(d^2|A4l08jiNRI3mC0-)xNFsZiubMjwQYY){*YYeyn$M5;y+~JA6 z+1cQGsayJ|@OYb>p7KC%x)}u>L;=G(V6%W)Azm&ngk!H z(2RTI_^eLRCf~jcJw83XM?w-5Tm3}u=+=L60fe$3r!~h1bcNRu+fwxZ%r1l_44Gau zG?AKLivN^KfDy~dRbs{A;Tl(b?UD`sBQa?0Z}sZx=m3A0G=P9L4g7*u*Dl4{A|)gr zFyiOqlD@odDs7s|)V+tK;Oq2S-<@<#TD1H0wnHI0M6Tm!zo29;iTLrNkev9!iQAZ3 zhssGdv&;=#Dl)G{v}Ml_hGNl0@zaTy|IYQTQ}<_>X>UJfYXDwI6a+L-DU4%JWDl9N zIJwA`7}0|pLytU3g8YO#_DJND6+X=;wa#CDyi39+s?$~&#Ie#@` z(|D$?(U8L#b!R@<0Q%SsEy1*w`1ZA0!*09Je6?O`76cMT0V zFP_62d9&oI^{1Juogk$MG?=u{96?ED5SH?)WgryhCYaz}N+=$?)(AYf_qMhvzv z_1hbU=O>3~KpAR~wr?GAK!=u5XYzVSnjR)em89%Iv5*5eP<8r*ro%uR4J9{(9k&oH zu?%|R^ecoqZ!S~vGZfg~y=!EtdHr<+BYB$Ldi~`Sv(17y7D6WrA+(gfJ3p=?g^+WV zGMv$}K3#)1qce9mEGZcB^7>mvg}+{J`1S0N@BtW+gT@y+Y$>Z+(Ns~J9jpW90_*zr zLEyunrUg+^N7LqDC?~F`cg-V5g&)KeK%v%!ZWxfoiM|%Y4!tl@Ie>=}mUNFp78s(n zGcE3Y1OrUd3Z0a>FcxvzQ|HD{NZvQcrtjyw)d0I{iS*s`mO`Q3YxCK{f93JE~YWbP%d>7>8$lECSBi>TUSQvd7pdX zEcYi1wVyZvECO*HIuP?t#A_9DfsTn%G6LJ=Y6E~xz?H=WtJ%xXj0eZ4xE41TWRcOX z&h1OP&oIg8tJj*jzwHSFzwTk)OTCsZ6{3svfAFXkewaq~WDK2g5~(Pe0K>Ig=QKrGog+GtZ!D+xsKeGox1#C;|fVVrB<+$fCW=nS?at96t-NOY&1 zW?FgnOn9=4%y>c_pRs05ZlOCC2dqHz(#Br^i5L7~G;4%U17u79au=|*Wim)J0Kcbi z1Vh<>{%m=PrTUhbPI!TVLfo7^B=q?oK5hk_lod=l;E9(h)FI=r+q&5Rc}b`&aUj7R zQH`M+E3jM2N*lF)AM~_0$!%&lr_ZU6|A6>@%114y5_2g&QyE7hw07hsbpK&|R_OLd zzz1PkrG!;<<;vVeLH@_Qq-@G04bH@eF@RXf<(lA4POV92>R@2rUg@oMLGtwRcNmB# zcuA(~_9gyY9p8dG2NNuR7-T?LBCl(~dAYUQjhVU%fqmi8!ds~6nq~=6wv!({rCQ+V zt|kT6<=2xHt)_expBLdzXSNwwS<_{b1(__TKYeJMU%q z%4iZd46|9x)Bt#xxf}_H-&Z=xl^vdmE)dNhpL=LzYUWa*irUW3fmeQ;sMHs=mS`|~ zlCIa($WqMgV%skCI$Z8a(1oYj>-8uM_8+k&@+xG@r>PE6p)@2gL%TA&?C@2$H3&aY zevTUfMxum-btM+9jY0s#iPT>cb&<%wk6I zc*{aQb3+seF@$wbu%UbTRj&Z7vk=n$B7M|}R#;T_Lu@1us8#oK6?uuBdWhIpfL{wJ z8k?;^;GKz3fbq(rJR!dD_sLa$1-1+jo%s^;SbG3WO)2^|Vq zC>IzI3qt_S6E?Qdo!UhWa68dyYLfws?NPX>0MM5nvAS~+1YA7cFqZCf5u%Ew2uCsF z9zOKW%nSkg9~Y>I{nH;tL`2{t2zb+x8swDVJ7GB7g%4}fumnO|7z)!XtXJS) z4Vt^#EWRO>^90GQHlr~ULaiooMsSn8uDB$l$_?Ieat|@ux;vJS;zu)#PJG*W-LiTu zP+OSYS_QrJ0!3I_+EIPG-WsfJpnXY>(2>Ew*8rBMV-O*78voU$NC;_5(0&UL+Iqgr zCEVRjsQa=mc2q`YhQRp#Idz$h3Au$k&x}RMbyMN;XWPbx%;5(AWCKn>NlG?ePqti5?UR$=@c@^NR+Ds6JK>TkmY7!wEI#FhrMj?e)G z!10BWlKkNK=47*s3wcln_>2ML;GKDEyHK;DvU(uf!4l}Kf#pbLcM9nbYeS~*FDBW6 zC@Tt`18P=^s50!0X-1V!D}CCd<6{g%t=@&2@nHK+rLio9YQY&oL4+Ry!=x5xC-9Zv zhnoh!reNcaSI{Hll5Y60F!Fwzd|o|`CYIGwv@8J>$B<^x0q+F~G*_WGCL<-iW@va0avvq( znfA7KKvOvqkLCl;R9iSTE2NdDf_XsumKJbsK7RZNRcw!C03lGM7{Ls!6Kp7N@&@zX za_<2DXH@SE?z4$++e5(36UW8nIvSwWZ9wjY8IpG2?9;9|`tKYT7We5i&;07Qf_9VE zNy&h_nJyBV29M~dQ6=!K!3==XA{4(z&g)u13Txvs+ACJ6GEJxzs~XVIaEEiy@T1C| z2%9=S4wa}hNg{vh?7Uh)+!hXbyOE)7^iqpyOW4>qYy0&=X56g*9T3^_@pTByqf!=3 z{2iU0e%EPma+Fv~fqPVjd^-lf>;S79g76de7kA^)S5w9HsiX;^_oyLvl`j1&MsM zRi2yXh=+RZb@SY7)%0+)kI200I!T)uLw8<$FQ!dD%uc>2tMCRoLcr#wFuy;6^LC(t zfUap>XUKiF2|L!0Zpg#a68g~oiWP6~-J0w-o|tFK6|bE37a322Qea|VVlov2Yk8L4 zfGL*65;Z3$*`NcNz>Rw?a+x96hwH4uBZX$;CErj@m)WteUjGr!ak-Y(uW~Wp0J2>= z-kc>`L7PK{-Ry|uwXugz@!P^&wrCpCPYUnV&{N9b7MBsrc2QiU19=Uc&7`yMv0I&8 zgHd*h{OWJGS}Ya^WDscWzdML??`SnWAwwhk1!M#z1LqbEw)|K6qQ8Urp-A%axdCYX zV4j?}^Wi!Hwe$5qr?U0VXXlPeXaYra@kCFlYJmr<8gek)Y6* zOF#T#4B^Rb%L`3#7$2YhM2C5n;4u~+8zj;%Qp+d8<-b;UEbf7fvg07ex`zQZq5gW= zCP~iuU!Uga@4#TDhJyf@t>Othw|IGZQNjoqL&$aQj1{tRe zUt-sL5jxu{+f~sEl0EREvpn0LYV7R12b;oLMde*$JSZkr{L2c<%ATD}eGXy;3hL@u zHY*T2V4~b8{s$z_Bu*?0ijYTl3^b>hGXx=!sDa4}CI*o?8qm$d%oU|A(p?fSGVJXE zk7^VJ32vldlC(5v&BgD(s8FbBu?cWZu)^|2{wq+cn22U%%?DORQh|Zyi$OD$-y)(LTfq zZhvJtC0Xwl7^i&P^{Pbalvo@~lQNvbo#qpalA|t82z_0(%BEYOupr`gW@@$r);I$} z2yCPl!?{|$Ks$cWmC!rMe)6jV>&vGEkK->;;4y+*77cAK&v6ByO{t=(>eX*Er86vT z>`RfdiF$ifMA)lo4kUl_bydOJsEKVDH$7=czPXckX!SGOAv27@V6b$~gY!oP-VZV^ z$sZFvMqH-K?~JK*FVEi&Yl&gmBl0qy#ZtK?+r!LVuySuvP8}kVdyj711Nkz(+T~g3 z7Pqr&K|Oo|5aqXj{q~%96rq7K0G^(#WHKHfl+M|fJ0r}e`!kVJ>5ivgiPd%=Yc7(u z<(JDdVO-SHgYE8X(kC60rtkQICnMUt%RE!bq=0bTXs%edC@aRN2Yb9&RxwcwRi?H055xZc=bU%OQTUXDNS^m z@PJPBEzn*A7%HaqEi5EQF3)>+CgHdSvKa_M-oRuMh@+taOFsVoO;lfe)B?{AA40jM zx0p2q&a(e_cz6f~K9U^H8LKmy%8sCo*+vxUN43T_D;`e1`iDRPt1tAp%mAr7rD?(oFtA}gO z@4+HWG>pbr`7ti;uSxb|u>QCK=hggRd+0(}cqr7-`fJwY(1B0m5fF3$hX(QvpTf?) ziuJDckhvFi!swMDyjrV1gqdnam7AgClIFPHYf>#$uRoKxv#t?SoPH~aRxn6FrTx(6 zu?0w#e}B>PFb|vKXytMWp)D?VXfRx3g79R=vz5C9xe;)9KYF&&`^nSFw(E#M6SBJo zA>TS`OFE#w)(LpP#0?l)>r$LI;BH=I#t0 zoRn+Aks$K$f!BtFeR5dv2d-*b9~Xyj6*h#!>*a}+u6H%su*G3xK)8>a_H=(|#fcV| zgg%r~xgb&d7dm8Y!LYOmQ)?zgw+~pJsTcf$ps7?T5!O08ocn_9|A;=0GL*d7#O}9Q zJ$M5qf>#(&_JIx+3&i0Uonc+yo|B`2$mv5z_+cn3DkBC~7|7eq2kil^hA@hcyu*2* zq5B0IjnBZY3s!^`V+ch$v=*p!VKuD_o}ekt0R+(}*ng?6HNAl3I_{ofFq;ftYk&vD z!2!^$DX;oVZhrfYyziVUb*}ipgLw*U^h^Y@mBbX7VlP#UGGcj$bE6fdG8v5}Py)g1eEACrcF?pc z-Fj!fGZi(r*XZspz8h`A=3%!ss14>GC?yl9H3-Jp+1TD$SOoeoP?kIu3E{b?o^*L( z2Sx@&L>tFjoaeP)_>w>-I{5za8{V6i2P-lMnEC58?t3326?f2N&`?TuI=#N% zHqbJ<+yq^iG)Eot!%3TVm%FLg21(;>yFVh#rQ)KI?O*vNi+>34=4EJ^{ei04% zTwl*?x8@p6pa~Tk$mKw3=kHGJs04IfD6CTqa#aU&)gFG}EjL>_t#P_l+=NG`85c?} zSpYoulY`Aufk5tDtZ^#kv9_2$-Z~W|dCaPY&%E7VQmKZE^W+@L>6Hf;A1IlgZ27cY zlAOwSB-yCgR9zf6A&*}Iyck~}TKf&RRJFUpYT6Y!JD4Z6Eyw zqv~rU#X3tvinYQ5i%Q>gg_n<*eoB;)o`JCo2`3xd>|Dqm4lS)}ncnXvA3*fOOop;i z3BoMqlWoe|R$j=aY5)#1l}6C7dlNzOPUu%wmF}{#v4C-jxL5H@w5sp_{K9}Va-*Rv zyP`T^&3p#APG`i+W|$!WDG>q^`JfgG#V9CI&Hcl;*6epD;zAceYD#@hR}JjeR`{|U zl>l$LgRLPypzAX_w%vhKw$G##dc0Iq1C76XyO}MA4^&6=4DR>o`{_S>e<=n82(T!M zvoy)2x>^?%NGI4|qHBOy(9fT*=>f7waSn$K${ZNwzY8AAg6F+4sre%8?`NO9CNbLG zBZ7oh^h~w#$EflMlD=%We&h?O<-5C~?Bd`dva)elhRjuX5H=4UxNnVa4D z6T+l*%B3%k83E*KGO^@J+bfhb_q!_@DX6PbMu%$@)PhL|g>LJz+bI^!;srC^OZtLQ zQoosHq;SekUNqTL#aH+8(5``kM` z?&OQa05keK=Y@ih;<8L;mn|~u^GeKAz80j);-D=9S^8nC6r$3w*FrozjWSTfoqD0! z4<}Hg-UXTWlo>hVmHBXg0%}|cdPQXu(`Y5pJp&T3CK{kU^j%yLAqj+o*Wdm8B_K#y zwSDp+4~iTe*&?Q0Q$?NOBt`>s&O4mb*b3VhZJQgyqg5Ch!vA#a;fcWC^cS-dYU*J- z`ynYmzrOAVL~)?}NL*f^Lu7z(VJ*xp;|m>b>>AcmVZr#)>C?gLeQw8gMux*lm_k-8^ug=DjNfeX#(f*|6@bOmJLt6xB>c`OUSSbu;Ac8vYt zQC;L@g_S3qJ~`^Cy%v`sFrrk+y8oTiu1P&rbmW?%R-<=bs6#$FG{4DDb1fMQz>h>$ zg3pnfF^*gXwAt5A%o58p?SVCwt9UAcF*Vp4h*||`PCVo}4`}(*gt;|eG`FTds`<_1 zEPQZzU`ZuVIH%klbJ^c|ka`Y?B9vH17L#E*(wQFh?y%xx!NMawvm#e8If?Jsn#puH zE~(Mql8q%ts~7ws0mpOmrA!6~8m5!dr_eCzAmS=15s(O=a&oZM{G-_qQsQ#7owhY= z+v2%n`|rm>@S#AiBBR@he^?bRPbds<-ye41AxPMw<^pEiJUl?xAURWa4*Dgxtn(W8 z^BC|MOReGoxMz31hElDJ2D+ISrV%u3k^LS8U^5-CvlE$Vu@0=nr%#`XyV%f%z0}}n zeik-&f;$a9Qva8t@Vx%Gk~e)?bhP5Jh8}6wj7wsrUFfwLJK_9i00G}Fjxg`T;3XS2 ze5N>H@LVj_t9gXMWKbAvjXPHv4SA1J`B6B}=Uzh~^+FgB(@@TO7}#+BM_TA&De~~m z5gkyU-*_$V#meUf0t=wz0@=sy{`TzGafWj$4-rM`EZ*y1X}7#uwTcl#twsZBv@np> z1#tm9-$O=I0HA|Y#-n7xAbKoK0YO2Of+R~Z+bcCyKL)u7YG@!c-~&4nH~{$iDgge> zuCjYU-NRwO7B`20BEr!rFv+~yUhpTz2O!qH2Scc2eGnk0TZdB_^YHwcKili1BjUFH z46B`ngrO*L-hG_4X>510!Fy>AB>7?M9|6x6Sp4gbsE z)#~Nl-v0e-=JK&ZmLlFy>NiKi_zxOF+V!H48)97zJc<3m6}r?#G%BwwC!Th@W%S1J zxg7;x_=tY_P3zEVU>lm0lmzCATtoN^FZ@Y@ za=#P999pU@4+LjsQzzuu4__t<2E?Ga77Yyz;u>vRYG4~^hZ-)8^IpuZg=fp>%Y289 zWdEpN7v*LJ5Cx+_4+EC6`v!B^x28ifJp*7z1Lr-1E}q=IozGS~>0}WL<3*lAVGIYh z3WxiDQoe+N-C|nBP}$7yid5Oju_1+FRcbPi`pq zQgHo_{p7pj(j+LIqU82^73=EV;65=lnb%jY+zoy~ochnlYyUj`@_A!x8%K{UMNY2) zxlSZi#E6_e-lAFd-*2xiCg8A*0+C876eMoUHfdc3#US@d1v04qk$Q5`VuvZTY*boL z*H!57GqvhJ`nqd~gL&O=s7_!(lQ}s%XTi!dxfFHb-dzaAN2ryVWxAgj`~9kqkNv|? z8j>n%yip-_aBO%FGNfs^6-zRB&Sx&=AtzORSI0lk?5CoI|c8t@?NCRn&4FVtK-9mhTsiEVka8BwyIANH*?f9 zuoF@j#uzuX!}b=w*@PNcXK5(iCPZ^yLqj7t5_$VZUW$uyKnq8yc+9Mb=uCpr@44-H zYXAZfIAq#(IIoScNBbbu>FJ930QH`_ZEJP2BsU63S5JZn!`Upt4o2j*Hsj*-_6|bY zn+1mb=vNV(!#T7g4%fMuW_bQVYvaC3gZf6Cg{NEPHqK>vlbs6EdvVdCKI)VzG_3aO z^)DyB>=#W9PcOu4z1-yNs9f~JclRVgeGeMi1@T28zH)hyW?c@{>9%gCiYk{}&nHs- zipa=27gou5)~iA%7LxJbSzcSSB9!6(%I_mlE>HB^O<4aoHb#CB9#4P3W!ge&4l zSAWC@gYQW37m&EoF*Boei_mMOUA*q?ydrGn1oS!;a0f4NAJcv^3{mqzY-+smoFtDB1M{y?-Nu!IiB9PJAQ5?s+O8&YB$~yk%d>#rQ^)@PhX+4DTyZ{LjAYjDxF1fVB1&?LAjNvI z(-^i>{9(6)Hf@C)wbp$CulkPYnlc*Nq!4tu);4x>va%tPacp_08z$Ht!w@YF4O~gQ5hZ|LMlRe=H|7;`RV56HRe~aE zD96kYWAEO)30nW%?6+!CrkX1X#_iSBE>&(@$NSVzpZ>h4QtVcR2jyFGa`M`6b~>n< z^<5;v*d#MOn>)9m;dOMk0kheoA0P+;E43*r;^<6;>8GHR>7~c4tR;$M+9Jit7`l-e^=>lXaJkj^<3DKCfBbE^7uX zZZdLm)1BF%P4isEY%0YZBaclGx*}h{2(8U;*9+-3kU;Hk5!u<L7J8lO36^!H=^^G`6TM#Y_60N4#V z?cH&3n$^!v&&SMI1X`O?urn?4=a+1L!hkeB?KV99>mzcTZeW|aSx*N~MK6z<&`%Fq z{x}x9tdvs+)arQeQSkW=+K1C8?CdJg;SK-#ieWOIl1WNQK_LwL%=pQGRMD6jhxJ0i z?F)Npu!#{HU`^j7ZEtQCKt0MJ39>ssv1@K^UH4lZu-h0dtj^+PVv?V6Lw;v5AJ@~G zW;N^~s;pWXl9LKAEuScI3Z0vu508q<82XkiU)d4hUBb!9NzKEfiBkGC>xeMg!(&n6 zc545f$4yl+TVZ|JjT-5?MFo))5q6-E%o2Wm_sgwEiCj*Xd5t6G!7wIBhItSr6_qHb z$1z#=BlsTpa~G7Yi<`MU8dYtL$sgdeZt5lwD*xlFq3PVBndD%aomXfmK z9YCm1tVml~Rdtcv3fHmWJaowI3S$BMjlX$pOr@9A?C5Vj(ZKuF@ZA+yP4GW`Q6Dj2 zXKkzAuDwhYL;XwrHPpADUhj-hTM_E@is|389}O&|uly|^(9muMpke>}zg~jy*!+F* zKX17D_b(rk?*8we@X!B$yMM3F|M=SJ6TFKSPxC0c4R>SoyShzmwUhLu;8m4OZ4ru-iZne7fg)ejntovD}pz9H`5|<1#MQd!YQEA>0^h< z>N`QV%Ds~dsfYh=s=EOV?QGybSN+Al=S%oL)T<5a|JlXQj#ZGS8Gx!jLc2kwP)TsZL?WxH~ zRwme&r=4*AKi-nLh=y89Zd!bGV$U^_U!T#suJZOd) zhKHvYAGOgJHWzaR{34CcKKGXBG+RS9F@w-KIQwOlPp>7XXDijmA}x{QrumfM(Zb=l zlL&LmBp?Z!9PRw^7-4X&@WLU<3*tEu1|J59M5G4OrF7uF!s*JR)Jg^8Ex|yd%*4b* zBBV;GNq9#jUA_XflEDm{Hygtceb_)!HjSKW;$ddsE@LH zkNm(Ofd_tI0_gaMYF%(>{lB)!ct}Y}fkCz$^jVXB`-vYupxq*3la7y%hr_;r!)`4F zl(+vjQS`bkMqpflb?a7mdU|@iFM7HKgxm}7j;Zf*1p#9S9{SGyh;{latw2nKGH9d&m! zw;B{VzXMeC_`Plp6Xqioll$(#ld+b{LbsMqtG02jOQ$t#bGWt!W#ZVd6;Q;_wd(6k zj?VU-7kM{rk9LyOJ^tNP@|e6 z$l_u7&TbBjr>K@clv^gLIySaHhbpbsU-*&JsEn>aNH zfRT-5p)(%a!|O=ktq00~_P&e^)}?dagSRw;(D9UlC%L$(UtnD##@)NlheIRq;S?pn zTpYM{(hF$`PyY}Vbb?E1&~tcuLalTlrc^O3F}Id9+6^zG`l4%N9`7m?+2t>NO@OE;e1+Ik5;2I!S$r^_w*^%qoh zbooq|`UmPcvEWRd0d(v2&GMNDQgCz0fbk!G87(}cFeMx?w*-pCgO}dlF47@$M5 zX)=}-4yETnNv3*b(Wh+1aCmz8_zBygQHJfbdq=sa=OqdTsVp{JTwBX}<&`W=PZ*vLiY%$O7|bYydGQZ$vKIO6uwEwz z87{@S^RRlrO<4v4Av>XUfK_P%qB}_*D3Re6EEcG;Ni(~e39M!4Rz5%>elQS0n#d){+AtWC{zj_5es`Qkz-B9sz zcC@?u%a=|Y^_T8*pHc5lmnKzg3E9jtW@b4=#Kg=78*HeJ3-Ul@U^5>|;uqr9sI7Xb z&Xy18^2(Q`?v3*t#q7Px>KW_X7d(NapiauRU6ma#aw_hKpiZCh;00K1O;62x$RxbJ zzMcr!1*g9EDMS9aps+7AGzaodG-}vdAUSC`Fu`LO6cq=%i9s-Pr6VCBapQ9QiUPnM zKR#B-vRxH#MG+zZux4`q^_i*jidY0yDuCw{P=oO7FO6t zXCDG~lQ6dlh&C(T^$w`KT~H+3Fu*uvmX#sSR~-k#F-17zhjP^%H0oScNIbZNiw)dT zfq!N=Q4Z#w;8Iacz}j;}cn+RQ*)qvOoexnG29kV`mJZlEL~M!hq^`ki4IH*2NsWJfzJWqLNZSpHMXKo0S0L1xfY;qM zt@Xm-!j+gOY!|)Z`E#YQNStZ;`ZwsC6V*zFy#_U|+mcKGB;_|Y+MOI2116HIQLPBx zMO{{xHF-{UkVAR8*DKW$FaXnby+Y-Mxw&W8i&YHd%Cwv*MNEE|_|!%5NVEnKhmvm2 z)N4TirXnm|5ISW?YMLbTUY^MT3yF$e+@827-Tom__Oav~+ zz~>tY#%p1eF^5A+*0#1`LnaD9kYmzcW5T$0O>eYUr_cyYWr~z(*7}la-CV#_yu`UX zz&jp?kcSVJy`tYk&EVMBY?PU{L3iwO#bvEdq4FRY0bz1 z*6n(MyZTV#&;2aT^XLuEi&UUVkMHjHnoQ?pqRv_mO(%h5p#b^fG>Nd0A%$>i1w~K- z*f0$j_YU`mk5Xe{6DGpsvmI7Dm_#akyov!_*(;^S1A>-^PI4k5B74;8$|N|CpCRib zZUho=3nsXq_^6gRzL5+J%u>ybK?OB0?!qPuSDF?mRZ`%v(knw8!UTA4z+-070KzXF zt?7wiqniXJn`p<0&A%u_r7o)9T`buJk1IUbO&lDMOr2*tMg?PL#s&kmFrCQ)pI(IY z-M@Ep_D!1t*5bkfDa8MrDs*xq*Ru1exVX;VM1G@$V+b(H#W#^pMaGXi=}t_Bl_0Gy zG(SJVetS9(b7d{)d>+=H->t+gewy6kt3-T|^N9$+vlY H?>_x62wwXn literal 0 HcmV?d00001 diff --git a/docs/assets/images/dashboards-f32b01c8c07e2a1ded1ce2ce265bbbcf.png b/docs/assets/images/dashboards-f32b01c8c07e2a1ded1ce2ce265bbbcf.png new file mode 100644 index 0000000000000000000000000000000000000000..9b1d281c19dc4f15fc8592e799540aa647c7dd9d GIT binary patch literal 277918 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

        >rf^g5sK#Q|b0S*bc0 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/dashboards_demo-1143b3fab018b50f5fd6a4f1c6198a30.png b/docs/assets/images/dashboards_demo-1143b3fab018b50f5fd6a4f1c6198a30.png new file mode 100644 index 0000000000000000000000000000000000000000..2a3e90992d75cd3f5c9073b52ffa48d6ddc391ee GIT binary patch literal 84638 zcmeFZWmuK%);0s^no zZ~xjq_K$rW)8o+T9oIF+xJI1g95YB(S_Byp4-pCq3Rz54NFE9bb`A;(h6DaN@J++C z?==(@w5_S2pscBZ0Tk5RD2FH>iFR2m|D~$n?{SET!5p7VIy3zAKM+)+Xa&crx8_OM zrc?+-`=?;NEBYKF*!sc#*!+n27j+Fa{AaSjnyVLg>RBCjDFPuCRP(6;muZ*Qhqc~( zh0N^-LC^fRk1VL)6>d&vH91|q4`rl4i%J61ePS}T4@(!x%W)12(q7o*?9%;EiMzZ@ zm1cMt`YvmIl?(MZXM^ee$oY=4=GSq8ZdyM*jOVBVbyewDS3w8z zs_AM;hKlMb_bTOwNlmpJ?hob|Y-OUP2ndMOGrlM<82cy(3(6T5kLWTaiG;n7l&o#B ziFKt}*{ITn(GX z1Jj`CLCTrB1QPMH48rA;oa}cmS|;h=KUnl?T8cuedrCdyrT5O@es7EVvcRp}>|pH< zp$9yUxd0s?(tG`avolPy&LrsG1!V6cWbMALy|K&pRk65-2gD4~ov( zdtc!a36!QDh9xOEZJeB_($FsXG4w@YU`0!y>T3?GTOKYkHRC%CebAn*La!EeV6Gk< z(8oNw9A{Xp-^L|xIQU@%s* z{x8^N*?-&tJb)w|LG`j@%7fmoih~!I!yW@Z-dpSa=|}EUr(4}y@N8D#0gd z{Nsbh2P^N#=33D?9BP+Efo24QR=SsFq0I4rx*4$RLXO0+qQfk&)4=V0KGu#zN= zsTL3LCJz?)*2bml+v9L}ziR@x%s1G3W3-C^oI%#-C`vMfP;>gJT)P}cyyU$LMm>`_ zZ2yn7j%(A_m6+eu$ghcJ-9&{A?5?xGE|LO`5~j&Nh$)G(d17BxoOKBRxLvzPY6Q&HjLY`W#_?8^QMM;)X%!;D+|{ zW1hBFknz3)PwR}VSS~F+SiAk99G_p5{26q0TM>;^K7k}qt%!PA4~QyF7Ki<8=+Hi2 ze>ZYyj6gRSthv<(ED|UTcsk%6j9%5KU@J8rmI>}zqTiL+!3-?@nERH13jtQFB}Nq6 z?3i|99}Z-3ApK8!{7W*H2(l(?K_6f!(6D@D1Hn!3rcD-@6Z|#Izd!cLgv0aAYl56fiAHzBLFJ|8e`?lia;e6>9MdUW@LDQ|}_GEqn z1qFrkUI-sqJRij9W_k8cxk6)Dlk#VT<-#IF^0&ZJN+yzo;j_nM)2U}cp2JmmquYu6 zDc84TfLwzqL$u!bh?19>jFPFRhk zQ2H8G7PDEd=R4t^wU~u>=w%Jy-TnJOn2w?UVlT)~_QE_#@D{;0pk?SQ7hIc4seb3c z<91T@W&5~bmH2;=J+2@i&o1jtIZ+ZL1kFZQC3@|Kx4pf+MxpVEn_`NmN*1RM^@(u( zK2g6NHYfxkLg0OJ?1p>q5rnXPXw}LRM@GwyhjX@7OY}8d$&mxlaKhQh&8uec|CEw7 z24Jw#brvbGtKR&xWrlA^Nk5LJ>UI#!i5|1MQD2%!GXi#uC;3N&RHsbrR@xk~f?v+ePX zv1|!F5O!xpiLPPh?|1RT=#c>Ldnr3hfzW~EbFfg~AN@w+)4_Z#v=RZbUm$ic+uo_) zg}{PQLn^KJI?Hd(93DWuRCH6L1Z zN(XT=1`@y=FaF#TMPw3its$icQOX~W`P)B|7{SY$ge3i3=NBa@ga1^ag3q%^X8thy zhZX}xo;-rh6v*fgP5ph8d?KIRl5LhnBReA(kmo!0)fu58#(X z1e1$|NBSdM+TLuBG<}_STH?pOSc|ZIxVtVHT5j^V9VqP%#a%n+0FDJCL^|!Rei}?} z_$=fwid=*&TVhXy5&PvAK6tyR88RIhdL@_4P= zaByexWYO)gug1n;;|nTZEXEsgBT+tQG>kw)m@D@;6cmZWxDQUOGQ|eL$BmmHCQAnzKO{WrqFhv&L!hD%zfEO*c3Ay?_C&4?K4hfRU3X zK`R|3)*Hg%##(jH=m7s7;=N(pK9Grg>a|)Cw2Dr(45zoE@v3 zAsfft{-U|zgjpMdbnC6HUko=xaZT$O!E-FQ&WAj@Z&B~NO5cZ<8Y~2~YuDO- zY2F5{glEete?$pr6ufv%KGhwd1%lIXun*Y zuObagM3H@5pHz9IMCHATEYK=f_UFD4#gj8#^*ug;6gT%SI4zM!aNqn$<#JQjc0K;6 zR&FGftQR)vZYdb>@a_AQ)=5J1gHm*iUD8_U!v;<+SjS`I)%CA-)GX!wxsx;IVezdY ztxv1I2q!J~m%X)iTLh3BP9pOF6>S$aK~sqy^WsKeqxOspf*iNq_*SApt8dnS=BC9% zT+gG2dG8gC22+!A9uFIDi`*Y(jmPR7%w6`+*|S83(_mJP9`DzPR}uxPa9d%S1UUKw z4TRq7JBIy!P((=t5QG$e{diM0S*U{An-aQwQHRJA6qGUftlVgjS}9L4ZlT_ZD`z7) z*pweS5q^;)IvMqh7?49^Bd*@_gr zd3=w5a|jLt{VQta*v8w79MVaN#!lKOWGewpcij<^wd^XBQGxRN*mnw9)+=peGS@SO z!h^|Uc}nKFec4a@%{9oCmIe=fWmZ8$;S_B*-uGv;Z#p(crTVHdSDIfO57eELJ%3 zl?$VBlLf)!IZ|cD!$ctaUy;49R8WZ=r@MSZ6a`*5F3&xu)D}_#QJyw{B*Y` z{S2Q*o?Z3>u2t%xJb>6!sOkEGZ|sMhL2m6kwX!UK=Ld?zrpqQ4(=j0)$W)Kc;|Y$- zRYt%%;4h(v4eE$^5D;<}%x?~FicP~~NT#btBQ+9>*N!Jv>~HPvUtf4=RMe<-$t1ol zZn(({wlmzgT=Gn)e{seRhi-B#)}q6}>Qy}qpZ80F;(~^}YslcwJnTw_WSnPCmJt&) zi$=fGOFLXuz2qvvldFB=6-)0XIYI^p-@7+bn(4B2veADsnV^%?E8>3%fY2VscT)O_R&m7C7+!pr621Gn9# zWXnB1yJZ0ZpXYoj-_7ayv`z{cJmA>bi!*<J(vsOU9D5q!CK*aF6%&^S;+V-b*rvKe(^J8~Z79Wsg z?0lV)_P@W%?6pzO5P*xx1h-uw$XA%iX%RV2BxV*a7el~v$#$r_x<-5LY4)dM?LIlWVH4B8@W(v5{wV6uMC^Fl#9=U7C zl6IWiLG3h_$4nhKKlC-PrkVK%q@$cpRA?t6b061I7sxQ=_E_*M`I|pVn?P8YB>DN*U|@*l?TvIB7jV+{8|{+!2H+`Qe3gSu68<5NOuMU8g%nJKzPX=ZK;_A+JSZ z!|4TN)5-Z2B_#zX0{BPdO;B(|y8DS0E>QFla5+lmXJSWb;|bsPkVlm5n6wywwBLV? zI7)*B7Q$h@i2pNa#=}$m3Im&6xc>z?T!}5CAaDCeg75k5{nQ@U91_o)8ePosrv=q- zRg3E%_Q7tqw~H6&4mBBO-P3C}Tz@*KUnEDD&5sLNivmOLcj?=px$n>L-NaxhmXV+( zs!_8&iTkSDai3KKIr;C^v=2W}@gl_%T#`d$9ECu^F*jS=82owFTMD53K%@%OqV!QE zSr&6XRfz=f9aY_K#y_2o5G7EIMS&RhULgp<`J4$AiK4ZTWuVG2M(t7jo@Yh!ivlS= z5`r+Bz+bCH)M=7kW&1}W`!`}C4%CJfLj<={Fz5o_t7^WIu=PNd{u`tO6x2XLaf4Oz zi~1L_vB?Udsu&L1PZ~KG%^vMm~Gvp-snMQ1Yi437%(Fe=w^ga ze0J%$TOsmf!`|r5yKv&Ww7i|%Cgb~vB|@8BBS!Jc3BPTBHOSRXb7d~o@zBCm657IEq+B<`N1fT{zrV196WZ5T{jzF`$10vyY;%$Q-8(TaYd-h;OVxnZV*nNK zjo{zWhhaos#S^NUXg=oBmhfP3_|OLPY2tpjQ`yj1m!}1vE&3+tP%amN`BmIEhPzn-f8Z)h8>f zKsqDy;z*7rbVA*_;7Cq_Ut%e9P|f5NOJIk#YvIUQ;?O~+#RI+CeU=gnGx`4}(`V4r zZW_C3)4@As2QKd_I@@Pk7^C?U;cNQ){ih2Ez&}^MvkQpqe@@aeX=l6O2B-P5I%%6V z`G(w(Y5JL^$bP%XX2{?`f&A`RpfN<#z3(4rS#SFCn9Me4WTY}bxzx#-tl@qH(6#r_ zfdE4n_{GCZr-M$X3gLAQxI2_n z`t400+wXQyGKIjg6qBQj-!BbPF@%Y3Xk{WI9*5>XOz z_!`VP+F`c(n$3`rO*~FBotg#&i-QhkL@=(+^P|_l`y(_j*n(Rrr+1OSvX-t}&|~;} z;A^nCOWc0C(D*NJBY5YVY|`nZFsyt(5McE17(}7T6yRju;UMKgpF#V>`Z;{?FHL`D zWENc(O)UXyx)WMH5+zB6)$C-dAKBb?y47FD6W`h9X*i%)oOq}!Zgx|DsdeepO_vE< z0tk;|7`aO7cb8czOmeQh@84rYobEs@l0i3R^mUEY=Ox9mv`IN^zBLlKb<+e%NVNYg zG;L;hj885iDxkf8dR<15mW4*3Uyzt$gc1nL6wfa%9-KKR?n(rnF4D4d&aU0fn3NX2 zSags(qqKH$<5Tn){;}qp*KF|z>>^4M2j$0>hVY*+K!GtHPK!%oHtyMup%U{0U~gfB z^}z(0xhiu802^fFYzxK3p6(A_8OV&}H^PAb)R;9ApTyi{5W^ped9>Myz1F^U^kg$6 z)CdEqjDmRVrnH8Av0;4=<>SD677_Lq8~fpR7V0mLni#8rD|g?>pkM@g!1xp-1eHek zkyHFf%sh%~*;b%>S9XmU0*T^}#qf@lE}mSbir6(gdN~Wk2B3DDl6VRy`9L`N(|tUB z!>@=208y{TJEWue&(Qg2Ox|PfJzN+BlojfBb$I;Q7tl|E@~fIj(+Lm%FQMVDeSHA} zXg|pa_eM$#3EJ((XREa-4JpdpBs6YNN(tr7%zt1i_G!W%Ty?dUzO=Mr78fVB1 zh-Ut{JWvJ3hP0y6Vpbjl17ko&U;le7t(rW52dULMAM4AWE>@bWxNLoO`fT=v>-VmR zHxIZ{f47Dovq*M-1fs^$? z^7Ea^7;HLAM{Z|?^Ah91%j)@69fPXErO994Kf@vQJ^MnYp?ddFfB5P0V8OI& zHs8tWscwcGM-YGng0bky_POjuPaiJ!A%-&%e4N_DY2@`qKAi)2@|9+j-Yz#~nboW> zc4xhs?%AXiB6uDWvEIs#?2|TBZufIKuC&1=u{q>f%+$1UAHA3cfOhez0yV;JZuhGa zNdQFMgH+1^wI~%BQWax1nRm@(VTri{O9pNX#m^W#Z)o}M2?*y2NT}s+f0W@q_VqlX zl%Q`M@qxb__IgkNfE5GB&KH+S#%WRL)abb$Ska0W%h0`r5b+I+Gy$U;k1wdWUH9waZvjW zg6Q-N37ardw(3|qyInWp18eb;td*$P`jdR*>66CoQw(Q@v`b7lGgoMD}> zuh8oedNY}xz(1voG1Dt*=xe|@j za0Y5^R30BJ>+QG4-ZaV)0dSgfOwmGJlKJS8=e?5cPE+OX1mmr<`FH}GwH=@3p6d4Z zcQWE})Ng=NoR$3-fGwKTk?C@9lnu7PJ7dm{Tpm2OS(LeY|ps@+@#m|QA_4GBqEXDSug z*>;^O|MPi|Y6aqx%|ZMl^w&6-zpj{9?OR8vdfH38%{(y96=jCx0b)0HVMQO2AB_%Iklw>aJ ztb;|Z*yEg9IBM|0&N?=6o05N>J7KybRK4TwS0jSCX`NHBOemPvM#a zCrG2lm;1H-ZQG0S>d+Z>ks*Tc%Kn741^aQSZA*Vzx{JyZU*4m)+66VCc&y@$6?wM~ zv^qCm!0u{x(&?OZE~gvk*H=vy+hD@>``gXIl=T%6A_wQxCEMM?ll#jhgokdt5LN~i zTl(%VBn7nr5d>`J>tCG~HfUfhaWeiogc2Fx+`Q@H#*5_n@0NXlUyc`xp-iIsE*O9k zXE9rrr0@a>i#}F5l|#?BMz7t!SG@6C1wCc6lGBWJz+0hTpaIMOIfp=lye5mt;yrg_ zd4UfiT@ALVxH!`^oWgk!$YOEc#kI7lWhLmjjp0!0>=Puqz?P3dZZTc-6+v${OV53+ zD@*~kX7lq4ucyL3H_cW33AzQjT@;w2>M0*Zn@<(gy1;mC^cmJVEqmx8^}hThfG&1eVT}8U+>Ls}Z zI(YDOnya4XsT8l+U*X+c9-+6NXLN^Yj`Ox}`lEj&8Jp^_`N8Qb%V4YHd2MJX7aD>j z!GF6N!Z6Sa&Fd~LdyN={^s0>w5)r0YanUdfZIdptIZye_Wa#j zF;+r zZQmGG0g)fvfGb5z6RycH9bFavWeRZwE2UCfb)*_}N8rj(!Goec!N+~&F|R^!>Ik#? zb}z^R&E1-&SXv68OH9h`1oy0(xhtFpk(*0C;F*%ebzbw_YbPR?GjuyGcH4E)R#wuz z^K9jY`qm>mBF{AP+K&2ejgH0&B3szENgWm z{i}2yx8W#KqmSuGqt@0Bq@xQQ-9qGfew`-w+4&Yo;rp9xmvfU*krw*zE;l?k!Va0; zfL~6)sHj}V9;{pUPp`tU4}@)B-Ltn`HA4ig1Lj-x3d!l;Ak}CZ5S=Q)aUY)XdLM7 zc?WSnhnQ$W=|{Ci-2Zg^h7%j*f>);U?_AFjMpPUX`X$2SN~3@J-fa2LTs3naV|?GQ zT~f(C+Kt!kRbfR`rQL9k;N)B+GDM=qmAPj@XDe!-s>krcgG&_qcgzz?W`!n)uGyixjR~|D57WNuUk8$%w3amBqG-4nC{dC(B6Pqxq{V9paR} zqnhiJZre}886fAO6s<_UqL@vEd`BK)#Z2L_Nrm-q$F?-el03gyU~5ucmsW02{cX;a zhPl?VH#^a`y;F@V&8BUg^ME$pD7cAvU=|mrm``R<@E7JeB{Zrk3AnDxM(z}=RTGJc zf zlzyj7V4E`XMGPmj6HM$jkE+ww=LV<|@wIlF99@Wv`=g{0pogNOv>fF##rJlJTGIkp zINsoeIwks@8{b2UUEZn)|4OgB<7UYrrgdH}kIjmCr^oy77jQ?^^Yz9NGFsMJb|nhO z7;oO>3kS8jy+r+hz2nMl{|ogb(BI*vtSCUAuw4+-_W~7Ju_qwd~&rGA@K@%qs4DkMaSb!HtR%-D@G6lj645v z76t<5F^hGOwh8&bGk+@Iv@}=Y1>7E#7@**vu|vH+aeH0gmh+VFw=lpsGog%TW>6Lj zJFmpkrAV1za*r=JuKz5Z6?zrbr&cYKQ zKmM{yp;(n#7)K`;S6;lxeQV}eT$Bn@=wzKgyRsED;(Kn1XSd#C+EI3Yd(q$Fff<^R zY^b6{k}vowTt)l$`9O+L1c4>UZ8H=o^w)yfxsbZixRx%1f})F@*)sAvr*^kpS+ zAu@sp@@o}42G*iUh~t>)zCfX5AnzhIi0ZwfRf5c-5ljKc+leW zP+tab-$cKo9(YJP)B5Gb`c>)L$;0g-h}B8zRIu$9?=UmDY5^Zdn)(7wQs&;edQ(?J zk+%}xx3ReCPX0l&eu_I)d|03~T+bu@y|F2C}AksOG9byq$-@T~VNZ`-e~{Aivt z3$z%F(`*yt+5OcinLx(T&KWLmZH~2Z@pL-U$tpJu=Le_x<@TBmoZ95$NN z$_23pdT5_HKf--*zEG|GQSyZk>}vMx`?H&%7d?(E73ebG^~(_ zAUCz;m%bUftlbNVByZytQ4iMY4zi3hRJ%!t$QA@K&k>6ix6ye*9(@c&Rta~prRu~-GU52iUDtIZ}tnugWJ{xjKhq`&Ss3yZb zu5k&(62KTv%L(N(=vcS;xM5{X!(}*vRd-3-K&AeIQ0?tOJb095muH_ZN!s>!)LhL` zE^wJ$EBwzb9o6kn%+tsExp0CVUZzE4vfvo2(KU_dfFUdkB6Z%#_-q{6@T$$8UoCam zz9S;TxuJC2K17v0MLS4?%jsCE)!PJ%;Zpy35^~|tBWLZ^pbO(0Uu?d3p5qS8V^1Qx zyZ?!CXfd!PvLvXG=uU}s4JnY%dl_HKgW1OZ`P6UJ__W2Yuq{&s+H@+#nsHM%B=pt( zVQtIzisFK{Q^guv%$eNkKlevk1*uQM*!A*{a&7_k48?|7@JpAy(m(_&A1YXR%O`S) zX+As4QIkN~t{StkN$HQd@KjyVzDC_v_cgWWp3E$xE+vj1t#X$ApjzQ!)`8mb6VNkc z(rtkf86RYs?8YiA3z+|OBs8Dt5=eQ^DRxko-~7{iu0)Ug8t9S3!Vq#FTN`l75x0CN zYvd9n$`nhEZH(i!@4Pc`d)*dheHvUs<12Ch06EOze8;U4Inmfax$39_SZdp@RhDvn z{x^0nUDHYgMzjWZ({T-a4(X5-jh-XD_AJ>}0hrmP9vk%pAr!w=#3llIc3AX^Gm4`X0XhQSAsy#qkQo>c;zbix zB)zTSbOo8+LP}!1RAE}V{Agv;k3IBF3d!i69rCZ)APrC3taT;75IjN= z_Q6-Qay*AWHC$+8yPmXr*=bS|pF!NS=5jJ2rV!ip)ei`NHOpe*?)FlZ@KKFdFa##c zs$Xs&J40}i?9i4D(O#>V1_wajTe&;Ia^lQ0*uwvHjs-NYQVs$e~kg^Fb!i|?qc!N zy>#tH*CeyVx3qQ_18T^E`)06Y{Um!rJFd87zS4ubjjiecF^M?+8$ zd8E>^Z@u?q!Re84$>3GRck`{G>LjTnCoe5j%H1zPkG}-J!qWA~=UNh$JJvJnOcB64 zn!JdUBAt(;))GHZk{br1pw8S`RX8aF#E6a)_I7i(_-h@n?6@Fl!dn947X7lamS+_W z*C)vh`_51wLI`01_dxmM2A{`gzm)lr00E%`7FrS9jtuR2^f4^=aB6AFyyjQy;nmVj z>+-^V*nYt!_r2Bdg5LeX0qgBUQ8R?0XAg6Qjv=u6Qjqm0u0yKqdBPKYz60B5g%8D{ z&jv#ybInAQgcBZCVZLSBqg3m0SHQ+zHmE_{wlTB;q!$5jBa6+`xR{y_b`M>}BC4*q zP(k|t1dM&)snB*^rpXBS>P3J?&c`QMAZrBsBNb}BI82nVZn8g;!@>L;h5GZxx>lzN ziZS?N@nJTr#Vi-HlN4Fn{~*~5G5MJMAj9jun_&mqXIG?XLA!?Y%7kI*qQ$JwM5WCePk)9{(4JJOZGo>RU;J$S``|!{D>Jlyk|Ht#wDFh+9(0 z5U|Jnij-}rp?vvxU#-KsVggcFL9X(8^i2BsY9~_kW~S6Yz0fj;0OTr!h)w%LX>Tsc zBa)k7a!hswHEsjLzM1WYC|a_8(;Q=0=)xlZJPDI$-Ky1| zjn_WQjwzJm+5d(a{}=w}|A8=)NjD(`aML?L(2D#5VuwKB?|Js+d5Zj8^UoH?>oR5C ze0in(Bd`scz{e))8@#?!nbh~%W9q?peRyoL-3Xq=p4^iq1R&xUQi*Q` zl(lwimTL?u%e26Bgb!DkUQu0P_$lH}9F{<`nVoZyYd&p>HM@Fuw|?}y)PS}TK+}z( zhfw-(P#yUAX=GFSwH48JV~*Qv=9-RH>{F=G8DUZtk6y#Ps8ZFn5yleM^y|V`C|v z{KP(_S}dyVBZbC=MYK-m`#?LizNVWUi7!+i9<}69S@)jxC)4GlLudhRbjb1NatP2h z`ZS!zb8>B*4$`iwM&F$W@&418f!>bK02M%OINkE*A@NBhi)1#Yf0q--<94}CgVwP; z`8?|7V>=pk9f0_N9Cl(ACztekduy|tgH~;U9!FAhA^5mCe=C_v73f9De-}c)eZOqk zO{vVq2$%TfiEZKY9h(f&nGy3xjL1vmG>6?Y)$21D%-hkw^FK>8lYAGtQt9E5RVEf-@iP=qKJe)d>ejF| z+RwWq++z4y(EjSMVIwp5^G5Syp?l-t2crz6u&ZFxYrd_W&?pp($r0ZB+*)7g?uSV2 zOUMYC)Sbx%z;GrFxLTmSvdh~$29V_oDU#cbBiJfNCH!h}$8*i&Mw2LIG()iI2)e-| z-+Zt&6Tg8V7ZQ&T_lCRibn-u}^#FRmy=7@WU^TdcP(*DD=PU4kvr$Pr03o{g1IMj~ zJo1}ZXE8eR6CwmFpu0VmEzHr5>Pzn&tmdUrJS!-2T+c&0ac)I}n&N?f*6%=^Ut9#4 zt(H1;n!e|`-|wTy6p#bDuRa5y%RiYiN0Q!3A})^qd#rzBbo0YM5m}&x*#2F<{Ig98 ztQ;6ULizvi{}*2O|2_Fp_f+TsLrM{qL~tRYP0qdR1S2p$D(?Xe;V!9oKpfkMHlPIFhBQd|!o{DIYN zaD#jLzuLGY+_0L(I579T!@qXJk4AL!DI!6zSD*oc18%b}bofnz+>v;j(+=_|{sHtJ z0KTB0q)bi+CR;@1<)hcEc3Cy=R-Nvw?orTyw4k$e*KLZe=n=w@vwy2@z0hc7)y|7h zgtNIwKhfAooQE*<&yG7&Obd{I4z76IKU7$z0o2^Iq=n5=F_IkkBfHlMy6=5SJw@ct|9M^xO7IIR zXnbg$VMqyA|5MVRx(WbYZv&ufZi)RiUWL{PyT{JkwE6k`+~{3!X~`}{ zWX6+BW#_q7DbbG32}Gt>g-vK=zj*_kK;+h0)S22GSLTY?Ai%6emFOs>fBlsSi z`N6hS|FX~jpe#JK_JILAG5vf)A8Ax1KWaOH~9 z9X4_?4Gb+P7iqqGB7Xxs_MYogpf8#$9UUFLda3!u`EGiAaO+LyYhE+%i6kvEpQdky ztfKrw_Wz-W(hnq-0wPGSs43!TRM^V>ALSe>gn}?WYnlU0-BZq#qPUPob67% zkdO?;Ul^ld_?ubq=Od4WNi5??eWNyeq6DSWdA}MBp=-OY_n_xaSA!v&SM`<)b!AS6 z+9IzMd?VTf4*-)rc6_jI`13)3e>08H5jNs@cV#nMY7lU(*5qExebPgo_PF={A_XC2hi`aTp8kSBY+$m z4NS=NXNkpR0aSb@lMxc!_qyHTNjhDK2@^>9Cz~i?I4qh@|^-QJVIPf%H z7rj5$uEwb>CI07BMTtY9cJ5E(7fnL}kk3Zz<6D3K$0&M#;8>vH0Up%fpIjqI6Q(J3 zP5E%GE0fMPH-zUeF5!QXOCTH&O7-=yLC^oofBt3gl219^c&<0$e--MJT>oErgjnf& z_;8)IK<(}dgN|1j7kBH+>`RqJ^S@6+zy=R4GI744I9q4N&2ii=N4x1znxTUBp#J>OW(mM9a0 z%NuRJBdeZw&7TL_)U7Nj2TcGkEXLQ@x1_S!b0J;$Q@!(XG|)R%%Tu|O;yB9{d@We| z{o@;u3cZ)(sT)MUGeoT2KaAk^4HZ?cDY?$WoxC_4M__i69xzHTpJ)H>o#GE&BLZH^ z@Yy;k{N4oiVge3p{)ekI)ZQo_H-Chgi_mC z=O{x?-SWhiNXlH)b0*dod>UkHMpQfK^1feDdj938O7^x{zta|!Pg`9gnkIAL*|NCId^D+*kBQ`NDCfR;{ShiquunDUvbGAJ zhDNnz9JxqDmT6~#-M~_9`-g&4=f?*RroC?BL7QW~p%6|7vy_L4e4VAUVcucL**UIG&qDV);gZ(OVn%h@fU0&66mW9o)iy?j2@{##noK?DtNe!epuW4ASw4`nY)uUP{C zwJ+HpFZWzhV&BRMP)a9~a5-AYFkjgibiY2%u}c^l`(cBrRw38L5SPM9(rhIg{yIEKB_*1f$z~mh^3!947&R( zFbox}kDTRnxQJ)#B$^|gv^rz8)Z`H@(Krflnce_(d(29^fBp~oCEs6#I@Q{2KfHep z6=~O+-RRxdgm*d+4-8iPRLHIwQUcUzcpTj+ouXS%uSgShiu?)v;0Gx6bF#zz-&Laob}37NL?P zp|mC6JM$9qxGD~P<)H$cOFZH$YLkN>)MXA3Wwlz{xZdecvp~!z= zA-glv`Sc(dSlyz9ky~4~g+SOVIfMZZM!)^JBgNQP(pc zq}mZ$^U1o(iYa25=cr8`v_aGt=Zv7HWx30>kqjd{W|=wdY7I-qG=&lXaP7Ap#8j5@ z6H^UO1!bkU9;;c9B<5sg^#I*p!hNIZlCHb!Q(U%+5wxqFeg;BhVDPfH5GS+Rj&`QD zy&-;j7{o1c%*QKuWNT-PHdmCR$-2dLu{*bqU0dmfx&|i^g8URw4TwO9|BR?Ul9W)x z?^Njrc^r?Hp-;IiYxLeyd&_o>Q;W|c!$|KqvfJ9fl0QrYYgB_=zNnF<6$=Wzrl4gc zl`Avh$TL(sGkTb-jAa>YfgllClw2-)OdmhEBWG41fv-<;{e#*Nu|$#icmUcCdJm9~ zkpqn@<(-si!dYo8Vq)zRmgm01tq|0VDuB48#Lz$^o$+n9IHEIDpebd0Mn{Q-#8BR@uq@pQkM@)IuU##c@!6!V8p{%c#lM__*DG#&Tyk4%FK22D}Q4xDRE98_}gBa-rHY@k-0VpZ^Bh%b2r%6l1?nk8i)jz0I%toI#yeKX|vjF%~ z)Kg!hnt89Ye%^t^{V>+0k*3fr5mBjhkX@#S@>GLs1#Dm`s;dW*bGxMQQp7V#@>LYv zslR(Oeg)ahwT=#rOgGtZ4a1U@k-ot5Tt=>Q9@Qs*n4=r9qt&zvnD;>CIV%BCEx!sT zLy4nSvBkgWtBv3VtmnJc(9CaxLq6~%)^{^DF~1(ivO_34FhKp5`=0s7b$Ob#W#|i$ z-TB$rA7*N7zKHGUs2~x}Ad?XYNIYH{1fj2!^jIvV0c7@GL>zkkwhy^7=|y7Kb|%nY z6r*TgYZU9n%-Vfo&xljj^BLOFV|Jf;ukgARF+qr9o`r5Gl1hf?)kwV9HdFTCVNXJp z*@n2!Hy;A4T^6S~Y`TJ@Uy-ER^$t=WYiW{Yz)MYyc>b<)>vNw~bW8m8k$zxb7)zyS8xzL^8Ejn+?# zu25V$*7GZgM^(JNk(%Z(C|-@8h=A{8=E}uW?w+-hrHJ)#uHo0rPVqS8!FpLv4+5}v zzcNwb^k%{oD;l$0u=HwevkQa!gTkd@Uc!VAxfm4xhT1YELD|M;kiG4w%Ayq;tJdNB zsq;uVPUGyoFzMyJu6S%VmK7xIEBH#hUt?hLTpRD^xt^szB74t=DMh<)m17-`X)i%z zeQ^xAp9e8wmI|A&pTl=8E0s%~c9TZLHM$yuUctN%=Tq`6FHkO=qm;C-QfB!$3WeqB ztp@=(sj*Kyhbx;kDWaOD`y0IDk(A2GJM$UKfnSVeYHUnXUV>0uhw}01A5_9(e1D!qW z=1>w%vvhJ6oX{pbHT06_Eurbj*T1FqrgEkeU|RlYY3Nl5j!4^dWg{kE;x2t9=R}V+@-l4fv!9 z6gaTt_(8gV6*!l;oOrF6y+yyJ8~`-<=_Ryt8L1-R@HTU7*AWNl0^IEk`{H{OQI3EK zJQ&6gz!aRMB>9U!F-EkP(7w%8Hjiut|?RcYli^byDY(hDkx%LcL2)kA#EAfTOWXP!ytNE z^i-7EOHyvT7Ukb;^50qVYA7(Mz>#8&^5-uV{aqLVfEUnm2%ypUa|HBn-w7-b_z@3_ zHjpMppdyS!JZ=1FrpWDlBS3WO0XpXHi@X?Y1o!<6Oil*`<8j#%34J3Oe6SORKzQtH z=DiV>wI#X$h@E}F&&?E9-v+$AU%B<33-kT@R53B<$VB)Sm7xBXSWqmpLn{-WS4$!CUxG?-PRSMOm0Dd#3e?0KhE5CuazUjc0kC->npM*e?1q)n9 zL&#|lZ<-P{HY3IUf0%pgsI0c{dl(UEqy!X^4rx%jQ$SKuTDlwQ?(R+j>Fx$8>F#b& zx;uWGd#~R3j?eq|JI15qC=bth&e>0#ge(aE#{JOEhx ztFL!B>v0gkP3dT*vP2{f>xL>)sU-wdD_=kp2Ie<)#2taLVL+%W3`z#hGvoCh3~a7i zF`6W9TDg3=NU-9wn*<(pgG-CtWw#NQjv>yKZ%n8#np6XV^o^>1XUFrNp!m0Ip#2{~ z$r{UGI`$E$Usk5h+K{=zVhWYI!Q0k))31p~`SO0ED-* zS`7fJ87b8gdbKUh>U0qX8s{HPcNbJUmFJ8@hlT+8RT#iLudZDI%<=A7ewLQlpgAv{ z(T3QoeH#%Gk#Im+e;-SuN-PwDV_?G$So= zw@9n~IWQ*LvQaDrJww2@YZ0WAYN;h(MY}*T=M!@w~TJV?o4GQC`DNo z7SoOyK`{l?5hcqb(uy}ny@N-s2($?%C>t}`X58coMM;;}W4SVUl70^UP zPZXNbov;c22PT??OX9GXzWZ3_1!OXQVnp9?OyYe~U`XA6kU@k)Re{oGy3w)PdT&Gy zxHjREe@TA&M*(59f@$-u z4MtT+4g^DsNhFHzyP)R;0Huj(LFUSVlv7Zw&=04QI~+9ajirqQAXN7)GU6Le%p>;} z=mp!OzAS3EXoW~*loJri-oCh z?F@Yt$y%-lGtR{F6pu@Vm9*>joEzWv6z>yMYw6Du`>7JV%$ktxL$W)<#_N;ljvmyN z7shQqr*AIL7c*67ZH~G!LWO}#Le#P_tKGpD`}?kNA|Hdonaa~!f{_YEt9Z80@1?Ys z2L3ypP{g5r3}cFycQi%tc%iZYAmLEJXrZANwJ0JolH@~U*49`drIBxOG`P_EQy%3~ zO>YLXVHMEuFTj@a06qz_ph{kUKL7M|i_P&Y2oZ-xs!Y3Ev+Cz?hOg7vbhf3~lN=yX zVGI9Qq-Lly&JTb4t?GwN{n>7?@5i=x!F@(08~w_{pc?Pn2a5S{Q7l@K!IbKFt#1zJ zKZ)+|F0^WaAAz#u8{<)7)uF&#lqa5(7**W1dr4~m4qck&z29p*S6kK54aOpz$dk*5 zG(~4Ol|gQMt0$3fe(pw0l1Xz8q&FXs%aGT93};B^ND*Y85nLq8A68gK_e8MUnjRld zt%kBUEMii9#0N>@hyB(q-R5^&jCM=kc->>c^(I5{k#39~xwUb8D@Xd(cN4~sf!mqb zjw5lU3UA!faNXNsJ$|Jm(u{7_bgA3VnJ~FMRBg6M)8=wBylpcDfqM;rV4E2mQ0|rq zaM}Sug$~ErGKpHAEV;o@Ng9`5!CLA3F}5PG{NkIg(eO+fGjiLRE)x}*F9wYCr~6i^ zY#qVE_>pi+YEY8{+Y`6s>{a`8jl2Q~Tri;IozxGfz;*P4)UvB-(Aky`o?#*PS47JM zTpLm{OQOcul06KkSDIh8AMF($urB1ClV_h|;h|Xq?c+w5KuN>AuCiZ)FJ4fxuT zo^0wxd@rwt#5#ID5DAHN1Yl%>RwuTEavQA4QknWSgT*2g8Es`gTPLiQ_p1r}{ExZm zG76$muU`mH)*}D4ga{zHgC!oD_N2ifS-M`{es9an^lbF4-Fdaq zBF(%B&{7x>LZ}21q(!h2!X3EfS8?U^=67;uL(Xi7Cu(~+R1rza>4^(18`h}tXCC#& z77Lr4zN3|`2}|O3ZLur4&xsyp*U$6MO5pQ&2N^B_;cFo9y~cp0Md$lu>)jb~Y~X#VOM!2GTM$kU<|F1a zjQs5M3GYBGIS%#W)O*x-QPtU_B4#v?O%TrcJ{q0vOcRZtx;s(tx&|z;?+n4fqLYcy z8GQh1r*T2MX9b5NZu#fAG>yaIxc)v zBW3Xz7Ww++JpKAaGL2tv!O`|ZGvY%fx6#_*5WFRwp)1asrxDjh zh82`ac8 zu6w!`$u1XH?TV{x0ENUA8cB9LWAg_Ilm7&=8DH3%Ujv#FJ< zg&mQ`3yLv_O8wLu6SjVC4B+dwM8ZpQ>_8(^_DTsXFQs`}iXc#a^r7vI%$7)?g;$`= znr#!DHLX8EV3OS9z~yHPG$eGb(BoJ?5k=xYXyRXBb)9c3TwPhgS|*HH{yCsX{cfp$ z3CV8jguFj(LY+3{WkR;O9onk`3|ciYPNZ`LFOJ@@!KYM#sK}sY;`4ndCxXjo*efxdgXWd94@sG9VMr*+scE6*o!d~f}GpSO{LXjUHh$!7NDi;VRY_#!rL-` ziV(oj^4QeVp<@aO_vB(gXhCjrNZ#(|53fd}3xkr|r-nmw@la0qZbr6tVvJ_Pt%Y&g zgiI%On7JRM8v0FPr@3tR8pxk*&?G$3m|QmMp+z>@|2u4NzYvhj}i?GpgcwTtQn!$Gb|dkQ$2ghZxvo=VZ~VOZ zdayc+`WJgm0Q=G0C%zIs9Sg?dbXdy6*46#JqW!kC@D(UGy5ti%59i6cjL`3k46!eS8-jH%x9k%6yzCUUZSLrtEw8&w5B z`FeDNKnp89VE0DAl=uRL0Ikmf!i|pHQS>`KvDBEv-dR9B|lZkYVrFT)8gzpH${JRs-T`Qhi)=cMbEknL{(QIxSYBJ82=p2kJ&2X zhY9uM)eeJZA@7sL!8YT(ah$pF> z&#;Wqh3l!nwqiPAh-|nn2FX8uw z2g}KjtH@FvDEjd&g47xv+11YFkv4(m*23_yy5EBl*(zhuwfyJd@1Z)v4Tg%K6ZNW@ zAF2Yuy+-PLsB^;szLg$qq4TMkt5w4(@F<*_F){X%=nXR)a8WUPi!^C^V^_wug&Be; z=>t`P%ykmBYGRi;jf4evKF2=vlkxf^=!b3EA!CUSayV)kFI)|r{{=YU6TvOj!7$ez zsO;PTw?u{FoO5_*=a13aE){yfIbpeN6TUY^UomBIkICgj0yDS6QF6!#J2xw-@ z55={(KQ#v%g9h`AETATnhi%uC1q7E*sG>|1J6k+`M9|5w$q?6u0?7gq(sontZ?Y}M zeR@ntkiCr8rynxj+&aq14*sZ(_GI*+sU!L|mX_uM|dsNBeR` zX3BJ1$!evWFBLZ0tvp|e*W{)673|l_A88mLoLRY!6mHYy zq-j+fh#U86`}N#g7A-6s(O^j)dAYWhLJz+|X$=1kb+!zH7sug+QWgf;k@!hI+fjgz-zp(+U_jPKsx@e^T%9n zIs8(ysAg;M=e3p0zzD&{@rD--Yf{DpoCrF~6BZ>*Ev0b7jCRjaBscC2@pP=eq~CpE zO;H0f*KBys=g^icfF?cNfZXPbrXHm3d>Wlwq~{$yFp({L;nD7R;KL7_r!&EI!N-@$ z;{@S&@`IogDEN#YkH1*3>auW4JzsE?e31S%Y*V%Q!jRYz0JZDZYAAQen~@!whbrSM ziCbVamYQ9-{$B_bJ}F$BQ_f>(;nA%AHNXm8yWVe#l)Sq&i_|(x_i;xWvxb9R_p+z> zxCGayMlD>SbBt-Q(BR$ate{WA{mj#&i|(N5T1-uDPIPRXu8@7NhTrPj*)SiXYXaei z1;lf4^q@~Qy>rj8fZ4+=4dA&E20-jhhHpOqsa>|&WxCgkD#7M5_wiEx7=s@|au6jT zSe8cE!jpl~6B>!hd%@+Z+nGyavdTjdIV`ZQ{_MOfJmZaJJ8XG~6L9AHo`F%DR7kgH ztklU17qY!a>PLNLhIx!@BCo^lbXij_ zpCD_UM~YvKNE4Z3?MIs-y+spD%Mvx}yjwY`eQ~h-Zg>wEa38w0VPPR&^Xz8aS5~@%5o>eZ zBXr3t6324dl=%yE)XG(s2-(2Cvy7k9D(3Fc*FGnepTCRa1^gSJ*_JSsaeu_BU_gx0 z4`sRDN75A?gf};O&tMpZ+J~QFe{5X-J$MBU<(td+wcT8KETzH#WyGh6$7}TY`D&j( z3WbfLO0abG2i>)5Vd~QALy)BcFW<~rGT0vn=Kb-b$9i~3;I{f*f0V>#FvcHJUK!R@ z(`N^WPP~GoztFOV?l~8KWti*jwt5I!v+z+!yQeTAEI*>P<84Vx;V9Zn3397UZnvr;H%FwExd-0ag0J2jP=Qe5<>XU(SJ~Zs zwCwxm-5Y)fk@9x$h@^!m3!o4`G5sxHQJUrf&X#Gq8HXH&x9!tBw`>KSSG)4L(&KBU zv)P)S*&agWQnl7U-~3E}3JqJD5za$}>h>7v2nYB#h=iRFDXYD`o+?~1gE_U@2^`Yh zefh%y;sY=abJ=<5bjqlXkB}UwrL}tFKqh5hdf-~D_l#RpM*5T$f;%54b%i}{l+z|% z{gEyB23xexH$(|Ck))<}q-7iQB2jS-nK`2QYBrs>LW0dlfmA3{L|3WSQm2!~FWUza zsZE9;XGSWE+VhQxZK_xAIf&F|V+Pv~Y`Awz8UJYt05iR3NIbX6vy8sV4j7H| zyX?x1(+_4d%mxGG#Xj}>)_q3{wHq3V9SNdOQ!HQ)k4R_icM+KJ-4RLMa6b9r9_s?+ zf;sUEkB3eFv95-bThB|M8A_3^9di_w_#MSI2tL#Tf#m(eeb8Gmg%huO+ z;>#_63=xE0r#Vm{&SvSQ=_4S+x?EmjBp%In(~rem6=$0)VvvbBIKh zMOoJG+pS-|FQSc7qhT~@NGb)eR`;JpDemGZpQ2QU!>6(?!-Qk8JNQ&rZ#)}A!O}wh zz3g~Ps@$^Uy^PzpNE2yy1o?CUi(*xHYfhfK?}f@$4mVV72*|iapSS1D7kKr6g#nF- zBG?e4mfaK6y~M)q#6IAl{0yOr`T&p7@@x0!MTO&GB6U>`4QN@98KpR7c!ovdZ`OsM1@$&8r_ z1@=XyOV~Me7}`?PiT~_>8V^vCUrHBVehX`ZgX`S&Ns@r=79bf)PuT7@y*}TMWVPCe z8W{@|{E19A%jg8!rzIFx>2ZK@ku8}5jEQHHKa7I3FO+aDMR6NNY-Iq;jn)WLEjAaHA3pyf?_A>SlWdR!1?KSoh#S@#(SM>3bADT{ zJ3vRCuEN<0HX}a5>70D+ogps(i42o&TxQp2kOBS+51s8U z!gr*?#|CAal8T8P9C%U1uoXsMA?nU)^V*&UHYv9rPL{8h!fWn01B+ z(;M!9!~-gmw&^1M(A=}@EY$U;?FK27QPL-mDAoBa{>#y8&9V;#5O{eB2_MI>_-UAA zpTFX;E6F7eu$%>!pZB{b*6{XI2ZC1{iDo^!)r+QR)LekA`)Xb|B`qa*W1NT)F;(W4Z5ts7{tI_OUHf#hA5{(N>CR;2VbV|Cz+l0P~O}`n*(38xr zI=I{gZq@ND79LJl-DCjCLLyhmDN(6)5Iox%&TCfc`YIfro&{e#zeLU?6G%2O>S*T} zki#?i*v|EIq9?u0=k~R_(_QT_S(xEbGWaG0Iuj*$u2DdWlHfx0elRln z^@rAC4%=a;txoSDpCo-dO|PD`L5|}f98QNZCk=eW6L%O~VcWZ_^L^Tj)@{ezHt&)T zQ9Wm!O%r7el7PPe$Jr5?-F$z$FHuw|T*BgfWo^G#yBTx=Q@saTDxI)iK%(+b+N^sQ z2}CHipIqPx?_Cc@FXP|{#%V$~E%4c545#1Y%Q5GUAd}o;^ySc#fis|#qI5>0b! z3uG3SGF*#m8(g8un%UFLwKhq#HaNzQp@U4=pv7Rc98l#>NZHawly#e|7Ib2wKZ?|k z>>2jn|A-e-)?Kh)Tx2h=KTeftKiloyJpMwy{zCDT1GxaX1pa%iJp-NJ4I_4Cti z*2M14+o{r3*@WD(%@R9*5nh4mq5`?~W1g8XNF>^ZgLJed!LPCJ(}44ryqt_L;tOfh zam}Bz8KGQRP({fN##1F~aF#0v$Ip!5(dZQ>5-eWldX2>Ni>pUh3G_8PjBm%+8?0u* zXWL0hNQ}UmVA_x)k`}9f9q|9EukdWYj4a#hOF-j2>FTkEOnyDRixz_T;+*`hF%G%lAzX|Th7fbj)Ohtzx z3U{?UB&oG1;=-b z9<*aBTqCsV2V-aqeoo9<6hjBY64$>@{O9TYC?3_qxrTGjT%GJFI;-_Vxy#=6}aRRq17r5gzn03BfZV<5ldY8%?#AN<$DhFvG=U0G$L?s12wykc%9RKSSmMCsRF*wITAO5`Jzfb<_OAEw7cvZnZ zes}!8PSMQ^!KZB5_x8Ux0_7bfXlG^vc3UjixMQ!(V3f4dSNtWjl#5G~!%g>Gt?b8- z&%bjj%#HOYG8=64y)Xn`;>9DK<+>5GyCE}or9>!xnC{*Pm_vY`x;H%!HiG#%)Z&R@ zqqRVmIs{;kD|C7>+3c1e6bt3iGzJ-}X9WT2`8A0^JEhRcOQ;?+{n;vN=SHv> zhzd>F?C#cXhEV8X?YIhOa}RDZIDG~f3YmAiGf{8t=yY^+<{wKp%&s}Td2&b_L!B|8 zS|6iL|5e;48xR zC9y`TUC-~2#p*Upg9|nQg0iNeV6bz;2vC3U9^w6-!C@Cr)~ea-U}qH73rMgJM{35| z4xEB{%{S(Q+w1f4FdL6731`17aYrveLFT#Kq1KuK(ocgMFSwI-bV&*gUYd=LvvNAy zjXnbhyBUT`9Bvz`Lk&$Y{BKYKIhe~k?f$D=xM=Sw)Uqs_{69^kG%h@Nbz(41l zd;u(K?{*0Ry4X<>AO?Cap287-wzE*ku>lZh!BJfMsCFaS0TI+`uq6PG-e6K1xeV?X zvQ(!44&3Cy(c4Fp(cAGz+mpk7s6;=()*@L!Y%eNIcW1(`e4@2t!E~BRetCij#q%xH zZH_SlSj=vX5nK{ro7s5oa}}$WPmooNZ`2!tE<_gMou!ZaubJ3R_UO{o^*(j~G6o2T zV%Wm~2m6DeQr@6rq1^UF)btm3vs;fgU%5Cv3dbUUW{LfU#-Gm}8{$Y8*a@lpe3gwB z&Sn_*gF8Klp7b2|&lM@3n;ycUH$uBppmdq0?)Hw763$?psR5B1N%tkG+Se6lQXsH> zYdC2CFr zOl-D$d`K5>ziF0AEjHc$=$n4qmHoVDt^J@5_Eqq5H}52vFnefWbOBfK@nb-oGt+29 zwtk>WJ{k}hXz+rJle3RoY8~bWicS4qFE>laS|gw}Nj-9n?*_tsg4(UlAJLStKh4aV z#qZA=_ho>dXuPi3Z(@zn+jbkaE?U@$7Z>wMVp2Dmq% zu!kz=VBNzqS@8hwgdT<0DwAtzPw2w;VC+$TWbT4Jw&wFaM?*Z2NaN|ZI-?7_P!;Pb z*j%DIZ%>FjY~L@W?>pa{s;hxrXB=+)$z;{rj|=reQ=*z_Q%x6Ya?i+Ye-fXx_gvTC z-}!Huz5?U?XK=u;gYsEN%4ZNtoF=+#0-iP3iER~ZF3fZA2!q2bf(Yc)ob%UAzFt{h z7m$d`kN2OCGCV~cpH_aib5=MjTYonH()KPiL-euZWA`8E`qO0?CQAqUWRA(N*d3xk z&5+Tqzkey8E$h1lX1f}4$BvCJEtOnVB#P{z3WBy}a*4*R0|p^YiYeNJiJD%N>OHAC zEe@NV+gW*M;(kMwK1JU%Rt*05v?&!VK4s$p1cxV(_)5>6NrpQ z&nNdnxm=e~e2rZh%)-~sH;0`kyZcT;&dUM5%CAXVlWPj_)@avscAyu_6(k+*lo!*- z^W~3^Gf`&v-2FfE{(0ZOK*RcVPK)0qub44UX)RU&2Q+ECrblFI%xQ73R!1+hK{Lki ztv%vncWnav^e8_Qv^UOP2t+5_oBbc+Qq%$iiek@5>%TAPh$q+;ZrL24R)4;a<;LYyNMu~KH<^}Bi9@cE55!N}u!DU=Z%J=3?M;X`V zq=4=>dfjvqULmAyR9Zp!D4S5kzAcJ2nV8|?0%cSZn1-bAF|D$xw@Zzo}W(e8uPyE+FancE4l!t~8lSG9S9@}v1T7I4i@ zm!<{>6NO6oT*8{Grt|fqf|%=TMM{9FGSAGXlM)5@5Qds#l1S@u+pud->*?uva(l`Y`raYJCF5BBlb=N|g zG0Jk|qMFxFu(a80;cBcpLwcB6uJOa9poq(~&Qmz81HFyPr+C43H`DBWxt3r3MJjp> zxHf@xi`C%N_MzEUn=djsas@h$(w3{5(uHlqGxBgN>43Pk{r+qlr=oydVaz7AuxHF= zg_DS@f3NzaPU z?{h7m|ENnt3x1${*_U+3#(UW&kg`5+Z#PliJnw_&J4(1r@d}aGM&>wxaK2oB|Mcfg zK3av(`uYdtfkE>q)e(}?EpZ!mv-Z~5x!VX@wNdF?iYL>Ty^|S>jqLKT=APOpV?`bY zipbHQCN-=g92X3#z5q9adI)@!3+-QE{B`}-u zf->x|kW%hxplEu&0YWj>CeYA zfB{!~BAH3ZTnEsI-pyGDE^Ak~?ud|W)Kov0~ScEZgwAliTV|hMbW;ylBQ?q&pu`kuF)UpxV zz6OoTfG4fWTMmMGA+2bhVCia)6AFTaLQ8OyUF+FEJGZB@@gI_vl@+ks>`Qx_Et%h7 za+DCY%k-pj^ro)HR+JHccfc{eA!Q1PP%au7)b}2Dr;?I-BscrxlP#wm-T5GG8?<;_ zj-~O#C^gv8f8L$(7HmQ_Y~H`wH5=D0Hc%TbXlRmkgwg+TL^5_Ek!;(rMMK37t6xciO;ZJ+^YtIHtE zNJ~$T-v2BKeTC!!@Xs)-CAa|-m5H^PPa|JN9@T?~@cq{wewWSMT3$GW#f?i{Ou5&y zAMYPMuJP-JSnSp645q{qpZ=Vg<4;x6PUJQ;+@2^C1Pg^0@Xh;pQ&FH^ptiP_0!Ie3 zR+(yV=`yKWJnyPv6Kx@)THK2{SC~!fyU=^P$n&zxqNu2&m~-MeSGp+QWThOFwDgmP6t+~v%jH@M~pTsP`cdHhx_clu{X8|7TsR=3Mg7f*} zAVIDQYvoc2wv3C53thkFuaXzSorM5jjak~n>81va(@2q%f9t-gwUO+ zsoW(kIq4@*cPtaQ9n*2(48Pw&gWY(}>=-&UJe4f;kna6{g#USf9|8+%yo_!>g};`o zfBx`~W6ghLjQ{6{4nY-1n=>w!mR$>l8RaO9S2DYijCXQppstSX%X`og8UM|Le@p z$-)kBO|WRyzJdflcW9XB%oFeC+j*IvzSTxwnmRE3->L+SmJtw44Q46~w(h;)(0?@F zUpE_okO)*$s164$FuB0G^JIu0IrkI@9mRnTItw5y5uK}PxiZ;#C1ceK4wT=KA6p|s ztpIkz?X>}r9n0G7;W*~8MY}E3i7T(C&3xhYd=F!}Geytk%PqaFxTjcuLirf_=@%e5 z$gR9PEk6Hwk~8JV{pJ|ATZzNmn;(MxG`LxXFISWj2}!dKZi> z2pk;_;7sa@BE52}zy=G2M1%|5#m#CzT}mNg-FVia)^3z4^ig*gt0nEDo<67J@mEwR zR+TH>oi9%$EyV&CI8R|L#)Sabb4}UlH|JP3Fc^fF^90*8gluz`VDs zE5{tS-D>xG@t*4yi@6)y=dG^|vue(#a*IqI9UUi~+;`z1=@kJit}M{R%(*eWd(d7k z${ZHewqVWEfiSg&4p?+#yQ@Qc^jhDgxQnoF)QPJ*e5s*muUV&D7O9fuRyEPh34a4IH|9xdR3g4oerfuVgz7k{e~4$;#dl zz$%>gE!UC5Xv_Z%M`)out(*ErQzdCfF5%__JZGES_wi??%t3K}mcTbm0c(fdX6H+5 zE8k}esw$wJ#~`Jsom%6&mvp^C=LED3e_Mf10{8%G0nB4Du;Ih8zwzCC#q4fR+t{v+ z3@9~tpT@Zis(& zxtW@eBlY0iVQ9AW&D|PMp;=NKtY1N`1iC?e22#3J9H!kRo`>weg2e|KSV48h=8G#B z&C}`|0xwQ3j8C8=jk280eVcn^{;&~6Pc~@>QUZg)iYJ#&&ohjt6w&XvFP0uJZUa2% zYxSawvK%h3$Eb8L1Icm{a-NYa86rCn-P!p-8tsv9 z2+SE3aEn06aO%I)QbDp{OgMnl(@kFKFzo@`QsMpiUjzMx0*d2_Z+CKYte+KBtX>S; z=PoWMC`IY_SbKRrcO^(*K7D!!qW;YOcE$cVXCtDt7URvm#I5mb%GckSn?3{t6;Nu< zzL!v=AxO_+Lotl|#Rc%sPW1Z9d2`UVMFRKI`D9qgLIoff0{%Q85Jq<~`8J9R4n;Wm z85pP_E^jenY&E*7bBQN0)Q+eGVSHAADwjP=h~zM8N$`r>=PpS-Vv)r0s{E9z!TFC6 z0wObAKoPk`e_J32sSvzD5@iF&@!CFtWD7yr=2}GI;Jj1&_|L$ZV#dX`(hB8#C!arFo#&NtyMom$C5j&@@Y6>l z%E1Wafy4-4$^LQ$#UP#m#7UN!i>Fjc#T%`U^PPhOcok0jHlWc zr%fngB3&oCo+>@rY8owFFSXe6Wob#;-8g(Y(WQ3x3;viY)xF&am2E65iaaQ+XIdIG zXlckIL={ioDy~qMgGiRZXoLxf*{pHmB_QqNiGrjuCOOJKBu4#r{4>+y)SYs|{bwm|iI#2fl!XZo%6k0kUfPqLz?VUl7i(Adai z-e+#MD$H?kFRWE0I6@QiIwrzyRD}I3i9oh)=Myn`yZtOx*>Gi`0Ip;bGSqyrAA}bZ zHyd!3?;HjxA&MsyPyxKVX4!8Kn^Q^c+E^5aqXZ~2BKQ+EQLK(tHbh!G4WL8u+pBYA zhm&lHY72%RL|Sdq z={|~Ik#MoXf|@=f4aa9_|71?0>Ys5_Lqu~M!t{*vpaBy#iqt$okh*kd=ZJH>y}r=- z`YF!YEk^CUY1y>LwH>?t5ix?bkbd8k1p%C{w0jL8O^;QZ*+q0|4*dPy@#EqA;)rpT zBOLou-o_P7zgofeU86y_5c9T+(ZUWLo~V2oT6wcrQ|8=#Ge}5btccAdyZrSEXz^IB z-8MDyl`1d`Sqdr=w=&{r@m^+AT8Sm`0Ru$~P9gefdoJXh1L94O`b65h6c;s}P!`4P z3!C7lEiA4HL4`@o^%hnmA5T2zNl@mZU;8~^raVY!bY05&?T8rE#gs=)H__B$(jO)> z<9MMr^L~J#8zSNWIpwQO6~IIZMHWdyaDe%U`gfKd;pf);S|>M|R{}FeV9g@vCEidz z#l-N%CQbP%HJN6sBA@9%@~>7&p_0*QCN|-3^PwM+Kef0L?nwW{m=L-tPEgTtypy(%A4Uv? z&1{#RiPYNeugqyE=U&V=JGP;d1ksZ)-n@df3Us%Om3y{A zu8}Am#e+#sfgkvDUH2KrQqFS^i#O#juT4+$0@_O>5STXC`1}Uy#i%nZQC%W zle=$|5}n8q1ak7qwuGYf5OVVNl&X9mMNK1hU=i{y%97$rV|Wgd$OXAZO7 zBs5?Zh~U-$YmE_55#mL#U>RS3ME-lIZs6irOLM+@Q3Yd1es2yepjJ9seP`i#XyoG` zP$KXY^K;MIl{6tT*)%g}8%I+9B$tzbm~W&!qisCJ`)`33w``7KrQZOkbYzMC76HkN z1Wy@5k}@^+C6>Bd2i&81aoG~z*CfF?IBCH&>QdX!RW2(y(t<M`{vv&Sk`nhFB^d1VnNSGL{u`Y9fputKp~#vDN{ zXttb7o8Yin3u6esP88kk3WsFt*t-C5dKWngMVGr&mXHw(vodG|(`mV)I(`&kMRb0D45i$bwhL_w!W9CcmX!mhI%heFZUUk8}qk=)1HmCL;*E>(!m zDXFtW)0-j{e9>4J?cBu@U3T=2 zMt=Q3LgO8Huo7-TNndnML`rfAf($P0=EiBJPKS~;S)vG2DG)fRh(u0B7J`E9d}j%` z8br0!a(y*-Z!T0V2Rlj+e#Iq_eUCO+17_VQaNpuX+sxxKH2&Q<4J&}UId+PMf2BRh zbUQ*aGMMt=UeL*^^n#Qy#?HCpyf4qQ3r0i~m;|;$A}_ zWspMKbgA!i9PepqHs8wHU-g=oQs?L~F9wRa6-yRzEmkp$a;nP?M(iuha0v?EI;O(S zISG=5Jq!Jui7$^7YhSx%^75a4Y^dgAgd?jgQ%JQsjg@_)hZz`-VQ=p z3ld!QGUUkwxjYDWcp)8LF}WD+N0JnxGY;n@g%+z}ous(NgdYBzKoz~aP~MZSWY1pB zU@Q!F2S0F;Cl8nM>d<#Ql#5ZP(KerY02r3R@+?|I-r)uwZZSw{oR$nnVUF&<&yJ7M z3ze6+**lYkWKc;KyM34mMMy(Mayi`IE4I#EkDjit(jdIoSl?}RfgYuNPt%$V>8Jbl-+j{Nt;)}pOry(0oQ&k~g z^rm{{K-`x@P(jistBDV;T?g)&BH%VWLn1HK^e|{c4{GUHr-7sP$l{+uMRT ztMYVoIGWlKM9&D8lWZ1z{S4O=yh1JUv{7l9QRn+S5OngB-@knGbety8TCTfZzR=?6 zyH4Z9v$mpnkDd>Dd$Tg;aoY4X5zh9cggJJP^3M2Qf0dg*)NlmP?_CmWU8?@3LmA?8 z5vVjIU#S06%({tuTXYmxlS!BNmB_2%t?56xINF(BM<3*y_Jy@%a{W*wRw-jyW;^$# zB^(JIDZTAZ&1p~kB@2hmV}l5zkSEMWHrH;{uhWi0$kI4SeLau6qiK24r+87&-Q~d0 zI6*B9`*=S3dzAhhE>DNn-EX&AJ zy&9Di9|Bgpl{gfWYQxP``%6iR*o4|GzD4>fkY@w$y6>!KY~!EPvkJS?4Hy?lU`-gg zp8WV-s{eVwlaA__b*_|Nn!ja7>;#nH3e>omv)c5Ha{|`K4#gI*uQwwi^Kuwb_msv< zHQ2!fJc4`PtBcNR7P%geXLaFh7@XlTB)=--_VhpXDKX@u+Z+3%o!OW1b4LCUuLHCW z))VSi*R#}{AMIDZKI$yu!HS3054jfsr%3set&p_6t8TTz0@{Rlek>O-CRR(T=oe)8V zAP&9FubA-HXNJK-38+{(R}ROniU#}hqgFyAbxl-rE3%|DF;eDVMf0OS!up3C|mp19M2{%`y@J=t}`c)Tyvd$``tLS^#ww zwubzER4cF<5~;KDRzR^ZpAqbOGT!PN{CAG{#{@-7b~74<7@p&Rw1)?Rhv9*=Lu#^v@bBjw=nQI(&m)XZ z-={~Qm3`jl1?fEfw4^myTOUGf)x&S?Uh?k$4q<;y4q+b4(%K0pk*nOuuR4rGjsqxO z0q???6F^-A;VwW1QmkRU=d1rJIRB`aT;pD|N=qF;bi)3B-Xs)BsDQ=W>v_82rdxk$ z>6P5;AC!OoLeN8Xkb&-L`kR38=kqQQ;ubRvp^+Zm78vtzOYjZAR~Mbh?fmwy8-#BU z$3iMDve2Tn_UCw@5`7UYSbuJG0f;;&xBITCWo2cr85yIY5ufvj#?l0rs-?64HFE!X zf*~Le-{X^W%oM3NO8}>|jEV{d2f!1~1*-k`+KF#;;2UqxW>5OfT;8f}BHu#0W0Nc$ z+I7((E)pgWGxS$?IbsG1a>fFzAF%3Z?)x{(QZ8#6?l-R77tUP^(>qBS?yGu=@L-Ln zPl=vzD_#4`-Vf9Kc@Lb>!uIj<$FWnBg^K^WI{bIA#NI<^J(R^cfmZ-ol?M0_A8o5L zKm&d_E?(n`C$mKZA~6<`jECue0>tlswiCI3MVZNxOqF;rpOw^pOST1os%*gS^a2^j zJFrDodh^XXZ3XbwFr2SrY`nj_?z!GoUcAEWJ}YjzqDbbjkEpZVmuLo9tN}1Vw0>Yu z0oumyLStf`&F)s>J*dxy2VKtIUY%7pzY6VyxUA7uFVKmE`iAijWrfM-2G$OGeDAsC2BoR)n;fFh?y4UwkL0zf?KBg}th!|%@)#(jXF<2@z;d(5dEG~y8D?8j7G4g=LM z7SPlB8AR5a0L>}_MW%aMmj=(}f*_g2g0GM?#R%ppj#OYAtcfJ&sq7IB@ALmer{7DA z8)4W1>kQz;<8cGF z*odiy1_2-$z3|2QMB2b0xLYYJ;Xdn~UKGuKUj!9Sm@Uj%}h?LX+k;3Wt znv9HWsiL>a`Re3@ATnqUtSYb761y>rw+aCwS0N@Gy|}2TXjvO<+y83A02o_5>mwik zXH|tKs6d9NHPc}Kwh;)bwl2Yri27??;p@0?+?U;wKL9RVd-M^2!OxvRzaeiW2i7_Z znD2Un2D{jP!*NK@BJ}?p0WL^5JT?lMgz#|Q2U?o??UusHD&BqEKq_}J{L6-eRs>=` zB|*|?AypczTd>KoET6KCO%>Wt0NyXpigBz87=um!GST+_kxTtMT67EHlY246%aaEj z07iRWCP!pIdRbJZUW&bsc5c_#lGZ;_KgP=t!l38>4$;4oM;`pcKmq}W5Xn?7@!4v# zY+#X@8z%ewe+`W#nlN@~m9Y5!!-P|+vnFr6yV^dNB@G_q`YVq79>(7XJUggvL-PHs z@m$UhjLP3O{#W4h=fNk>3n6V4&_MiOZz&ZA{7d6OWCs{Xdhu^HE}U7{z61Y>+5cIX z(1P5y14#s!O^K&+=x~0OHvj0>R_0JwRbB4}8@D6-{D%l+Tb8O}AYmIe_oeUM@~c z5#WGV@@JLhzD9tLJ60q|={HxDgRIn0)4dyVS)(+hb39|jxr(M-OS-0C{8%Sm6_VUNlSyentt@DAKZW}1 z3E;T_tXWKMEAJE!o<6javn}!ODf6}+RoB^J@_3rceG(s^vt=C}_b2j0W3`2O)2P*C z%Zbj{QPnX@tt2WbRp5)xJ7`R?CxDwMObU55UB0H&6m=qs<=i$Aiu<8>x-%%01-`Ll z=-R%MFfoqZHB^bJ@@>~lWuk)h>PsZhC;By1C?JzD#{r}3d#q*i|VL(nI(t>&V3An=2=I7S!U)T#hxEk08}6P@o4 zzt8sxx1pCHt%xHAi~8L51VBV-#<>HDyw|>mWZIZmI@fxrFN(|NGfl&6zAL!D>PDA6 zy5t~?4P>~JD7V?~PPGtRV|9rN0vk^?{y)0D0;=k#i&ha8M5H97yFn$igb5M zgS2!AN_Tg6cek{3cf8@B-}k-u*1C&z*JUYp<~MU@&pG?-?G&Y6o~b5bS!Tc8`k^rg zX$JxG5wiU80zUGHv$`Ik!-9wbSWuNI4PsN&`bjz^W-Xuelds>a{c3s3dV+2$ntZ}b zbl2)M%CH@7wq@CPY3ImlwwRRf9)h7#cv9+G?o^*xRmgJCw6F(-hq=V#ysM%&SK?Ji+D=8}$92r(Cf? zv;WE&8`EOIT(;Kn6qhqsi1lt>ts>w_w!x>U1`~w)C7yn6fq#j`M|@z{arGl#!$4UH z@o~-B=0$&1%<8TP;GWBrBI)f8_=%L7hl+$~A$-?vRhpg=VHWqj8|@Ob zcjMxtaIdm`&^59K^|2U3sn0oCiQaep6HUY)>DvlYj4xoJMo2#H45pZ28|rCRH|x%A zrgI+_BO87^l5VbWCaFQ#Rlzl_)JcQWSKnb-`&fk7W46Zb=sCYTv%#*wcV7RC5*rRA z+r#Uji60Ui!)r1gQTHu7(Ra8>`k~!=TwH9=bc~S*jmq?Jmn(*7YH;y`v zK`A?1=CNcmGRS29EKw@={eF#InQtFwZelaT|2bP%`b%+8mnn&w1jLLHhOM^sX$tz zRB}<4k-7m2d(wPCoNl8s6qjW4lTFVNd9c~UCAO7YP0~E4gQIYzmv_%BWqa=r7Alu! zJ7US7q-%@SDX$9$HIG|(dw86akoW#Qy8>mwVInendWL!K1hx`cY2y4gW@4+OR)&ji^z!)hyM@alG+vnp>Mr1_k~K+jA` zIBS0GfF8K)dtnga3o8+4c>4P?-x0%^KBYu8fyc_xeVL|wSbl*eR=9#ZT7waG62<=Q zxP44N2STL}6}jK+7T#dL=PLNI`~4^zx&}mgHMj508!S7sxgV{2B(Epf?4Z)pAR){ z#@&or(!5S%D~DRP`I>;tzelkcW`b1{%i@%3p_;~S}$>Hzf!>5N)RZ#3^F@mX? zDq7dSbXED@X1z<)<-^2=|onF3;C94Y>$)N4A&Q<8$}!{ zg0oCTY@xXWmsYXo>+iMYgBCF*33xoYa_GNLTsa5`u(=X%<^T?WmgW<1+-3LfY0ybN zRz{|K#;J`6F^nW%YA|4Y=OFM^a~Czs%2&dqOD5VZ=ps*?Z?j%tP<9isB+H)|D$H-0 zWI~k0biB+V?AY9f_BP4%j{Tc0xqx^cd-60k^bar*Y`Z8k>6qCeCk%calKDR(4jqEM z;VRfNjDP=*>XjVeF)9X$^&{z4NQh*t#JV?QVpK5%%i~_DE3fcJp?Gz@_ept;!=Bud zw*tjPr(1a#rlblNV1l_w$Uh6mL5!MU^>$_rYzj8a3MJ_JoRfMsi2emCxw2Q>Wwx!|3qX6xYQSH?-rB5 z5OY5b>-s6g7;z?o4C1zs9zpla*L~c zJ27Tt!)qctD@5uyu#QjgXz<-S(0ijo*xLJ+!{w{`aPIUPtWaoU-hVMd@mII%wmR}3 z>#<%EdefBaPT;qN@WKV!YmNKIyQIIl00bW`Gd^G6DiYqihrgHi&hr%rHR4_Rx1F+QF)J_$0uA447hwmPDsL?RKw=HvjQ$Ye1ZzClb}Q*JnM!(~hs z5dC|z4nC6Q%3uW@_(3ME8^Kypwai%4VBGMGr^>N|B`^9p%lF|cuRc*XtFiZYPkKFPsS`BI`mot+ZC)h`$xbH;?!NC{)l3d; zK)T&;e0hQ)pt1b3`)-01Acm~Pw_*G@PtMuaYVzq#ro+Elp(u5iyt;~n-n@_|EYPwK zv4iCV=!X3JBUX;K?5>j6%(sqYe_=Dt>VYsG0P;4@%W0T1c50SMgFU=IH-DLg>|TYqmdWOwy|$RxH)ZfYN!kRVeBzn{lfC7b>g+`)wk z?+#C#=7-KEFsNC;B`^TyDGzV*$%f^98R2Mpwx?tIS>r7iYrV-T-Q2J`dR7F3DQUQ~5DSj09NLA+nJUB&$dQGkQmY>(zM}j9oMga#E>~gs>Xid#@5uk~vA!`vS^J0G#PbQg3Tvp#mlNOcs9_3+k10 z@Gynh%(1b3nq#-{<V!^yt8P_59AjcMJpLMTc3zw@srph zZ4W-rm3?CU?y?An*R`xU%2vWlEd*7~|CaE5{+q{>=mPmYV9%~@3o~#9ShgG?VLd*$ zPOemR@H+_c$6uOe%7ZhcI$8VAZn`VX?R;qh-xKxJo}FxpH`$g1xrB@j%qQh1osie4 z8KFege>!)6wqpBU6XWLtU+LLy!S%sxv2sX=yj1 z0K?HYmW z4QcHA^1%Ff!dg4!ABmI2@=_s19Le;m`nJ}N8SeYkY6@fBEV^$$SD=uEMLLd(ML=I% zS7@FcexZz92JD`4G@3kb__Quv?S++^hP~M-$R_l<29yhEOQ@ zh){zH_BcDIo(yaJ5k$P!h%Aq=-+gbA9M5J~!@V>-4#6V|eN3p!i-zI=dXZ3&=VT`Q zOuBVWna}DgoOG)+=#_arG?yUCgpcABZZ9R#F<3h92#iA39UD-_|X zaoPvEj0}*|ZUnE)a19C+LdVJ2qsBErM@mv2UMRlC(tRL{ z($}sqPvjX@)v9TBq=#W7eNA#=)=hXDZ~>rrXD4m~FPmqH`+fy=_g0_91$K$Fz<{ds zYzuX8BdUyM%}8?4sVn=>G%#p@==dnPg><|OEXO2(Cs8_RxGb&OYWV#7{xpksM3SyS z2#eJ`Jt+y>83^h;wpMPlKN8AZq2^*~Ae-N)l?NnP5+`ovtv8ve>OPglkrau?WnPp_ z4N2i92487bGUC0wKUf%KdTan6KX>Ob^WvKAZ8WqTWV!377?n*XTs>cSuUNpNQma4G z+3Wl4ht9gwl5edAN$J3yDy*#f-s@5XJn?p4Xyk?YxvEJ2yxgFfT6?0K>KkOYZgF;= z9Hw1%$7ZV1^^#apmy*DmN>kFiX?e(U+tIXQx)nrA^$b?bU2?MvF9KXgK8GY6ZuSIh zvj(AEg1*aA;&6W}Y3bjfarfYUvHFCQVAvr?^E@tiFirpWx5HR|W@eIU3uNSK5(>37 zR*(3lO9T0D+z2Kl%kay@N%!d(rLI%ZHed5h!qf3vy&q{f1*#=qIzw?>hQgOz4jL4S z0;df(u|-;D=Rl7iaC3MHSkJW6(#5#olz5Fi%r=!s-41(B!qv;>roPTJR-~C3ImAQY zvPp|=&z{gmr^j36eaxj(M0wG2M~+`? zLNFyBH*bNYj6FQqDgQKtdo~LUp=AH)83;eY4td8Y!adaApN@CC{PGl7{9SHr9C$o% zHh{!1n>s%}1q`wJmXWZ-%Iov+Bg;s;yB}4i)i7p}o=eDHa{V89o1fw6zgR-G9n^`~ z+lHVrWaZM49toH9C%SC1purAaTFwxAajN7%7K4kc371i3RM{#KJ{^qKuB*gG*EkfY ziXb18Z|3QZKC@z;w6s^=lryHl&@r&kqM@Qn&(!LR&8>HE6^+C`j(?fPLF^t~@O5~k z7v}keJ9*mA(H|aL2@k8w=YAC+VE3ZnLj`^^_#CgxGAM{Gdc>ES-;LH!PrE9C8ODM% z3mRml7!CVV58N;6jAbONk-u}H%S-!I9`By-%`pLG1ob+58YeE?1P(jO$F_&lNezn; zFcB`sZLre=!y|G6GONFu1@J&Ls)tVZ^ju>*!R8j&*Ww%(&Ks=36YfSXs#1OLZGri% zKUui5!X!yBhu+@-Uh>*foY_Lqk3Nd0+cGZeqS;kF-IDd_-ov2PHSTz8IPb z^_7nE>z$&!E|$TosNSoDev-vEn5XC<9l->pfY{QDOF%pLkYQ7yK<46N5PJ*ONO~1}68RRAP@wmP%?C;auBhMP4d@?(7Ek)=j_~{}$>eM*D`|Ia-E`E~w zfX(j(OMIo)zo1o3kr5*X+$@`rXFxuncv+D%J2bau;GKXuTH<34!@8y;=soWElicda z!Nr?Gc#{cwTGDyyTP%Pdzn+d|f$Up>4pFHU4=2@T%4>aVL4L~j!GWqFKae3wUwc_3 zZxi&Rk+LH$2H@OIR(h7&GDSFilE3g_BWLH6s~HHkI;p-RsMj8Y&b9eU7Cn3pj5J3) z?l(PhEr<6(ZzoU)lU%y&WR-x>Q(G{Ag2jPL-qQ!m*z}OcSVBw^p3sS&BG}U=tjq#r4s1P z(hhy3FtYP+rS@AeuFOJw(0V<2q>J&}O=)@9E*vhA5^IB$if_KHj6v5@JNc)Mw@48RqiF+ksY1ECzn( z+cGKpYw5?7Y+-cYgd#Yw)0s_T0;=C<5|b=@Skb`<>BHI5N2fc2)}3r*uTu6oN)zZ! z9Rr_3_k1LnGYnbEG->NxP>2$Cs<=D!=S>GyzERGDdK43zfP0W5Z-;$qlBc}OJ^5{( zlkFvjODG#V-rF8R^lIu(we1O#+~~C2(?B--nh@%Dx2pI4Ij?@W`wFuZ(&h?PDi=gg zq2*gcp$)Pc?6pHd)1~};o*sPIyyywC$BMl`wzYV;{#c|~BpOz%<;_Lto)9%MoCB;w zj9xVtfYDS)O0E2Px(q`ca1Mk)oV*X;ur;yy^M;R zsuncLUx(i8hCb#%Q|@lm#_KzO%%bm}Riy|szo9UowZ;vYQ4OyoEaxZ{g%uDb>Z?kc zyo1BT*Dn{ze8MTs2bGor3`{CQ78r;}!i=p@@oe<&AJ?uum znBXVqIbF=4n&NOqbV4O& z{2(OXT`)9TlBeN-8`!_QQQcZwLE2HisU_;tVepwzj^?eDd<|tlmmp`wM8ARhGvJMv zoREKzv(L$UjuYPoADL8+F2_+=GoXe+^zs4m?ySf|`r&qyS1=3bV=(pLRJp|x5Abkg z2Hh=rN|3SQ-6tWB3ybS%Pw>Wa2a{H7pT*Kj(q~pRx#fo{bL0|yQuMN8Ri{Z;t|)8- z9!(NDoV!usqV7&z-%h7h;u`jRXXy0zUxEeE&fqp@c0S`~aGmS72aAjG!y_fP1K5`1 z8|6V+GB8=#kT7TI#H$=8b5_NoDPvvqp`+)_A*ZvPRGOXM!v+^`Q$tT)TF*+l6^rO| zB|**F#tO`}FPzeGk%uLHRD=})>AR_`>b2ZWg>gP>K?ydRngt#uw7L+%l$r!{(Kjw{ zN_vYs3Cq0EdzMI9;fVEB)}655lSe9gRq_Mgiqhr}O464;GF~7eH9KMWNBPk%3F80u zVUZr&0?Hg2k2HkGjx*o&@HjRr!pB}9CeZeIy>Q^ZNmYp$(>Ve-D14g8!^C0Vs6+Pm z8Url%?M#$H(<9^Y!dJcg+3B6yQoC||Qfu(arZnk4&+I|grBoeZreAJa!yKYZnA(&) zF>JC>aKwBw9Q5kO;DDWkqofPXN;RDTSE7UD!w|=ZaTjW_z^>!~bM+`vq#apeEM;Fo zG&&`nAl=Fj4Qd$MZ+o;}m}&@+?GcGYNm^5t784U@#Wcn4f`&E$*b-gq+ux$0;aP{& z@A_#|FYsJ0)vAZUR8ejQv1-^!wQIekOHm~2*>)I9UeI`U1R^(jGUdzMY;2;hXLrIq8F#Vd$WC(9tgzBymYY*XEj@!ctX*FllAJKBJed;8UOolpyNz+%dII`4SD>v72>8HvA z9pYU23`taj#hZN0q!asHdUoGsa8D9{i?PWH#30{YD=$jgfXr-qN>F)!`GSA8j<&1KS#{j8NqH2Z{jhkY3Lmy`~y7 z#}P4?$9jbLCJvTa*Q{dfQgA!{6|Vw*{0dP1Gx69e z2u9$@_5&4BOacs`m2ofS*$tb;g!x2Vh)n^zAAD1mPEU_gEBj3M`j>7r+}-HPm0zw9 z20Ap+R~cMquhq8wy5Rac2)>!8*p$w853b}s)}h?!RSqpzT!vzb#E+B34K%uZZldu~ zOh{`slyu#~L{V>xts3bH)XG$MGK+X|(HOb4Efjo($DO9jSZAgaOKN|`5x~dU6h`-7 zi}}(>Ru{XGd%T&q>xIvu$j9adsTSW)g{>sz1jA%pCtiOH1Rn`Tsf%&;nyOOB)ANxG zE%d#)<_nZIO!hn4Z9HVqUf#IrARv0z#yxP6zG;A$SQLH#oh|L>eHjUR47J^Mr2BQc zgsr(Hv;4y?WaUcfxW^R4GSug*6sGU5MGY>`$xjFae}z!R&g>kLtJT?)1y?xtTrX&w z5njBZb;Q?|*?(WkVuYyRFZ?Y^Q$2D=s#S(tlP0n{Ou5k6#4p8f{A0C>Awo%{lTA;V z$xEb9nc?#`q4h}mIi||R*=5eW}&$pGFgrfR_;vk zdRW1G6Wo)zvk0c>T2O>>qLAT`{lg!Xtmq!RFC@g})n4M~LquQ>{uJbjgBCzq1ccPp z7vNgn3#h5e2DVRGzpY&=5PPvPDRHS|W0x9P+Kqs(qtr->6>O?}UhX9v;W;NLQ>Z}k zBgV%hlS}T5kR!$W1{4Flw(A>~_{@u(Q;brG{CgUrp3@v*>hX75J**X@O3FbIxhOla z=|h_2#9sK*NUG|Q8}5um=Z8|nN)h{1-YK4YX`(uv!a*K0&;2K)x(#Xo-PE>h|vNFr3~0e z7(_5aph>Cn&^vmV8G$Tp>Okoe)5XWV@pw~iXI~G0qY?!u2C~BSJ|%Omx#kvqyhx4T zECwoau=~9CVu8AqGFm;eKSjIEplA84ooZB5k?6!oUai0Wm3}WMV64&P3<)$|T!ACZ zO+G<|ftd~ufs3*Eg}iP>@*z(XrX&0dSv|&alAtijRB9*e&FV}$)sWkvXDk(*-}w!x zh(22e^mN2eaT7$>=PLoWFd-t*PXt8UygA>3KH8Zz4@#8--@o`PeD9%yYCM%wbzQwG zeTUIr%jZ7>3G#3-Fc=(+-G+_Da(>?;C%WS{vVNiLF4(2~!4%&@I+biI313xEeB%$B zA*Vbht!{ElERQMZ<{<}7KqNln4WDASqb8Yx8|FxJEcNMEH{jne8z3;lvPQ3Ss4%bd zLTW4oEB}HQ*27fm6l?>rF51=A4wrkiUiE?^_ckFv@OrsvT>XjoQ_Bu8i`6GK+ za&+4logU#QxFB>K$oaA;ntBhT;ociPf2@;6dU?W_>E2U>^!GRrq(HqXOXKH#^w4ch{voFj-4``)Otw+%CER_f~NjvStUMLgt`X0yi6 zxa38Ssa}Fcl9z2ypFw+d1I`lKyULdKJ5j?SqY4J7{p7hGo2})AiS`r8T))zbxZ5iI zaRXU~`=KG43X>?CD+Stg%df&kv-)_B z|JQj6jML=zpgV$w%LXH8*f0pRh%0hpfZ}1Em(TCY2cd zvuNIs=RB%$FqSa1;w@135gmca-EnO3+5A6qnHx>%)usg_xAnv6iDjL{TO*@9TL@-K zY*Qqxo?PvRvcf@(P)a~nK%JZm*+Mbo{;?mEF9a$40JG);jmA2MoIif~#59vm7e3+x z2w-UO>^|TD73x?-(~a8Zv{SGT>;LLfNaEw(ctAEL*Nt_%Bqy#$;Jn2&4(FatGMOpc z>oq7u+{W+vmP1@KCqO^tXScS2s14Dv?XNEON%Jf9$j8!vM&!UuxdKlfH}uct{FuZ{ zgE6c24I+a5i$Iqvz{kZ3nI@<6`g+2Kp*h_eiNq~infv& za*3hj(%GA4&lcgr9;E{8CNm>kp~}>39TG$sgr|)9O6n&b*eR1Ee_|`ZH4i^P7^7%? zu$n0W>(KA#(?_290Doyd?pCUTqXQ)b^ zyJ?~V7SKM2KebIap^zp%C?QjCZZ;O0U!X2r>te+F0mc$n@gHg+pDx%UF{&qlBYz^p z$1^t2vqF)qa3euxzaX*3nM%bW`jua9DHYvsg$2mHO^3>n`C2jfALa!;1?B#O86ph6 zj_v@N2ncw8^5+nRp(bN!#L@owV}D>zn5Xaz@z*c?0wEDF_nYgtPyA@;`6HoB<$;yhnWUyoQ?A-a}|;AB1~v-x;j=T{s_ zkSi`k_5*#{Bez%I$D;dGi~t=Lv>w(;>?t|?1U+}7StlDKCri#L`3cdFBy0p3xA4-k zxt9~CAo=!rq}BH#|K<`!))I@Ek+h7lWWFkOS(gN)QmR330u5~@Z1Ud~rN4$8zzhW( zP1D@(uE+K?s*C`ymFZ?x?R3H81{WkbskRC+{rJ&>eH%4vz62Gbj%?BEWviWR5Ln=y zz97htONbE}sG$Q!5I)7x4ih>~ZRA8hLoMon@P+TZNIFZvdZVy$ztLlQ%Nc+=;V|a& ze^%(93nQEl8fd;rJ~DrajJpL!cf)uyK_hg|r=kx)Vp9w_hGw?f_mD3qt^MC*XmL8oh2e7lUh9c6M$#w+8cbWmUf6G5g4R91cDTOxwm_jL*tpHS zY7A%r{zeOS0qzQ;jc!+`-yg0}YHfcj_}*Z#8-JVCMsoQD`hR zCW`IrxX~24IX}qqgU3|plEHCfv_08?rz9s&1y(AGKuX96$Q_jH-LOoEM3IL4ZoDB= z05|YwgGQiJdVUVMi9%MOiW%hLor*%vBG0)q$dRK+dmwvh+)LQ<6O6GQmskPk~;C4Pw2VC?~AlUi2 zJ6!XFAMx-=NE+DTO3_cO%OTO&mH$h6_Tq#doxYLm?|_oFvZ5cj+#+JI^(K{05Q?V` zaO+<*7Zw)g`M~M0o667btv0NT8Qn-ZI9P5?#GrG)3Yh< zmq}ybX^#f2_vJ{>Ri19?g+(S_;E)TA&tIPJX-J$hpgY}d3?x!gSIGbLW7>-lCGUt3 z_}-t~Ch#K-x*?iMSwXqXkjeEj!1@L$+vc%z9q9du(x@}3K>gUY*~hl1^P-kp`obQ5 zu{YP%YJ@;i3Yri!jxbujd|d66R^_^lEY!a6Lv90mJ2LSJ5NC6_r+5DEP~k<1j3`Tr zWY=D2dRJ?g8y!QVKCE+Yj3WO#9wZlDz+;kI?OZf@Bm*BjX*0EKIKiSWslaAz+8PF)m3fM56{C9ZIX^4n?6W+Oj~##L+-p8KIr4(W&c zq6YnWb7NRS?TvMIMqCS2?A)IGqP6kOsk(#`a-I9a z4u#6d{pjfE1P5}YaV6P6hp=mbqF3IJ2cntw1$~#l?n(v@!!T zD1XPG@C^%@tSI2=$@dZgTTVd7*f_{pqrFaJ9s%i4NFODtc>3cW5ZaLla0OEG^@;OV z`c%44>EtTw_}t(OwcngKqeRu90VjoA=Rtu)Oi^}R+m`Y_hK>9>%h- zlZ>%%6bRwbzGz39j1BSabrMp!{wy1shPt?6g#rRaT6LI82pJ)^=T8z@_H>rcmCrAc zy>jy*pFCC!>?2O<;tic^qZj-GbllkLZMTMXda=xZN0O8~j_3{omLS>UmBrYXll16; zkxG{-+Sx9Gyd~FrC*w|nACV{0t#lpfc&z4{Dgr;gmYDJi&0BLwy4Ho;?JV`Q#K>nA zI^X%Cf6zaY_u;hgf{l`#DS_Tj>_k=W5PJPq5W`5$pW;yx2?j8SvEIP__Z|Qg1Sl`G z-Sz0?WVfLh;Fhc}PZKg}p(^YBVx4@b9P}9t3u13mJb(M8r19=L$ISj%1NXA0x#7auhM52x~p-w*1 zv{c|BaojLbX~y}zONC%FHY$A1OfzSKiQ>H2`($z;@gk6N^6+e9v}Og9*);nVi`W}h ziuVM#mYKt(PGiKI3kl455F=CfdmfJd6wikthbAmJ=-1<{6iFZTz&&aRb=c)%7v3=8 zQHtaVKsHZ05H02YK}3JO;lqFp5S`Qu_|_G>rVpn-F|#zR)0WK%2jQ$H{0&MBMlc7g;enpauI-kyL%LIBHk-L}lcIP| z<(i-jFd5jDSR;1yqUSSd>tYaUALt2yNXRitLrYRzTZRVH=KnIzBiy>0t3Fzd_D^^# z6)q=zB*9n!(&9|(UKFKZd^5 zDu??Ub^Zx4{{C4a{McN>e;@Vz)(4oyNj!i4{B*zWz-rah2ZlzO*W&*^=RaU7 z_^_SEE1kj*-ynCc{PR!JT%g2w>d$-Yh3m3Qe+@c-wx|ejs>%XF|5q)Y4+<&V)s*gG z%7bJ$;Qdlj}3&zJ+SP;)l@_C=B#%h!Jn0%PaT=dg1~c$kHh22 zrWVTl73IHU&);AaIe~BVl^L>#aoJ2ZzxNA%*~3Q{jgh5?dj}vFkZ6H*^cAZ!+Bsdn z%I9a}Q76`ERnr~K$3(h@Q)Cq!_0-9^QiEX1F>dEmBa+LO{~zLAN#s*_W%fubc@%wP zvfEaYkd;Mne$jy?{fa8UA@MWNz|I0LR{T!oJ*$sBR1&6CCM)kQ200IgfwXRJ?gpq- zd`Ug$ z+<}0TWCM_~;hk;r;H}XtR49^sJ_^*)A};_hSQEI*!7!Q|knzWaaA7$5#Q46!u5 z&tt9o6z|~(Fa0yX>hr3wTBz|l82ke<0iW)b&uboBRvIexx&fDD)C7YLr(+Q=2}hs)kVKeRJ_I@ zSJY<*(!jlHjZ&JK7?Qs2h6|Z98B}|a*Sl$en;+gF?R^33`Q(V!1rERXg0iXN9BMN7 z;6~Z6lcC)$IwGFp>@5C%lkN0O$_>8c4I=}W?!5^c`d+im-4fSz6ffRRLuwfOlp1!v z3EsNS5Z&oX^Vyr!bJs5=p{MTo*JSeR?YWKp{?L#9VyW@axs<}Zw+T*GyL4>`qnEpe zgnxT;81ZRnsf&z)pL}hq@w3cO^B%|B%UO>N%~l_`G0sYr(->pb>}=1 zLh2-5xGZk?%WNt<2s(0;tXw&h)nQ-rYOd){gWc&keRsY_(fz7VyEb>^>SS}>;(o&d zx^*64YU!_)+P5p{(uKYgvp~L7&*{-oY_8JGuxjLSscszfO58C=1^zKXV2=Lhg`WW{ zXJoR~xO9JBHCm!48qeia+C1=fB|h7O*wS)g$`&U?uxreY>5W`G$)jr=F~L*W*us_H!vwG}s^()7?oi0SR^)vvmrcHf^@qoAQ-q(6F9 zhrXSlTYp8c7^Je3`N61d`CESqw>DPlR=#WOsb>o%IaL zdc&)jv*~WYLVqJ)t<-dep-LE<`=I@3^%!`5bgz&|O5xEzI&1MULC?ERs$OM)XJ_=} zSo6OfWS$}i2tCoAYIM8NU+uKW5QH8%1+eaT@#f&2yyfn6iGr#sxt-ma_0_S#mGhp8 z_3bph6Qr&8qhgR)PGjQ-&`V0h?r@%T`g=|^Q~G%jD^-1y7fBL0?_ai8LN$X)ew|s?5 z)dXeZE5`ftPMz13s$bq$T2D|CiQFx}v|uXDY^w-Zx=q`t0G<_2Ky{o**$}Kb5q*tD z*P8w~_Og+yD#M`|hlkV9e6=zW;OTM@cY$9HOm10C8~xwlytQbUD(^@EDwyfN%o`(o zgVEwyW>Kiy?$Zr`zI3ctDWP&>v`id}S?yO`Zqm${uLa|8(IlaW!`GlOeil5(IX&va z8#60^e(Ol_xcL5grBixEM!xJM+#7nh6)klV#_J_wJ zZS#kZRjj4gNLSL*qIr3KppsWjFD=BP2{$!Fmf|Wgn8N-O&3uZ;;M1Z%Vzt>0%kR0W zqEy=Ra`A#Qz-F8k(r;r2;+#=HFEpWa87*;_B4)p}XHj`F3J2TQhdI+}T~I zlWpfh_?%RQj0*MLeIs6E6Ac}`4+yud-SA%WcXNSjsfDJ_&%iOX5&r5*f*z2ZH%^KnWScq%HcpDE(AS=ur_k3us8!pY9r06&y7m^ou#RTEV+S~~B1?LLY@Jit z|5`7x@ZocE&e>4`t#tzy1UAQIPb8-#EIj@#_5x)clup@zxKCPI$?PxbX9P&rmiRje zVK^d?kLOC<>Rw~KPYpD(P0JS3>s%LmxW9WggFpCgr3P>WV%+iS z9~$}UHFL2@*4Eei%uoq{G&|`hfJxTfGG9;?=YQ5frSOxw;KpKIU)Rf)m&f~c9;0kVWx$7cpK^b^rz1Gl7Uc_# z$XoSdOPzKvmDM1eeGy)CtsxC1mVFZI_A^n7-Sz43<3Ub~KH%v=&3k{O&4i?dSrX8h!p2XgHotM2;Z#rf2Oa1EZ z;GucKJf{Tv*^Kc>6`z(+GOX@QdSI0P&?0wd2TRgAfu_j;+EVm^`+-Y{5X%~@)e*&B z)Y9E5Z)g52(9(TB=_L~Z|GYV9FOV#SNq0AXEXyFh_JIK$1nHztUzz31SmZPR8+9JX z$M*_}tze~Rd*XW{hGsAt-ML12j_^c>B>H-H1QFB@eLHrU2E^BRk#UHJ=ux_P9r!#o z%t*gYM8y}u%pa&UU8F8fO=SE0BZ&*i-NyH>Hb=n8siyw)xQ{>BSyhp!qr-toW)6Zn z)>yQk5!PM}i$WU5X81kZ5(o{d9N(VM5tp;Rszvqr3a64xV!E^Q(`&z5BwE{F)$%Spo8`A+$F<(9nreq9H>aO&A zLaT>8@vWTH8;bnPM)_|LGV1w+1y!}eI^(rG|7(HZh2B@npU0S$(ZB3?+#ZP@fATor zL|S;k>9DUm4>whCqrSk-+S6&##Qavrmsw{8x(sexWPyfhegiI`qS9vbO<5m#{@xdo zq9H2ObyU*SCN2H4L0=eVyIG|Wx=L99uhXrz1cKE|_BSkJjA!6Eo7InY1)|*!7Pn(Fs4nEK$&F;_F=mqiT^Xy_{QMQ!AulfS$gl`8>lH@|8-oSqjATp#m*@O_1v9dF+ z#ie!2`IaG~c@Srggo;x#1$e`y7Ji)`I41TSq$2B5yvHIcDAhC+}@;XaKR&3A$k6MfiR^F1t7i1STOBtdsvfS z{{#2o&%l1%Xp6)Jz1;AlY1HrhNp3<1v&Du!wYrx z@gdKgFZOXtJ8(Gd(8APvT4|m0BhYPKSiG(b$ql#r;gt8gB6QeM#}*i`#sV} ztOitsiwW_LYwRI3Ld>YP!C}5CtRW}%T57&1cZFIi1Pc*}&k!iSnNS{kn-p^ETqvh& zhTNc;t_F(DU-E!}u#K2H9K+$(kr4S0K;d&n$yVSmn5WCU>OBY+ea`$n$Ry>uc3G1; zV&_)p$iOf#D^ERw&$jKUWSJ2%_0<02`xp~@s{#FpsSoLi8w=8U+!Z@pL#Uf7kW1la z32yxQ_@)Vg%|XfjpeT|`%vmAqa1K`4!YAqLGS#g^${d+ zyLlEMD0QAMP!8>Pr_&NCZQs`ga-ghu>vWCE8}Fg@lp3#f%a;O4d3JCTQ>#ekfBe1N z;%#{1>s5=Ao5*B7&o)zQ7YxiN)c~eb5mc|>Z=WsP^PGq`*xMw1FdBT9qwF*N3uPD3 z^%vI^s@GFET{3%iJ_g&0vKGVGF93U-uW?4Q)3;EGOxRq-+MQu|c;yR-TM`lyt>(*! z(l?I4f|_p!%-kf$yc*?ygjhauC}zltA{;Y9{um`@sDfL55xl03CL{B^XQ`$kM9*WT z0yG`_2QHdmgG(dp2s19)pQYug7U)^3PGOj^qIOx{3)nlAT%OisDHq7&&T4jU zpIQubNi-(89xbcGnC^MEw|x1mz&S3CP?zb?!T;W8OF4U;G2^+H8sn#&R2vbV2@F%Z zEkhU?6)_mb>6)_C;?xoIC`9Mtk>*tXXIN$;?-fsOj)Up+Z_dpaEEaD?UK5libK8gj zgPPB<8(*qTHf8k8D)7HBV=)M0S5qiv_Aa`)WN1I!GdQ1ai5Ton)#5;ct9~kno5f$+9jv6iBzbRM3y6LWPGnlu%8Rg zZakU)y)Js4k~}dfpEF*tJBV3YNAZ94K{_@&h@5ebF8v+9G^4h`v&18T6VX%bz?ww1vUZ=P~_6XpZH>ZeuI4`o&k#!QUdU0IXu+^m<`K!)y*w0gQ98~RV6zYz*2crD!9FpZpFvDP%Y4Xl4R6$U)V)fUaH=^uCOPJC6kksA zH{-809fH15*JmCuw;KehE%Awel)!>QA(aXTu`_qLLKJ9FeGPvW+hxsB%w2MN}p*zEbOOUjA|0u_xe*YQ~p7`XjLOj_A-yh$y+@)UojB_M>>`>vwZ zyBmh87EECeaR@IuC9Nj)OKI7KxMfk^`;rn95$?B|1|=p>J{HCAn4KfGti-Zuml@!c<1Ikbhju&> zQvw3LR40$S$}1aYUfF6O$jZ>>nJ*;4cJEi!;g{-|DcW39#WQ``qWhKKX=v6`G=xuB z+nO&z{19w5Kjl=cwft1^{lGQ5aHp>1#rEMAR5ts76!O|;)8!K3{_wjl<8-@8(KmQ8 z6L~6qvL5GUJ}@4i;S)p1yogDcH_AG5d1z)MtBKT@|6M?0pP??f(d%p$>$9Qe3_?5% z_gb@f6KscZ_)FNILRT^&O(vWgq-#4W)SjqasUlWq(D%N0qf{jq8m+plkNcQc2uB3V z68THK@4t5ez63-$vjK;LOh^2}g>f7X6D*duo^r!Ea=y$V@qTQdEJyS~0uV;>3H@wm z9u*pl&zDYH!sz{ynAA(Y$i4Bl0$d3csVb*ihN+ zX40k^*Szowi80x~{$^D*Z?&REJRAf~DwRae7WbIfYo>Yn>dQs_{@+{xGjs7HuD`z; zxJZ72nhL&!`akTwWmJ{j)&`7p2y7bZMp~phq!bXOyGy!ZQ_>-!AYDp>bZ%FD|Gq!(7<=q-@4EN8*FD!-b6xYA*If8S`sSh069n3_GvmQp zR|-;Fp}+oA+#fE47Yq6BCsz0F8GhA2TKtrUp|qra7|^Kf#svAgtdu)r6q~+C_+?Q3 z&J(6WLyb=g*ArlKRxF(?3%g9qEaYp?}w}QIHb6Z*p6utTJqObA^!H?g6{mc zY-(lg{Oozf*e2_-7d}sfYk8u}TXF(PWAMDyTqlU7MNoDEYg*;PhR5PNT<-n~Kp~Se zMY@GOAmXm^N_-R(t0Wi`)2k3Rtu`iRY=fAkA_va+F8n)S^8iPiv60ByZ}4A<}f!q4c&f8-E*&B+B)u> zyI30jt0G+XJX^*d`+MA?^0VsCHorc5vFUE}=g;DPkk++@KIZ#Z2g||VO`0F@w2*M+ z)ZyLS+~TrYdo0b&!ucjxMBmQ{^M$n>oLTH{x!hj3VK=t9)DV^HhW&CFvw3_Uy_sTn z%xh$L@HRDVd%8CISS5fpC%cO*I}BxHK;EsgD3SaPJH*f;U#_=o{oAB^>11OBQKYiB z^~{S9?%J#G%%pDgXYtFi_xJlXv!Ddzd|@0yn$0(%q%$fG+we!!{xCMC6g6_(629MC zOMmIIf*&8v3f=6HS>4#2*l1OoNj!!M%CZc)jH*@igMK7R+9_OpoEDv=v?5C!E7kf6 zqBVV8+hl)+&)xpC`VKVa6*Q28r}O97NUTUKG9hXCpi4taanyn{Z<|eGAp1IGbPKBW zji?*)|g^c4<0fUp(hSye^$0+M8-c%IPBKT^{ z9cSN!J`(45=oCo$o;LaGY=`Q_7-fy?2LAh73^e7SQ%0vd6gP}2T z@+CqaoctbG)9;LpurT~JP6Fzl0B~vHt9)HBBJT4x_C)9;$+xi;Py6cytr`Kg*}xm} zp6pU7q>snfJ&y--I+6=vTSX_j_h#AJ;5DqVr=Gzj!fOQ1Zc~}v*ile7*X~ipIfzZ_ zuq|+SY7;_-s(3o3^(Xr=QB>wc0Gh~*b)~j*VkIKt$T!t#7<2osJkcrqXxg&yhZ^0f zt4c9$xSs;J5W6He*8YQ!<`1MEY5h1S&4+(w8aZRZLvgv(_{Afj7aL!rqZy_C!k)Qg z4M!}7d(dNuIgChJvF*w>;!4s0%$>+cR8%&GhdwVx;M17?~9nZSX!fO)? zKTJ9j*f|pM@c0zkskURTXFo=Eu~bk!5QOuGhw2--Wx%aGBidj-@^PvL$Uce+==sZE=knreOdBj?TL z+2Jd(@gk0t!Ra&|J0UW=9AObic9}Ps5@H zi9XP`#_d`DNyY{P!PO*N>m6w6vOV-JQ-suS(!<*rW5lM^xzzgA=~&qDj}0X`z|iS3 zNHT*FJ*=s9bUbnfRz!NQmiMIH8a`4+%fjmZW7_-1FJ_QXT3kckyZhvk%=L?iPOx6r%z8j$UWY6>o}O<JS`!dQTviFI;hgG8$)6g$r}ZFQc!4 zvOi19YVt*mhVQU6A$ZufQLV)ypIce+G^QF!TuQ89o1#8;bihk@zEGt7r%T<$KzNnL zSKV=MnZwi95!;aE_>d6YMtiSB!A+5MKkveoNF9L8*?Rf-?#W~u+|U^45iiMGS{4aosgZc_vqSGq&X;jMl;K( z{VwO@@KRHBuOjnl(E{@G3|_@Xcg3IE-ZlxOQIVh6`y4rxtz3k>pcKG*9O1RNQ;~9B z+dzViULYqimVEzC;lA7T+&!E09+g{&QGPb5`*Ig8D|i3o6{dzwJx63gzL8qgHBN48H8E@Pli?d6C;JYq5)^I>J-ia z^(D5GaFsI}l&xgv>i&`Lg!m)~SRvwl|BBT@QEp!cPjsp<$R?PHvxjqXzlS$-1C{Y1 zBWyVOb@AkNja2vJXv&ud3wzt7GsrZ=C90f^lHB#WMOY-IE>=M-OzTB!qP?-jV!W%F z`{jxD4UOL?8dN8}h6cMe`bWz>!!NW@+tY=}>$f0Ab6+LkoUBpq6I)4IlFhb?QPt=- zx;{PswnUqdpbh|Mj}*RF63Xpc?LjD2piC4X&t|&rk4jh!WwHS*Y5LRSkLG|D`Pg&R zNWkMDUHI%&bv)~d>>LQ?>wWT4cRoAuJ&x~tY@2Lf^+gWAm2X>^A<>|f5%~-C_I=ZK zx|?}P286}U*E$AC>>1_&997Yp74d;;mhIptumS%)9+b}FW^w>djq~kK0T-jJCfiHr zqA6HI)^4Nq=CcQ-ZbE+RFf~o}v~AV==RB98jb(*}a&<+?5w73n)j_oKupcB+=c#V9 z2MB`Vx@yeD%;r5&DOEPxSZC;?MHlmKOb=P#0xBTiN50)h&R^tI!x|gCv|)}}dKxU< z14-=GuoXS+X0r%a5by)wUCuW_4v3`@o6B0D4u;MB<+OfoF%Bg{4g=PVCRfhGwPsM< zIMo?cKCZo4*aX|(nF-%2!`>bwyC)f5no%S?&p_$8@!$>M?U`*4>kASdJOdTf2a`pg zTwxO%UG=;~x}4U16%V58-V7^Nb4@SntDUV@0uZkAs~Z@AoF@!K6Dy#YKpBQP$Iq$RK)}9sJG?C!IH&umPv1izPP-eW1`KiT@e>hXT0d)j8pE(2q=RI zIIlPMIemjE*XPgF)e}y?F7*y7!m!^y>bW>vV8rH;8V!!P6|Ij`PeMS!;%*>Hb$t$R z0N^gT&#Zxn^Q-|A*NS?a{JbVvdqD}>0jaE}Gm1;%;;Zl>()l={uCZuIa{Fx&8^=sy ziFz6QrO6UMR@>pL;1Y>a!x~+YS?A|jrIIi^x6qlJq5JEk?6t5CX5hUTA8e`iGgr-3(d1>t3F)dpZU#+51Zrq3n^&&{h9TB>TrAgKFxCk4kpJ%#T zJ9_hp@$RfO7i73jp<^amZ5f1ykgk`mp+sQF-h^>UlyttqOAc%BHuLFWcA*b=ga`zj zfuNe74dFBavyAOhqjaXvG1G>I*N^Yia~}@!M~Ze#lnib-@4qmVGB>lsv4_5gZcHp}2^_6g&xnfkqm(U_zYDF_)`MFWYt{K?JU=?Ofc9fsOxr+1(@ zAd`~lnVJ#xVKXQmCuQJwNkFUTcXOsg8<)j~;@0l>)!A1Q$!-c1LH+eUI*v*yLQnIhF2YTAn_&0xQ?_JFbjU zu7m`h0q}BAghIip^DK$oKqdAJiB`jI5%vP$IVMu=T$ayCIY|_#;_cKJt}hPXeP#X_ zO2TMV@6w9}HSR{|O1#*gGwsK=5Fxc&5foZqZAW0<@pyCrk2vW&KN71~TYTD!IHCdb@A)|)AA~qQ z?Vx3yC-E!dOnlI@soMIZ-E9KZfw@lo$42bsWMk((8M+M*s!c_+zoTSA*Udxg@($b> zN3>~28GrDX!m_RYP`V?DRz#9Ygh=mba&uNZr}WuU-#im}!&=up&ea#Mn#$e2aB;Gi z98YHVp>jA{x-rmx-Z56PD9{Rn)BGURrs5htxFm@1v%DB%-R-8ELTF3JBTvWl(lrR8 zL`ksdW%G+~rj|IH#C_EclB+=Z@x!)^0>%vL{*F!8s}lr&wssL+BsR(}>u^Vr$vh02 zS1xf8S%rrCRHxHBra`Fts>KG_>tge9FO@onyT`FEKBC(~Zlm_R(&7m8ZcuJLzNEN)fxka*8D94rtg5x+4I6y`(A!IEWGdz(gvDin2{b@FQUmfJJR>?=PTe= z$~2q{P@;(%pkG!+pJ{y8jT5oXs19~EPs6Jy>H6V&Akg~ZzWm@*Yu{kb@ER$$jOHIW z{F41D29T&xLYSp4S_kI=ez-Tp&*jW7Xw??YuDu7pYauaLA_%3}DBUh5Mo_er6TVor z3qwi_X?FBtq^bm7lA(1_4I_<;uA~zUVGooyMuG=Gv|`sO=l!nf&93MjJ1r&g|QR z=}1HsfB%B_w>l9ayrSZ)PHcLg*0w^V8L;-@Upw5NYSapGL&@Zu|4fAhm-~!>`q6_} zrvC0v5zz&P3MGnc6os=IB^cgX@zizrSg7t=Kd{y6@wML7(zS>DIR1(pNls2Q987M+ zw#Q>@V(hyS42Kda;!^lMK(+u5<)Ycov38=|f}CpWF%LByCm|;xjxZ%nV?rBN;z!67 zP6=fc$IG{VWH664o%>_8`ov|k=9(cqh7ktX_tZ_Xy`m(|<#$GeZ^n^g@u3p&9j4sy zMU7L*0(n*KdGpStp=qZg(U+b|(x$l^LZnG{Xd{qn5);y^$*K9EhN1ou5?$)h7@R3b zwjPTQm^#0<(7o0|3(eaF#Cy4VUJ3WFvPr_zjk3aP{nXT)Nk(!FVOPPxAng?l2@mcr z*0(AyDS6c1{H@4k`?*)#>pRCb~cXLId?vqcYmS~xVbFtmNulBg_8KJ1zD81xWc)HaX_W~S+6(Bf;Xi2 z6oJb`m5RSZ@q5t43SY+nsM{U&89qq~M%R%*c%fM8_v&c9cP$j(RzaGTwF7OK)2!iD z>OjrDvSivOR>TAqYx^z+nu~Y=a+2;(Om`lVX`~x6>vVBtyCh^COc6cc;A+lCGH1zX1q@@9f7D4?61T&Wz@Ko9ULO4 zY7Kcrszau_b{NLxXf0d^() zv{xdj5x0goLw?32FS~V)NFZrQ%*JR(r%<)-gN)#1px2^ zKYL(|zFsuog!fUif*KWTvO6geX zCAJMC&M@N8@Q~!sW>TjXI$QKrnXHkBCqkw*@X zSM_Ws#K-Sq1qxyd;Sw%DMpw5UJQeTAdonq{3nDevP&Mmyaq6sQ3K6e3t(i)2lRw_U3J z!K#9V=#;0gMqmP|2`7V1_Gn^>NT=6tCS(<^Ke0)7bVt%$Xf!K4yEo(603YImaQiG) zyH&4(_4LDj?W4*0mPy)`gWc&F?e2_3I=l(2%7xR1`?Q(2I!PwBuq>34R7WGCUb!>d zr{o>_#qdcuAC$3C6CII)#gUSFC>nFjgqMC%F|?atvbWDp)#)t-#Tq%i7A!nVMG3Sn zG(#MHzAo{LW_ewI2!p05;{CPHv@#hh5+dJC z;G1OYL{t>&aV^-(8|wV8<&AeB9UUYJj?g!JqefNQABkj^6z#y?hCB0t9+B~j&>tG8 z*;wuE>{jjOmHAs)Xf#+e54)_ML=`{avfyUww{3jn__lIKf|aIvRl|cD72DC&C12F{ zYB$g)%}G6vuK*ylE;18(M_n^Tesep*C{p~Z4*~tQ z;s`N{qx{YB0Ee3a`EKiTzLb|{+Ey%`ejG-F?dZ5^QEjFCFCrv$v*oHm=o$n_A`z)j zsSSv*_8&zqVdKmURXOh#IXz!pMjm)br=|4ZLfK7d%B={!pP&2yH%`Z?z~5hM;b_V zOa7yFk`0oL(;os0)n~HP(3RPLoXy0``2vSoC-U(?Epeqrg#=Q+zZGh|(f~>2Cv@A` z^?P;apYE|lBg;omm!S_Ral!L?6mZ)>(_S7V4(UeaDJC|~m}(A$G#1mFlu)dRIdxiYX4CfPKz?;qEDUrZ}D+mI?p0h3GxT{*bqp z>yb!LKa&b+NdBzSyZ%0JN>Yp|(OaqdkX0IDMxmkH-XHWRSj*w?_G?C4S&Z)y&akUmaR$%Lv`NsT@(K_93}7udqZFSAh4iQFJ%I-PLKu1|loUj&Hq+0L_`& z+IVA+;&sM$u+53t(nF+d3Ox_w5I*nW#boX3EDA_>W%Ysn(muiwR;4#Hu3xbDuMVEN zs_gNf(fYEnMmG_ZMAPNEgP3Sg< z0;IMSmF(w^{)t3#mc`1CJOsn@?~Bd(l*m7j?opz9#>nmoP-(x?b$T@DjmbG*Vpy_& zcv=3EjIR@#nNU837A=W@7(r$8%X|=OR}pic@C!EuIfY`yf@l27y6{@6hddIWmY{aK zJ&rfVv;+??o&&1ztXfvXy)#{%7clIPA!%qPZ>X*?pLWi@MzQy2kkNVq=iP)S(|2LYa%!y~qLnF3k^t78od zrjg9;k#{k~HW{O-{)8&4qjmoQ*0mpKZD;lGbRNgN$l{%fOB*36R;;m-uU$6x{TE)mPfc7!%t(urzw(7lbZ9!s9}4;|2p$I^G6A-;L%Nx%gEPN|0HwvkvQ9d z5B9<9UgtjHVs;wHwj;TFYS(av7k6cpOZ>N!!qugxd{pfRt^7LH)JgjrZ_a4{jy2zf zpf%_KfrelW@VoA2qzS|d`Mk|CG-?c|iFAqGcSvx0j80VT=;b;dA(G#Hv{sSaxu>?n z88z2d`bDkA6%iGL#@w}vsQLY5Tc=Vh<6PdY#uPhkD%c7j3WSd4C)zXQr{Ta+n&XCR z1ZK=vuwt7f`&ZW!JZJHB0ZH+PT zKN0!6UgDJ#uje)WI}_;d_Wpff#RPb`Z1kV+xaD_&^#Aum90WW!9{v4;|2zmF1}rl| zgz&+@|Lw=WPxr9K>Hhx^7yf4P{W%c7kE(1Hc~8m$kR1Px*8Ted{yabO|I)BOO{GEx zfxT`xn(BXRSZ)CF@Lybjf0_-rSTcnF_CItG1Q5tJfs57tudM|nftY_g-|rjq*E`|& z!1+1-KePVV*7{45_Wnl){NrU8AR*Kdi<=St*A~8&M!frMR1dzk7Mq@ywv)_2#K*v) zbA_Vs`;N`B*O1P8OV6&2v79x5ey&%1WLpj*Z{M6{p6TSY+HIo=dq^GP zQO^(eVR|%XLAJ;ul}L``=Xx_6VYvSjPfx@#imFRI+L-!p_tVZ_e5r3EFo!;Z(2gyu z*XF+sLX}Lo<`34bxBWG=Hm9=|^*>11LGgv%^KYErLN*O;=(`l2kncXvaMedT%viYfn{RCB<8iybNWIwQ(09!+h%eStG)}l93KFofbC7w?KYgD1}sPz2%hrZ&wqytH&%Wqv9N3h0W%^bJl8NsbDuNjLg7uSn}&*Ei;LC~no5XRfU zT)WA5*;bOTL&v2m+yE`(;*Qd*a>{r~${#DKOS&V)8-S=1A^z$4y5(?sEP%)NEcHWA z_hyukvB<1amDSbhK_YLwGmrf6z`#3@=@(hsxsoB|kqd&36rw&4XC?3tYeBYd^Hn=^ zcao|7I_0YUk?W2!$jWk%qvLZ}<~9eKCmLSoKA=KenHUI}PVR&O{s1|`r4W}S6y)Ao zsZi{;fOmQ*Q?J^EjXMy(f`2J?dl8cQB&WqFHOEi}R8OQ{YVzPaW76RI4v3X$ydGc2 zrF)`DEr%uG_lh;kNm^#l90rp)L(8jgo`l}#^d)9B_O^ZW$@3^1a32fDp66yAV<#$U zYp0M2ICo8&P8PlhQ2lr|FbTHnxivLv6(LB zD}COoXRH9?7<`UO{wyly=6Pgdev37nVqz;bIKBj|Q`6J^putFbTZ1Wh{PcRa!#C1sxz{Vd!c;xi>QJl{3obx z*x3|7>4WET6>4mpmGaIJyUxOTxET`TQOLPxYnlt~WjoYbq>Wf#S%gwAimWAiz@Ut& z-gJw?hjk;k-D#U(eaXcNxWenrJzsF3v-wHaXV5sP-tCKhAU~wrN~APnA9vA7+0cm0 zIMsY38^E7J}$pANYmUdr)1VQnariO_It&Tjp0l-1Rt1<*?|tW7DX*nmuRUWJH}LIKqM- z*`h!QJms*;R z*vgkMj&n#tVBSCy2L>VawB({7%4H5~xC113|5E5g;^qa#E+yz+* z7d6-eX#~aaVd6*O#T(%TC2_m^rrR1!{ zZtLb>-Tu6M+x&tz_`x=Z|Jt!fN5`!AidJCpjqfC-3HB~_CHBq2JQMyQ$N+n=<_u`w zp-esZZ)G}&JNQv10M3v+LoG#{^$kLt#HvjLv~IX=!dx=YZUAAxfEHIs74|b@JM^R2 zm9UUd(-^UXUF=Y!19h3P&xS##Z~#8ItGw%t%BItOOnSF4&A=h9_AAy&k#H!EDO}*! zX6Q+jr}a`$DNj$D5JzxYkYx0n(TRN_l#yh)5+;k=-70V*3G=2|BwMppg+Y72iQw8d z!@gBZRa)FR@!(O(xXQx8MT+Tp7G_qDHvM`lb?^4@b5Z)knmp&j$^*K$fru3VtwX+t ztYHH|Ho`=f=LyHIun&5Ka1RON8l=ZhJR4}lJZzV|KSQ-P@biO2P*ffYBDWTLyC9pE zpsxAvS*#%N4t3=7{IxUorOsVElue-LgqU~n2$LMgNN%>MpJET~Q@asdNIovKM)QxFhn<0!W z&oCQP7#L(8u-mRTND%6vA+B?uj-{YvA}8!Xf#dd1q}I=$slDg6G(hbYT1>|55t?k? zNc3Pmh?T0e?`wwaW;zZCjW^?28@#c|^jNTr_%c-W$6GUz|6mYJO;L8GwTrdy0t!qv zG;FQSmoFN=%e7Rok{^#Tu9f>xirbb=iNQ;!r6HjgRN;^G*q~llOhT`H9XIgJ=0W(L zk)lb%$eM2xs;NF+6eVGK`#KBNt0r$o!nQ2dF=ZuhDC8m?!zevSSh7Kl;iCiFy?$%1 zMeIteusrg`hW&4Cds>s7&d4{$9!j=ohemdoNv$V7lbp#-WQY%&Q84mLb?f^9XIvpo zhbv^`8yVlZ)9XsRB|J#YsM6{ir;wJaH`-D4M&A%=3y5C=RmawM>aeRE1DIhu6v$px zfxD_f&MXU|Jt;~sZ%B5lI?>|0ibu600i~S7X3qoi1V#uRE?z+ihU7r;D5>L4a3kU)iJA0$M8n`+pQgDf?j!FU2@dP$QOoeS7 zD3RXYfjbEG%&@U`9r!R2d;H8N_*V9T;>a_f);h!Z`rys8md}q%h;`53t#w#w$MV!u zRJLGsz%61K(+3IWkUwAcT=8WWM6IlcDUK$JszBbAvn^YcYHJe0kNH zlF#VS409Oh#OW;J4cm;?8C?V~@Cuz^dt_AKLQE>Zhh1~(=}{vBeU4eXF(Hx`^t?6%5NV?*Y?87OK`!yAcmEkzlS7{Da}@NQsJFaoZ%2lSRtHhx#Ou-z+1{ zh6=q6Xa;0GVQ`4wV93Nj?hS;iTz)HtOW2SILk?*FSWw;E7MA(i3H3NiORq1kWC)Qe zt}Ppab{3WwC1M<4UW*Z_Ya0)@hYX|B(NIsU*s&GslCF3XXoI6C*qNt%=`dH7hjXY5 z{qTlbMmsSK!iyuk{F;6`b^pmx9Y$MWfv@exodQrQamcg`YI_&|UZ!|DUHGsZad|9n z0BWKb>oyh{ztM4pUc+}`t($g|g9VL1`9}xRFlyb4XEvO@H=(lu=huY$9YlF^j<0Q>F8AK(5G6M?&*ukkD*gxd1B**l`tUsHr#A=w)2+`h;sj<} zom7Q!-O)<*>!uR+dE$@dpOlDs%j}N4e>aFjOYb5#@rd27@#yI|Kf2x1ahwul zv|NmPdoxfiOL4MF+{I<8pR=XHt2*Xryy29gAtHnm)5FQIY3ICZgX+af$l?laQ(!}+ zAe8nM>vUy%fIfelBvB+13wDzb3jo*8hX^2I7zcidEJijLEG2Rka8>K)T4xd&#z#i< zs0>lnO>i7T?xMn0N`wFcQSB28V_4#U6!fnJa-PpU11< zbxaxeB&BOudve%kWIy)+T;JfI`x@~uET{WU>;|$`E7@t1pPDB63Dq$xE}A!-$ELF%ch zYW_wj_l93zgi0eD1n~#EI7y+e$NV&AgCAfkaKkF=wb5vpwY`VoZ3)%5UK=LvbM9a( z)=EdY(1Xp*o0d@tan|HLfV6QLcciG1D7mTV25$tmX3%?@KT@*bIE6|XX? z=7r;>5Hw7eEZeZ$u+_c?10=*m*-N!(IbtTrK3pc|D`e?1vmw$1$WA6CG(*GRijwvG zyXZVB3qh0+%x+yI(u0m#K4&v?DgHq2bERU7Y4f2oC zYrDH&$k~4>U-BQu%3V-x(S@hM#Ek7CImc6r1Ww?07s!@}p;VL2c#7{sg!m>!##5W` zrtc<3$=Yr(PSQNG*U0UgYZzu+*%!Pw=RnJ(}jB=I-yD4V;!l0 z3(h0z!uZk(_7XCPYs|a&xXKi)jjQv)#}&G{pMC4g{g}x2twCZl|gw@Xni~2(>>9xE~Y^n1p z=249?G}Q1IpWkoHLP4}(ks&``sW1-uN_6@lIi!DOctP<7aQ|!$h{A2{7b`aerj0{L zc3VO!$f7)8yz3OGJQf)ju7y9x31HrV^{^ngTZ_jr-6C;v2Wtll%6HBqyy+O*q4H%|+DyiU9PDTv zY$E!E$or393Nsj198NCiyP7F0?W{-tGDtJ2UK)$~u#)u*a z2Z6fLM1Zx~$bagq19|q4iY6Bw$uxC47~8x)0h>HIVsr1B@QN2@Bs`hiT8Z~6vbEB= z3$>S2)%}jziXVaeVYFI--{V=)Og4`<2cBr45b^-!Q@dkPsQ~3{_1tsa6p0UdK-6Hg zs&n(O8O{VR#;EUrBK`g#=w`Xd&J-%q&}T44klRLB357g=a)g!CDzdRPEoQR0?h1dP zEnjk9L+a6T>^$-7tc9OW2HZyvo-74T`w}v`4)xaoAG*Xd>|Z@I&gwYST=>VW*1OJ7 zzt3|R47vvT+Z`!M+40ooLY?%fd$wVpk(9oz(KR(RSS*G<)qI`k*?94`d1l2?f8yiH zO;Bpzl-#o6t>w`dQQR9y(C*r<620lpqdwnrq?yYjDS)m_(<`5>0ktSUMQ1~(;^V7x zo2CA)B3F=agT`9@pCCnm7T))Sq=<`QyCZdV-oE)_1GueE$nxK{lI%9asuTqXHjkLI zr7y3Z$^Sgd$y1vo^F`JDuy2$?tawaAhL+6N^%gUV;LMD(T*!SWiopRu7ez84ALHX0 z@!o%+7;ozkch3)EQ^h{fpEV-na!vVsFM}!}1ok8--Spw*r#IesZ|FRC;d%vw<`liZ z=-=G3h^?Esd`3a+j;;BMkRT|G^3^J(cZ~kGPcvm#CksCm)h>_BaOKQ_Z>G|4q2=+P z=!={a{IV`z-oY2Aqh;?JS});LL>rcPRge54xd(5KlNkZ7Ok@FL7^e44 zqwi?@b$6&$BBRT{#S#7>OPug$+au5JAghDVS@^{Q#djJxw&45px^F5(|7_F#`HV)t z%EE?sxGBHhLQNn-3NPePGNwk9ws ztZz3~q^hdv4`m&AtsR$+OjYXbBF$n*Ip$op>&c02(a`7wz=b|tmM8&90RQY)@ddio z;xgPLFX`js?spQFIdyXb2fCZZ|3umXcF-n$P6O0_?TL-)b9%Yj9it!SMOp|8>s_m- z*;0~%%rHq{myM^~3s3(Y7lRPNi`G6X){O1)K6|EjY?*Ht3D<*mw=Ujgz%0<-fs8W+ zwm83c3nBq5nq{8>GGq?umXBR`a`f%H`xiZ{JvmzS3SowG`LWGwlS zJK&7&_uUGo57@Pa!gfuMcD5y!m42zRx>y+4y>08{d5^Iedg7OFD!mk%0xV;m5Okhh zvDh5RojuE;!QY`~fV({aQeRY6tPs9{J;lJ!%iFdNkHh5zj+P&iKs|>Z&|&2wM2+bG z#$p$73WcD0xm7BUW#14eHMt+KgX}|b_?LG|JoD}%q|fg<;Q)2=+dOrxm((-u>MglC zidYpz#puN*4<%5Gjs_rSqlcvlP)L69%n^iO1o${5jTh!@~VDf~_*9|nQv@Ze%h z4R3yb^!WIAa0_)dIv&WXhvH$}4Zwg&st=WNzTF;Ong*F9XXb2w?xv2EKj*wo@Ef8( zlN5{|jz}KW8gTDzUD0l37J18O_IQhPg|JD5KiJLU2Y^}Q_l-cCd@sPJ{%d5VuaiTA z@1@+3CCiZa8PRK%rq~i+1yoOU@ovvTzwI}Q$HhxkW6dZwG9U&Ja7rT{S$DeYP?vaj z8lC7ipu$7P!Xgi(tj7zn$c5awn_|{)06Vi@=O&wtcp5q_g9U`8$Lk#oQviLrX70Ps z@7orjL9;qlfwX?|x}c(I?nBt0R)Oua1h@gL4} z_MgWur9lVlxbczxw^l+pz=HXI9RcWH|JM4U&~9xHW?W4>q};MB-zz@Kx}j0t1Y z*UU-R8-Yz(=sOfZMJA^%A^O+!)|Kdg!X*|5BP?;fzChddz(%*P{Kl~*b9cHTxes~o zd4TI)IiqcfD~AhCR_{K*+k}*MqG`cLXs2-!i005P#RI1J$5dLF|MCUoAosShea?EGQuT;ae!b42gux&4yPtQ(O z<;GyhMsj&jyKUMY$$c5(%;aW3x$9ubNdF8@UQNKx1X6|b$0S}VQjJ^sR*X0|?G@e# zh`pNddRTdM_YoxSuGxTua;G$rsz?<#O4$E;h^a+Dnj76N)8Yb+DHXTK za3Go+kAAT5XVrj^2Uy)TO}aPH5-hf}sE8+;*hrtD_Jyr%V{DVA6^3|{Hyw~~9N7DM ze|c#EUl<`nCX9ME>6fE!+?UsxcSb@LAcbSqXNeh7Cv}E9KpnvQysgwt_p!0#^UPR= z3Aw}Gk9HBvj2dU=f9+RB2~oeF)U%z^Ec~9EN|mT`&WhVe{%s%e_lgV-#CP$)ih1Sx znee}Th3<~u@^lof1pdD*y1RIQ@i2M#qz)*s1;W9jq6jGqcss6{y?)j4q4z1Ls}>r# z4tzRDc|-b%GddQsMhc>dxWCJ@`&5rHz$eMLR(;JW5PJ8}6fdf@xJ zC{(E5iKhU!DlRtGIA(BAp|8Im{iofh&~Bnk-KMy8fjHkJl|6@R?`fN1*=v(wFN%Gh zYq#NTLb3zF)VIbRlHi_?`->|oDjL~)Oz7Xn`S4a8KvTjk z3{0Zx@OP9oV*h2Z;FobJ{-nj`#kXVWX@hnaOW>V#S*lbhO{&X=rs)=76^u@!Npa19 z0k)SD@a=y#rU8hM@E%O=R2MvDH$p&+dK-+Gox+$cz=xLB&wQtzhtZpy`?D(LFi^KAtGbD9Sh)NUNQ)2@7Zu?o)7~p^~~Z-l67qboc-5QKJp~r+M3%D&xP;OZS!^ zKGq~j%1g|N$NVXHyGWdBJRRrjjhYqh9?;x)s{^h<2+VcGhT6LSxP;$3nSX6^KqX?} z8$J~Zo%&z);=jKr$99Kw6t`;q-zjkazx2i1gxoWe+Q04W?tqFl;Ofe2uFkHQOvG7@ znS~|Krr!QBh}++7){EagS-RbP|4SQGNn(j4WOG)357;Vwhqp%_kDbQppj#ofK&ivTNxVsZc@P_-v5?5$h>ddd>jZ{c@mO-z6RQR z$D2Th+OYXD|8#$D!Y$>!?|G3P%u&Mc_QVj@!Y~<8@30hCzv8EBpmh{@pIoq{`;rp@ zSB?Q5@M80qjr9L{?Rt1WT&I}l>fF-q#Nb{|c1ykg6Au0I5`vC z2nRJcGm~5K^UeG4L3i?!Ley0bln@{~b31A@0)qEXq(sY=sG!63svY%zI z_vdoL?$X4k8iYX>5?C-@de8P|How&`#{n(S&s{)#^-E!_^VYuhWhbSdgWn^$FhmRJ z<>lS35d;8D1-Vn~6u96^Pu^*zN?81s5Bh6%Fp*#F-yCoT%%2nbif#!0h-GcUJ$ z*Rpd!23R5Gare(p<|h^cxgArT^I?xYzZ*f1`wCo*XC&N+EBb47}!8 zeU9c;mBiRUG6tbm9`&!e>h0v8m8b?lI4@ny<2hTyWAmTE5kNTFq)#p2FbI43LU+pT z8v|e`y#-|kS_c3KL(jpd)br*&mGt(=07I=26FYk%*c0!#$(x<-j7emP=Uz*eD*7G2 zd;bhj5Z}4PP>R{ls{^VZ5GP0i+R`du7fk~Sq$K_Naq$aCBoL+WYO1S0un}zCT;c8O z>x%`&31mtwLz9KykPGF1TcpV|&l`WzUD2B;mcMS)DzkaV1m&HLql?-&jyFQCG=U3god=EChoTxnFxuOPlJ-zMQts%bIuRAt(4#C*#A7&b>X<(=@m+Ti*%u0-$hX^wlku$u}|*FbJX#iQ?6 zv9w{EeFd3`0gZCE?w$1(oZ+W)1;tUH&u2H@^woUjiW1u9B}gv`?#|PcW{VGL)IxL9 z&YSiS5STkYW+|6@MNn-74MVc4;P$<8g#vZoJ-5m|1t8|YbGB13?F>PruJb)U>dpV8 zAqdI{u5#-2-F{_B&GFawPHezVtHB`& z{{^Eo?zV`qT}Srod=-GDv;jWF#AX| zXAy9FQYeMD1~V3NN!GSB2SXfre9s%UfsXT>V7UXAMk@gU0sO$$f%Q~W0}mggriLHx zjSq1I+6q|X(MGe`bWDW*aS3lgz40_jmp8unin^*q}xFd;5^VU*zhEQBRpRn0Z4UD8ygGyDAYhx-Fn@S8xn zQToVJIQlpURpYRfFVVcAp}{)fJYM)_usXVn{~D=6p`C`1Gd^9z0dj9_%QDk4p&+g8Z8(g;p4!zI2<@M$dyWhgx=5B33OcR++Nm?gc=B85H=8(lO`4TxDE&|Dsgv zb`3lK6NI5uZECfjFv`W2ubb(59;iphgO*6>18{qLt&F=0Q$?EFNe1W z_0~LIYFmR)I%bL7z*!5Txst{WgBF(peiK!Yv(EnO=GD*sK}LFJ$F=3=Jeqhn!?0A! z^y!aT=sMXNEf|FC-0(srr;n7xzf|FFRp03hY-xvICi4N&d)iBq|EH|0j*5Eix`Ifk z$RN@%bO_RobR*qeN)JdWAu*IR3?L;PN=OZz5>i8VNTa|I0)upaKki-kUf28a*Rxo& zW>_=KdCu8;pS_zZG?7-#SX{VAB4%$)OCfmM#=YJhQPHoA4z56%ee1dW=^Y4iIMXCk8vfZEnHr?Y|m6^EgOg3 zy`CmFS~lO0!sr*GulJx4e^zVJ^`YF+`ZoK*ymhJcVm<3-GmGAcO)qZiEtrMXm;Q9Q z#wS`Sb&vSr}3@$ zRzSbWqej#=rgzV`e3-nx(ZsK*4MsZEtWie$%EUKAsOKFnd7U{sTb03)g&1xU?O-`v z_!=-lU6Zb9Jo4m@YB~pYRw3&fe2^&wY5iszm4U0uF^H#h)mrRLct}Bzn-nDMHvwqSE=vibcBQ~IO0vY z-<+4<(8|YvaV)=Ad@xhKh-~#F*fuj!KUY3044o7c@C`mTY4p^9kAyOZ*OKtZw5?+6 z#=K`S?g8pCUC*Se%|*-(_sdQNw-&-Z+#l^7p?m?k{r&x)io2r$M<;Ct&|pd}#s!c{ zVqhY1MO1loWJ;I)o!~b`_WmQaEMdoIDm0v5^PW3>y9d^Nm88TlRICxn&HA0Ky4Lm* z5fR~fRt`PV12P)D3A4mFU4{p)$gTaH=kUyc-NMGY6M_8|>MysMMJ9Plti>#Y^Vp+s z{hx-kIajCTIBqz8m;NAFL;VGO7eBK0^nI#X+!E{3SM!k@#AO$t->R8{G|=lj zD#a`@U-SwAIwAyt0`<@>jYrB^_2<_hOcV_RNyX(F{A*0mLH}2K%|ULrdC&ufm&q2A zn8g(;sPNEX|8@fQveT_msScw>2M(#qN#eSNRylr@QCs${Cmwe~grz9GQ_iuA~6 zJh%n=y!OfN9BTvau0hhh2Se>;!SEOD>-ePh_r}%ksW9I1=c7?}VahXM_h=``zGlU2 zrB}P^j%E1Yq`@MfuJbyB#?u!Vrq3+&w5wRKS?WKuv7W}g`0F@BRn{Lo$9KoqWp z{bZjGBmZnzoZq(QCtGCbP9yogo|zw^Agbfr&C;Tmpu9nW%cUYSPR=L)Z0SHvJ~SyD z1_>#AkhVyw8l=9W8_TO7kvud_;nFhPJhI3LX_j`*I-KXwiShL%wr^_5-H=vxh-z2|7H7tdKcL!R zPZ6&^##I<_^VE^;!{pF&B&d}SST8kmnV;x(@&T{_FUc)D!#IoquIG|q$Glkd!-SzX zcUSpFEnbxMoCz(j#UicpJR+ll8D?dfz;w-VBmyUYh*#FL*(u zHhtP#ZQ8`UKiuY$E7S&CJ;xF?gqUeISk$jZ?)c7yX`d<(um^WZ%MsSde zkNeX!qAN~9n#P~1SUw6x8M3H;-0?PELW`+wWHkR8clr8X8u`x&5;zA+`GXxL+Yyp~ z{+>)2ZB_PL&|j$T-*?T467aASrI@QfANKEg^+#9aksMm0QQSq9*sofmmG;XcD}fp^ zh_8WG#vIk+liAChPX0e{tv}BpcVxQHE7i+46>~~kT1eBA|3i}geTCaYwgy0@O%>s0IW6KS}G`bATa0 z8~&XB%SBfzp$&*PUd@T2+;(^?;Phpr*25_ynrfqMbaa&axR>cOV4D}mii{r$@!?GtAJG^8CbP)QDEH)+nS8goOg zLes99kVBbTU=42fc|jmrEV=j!Si*S=H9GWJOag)pl?>lCS}YrrKh9@lI7-^@D*~)E ztsQ3-geV2lGvC<<0yvSJ;?}}klsB;OV^yL1VmR>yP-29xH}YVqudwjI2|IJOy+`EJ zpOvJD&!YW^op-;M5?n4qp$$N`k^1r8aJ=sM)kopCsSdN%y@y__aq^b4hnv=&U~-8_zHk8I;PN9ah;u=Bso24k|N$`YvR4lX9sJk_idZpcU<{I zi)gZVYzDb$)9|CF$}|EXsn1L=^Xcj75nmEnRpve|D#n-p$f~)d3;pb&IVP(0TEEpa zS9|&0tI?N)!TE}{5n)r6Cws}?0?`3&K@4E*CL-i^-b0pYug^5p`)&IAnYfPb{aNYN zGy!O4TjZ~!>7_y)%MOty_q}+gOofClr)Yxat$EI!G4zwnAb15EQlDm=yJ&VLg>Xuzff#M%d zkqf+zCAJ>mg!F&`|9j<=*{Sdr7Z(?6%G+G&mE%{pAfaXZxA(5aTS*j}`!RnM#lH&= zo|M1%f;hJ5F+%{ODm5*wCX2RU043|Q1RCiOl08;WO`y?H)E}oDlTRZ0Ghw(Kv*w*gR zsCY6?=j{Emz-YiBGwJf@9-~c4fwP=v&iCQa{6{)mjv1dmfBx74h+*Su9p_S~Nd$x% zvLN&LbYqs#DL=Zlqm5Cmsp2q97%NIJH+LqAlm}woae0sB6Psc4jORdmUTNJs-^Aij zvS)g-rCemL;n$p=AFQmcU)bA!@ybd$4Hn{n_fSENk)nJ1%@fBftG!wSD_MT$z1R+k zjf|euvqHe1!IK&7>EA9%Xu4vMoaWu;T)oo`gT4^c9qt77<`z17g>H(px*iuTairtT zyxKAW97OQwUXa1+vWi6)+ek8lrl(3lRM~UYcC+h-q=+6z>?Mv~wJznd)qhu?Q zRl+#{kv=Kel=h;y@0jD`UeEs++XX#YXC^`ikB20f)>F{{vhBIk5)IihctT0}^PJ?z z!%l89oFkfq?2MY!a@pMt=o>f$H0$(%>rFq2k6{?R>-GR%jc>siY=l zl-49gMpg$QF15(fGr3CN;bNB}$k-0CAr#vi$q72tt|-l3E_|~!(;KD)OwHvL#_;#* zn5t9DjyCUWwYmx>n)b}b8V46ZdW1QkMZ3WW2hSyCCy8fF(3BZ|tVa~;u&)_%8{662 z5Aeoaw4L3!T3Gd0L|X_@;2;awOfertlh@CDCH*X%slg}@aM z2MB%;(}tj2c^H_iPk1rRYjFx^zfP8Ii7MKnv?5Dl2F~^$OTzmWedXPrZo{HCy@JU> z(U)x;ds3<*O%_UM-esy%(QreD@2}@Sx{{$PPiXjv-`B+x(7E3K(%Xx}Z5R=2nB zmo?W??z$OC1M_sKonIBxRqFkphI@5DQiNjKl%vQoB=RcB#FerG8fJA4K4^bD+0UYM zP;4O*9N$QeK_3>2VvGzcyzct)YmCD?LM<%$u=>sB)Ym4n?MK!4>$2dc?{4cU&W0s7 zdxmxsc2>rb1Ar ztA#6 z{b@f{pk_wE5;1Qj*up?3?f(3Cm)G2#`?BU&Acc%YyWO3Nbrgz|hu?Ljy=w5OdhXRR z<=mhR$h3X&ehBlMxCXxQfgsS#prKE;lWXO$)~xIUp81IbtUaj#GwnB0F?L|V;1*iT zQviwg@FJ6|j#9^K+WPjOWopyyrK2;DK}Tj9eSK&_{=d!A9kh4V``$pm=e&eL9Wr0` z5!yBC%>RasGyxx!dxDEvgkWqVs#pZ|9ipXqczUXoJVYeWRPW71R=UpF-588ZjU5n z7Ibm)iK%$R#-csSMLApmd1n$!@n%!-?BQwi{o>1brOh;oAw1m9Q)_uw5~+C5(_|<@QP>8 z&R1rx&*n}p0x0xuU&nS4u3vB`-d6>SKq_6g8X%PSD@Q&+uTHQ9a9;Hg*EcCFl!fO3 zEG{ny9W@rH5R4U!zp7rfw_{T;)D97uo1V$^b#gMDhkfVY9nN&E_8Okk%^1cNAOh}_ zaA4gRj%i>cjucr$J)h$+tDVrsuQ9c27qQyizP~<05qUcwYz5xArha3(Cu*X#!^V`k zA{&XEQsGr}HA%l4qlg|IF2QW9MP0qpBa&uA>}69`Svdgf=Vu7vSg#*i81|*~6O=WZ zH}d8I)b(3Awfhy;PbR*>DoOC-a29|6JfDp$|G7ryh~Mz_Jai}D`oudksQqaIQZA;p zktM_*!C-XCPC{`-+L5&#PZTkb+4^db*wK@BMISvXBZHs=$O$>sg50-ae6j0e84FX@1V77C81PhGsKS76@S z@E&~-k@|P=FhUI?Iy+=L`vHL5)AmJ@sE#|^QTV}8(P}hmKb6sPx<&JORyGS0}XG$@~vG9MGVDzfWi&N zsfJANX2M6YOm4$S@Ch?^HA zPw{Qbo+r!~HPDf{939F9d7y>Mt^zc7(OGw-<;ib^)*t=(@_)~vK-5O8%C=QVtg>f@ zB%+dV4!^|?*K5*Yk=JII*E4~pJ-GM)8mvJgQe?*dpzKO-A%4~d7bKSULE8z0~MNU{joohs5|YQIZMA|)9Y#Kz7()Lgexi2b~) z!=U8OfrO`9Z9rXWRqTLJsiB#nq5U^Cnm!t{Ie`C!+(U1F^n(nH%Dq?#rHb;$9u|S( zLOQ@DiOK1|>saUFB=T-C1UYC#gXI5~W$FNPeE%L2DL(uc_k&0m9^&J&){xBHH^kqy+D?bIV{NaS=1x?3Ku41aS7!g?A_axlVcNL9c1 z$iK=rs4L_aMX}Wvr1=--`15e8Mh(zz!HH5bK{SVBq9p`b9dwT-WgS!O-n^;q?CBv_ z;|_a^*w)q8w~e67CMz08k*-UI*#P2p8Cltn5xJ_;%q+q6Kw&4r$D5ROb9Eg^!NI`^ z6mbGJp*{d2=%z-CQsyuISnF+MclWIivK|}7ON`Tl^83z*Rou4c0VPUX(Bn4f55%57 z*6U{|rBq)h@v1XMl!MtT(+lwMvFQ2C^kSx?w^~m|*5vW*?wnAPx3`+Z{G2$mxYHH1 z)C*XCpa2k#>`i=$H4)^|;yB;rqU#UR6%9}K5OF?H`*|*$SbqU@m6cT2wLU@uxrn~3 z==MImRfW~#fo^!B|H*QR9JwldicO}_cGGPo$&+Jr=^&=D=Rkz{E+<=Qyeq4nl& X0eiSyKYW4y4)CKWt143_Wghr{Sm}** literal 0 HcmV?d00001 diff --git a/docs/assets/images/dashboards_responsive-7e306ae02d67f49effa4ba3922f38c26.png b/docs/assets/images/dashboards_responsive-7e306ae02d67f49effa4ba3922f38c26.png new file mode 100644 index 0000000000000000000000000000000000000000..a0627a9a9ae42a51f53b197f5a30c6fe4ce38324 GIT binary patch literal 174391 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 P;2#+Y1@W(sjb8sB<8L|5 literal 0 HcmV?d00001 diff --git a/docs/assets/images/docs_tags-45dad6ef9e0fb51b7f578dacedcefc31.png b/docs/assets/images/docs_tags-45dad6ef9e0fb51b7f578dacedcefc31.png new file mode 100644 index 0000000000000000000000000000000000000000..55638876e917322d529604f5474c1fe726ec1af1 GIT binary patch literal 115224 zcmdqJ1yEew_bu4CyCyg!1b26Lf=hx!aCd?y1P>4rf=h4+9$bP;f=h6BclS9&e((S4 zy?HfLGgTv9mHMjtYi{3r?%w;Xz1G?{RQb6y8uDXg2n2#ADWJXwjrb}Ayno~(sqLa>Z|34|+rE@E;oY;M7U0mNeRdz;4 z4a5{8&H;<2_A~+{dxI>wjlre9u2DI-;blEj7r~z{CRO82jKnv%PbYb z!hc7NXf=fUdkjllc>2FzmdRw%7XAC}$ASNUJaitWpzl>fX|PC^<9}I<47~}MKP!_l zbI9wB8X77a5*i_?uFlat6(?H#e0Q;Oo}jGE-pJfKV5kkD<;Nf2}wf%&`W?N80R<&5iDM@@rmSqciC?YHC+YcHo--jQ~8TQN6D%tuv?)<&Jdh-aZAR zSFaEu4o)s29ujL)glIEXnQwG#Wu9O^dGe%nVuG-QGBfLzaASKpn2Rx6xc+_+-ke!i z>X;f0Wz-kVng8 zx%ScMgRRpLKP|3)ta87Ft)W!RZ%Q+$h>Gv>TUk zOkh32Lvv;y5qm_BXQ2CUsR*MNjv2x>;%25mekJo%GIbjnd_Lc!u4-vR|uAtEvpR6FN_Z)@49@y?X<;!PeS{>z#e zZzUMZ;X*j@S4Tznw4a_C?+^}nZ>Mp{tE=N~aat6X_P4;y<*l!2ick#`cO1HpWNO*# zHu+|XluUjR_1QVU%M~e+eMmO-83(h!$p{7c%FD|J_l^Vl|5VnlT-%X%Bf>%>2J%KF zAi}<{#>CTlDaL4FX_>FiO+_W{Xh3(C`Bc4#^!LfH>ZT*m!=LO22cq~g?igVXaa-&Q z*K2$wASI2=>C>SrbY8k>a`>wHlsQQ9cQL4Kw?z6|6|z*2eas~FA8~ll^d}2Gt8REv zo-=WL{=9ZoR#w(xqUI4cHulQcrR`73lid;i>2JS&sVDQhlg1V6iYhC!=r?+Vwr4%b z%FS&9QJ0gG`Q=IK0W+%;fO${he2spuT>M z)9K?>VZS%vfZFj%Z5b@P^AiYHTobptafYMoS)FnHThxS;NZkC zT1S~FCS@q?>(l7fxkPqanwtmfa2Lx(E#qL94tNPaPvr{?30V*EI!6zJhtE?kgMQ3u z6GB$+9uOdI8rYQ7@F6<-&GxwcLdE?f0Yqf6i*ko2)K5hzqnn3^u{AYg^YjYv6S?h! zs3V9(4Gau+t+TST7yDD{YrI$K?B>x$Y-|{o<~k^ZgrNBN_-IrzU~Oz|lq(Z)tVRn% z&x9)iYHME$&Dfr`8?#0dUlIi03x<98fZ6aG2gTObHiqs6w(Ito==$?Li1haOy$^_00zyM;(lCR8~(I);RYiyJNo+DtV( zGU@Vo$TZ!E(~Co#_`@EX2A^xqHSf1F@0y#v5K$X~(TKRyt>gMHT<3`66B1UpJSU@N zo=jBlLo`cXgs(H}ztVZe#)b`+uEy^k%57%`j-ForJt-&h?e%G3V`J*D^^<4MOxim8 zCd!-%mX?>xi>R@E4%HoGof!;x-?a}Ef;{NRidZG*N;wu z+vGry^Vah$P2dt^#H_cyFRA)l%y;igWM+fL)}NnpON~a%3iZAtf2P;!9`*U1z?N?* zKfy1pth_7M)} zODf__q6sSCLwtOmrcQ!m-vwO3cwrxQ-j6*`z4~(z4-X#y-ni8kalh71#iVjry2jYV z#313=qUM$S5hsD?52?vJ#V-G4$r?KpR;V#}Fh>vJ=6rsH*npXTh?R9?HdmNhDTSI_ zIXY!xqB_3GkYdW+LE1y&U29!S3x&mK9pjyDfVY^jQ?VZ)4|S+EH5f} zz22YlaE+7jbdC7L#BcWmJr{?TyR0IDAK;7(4qk#G97G|J2db{F&Z$S~I!#nY#v=Au zr`lGFry%3`?v%xJRYY%X9J4{XPBkeaidXzG6iki7BBkfaR>V8lQy6^T;Hc*9wC{A| zN-{DJs{jS*i7jalL?IZhORYZl-I>asdK+Zmd2@l3qnJkPJ|^#$k&!XjlZjz$JeTM5 zeMdsTFVb$-bD?{*pqswuAuL?BX3);}W(TTn7Bi(cHiwA7UG6^Qge)v~MG*=ceSDc# z^p$Oxon^`yb*>>)qgK(%icZQavSXEAD{GyPCIQc3_X;ihR{y)3qS5Q=DqCEkfxzr9 zski?A{1=w(G9YvdX3TYUiKQZr)F1o*-qMC$BA8kyCr z>oc+sIWBqD?LUTOgvAdj+@x)IX{myT^uVNUQJ2R);J3Sh` zLusHOtU2nud}-W%VB}Qt3_rZgZPpVaA|^&zW%o(AO+;QEWhD3cPbc5$DiY-Vd=S_Z zWj-i-@H6e1rH07@zPNgP?y3{;5OmTLjhE}6&iChgh~sEfpuwKRYi0fF6|A_p_~()$ zo2y33Q9Zq(GI6h8B?d~XBwSo}>J9Oklu%Ia4ujH%`=gyxk4JKzw@{?P@ND}b^HmC|y8gGr>X>j)NT!=Sw$oLbm;275bRp*VAT1^u#SdMD z%1TQ`j@SAIa}=#(Xg@WDf5U!QD!eSPQY*n}L1=-WKi|YLH?>J)9^UX)+05oRO!*Fw z3Y$$z9Z!~>InsMl z-glYzS4M4Dl{}^P%uISb;cI_m z+w$~`qRgg!} z`?H^PQgJ|_Y1dyV>DD>m``J$U&(^ywT#d>T@*39+SCI+(wl_&fK`EyqXE>Mze&l52 zs~VVP;=N14ij#V6~~fpZ*QkpOEYI>=NOG8*CJ0RCdM!9r%W5!*`Y%) z5n%yJhA$DUKhWzLyEs@3n5o)d8lApvZf=Hno$Yjg`<$JULQ-Wjhj`wv_nAr4V{_P4 zy--`UXuGqkYx%^|FK~J4+w07k7jO?Sh=|+1b=u3XYSp|yxg!{Z%<$E#cPmk0R-o?zGOC=;k>h=Ac*2eE}>FLSlE`=go zbTz(=iwj4pkWcKYv)9$hBmE{{#%e!yc6JWSVeO83S{{(XX<9~$({_6GhI`4AZ0qmD zC?3%DuU{O!2BpfDWWS+vVxbH?J>-jh+T6r9)1(=Ke5HBx9(HgeCMG9MdG{BTAF<~s z_2mRQVUW@KQYbyY%hUABls3O#0=Y=WaBK4D}^x1)7?f#Gqu@JM{FTk*T*H`#As zu6ock0SsRrE1JI8t6yVbWmTCN0N_q}G#{DIZ3kj&JK0t2UF)P>Lw?=-QolfdmJ@9J z@}Hh5z1vS0M<#GXt#Q`6at=n{Ei+oCu5~TZYf62po$gJ5*{1+Sn`eH1wmXfyy|uMv zJf(h#GJsCX0hxB+X$Dwwl;{aa+-PE<;3&~2*y&p5{dA*b0!{*BMY_=9Fah4AkMK+- z+0bBr++f_U{KRqoH8wLtoGBIgpeWPhQ4dT^UpOmX3&QOVrSFgU!%<|JP+}~YmvM3*6yZ~V2f4 z+;!g4MxFyj?>0Bv$fK`(ytF&do<4;$=~NWyo3bMmctsdna)I+qDYg5QD|c&aWlqJY zwkSd|7S6N@pM->Qc2@EQ-H%b5u_EQFnjGpJ|2+EK0be;eWJ)T$fl@2wCQ`Z2bWf{w zb##dKNbvmn{{%wukN!f4KT`_7(Q-~7A`+5D!R!R9F#T=Ljr>4bQ*-6^xa0nu&jY3e zZ$(@bTq3JT)IWnt*{Y|cAQz)NF-Mv70xvDEZY_}RGBOe!0QB^Or<#)} zx^Ag7lTfcfqREYz#)O7-E0}LglnI`B+-6qziittr3?v7Fsy*xs8n8T-S-jKjadA*u zl`}n0bt7b>>s+^Jik8ZnHCR0S5l&7|FtN`NL4>r7bv}M`9>8K* zxMQ>T{ypkV?HzMWMWtw3>g1J$XN5`dK2rc!M4C}eo#@c7-MgNriums|t7`_}!f!h;>(Nv!JlOg1(` z33**0H<79B*XR3-nz{H_=XYhzzD?=}VLQFZW&5kKv%dF~ zKas=ky;)!4T3*z47S^@3`;3Xlq+k5&3NZ`h%j5 zas|DNi^BWfsuGBF#P`(QCFTYyTVv0%@p`{rWT{)Ox`Ilcw}JG( zrkUbu%?v~qU>YLA+gf=?O3f}QL6_6kwVzj!mODVHTpxroR;2wlY*jedIlRNT@ZK5$ zY)ON;=G+kfaUp{SFM=pM`8A`T4GA@l*Tuc@XO|a?9X&D(3HKJw2 zbDJlAXI*h}H1SWNA+)slRtDGN-)thKU@Qx1@}uK}^^3;|C`68_4rW^pMN@I4MB2wK=zA5y~BFrPf3&d@|75J2oth9kqp4th>9wb+!4^#e2fkemls zBZWBqy5ptUe6J6;+M8b87){Z)1+VG$4PDrbBU_VLf`3?{xcp?i#O=1<+}z zgdDKu{i$kR3`cG$G~FNPnzZuuGd|kKtnPmM5>lmk=O@mL9hxPqqpiL0VZis~Y$Mwt z1w})z))Nl~9!=Eh>(!gbuhlOF)Gyucd(_h(j}~O=PJVOR*1xC3lTayb1ywwPh*RBj zw^bE$ppnkcUSe}oZad4-i~tKur7SD=*>(1I+WY$)mk+4?{P`rgvNBuYwVV~*PGfv+K}jxx zni@{~_wZonQ96%9I_#fh!jv>ma9yo5q-(#K9?bg<9DsGIwE9uZdcMl^dTMG)MyoVl z$mcrDrBv(*w$Y)z{HPVqqer2Aezu==8f~x9XKEbPEQP75pAME9!JKSQBZLz$Hb1)m z^uRMzcBy`6@En?qfQYQb8Hu9uR9l{UISxKrxeI13k7=e~U0Lg78_ zd&0X$ znN!e=EDRxfdV1{*mpAua@$mz+O@Qkf9Qniu$Q#h?QTF!re#y*)0jz9|%PQYHXbQj= ztITH8flQ>}*uk>W)M_Lb!qZEwpO_fJXLSsyCPykS%@nQLhI^z5F3kx`M_cFj656&l3b zUEI9fk4!lOik2-#It8!~cZ9>H5u8LuhIUM%#Fcv^opZ{|J5Olq7`1=6o2b~e?@bWG z;u_Pm&@Mqg^SEwyUcp2pZ+;^#O%CGo)m>AWW#-kv)OvWDG-^;)EWX>VGo+YF!^kYL zHeIxDi|IhfgRn1&0|Kex(`qY`kIl>~LQ~L?@ypIA0GoeER8-g3QER7PXKle4fDMz3 zJziW~L=GSWsP3VENaVIo+;!QDGGLI?P9_#|k}#@mx_{(-lXu~+mhSz!vZTNUW$a*m z%RV>}$E~W$V!W6!M%3oNZv*J2a>!Atq$Gfd-m!tiUTV3`^vgw~!D~KFH>Ds$ZyR6xyAg`2 z+Q?wNv{rmlg7NUl>v&ds)(kwUPoU48O=$L-_eBMW^7->L zt+d+;#cY9jPWvEi8#l+wiUO0aq7TWriUv%cW zJzkJodea{IDW20gXxJ6Hm5LI=%Nz_J6eOc4E7^X$?lhegAM@iINj~U0>RflC-JSUKrzXyILKxbZE4}zSPlnVaZi=^T~(JA~SDdceP?JM5w< zDm`Ff0~*}cpFd?66*3PF9FhfIBLhzGvySi11=8nYX%LH&($&wu@mJJV+fzBuY}Myj zoa(LZxmIzF#q*l#R^6&QJGIX|`hqAmONKjOo)|VNp>a*f3<> zF)kDHWsz*AOI6oqhT+OzMFxsdRN3FCt?8zv>Xq+Cg`xNP@c#%jA4px?pY>XaB_bj+ z>0Sv1I@LP^GxIe0RKRq@g~u8W%%_c`C|4oAvMIb_e3T~S69j|c9rM1yLQYXpa{dmc z)Uk~(A?^(DwhD;?ct%DTpU;LWEO9DJbgJ!00N?tv@9?2{8Y`L)VNK0kJ#*Zu5Dr5B zl=ha@<%i)f&;XlsDSpuD0<9fXb#aeRg6&LA^sr%Ietv$dldD1+E6&T8FE@s3Ke>eI z%gND!n~(g^klD@`TAt}t(8<9a3Oj2qY8F1EHQ0rgr6OW-ByZWQ(Z6aIB${%`tEys4 z-3w@DyBa@qvLPHVz-|Z16A|bcR%>pvLUFz|*f8l1}Cl~W@L`v!=^ zmhWm>4;QuC^SKScu^Q*|V!5VIo_4M(jk>(qr;Rz8nE^uI1xtO~q-tI7w5y28gsDwH z$IQk~z{bY5;PnHe+-yL@BSN$2WrocQuRvEJ-bkjearknoGowcBK@j~v`jyV%f-ffr!c z@PF%bR`0f%b+FIyp%z^x7(IpM6}S=kYD8C_o`}fkooh{1Un{R4$P}#T9J&+3KnY4w zDW_a`JSho#p%rV_M*1=Jw_%!HgyAGb3pv*7MF&c{a~o@g&L5VT84(8 zpx=ntHF|h@^1)*~3Yx04P7lkZlAy#Q6+molla6w7Fqe!1hXyP@Ec~2W!EBxim9uxB zk$AA-d8(j{LhoIYW2nSiPU~@#?JANyjdE%b+6Q;HUNcSiBAb-)pXoFtmZi`raFK_y z9I130oiyz9?%B;%nv8H4OVW9ETr%%I8N{|m9;zK^uWhwt&2cK|cLG9=`Aj_;V zYiE`A4`fPrH`us>pHWP@1L*6E&9<=T4WU=V9lh0-%Retbi~rrNp`~T$L;s}be*k2l z$vv_34b$8_Y=92c>Z^w569oDaIs1-mEBV01u{d|SD5M>Rw|f5k`Lo7Jv&;MzFfB<~6-}T3|$FWoyhM$j0Cz zLS+CR34fKAe*Oo%lXBthxP*;~eEG-`-kqJDgR9CVSFXS55Iu$V>i$gtxbd+%cGe~V zqA&Z?_#8<=&!UZ|AJ^L+E|`y-D#fyZlWYrIz1McCjw-1b~9E-t_9 ztgWrXKljAZmgGsy3wsW1@_ zrauPqTFF23%~`Zz3Z<01yr4_!shi!1>x?|?{bmM%a9B^lDkgEnPVenbS8LbX!9c#q zE_cTBo5#-79XodOa28*-^Zv{v;~BUKPBj^0DpuC9|bvW&NL68T2b40SIWl zpBi(XC%n&Bqc-Oiemx8eE}c%PI6XHvT!TI?({`Gxo4%lBW(JjLyd*F+HT9@_xNO5{ zH&Mf4So@CsC>xzbJ&pE|G0Wdub#UPBV6n{!7m~#4L#L~!J8Jh(4o2y0!5*|Xci^%EUky5 z?`jxuX9hgBwsBFXDosa1zM4$qGsUjDsg%ubQj(IAy71Y=e*c)4QhNNiY(D%%(zq{d zd}wH*;*vSgm0E!?mjy4qu7IA;%_55Gp0uw@fRhugiSd>M@PY7vOqcAzpI-!$%E7sC zz+fp$dt<01K=S}1O9djYsx;{fp6nc&q&B+v_0+j+KJ>}0+hq0^K*MQ2Mr`kT)(k8d ztMoC_nL%iW%Tcon8w(%oO)T!k`73OOpb^kX+gkz}AF6SyD>ZN>D3_!Xd7fQh>D9Yv zTH=cU-DI%gwKLezX}o069i0WVtfS6h^ifRIKE-RE4I5L)= zE?qivSYD;H@}0xLgv~zY1Cg4z1&k98d3jfL1`-{j(eW=tW7N!Yax5lFp&oPfHc67Y zy1FhdEuj(+tb5l7<*1lG3$tg0ThYPBKT|fUO-&_Lh{<~OyO82h18WhD7TD@u4Vy6O z*S#0_4aTb~tE{}G2K`Ly9SlO5={8sGs_k?|OFPo?N^EXU4qeLV($>;ZAA^nDL)vuU z04GF@$>!!}-uM@+?l^i3etsPw!Y>}J(j$*ULHRfO2!yFm$?JdBPKOo~6I+c9e)n!^ zv)r7Jqg427eVrV^zJh{6d#&?&nO&RIyPzQ22C1&d!*DOk9~4Aqfo^F|k!BtcbGTndVc(SUr)%6jtos=BO7 z3djs=qYl5R^CP&XsV5o4#{i`4a(#OC+&?11Rp@=rM!c|Jv7F^&a1|ccXGPs_kl%>- zcZ3sUNQ7e7l2AUZl}e*Au-Q26^u9QKi`SRP)iRhKaBRsT8LTr~r`=#7nrg>Phl^ac zF#g(NI>$Bj^tW>)#sHX@GKi6)LYn>V1vP4YKXpcwy7rhc?c`+u*l{qPgT}(n-s5Ue zRaG@n<;o6^zLSPPMfF?f_XBn@l}M0LD*35pWvpxc34ybI`|lbXeTAaFT3Ak3p)sWj z2Vk}Ny$ub$$|nLxi03n9>rdeg1p3KZ8{(hqMIe{}*K0YM0r&CaM+g1|^bE?(11=_X z;06IZ)|>2XJUXqfArI1SPwT%qb|@oS zOJ;uWbs;iLX>DB#K7%Et!J-|g|HV&J^Ve-N#NEGs!1{!mnu3}OUqxkz#@YaWmaj5+ z+}EJJvoSEG2u%uu43&XlA2W%NC(F8$HT(3A#fW~a+BFm_PjVG6C zSy%?U5}e~85U4j84{MIHuF#ga8V;IyG_t15Vc%4taFN}|Oxo4PNOZBx&jgu)a(Gul zQd;&+4DhGwq~j6O?xlwP91J=F1Y(R7Zl1e6^+`FD;eUO98I)h@(J@Dc%=5f3jP`I;gF(d!qrm!WC)Z-V zdZo_MaCZ6da}12V>Dk$V%-o^BMnCT&K%QTvAwXQVf9dZ!zR-@B_2c4XeWOexF?@|t z%EGNS7#7Cg|JUwFCw1mQCV>|$cj2>WqmZG@v6EM-+npj$* z6Is*0CmbeAs=8%Vq@~pxMhB!dR@#SaO zy-y5#{LdjPvvreQ5E7{(sGS}O@)9;!sJE)O%t`WOXN=aMSbm;#x0Mv~d+Wnmjr_l+ zfRw(Pw0bAq&>Y4|q*4%s(i!;}9@Lr-A3uhT4>*NhWPi4+bs=bADd1!df_Z6yB{0+IdmRu(P%0`bkIv&{AE!?Y6ndO);nkgQ1k!2fu^6vdWMyUHo_+We5x?*O z>1+gZZG8Fh^@Dw+u5X&vZAJN^l)%GZ@i^~cL&(VwpyoO|j24qEwadM+TwE#^m)&t8 zEG9?VG0f&sp(awsJ9$RKjm)}rVO&LxZ4V6QuTrRqZzCwtDnl5fSx^v`q< zNOufV;FYWOVrLN~fe)CZ;)-WP45Ic}*f`!5N20@@Z3iNVQpm_Cs9*a&!A7d9yMG{N z0kPkj>1D248{4!WoWgkXnC7|r9at+92DX~uex980a~KJewT zih(H+5huyOs|TAKf7S6%`y0+r><;!meXZt~vRho&ZBH`?Qo~SM#s-cW=Us#g>OfkRQm% zu_C>QWAj^9V1XDM(`59e!Vf=w{p$BlA@N%2?LawAhKaG`S*vM+lc1oWfZri@#)->j zt#s6VTM_>o2wOGTcRb9HE4xb5DI{2E4qJ6H{cG<-)~9g5yGcLzghMI~-r(ZI(qxV=3G?n;@ru&Pt~pfUm~L;`T8 z{WrpalmY_K(JCsyksv827pCCj$Q0KPyg4*4zC8h;)?u+#5*7|&d2_@ZnEqRVPYIKN z;F*^o=g4ziP{Z>64wleCz{)}VE4R4}XRpva?(ckj^`*9YC(GkGy_obHy+5z}5IuUl z_B!oP5=+ErG{VuNlN_}T&)3@9}MsWZq}}lXyKl$ zSoNZ0Y~N|EWf!QHQ&;yBi%(<0U9hFTXipgh946QHEn>0G!UhU^IzWH#a6D$adAO0* z^+hz`DkL=Y!EzdTRj6Bw4fJVx!MpPfRzN!tQY#W;NC$VbxmMdu26??Xhd|Ev=B2Hy zUPc!GZtTG7z{$rOkYLmZUY4o2y}#(?Ae@|1yG!#2_zYExkVku$$vyq^_P>Bm_-Lu0)d~N`ktBFq{_n() zCyJpyM8VO^IrwKRG-UrKP9!8AOV*bn{Ed*>WzcP5<9x!zAqvmSvxuo=4zNp^YO`)) zHa3}W?H_~B490jHolfz4G=;~rm5l7;r$yy_%B$Bd!Jo6?AmmSWuo^I~D43W?H8t@G zXXar{dt%@r$v~5KCMa3B4aRUN)WvFpKMPDxhXUL;Ix$~Z5|lfI98OEE6&@<-0+f%S zAVkDrLwsk}57BKEmRU!x7NHJ{e;&cprw>ZL~Vo_d(_f*au6kW(^2` zRTGRc7`$_vuWr5!*Mfo=MWr_1&q&^|xe93Bmtneban(2jpU3|W;yd8lBN?-q3A0P# zH(dTY4+d{cF7Evpx;ryvUM3oCd=vn=1FN42@HB5Odei&hViX7j(U)|&I2yagivD0^+YWT=Sg%A7F zM?-@gTpZZ&EhR*B) z?oz8;{D(<4$Y7x(42Sg$BtPGBV%Z0?{yRo1@W}jkK$4RN07(=G3$4-nAIxT)kml)X zM=(J1PHs8+nV=wya|r5MH8 zC9zbZ%sULSkB0-k1{_}v&hM9@V4J?M(CP=YvCIK}8XGFFCB=clZ^Gfh^(T(!6-x{-M{+)oN)m^I5#Wu@++B z%RJ>d(pxX{Vsl`B`yZ(TFwSxEK3W{XFsd2@j3KrCEMrULwuCLyE_4wHBYZ@Z9%Rj_ zaA_(ek>T>oy&$kSWf}%DRbdsG;&o=!dQuBuyGZ>Qqr*T=vb3S6~#2{;87VZA>ND}|=nRR_S{}!*rpb3ig4v=}$3e+b|V&X#8dowe$i5kaDIagsUpi^p>Q39kh zYV}*Q0(ddTa{U|*SbGB9cBf>c1O)^ZmX_XX6lfX&5#`e7bv_WwTUuM8Ijw#vzjOza zEkI4@-kbX#F6eb;c(~MY$;Bir+~mET^aq4&=%_DPYg$-aXM*eXIN6Av;R9WGJdY!# zTpSY`6%`eS#UP|BiYzX6Ac-5J(rOeMqF(e84EqlK|@0Wm_1z?6ZX3k00{?V5EiRnG++TPuCHMrU@yjJ(1tvF_KXmysGBu&lOZEq$N+?@x3Wo~W`x$C#?C=nC)R-BCTiNf9WV--=F z7&xvpf!EN$8e`J~YU0f7tmDCgD1&YdW@BTcgR`@ES0st!$`34ve{SxxyUTSlh<`~5 zvzWMedQp+b#~+&`xrevs^YkQ1)z#df{eF1U*473Cpi+&~YS_%x>DH*Yg#``75ZKKS z(ac_3oKKIC;>+ zfIC>ZL|<@cvK&D%k>h7oV|qG8a&oevl~tlCgLp8yWRvf0mTeN3ZJ70Vam&B}1`tr4 zx>!63JZ{|Hs&PNONG%xWmaiVWB6_+R{}ePmVXx>E%%##&mIV2cRHK z2KAxBas9y}h4q)GZ)HNC%^nd@J%hT9K`( zt(AqrOG72*!Hgmkmh$kZnKI$=x#A!uAyKKac@cPecfBtR=6Okgjw%W~->MQ3_{aae z0II5kwa(@@;O+wU-^yUTuMZ8ZObf8@J6;}{dc1y3K~4@iJUm36&i_^n{~IU|#l014 zWw9|dU@&0A0OJT$I zNfgmCgP8^VQ10}Lq_xMj|XHf75lR^CH&_5g6nIThU_9oy0 zTP$Lf2l{^nWDpUc3M}~TQR+8_z4b{@eR0KTX&o>*0-opqw#=Z$M$!y@X@Yh}71mfl z!EkePgAyUKdNnq7Z?fN*nNc&v;xAn9@?lP*kfV&!IATIFvpq;#O`)ss<1OZ|r94C|FoZ)qjQo z8+yZWKR=;>2Md^fK%l3mhxn(Zkwp^os($tP(;w4?Mn+Z*SLoi&2b{1y`l7tzXX&}0 zcFp5=$X4}kCnk1%ZG}>hDs#}Y{9CHA_@Jh4L@hcFj)`_+lB_G%=Qt-N&6rpawwlGd zp}?s9uo8)6n3xa*1cYA&S{TiKN@Ou7o}HJ+>(O9f6--hR=S*Kf;Ay5vHUDPW(2q_iRaa~oHGRt2HKd!C9W z#rA2?k@+65u(92BxI5>FtEs_Y;Cyu0+NpJl{5a?GneDNRz2(L!g);bo_ ziJto5 zl}n5HV$QpXMwCMg9LNfW2A}(#*viTpGz5q(4#Im--%^F(Ac!k|y!7v&K~jrur22fu zKroA%p_C@1$_u8+Z6?3Lsi>$Ba@i09 ztrNLO>GK`k(a}-q>ti!eBuWSGD1oVGC|~UvC?)AX_{K^MFu)~wUn~amIISQ87Xl_e zK0M^$=%_VMB@>v4#T&p_%2$qu+7IO4T8qhsM-L2LpuFaiTG~L_(^t>nPfp*(n%xDQ zr|>rf_7*Z+D5SjE*|BlipThF=tUE~I!YOaM#X39PQa>UcOcJ4%+uA+kJUiJ`13o+o z1_o3TK9{^5hd(Wh^W=p8 zqP48Oi&tr=?RFaQJ{htSw z{9iwGhOrMvCxQ|iJ3T+DXTX0sQ_1pg{~iXSRnF*wF+9Tl;X};3i;G||?oZutb<*0& zNFgI9C*=x6Kax`l)RR*vNO0s$px`y-!G2SeO0Jt?gRl#^jkP)g$hTLq2gY z!|4}4dV1Qv8H^h(#VZ}OH6(!NaC87OG880woyqvRpXEZ4IAArrQ9OK&>0)sm&*O@N z2vW+*0}C3gi_Pg57j9#57uO0g!)~C+vX=u3u=gmnLTbYvtjGLp;eTIo$_nMz=%qCI{i{BLuJ#0mW7#vD9H7Aw*h-umFA3jCBv6?-%5 zMTLn;sGCqPp@Et9H=sQOYHI7q1(#Xz8D26)z#mO!l?{##K|xSSCdjtAZCh3>%fDn6 z1e^zZE)Rbuw7jK&xu)>2rpf8MfkzI62C2UEodSl=(mwC&M@9ehH zaw7z(R`MS;_y58CqND_=+hM(RcY969;=r=SZSj7{q?3}KzTlhqza9ohL9-#p_rj3^ z)Y=FzW@o50p$}%r%KrOrWRMC9suV<~oRm|!mS9qg{2f-i;pc_b+>YzQfEA;QsLG zQ^1!6#)(R64CCUCg`rHBjqS~rpFfenltGKvK6(Ja0_u&H?A$=Umm3*3$#7g;f@9FD zf_~6-KvTA8XdkuMHsAH-&75lOJhX4u`w}zR5ffn&7=yG>?K&GcG50+QU0nf%_Yp&7 zCI}ao&)*gm*}l;x6Y%g?ObRIV^Ml>%>Y!j}#~Cfql6D?91A7e3%W5my&nefZ0ylM5 zuF==CfU&))vWwvG*%(YioI673my)7*`t;G`$BB7*_4qT>-vbxP8lvi4w`0G~frT~( zOKEu*GjPM=*y>@)2ac^%9cU=M@qDI{B)pwM z#&G?AiKT4av_de(*IK{t=fAO0Aa_i*y0UPRz|P~dhB{XGB6uEVEL|ltC~(YiW02xK zi7-}eZS8Oa3IVh6k+~Wcjx!p2j^B$7PY}ENjptC$Q-rAcyy8FjFEIKoG`EN&&NiY| zT91E>1>Q|E-!w(gzy_%bg7N*3h=`7=54#@s-`!cg#DK#_fOe_vl!!a#0lfjL7TxdeHDOc9y#H!X zTLZ@HhD^A{cYv)^Ls$a1b zXMpmA4tUREut_H;C*!X!3BXk`YRm@8dYvG)3E$L+WGqSMK2K};p<)6eP;KLAxPt6= zylS9<^&*QnY#GU&1j_voD|q-#V#STkFSv_=yQHjk&iB%XF$v3MggUzq@^3_-1Aww{_nf@IoG+abM}X` z{j`?C^Zeqz=RN0`V~n{ytuN+l5iuxUb&CbE&=7j*Fqr{7y#2$I);n7K4kR-tEx-k$ zXA24eE33gOu~iv`o<_dci+U&JB3q+Ix?koyX*b8pGJE$RpXuAkuK?>AdUwr=>c$8P z|8v1$kBc)>1m{_9tSsMp2suydq)-ik-9C|&>rQyTbFOM(8(5Wa8Xm_~IxLcq^O`4> zx-P$Oga3)%#d_GdxteYaJ*km$9x~D%X}Xm)Gk$^Lm}p}-4~I86qgL5E`_sF&dqfV> z%|M=ZDNoZoXpz2nE0ZSj{Y^#1MS|M-FtOF!@_&fwibJ-`ohn+Pq2U?vlxv({aus|n zrbfOHh}WKg%T;Z2xy(xPPaU*u#Z>gi@q+B~6l7!%-JXsp7vhPxynsGlcBvq3^46nK zpKZhKCJaETfByVP&#*vlzcI$f2C7Y+tw^b;hOy&RH?v7AVshou}46y^^d zL|^Pq1ryfeWel*;K|?%u=RuPWJM;bU;o@;`{6 zocr99oR`OXZ^dJeWC%U|>a`MWGv^&6UEAgU>xgNgMr?>4YO+b@6Xb6k{BhZygypO+ z{#rWhyhDgw1bw-qB-I!oXnpulR?PKOe6T=;P{++#e=eE;I#sFFWyI~F#{}rd$0P7# z_wL;z6HMYj+_-)3^1!02zb=VKq4Hw%yZ8|bckumMYrW0-Q3T^)qeK6spw8N?KWoIX zK&#F#DPI8cYIJODF4x_2g295=sm+PKxQgQ2{Fk=zX<)BhLq6cquP6vkt0n{Ptj&Ok zOnSwEALw&ZZa%uI7}GIrQ^-2NEUf=30a@^eRX)XUqBK@6wo);n8;G3-#3UKzo1mD~ z@QApeeXFwe#`C(a()jGzNX-&4H8l+2_aUhxUT7FsU$2uJ7;fHR7p7J#ke~-cp6uF` z0C(YupFblr;^S9YZn50u;=gQ^(qWS(eJ?LRFHNG2 z3+XZ>tJ?GY|4$gTW5fT3G z!=cz3Rb+;M-AYzuUO*LzcXQU*p9qmg&8}S)$dUQz&D-Lu?iwZ6y4V|5=P%hKqx zYCN!jlcedPW*+7%@~~ne!um45qcpK=viM7HyF}#!uM_IZP<}{*g7j<;y~m8VK3aJ6 zKBk;%UOQupe^a^)y;iL&u}I-F?<%egphFNL2wu;T)PG#SKtnr2J$M)teHQp!o?O5A zLsw$FySwsy^URWZz4Cpw3J(nU<)oFPdeCx2Bta@H1f1&xp}0@W_|>>|yHf#+74Xlx24zaznb zNw=~yPik!%(Y2VjZ;Sg&W3zYa(=ttn#;kmE*8d=aE6HYaewrSQ(kphwDfJIjrmGD{EmL3Nqi7w+N;su`l^jzBO1RBgo7?HeAh@SLh8He&m>{G z9&I1#m{Sgo8hhKAS$Cbac$dS2ZNlBv2||RPzNKG<(EYhh_@(&;EO|Eh)00iZo3}C> zVMP*(oTZ8F$8<_V&?~o^@;aL0c$YE%>fYpwarAE=tCDQy+MiV}nWSeDGY1`EZwjZU zWe_n%eEO8fZSmYPLutZcW3p}O&RnF9gIRCmbs!#leSYos>AoGghxvr+BiwXDorhW= z8|LIXv2yRnJ~1#iQqJj<|0iE~C{%aoJNNtS?5mNdnBw8Unz1}A{`xs7{ozSW^Ra7h z#>&iRhH6MD*H&q7@ep??d}?m%>Qg$Z{V6yy@=R`EY|M8mF)b~F_TIhA5gFg#EnM+M zE$1-@|H^9n=7BtOR;^=}SFc|6W<*gOA8cHfmmjL%V%Sr1{~Ab@EITmec7p4Ncb!%K z;&85cXUsNx(BYNR$H#Csx5>ryrr8)Gj?Nxa9{;v3US)FHu!{zK_x3I3+T(+kSxFI@ z0kGvz66&SXiEv7YjlG`7$`++_`JUsF0zd!A1)tm2yZ-xotE8Vf{y7(w=ix9+AFlbF zP-AkN<#Fi#*6UJ#vE;_ShV%B>`P|}P9aee<=E0#G7TYr}-f{)ME;BGl6_uB?I=nu` z)-Fg-_eD7qypxp3*xygBKU1Qs5A^{w|A;ga1~scf(BFqA3*sz&4!wl}`N;Qc{y*}V z;M6i5D}CEvD-&_Lbug7_eX?)iD!eZDkLb2a?ZUnP0!Zgk(d!cxG?_i0n!Nq-v2lD~ zSZ+@}rBpLCC^G4pq?=FyL;DsYpG9_s6BI;+G;mo*i9^su?Ku>Qd-S!O7KZ0+o5Bj!0? z4mA^-(Dl%-xSo?%TzM;VxNstQ$jDyb>byFXjmsu4@8h%a0E&?Gk$!&O7AN3B zQj38ber#FkK8Ftfb-Q%!%T=0|$;rnb?X8QXq2;>>mW*HTjH#>&u3 zoAaMeh{hvq(zN0r?5A3F!VwH4Rg;I?hQ%&D)Y)Od0O=Z@`pEc3+u2$8JwU4q$^-BP z{^TT(eABj`=_h`4vhosXuVr$;UTJ+Kn`|uL;E3I&cDd1H1?RMO`eoEgMR|$nBHlXk zEHE-zZ0zhros;swxzUjLcH2-`YU{_7(`tJm9NgTdR5|Iv(~Dfnw(ze;Tk)La$il{_ zCqrCQ4*Odi&x5XoZwN$!l|#$eUL2=>iHPlHfNu;b*#D3-tn>O$8$>#x(D zz$&D1V?y8Y^su=9G%M>j*~u~)x8)!vxLKgTyO90*`BErI6c~bOf^NyhkXGlSPfhReZ90ry1NQy1IyL2A)+`3s2R zGZ8Z_Y4cQLWhn110>4!2lF0lH2?^e6`*o$?R@{WK`_$krV!9?VdiFR(^Rj_@@shyq z(vK@b)ppF>swRvWu6w?^$zAoIQcfjTgSJ1!e$?w93HL2{2@x<`cn(Wjsxa}Doa)Hv zP|NpT0#>bEuJhy7OG*R%PbS95Gp5@)>}6= zrozO5qX3Z9%vkqjaeth4O{+4tA{{qIMxTulzjV2nxy`4U;gOM-+}zxNGf*>PwzM8dWe8>;^ZPs@=w(jHObwu9YuwzqJNiGd8sP=pJy4+*|w+YFk`A#Q_^xn ziDmvr6T_dMzS`HN_x~Fh^iQ$+zl$>=5dTkUyOtrp>)NGj*CIOYDALaV1-Megw5wkc z$D|sjnK5Dr;OwkCEf_!jy`<~-q0y)y_r9Yu8!qDrr@GJ1~i8d%SD zvcI#@3Ka955+J5W-adWC?SZ#35!SM=?K0D!b`>#w46G9($~To5_fm>X*Vi-5-^E_^R{f2QrG8%v&tQYr}RQj@pdCu1J5haMgOc zS8;cHE%}uj+R1^RShA-Udk18T*sKb2E^k1^s#^+qDNu2(rhYvabvop;bA9*Z-zY=!bU_YnjH9trDrX4pM)Wcw~ zUm?<*8^-vN`xSfFLh>-qfABU@K#268zd%J~{a+KCSj){{%MZD2?Zs9}3ZNM#?c&O{ ziVdlcxH!B2MWhVE6QHSI3kwgPiW9==z{#D5E-x>CGc)bR+*C)FzF|mq{ahzEuk+cR zzlf;vWx(%Q=cq`m_nD{;F9a_}r)FV6Ab|f&Wol|F$`B(nUhA?+ z^Gh)1NirY)f1zcirWdjY2SDxAI$0A-2v=gFSxh+cBcO7zukSrl12UPE%Yp+E;<7qF|-st z&>1=Hz&kBD26vU~%{7T&CRGGj+|ugXp@z$|&FL(Mv!CD2kCUa98;J#!xY_(AXDZvD z{m|wg8!A}i1lU>^jrK2|_5U5KzFlF|=8b_57-FP5w1xXprSZWiK#4gfE)F~PksrV# zF=|Zjp*d~P^yYF~yXI9JWg=+b9UdNLDVJB4J57Qym!7F<0O%y^UO2vZxi(U4ZEY>8 zs;X-2-~9U_?v|kQy(l|sx9v94t=(M!F@|+Lw5MI2w-=Z9`? zZqDg?XbpTInR&P`xFm2|QZ3kq9J~P*V>`64gF-4Q`I%QM7s}>E3g=90C8_2-UnKV3 zYRkp)74u?{|EM=oq;GuHzBsU^fKYKrbwfebb#F)w6B}C`8aL6b>TiIT3udTS7kd&t z(w(83hygbV()t|bbGUV6msL5DS&OOedd zsXLa-A1~Au!MT1{!Ym;_pAFQ`Ny*8IBr{Q05~Nqc7Q>xCNyF(Pd5-6YOTiE?t*@_N z^!c-Rp-x@o0uMC0#pc`yPoXmfSJndEvO9+DI7li5Jnjx?j_77j_EUd`>QM@a2-6D- z`~Bm2!E?uU4dq1kZjMoQN7uEvRl=f50@T=JTE2hBgP&4ziZ=nsXRC{&Axo>ia`paI z6^oDabtr0TYPDzkjg#ujSV&}aV=@yR?g{d|+Hl7t5Tn1w^ z5QtNte(~_J>P>oZ+2F-gy%0JM83OU;>({2ARj+5()^LFTKQcZ(7iU%PC6@fe>_R8Q z0#L0Yj|*@L5hR1X)een9S|29cMCc|?|N3M!r1JD0%FB_D2H9LaJakOApcHl`0}Bz5fKWqvcgON4 z|8nuZ$$HW2#mBBYUm3yFk{nvrTd=N49fNDrep4aX) zH%U5ceZ1RtrRv_n8T0zdeO=AKYGH)vlP3fk6_&VQ0{To{UH{jY@P{%ow{0e3s>%gj zaOZ#@0*uF%f?zH*6nCJnIc?N>O;qHI}G@YQy zsAz6(Y^TkbG91ao2$Ts_PvAh`F6xFyg9E-nn6wg)ABQU41G^ItiqpM-P4xp-DRiM3 z;T>}PdQ}B98e%cb@DCrDcrC_m=95xUX&VSaXW0O_Hq0F-tn9%4D1I@-Y_mSbQw*B# zWWY@8j~3#t&3(A{Is?`N!IZ~E9VR|L>Fb5=s{rpAe0_gQ={oF3eFFo!v2qI*JWBo> z>{^vKdr54IjZl9XceWsy-rJ$eyEp{_7?z#=} z(FgF!hYAX6RTjQT7MvKIqXAdxr2?Sv5A^gz=v!HFjFp2fRDrM<09627Op@f7%CSCC%VGyXJzz%LO7#KmY00YD6 zrJ2jb>zwymf%+r~Dl&f8!y?nZ6kpS!oTx#aoKK5ln0E|XF@Zb4f_%Y1bf9B+^x+1y z{9E%iE7F|rJ8ZB5rL7GZR1C;vG3l}?1Z*s}?+HS=uUzVvMxEk6e$3$(0c|T%+ObYT zO8B?JIYAxa%5wWMJ$ zRotfv$Lb4zm!)T|wtOz97O>9)dfz*6TF!-ICqj52Q1ieT)_Uk2IJ=7hcD@QGlENoz zTqvS&$9b*gY=Jq6eH_$tD?8V+t&VY|k_zyM7?IZWEt?5CMn zr&o8HFlYjxJs~rY^V2B1pSP#fY(VPRPy>?|g3PV<;OnXXtZ&#Favr%q4Vm+225ZV}i&R)tR22{uWqpa(v2Sn9E@mix-^BK(X?& zs6F(5$83{Tt&raKJ7BSoOE64UI1G{l2~knexAO_N+0}ukk%{_SMMwt%Z&YWVZi5cs z#mi*4Kx2AUr3GDkIpYGYDmt*P^dYz?6Q8Pgi&}Xb6hsIujoC1fa{{p}_XL6a_eo3# z;0eog42Mz)_#`Cgc+FMF#jrPzkJpF_WUY*bsDfA9m+o#NAe)c?n~DS;?o~K6=)e~n zQ*le``|z+DtZHea=g(#Bpf!SRVq%j1I<+xuAJ~Tsmo7kKk+rd>t-}eJUD{!_?hP|GybI>M@8~^DO5PP1i-3J=o z8?bxX%{t=J(a{01SUxGE^+$;`pp)e|?QW5_3vQO5R09`NCBhoE`67rp7M&{MkD> zIhkAg^K*IF!o;Q(vtzt>?py`7&LK!+um>mV-CWkD8X86%LqbBfApksJkD@B@URW(yLAsb;VElj( z%~j1$%FccZ&un_S$r~^#F>iESti0h&1)6j-FxM)zoFK=*qeLVfJ3&?v3cNAo+0ZWt zF?{)OtieO%J`jJW5BGLI*nF+W*8a!moJ9q9tFPaqo5{s?DYDyUL+e<*S z?-vA@TO11ByjEBrARL_k@jzFmVN=a)D#zIZ)-xV(V7I_B_mhwd2`w!xl0Is0&kM{h zrM2oFm#CLPj~KjDQ|BlkZ&j)-yr!#uPNn<ixEq0D=w|xi!f=)Y^z(moP-D4jE z$CGY~#dWjp0GWc!ZO?UpU3(kQ1tafw!c7yLo}OB7{Je*xa)AgBs4Og7?k{ANE#hFc zp@}Bb)B=53a&xjSeYx3ri9K&3@Z~ss0fK4gnPYh^6SPvdwzr!gAAA=Rg8@hP@uksig@Hn^4@g$v&Luuy8TfSMPWsBW(z8=Unj5k*f?)@6##8LBjS{}9 zq69wbvm!l|m7!e5e4v%6-hiGMHY`K5Cuf4X<>uFO)Cxl{W0UAL`&_Yp^{Tn`Eg>@N z%KiyU5Ej8HqZdKS;ATB318}Y&{Jra%FMAskFAGv$t z9<`sJGaL?5cp^U{=nH(GP3j1Cu^hPk@SnPum&wV= z;lrhYSnJ!asOm_)E$DpRs^3X@QhYpWXnW@o#0GHU!Z0#6o&lpPB%2wT+JgI$tntQF zgRWj3;Pxp%F-Iti^z7~Ka#~Fab^{w6XaP`GqQTkj2`|d9(GvykRT>fl0&;SVm9r<3 zKroJ!Lc9GIPK8qZo}i#0mc24;paa(jL-w8maXDS5g0<{DV z{Qdk$mKuv|=a^Uu$4zWywxjJ_IfBHauPOS5p(|a($H)I9>_!fWlk9IaRMhF|=^GPC zf+xHwY1Feli6UXYei_+xrNVOGj}(YZ$sQNy zn0R7F+QpQYYRv#;quMo51T zFto3dljjVs+N;Cb@&R=uDk^H^0=zg1aCUqE#QSuoyRmtVHrBrvHv zdl2Ltb59rr!*<|3aDAtT3LQ$1=+)F_W4l`D%tbJ!D`G;Iqp$3x+M|!$S7O+;#q90N zl`X*%T6XF#7(8Exv%X)xf_c#i0A(cc9AYsPW5zGwwPiic47KIzhu{6#;6XE#qw@6r zF!WT@ugWsN2cjxu1(D_P@Svg0iFWKJVGtCggd$N1wKSy;Uc}zZE@=OzOI%J$7>?da z*+}fmX+J1YzURO)Tm4vKrSNBB9#cLzWPz{U{?h1YMkH$)3Kry2M#>!?J`7MU0O}BM zmyu=Q9f+vF-)!hThJz4!U_oIMBUkI&rf*>pVm6S0EJ!L}FXBPo;R{R503I@gHp!j@ zA(fny35TgRS}|n=_aLnK&1yYrykH}AdrgI z*su2%8%iTT0@9~9xw$Nmc)S5!F42fzLI-_<#)%0k$aFlG`3JB3b42AFFDgRm z56awL2>og~nf%DtdGt06YNt8a(@Q_AxFD_bhv5fEfdRzk{w*I60Fd1^!W2GUq6Y=O z-a>aQQnCQ-d_s&}7appxN!P14LhzrF6DwIC( zNHD-)|DWm`iW(9&jYxgD=(Qk@`o;|TxL&}o4v&w;*kcT#Rzmun24Ck&d*w^@+4uH( z1rkz$g4U~F5Cg+sNhJEByQ|zvrMkS<(G7gc=>Z=?g_n$M-U|xWiZ&-_+3E7)+5NjZ zKv+-&2m$1xO)V{{y=s%p$hA`FwX;(7xpF2v;b4{tUF;XW#jm+JdN@HLD@#CD3L|wc z4qkRpnfiKrdjmf)%CFQ}5w;EX?xQ?eSR=Q52(U?53BcxvxvkiI^e*!3Kvsef`q|;c zl8}<}D?M$a&ex5Mi(`S$l^Dp7$7Zc@+)h~<%#MH$BnJ5Bny%Yk)Yk9cPgiWJ(iCx& z&EjA=Db_jL&CJa`HHw7-Lbj!pxJ&^?PZ+>n5ew)qvyhPRaa_%>0OO^4K(wmK1nkYd z6lr`8t$YHYBEqKKaXEsuR1S-c7=A6qup@M~u;E;3Wm_xYly=t-=Q`NAMfLIcF!3wBAvj9C2bzZ~K%xe!H!EZrYy~=X z8hR6?VWXsw_6C8z=ynLIqEfBzS$DjE8m8i*>5ZJzdfg1S+|IJ}qE&Gaq&r@m9r(f- z070L$#SfPdnII#QY~46=U&`rsd>{}5>&ZZeDYuF*4M9)o zw1F?DM;7Z4>VksjjSE)`xkAy!l;1rHP};wFK<;$Bd%L^48#vkwb(xQkMtIYhsaYfq z$Fuz5ts$TK;Yw~Hvq0qCaDZeXszXuuP(iV`>z?y2696a3xnyQUNy8|GY-u?;&UwmZ ztJTZ}Q`OkgHT_|gQp!=;+KI%*%W&QS76vGYg|UB%{eQkhxgH8PKpsDB@;pt3#ARk< z<6PqwGeSr6p`FV1vl%<>y0i?TH=Cugj$2zp{zq;f-UZNiT&%7x|KWt~N3Evkc5WqrgiYK2a;oHci6#FHWK1#bM?o=Ht4&0nyKZ13zI-_(tuWYZOqWS5 z!HmkeQMRfV5fHE>pOKw?#XU?^LLwdF8-7Vi0^Ob4*ALFCkPK!pu4Z2u`lj$kqC=~r zoT}#P#SIiczoF@g9zx3kc7FR=qEKp)w;aN8OhaX_)}5bes;4LvZX6ohA>7qZg}8Zm z-bH?TW4FpT_hVh4sFYj!pdh~JqER30meWTpB;p%<64ic%`S6&n-~?0bT?Oo-*lk$n zwz|#wvAp@Qp#ZhuL(kaQE49at&ELwhWlyA3o&paf0k=Xz;z(yQ~EV>nHY2T}Jpbjq>7YqIs%Tf=vs-UqgIsXbut z@t94iw5Y7+_Uow(msL>Js&bak;e%gBwyB^&-283mGN0vSdzhTNS5@rol^@wEYxRml zDwbcdbe;t0Q1#H$Ia6(qNvcqV*(j;Orz5Wuk!10b&wP{w3(@%+ql{F3=m$Fe(8i1Cyl34<@vc5}bKQWuidSURl+na?|+#l^y}UpHoZ71M-dW1_o^?v`52`>Cv=_N66r z?b_O559;d{;vvNu)h;wX1P>p}v`ub_Gh2y6TkGrB?1w#Hn6{Wz;#4ic8=V0JJQ`_eBz2b4E|oPi{uL$Ua6$*ycBL2Z^THV>WLbFYV~u07M`hRt<@p5V7dQOy zSY1cVtF-VEw^O&q{cfy{dLR~_Ki^vFNAaK*O77=HvhB_0&_CRFV`m6Hl32F8#`To& zFqq=4yoY%Q$4gXXXI8-vf8LbFia%Bl|F5PtYT-D)#=6wy%(5Gtl-^L)?1O*mR41Nq z&W(SG>=L(*-DmE860{?M26b4X;DgrW)S`;qr=$9c#BKjxK6Bsdj!|2PX7NY~8xeH$ z0Mbr&`pn?yP(%ta1B(E6&YORm);SV|awTuF=v2PEyaDN}7s&lS^1M{N8kb81ff5c_ zG$_%T1&AOGgFh+58ooDK?AJ!TK7FG6B;r90KuAG=d~}v>gF9p+4`cJePZk@}EdVeh zB_01VbFK2QWK@x&JkSsNBGX+oG!}yh;_p*aG~kKs4=pKU|35T+iCqnr10zXrF+u8$ zkmU?ySxE3eXN|!SQdDaP2WbGNA#X^^%|&J^(@?)D#lp!9kPo1YhR{<0F%-b5_gvlF zpejgJo&ruHDBbX&9)~nU@AUAW;X%mNgKR}Tc<=y%I5_53m$JenK~TE-q^I8s4i27P zUVi&~u_vZ-V|RG~yLLfIi4wX`@U#3b`>b&GU_+Avsndc^m%A?sh1LdV2} z3Bw@(Y@mP>{f&Ub#xxuimpcJm!Ua`g2lOs%W?Qd-t|!@Hb5fS?0I@Y6qniRXB-Dbf z_#&sC#4M_M&>QUELBqgH0vfz&ZxRah3;jR~W(dXf(qx?gh?NissAAy33q#>XKt+X1 zLqmgTgxnmNfdc475BVSDu@Lkg07CyRK3;pRnnUSUsEMnqE9c7}tP+xvP2=MfAQ@#X z4f#Xo2$;MC4K6R}Sv7WbVMD9{(25$FVT1g*vZjV5%H{O%4&buLA!CR}u!UC4Rb@kV zFg9y{hbmh_pNs5{!6if^Frt8>)B%@_yfaip#-mtN$gJ};%49V0N{X2A5nqf-h zG<16aCqo*OjE<@^n}B^V^5)?!_HPM*g+4&7EzqRwgL9j1*e#sdMvx0G-FAJ97_kL{ zOv97?b?6{GfV^9Fc;xSDQxUBaR=0uD3A(P=08~O!XJ8HYR#@o*Hdx=7O93COl!A(Y zUepzMi;z7tMY(LNU_&mS{Rr9s02FQk(oK?81EtDHgNH})HaP{wTpgJGX|YSg0IB`8 zQTkgH{r&yQlbikR+o!@`jqU2d=S5Fyx5-b#2x^h)fE+ww8_#3<_RzQQ)5e&<%F%PZ3PLJyJHZ6w)>)fA4TN z!br=cN}vf(t3)RFe;xy!k}A-@VC{^Ijgc%pBt+EK)rH5$ zhXAU0cWUF!Wo*!_2P>vZ=|koFtifHV+F=t9nyb*`d&ay76ER`+BjtwBr$Rv>JInx+ zA*J4UG{V8KNE(NSD;jyRkQMRYo1rtFf1ig`SHVTyv7Q$FVpM|KmH%HlzV3?knHev5 zr{Fi+h1Bjr;nN4D1fYpDA3t8$^&xx4NE8Xu_h;Y}h0xnw>f1Uv=zu+m0IcuQ<;(hT zJ(tTBN2)m}F#b}VZb!WB-=+NP^kcm8PXN!=9@Qtvj(W9@Ov3*8lU4d}!2O@;Nl`!v zgV1#z*@XYk=P5dM!VLhGC;16en$zq0vnw9)g7FPn$&DX9Lk?~G7f0&3aI($9rUfh* zs0AN6rmqV>de|C1$C$ock`t5T_lhF=&6)ilkI3wXpFaiHM#@NmpXaTWaN%ZuAzb$) z_c<=2vFs(E&H1eH>ESvnKpA3~UbK^EK-E2$9e3N}MDY)cM{+9=h;}JIVQJ3lU&UqS$DW46Tsqa|HN-1Y7c zeBe1z!)H8ni465@)B_ec3aGtyooiUC9hNZ>0iji)76SJ4=MPYkBt>9*{M6DWusgrz zu2Za$Ao{Bja@=tFCXRPRsu1LlVwRTdK*@c(f1%*oyIS}&;jfx2 zCGhpiBcl34bC7amw{M_FB+7%zXL&x7W(F&cI~@dVYgf0YhVWI9@ywYlWEohs6tx{Jg5 ztdx?WT?+EGrt)5)rO{NDk2Ty6v`*2wk2Vx!x1%Z*s)JROWx)H0b>PTeA7Hfd>Dd)W$4~TK}CIjp>(p zAP%&HVbS(tUxSWQT(QFj$c>0W5P-zDAT$0TJcJSQY4tAw3Q55NX!gsuZ{8Vx48U@e z%~Ol|z}Ee(_hrsPcjhjQiVRiCiy0pR4XvkMvD$U*LB>KaUT z(^gL>K=Ef*So`gtzfxx&vd~N7IP*|@#vdAgNHI2cAE`amV)qvFO~6!sdvvspI6C!>DlA0Bbb`y>qzBa+ApH+_y&TQl)?o@@_1{~TmNza-ias~J${Tw2eN^& zR9iD`Dk`d*jG0Kuccbb1TWyb2X#S->olC_eyKQ=O9%w{ zt9yR9`^~__?n^fm*xek+Rkk|`rtyU}AAE3vI;Jt^SmR<+`s(#%#Q&O(b}DI9fS?oU z29Q0lXwdvYp*N{Mwe!x?p^jv^KkO!EMRgo)S>>TEo5D?3*mh!+jyeUtu z0xwt*DY}~pva2v5YHm{G0I;Kwt1VNKb=74k2qaf&Gg3~Q;SiPozw z!+$aIjQ(_5f3T>yJ(J!ajQTP^ROsD#F`RSz7T4bz_>{)wfJ&vU&kyCa%2vXeFpo(O z#f4Ovh?wQa%^$6kE`0lwE+@ew23Ab=muiZ=+Wi92Q&T|OBe~-0LBPu@57X?9;#*`O z7qYkCTys3A6Zp)@bLUOXqNMp$9nI&=$DRbJxj(F=^2t^1xDOKeGz2xS;Ic#Ng7Ac~ z@0HX7zN(KyvlPqjPNH8j_?|*sRL+WFv7TZ*T2C>QGh*=bOOqo7fsghHUb564^AnYs zd?w?NmVZ5nQ8eSQikMAM5KM|cDeYdWbjTNuBRn@m?8O)te|Qpr*C1LT30t6N;|;TM z<|vk?!B$MflLkw9aH~Wh9M5NogM~cJG6su<k|Nd!M4EDQbEAO9 zX#zxJd=0+!TAIM@?3_OQ6)^4JMMmD7A7W0qebx{dh;{8k9fq7;A*2^quYx#UGEbN( zWW9GRpOu~6(mi+y%tLNoK|w5?yyl~{7kIn;ngps(if?heVlC))uQ!sid;jBfMu3Tf z70uRwi|Lc>B@7D?#xFe%rnpD;Bia}R5m&y^tr`o?0GN2V-UMRg$5(e15SI`MM`t0g zV+suR2e-jj3LOy~FZfi$Dyh&PrOpL`(5c<+Xr6zmn4v5a$*O<8hao$48SgKnk@-@B z@Ne(o_!&g+Ktri<*?^NS@%v9F_61;C?w1@wRDU!e>RU*VoJ$=+hWNGgmRzh zcTYYEIml>m_;}7HUcijjmfy{QNJ+`8W_;HP@DEFXsU6&d$$5D=zVGQ4@jha)3IEHA z#pEu{#n>D_C^GJ#URqw!)0;}*C1znrW#LO^z;(fgCB3}GXjqH^9N$8Yu z$6&ro&uPJ*Q&%y$`5w!XNK3W~h5Eb3^^xs=|KaL9>i54-VV7q3Yn7e5nirGw_SZmE zhP|55zr@peX{U3ew)8HwBBQT&4~5;Z-~bu4dP39UkNd!PXMSMb?O=nd+;ZFtT$$#g z8bn~45T+Xtj;9UB9{v z42oBPiSIwyIBw^I(+a=M8WSMS1lOxY;>e}>MispFgfEFuY&kCSz(vzn6H6h1@p zz*y+{Z(dsD&_XJIfB|`D3l=V;ul|IZ@4_`YdSS~ zud5n%rQufZOo^yuTOe_f!I2W8ankMN&it?$sJ$b9OjX(tYS$dJj`8G{xIGR{jLf_pGLX*>NJPVH(6?caoL-?*i$(_&z61}%wj>} z&F^rI8cJmsg(@tDi9>S-t0Oe=UDV8iJx+zClm4`)`#qh8Ze%YCW?J#T8f5$Skzdeh zHi%Kdb^GM|#Iq7dkOi$^PA58uD8zZe9b~d_08|19%$A@7wLf0fY=t~UQb9q2F%=1` z)=g|>A~p>oO)cIBATJdb4(nZwnS@$D%7T!JDg;20IT(^M0;cCMAqOABzg^ei+Mh}b z%S(^~{XK-PWv=J6seI|}t*v^yAGZ7DwUm{Kj`7J@v6UfK!-uMsPpk_#aGFdCnmK*$ zQq9w-W9UjI0=@_(QTzm3W-83rORB#UV%j5 z`TK#_?Rm6uX1V@chOJq{*}@yJO@8h~3B8RE+(&Ak_O`nB>q}O9XIkLxya38FSm%b8 z)>@o|+QRRnprAbaZ0{C2%)v!*aiCc(3e$+Fl~q*I=fUOo(I@W996GfK#Hagi4BAP} zz?erGISI+woHt+2(}~!NGXM#`_cwOUbYnmF2GkY2UaO!5=J*kIMkUnhf8G$Kizl2VGN~`1ehgl7YMC+ z+6}Y=)zwv0Eum8mvR%x~%p;ZV`McarFq;|cWUHxz^yEattvs2|XrovF6o+Teu*0x{qVj_r?i2nzs;1s^3039<30=%(|QT z2fKp)GcA5e+T*;YW33Nlhllw*{iJs04pdd6OYQ=r=PFEbCS+8g1t&>azPoo@A)=n)N2xK4L8@_1X}Lv)H+@l4x|3spP_I|5!-D*L``*IcDIvAWR;>#Zw>&FkYwa)jQum8dMWDQZ~n2;{u& zQ=9es!66|fWesagN@y=MN~o(ea~D`4PQ2>4Z|DWbACYX|bBO zZr{E_od5$wy}1C!EwbNZR)3dks+iAl-~CU%*L<_*4RKCRjfUp8)S^K zHw36&9o?z1J}SCW$Nk$D;aTrhZ+=fu&}5PCiCT=uV`z7DcFH~^&P90IwrB$**yy)7 z!ZSHsKlBG1%i{OM4hYHvLhIpC@SOB!eYT%fz2KRhn@isv8R0)X6nqobL%%lVL6E_~ z0NCC=^09H_+@H|BNT(<-vEP%$xz39!EWE?$@aBy-%!mpGhLPcN2{9b7*I8mX@m zWNr1NPP`^<(6lga;YQrxestbdJ1K(VH~M;^Y43~T?I*~gHoWLDM|qD1GYD|Rjg0me=&y5Gx>mo2^T>-3 zI0y&pntg>_0sj<&k;yB05ktCoF#N>i^l}{3TkBhyxE{ zEnu%D`&3D(`RknJ;Z*w`**ydP9M$ai`bYC!nqAQsmG;^s+{l=wQEnMjzJ5Q+q6Tki z+(9(MZhfjS%-m`5`$Q#-q(mUqsu~(QN0$n;8`w4LU+slG>N@{a+5vrHJJ;h~84dT7 zeKu-W&_y;Pg)O#kh;yG0$% zp-D&436{#f82DUxuR^G}usX9B(t#X(=SRT_-!w1^{21%&54(EspD#Q|P9=l0!?VZR zg@185)Ol~Ev$N(H*Wynevedv18wA1W)TvAuJX~M8IQ{24jLp&CtkqAVEfw9xM01+*c|XjTeiYe zw_Arv4`>7%d-ds!#SLNI_@VEurhYIhwrw$&3ZuqwIQU%YI?wF9zru$5`RnZ;s;W#X zC26b{{gK($La&J69_EJ427q`zPdTnT=GlGy;PckbzLee*f|QiWt{>^t?mO@eAhY>e z)P0VIp6V2&+CP;u^zz+@510VA4CX0{@ADEMdI#i1YQMk%V<;6S)=qzpU&8Z_md7`p4a14Q9BAmSt zP9NyeMe5&!u_{ksDfhQw_f=cCEGxQuTnv9`(7Q^~ofrfN(3_eQ^#Bj|(Xik^v5Jk0 z`aqR?-{NTMC8RoLHrz=zHcYs>MXWZ=nQq^HATCbzjWTX_aM{DEGZ9jCs50cbAnGhL zV4SIXqvJIWE_0>L7Zq^^lMAV8`~VdmgcGi@-5_<1=oWZsvR#ai6PjU2A*bb<>9b5H zx!|BK)t@yk_y}uc=%7$lS{+{`?f!62Q$q(vWV&Ctk=okYZ7qD$9DVYUS%tZ!J>y!f zRoB$bh#kL=+jH%W6KAYC_0E@X91&N+XpTnMt)|O^sNkQ4iHV7LCs>`f0kl`Y{F zA-aL?i@vf|1zlUqzsYojpi7Au2s^n<9(CDHbP{)^@o5Cp@Tu+}x;=cz1VWhrASOXU zO4X^UY4Ys5C(0S8>&UxDx_7SJytv=+s_ib+RNqSKiJ6rf-!<)cwiiseSnq|2=$QYxJ|CsHgoY_F8ysshyp~l!akLT+X`zhtZ z;N6uWwC~@q$GkK$3a~MhhHeNt-cq6^CLZGSXi=yXSX<@1yvTh~QCn-%)kPsI+evoE z)wFsYkpy*TDzr08O21?=9iB8qUuFj5jP3CYUZbN}Fmy2JOF1ej?FdWM+xz%SZOPK^ z2p3*je|4l+y(&zXI~5pk=fklLWjb-n5@AwVT$cq|1C$o4P_Z%}HtOctO( zL7H4pfUZeF0VO3~o%8;el)<%Fetp5v8mb2s1tKyXppU_Q$-;uOG)20RsgMl$Ux|fm zBvWWa$HbO+%y+&xszJtHcrCy?kHq`Sc!?~S;ceWXjYv7pw)}Y$sx}M zQ%DsbCko=xr+#utf8q4aR1OtLazT8FJ6o^Sn+{t8}jTC)fTF9 zD>I$Mk;bF(k@`;#~JKArmC8 ze#U9ftxWuBJl5#sG#m8ksRdmz;k3}=-}KVWd?Xfszbv`15Fb({WT^hNeWfq&H< ztHlrRtJi1Ae-iE8sdNImAy(f=`pH@+Z)aR`*)B-_92ZWO;{5!H7=RPcWTHYlek1_H zO`}-q-Kqb9%2VE~{Q-`c8*(2gC;b}zMC|*u_6U2%Y2#DrDLghZZfgXf5nIboSpmIZ z>e8JY`{)&@>_bo@BPOyaxAO-g>hqxSCe{Tw<|^-5xw?iy z82>1aJ2_sH6o`Ii!0k)YX}6MmG~>KR1nJB6)5U!!Wv-OqJI}U>*VflKU4Gzn#|r2k z4~c;00SEvkuJE)!@Y-QPpFWmmh_wg_kzDLJxvTwSjJH(N*H^_O8_n6X`GUZh0xl*S zQUz<%pJWZ2KYd>g7tXE6RUB?@(?de_q{Qe7cWH%q*v5onO6ww{@y&k{=3|nAj>j_t zna^s20vfy23X^kk0>7`1CrOocB0T3ZfA(bOISR z{N$-hR8%Yw5LGC6k@zUUb~nc#C#U(`=gFP%fBYT(-FLP4DMT9yQ9Xh;Z^Vn9kDdnS z$V6J;sJeQ?rr>?9fjL3|!b25Ma>2fJ0@{(pXqfZ${71S85@B->zQvP+!RK^r^Tfit3a6mx_ zhq=wzov^R`D4^|1eZr)tR)}Z6>Cn~@b_ZPWTCB$Ho7R15B0GAY&;TNi95BLbG4U3V zW3!t4hE3#;J$xh!qZt!MicdrnsOjBAz>M}!x0|-Nw}86VYN{og$|Wf?*W1g@rTHi8 z8Ra!?k0nnxj4*@#T_;#gqTg0j`u62T?aEA`2O1J9B`=KCq)KaVcOY7Qciuv=hTO#o)C z>mE4-&!wOBxG$7*Ke1bhiNT()h8cO|@QTICI(e7+%D4heU(8O2&+*UMpdg?%!j`8Y zh=JuxSBUS=bdZn-+7s|@cy|W#tWtr<4}R8Cp_?2~UO<5du->=r5^S)1#RT>vkbs|m z1X<&)i7JJ&#p&sH^mbnhU)O_l*|x*T+&mbl)UzP(zgI6(o^J%B1HP4L-zLK9{>Z~3 zy)wJJd<9T3h%1!0Ip~3H-_f5g$E6jcNFjH$3WAY>p=?gQsYHSLih7aURjyRt3^+&_ z88fxa3?(EkZp9R6iDOG+u*ULHi639!#8A0x@!nw4u171d-10ahf$6Mmoo%n7GxR^W zd+(sCw(d(5vtmF63?Oh(Fc6g}l1zYrh-8o?AVHK25)YUVMG(mX0!q#~M+FfT6v-JB zCFd;pjg8;!Uw3tPy?^>uS3Rq4m2wYf@4fa~bImp87-K&E+J0{nne#x)9`+Fa3wKUP zBx!L4qPoPN4{#qu`RkC};-qUko<>@_2aZq=WU^?4t6@66T4+7ga0>o^8_1B0z7VkL zy9xEe_vYqpWMK3BHk`GretXI74Qh;xn*pSF>Q@E4wV&=Iy#4+B{ih2ZTwg%=dM#Xp zo!tyg0J^%mT8iv5{m_9uh(T#d7dj7u;sUZ+W_4iQM|o~u-mhO1NWMh72N*8kEmV&u zq>a~XbB!La8Ji6%@N|9hL>FXcqmH~Y5cj!a)9({gdiIq3$p4~NH!#p~Z?9XNU{Uwv@L#?ZNXSM%{@78LK``v*Bw4jF5Mm8Im~TBJKUDdiUR;)Kmex%-rPjV z%ZmRTUZ#9=jVSA((x=u|`Rb69yQkP0O3G6*mo({+1Z{UYh(1=-hwMe($KYtt(9nRB z%gN{p0PGM2#a(~95v*sq6b%6|q_kbVdbs}O0xY_otUz08^yuD(a}E`&@-Fb|pzgJf zSt_ufJ`U1l`px$nPkjZs3u<*(Z#)4*keN#El-P(=|680a^n zYzP_{h6IY-9bi=wea9|tzr6zG*!AQaylTRAB3vO;PnWO)2wgWqei?dqK+&Bs3h4f{ z%c_$fhbA&B8lXI4FIII6V4u*CtbP!XFxVjP?{C<&m!6)Z$_grCSWR3|P@sejBg|@F z%`l%mb~tpJll|8n>V*?ruM13IHxUVf=SigmD&qMI?-8~IXFGF<9t-Ff0h^8uFvw4W z8m)??Z~YqP374S9C+-{KNr(_O&CSid;xnPS@6!GrqAJ3%0S<5k?TU;z1$)p59zX+a z@IVg`sy#>d4OdJ9BPF~7qNC|Jyz2tcc%1?RKvY@KFeJ};rQmMi!|yq(^QCK&{Y4u2 zmhh+74A4(e&)oygB7lHpl|b*Z`g%f=*gd1FhaMb&Q_heUtxvHd^2104sBoZPA6yh5 zo-YSjj8VP>Ka8K_~qcb>(w+z;**`dMip6sDo#S zuosT9W;%18SPooT9eG_^)->-jnC5>C zefxIp3y7X4W@cyCzZC*^*YNOgd>g)>9Jo%p`Ok|Mb0cc$)`Rju(U=Lt2NSq>D#~RW zE4AidQRjzrZ^Lwj2N!30hzhW;MMo7@EXoH{ORT z>r+#|Il8!PIKO%G=1+By39*trMPzk{UhrwT8^!Ys{VI3N18I9mgD{*00}vPIIm{-U zHUDw{q(Y1bWMAiVY8Lvx{GmBzLjh4aN<=;Q#j>g@X+rQ#D6}yojF0zPSXh)bH7WbC zt1FMRWlL+6IH_T}h~w}`*cVFmetj*V5C`5e!uYdH!y0$UP`4{7DM6x?ahIVV>OEJi z+(SG@FV9-_d9-BR_JxphKiu68pf`@czaHc^gr@{plw#)QX~=i>%Y^VzM@#wdhoqAl z%4FR?6F)BkrzR{H+T21zLl5y9`;BNsWksWiyMxiEJsfo@LW78%VZZHI$3DD;gYa)b z10tz5juUN7u#32i`M|y6lwqt6Qtf_h_UjV_TwlUs<032*M!-HU|J9an6?+{q1Mi{c z-eI+LNRJSDf>LDLKgzE$A3rX&fau1CXi))z^y9r3+0=8cB2+(xX$%GmlcWrpERRW> z;t^p7MX2fA&)Ez;CCbO)gj0c0UDPw8Ll~H+`=CtQ2Ooh0SWrZ-rNd!fRG?>71#(uP zE#qdgN!TLBd#(7)`OB5gN0X}~{7eHaiybIm z=olNbz~lHN;V#k9(eXGkG7{TvV2VCtNwRj$x9o7ld~`+R1pn5xu&@xE^Mi;a5xN!b zKtV6Sq-1S%MGXCrD!PgtD-EaqL!?7Yu8T?OVwensr=QxEgNJG8%R0tW!~* z&5|shnu0-iAClFBW?jeE)K9y7X0e!Gy@a0^&e83cRx#Pjpr;FG@z*Uyq+HePRsQ&- zW0kVc{fC_?&tTzN6+bN@w$r***o3=-6YzPetH4GY(N8R3Zn{SFIT*x}Rqz}?D7rG^ z%T|NGx#Gb9{P~mYA%ZNu3@O(KP_Az+KxBFfh5iq*iU&1SRbN5xCNuBa`2PI`Z2m@Z zI6YBAuId*(-jT0>sk;LTLB!(g-(h=g)H%%JK4I*27IQ0qFH4 zu;HK1z&3=EFH?w9JD8c7C(-m*%>i=A$Nv8QS+6^9ig_OuyY+y0nhoa*YHQ+i{DEo< zn%sf*7;cnW0sRPqbvAyBdBl{!+ib}-3ujyF|MICCGk7zZnz|%wCSSnZR+RQ6iDoU< z<6W8%j%`QaZk1_zbw=+pRDjWB!FvhRd^^|#>873M7%xxtrzR!69-C&svW5YYSi!XS zjW)h?%U&sB8dgm+kFuJS&h!3{6SsBVu%DQ?ptt*O)I|>yUAVt&ynoiB=W$Zl?WGP7 zm7gM?eg5jzp;PSepHPgue&N8?g#c$^!RA#&;ks-$xH*6?&A5d%DJkg#a)w*_;b$!_ zHdRu}{d}qL-aXWj;@R#}lY@`MukH1XsiE$&U0r#=VUu=LMC8Iqmy4>$q4~r^=L|Ah zvh-sSRU-ZPk8;Vgspg39q7k?NzX)fm&Zi~fn2!fIwb%&r8R9=g(GysrCjdcwKs2j2 zp`@WFN8>$4e@A z6s+r)V>^dIIM=r)TzRk|tyf+K5yXg{>TY|E%=SrrZB_hTe*rrrGZ1)4KXpMTzbGaq z=Cu4rE`W%t0#mNM6#&T}=jP^`+t^T}mC9Z+!g>X}54zjz0B}XLda=MXYCTxkQ0d<& zu%>ZX`&h4dU3vK>V|DCh5jy2h5V4rbLmCfqYHbG@98{R&t@Wo*g%9JKxjMW1UvM)q zT_)QbD;s_-H~HB!$pX%7sG~E4pn0LT!8FYsMX1<9cB;jv^QJ3W1{7ov(Gi*PZYhY{;`&z?QRoo3|dz?cVg{#Pl>Fb2EA|AV**9D-^xM7sAU{XwwI>0Y97 zO-AOwz$-SMCK{qZV6+v!a_kF9-cJlVo%k;LIa?gBy1FPKfPo;YcoUzI9A_88sw7T z@uRFkbcW{UQ!Vd2+LXm9+w~iAkW+?nXiM2^x8-m-P)c36qb|C(%ni-OW26HSh~PvE zX&4Ah{w&|7rWSh6X5&jC(aSel*^jX!`{9A~MZMCez%zPzFg7SJ0SOM_V1d+`XzT{+Yc@MCeLpAhIdA@SVZ*G|dA*%@OwT|r6sHn%-Z{Aw=emQj3{2vtl2|KC~ zU&62jxsoVy5^`8<_;G5}<3O<15f4Ch@AgChLQMg0>L6G=B z1o9qwwJ2@q?#KC18zN@{lOLR$M{*6$*fID}U4knJ94Nd{XdzA@$WyNcrb28&D9E6- zzxMj<1KdJ6R7U|P60O2Ixhx-oL4mH%Q8~Ske!+a}<`=(H#5IvQTg(i|wI-hM^zh(X z*5LMOwTLNV?@`BF4ZkCGL&roNBZ1P5EzB$2iSsqKLn0w&s{xCM(4Suo;oFS{0ZR#7 z@{|{e27N|dMGLtM1ERzYBAa~&?>J1x0GT`-a-PCeY#;J9|CP>C7j1{$L~rj}!zDhD zGg21sh^&p|q!vwRk1pAh44h1Qt-IHvn+;(gCx@PW#OV%&miq|_#yL4vL&O^_%_b5W z3Nj>#Wth${uq)U(I!505>_h1P0W0kOXQ4YAdFT%Wr$3N?*CwiP!nNyY`LhUAyvakH zb|}LPLc2g`*Y@r2F#3cq!(iYs#?6>7jJ^D4&RppI;-3y|Lrnn1ba6DgBvjYY*=F7J z1n7c2^$hG1T0KS~D*J$}`&MQxPWOa;TzGOO#D!GkTVOcEEG=p`@ej-)m{#`Rx^?R@ zV(h09Bdt91pP9X}jd60vwll&OoL+4a8CPjuk_X{!;>O^79*-53m1X7u5a|hzbTJ$+ z;k|MOy&{F2{t(%?d`Z$b`+HTNc3j+!pIkRqcXoD$3sxBbpy(4Pa9)lI>UmHt+Kj#> z5g77}tm+r_9UVsiwN$_k=GKB)N1k^wtp^g2atPvJ{1gy94$&YqQE6#coKf7uncIF85NCUym(WEiP7Hg$qbJP=MADNmLfn zF`$F9soibsr_k9UYQpIP+#RHRZ?TaQN-MmO$9U(zumT7@6wXIvWZx5~T?oqF68jZU9C$l6?taCwh|Kgze5Nv{p(4CnC@_X)h_7-8 z+GL+gkG!De--B3Dj_;gYUa)FSJ=v;nVDRK;xtkvRMF1Y2C*Y^qAtk6ET`bfN-v%~@ zP3}1ifXdNG9a{#z%#BU<{CP4sWj@B)f`GA*ue}m>EKRDEO0GBV?#qXw4~F)=0P;ogDZ?X%tAgnlemG z;7toZMo(g2ggX)P`lTMO`@dsN@Wb7jnw@v)q=)zdh<2+Ov5jOze?1_Qb`w7~Ac{Uh z5~kPl;Te2E0~S3nKO%8fKLiK~T5aNJez&XWFphZ_g1GbvGa+QxWI)LX=MvPV2@r!Y zi9vYTN=C4sfpS3^_#r~<`J3w}(;$?!CIx0^^WrU^!3N1=)^!AmhE`K;f#kHAl~!RF z*ZA?Zx;w0~i>sW)BBf2}v6=?EK3JXURKGey6#a3y-M4q|KaSLsxiiD9`ExihoB@1B z#1LHQ^3|)m0ywpa2}KyC08qm_--bo(sg`MQ0o6#tun9*5nAB8t2oW{MEtgDXo_N=8 zR>fz_K7JG@bgz7en+d3d@GHS)ML5E68&vNF!b1&17(f5Pu`yUNB%VM@NcdtvO8pdD z57ot}@K0B_Gs0fc6=r8~uoU6R4XUS zvXf`A$NuxiBR6sv6g9vPV#19q0 zOn)sxI#*s|3>PB;7a@Gkq^hnheM#tE+V7e^Uh{2%GGbz8CA=`lGI1TPZ%mX{s7k0o z`)5jIiTh#mhbBBKS$CSR!Mu%0v&3w$In!!XyVyaAF#01hWb7$VA;>1jR&jd;d0GXW z4+&TlsQ(i*9m^T<&%dl__xr=Clx6maEJ5aO9*%Y;uD)4+P8RP{qTn@+a2Uf~N2yMF^r7VKo3xB*1D1 zkj@iM0QeyK@%AsL&~G4`Y$FDs#39+vZ!XjMe z9%N*2B`C%}gm)d`0JEUUyGXG#Gf0W0{Q|v~-ytOhGH%q8#z=HDWl>7_Z9Dt4#BpS4 zP&!@vL`2aCcq`N`jXnHNU&}2!P&XUwZ9DzaPsM7Vey_Bi{#}*J_HNB5y#1zdZ7l~qe#OnyZe+z3zk4ky|e^p2PpKE^+ZYBFIu&iwXRt_k$hk^S$oudht$jg=Y zlB2RFOTUSSYia5zq&tn#Gm%vOs|aj9_=Pvi-1?o5ef^oJwHou*^lfIF9@g~={utW2 z)@+t;{!KASLuea-q?RHRezG5KFGjy-*i&ZRv-~i`Yz3wCt@frw1xl^laj7b2m(t6q zO0p=Wed~M_IlkxL@}}$kWSK3h{+VQCekV;|6l5p-ifJ}cqi5WlvTQ+#rae!Ty^n&7 zP{AqeQufHrYwuy|*;Z1EBAeF$1;a$2$vF>>f?6kCp zdo-hj$R^Jm-x{u~Cs+O9vQ+(b6*ov|%DTmz?lAx)i_?sxG3{KXB>O??rypug_TQ9! z!bdOdZ_CuU{}O|hq`Y8Dej0PUp|NrAk^M)bEB*uQJ25OJa(z|8YHksnB7fghcU3LgvG_ z;%#Tr%w%7MP)i4n$D(1Vse!v>eV^`3)Zr^qSIh2q2}jS$(D0tGj+H$mY;g|Dm8(Og zvyFFR;Il$Qq5^mG3%3$8a>mD>#-;vFHd1Psu*;UjjOdd1UCny2#2pg(Bqr9^;W% z9+7ugeAk#8=2hDKcR6I%=U(tV$i{mS4RO`kyw z8CiE}nBK?V>EG*E9!}WqQ_XhfUR8w*PogLz&c?x5X+}mJn!a%BOt4?#tr8v1_^2d8si=DZTd(m!q&J}H5KfH%StK>;|;o3{>Sa0&DLJV6i z2dAjBZnx71G*QcCDr@dy5TJqPko)WSPy0Qaw(h>LX-PaSE9L$W@100e<+nd3(+A*A zr|(z_sl~u@xon30aT-2T7JtUa_rXA&8RaLNrD=(Lt+YikUYWA9VE#i1X&V;IS}O@| z-+FB`L2>Hc#IbE9|eS|m|&0MU84_sGK@Ezr} zvF9%udn2V!tC)Ou6It9{g$+5>RlmM+KLMB^DoT_=-AwiR@!m*;_K%fjzzYF+1 zaj(PMC~B-SOo-fK*6R+K(Yzxa#kB1?dG9`aI9ooYr>pzD*Db|vu31~Y4ViNKz0R!~ z1=d^KDCq7#d9v6q`yUdY%D+MW=;^bUZzwA$_^*mCYi@QA`Z8`(eO2biO8;k}QI~(Y z0HoW+YG){09qM@&dV7n@8Jf+0KB&<<#eRlypTU|?W9@vu>DiHc`|JDJo}gKAFu%#; zC%cCLSRdAVvirj`u%sL(woCc5y|^}dqkJm-%}!G36q_oc#f6|v@_~B;s=22fs_kCS z3+)8TOZMsXb#G-HK%EEcDGaZLo`1&nktg&VX={jPj#L#efkb5vw``>;TB(m7Aul!5Z{}+RKinXYouJJIR9;$-7c<%amYsEs z-h}IDk%Tpi>;^fzMb2*Cy68YgMmHLa95n6C660Z_`gvXF(Kp>; zo{S71_j0Xjj<_1{b5gDBNRx8!>86AusCJt7w#g)Q{dkyN)o(~jQyl1RJ-wH4Gob!- zaEFgr2tU>}ogeqUYH=G&Cg<1)-$(ZMy%+J{s!{ohJ&c4wC(tZowCfOZlqCD5YML zA<`$?@g*{{Rp&|agB&Xl#P5Bc7o8n$Dx0jQ$C$Y7-B>9bDmLRr5j0kKEqQ37#EQbD z%W*p~)hm{n6DJl;$R6)~b>Ok=~QfI^Rm5F6q(o=1%fb&)LvG1{l+>;?DwkG=1V-j|kLRT=TB^w?0U%|jKqx1Hs+`jkaKL;8}b^A94I>y6-6 zz1_Qa-KqkXO?H36b}Ick4tC(cvL{=Yvz2uhS1Ai?l{hi0@7YOF)pYOF(PPKBuX5f{ zl+JlQr}}rIuCihtJ&aD|19@*@wSSDnuzB;=w~C+lFKBQtYW;5YrN)^~0!5F8#x>G0 zaidp4*I(}UJI!r@>9DUYsW!zm}Z1dn1>MM+%`{ixB83u-=jHEto z?5+`boe63~KDTYRVC9Ow!Pw{007H}tH97CCgfG~kZ|s3)fpg~)u6UQV6`F;wqH`!e zuT|5L=-60kA9U!5X|)o8#4k6N-T$PV#tGR_u4Yc{lA^XP*}M!PSC6B2M91<0$}(~? z{AoHKXEQC)hHgd4THB424?eshT6gckw%L||2UqGQawSfVgy^@e)yvZGIwVy%Q~UfL z@4oIsMb+>z!l}NGJ(!+L0c!8>IF<8q*gdRRh>_XkFI?EmwM%kpX5#z14Q2_3UV-di z`m0yYm##WEHUonT%RS3)P<@s(zj7_;>hX#bOhzMlH@EQJc^mUpJ>m9rKrpZ4w^CXm z;^xTg{_!#~K&3Gm9ddb$Ccf{gDa^}@Q>Z-1B)MUA)wnLtyJA@Sl0miNCy$`RTKrC` zA58*Sl;nMQZcUswX-Sjo=j`Z8J<7|g^yta1#^4Dh@?Cc$+OmxYLC5!FV%8{(S+gM# z_90Tz(wRmzD4`c?xr{PO>{-7!{YSkJwVwk6ac3eWx@I*#&BT8RY3|fGz(q>fxcch0 z1wT3oEcQ&xDyH3h;Min!?_QJRxJ=eb!FwZl2H%2@fj9Owlv@E2T_+`e0u&Qv7 zR$EWBrRhYL1+X^*6r!f1O9pu<;riQ$#$8GAkfhsHhFlzrxi;G7@Y8jUeD}&n4ZitD z_IO;j?y27FTa!m!T?)m4Le-`Js-&hPDWRbYi$+`;v}1{YaXweoPkW0{tlyORiARGq zp~p55|M2RJ=RT;IVD~d=Z0k)W`r)l1>mMPTzofeU|H+cbb+)YkD2?SY_4;4lCG1uH z`=P{(|HnS08`wy<{-w+OAnz+VIXz6de3^xdt(15Df>Qi%R>`))HN#@zs8S)}j%=Ojd!%%`_>Z1>bmG;o zm(p4O1l0dnEvBNRjSXUOVxy&1mz2jN8PqIY7A~}r6Vqm(6S36D>?0-okSqTkaKg4} z7riW9zyo3g-YLA1iYD)SbJ3@uXm8Y;rmxJtlJJ301P{oX`DmR}$wM;%dxtz}ALPIZ z(t#;ge7=R1zIi;{+*l$b-P+P}GPN)SL!@6~I$yFW;m2^Kdx?k-lQx5yKc~7lyh5Ch zlz-rU7_|N_C#XQt$~`M$K9Q!J+WN+?L9y4yRzbIi{jjI_^ukE%>#yOXBO`vRmH90# zcJ_TXf$wjg4xgWzIqmYo^Laf*;oQ)Kw_abyOqO+TRsX`L%EyKW|IQX6{W?!^(oE~o z-DBO-(b5M3nedN@Z3TS5BHf>PW}aMHN>65iO0A5^2#Gd zROHnyt|04?Kd0zcXIqLn7cV{26}x3-mfCoS4?c9Kj`LkZhga_K)Hx0PQPGL#&a1sD zlJbf(N-|C^Pn=7gdcD0i)o>WBPt$h_AHRK5F4i86sVUV+fR-c?-Z4|`+H((5veVOR z@0X+wKIaTH9{tE}S>-F?xiWlvX}*w2a?I4eAyO<>Ta zGVYHzxq_~$b?#WdW986uRu`h(4}Kdm?WljN?Pc7UOUq;Y=UvhmdDuR-P3!AO)lT$Q z%DwRwN%2TIeoD%0`}TPjxuPq|wmWO~{=Luh2QoeeQKQwcLd#TRfwjQJt&c7!u`CR^ z&^`JMR(YdlIrqb~jl=~rUh+PnKCi5Icsubgvj39{Gw6Uaa_LVuPpdA237rcI)NIFj zQ>)^vES|%=wkB)jb7dCjDx>L%Ob}P^gQXB|!)psmOX@T87fiZ})NseB?XAVvfL5#s z#C=tPcKr^8B)Lci6)0b2gKUHjN!P$5P`+^^7_li8O+b1@vmGaXT)+kBM4gu(3_&?! z1a^#ZN8aS7d0WucGIDcOVD0FDG%cGvaYt?s^ zG}mevL~_goNA(n}ViQ!;dxVEqGD}f@R(N~Sl?pu#a=V=cGYi*W-aGE`^l>#EL&I3q zHiyve#WvaZ)vGx8j>n&Wu<=WnaG`NS+*>eXf@-|z1eI~Y049GhC-JDaZ{MCT8b`H@ z8fBSB?;MHZOKVZ+?=5AbiaAN*WdDbbCmzT~-yc+MFyt!GTPK^s1IZ{*d;$e6I?EsPc( zsFt)8fDTlsM<8tn9`t!W=JzgL908LL=L00pzMgfyFQ!4?^X1}K4Rv-m;KrBP!ke9H6Ws=0@ zYcX|r>?Uqvzm)=ybZTxcfXUv`F+{ZcE7&DAQ@=kijj1q7au!WItVjsRBH|j@lKiILAQa$Z5^sdGhbL!J8ZB1*K`+yzWDdZ z2pj0cU^`qvQM-N{gVP%nYHq2zfKoCwJ8qfy5ML1u-{t}L{YyqEPa!_|f@k;I{KX{vht~&G}{O?XL>wYy{ZStGo zIC?QDa~;}cX<;FU(i6h2OYu8yBT5&oR{58N3_uK`T?g@vLGD>BD@b4)uEywG;yZOT$1C`*H${9UK# z$7@#6B%-Uf66_XrKX$DmRft?_)y;~TMMXuoY~FmOKv?ji4_Ff6Kb>i@ZkC!?h~($~ zTEw-l#!}K%cA_O~N7>mm6H7Ex56IB&Q~nXgC7fiZ3P0l}2?kOWN;dH*D)&ucl;S{N z>0_95DQP^$%R3u3x-wP8>Hh4Q9Nzt!O*ndRGJ&5bnOja6BN)R+nS9qSo@N2ZxulY% zu|h$u$~I8x@(T)3xz-%&$j@|M96UixB=A)NkuBp4V4Pk_^f*F7dH8ucv7p`+vuPJA zPfqSA*uO9SQ=HM);B#`5JDRg@TEty@y(lA)VW@zH!@ZF4ECkzx^lWs*!1qvsxB+F-tLW??_h91|Ds;4y6LK*m#wybLH54oz zMsGjc^~Yn)d>H@mmaCmQr7m7KdXVz6nD*DSu}it5JrPeoo%HAIH{mFxp=7nq6`~Lz z7pe*y8dX_YS+T(oJC?Al=h$I<74B34#i60fNm_|BGuF&q1<_t2nsK3pb5cIWD)S0| z+C1Go3RrwUN9iXvofHu0_0H1Fy=UW^+8)Ka&l}W1Ir7~ zrTA&M4JYhagc`Y7iM#%xcIz~pKDvi*WHDV`dE(*ssJIxf!e858$|s7ZF@fbcht~MD z&}gLiyr!xu(bCi|OeRZ8@lj~QdZ#Uk!e-^847R}Qo0dwBOJ-!J%LTr;5WMjI#8j%b zx`{e}X>;<#F78+K29ZzPZvXL8d46Dan6F7cw($^m zMD~Y2Y)E+h=E&apy8TUE$yBNTp0mhqDsBJ!|L!X>Car&-OxgAS?uYEQnsm*DE>h6N zV;{1Q8l@L@mjBfiI(Mc0LuMsMqTu>n+7%(a%VxS8{e)sHc7KKYEgReWf`1Rh?a5f6S5Jys)wfJJO8OZ5Z=+uI{E4{cka8X?sWeFWZ}HGDOYYdw%xhAo3cF<%Fz++_ zNfBY41#uCnUV9h>Qq-nJlqTYIz65c*8GKt&E#Ee;kRIWhZP>lRWNl2MxFPxx)8M?c zielxwOB|&oeNw%0zXY;JZrVms_3`F0 zT6J2@7f%(9jS~`X1tlLUYLXIVclg_GPHnkc4NAKigyqhpTMz^3>+8Gg zNj1&xFtL9h+vEMs@9&&b@6`I7o~7lI-!nItApcp#S&2p1oc4cn0A5Y^i_$4>3+B;} z0binmqpFa-YIvsR1CTVOlu}p*#uZ8Bnk+0ZkXv0sISoZg5|9^DNk8maa zgso7Vg|9)M9-4QB3Re?-6twAih4vqraS~qLnKPvI69?D9ztNKH zzY99O&vvnTi0diaGD-^%|3Y05ci&0xsG9z(aJ(_1cbY}5ASppaMU%8d@qLo=1ly2P z`pviG)Tc~W`Hd#7YZh2b3Okgrj9ZqljB0+xqyAPdJwLuL&D5F=Y=+cRo>IT^oOY`4+s+0u$ZXONui7kwa!hmD{AomFs)5}o ze&wrZ!`jSr&9+(baA(`iut9X`<&2Myrx7sr;4^DA=Ab=o{!;8Zkwl{JVAajjuc{&< zA{!HJwXO2Z|1@j!nl3-y6{sB*6JtEnGHFXUUm5NcbC}z((`xV|acnjRJTX=Ec2|ud z&#J`jwwb-p-}J~LkkD|=u;Z`e;2QGkH6`t;5w4yuzSp@Z_>f$df`Xd;MnjKdYk^4! z;O^;nzt-U=p&)v7RUNLNTX*gxz8qA@*0q0CP&^Y+v4Dy>`|jOU6K&vU=jY`OjQ%X2 zdEe1WBhW+Vc|=$oPt$iURM4iuyL_9?;_oxASHq3NNC47!Eb0neA1${;bQsYWWs4WCM%UN(Ni~mcDYQ?rze2aYg=~(e~TjU7Cx|mCDJg z2MqR|XIC%j(e{GJH!moLi)nCXu$#wtMs<3DD_VMZ<@0#3S9|Wxy7!Mtjoz1u^)13zOVPVbEX#JD zqR#=n6mde$XOdhfD)Qqt+{1k0L`V(ML)$0kZl^(QcwnJzeaOm^qz?`|5q^GDG7h#= zbStZK?Ysv@aTFdbx3?ld2+75p-`JF96LrFDK&_WOERySz!gqh@UoOB4?K;hQ(jR`D z8Qz+9n!4@q?GA}T%d~;MucaGb)kcaFM=77E+$Xymhl?FTYC!ht&hFf{QerZCmpw($ zVk&A6{jyj|Nv~42G4)E8SuUE+Fn`vKSuY&?7@TP-BL@z#WwYv-WGzqHvkI?f=|E0H zyW~_e`{xWpYa074dVWh%v&b)p&5PO$WqtAENOoG78U#tWZK|@4kdY2g`LmvLn0bX- zJX^|{;HzM&73e*?oEh^Vpz>?5!6D@%qNayWg1A}*Xu}6`*n7^onuCKb)opoI6q7D5 z*5p_<6QUNN<#>el+w5iT7hT$YBhEiqKG57{Vqb+?ZB(mWbsi`4q$ZPxzXt~1 z_%KT+IN38aCM!s6Sl#UpRMX|mMdGc$^ZlLfN-bdd`{koYy&qqi+E1w-sjM_yR#_Zr z%}_g1`Qd}m%nID|m?W+GzSVb7^bJB1Kw+)9%+S0N3S_DxeM$7i8Wk<=9gElPjk7P# z!JnYWjA2z^Rf3({fK{k^eiTJG_(RE|>UBWc(Z^T8`u8U}Isr>X>A)wS>&q`OGS(~R zUK^F@T8Bf``eVZ>Zi6Bfe70{CurvBK?_`D6F$Kq~=Oo6I)nnG?Uw>3OiBB#6l1OEe zDXgItfC*v*;7qjbhqxY^mlp7Wt9M5O4a!7BkgC$qm`EKT{s}xa4a&yde+SB z;OCHLO;(lUoV>AO+Y<>^u`l|5-LAhlmKTWB2ZC9)hfgr8iPBr&FWx)N`YknF`cmpg z)+T;&bmm!<7y12McHL>*RusKZ6zk?TH{KqqqkedHcpQ)R;)pN{>TJxC{E!ss9scrb z=5+TwcCfEzyW`a|pR6`VXF`=_jebtaYK7M>Jt@%_2{#`N-m~VQYGce@NCeJ5^;3;^ zs2RfF;8f@C;og)KPe~naF0=E1+t7#jZogxWd_Aa4bxN&PMbCP2UfR;y`a5gqYOJo%dHOEptbH(LDtyaH7b;snU=Wj4{SH#=0N*{fL)b#3LIvh+oj0jXP2Lc&uC3QK%b z9GdcW1wu```P@o{FG7FGqMQ_`oJ^kEQhL6i_{fh7glMR}&|{(U4**`Cn?G)PGVqH7 zx2TidwkOUueAWHw)6?41D=(4@oI9s@V*&8?)g&sr4L1zdAMWCOSNis1dC3_D7bIVJ zlZu7PGAm9KZ!lM@Ckm9=)r~s-++;oxd&LJVs)k?w%{*^hL=i0SO!>thm`zlgc6>7_ z?GqRqh?nH&iS`=w=#<^tsCCYE>~(&Tc6S$zkkOkA z!7>~=rv*RuY$UpG!(UV+zYtdd3~FWjA)Jqc)y(UPs`P&5Y}+ef)VabBV}DUfv5e$itW-};LJ zMi?wSPB}Z$Bt}glS^xQD@illp{-MNfU-hsKuW_AY^};!6gh>Qs0qR|c`K|WgQ_ISxk-&7ZAF<#tr z$lcw&4ld|p4q(t~HBC{oejSa8jU8So-Lf0C5T0%OUHXTH5_B#-Ice9!WYr1`8Ch^> z<_Q=Z%zmUz75y=Q7b(F@KGED}GyGK_Rp2_-)LAYDM+du;Q(pYRLZ%ecqC{F8J-jz>TFx$ufJCj5$Wa1oyLoMM;W(XUG3>ucwS(^EoXA0Gi-2V zEI>krmcJp4v`sPDSiiNk9q~G(0Jx52XD zL(@9ot2-PRceWU^5M0)4+jr}=gN0b#O*iXoMwYwZjQ7cX;3+N8}X{wjz?V0S! zA#pk3<^!jMF%_}Km4uEnd&aq#{R0AGa4L>d^=^MFo;*||>2q&f@C|v1NWy^Q(w5C7 zB3&%nIUZ;fko0kNmVS~_OgSUp#b2TvkSwf8i-z-&h57TRIzH*=mM^@=E)%j?Qqj)K z)VWWwAyHkzx4V$;K+)U~tL5j}W-WrA-c~|#1AZK{pV^%?&Lm{lxKfISnkSv`7u}%G z;cz43Wwg`Ss?s?(lqlSoTSGhF@uBYXXGzBT*x*2OA;=shK6MKJ`YJr!kP_Wglj{&S zM<4CBP*P~?D9Ks!NA&r*9nC3&Jr&*T58dImZM^EnFtI3)q5o&oo;`DYHR%?UfWaF> z%Eg1$l6Psxe)yp76ZP)?Ru-j*yo-I+%|CK0S?-GE)zz)GO>@YaR<%~!cXm<*zI@Y? zXJ`N0Cijool#>>{yXVp!W!t&CE-T`hnVAZU3~MrGhK7j`NLuxHi#+Ck4i$^)rCeLP zH}}Hg(5|hG31hKX7N3xRcRzTPpjkfdWl=Hcrs>H3(Prk4Wappu_Fa?KL@Ebw;wYhf zt2;M7?FtpJQcmIENYE+{UYv3MrM;3}L@NAeVL>>SS-PaD$)w!|&g&?>NZU{SCNzN5 z4Sn{!CNxH?qVm9RsY)DNiLKO2bWC2usi;Uuxbck+Y4a(JO&!-@a1_=uQhoilth@ zHsh;4?gvgyegDO&ns&eGacW(|ZARiaN044NZkbB_I-T6Od}YQG za4=hbx~rzWy**Jg=&ukkKmFi{3-Kv!Y#<`|G z4Rhd9xs|;=5sNm)369M#Y&9OmK7T*c|IL-SnfsMv4M96ul!_)?jP-!CNx^-v@?MQ} z!Aj1%+V|s$Qq0=fru*W4`%$qkvRoDEEmDd#;AK}mk^qTdf=pFRfxlnW?MxBHuf{d; za^*On>&NKo{^GfH-pt zQ)zPLf{WgE!vTxCoYccz&R+7CQ=#VSKen6hySk~p<(-<<@a#XsW;}O>F4F-!)L|{- z?HhgHcgEAjtiZHWN* zR0&E&A=g)b?^A6+t~$xi@3>4*JSt;B{OOxB%JkZAt{;-feq8u(l%fA%L7y%*FQ>tezM;;?Zx-GIg*nf%U%vdMe$i6V%|FEETmeLES9IL$c%1e4Z zX}w{n<28|#UN!WWS+*KNb-_bj!qH@sY?tD>>%i6DF`GLTDmEs3jC0UfS(mFb) zPC|lq+*eX`tSgp-bMvW?%*@xJuNw;NDSgxTme0_X;{cGyWoxV+*g+JIP_Lsya8`P1nNkvDecP5hY zDAx^p%R(t1gaW^SU;_&oOZh365;HzSLqOnz##dkGv+?nb(W{UhKK35~`D*%6*WMl< z1(4VLYmF4kvWLml({Jn^YVxyo3=q4l=yxqlB+@!kt~;eW3e=CFR9kE7hUlt&Qc})& zWaT$c#}#N(v+q!U8}<7Z(%69z|89}G^q;Ng|8sAL5%-DJJ08f9IR3_#2VKvFRq`XS zeqS=>|Nat_w|<`WQak9=kfz1nDJ4~RUndeN@6`4Av9|co3`47? zH@P1NlI18BSMpiBERF2M4_zIxUPpG+`u;{(b7k9O^-)nVL$l78W@|@IS*GQdu5Gz* zXLE`O#6R}kNOwr~@lj|PTjsG5T^1!NNdAE` zN=y3!kq0k>3M_9pP_SzjG-#B-MB#ak_=_X)uu@U;m>$jTZhH4%Q}56a3qL=<=bm~A?!GeyGx1* z0vN0j2zRTY+DJE0#n~56-y2cgjpn+@B_r_Njgb-*yAN|+25~7fjvu}ryrvzhqN{%* z(ei|0$leLB+tS?pJ4(d7D3pUGBnkG4zn7O690DSDP#!nJD8k3pfYU(%Nk-`{2m@=l?2_S0YlFV8xoKPY<;4@86Q9&Y-POl>YD$Dy0?zX^4;Ej zUj+e0L*lvXXf!RSVqXlT@j#*|1jHkZ zvz6in&iO7pFdl-$%KY#ZeUQ$%!@<#KzX+p`8}oVa~=7H-UTXW2+r5mey3Y%!d6I!vKaU1d|SlzdjL-1cWe zCPLRh<{D&d6k*hdL`2+$%;HbbH>7mf{J_n_^Ye?2IApD#GN=^n_B#AYKwhUqrhci# zYv10F`v(UgxoSZ2&@4&#nby5)^x3`v0SHI|huD7M;O3XIR&Xf@g>i|3I}IixG-J!b zML$^Cy9^SQqE_f4?TdH`muctxT;HG}i!9#aE(#r>EUNe++ff57V zjR-EQ?6R`5`#RqVfZLIV1F0g=8$SVFa2h`47%7SxE2>jy5OfA)h0FEGVM+tZCjoK| z1-m;fOqH{sPZ@+%>C@rkAeQ|ClLYV(VVJiHfF%~b5(xse3yVe`Se~?x7nhf_A^Q%} zhP<2BhK9y`4Nk`M;ZaeCKa7UkMi2H=p?|CelIM_u38i_+#bp4X8>iE8S$hmm29bun zEXXu;gF*y_GT)yCvB^*wPmzq%;z>+Q%uXi$<;!t!q`m{nd`O;fPXojSAR$XLe0&DP z2-9E+M(R;~lDO&1?f`ln-vP4oy~^&)b`F0*X%*VcV|ifYbq0jtUX#7dS;gM`i)r45mR|E`pbWP9FUOnm;eN zYCvb7o&HwpMe8|c@hH^mbMosIj|(B!wY)_ za&-tgh|rW!9Mgy8EeJ@+TMW-~`Qgrg!TbmTxE5B`IWR-lA1Ii+G54p0i3$`1_zf^C zW+zKCGdTeC?t}d3*2?HfOfS&iuK<%G;jt}f2q4b@!!qP)!LRNHWkp6&z-W6x;HM`? zgYO*7Q7BK??oEXuh@`JFsIWhRl3Nb)Tsn9UBxuDx{(ui=d-dbGubtGVdyilQOy5fe zjw*t~Gywyb!hY1$6W$5rwMp)2I;*Lv-G?nPgz>ow0<6|@XMej3qNEs?$UqLn7P0}p zu<^+PmkNrOud-pYBf%lL{{+^{Uf4_!4hk~SD)hd8PCQiu#1bb%&3{gyt9??AIC#NK*8)wZ!%o{>;2ad?`EwzOP9lXSb zhL9toeT${ffN5tZ+VyqC@kav#m&MZl+o_%Po)#ucxnp~EPTRwz&>VFnf5d4$tAtSS z^}bg-{})^x5LPsI04X$|amub0323HOVtjj|Ari917^2g0PWm6jj&Ho=$xv##kunl{ zPi)1XG@kB?Z0YI&t*Bg|&l_Q($8+UlA0o)O<=|ww^|nt;v@4|P_R^tg&VFU5ym@M6 z1{@A%Yo&=I26@c4%RWD)&nf91Rai?9wpjgt`Dk=Dz2+P?!1=Em z+n?L!ncL}@TZRTFCPLymndboaNzl5D?W>+um+v!E>5=UCQ&@Pk;|Btg!5_`WYZAp?2LmtTkOu(os2F>9YBbzb;Rl8EBzxYDXDP>u0->cf9D=Q zi$-$$;T>Tr^JzNh0|NC21vs~d1O+7|CA~Z+eJL+3HYO&!r{I2aYVtx$a*M@b-5mfc zZ|A5|5c@lo(^tdS@6x_v4jY^4!rL273&zJ$tRj{hdVpJOlskL@WGwjvAR-_bPFG;7|2Cp|yiCX}WAZ9HZtUG-aOO|MZGa7WO&ku_S-rrmL2Ojhf3 zSaXl7+&4<&Hk62f@E$2fd+MW5u`lfU>dv)~m5q zW}kO{`yECT{X(awvt4Ow>coN5yv)+dr;Vm=iY zp2x!!zr)5L31-qtUSG3lM4<$K;WLK3Uuj$G6s<28SQLOA8pqcoxSkf z+wWtli27Uo(Z?gn;v=0>Dy6ajr^*4K$7#0duG@AX6toG{&fO-p z{>I1K6p%3h`mza}yvPT6a+XF@d@lB^vld>y~Li|zry-%vK=g;z34P#{FgMrzN^hVyZhh=|U{wgTLE z9VIIC=;_ZKdHLaQmSq!BuofjIx>4Uqe45MeC@Kf1TRfBDAn|OwqDZbH--N^$(4y7q zA}sW>V13f^C@ir)-}&E-tLAb%rK{;}e#z2Y-T4UUhoFlv>OMbDjNnx*7V`Ek`e=M# zziq!wC6{9};D3v+F&E`SDvS2!2vRzmb~;X0bollt2u5<+r%xORn+`eVgkf#r3oZ4u zsmN}d*qP>T&`bDLyAT@S!sq^T`^*L)a^J8MZ;O;$K&oBp^RtR5l3y9LqVqlR{sLiH zzgC&?;hd|G@J#mYQqOY014uljndDGhfVM*GBEt} zZEO9b*z$t_pZQm{sAGB~t21Y0FMo@p_VIaKjhBd}?agEP;&Ug{<9b(bW^M0s{KN(! ze0=)bao6$K2)^YNJ>#dZlTzlt98$4yq}69Ve6ABKd;hR~oNT#(%gQonqGBlg&IZnd zoh3eJXnder?xKCB@+?kaLGc=!8G6+G&+dpcAJe-{XIHOG z&diK|PxeJQgPxe-5W%~qrdLB1=AbI8oSUCts|p^O&=~e=eEM@frD+&r^{5m1F}DSl zsAw~^ItkJaih)EaF?g#5!bw5@XNltkhGOP3@A8A~8w?DDh5G$3W>YC&{NP_obcg}5 z1`h_R_&$=aIK9Uep5Nx?ZfjIU*7pM?KgOi7+Q3ZwJlG0L(7a{atK7?}-!#!nh>PQwTWM&EEH>SkPPC;g3w)TbtG_N4#qAx)N8#gV zw{!nBNRRI7|E3wTqn8Y83CkICigj{nQObVO6&w_Vn8xtfZEFiwJwDuT(f>%N1g1=K z$zw;jyh4VH!lKcBW!z+Zrl1=URmD_!=u>!H3I2L#P}g~Gpiw#;-hrN`te;*r%>8Aw z=o5|p)qTt(_1ocpR2bgP>fFiKxej+HpCZ-EX-;Il`K!9m6d!*5Y$j>BLD5Ya+1brG z)@#gW1&VRMMHhaVR1Mi|u=N5NRR`mS*5v}o>V1lc5L?I^bZ%1xA_td(yDF{o1&xbO zBZFE2`s>$LZ>M!$4%Ldp+J7cYvqs9#_bd<5+qU{lC*a3HMgdey)z`O$zleEsR9;I~ zzMB846EBP3quhZ35xO&HaIgAJJ33xf&F8y>`}c*l$mv#Jph5?Yj`5S-QOa6}xeI#wac~I7^DH3lw>tK{<|ApcR>newf^v?Ie$M zL(5zDn##>fe+SBc^NR;Ql#0K>OfkX$ybkEq3s48!i#25>`LrhXpv(g@)K}NmoL-!` zxJ7JozSWk4F%?R{^eLFg(ny?pq=auPjkHQgVU(}JyzE4 zMM>HI_DfU1X9G@<5&PJ)D{uoyrZ?tBmmspgNV!csvT$TVDS50cb}A?%lw|Uq{uxMy zUzC=fiy;7X@gq8&@o34$OEwfgw7jvoTtF4?KD&Gtb+>;&|12Twv<@P8nYYy*%YlSG zs!GEtx;}5>)|;vCghQfF_z!d;BOBBT?dYY|93_40dX3$Ui zL@}M_wRAvrUCzxXBj|ZwzPJidi9oLMLwLCN^AmcP5^$njrlGkG?-vRYK@WOP=(E-~ zH{a8$i1p2feaR0H*tKT0)xS;D+M;B7#KN|kM5l+YHecN&eufTS|lWroZ50U zjTlO#q@{b6dl$WrXaL%y=>^*vmA9E$E#lcL$N8ysKw{j}jS6g+yzRR_i4g%g^B;HR z^90UiX$tG>M<|x8PbE7rKu@=>d|M-fMjjrW<1=qC3Joic<(+7R0UFs?@nQ!5sG|;f z4vV|zGu4lV;v9AK)!^*bnx`TgmjWyT?xa(!-1*zuvqjyDB|v&M7r6ymf&jF zf^P$lTzYN|e9hLxDOB+fuOM;?qwa?+9 zz0k^lfA)%HXA+#mMZZ7IQ2A21*=ug`Q7z-?9S*BwZW1;_tg%kr7&{78b-8CVLwg%R z{2p#@JeJ0|y;10R#|M_tI~j_FciW@(7DgRKgtYv2UbV@+hi0#@*Ky-32rZ(eSl7yGOH%a<>2jv8=K&febV zZ7o&;OkXrYhgYz|v#<8&95*yF?l>*>nP!cB@C?9LJzbRFeHRNi&fVKeYPQ~8rCMAv zprWT&`=W6UWo=!+BnuWdJ&z%a|7Lsfq2$0P<_Tu2c6yMx)tm~@>2f|vUnI|pd{MV z)>dyF%k*|y6(sS;oR4XZO{R;wJBv>E+t!l9a?~D;9;3YtCExB(O?y6g1}^H}y?f3o zSs17&9=l61rIze{o;i@(6OB*t}#|e`i6kDUp9Pywe-5= zbVUT3rpzQF=T%?Ej0OqAmXXG)5mq#!54L5Y^FvYVrii_7QVu1#0wU~8C5R!u&ZJS| z3d&WGT1L~5TJ7xj1kKt|hNDZNCuEfSNwPO8`9WFf?XVdwJOF)2C-W*-Oqa8oK%$T=&d7%amC~RpiXRD8?m-&q(d+*T62k zsuf$^+A5Jz-ko~VC3fTV((fAS*g8&)JwnUdPYrov_8Ak@Tl)t3;=sEW3w!u%&ZU@+ zA@wlE=quzU_#=rT)%_*ae2tEGWk8HzbG{$Vg_K>h`mh8PeSY00|1|J0ViWi-(d#l8JU;7+?nOoGg zFO7eC_=0mtEwc7k!{d!ZNUPQd)ni{NxPzLWo<>nDC10svASk!n5~5XA1^v3X$6NEe ztF=^Emxi9cbZ+?m{etQP%-;vej|ByUGPxrsx;D~ znjOx#1x1Fla1m`+KK~o2k~h(<$eGJ80)B+_$XHjj9nbdzoDU^Y5Ot(UO=r#prEcMsz_Jz$4WT`xbQx1trzbjsleZg zCNl+Yfq)=wt$mQ8b7D9EBEg%}#W znO?NnwRQ@aSI8hxc3e(aF`X0RM#ZIz3t9*6UfkO|hjrn6?S~h)WaAVQMQ`Yp@#W%5 zgos5iarJ!O8^wrJC$`T&)gqlGEV`jhw9IGid@eslbEGKv!~0Kuq(#PPC|AMS51&5z z*|0h=JEbtm$#v)6vCc?Y{#ltLNEP;C!b1b|;J;eKy6D()gzBxi;|T`?EcC(zQ4BVePE&@r&t`NJxgPQZN%ha?<1S*@H_I z4VZ5GHE_6qhf_H+Y`R%@NAh{HfD0oz&;3fPm98sZ0c4n{0t*N1#N(Yi@C07I9CCw| z6%Q|%?JeD4e}b|+QQKDccRndB7c?h|`UA9ss@5KYn+*-SubNO%T$FAQ;ahx_Ho24- zHhkuEg6*4d+LYe7#YN=UqC~~Sgv&4-5pT6)^&v9ScX5%dHEQM79Ss>7=dwe46#w43 zVh}fJv%ahGW_VAuS^uN)mZVJ8_h+O9W=Dg45=EdEtXCCW{p{o{7m}VvCE20l+!Qz%*b~?pDY&6-bFP!!SAri*oR)CX(yQ<5QKO;a}^ zT#`xtLhdYLX9CYh(1wogr4B9csOAp?mlpohZB5$tjnh4X- zrfTj~xYch@yq=medk9Rg2RtZ9!j^THo;&L*@F67HABKPCa51qz$uB0BTmh3y70Q2Q z$9xvRVEb3*;5%^2j+ePR)|Go^pvVXZb*(Rl$n~pXZEv@(V3uOyR|kfR#C;<2Mf!wX z&pxtx?VxL1yGBx#_?)!3awBb7#O+{$=mfRsH-N^aN_zkGq#xZ{ug_v*_xGK-enP&J zuV?f+8a2DnO)k!MV?UzO`ZUXh4>zYq!ug`FQBdr~yII28MDbGvHuVG|Q;WF`pAzfy z)$!w>9yHG+55=b4R{QI!DC0s6R*5g=ep3okBQ>xN#M!{b*;bJ!0+B| z{x@UVB&Gi{oTV%af3i~sNc>JJT|L$&ZYoL318mz-2p37`aS9VLH;ZshE zrr_As$?2&xC~Zddn#^;fT3aTh_skAy>NLIuytvgdHtQ`Pv5%}xN)@ck@O}FtZ8lgw z@7pjFF=-7fdR$v#B_3^mj;yj_!-CxgSv_Gc;DJU4Y6G3&&|={R_2>{wqT^uDGp`1N z66lDc`#J=NfIRaVsYP%k0a*v+F^x}6dAPc=b5Xz6(eVHunKh4s`jXA*_GD=NJ8Ab!2#8H#5w{n5yXIk8O)a4Jv~8gjTllGObH9fuBoFfQpY&t zw2H#km8>o^xpjkzSs9-L>k^KLwj9fJ+h+Y?c*PS@$=Z}LrxPr^lbyF^Q(c$oLR&oq zp|#1fBZ?<*HClFc?U<~EsKdq0L2{Qt11xRLHr8`3>hB8gIoX^|G$JNUV^WsIHzy&CU*L?pjX1+8% z?Flb>3@W=|IHd5}YQw*(q^{(t9Gv?QPbSBstzPPuiG!I6yFKR-vM|9Cybtp_oi5mW&6^ zgP_Fdc3D7f8q((={NM_k6(VF0h{=NC0{qBqcPcLUfq~MJ7u4O6qap45N%t|QDgk6L zP(KdY%2wHop+*mO!{^OP$N(@wIYUFCt8yMv0WW|%0{ce{2(N*+&x61@ z>j28oRrU4fKtvXrG!XNU_T#K)d1nE(0{hc6)gs1bbor6hH_b5;p}Qdjsw)YXYITZx{(*4SZ;R*_W?}OTun^5scdq|6^-YbI~lt7l0Lk zEyPW5hJj|(w8HxdGOs(5VKyQz(I{tVSwp5NA75o3^I*9hJ1F#nZZ7G3Yo)~;9^w)J zYCYm-2~nCxMu=7Nqx7d&4=ja68%lq`pocyzH1LZ7%RX|*nAl7+Bm4GUsaw)kJy}br z%BhSo*4La!bQ7!LoSA9(Qg23c+MdsEPya%LJ=?jBBgMG5IF!xFVdVF^x}+vclaW$? zjYG8iZyVun_iXlx!@|$sxFP6A`jAW{Ft(;RCsnK3itf$S{HV@W(`G4tG7T8mpe_#< znGk^ygf`6HphE!a&hR4+YN*S=%0-mHO@d)HVm?3zhlP3|1U%r-{^_2UYf39TUytPE zWW==-7#e(-4p+ewF2V6=|2KlHeH53FAOH**m@Yx^I#xhj2?2INJa0?^YtoJ#hsE-& zb1~3vA9R2wx{Z1VN#PG6A+!|S*4G0l`52+^#~oVxnp#?5H~$b8b_<0C3XFd&S;3Rx zLsS$!ka@zu)Ykz~bpzC&guyp*b#s#dP%I+o+qw)t6&Xo~m}){BP#wIhdKlRCV9SK~ z!6I&^DNJyeu;P1z0;4b3d*{LAMr?~=)ZV%&9Yas7QKH5OYC^Qg%|lJV9b8brf=JeT zMM*~HI%182Se3wAgE{Jsd@?)}BB1YngJ2f*g9nPJ%K&a%fgeJ?Q6FF>%Mq4jeg}L_ zQI}!3QiIG?6xbh5PEMBnD7gjMfe3&7%`c9EDRsp$|_RoUAiVjrTTk9xjRP;P*+>jf$y?*VCjzg)X#05{>)Qbq#3+$tAlN$GyFm#A_nW- zU0p(;Oavu~-Xvue75(7_Wm87c8M$$y8Azc&nXgPMu>hkj#E}J{MOq!*)=yOD6+cd? zaXRc5pkxyGJuVA?J@2cn6H_oLPJq<8${bWcf?{h9_=q!aH$TH(yZsC?7#1yo+!{6) z7Z)@5Tj2#>`C}%KQ$%znbJxfr4o+BtX+QPX#>NGiUyR^gDYUBu>&U`0)!J)2d_Dk_ z`5d~QT{~#My*9YdPgU3LMhFMBtGuK3bjvh1&r`W`P@2oOeku}z5W%~SCgc-`PAF`c zFx5;ackeI{cvWApW&Zw>c^f2_Ou-H*iqDCnDlr<-r}70YU4xKeSnuE%1Y{z$DCqa{ zNk~ZC7e9{}HNg^44I0Ms4Y2M4X85rO(ZPn1pam9pcV@=NVMDk?Fu0PImWEgPm6DLq z1AL1o;A60`vE4j8&cRA=3g+sf4~dB8RB~ZjUL@nV40)blT|+}Zm`FERSn#S6%SnK3 z@&qbz942;Op#c%pgghYe*EWX^Jx}la{p*3Gqg|@pXy=03Qn%Vle?BHsVR77zPZ|RD z%>}@vthycOCK3cSK@b^22au79fdL0r4-v0Rq>~zBWQ7m~fHI0W!jOCXH;$d`0PgmCy+y*s) ztVM}Ec#Om@(%psTm}(Uyfp9)xe)~(H=d&#N(%@GN)WyYKY&bNpZWZ)j+el_&eD2-& zEt*@rCwoCva@AM_cbDPd{EY@Fp*OEM_BR(Vytr}W>6ff`+eV`eQ6A#V19~jfR!j9w zCk`qRfubhwBCrOrNzL(<3I1urvRb_ z7{tWHDv`IRr=}jkV*#sXl=B6`yJOo%ORV-_WPGC}TPFVO{>}npiI@tn?9&F z0M9}M!m~qUk}P)~{P*hW>IhU34TOvij}F=0Oc3Y0#$$UQIY#*TT?B7{^Uz{|Y=kr& z=lN$ofhF-P$DC(*3GHhRYNE@SD1d&efP(!H8tMs%dK_T8vjc@0zerI`Bs2U)_8{7M z$^rx#GnpYr6$AglV55ZvwY$xaQ^1y%Us3UDP3;Mf6WCOvKr&GX0rev#9&&KZW@-fG zF>dZUIR%E%Mdj0y|Hdm_4ejw9dOMuU>U+E#`t! zq~Hl5XDK+ghz2x$T5$#C?v+ogXC3l8ylB6w7WgV7EW!$!dU!=KK8Y zS?&u0h;bmeNj1Vhp|OD~4&pNi;mD5!VeIHFaabiFK%zYp4f#>f1IK|j=zpt(kVyoK zGR9fd)vH&*>>Z`s9_0;hE*=`|Ia`4I90Rt!8VsJ_!&`;udLpOtxCYD#nH>+U+nC+p zJqz*kqrm>l6*fU6{R4-w&VBJ&_ECE`a0Iki?7Ncq*xxlgoEQS9JZO;zu}n%(f(&hU ziZ9+-~;JUjskf7igA53=m{8(B+BN?v~l!SvrVu}+?_ zdI59|A@=j%%nTQ1U=-^!LW?Uga(_id?4aM(nIwu&#%+xxF@g?4rqn(|L_cZv5P77~ z9uW^(bDWK1AdA}6+S-GD)@P$znlBy>wblz+MXUXKvGL$u494~~Q22HQQCAq`0y865 zX~`D^ph;>LRNX1Cn*<^$pRRvcq#{FlR7cz85BMW3Hihl>YH5Kq4Q-@Ob1=#f05dU-p^p|=A`#KD1A8`Lf zJd3HqT7+Q=7D~xkt3gn6kDWa%N=k;{`7I78+e?+fhW8t6)P8)VGiERL_2ao4B2>Bur zeJI)UyY81qoleS;;LNN<4T)hKZqk;F!k#P)lK~2iCAqn|m*J>|53L993t-~jf(@FM z;6lB5?8~YWnrLz97>Tu)C+c--cW>Xm49GPRteE)lyWkioIs~n?3$t=m-;EhTGg1=X zhX{CTz?iTI7>D3n2zcxmmaY>}cE{InIx2*tUN)TgYTDbSE&^N(i{z8D@#hK3E~x@NnQeZh;tE`|B`>+7%uLlos;ai?>E9}@3x?7AQ#`2l9zL*;f# z`Fj+d8)IsBRe^wh)tgNYj+Fafz9IJMPqo7)OyaTy{lkWFsLSPa?G($zAX5JUQmu|9 zNhf~h>5H%jjDv-|{k-F;NmbIxuI}ILuy`Fi-MfOdwhO1(S?VsjWJ{7KrXml!A{Uf3 zCdav{yBdgoBU#MZw@Uie7mi;5xPp05z*&e)D#v|i2D{DHG=B4z7 zq_4Em%ouoI7}w7e^|K{V6PGVuI=v#((H81$uP$fITg@^E8sny)= z=25HFd%V|rh~QTfm_6LzS`J9OCH4CI)7-DFBHtbW3z;U@e<`|rV4}lmyY|)G{?*4v zEApT2hBP%5W15?r)6m>Bm{wo8N{Vo7uqv2h}o}~W1r#}v3LPGri))QWTLlP2udnjig!n;q_7w`6u z4S766RYkkgprd51n|csQ9yXOi-5;x88 z;nvQ)7yS&<#^EtW9R9D$2Pex0A7V^#xe_e}v0PNG@K!}8 zDGH1`$xzovwY(lj}Ig~1=5|xYcXDpel1ii zd30p^Vz@zb*Pe&m%!7>b;=Jz$vuVVk%aJYBtCk1$JVp=Tprt?9Tl3z<;r^Z^2^U~! z6psTU(MtpZ)Q7*tnbu;UoMHMjG991kBQC_W{Q3aw!-$oB=Y(u0b{mM@q|iXl9mto? zyxAd6&)c-MFW(*|DHUIIKdqbm|0kROzpp{~iDiuYnwqZ8_X(RDLDXQd7AC%6d3xJI zn-SJaBbhMtz2@1-Y51C(?}`GR_C&Pen}}CfkLu~5=wdrv^~g}~KW5e(^97boQe5E~ zHX!<2gH3SST3%x$>B+%FJ&_P=fPtl97WfXD4MP8}&a(Z$8vNfZdaFe$V+SF8XecCu zcf-r+Y$NBTV*4!@S4A``Uf$cZytvWbS#@R|@(yLaS{b|5C zmOmaVzMiA*-&?TJ+n*m)mIlz)cIA~yhcPo0Ph9={?CQ7emdnmT z)Z36y@AztA*#-INp+Z{woAw@%D>T?*y)i+dc$kalu#dwZT%@L@F?eMwnlw>9EE}jC zM)1=S<8J@+&^M?1uH<1O&Rwp`^7mE-o1Z+9Xz*9z`lZli=UqJQXDdjZ+&7-Q81}dw z<@~r^>eaJK3aRLam`s6RllyfNv_q70A=G>Ey=N|hzkUK@*?X2l=!*dX?*5YXU*_fV zEY97H`3TW;ATO~GpXFfyoTT-qOh&$(1EB`ag%mJW-Y;U!oeukna%P^er*XLeg(r@_ z!3imWvn;HvXHeinTt}2xwl?EZ4!G;#1~18<(sa4*|FRSe`Iu*hoA;&@Pp$ZJV)JOe73K11W#9oW#r5U9?hJ4&Z9mG zw@q}sFD>~xan*e9!h`0Xnnpp4kFwI7w)nNDuQ3m8!d z9lj&?q)D;)?Ti#Tv;D3ff)cAmvNsl_R|FmM9lxsrkLiK|W;V9^90SEfI7F>(u2y|X z?s9(Y=*SBIUsaO~$gA6xQW6D)yO zyHZ$Gn$+wrfJCCg6(5$U1@!cML$di)=tB|g_1^MMEgKq_CdExDja5{l;5U4BVrO`KQ!!>BJsCy`ppT?3o>}U`i&)z&>&;n z_BNWc@MJHxp%Mn83}B4K#rH##IzBzbmW(WkFEJ3ee{ks3M{o@*MC=^6io?-_x7Ym7 znCe_ehuy5$o{b{W;pU6^Opi2$L{2DkXDMW>4-dQ=%H^$CkM@SpNG8vf?Xko0of<14 z?Yd9i&k8JPhaxIH^cC(_x~E>>R|;o9V`gUumo#shEZ4%qNlqS~^2}2C%z|&PgAC~C z=$Z@RAPPJ*q{(>|MeK^yO4RntSi&!Y<6BclZ^g`)WJd%Yei@Fn`bw}JCiUWA5hXSe z!z0MJjTKo_0VW;0m3KNE*c9MmDoD8G^hVe<0y+;FgPT|9yxfpK_g^Cc!`rT1xs@B8 z`M2}g>0m~IhVBhfanTTC-o2MHaWamNTqaer6k!#q?7PI9;`;Vn^IMgO`_^l-%4W2$ zr7_fFLdwf|97n$r8aS!C#m73H?VWDZ(vp?RP#*)~S@}&(pi|ftM~{Qy7Lv zg4I&!AC53PL&3o!!BZgneUe6ny)fP^ht2%Qc6nhRY8m_fTZ5mKI%Lht^*Yp>x0Z+P zXnLV&23^FrO`T#sMnw3)rci9Qb@#4Py59-T$wewv*Ei!s8hwQ1E?_3{ZVmka_8O`i{mjbmf6PSl4x zOS_{p8U!}DC2H9rR|yJ;p>p`w$I|< ziMB8WIT;Hgu8*g<}3=5 z&oUMEHbX!2q}_p`^`HM~3XM#X1FjyvC{(1|gLq+V_MYtLq>!TAcq|NP9xv%OAI!tL zs1xiM3X0j;pO4J!(?_ku$9IP1qK}UE>4rO=$^il_1UN2RWBg58+W6>i2)X6gY8T#A zY$Yw{IL1#w_cyx8$zid}M_6m}y*=x{7#%C7btDtzTl`a4Aj*kMiQ+Uy zdDAqF{Mjn^CWcBjAT{D%SP1ReK6~afRj_!t8{^de%vghX=Mey*?``<-QJPv>E*iau ze(+MzP0l}(khln0<<_>Act|f<7m4cuusY_!(EO_J2eF-{h}MxO3IS=M72!H7D?Ze7 z749lMZc$`d9mf=u>F8XW`;(o8;ZR=l^0%_(=Tkl|f#@`XwLZo<@KzVmDXqSFI$|J? z`|s@eKkzL72N;w8h)Ut?tT!%q_;&d$O0!{zmcwGw`hyPNo;^KnEDn_sw~ zw*&doNwf;Ik}X#Wfs{f*>OcSPS;8=YwBWEC_3g4RU`GgZ1joB<1x9-j^is=ZRL0|W zglXNcx*Wx^MFeZ3{r%$DB*RCK&bSKHnC{M+HeI|p_AB%Jet9n%Fk2|IaneaG>cV$+2O`T#e-jD|}YDvu1H zHBUuD9iq9?>;XiC1i)qC6-WwDx-zpqWh`rVH8$??;b?DXeFl%G!=Yn34^eqZvEKid zjw|ScO4wN_9@c?(TD(jX{MT77E+TpiarIhtT*W{907H83YAhe!IkBenx-Zhy*&g~Yisk6toMny4{%$= zX#STkP$G2;-#DV#0#@dISS&6ISe`o`x2SC0|Duy{GR(_kM$k0~8>o4B&>ZO$8vNlWLo?9C4TO%6shs?!a97#1l(5x$R$YFn!)NQOz47Y}L`IUwgABvDx=W9_?LT>(EhHH{dFOfJ8Am-x zWBcL%;RN|M?=8mGg8y4mxABcFizY%d`+I3j?TvM>*D<#jJmMGzk%AIXZfQmu*n$|_ zcc$QWg>JfEX8MMIIt)!dx2&rqXRih%-C2#sXC%*Sn`SaD!N zfIA3)lJr$oV<>S!7m3^Dvqi?kH3`DLV?Z&1k6F!+AGviqT;|gkBOVy}K$Vl@;X@v_ zBOUWMZ>qrAr=W}Uf#EKm?S=&uX~5Nt$Is6vW;&2h9(MZnSiV3I;t)ud8wbG&+mr)9 zgt1}SgS_TlS<~$$4M9xq*RP(wzT$aPpmzeO7$AWjklFtHTcD(RAJ~OG$at*o?1+Fa%=NGqu%As6#l^znhoDhQ zUmwwRM#sdQfXpg#a}tu0vheTlPK3EQIY}U4+HrX9XHO3SN(S(VxeZ|FXs7HQ9FX)o zstSq|odvJuQT!19!|Qz?8>{h>6UA-6dl||j2>hl6l~RaSwBfy~?7Zqu!8wbD24c|&TPItJw2)0g76+r;U(K?y?bnI9x7R$Dp|iavsTUNHYfGy zgPSj3z3K_I66DyjzkfCI(ntGc%yZ}BolcH#D`k^Gk=a zaJer)psC|<=yZPVC-k@xLZ%W<)uD$3j^{zoS^!LxAhn$f(iotXd=)y{_+hla0YPC= zE>KLNg^I=-ut~DEwtm%Bxi?LEk%IdgJZb^JIG~||QWMxXqy`9u7!UX}4wgSc_V$PJ z2P9Ar1xah}LNzI=OJDNy*H*^`0Wvu&=y}oQ+cz$d{8s*LO3bED0A(C7e8#~M2H#yc zg!xDi3B*AV*!M*T8>%uMpmH|1Zv@x0lGk7zx7io$P&DnoMBXI0a}j*Vnj)e z_4Qg%#sEGJ6J)gVtX94~(+9JSCP$vEZ zJEd*dfP@NcLI+n#NbaWdf!Nac@81a}@H+}n*FidlcFH2z%fsV5v@V*0290Px=s5WR z@F2Dfv+yob#uxo&vyp`{cxcNF7SO&kenf3VnV{$?CkAyRki*az4QNxjAW($ za!`kL^v&D19>8_b93=+w)&S07x-`Hh8R6!J1`i~)BwI0y1bD)r;NTN^O7P>$*itrz zwqjH+I9~!!13;CKTq?|Q2n-&98TrjD085~(^+SJjWP}2`CnAtTXQl zQ*WyqP{3l-s6R`8XGT&Fd!L1c1-+S#yI8USEQp0&844K~A!4+mbnsMymYJw12H78l z1u>pE;|xoT_=CPpATNW1@sZ(7D<1kW&0kMp=o#U3?`H*Ulm(*(1ZO|!D{a&vaa8XJ z-EyHpnrJ9Uq*p=r`MOQ$wjMDNkrzN$HQn7C=|(&{c4wFVu>gA#AjagHkwHhortiKq zSOhg$3flSZd|Q}VlQVmhdL`QR7oZJVYrMt-S%}EU$w8RRAKU;##YRszS+PO!Va;x! zAi(*$Q>@Z_<`QUxKhr(BETD-jj)lZGP>_KDDBuQ6`l>{xU{rxC8rWcV3^)F6xWFGC z5XK1g)uyJVD&T`?=V1MmNq?#{PziR3_l<|HLD{%NVHBWXSQf(UW0=4(=5Zi}Ka@KUQ+e^=Np~)+7~5hrIPlRN7fLXUxAg!``7>yz^->>{*y>x49d}IPt)<7MKp}zRp#t{ zQGKQhCZ<8Q9wvC)j$Z_2=fF#v!|{*SN&dGPOA%FRb`kT8E+ifb6ay4w?FKC7`srq z6?jlfOuQ_D>}4^M?KWoJCBc--#>V~RKJUWmH89q%gBI7+x0MQLYzswLEvQk$79#xQ z2^MS@()0oF@MT~cL!Ftm#}Rh-$<}auXDFoS8}_q+&2dd@IIE=5z*nOdkiY|qGD*lA z55DCEdRF;5cp$w6f;}#<4y=La=Ge-L)95-tLI|b_`M>&GvGxLBK==%Vu(7YwYr>iq zzWd;q92XZCmgok!C~<(!V1&#-72EF`vnv$C0|h)T@O z03r`T-LLf%Ga4Z1U^R$B0Hl@56W*M%^$Tbi7ssHiY`>>7;AfUDm;8y#iV;3@%!5e% zUbIk`V}*SN`ID<;LUpTvo=ROd9R521(l0BFkZulZJr6S@Ezen%!Md zyx^cTjiRee`$gw87n6tq0}Ih`;^MckxM=e{%4X?jSo2Eseq#yKG}CWiV*I?XUlV2q zS31Axu`A{b3c=}`?XyDs0$sGk#5K?AE*-l5qXiR)M!QlJ%t_eO^gfRsx8!7w7I;99 zo(}=zlU^nDBv7xnT+3RVbWVbAPG&}@C}xNP90sFp31s|y}eGzYkX6 za(!LrnVt;!;Me&xBUXZY;!4LaTW?XaSWez^4UC;!?R=3^il5p(HZ@nR*WIw@crudt ztUP9HB0awnm;Ai$&jFmW-b(gZX-es>&mo_<%^_KHz9&a1l1vI3C=Dm$(f zyRndP@}N>X*+YrS!GVFG%|PO7pdvXwHK!G!e8uL*1t#eYA@3qRUTTveR26G1X0mw5 zSXF#tYYfY_25&kyUCiD~q(kQ&l%SXI(F7lYQ)@r@pEkoLe2`BS5vlxTv1!oO7AY%n zU`PRT@%1l`w-4&eQytvZuxU*&b`}p(R~N2KAGv#u{|*|ERwvS{smY1_sez51s=YUJ z1`7v!rf*IDBcpN@j?3Wvd;yBvsymsdw8V$TqF2oOz25AeWY@{zZ`vUqOp8J$NJospNS|! zl&rVDTI%-m@U2W7J*YLcFiVo#n|VDHmz`dr;G5E_TKws~K|I0T_pvSxqje1po*zGc z6d_49t2Y}ev+=D!^ZGqD>#Q-Tm=ccv^Yhc+iWc<2DNe?mIFoKxqYa(aE+B4&hi?}- zElHwnWF)CN8cMHr7%heN;lOs9y$?j~;j39HJg<7%%`f`C+b`a>w5RcEq5f1s{RJ11 zv5S1s`vejGNuf|vYs>!oHVvuH7R%)isULI|k+l^05|;gfpgG9bfA=FF|32<3S9}v* zdYt~-ch3lD|0Qhe5^gJ>=4hy?uL?K+O*&u6yDj$r{;xjt^6>Q7Xo)Eg@9OOnW#u5T z=a%1}@3cb|P5fp_X4+f%cTbaiiz=_Kaam#NSY4wItb6bc?cW#*e*eA-R{Zn4jzM)v zH1oY#^}feO5A8RvvCgz&jty6z*>uRqOco<}alm8;c+9P$gv92RDbc{}=;oEBb5(6= zs`M&f{JQnpwM_^Fu3%^J4oM4VJsER&$bsHw{>`-$c zOS0If-v`@Xgk&5R1eln1>i-vYZyizd!8Fzn-_FK3pwfM22-FPTn5{>7Nl8VUHN#LkiM7xu5y!pp@;6C2r|NFSxz$U zt-Ah*mr75>{+4apr9kQcioHE5jaJ#p|hgfuLwbLJz4C4oT2ARpw$S$KUsjqL4os;v5G2QhKp26u? z2(6r2BL`43emaWyyf?W&7^}YsU-9*ES3e5q&(-UWc>D0%nM@1hZEETJf(e+@h~!u4 zSkp~GGr#=aVO8DI8hu<`I^`P|hYmtq@Yl&bN8PxWAuRk}wo_ES+1eBnt9KamcDMog zN>RwUd7@{Rm6!LtbEh@Zvix|QQZ$m+)61rQ(haSN&Ux{ zZqUIyZRwV}VKsT)=Hm{o?NNLREe92$fq|HQU5y_!lwC_oQd+C3=uAlEPjdcl4y#7U zbKBc99+DitHQCg--pLy-2(c{eq5kJYy|MgAe!)71lTP2vyu8~iOPnw%h*nv17bhlW zoWMo-h0IWSq_qktu!2D*ypE!0FN3m-mtDH5KREF~Qvc|EHY(wBb0Zq^@Tq0M!m5Pn z`YNH@tUIhaJqAqMoAQ1?3)yFt_dW9NB*h!@kbe=smT0szMI}kZ)>|r-@z(ud`#s~K zr}LeAcg1t8@h%f{Hjc;DAue31Xbo}i+~0hE0T8dQ6j|@Pe5toqT1i%h+-K`v>$GSX zxD7QmGGI}ZIGye@E9uBG!_Y4^n0(S?y%glKg?n5Nluj-QQVLQBIz&C7-$yM8Wdhs0 zJuoZf7OoiKp;An}?-@i3%kjA}JI8ouDdS6fnI9k9lFnSgwQ_a0!(HDSZ4}!fsAnm zIN$?$dLk7T2NQttCfY&aG5TQNr;<*t@SyiKNcq)AkA?$xdIQ9!1MZ7+znnOl-Aj90 z07v0Zsh)uXJoNKhVg<*oO6DN{s|J1tP9{;@T`6*|76&^q!t)*T`8Y$_f$B{TQ=s5o?>p+gnzLB%O9ZYgW}6y9ZVRh`yZJH=Gvx(J8#3 zl)f}neoj!Z4vQ!0^l=DDXEI?`)iqJTDk&XmEdit+pLR2ydB9Hf|HK zhAq_j5>s1?fm; z8iyfv47)Yb8?E% zOr$mM+ujffXJHHk3a_W*s$JzwCEa}Og|X%3mWVbD@wB(E5l2T{Mr*%rOCEd8OU{q2 zVm#uixJ=AzTP?+AQp<95JTO{daC*YqYSPOms%8D`CvkCm*3hATOQ}_IUF4457x#hw&n-vMPh&U?5v#q0!bh*=H4ed zxdQd~5e`KA^IAFl&w!X8%4hHZEct{wS?}I;{@^PZ|6J;bXXJw;*%eazVX2)={&VrI z3zlhuVkbwN^oTROH#MaB>}rKkWgl^24XwC%io~;{6F%HiiY@t<$ZT3!BW7xki`OVa z10QM+g={bOtZjz91|IUDR8&YvJqRU>6+~acKl%E6vR0UYFKEP|%pHt`Wse7<9axV~ z+Uuf0FI}tHK4G(o7>D;~5i?~dt6BEEVig03zR4%nUd*)KzInqgr_WSRN2dv%=&;4U zn=(OSKWrY_**txPmIV-LZop{@LeDfCWX<7s4h+OYt8!gG^m9tx(^~3|3Hz#Mup!0ilVw0It zYMLS;9Kq0PI-H`40X6&k7xyB#ETSNT$aFwD3cH)s`6#j5PkfS>Tb*WgYq`n;?|bvgrgr~F7)U_>aI^dSW}w*0)}1uTu2Bp7WY96mJM^B-twSF*u(eS45Gi+8Ll7Y-KH;i0FASj zqyr}+ndeVfnlQu@ejoBH#P9jk6%+`a_u0-r^}I1#?U|Zde7~6@elUw3 zO#kftvNxV?)Hc^MFo@PKafmAQgSL%$=#AMjpw1Q99hw*0ygmYrEqU#zx|Z(lr2|0v z5d0$yzMa!iFow|#D~<=M#KdgK)`Tl60KcS?T^EB2FkVPmZ|2Wp4x)f(lD=y@FG?S3 zc(ix%%ZWqnM_5dFG*b1s>xe|*sJ%*?Z?DrD8~l^9@3aEgU+YEG79t)!QXpb#$^!St z&OXG`GIhW+iHr;|G%=ez*e)^Ky(cSi_=17vP;)|cgpZZ{I0<}D4Ns2FdEh&&(Vk}Z zR-BOBnj9=y-R$~)yjEMe?wxY|Ut!>g zY$r;|3CgkCaN7v^Vp~G8QPxE3HrsvnOo!D9(u`^zrF_tqf05)vl9^v#;tHdA1ieV3 zVi#9eo5b3Efi_Z&9Q+&ficc1$(_kz>w0IdL4g0dq!u!vMgtKCV0cUppW&U;;zJiOI=O z2JLLw!?1^B22OQM>W!}wg|$0JF5}ZHs#R9*?wd|gPBr+uI=Nn6Hy=HbFEMX1ZA*_F zWTI;Y6asgx-4IORssU1U?CRv@CE)&4DMC~q%B)$uYsYTN4q|~bMYA5+*4uA$j;Rqa znuGPo^|F1ctj+F}KkS-NPQCLaTn8rON9P25Zt9sw`-;8n3?cI+cy4T*ouc13<=z~* zn=tRz4KFcMeUUY6ILE=|_u0fv0!vY*SoiLaI0 z59J0sU!~ktbdl;f;RP#G(xxo?W!&@adCdD|WisW)bVTTq$ScKMT4bG+wg;7x=oTxN zRfcQnAfrp{GkIoNwn$T0lF+(VK1u+|t#VD+w&l#`Sp909Wrc$QcpCnMx>t83+iC9; zKWJHpY}1R-z74ud13eRhqaPSvH<^2+fQJLKdJO4e|n}(1}BYv1&i@oM~zHp^s#>I}h&CLc8TS7)d)tJF{j> z!-wH1=`c3Fm%njai5KUHt5l1c49=*VT@K^rHmBM}Zqsiov}qW#vV@6A9@*NS*~F)t z-iUS(Pmr)WzqJfEAAXU5>B@)CzZlGs#l9zY))ULq4fHlU8#Nyd_O{}Fl+KL?0c{YP zZdUCT%jk978;6Y2sful5j&@MaH6+q;g>dRTP!+_o8zVsApA_8Sq4}N3u`$qj z^j}{yWD67t=L}6m@^wzwLmPAN;QRh{TA2^P00aImd(Odl74KOI-{*Rr1HDrAFpM-q z|4ZU`!VQ&uS|lAKW0t(H+a1Bnln1*Y`TX%*hu-3HsP6|H40tTh0TP32y-;-Hpk8$a zATqhp8`tYsQ3oY&3lZ~IgA6S1@#R2YU>Am_?=B4s!vAksSORVHXNy514MuIdoPcrm zH)9G7dl}b{JgdU_e8~+D_?VFqMHby(AE3o1o-5=hOq3&8ceyKBJQDhZ zQF;*Ww%=a>6%uGwN)#F2<=o4wt4m6dRUyxrTpG=wUu4ro9hr|7j6Xki;+xv+XYR~h z-gu!Yzd57cm^&|DxQ6kdwH17e{mTt@W8{lwTLxwz0A$=~)r4e@7O8!XQZ(WgH+KZI z^d*yDJ+_tGUwbhdED~;Pzq5~jwB7r<^O!D-El$I`q)CSN$dDl%y#S`~iqC4yq_)k0 zMGb_qHda`ycNi-VFoe6Q+ z-bhGz36e5z)MA5iVRPfgF_KJ?qV)oFEZlTEVWNx|1 z2C1ImpeQI&6CmdW;Xbb1G>^2y@a5hJfrl!82|Mm+Q(agcDm5bu6T2x!dHD?hAVrI^ z6CAtv_FRr94bNKbsLeB-7I(M})=;UbP7h!cxHy)bR-OyG#^3}+POfiA!+EocfkEh) zB3U{93Xx4XKo_Cg)3C&q-eee2@}4-V_GG;A%p*E;vFHYvQ)3dL7ciUk$bWG4G0L#c zd!K23tns8OU6tTGUz(yO=h??mBCHgkH{v(^_%!?H{!VVdKOWS(pLK9wrZPN@%Y6NK zPJY1~-j6#ZQ?6uh+GDk!>gskpxQljwY}vUil4O)tq1EFdQ6Y5S>_(R!1890* zqHxTv?m`9W4|hpTEvbqXzKJ$5;}@8yr?Kqv=*4v!k38>(ZFp2(1;MkbWkgn-vV<<{ zbDsXEDa{?ph|{82(}G~0)9QfMU$gnSxK_k}0W>v=m!i^cYWU0lpW$r( zjp*P%5FS)F^%VaBulr9>0;s>zD&&8GxA$E5MXdesTU30n67*#>X|+XcOf`s%ve~@) z#?ROqg>+gCO1pE1<$9Yfsp-m;AgGQb2)MM*=e?Jj?j5~+g@oiO;5CXi+v*!OHXt(p z1aSMf)o>n}EDgvJ*8zb3sIQ<{-QIqC+lsWqqQB#Ae+lx+xl5Lv85V7I*82Oa9nGiE zr(e?0fry;DySMtp9HQ2jShPNm;Q?|V|21`>=A%)?>o(~ZnD6<-!jV5zN?4Q1v8g?p zc-JIR?5pY_YjZ@-2e*2n#1mG7;f4=Vg01`e+-gD|1+A_nFk19jt%$Fa3L<9 zS;5G*ei=XoGIDa)NUnv)lrJwYlddXHhkpG7IoC@<4&eiFY#zc{I9puEPCxfXF*{tg z6N{cgM5OlK6Ov-&>h$4`1szNC66e(0`&N;Wt367W;w-ab5vXGjYTKbAV~u13Kd)bZ zA{V@?*t<SMe&$B2N=1hdA3 z=}GBLl?8+Usm-AAO$k1yz@QGi94ZS&k^Iny0=bN)SH3<$0e`swqvV7!p?~0bu_6HM zWdI2~DB~mkgM`&$FPwQ*tY!p;q)lVK0>Ic5YYe1o;VM(o>=)AsDKKON+FPuZzsvRJ zRlS9b|IlN&j)1P^%gW@7Lq48y&_+QuKoN!z$+b}5ANTTiUyC1bEnMQ)FZKQ3X1P73yF15M6o$Zk9@sBkfgExD1Lfit3^SgR%Q?h^1n)UjK>!RDB8Z!ib;bd**P+@ z=v2~slDebiB+!`#nW+GMJE&5?n~fScKN@g#8qb5Fl=cUhYkl06j0uE?DDkrYEOH0Y z{8d>akd*)pD>vYD096VG&7)xcI(z}CIFhN=P7cH{s4UU>j@Fz~Z09=?fEpD>%wfDX zWYU%e5+3l-o`E7>gC7M3SVfJ2oJiX%S}>kN2{OQJd4e1gX68Y=_vafWyFd+dp-?7u z0#4KW;Nd7{G72>g)vK=v0GNQc0ql&{kZzz#gu~Fa#Meh?Knu_w$fW{e+l$UN&1gFT z__r`&9uLjj<_L~W$F@xnL_$P$4)B|0L&%oW;fX-nj*lPh* z4JC>(-;+iJgYTAFsh}?fUVcmE+d!^K1UVc_nD%Z8`EG212vQ~B(sbDvX&-Eb)^k;l9919>!H4>t{s z@mVJv-gk`wRP(jQKm|pyAwUSL3gk$d7e;JWc|c`C269y3C2E4o(cb=k=mPUb5f%|E z7U*z6GJ+Q0%1H>43NXBs2tIqecCLRm4vxAS^bD?`3+-xxHUV@cYeBrnoBWvv0c5_3 zhfo}PK_Nf@WA=bxGC+96uH2jQ7i&I1me_*yLt-|t1_?jlUb*s)`sIrkOmH1u1{KFU zj_Zo$w*3e%@RS=a5CI(~Z?+LjimKJGU>PO=+8ka}Q)-g^P<&ulvfJ#W&JQ#+P_-0- zw<05_*@7DM96q_aqC~xGK@6aIz;>r!vsNdgOoO0ycsC2OQJ7LNaRGNhl;~T|j)TKJ zpkJ}j@EMK)QxY!dAr^&dv?tsPu*`cW;pE2s zJ=?YofWUjedqdC3hQEQx1nM!T#folzJO~c>fTJ5q*&@egrNEaTBnCt(fYt)yWJH+w zy=uz`wuqHKnWgc66^FNECQ`r{F@Y2zQL#{ zG_#qGigI=PuY#hU_0AG(Q$d*=4euKLDC*O9D&`A;1Qp_dQIsTyPf98Zq?wKYd|H{$ zYiou%*@w#%Mim=2kmyw&xYD7a-GBA@Vez*n@NqF>V2 z*XQ0HGJ(KUy@X=)z%OSJz@~zTTL|otr-zFpWn4hjqJc?O&8d37`TXbfC%}`Mn3*}x zJuu4zDo-Bx^sPWa?1zW^bn@CMhG-R{DxWihBU&WmMu1=0$WK-6(eFE z>i}Sjf*RXVr8%ss>dsF8UQqi7B1TRzh_*B853vKaa92o`O>ZCozTOi8h&YTRb&7#5 z+qQ>b|^pIk;}1xz4#31Z!L`j1qNcEJQc#EjtPW7D&UO^G0&7G#U1So8UVKH z0}T%}LZm#a!ALX6dDH{tdLEQhU?H%U{H9_7Ic2oIN390JkvoJf0QXbh=6L`U43tM- z{ukUUvc3mE#G_Rx4gi(1S1@`63U|%$se~+ASKtgu1lE-o8Q+Ot?auCQ5_%@E`d|c5zJ@4fXbT4&Rk3ctMm4wZw$OS-nAHKF4TM09*^30Y@`}6E;2z zG_6o1rIV8rV1b>1aex~Sd1G?*27_Q_hwlJKah3@d0g!P;8VKQlh8R-^@rA=` zV~U~-@-ozqpF=hiY5wMvgS@RRHz+0Q_GR8~N%=iYOinJlyyV;zK)W+_B15ymQr{Db z7lcv_gQFEiu>V8qfn)5~-+Wy+0Wvaeo=xU|7!BEd8n5dd40`Uj-4p5i`;|110Uc!j z2?FFummuh?qJHY1E)S9L%j|7qz#Lk$$CGEMtm0OjcpBbEDsna+BwgIv1HCnk*! zQw1+%I zN{(*L+mH5xViLxf55K=oY-%FOEXZMAWai)qosV`v@ra5`yBx#C3uJQD2$R~PD1mvj z$6_Gt??N9^TLAzCkYzr(I5V4UgfyQd-*Ng^WB=dC5dWf%J+n6uGoEd1*ynqIb_K2( zY@w(6-2D;6Tt;CNH6CApyn31R;yrSvFYQn>^#m{i$u?VMn-k$;|0_E78RoiT#YiH5 zjo+wmmddvEh+PRjsti*pnhoXDNvBE#k@L<{BlH>J=trFb^lMNiYRt)+uN(y45FtVp zW_BZUwMWlh7TvrWmN>i-s8eLQk2xuDS@YnN-%vS8-EPyH&^+iwj&IUe+>0*ZQczrg z$&I!d@%UG08e*^~9PRoE3ITP&31306PganNsr=7a|2A`{s5EsnLHLsvK$r%QX z=@o9@+hMiWlT!wf){<}Bu0 zgx+eNj&xN;8hw5~t5mv7)T)C#_>OJ6`}!s+Mur{bT9ddxe-5@u9{Fiu=!OsP1SB*` zU%6pV0z3sEkaMpE)Ik$xZDWgprfGIu|A5CLJtA>*Sy!^c8nkcuwqyY|d|0w$XfgR# zrchQ^eh5WXsAC=-USD2b%Cs}m4)GllxCslF^}w5OOE@( z=_&k{V*Z!4DEf=Q`vUyc*!IVIeAChNp5A#6?|Smp^(>b_al&LbuC!4l7C`m-BhJV& zdi;uD)@tSWq0jupQghxfhDJW6S}AiL@{U~1nhGz51JBQ~edz6x|Vnr;|WB~2ztH_slaK_Pd6^W~e?Zs{t0Jol`J45*XSzEab>P<&-nypcq$QTL)F`re~ zF^2D}?*gxLSYf?&eOK@Ya>&@uGW*2jwUFKJg47c${}k_VImHdD!p)vVh0qd1M&Axy|C^ zF&#a-XyCxG{0439ZE&zmrWO^^nS#l{Hm63sMx&LV&m`^YcG5zT+gI)R%sGnGH$Xk~J*bzDmHtnp^8E*h zQLG3`8R_FvKVVK`8 zT)O;cIQXP&E=1-$Hrd6>5~nj-lbu+jK_V9cw#DH~8*lD6k&zqxm26LPG?33UjBj(u z3OMZekTYNX?D&uG^cG)D8z!_5#6(3k`aSZ_9_N$M=;#2CuGy1hK-oZZw>nBZiYM$Z z?smN?l73-G0NvHscupvDzC5zTX-#L)gI+^8 zK2MBU!+wE_~Zl&=Lwnx@Aop9MyYxa^0 zOx4hWzc%^Q+vJq;_X(H*_oc6YfT;cIsEAyn0Si&Z&{xFemY!is?&^Qd=kjF~JUV)r z*!qhvdE2eOpa1fNjl<6B8?j(CCP} zC(KL(PvRaU)kQ8jyM%z$7zf$Yorz>@prUG4C=A&>+)V^<69K>XrHaT{e(E;^1oYdR zG&Sj&sVO(;xl_2}{H);+>p4%if%Epf%5AWf5~^wJPL|BzmCM&}S~2_$GE7ma=xCxM zXz&At+Z=b#QPc>f0fntC zf!3A@dCmK0&3?rhiF2s1 zAhm2u=}gidnOIpVfw>v^Qp2E^!StI?js+5pXSuB|oE$SiXbUAR_?-aC1m)mAkj$1D zuUpXsR4`RO$MGKa;y5IDaX;$zPwKi+tyV(A;te}IM%kNQ9~VL7b#F~OX`bv%8-&tzlW{#^?4P(a4#@CQ53oPe7niK z2M9>rg7l9wAFqbl7v$tkcL#H=Ei{oZF~0S~=w!Nb2?lj*wo?49PWH25cs-EAL_^a; z==61y_X{x7(0+b-KqhcLgWwtlX8U(5=Xgw!|jak)s%NW z^Hs1xbvq4m9aQ46mO<6~ZR>J*`hxt`!^38Bhxsr=cQT(}F{*gO!PBF-rr>2zrrzP@ z*64~yQc~AJU>}%nZU^+GkJ@@mCYP5ZIYq;Fj!20kG`xVfgSOVb7E`*dk%7hI`ulad z37OY#sG)2&LpgNv`>o0mFfO>(EP%yDvke*6L{FMlj{O7qJtrVL0oE7HIN^^dHak`Vu0;XRv8*eO zePm-}VR}b6lF1z`B)Qi{w!j(UV|s=eCHGOWtQA0$(8!#scK4?}F~4XsYbyZrKV(G? zr)3H5OaBCbO*tHHcWO2Z`y=*}KzIIpIiFjcpo3U}{Yda;%T+w&mW?3;aK_#h^V;rR zushg!>7SgLR~GL7Tv&Jt$Ux0L7%g7xNY;(cc4AJ`KGR5m{$|?3UjjLa)N=H=lxxin z2vi`W0qlQrD0~yM0TbBV;W{pYdCrQPe=Ps1zo^M(PiRP8zjjZQiAJZRka4j$ZG86O zcbI|9PvK@{^plOYi_+)Ae{l5Jzt%gH!Jf8k)cP8bpK}iK_>j5>Fk{Gfn~|~I^cecI z9Hh3NOf*HAfK=C6=AsPk?m}VjYwxxf9?~9YWX%us^aOE4w=}M8_}M62!k&g{*+l5` z>E!G6R|i#k6Z010K#w%B7zW&+>i=0B{l;WzmqPo1vk=LaE?@lh?jHuT%6hggVSO84 z1_dwgi0SgmN-e&LM)*$1p6!nCH<t-AcfA zKmb-XyF0qN(*3Gfit3&yfoAbaR~9-@c^}@r1~qxxJhNtB1@cj1b&+ZvJ*2NcQ)$QI zlwrnpw|sR@8Jy{w(q?xTC{R6jFOQ0TYS4yWw zFO2;@9K`Az9*!KYSh~f*L6tX#^vB)(_NE}6N*oQeD1ey-O8^1XOI2xl_Su@PU-+^W}-;wr^v`*Rd34E0P{yYLq2fPT`q8Q_N?X(6ltX7I<_pDl|0di>p3hMgd>W>Is z6V8@f4fSZ2)e30T{b(`bY4QE*TxL1I*n87EiYKIEjHYvYqUNR6 z@HaeoNBeKufW-B9Z@bH~Y}015C)@y-pV*b5Ihuq(Zv0JkIR@>amGD#shLhJ=f1;<@ z+n~tv9YBD}@#jL}H;V?P4H*^Zv+NEpk1QPLqu5V6+&z{cVILzL+L5^EiBHe;ZtM_d zN&Ml6087$G;raG^d-;sVFaWIaHUb8jD8}N(!6&mpN`v4$85ZdiUEQS$>qI5<BQ*#WiG?@j=KmCe43z{0Nh}t($9&pvCoMa>P_}j1*1Dgv!b@(?{)g~@{2n2e>ZW+ z_lTR9P7WTH2;gp?i*w_Z;}WOZRz+;u3mUF+e(iPL(7lGpEwuVPJ5*2PsBGM zjtZA--gh&N#!H>PT8KqJO!)w4*@oySuSSy9P*Z!mpSC2WWQ^^89chMQSuw1n_9Yga zTOzTskB{*~7*6z!$(bi650ql%zK+{ z70p-ifcXT}j4PmS_An5e;1}O8FAf>UM!nIW&BFa$mNn;$1X~<2ljRjUx!iZa!tN_@ z;6ojV;N4SDfR9bY0xALe*Xbngbk;6G)Oh$_Y8Iv}H3xS{uCSppg0{_QT!9rUPsuc8eA6&&9-Qzs7L(ZFial?V~oPo3iZWZjC;WZ462q1k|4x zjx9KfzKjlr5174gPg_LZS7@|d^~UEit8VEIbXKA#XWt`$zXSvv6@r1^y1el8Xu|_z z3^Gm^WdF=>C{3EZr0Po6ec9rFW{Rf7|0bjVVdjT>8py%2+nWOLz?i!1Pht~vv4)~* z#NCf<{<0e2uYCC;d%P*|g*hbkN|q@n_UXI3L&US9eXE@@3+pED7npp3$Nztqv7eF9 zl%6s(n(_4v=CByY*|4%ir7-suve^-+K?4Aqf{{m;Y`C~M_w!<;y}yNSl>U1UHfyNJ zm`Qa)3!x!=)7hXY5ph<3@Hya0i6X=`eSS|l4EOH4`kW1487$(uP?4Xur&7xgQwFNF zvztYDB-oWl8Nsj8b+t8wiEAn?MpOVKfwV2^sH%ba0z1i2NTuKaBz_)1# zq`|-4`$S~>HO=d<{Lq>1`ljeS(T2x(mswX&&)v=I4(Gj~qmd{q(ms4Hxxpn%EGvO| zrSRXYs@~yO48@OB*#h@Z)%>W&xgA%lF1o0N#haWR#VAss6P&AD99A4p>R!CCXL<$@ z(?l!(^IaKoi|)1bZLELGq!ZOIk`f_Mb+7KOilkhvLBQ`>vf-I)7jhOq>nOw6$3;YM z>4U9>6KWKsqdXKKd!0_+?a8@KKF7Idf2Sa(QUIU&_w;-k*(UzK%+CQx+N(DLfDRK< zRt#YFXJ+SH$F|*RV~zaNYyRR*y36vpLT|7rJWz-ASG+RM(cr!@%O3kEvM>xvqyRdF zt6W@M8#Y!QJq720|5pRUMgWOUHWyu*GO?KKZY80T{B{{VjtV1VRH-uk6#e|K&0L9$Gt6ve_lUtLb(@JL*3d|I&||)x)ifB01U3 zt?b>Bzz+gdTJh8@Rr)@6aaB+8tSfjguQ&?P;^M_+y`d#YcrHmnp1FHi^>?W`c3=E`FWpKm7!hrwn8XZjrea@86 z8PLTdVAc>eVts>>hq>y07KHSzW-j93xbl-f1{Dv)yS=q>AX`YjXZw9r*}Vk~#w_Hk z3)wGk$%tQfh+uc#JA0lc`Q1W|!VfP(=CP%v)X#|t39pB`%l&h6S@@qlQ-;Q_)eN*5 z?mz?OESO25nj4@|QE0o*1S8X)&@DpAxBu$tIdMy~w}ARDGb_t6EbMJeFe3{~HFUkf zTrE>Ym+CY&ul~@JUq7mnSKj$D zi#y!rk~<%)Av)I)lO`bt@`~#^zYN$9d(WwrH}bbEbdT|5;^eYC%zD>A4bE;?nvQx= z?5Mq!!P_V~+Lba4T&sJSS5vP0U@yibY2pX8|JqAl{46Dwg+a5>o8b!y6rROHGFYK! zLH$G=berU7`5aD&j}LcUK_mkv*sp(l08#}gq5CyZC{YEm0J855tLiX?90IoK&)J-Q zN30R2@~8*W528Gk<0w@UMv1kOE6SVYvJNN#7Q7bcf-PYDg8Bx%5;hNy0y}Fe4x-R_ z`Fx@<0rpd;Y?+yg%ikRayh8o!9t#Q*p?)2u5dHd65C`#Ss|*9C{aJ6cM!9SS(=!^Z zV-f^(3pUMo@ChTgch&FQrBq$hwzW9z-Y{8Fm3r>wcz*)L`(9H7 z;_M2STjAbW+6ZQBiInS$tS28M9Up_QJ!l9MV9}0@ce)Xul1dnGkL(rgX)!Z@EJ-VE;~C{hXej9vsY2KgwZl zDwSHI!8|=+^*_Kj1U`e^XyTIu2PCy9U^X{57uAD=mL>J*3E=bR4-O7O_#EuhHM>rUZd9vxO{$*kSyJOqx;*ylQ(ZL;GbXK zd5srE7n7FYyrU=Agj^jerxT6zk@(h|VubE>q`_dCo97p_bKTn7+RgiAeV+G|3&dQ6 z?(~QDXe4@iTH5bpHFsOtO;&8v_ft%%cKlGb<}cd#??X}+FF^$}04UWfQ2tN_8W4Q9 zOx}AupuC`57$9hfmp6a9c#Xkmf*)m)1M*Q{lEgxp&Vl$?RY$^0l-HT<{&a9MNY
        II+T;wa!C+R)RHks-Jz8WA#kgi>rOEUfJ4VCvlm&PN^0s^N8jvXXd- zxgKnCG(coSSoLm#h?o&L)FU!*egV_vHb}1k4aGGf;ch<6kpTd33*41JR{((k%_|iU zcL7}^PGDRctqgHMdzch%j(|-+LP9QGzUU)#S5=|Q4lV2#<;Sh-!xp3CAo(N%jw&#O zbOj8(fY&evIt@VQsRoq@@iJ>O=(XMi>W5_CZ+Qj&cuqLh0Vefozn0Y0`APWv_YI^% zlh*qnaTx*Xw2{YFR-!bcfSiQ#KYBLD^A%?FKs{{VF`C(W3d(AT^i|-LVRW#i4a3P# z?bk=4*UW8yL;xBhkH9M|ireZVs9C52muo}w8I;vkux&tV>Gd~e5Lbhtrn%k>vKzEA zujcYexy-Rp*9KNY2$UBhDJfVrGdjY)1+LAzckd9uVg`4P>)JfOxz6o%s#-EPW;7CI z*bl3Qb|UwtE~+tw9u?0R>2iBvVFzsJjpkuo-Z3ZOJCH+UjGn-#p|gBbS5ME!L=8f4 zN=9=zug)jLHNPpoRNzSaHunN3bYVJhv}J<(;ssDxi!*%b3~IdaqFrGTIva0T`|ty^ zVG6mpxcF2=L}VP_;o-xF1UGL^H25DyvlHF8ao)z}5Qq2eSCEXt#BGeQzjLRQ6cg{} zO%G7&y5GGxKTlPG2XdchK;{<~yHq{1?VjNg==@=7`;zeqK>Yp%l5$`Xil34Ox>j|- z97&ui$&nXgY&mg^H-NY1|#)WNF(Sl0-kkd zyTFD0;_WFr=&XWuAsUE8VWt`Y(+Z);=MbALouP;gM?Vm}lwnW-Qjj`}Q9DZdQ;wpP zf0&eqeHl;IMjf`+a5f=0MRm!K(_zzQVf**DCUN${HTlc{&rV!-pIDJjLeKF3|;(9f3L_ z+$UUH^ZnQ*yTp~d%(IWdMYpFI^ZeHQx{r<{FXdh9YoEbmo|Ml%HQ;1#T@^H_Y;(;o z+&0{r69-wj2cx#IzEOlhI9^Qb^lRWaxpMWYL_CIA5Y3y*P_?ofjy;M3SWy@i_F;VL zIzc8FPyPh%OMABZOQ1zv0xLadeNSk_qG%?tk0xO;^yTXj0gdJyJe{q%AJ@*KvK&8Z zo#E`FqwaXbJ6$!m_Nt23hZ&l|moYmdN3F3_k%IrAk?9Cur?n_Gk# z)ql=$56X1+-1M9g_7~Gh{vPLGAhxx-96HM+#Ths^_-JT&I7_GZfis37m}!#Vx`ogi zq^`&*D1ggTe?^?gttcHqpZJOZ9jC>mK87!V4Xl@t|?gAe7e&d#SG zy*1?k|7v5q8cIZ27RX(oPem1P28TKji)DbIq|p}T4eB}g-$>|{%B!KA z#swc;M6yHzCWuJ704WK4laNuhG;m&qhRVkOR=|RXfcMPZClz&i!%QX`XeI6K?LDFn z{0U(Wuz861)<4eK-hyLQYp9SB3oC%^%H};gJG=ew5=1Oo2uOEB!ow%we3Ai14QS=K zfLqs%loc46sRBDV2!*vkhZQd}RtFl>WnjTNf;#0KW><8{L2l z`VJV7Av`wb>C-+pA7UnnMGGKLj@N-+^qEb zlBaCQ?CU8*BcsQFwWAcyK$}RlFH;%ZF@FGW2c8g`p58KfH(lThTwpJv?hI76zzeMs z9&09`Z*W`)Mj61RgAHyK$`=X(JjxX>1W@SmjJL<2orlt+-kNKFI=`J&v=2nScOdlw zw76WI-pdfxp8@|L55Yz6@&-{*X;#4Mw`dHrvY)i>>+J-`z$?ew$)K&L3R}9=S_= z*FP@dT!C^;tTM~rkL>Gf{#DVI-rnAVc%oBtcB!{_lj36{{C;rJBbW9o2)L~7p$b4! zqce~RzFyY-9JT{#wO$Q9nj^b8)7AIy-)E*vTnv?!4Ou8b2)MZ1H_-M0uQuT@Ui_dN zGnT|ezJYxDk6ygLN$!KZD7Q#`UsHE$ob#oW5b<9(_=}yroi&X$CTIwnTMt}%%#&%kq4 zv-w%l&dRUOZaR03tJCg(^^x1WVw7b=!b4TYmr|hiG-baI!yZ4~`PwSuL}<>_3MH(u z{_)rmizs&C?24D*wp_c?51&l)=A%n7Fug7an47aI#wUU2jgleL1}$Q&HjS&$`1oEq z;nCfQa2Ec`bi0jgmWK}^G5iROtH&3_B@|*MeEzOK>c^{xtXB}9U)+IUS<^OXJ_#&5 zC^3=NUDYX_eZ?j?C+zl^fz)qf(&T6^T%g@mavh0McvU2EPAV_&$4c3u_(%saq(kto zKJ^t^9+leR>wc4R2~BChSfCOge}49<`YEb+cV=gpKq@aqs-xwW1XU^aU$dP5-=G_~ zet^lGsf>1r`uMV`C;4>=sdV}V{hz>riyQc!8b5VUqt8$(RhI%eSVEuNw@A#UOpfx} z$W0QV7%zhZj%mC(n6?#@D)DGy%F_mctO_B z*&g9_rN6%9SYjSv%6z&&N1jVdv+j^#KCUy@yA@bIYS3Y{ei5}b>B2bdzV_ha4GUhB zhO5LIL^r>+v87#IQ}Yy#vW}l;;1sR?>ZlYek>IiaAUYz#OTFn0Iqi`J%+&n&`SXkd zr$u$LAH{Y3@p@d4!6f0bxXr>s>`Tfg0RASlw6wpz+VgCIDX<7J5zSPFWX5ekg{L}g z?1#_Q)q3MKUh2!bq^vx?H``88YP)|`BQep?RM)HA&W2{nt}~%2ILmC&92&4UjEvS_ zy?Ntm7Dx?(dR1^epiQ29|GVGsyAx{oe~h?5HS=?;-}4tRh*?sVFrW?ty*S?U+pEqH z_fp^HjGM_`OH!?VWzaX+k3guLSbZ`J&nJIKhy7YlZ|qo|jDYYa0wE#Mx%RSBf2b4> zTcm}_P_Lgja3%C_&;vQg*C%{a9K_GT_ru=v##hL0 zAm4n)yl3cUd-C(#W~R}k#!$J5pmslJo{nl;MoCOU0+kq-@ty0cbz+sBNo^atox$h_ zszIw*T3TAA4=AJG)%g8l@FHSE(-w=KksbM*QOamiYwDbP_hoPu(zV-aXRtb+*#2$7 zd2gbJjXCnakMe_~;c_CUZ>)hM-$AAL4FRh)x&49iMV2lll{>Fy6mcs@sb z@u+EfGwHb!Io6lSt3OoiBvP?d$vxVzw`@po^{PLE=^6rRrKUGVx7e?DQtsC`k-^f# z+S+D(-}i1VxVx^k^43t!`q76y^qeVSx^0he#dktw2i$D1ic#B zUZEl63iRs0jsjB`IqINPT~H-BLzIm8fK9}vT2(7zkZVN&Tl39aL0H($J6GLp4;uXM zV4b{2CB&C>e=FnRii@LAu{NZgqkiNdYK_N7FajJmA>3t!_~2AV0)nwMJCQbq6J3N` zi^FA=Ov7>oA7WzAAOdeK_hb92sN&*Bf3VqA{TvqLq8O#{^Ypxj<$@Hw!I5t>p!eXP0JG``Dhw zq{s>=pZs|0I)xMqXG94KZ_Go-@7A5YD-Vv$ZagjDke1Oub`f#&DGxUwOKjVEeZOs> z7&G7C@LYu}nPWlkE$7nj4)RWLsK$f8QP!x#v9zRQRcTR<(c#R)p+a*)B^*N9=wL9# zM3Nb=ofHRo4Vgsu=N$V;fPoUH8*e{c zrUI-%S>t`|+GJ{iGa>w8wCF*sij781%+re7kdX80sYqPb={>sTP+RTGm-?itR&=8s zW484;P=~{8p{uqnoUPvC$ava|(ct9C{*fyV5)AAwm!Hv)`WLwv4L zij9MA$Hu%zB z1|ea_R1?6Hr%%zD6UD05Cn=3Kd*~34*2b?ihjYn|SKj-*IjqTCT-25I zH9VYil4e3@e~rHaEy_!jC*0`1tZA57-Dv6l$DQLa9gdbT z*4Krf4JPK28TfdP&D7RvMQRS3TbidFJ%~YR>AvvnSuA5cq}((}N;jh8ahU6lQX3%M zRRzUURGtl$rpU|$Ddoqis1rF?uq}#!0y8#iubGO#(BO}_vwsyl zlnF3-**M5Bo|bQF@09c^45X60*K2Fgs~PgruC~_0U{vV2sCc741r^nEWzGUN3-Clb z>OG-;{WT$BTh!4tH}@#o{WRAMAOqat*xE*A+Ly?1?A3)kS1;NM*g1tbkScfWX@@YG zpg}>>Uig?tO+$TrR{y1V;plIC5g=t84*j&Vp)P+JM9&?G4*=HUw*&=`2#&Z zA)z5@SyxYaOZrhf2-OoTEeC4ye3&Tv<0iO@>I49&P-HvMSAQkW)ge-6gv|h_y^Gc< z;gaoiCuG!47&|q<8K2gEIn#nbuxLy1^=<&wb`E0&A!sCoFIJaR>cUmNp z7patB$D1ViU>d9lJ%9dV?DkWm1t~~%PAb`|Txg~&Om&YGx1sQe6(y+LBN4}YmXA2DW6hyC1RU>kpM3o}G(-#<2~R+;CMNwv2}^5t zMJda^>Rze!HYUigUpO+ukslt2Rd5y6>W#TpT5)g_>WtM+vp>aa+lwr3l=V?{_4*{E z=7_D;TeT@|egSIVs9(Q+!IZB3=7?Eq=(H!j^|oJy{?<+;*Iw+KX!%Wh9yJE&$9hPO zz_kW`q~#FsCb$g98?4ZGUG=y!u14~K-K zp1@M9{YE0E^LA9xq|DX<9VXO(FG_q>*(<1G`07w`X7F@B@JoeVAFRh5+jf$@ClZ11 z&DYD~d56&|@a*=32c)oAf`V>n^~atoEj>T8fA6yeN(HSeO%4MRyNTU6!S%UzRaB-0 z?X6^`j0Xoh^WKRfk(U${U3ZpW6^QC3Y=9lbuVm$?TdTeJqM{<#gZy43giLdx0~A@= zs!#$0+bDV6D^Dun?TCsHgMGm9=%QonX{yg3P2+C4SyOcSr!Db6S;vcFLVoH5nZK0> zIXN};{}FA=---QcIX`zT7?8}bPj5qHBTFdXx2G{$-{|(0zz-Dt+nR+Y=bz3ZpG4-z zI*#=siH?KG1`=7VR_h8nWt`Is=s>K9elP5 zt&i`SpFe*asI(7>zr}nEysKE={HQ{47!464=sRvWC$6Se`h@5W{*cWT^xhjSzrO10 zIUj&vd6v!UWBw@jkNnims#Vr=^Zn-ldgNX4_}YdkD1BN&*!|qvHqA0#mq%2-sNjIs z<9US4NtGBXd?T~>LpZF6Tlpge=T_?w2(VXOQ!2rYQs7cqZmdD!nm;K->zlkdk!&BI z+Sl!>3My}B??c{Q*CN+m)I(OddTV0hTBczu3vC!Pw%C_1STz}stFZ1q7 z-7QF$%eYG(iBLO3-ekQy=fNi$aRw1_ym;n)cd`!*HlZQjcN;#!cKx<7Ef&S;DY`ri z$L|?;{*Mnx2A<>y6DC-Hx`HZBly;8Ka1IRo>geKcTZuH98QS;l6hF{i|63Zj2}2XH zSy*JMz!vf0G#OE96BBh#C<^__1W>)@Hnn7VX@c{Ft%-?bf^|oy(!_KVRFdhySd{TD^Mqa*JQ=>-?zdrt>CpEW3t{pA8^UKp}Kq{&C1 zA-suts+>K8jX+HWkwKQfze|)sZl>RH0RzW%{J8`ZJQD(9k6Gl&cc~2MeKS)E>K>?L zD3%HdLSi!dSzBt9mx9mm>Ecxe;Jp7YdzlKVxn*LwSeR(+5>%aDDP@;?>CBh~{#)?E_iZmLc zLP7%-LZ)IxERm!^X^=6Y0ZmpiuM%6zP@)zYS3*>#EEdlF?BD*K^SjQu&U?MrIqx6u zpSA6k_5D82XS(mteg8Zj-aQkfynBy}*?xi9zn7bQet(#_5=IDQIX+phwCgDY;A378 zQ&nOipDFYtW<}4<*V?t;-T4AEx-nLnhXeuxB7>&C;U$6 z*DXzJFqerCkZa}sD@>;~^!@vAploo%{1ulh(3|x*^wjRlTi9Co)NJ5pqk+$xtTmk; zEB^6{GPdIPxvtT~|6B4EIe0_9y#%tZF!P(POzqv>p zM4R{_r}t+)b9099KLQG z5|Fz}&CXr`VC1}nju1A_r5-M-@Bnu;XfPex3>bg1`XC7pkBg1qHRKGRU9{|O9lxWa zBgW~%SWew|RVpePZgndF)M3BNnn~pfkw1LskP8;$vmkB{7<)f# zi-0xAu3!J6$}c3V_B%r%x)!NCZAa`$Z##9@*9+I_>MGxHcXt;Fc=qED6_rI`oMJnB zTT&22=b{0^l4%6gfkF!kbX1*6&OPyFJxjdH17>zj`g#>d=AVcfC_#ugA2q?3_ju-uElj=h)x3=&uA}{61HTmW%Gi1 z0`-Rvjl=pUJiuatEgz)}=r6&dIV10PG#B`;1jK%?LCiJzX6*oHp2Aq~pI25AGae!j z0r#sk(0tXkv?8%h+n_P5I3YoIddJ=>f29KtfWW>GXgdz4Ak4F=R?J-Wkg=g5BMiF1 zD>yrE(b9H&7*=Nq83SHeGxhq~!^6MZPN!pO7|uBBfn8F9IsbTcmjCyhj*<^RnHPfy z^AevGhq871bS6CEMgn9{We_eQ%CK`>W)%2zDiB9lOuWLpU-~LlGC&X(^yRSh zx^v4?!P(h)iRJ@)W*bl%mA#g9WCDlR2-f?77+lSzLmXu$A^{nRW|n6 zPVT@Se6-2sehyZ^S7>R8LY~5QV)Si!`7AJ#Ut@}T^_udEe=G$Nguv-2v>!nTFXM&p5Z-?pUMc_;`o@cQ1jl2wwqMatfSD>gwyma0ZF%(`+ULL88#Wm$$YSSB1dmrwrKRaoAKqO=4x6 z{~WC706C6=&|1Qw6p z$r1CUeRXUly5Fuu{fyeoBBCB6qHJ3eFllOL_GWSq48UONq0+`w@L^KD2Is&_`M9s| zOE_&UzNXwarkquaO-4$}n!Q`miD`SblmQPDX^5E!+TDC`$o@2{h%9W|Q&R8^c<809 zv4UyvankT7kjx_Ceha@7KIw?y>8I}R>+qVse}2Y0Ha12MNcyH&m{0B5?}Y5GuakBi z!Yw=$7ib~CWzn%iO;^{RTiV3IAyHjhTMY6UF3^Z^0T#%3`*zzBaq(zav`9w?V7@dv z6mD%IR4TO-??^^k+AwJ!u*OFoOfB!J2|p67kv9}U>XIG%{z(>cFshOKQmSiUB@5s@ z%p)H(W{53R`BF=%QzkI~;4S9Ez)Jp}?L#GyV@!`9&w~kCOxEs4X<2)o+|`TQDlZI7 zQxxPJA;@0{VNXI3hjOu1whgp%H>N%SX!|A;YPE_$EGqCTnSxjXDpLuXHGwVHR#{f1 zBj`e%bQOcac=i3$6L2LW5e93Yyv3~+`TY4aO1lJFpX=`3*C{Iy1WoquPXSdr5$qBH zV6aADP!Ln9h=_Ms?B=EbZ?D~1{$CG)?=?FVWJc@HX1N(DU(Pdov47w^tj3j{?(dFyhPnBv|JJk&`5_5g*?S6Fna)PUMl3B+RB(Rwxj2AaFIzBcA zWqx5`{%IJUk+dzNpkR)K&x^X{(#@Mn5ek8mtnYK6Yv0+Ed|H$o9uzME*oF{1JvEvT zT#)8jdS)UqDM^()chJUPA%hL6+|QeAVkSS~Qn9X^0P7>(>lWT~G(3}f?33Z+wL5Qr z7`*$)B>;)d4#cc|Nr!Rb86Q5_AQ4!C8XAqn&WlwU%Nz%tU)VGXZki>Soo`>yZ}DP* ziBe{BxJbd2N9&7S+|m(oadBA=1&6k&90*hy2l2H1BrPEIV%L zu^(+}lql?9y~)h5%5D&Qh;V9Q13B^32Z?HHL5eW~RS_hJP0lxvgJK}Ov_Lu{aHu<) zT%p2%AGTGiA-n;9$h&oSwIPwT4TnfEqjZWkJ-|B(WfmF->@p&aVrw3A;Q}o6mb!q} zWfYahr3@fv@tE+9t@3bsQ{Hqz;>J+}9@!q=1D>aK3@l{7P%5c<&nKy;K#6KQ zJ>!_)<*D+4A}VrsIC}Hrf!=an@c%DAPwZMAy>s*e=*i`#J2m4$6zFhg8JKu z^CDuzO-LZ*6oDF$elZtIH9Y0#7!vcrKNEsN%T=c$M1MPgwDpAnUPP>%>5*1&lPF zfkZ8jn^pyjmTA@aZV>7I`$W@^G+Lx`F0U(Pjku%s9qQtMpXLJ2(Cknm3ngI0b_qa` zBtgQR83M;6mrsum8gW;+o@7KU0QJEHs>0in=y^T&TRt`xj!PIM`@AC#swC!eAmi1E z`$_Lg1W22({wM zpD5op(nj#eyKsB2_0-qZZA27VJQR5HB*{Fzw($}L8_sruZ-n$`JI*W$dSaBMP2U0H z7W^(L2q`o@EaQ^+^*Nu`F*ul$mkd4+q2-oB0rk?GllBPv4f;n89kT7FE7lHr+lk`RT!eWGrYGz>fByPqX@1M#v_2ft z1VGv&dcp5wd`ha1Iu^&&{u=%hWgCf(+Ot}Vf`s9ScqSv`U=BM@Lg!3L$fT0qlFwi^ zLTA~n^~E!zFGcxINKkv9x}|>5hx1s5y&+HG6c4ippV|c;(R1vnqPn2v<*5_bKNPO7 z@Es^c%pPZ)s_Kb1wfH*lla2pkg4m%3NuNy}`AU%D`Uc;xOl6xa3Ya|nKHKp=t>h}E zL$|@gcAbt6YrUF=h9K^qMX!jG%|;iOG^4%yem@W$n|A#5dP8ynj3tec?T6mFV(|$f zNc3Kb1mX(MdrWF6`<&LyX6J?{vUlCHvAmve{W>>%I#FwP@A1Nm$F&KAK3eyBgIu*r z{0o62-vp5+Q_##(PFVn0XJTgTnm^G%u9zwpovThWi?oNk7`VZKW4ISE2HtAyZCKae=6)s6|js zO%0FZ;ddNllN3l(kw*G}rZ_5(_KptnZ%U(df z4_(6g?p8wt8tF^sgh+~Gl`-6W3v{jFA_3}qm|Kvlf>MUVd*5c0bFH0e$RT4Yx}E@( z%xF}M081h*gR#f{IyhRKxe{ z)>XUn+HdRg^A>J(ZgMj8(Qg_Z8Cl%$CSFmNKdC2hGI(C_bKj+eyr(#}-;|00hsc+i zq%OoOROD>80Rf|StU3Hugs{QH(?Gw5>hkLZ3nGGYAa(uuyWGcXHOezw)T<4?AGdh+ zm*Y{RCx`KyY0|8iM5q4R+qwz;M^%R>W;3DJcqcQn3zhzOXN(%9Xj&+Kn5Mtd&DquU zidVAF#700LiMc;d8q^GQqq(At&NS2-kd5aaR2VzNVIS+-+X=}p96w`w+HqU43-$csP{Cu3#;T5~j7z-s3F#U3+C z-!*BDr@1uNu6;Y|yJ7WeVPt42zhrWQMC2y41W;9wvL1}X_{@Xqjp5=iUeXRx@cKQLf-!w$wdid56K}M z&c(HdY}p^R`k361Sp_NNjV4eSzy!gYoqyFLLtRsofe-8sB6HgB*R5_~8J8zr0UJBf zQ0f$OzwTivk}oA?Y_Q+KXTI-e;-v`&e9o+y= zr3MA%{am<+ChQ=_ttb_V3G)d*zk0+ow!Pq&(coQ)7VpPS6(*xK!v;qgA|A_~?O^~N zM>KrgXiRySYQQ5?TNp~mlF?DcVA`V4s>(*7NYoEmijs2PPtQraztZp<@oksemPHLs zIPk+382@ZrKWB$Yh8Z|nXZUErd6#U5r))brSxsK+^~8fjm2GopRbzX=fH$V55mDCFiMGMzGaV$m~j_2gZ z3GEh{9b)RCpPn2hBdKq#g>*e9ghF_&&IgqgH78lOGT*-4b}5fNtU@6FCQ70u^h)!f zg#ffvvH0eovGOs4bJlp6(^yn7D!uy)2W6;!1H5C`ou1Z%@+UuNu+aF-FJr~{I6&tq z9fP2su%$*dLUuf0TS{EFDf{M+qh~yiUakz(Q-EF=!#!zGA4-#$Pb3KOEQkX)TP+E* z%i6rFl5oj$5Sv0F+F1KJo%l)qG9ep{){cSg`mR=3JZthS6_i`27E!T zpPtEQX^wZ*`vJ9AqnCSyW}^-jF?={3v-Pd5t+!$k2H|iMM5qWw7egopz6kVpcb&Yt zPSDcxZ%k`_{!#1p0Kc>yhSBqsYu>&E!#5hzon=hsG9&J%ZuPUVtsuoQOkgWk=YGV2 zBli{Vy+qX(;g11-V&RqBUqN*+K8dwcAlv2~<~ECPQ!7w>u#EST=?`8)cR>p-zcbj| z(1@HxNX=KTijYf=>QS*<(WyiaH2heUmgN{P!}9wj+LOVlPCRN{9dxfsh-SR?Af z0MUZgm}NPKOvWJLi(xUTP0gsRoKGG;4l<;Rp{bH_ zJZxut7pW<(>-frJ?9}a!?uLfNA>4TfnNmj2S8Kh}VqQGJ_V)ec-QjmLgVjhdb1eqz zO$X6{#gGLi5S=kW#O_M1ZgTFqE$*L)Gc|E(m*09llu+ZbEQvYCt6GDZ#KUeo<$-XwXyL-+81)g;Ud&TWagE3$?(95+%@Ae1nqkMW zT*fNv>!XL=+@io8Kfhd8bUwc%DW`mkAG&^gu!n>a+#JYe##mfca>n0S@ZXb@sebzp zZeCMQ=D%!1#(!AD5z1Sp?PY3g{bZqoy_Q+e*x-<*6W!CywKCT*DrQS4)NS+%Pnf)% zC@@&KhdV5^b@KSo2XT-lQ>{-0JkNKVM==k+9Dz-f_KyR)7cCm=sw>1>*OyM`(6N1L zW&K`YnOGc*Paf>m{2}{5a6-b|#Bj&hM9ski2g;h8mz?F7+C;o?Ug*Tbl;l=A?iXI1 z>1OQ=6SBjEVJeUD<1KqJCq{#m=hddqR^YMPpjR65*`jMqIW|OIW_Bnuz;$Qi*Qqld zpc|p@o{t0y8 zC`7UN>d>%Fx_X!Q%wvmWwWKzEj|}h0tFQHi1w|76J3iYi3PFow`x@)=ru*%VGe7Np z`OI{+#N=wtrXg&N5$XyU@}P5v`48rd51&{}NpVu!5$NAb;SM`oJ55VUl62|9WKJu~ z?ra#3(qkboikd%-2Nf^3H7wXcWP1$0>Dux@Z>wr$o~RkO{T-PeCMJ$YtQlaJ#+H&=7D^ARgP zkl2*=PmL0wt`UhelgJcqKI?%scPkngGyV7tK8XUuF` z&YkS2nY!Xrw55(V8Q0hTXvdwXumfogTO5s-AF)zIvgAJ6U!9lZuwdT2iRM!)mbB{9 zD{(hujJt=l|MnGEV~O<=k)>*mrp4>mdjFsm#hz@M0}s=SuVXIqAd1S060B<@pSc>-Hw^HHjlWJ$DKFdJ3qOyn19e9 zS=CclMrOhxdvnIOCZ;fa?Lt4Q+)6!_!1q&}y@Oqw!`=AtcPQPJuk%w54 z{;9~m#(Qc056`qon%i8on)xSGe|bdu%RHlz0>#n)V1YFLf49f}FN6^6bNtV???)oFz+=5(tXh`$Oy0mM#dws8>`CqaN+yZ9qhm&)Q2yL(VrVnGz?Q5tC#$_E zzvEC4*Q}Wqkp30>fA$Tre^dM(Ubb%7`L3${cEaf~j??+udctIMYhC|A z7XmQ@5WnMd?|v%`R8r!V@@*!c4gMRBrB?V(Gp_*AM&<{QiM=a%6@Q_33q zwL3}=$@>4;5L)=#^(PLQnCd=5pzpIN;DUBmCR52*0#ljaKmQ~8Z}1piwtI!7Jj_@y n^X%4&u(|kasRNFdy}t~imgR3>UGyDHHBd}Ux0~b`?LYHx2<^lQ literal 0 HcmV?d00001 diff --git a/docs/assets/images/docs_toc-1b6451d27979880f8e5697fc15370346.png b/docs/assets/images/docs_toc-1b6451d27979880f8e5697fc15370346.png new file mode 100644 index 0000000000000000000000000000000000000000..e10f98d4514ea9dd356c4330943ce7318a10e014 GIT binary patch literal 199658 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�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 KMvB^{yZ-^I`ZOv4 literal 0 HcmV?d00001 diff --git a/docs/assets/images/inline_2-4bf7e9cee7574388d3434c79b250d430.png b/docs/assets/images/inline_2-4bf7e9cee7574388d3434c79b250d430.png new file mode 100644 index 0000000000000000000000000000000000000000..0e5bde465660658617b414ac34b680eb208eeabb GIT binary patch literal 13338 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/plot-pandas-47ec17d05b1b28f7774807623b918752.png b/docs/assets/images/plot-pandas-47ec17d05b1b28f7774807623b918752.png new file mode 100644 index 0000000000000000000000000000000000000000..ec1b675ea9bf77a36b0d5568478d437fd409bd7d GIT binary patch literal 28441 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%0Dm~yd8iyOYb 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

        7%o77Na44Ymv=r9kXrFULQkj zj*Nzh?j5R>TYQCg@1G4)XJzd@A|#C0W~5}1i09E5?v4YcMs_r?(W&wIPPpEOen2r29O(gc+Z7vvNBiKn)$4h)<~HM2k%+t4o2P ziD+w+LU~dycZzxhW?_40?5rSAx}WD))jTj}q>~_!{G6(u1r;4#BL5Yzlw=X;c|)ht zD~`|RblNn#fht;;kU3pt?9Qda9&Sc@5OUeQfqiv9F*={UjNTbbvyuot_q+F;-ywq2 z))a2(TV2hkDF5!>Zdfd*ZTLj_;d#9{sl=Gb^BUK)q6nDLG#vO@-+;8wz{uEOCeUZO zkAO=M^J#rZ4017ailn!N3!$bJIt+TI5_E*pc0kb_sWBlyQ&C}eTtbCh2EuL|hkF+8>xkAO zldTw5Zn^ZQP@WF@ed~fyi2mTOCpw#(hvmu%q^bL1G_pP=CW=hvbEFT(N7UoVeEUdR zM@OT`d~rVf(iTERMZ;s)yu)HRPzT-xnN6B#6zGMsGwz5mRTuY!Iy`yM@GxuG(-Du? zk4_Z?x0TUCio@774HK2`r~4OS?7fWIzuz3Lu|#q^Vk6!~y&<((%H^MVoX^*q{*)?n zr8|hze5~?%@y_QvG$?F3RsL|Ar6SWw#dKxiZCWfWY2EI~zXA!lz5RSNE2gcmX%%A^ z=oOJBz?si{i@5_OTNVTBRMj1q3bly+CX-P_k3&lSr6|( z=JLVE|HOj$YM+iBj9gXPY&JAEe?@e6zt|pQSsOM(cyo0d>BRZ?6^s(?F0^4CZH@93 z8xDrehg49&>9)BDufuBN7@Gl~gW zq=QQ|lI>~?`%!Q0c_ZT zvbDF^(*xK8;giXLS9(u;UyU;-j6B~2@VA^Cn57o*&Xmen;Z-Mwi4I1~CDaP5&G46a zVX=YRI&WXUE;-nmjH&-}7ZVGMFH???qp|M{9k;H?K-%1B!N=SCK1_9jpY_YTJJF0C zp|r){es>S)SydI#<)%bsb}mJGQmTkP$Mw?bp%7~MS5$Jp?$m+zK7x<&CL~SFS`&PJ zueK0!Mx!B`8+oUEZ!yd{&SmWeR{z|d^9u=KI=UYm%`2DD0O_H>G31p!ULp;XBS3P0 zpX|=tfm#Q8z`^FQT3{x0o?JdIEG(=v(Or!-88s(o=bsAsFTjc8^j8WZ)q8=D8-eu&xed%#x)7;cFGnq{Q3c@>3_4ZrPfQ5l_c}Cmx?_VdRAUmKv zfBe=d28@pQ`1sB!?ic`@odw#7j)8>j3+w-2x2DoJ-~RVcD6GW(e=i^XAFBQL0#ria zDgJq@$NOQ@|NJe(f8anLi;(*Le~`gjFDtSChqo4ABfhPp-~aspO9cKf2SMnaIDgJt H_0RtwH9U-3 literal 0 HcmV?d00001 diff --git a/docs/assets/images/section_2-aa7a7627456b3455fdf0cdd77c3de49c.png b/docs/assets/images/section_2-aa7a7627456b3455fdf0cdd77c3de49c.png new file mode 100644 index 0000000000000000000000000000000000000000..2f0a01dcb39673cab1acad45a861773df2327263 GIT binary patch literal 14259 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 z z87ZAAh9eSADSmZ%kzbT0naKC;Qr=zGdU4+v4mu92DLahi7Xm)_adF$?YMhPwiYXA< zfq&>(SUR^$43fJBvlRM%3ZO@^NS@Pj=q*dpYSuQe5)pA$l_SyG_3PJ1&YK@Y$=|Gp zbz2!LL5ItHlPHzn*^D;#w*rUV=srTg=h003_*K5spvYoZbo^kMh>L+T!{=35eR2m> zsl2!x$|rJ8vNu_nnV+({u(yZP%uRnnVP|KqZyXFun~~(O+kF{Mr0PI3(6ayw}&a_NTW3v4L5YDc!_+zXMTaj$v0l`K|NvUUdNmK5M zT~#$4aB*a|TE%ss=}@OB+WbPNRKzFJ>4zu~&pIT22w{!Lf-SN6HTxSu^6wzCE?z{-}z76M$oy%TONC@p?b0B{t zuLa=}o!YbKJaL(WnKPS{;pZoND3(CFsFe%9CPcF#mq;SEa^K2c2w?kSXN&`AG6>*x zv%}^SmR43NMK)xFa1^&59H3h9G#2PK_tEXsm8X9H!;(`d{6!IGMHM<7C;%CRY>bSv z3+4xt`rx)6%1hy%endJ^D-S^4AYH+*%865QY4k5Jx$lT;d z=zks6Y^)S@8v2fdbDlx(EXjOVY_vR;VqcY_BtbROV~f zuI=w_Yn2?~iiC-9fAf;b(5wG=`G`uzZ*cNG^a?)$CJz$dCkzfPQl|%Nfy!@~4mbZn z9zA_+BZ^f4u`$X8)C@TyCfBlwYis{jVmIVXR2nW0xgL1jC48I6x2RU<<`3vDUq1_T zZ>dv$0lz&Rm*qVY+uS33^)Xs?_G}tXGSCg{(}`Jwdl4H8nO`ZT{s@3w9YIe{^Sk zb$F>`l*#sk)f-LCcnmx?>0%>k`N$h7Sl{?Q?M_S?cE$brrE%e$`=thDbJG?2Nc;Ah zoJ%Z^9kaZ`jT*-DHUQz*n*-wC?L-t5SQUa~G)fwc_R3_ysANM^r9@_&m5C~JMsM!> z)A~~f?B9VGN-1}E6*7WXcK|jhm%4m2;iBIz9NWR?u%@?~eOcmax9axP+Wfs?_^PX8 z-n-tPViD{Nos1xOPz)7m&ykjFgpOqa5cds#*}aC^<6e(A#eAADCgGG@Tg!uT^PXOP z{U_r?aikbG6`zn0{q!lWOr@=H$ptPhu3WBMBmpMjcK61(T&`LqXlnF^U8X*dDEP95 za*z$7zxq{cBoo@f+IX6?%g)blrW2Le&4T{qD#_$L<1SAbbl4}~56P5UYJdLx`6+z@ zZ^hnxB7buLOg^-&!K~Zp=(@+-58et1^{3fe#JzI-teYfgME+=fye#nSXtThigbi?( z!~TXZNHD#niuI0)7>|U`Hxn>vAGV8y!>& zB2lI|#;KCtyePG=Qf4W7WONomw|=Pa6S@~XJR8x$-@n%*5lN*TdTh+YI-`rrv#pWQ z(cYBziqEX(#jmcRjFej?Q959Q=zK(2mm#Q9akSA6sw4a3`>(%vVC-nrM7{ZPQ&$nB zbF=Z%xuyfW^@$>`&S^jlT8%zo%PT7x*8VJJW1$3G9}wQev$nQ&J%fX-10DAP>bY%9 z5)UF2`s%|x1U(8nTx0>MHGNO~6Txn5?epa&V3ZVR6~!Kov@A8=IO6UC&rmO3&#< zsMmLN`S=KX6J5DJfBAAUgZBO=CeF_v@svz{I!Jd51P>eT`r`; z<$88+)S9=5Yf84S7b}tm3Pm}L{LONb(ARI@NSxKdWv~Jn*X=Szp3=~L98gQoz<}Js zsM%m8%f=W9X+f>k1*c(mTw`~)q&xsy9_9R&wlkxymsj^D{B=S8a`Rh0_5Y>;il<$=n+6ct`W`fcr-74{D8$!k6eDu&I^q z$D57Ij|0w6vzlwVsw6<+=La^0QV)~Q3)IfO!AG>C9z-D6oE@zn>VS%SO(71e^^s{GI@bznEwOYx1#sS^7Yn^ro-3#oIoFya}%% z>TQjG>7{5mI5<0uVL_~PnlB|VncBj9x3?{S|M`RLae^R3-zsl zCI^h}x;#Pt{^F$)1l6`HSO=>qaki&(g~IxJ$;vaozZI008Z5M7-zDPV+ZfrpIwNv& zaymbr3&h#lX44y3W(cKH3;+Y8C(WKNQ!y`*wIl=dLX|RUO^)+9g!X#X@UG`ZnTh^l zM{Kz1+m183{S1(qf5MdAUFr_3`GNwo#QLa<;PP14CN-Cig$OM_RHXK#9{V+T2}VJB zU;CQ-2X@oG4{yl6t@UdlSENOl|1IzOf`)0CpO>dV3ZxS>N%*e-e{o0o={xm(eORKR zqJ48kc2v$s>%W{qo=?aqDmrDR&NJ>ep30>;JK9Kc^(_9fPceAHlXd_C;=rzIox=&A z8Og7sT+O-$hKIXp2xFeYetAekd=rC^FP^8y+dJS_M&!dWm9gWKvx4_a5~PxmKXIjZYYHee z@TsV%va_=R+vrdJRC!p@CR-`k^8y(Tm)MR~e zYUg&^x-vnY-S^6M_w5FU8cc9>bYJE(yNxjxLSDCyt>`N$R4u?_=?aUkxrve~kLzW~ zksJ3BCcFtpWMTV4d$^^gQNmcRQh|(5hR*InyQfUX+YGT5TRg+A7;TVq#o`(G!=7=o zfSiH^yq?c7c{3y)K70ropTqWa?O02WCngbTG%5b$$AY|pwZ#@wpHju$Ww;E?HN2+L zFb58~U5@VqSVA&#gQTgs2@#E-P_SSRD zg9?1~TTxP zpx()!>FDSzPj!C*W2QgLeoN0xE<*)dQ&Y1fVHK`3U9F<<<@>9Em*VwtLGeYOtDXMY z{L3!@Fq?VmiQuJ-Co-{t!z_Y8_Vw%6@4W7AuTBrpu2pW8Gd}lQ_U-VYfMD z2JbNm=GqD&8#6P&DbFIqE4}_y|7tIXUxypx1E+np{AdA0yj}IzE{uEfpTqeD={>$s zzrF9Lz9>E(i_Ra9gYyDMCb}0`Y4P~491!T}=rDo(pw7VTqfU+S$MC#IDE6V|WOsp# zoZO2cNvJ>7Y+Q`wb@weYGBUWu@Eq^)Pl4a-5Qr!LWC2u*jgW6GOYmu7YfBPLpMgWr z{v^!gTlPVPWwh#>XKp{=6{T`JA-|H};&EmC+cezK)AL=^eWR&RU)1=tU-A*HT12Dh z4@Sd7(;sxIf`AW=`jRQsD{bYu^74dufs}Oir%94)*1kf2LL(#IY;9}$R!t3G^fBEm zEEy<6OdtN1+oowpMMW{1o!T07MSKbmCxfeK8m(XgXIUmJL%r%A1_8m!R5!{|En%_w z#A!&b>Su)v&}U)A5%(YL#5`=4oZhIx4RpJZ`}7k?ZBT#xM<7@|DWZy4SXdEk_OzgO z8I0~?52Q;!45@a+;Wl|$cd#xXC-+E}RPr|%4SK}k&lnslg*5Fm6>*chp|fikuJx8MsjVg1Ir`N_AsFsnZ=3S$Xr-xj`dK+QKDWi%ORseK>g=RID#>CmJFkphXkDI3wJ41OR1?8a>a^rp@$dgE_KNTvYDOA`n|=4v9dl+i^oFY6BHB-rIg2&%riFWe_c{iqFijm zz?3SP<{M1~&0j7{!T-${vdjQFwQ?_GjkxkkTbM~-Qh6`l*4fv+JRXVTb_SU9{N>B9 z#6m9eXDlo%9A`@$2*^`>OZ6aqNG1l>`#V!pQ>9WDfy~x1CKg59gXB-`UFt_`N%gI%fk!^=4$Qc_2fTO|;#>bF|1nTif^- zU0w0-3RxjQ9lm z!O;tjuW9F}uwd(jwgS*zO(mbvVY$BQl)Ux4R#DSwU)MuW!|YNQ9qM}tAQV#h?9Pyl z;IeQ#CG(+{Pk4RJ>2Nic;@UVE;YY=*>VQ~3o2Gy5z3>tiLp|4k$$s1W96f2UHUg}O-xiy3kW zks@8RFgjeQ7+K7uKpp}YP3#F9FxZ7}Ebpt~5TkqqR*j5NfYWBs9VI|Jr*`gmNDcBl zvJvadlgsaRSJ`jUn~gD>PhFy+i;A8e5xtIN)R!^iA~uVKGuqQ5)%Js?eZ*?67dQf- zR}#_3Mb5*t;OVXm)p%xhg$fQZn@-n*r-RIKcw!RhbmCfoeTMAK#6tcO43@Uj_1B<@ zi$Gh1VjZn>Cz4Hd($UiTZgAn|=9aBi@HtH~UMks08errbZFF=HMU@L&IBJDl9QRIH zI#r7kK(B_PqIVt=10EA{@SKv;2d6*H=Cs4u?=A*-R8#@}xS;zg+=nB&)SJ|>pep1~ z_$4lmaATb0W)3)eI=>r)TLp)z9d@q6MwMI6TnF`*+19k76K@!Y+aPpou+cI`V<#eCba_-%3r_Td4FumeQwP;qKzWE z$!4wzBUOBF_SeOkT%HDh$NZH-rj7tA#k4I1JBKr`%1 zZWw$FhBXeS?JZsojslCTYn&g}Teh|N9f3+@nxzdZync-+GUztQ>ShJad$fegswB{i zhbM;DJx=`UEcO78)p~tm_122x4Eean5_asx$4bL;#b7Wi{ijp zVhmiNpvi!Ifbtcx!emhBu%nZ!UUjp+;r7Gjk%EWdK>w6qV?914Onv?7y6NfERzy@( zq3%-dqqMK$@r&Pp*&yE>_yDQu5GRX}i)-&tpFz6<(NL~xH*!YZxg%0SXIx-!^fA6J z-ei1g3e(xy(>9NT1aK3`VKec`JazU5NH`1v1f%(1hrEj`-I=6@pyxa<=%G9p)9MKVmCAZgQh4iKW~1Hsx*?#v-? z*=V`(L$E5ef#p%eg-klH>Vh|=4@ke*s5ck|4RdCB)s;9A5V;ha7`7f z>FMX-lzxt%k{;Xve`;=Ns~Mo#=xULFb0ATX&dILcL9*iJ?{Da~YeW7ts;+$(fA3&o zHvj#L4`qeSgw!}6=(T)*ZaP{S#%3`!y|xxTdvHpsyg@<(Hj{SK{tBFqxQVJGEdzyH zlHD0NoQg=!48B*b{>sffjT)y$I^MEm$ThLEntt4x`E!>jD8g&E{?on>+uUfj^A6}vn?G44yg4X%&Vfhh%`IB?2S#{&1q z3X6*V^z_^!ARt&B$Y{TCK0>eqVXV6x^9RigNmW!z%tI3Kk}@*9v5?^pkrXV5&%*yNHR2fz;3^5V*TyxgHV`#hYIMKBU$xzyd$}mHQ<=w>tM{q8ljQ6^$A-KC{3? zkoJE@oJOl4g5+Sa6Hg+B{gd-l!vo^Sj~}1!_e-T0etx&ywx>f*Ws(Fj%qPneadn8M zw?IGPuN;oSMW#C1hcdFsf-P)CvK*5Sy%al#hSTVlt2b$I!^b9c*G#VMXp@<63!7aX-W%M4Z;nhEhJg~sV0}KzF1ZxEv@>fk~Jh7MSt9} zv=TxF#0BO4)2CiQ7zT^6Q)Gle{F7f=>%`_{qu zh?2(Ji^hVt2gIe0%sKNW!EXZiX0(>rrL%y}Fv`t4!FAbx_@Vom)F!NtV|v2Tan{o5&`VG3cg z8guY|6KKddZocen0yA z`$c6~H@a!yw3axZU*f!;webq{y_#Qhow}Ulb{?tF^)!ixO{3GOe&+7hicb1Z6Zv}V zrcb#fAI)lp)b=3b1zRp#s>Y$FJ^`UG6`uv7n`l{XZjc($4kQX`ZnzP$)SVAVp|wxH zwaeSf>s>+a{+NhAkaMWO2D-Yr!wPypNRcM^O!^2BsCGW+e*x$&5dtO>>HvU5>kdOhw z1R_dd32KyCP4jK~egOgZ>MSn#H`))KztK=fFhiDmXXhMD6R|jEZ}9Z`sx2z4arPjU zfHa7&W$PVnZg{?Tu6sdJ50Mn3iB!n9FyGK>nSOJXNq2a7&vb88#L_a~q)p2S`T^Ky zP&kkqw4ts?h5`}uEUoQ-UVh?8k!k(o`70COOgQf>XUtA0ivaVU0_G++=>3$u3c>|+ z#uI6QDZ`s-E$hydinMcj{fZ&xhRx2*H8#Oc$J@^r+7%Hzuex6d_+|!xB}Cf36xM4E z!u$G?f{Lr;1`|celBtdkUz$YM{_#fH-7;j7{ai6JD#{x2bCe3%`zcks6P17(Q&UHa zu3t3&H=i#1D+{D+-L2{RCV#xAjC$k&7zD}{IvfxNYpAdPh)wk)geshYfYTP3>R)Dy z$r!kVLcJZGw$YLAT=wQ|;d%8COhD>c{?W`clM_{9k(}Q^wND-U;AEE4^lS1{7}XD5 zGc$h=kDF`5u1b@=_4UYH8c-L$*h)L)q9(i)ncJ@+j2agw8_Df_4-VBc!!CSs=0~lo zd75=Ro12?}Z{G#I5Kyi*N;KIQP&q)!e87O@RC68&nHS?OF6AFCaQQv%Hr78QtE{Xf zXO@Yd$w*5R0+&Xa-koRD^=$X_;C-q@Bp)c-`f^VqG354oL7|E&GkVkDdkchJZ+}@kfx7%~`XjmQ?>UNzE%&9Mdw2+D1Zcg>%NanvP?v7~ngsx=ESY5APe&$^Fk1hbnlC1DqY1zG zBRKULkt@_pQhqMJMikJWfjEs->bGK4@MAD$eA6A3~t=U;w zX^-}$ydKNT1Kpm;X1*iddb}VrLu+I=ZOuT{7a!xZ?NY9ym;f8P;E1>F(jP z*N-x#0l!{{PY)@!ZY@hgN(4;WdH8Tpx50V2m0XsFzo0*^`%11$5vcITIYRa>rDj)s z>JR>flDzVQJLn$p>AiDtc~#?dI1h0r@-UIh3Oiq9@z@5VqW^2A!c}JfSTX(r7fUKG zF0Q7g76G{$7?4jF+5|vgmh*1@&*!1M*1wze-~7){Nd8!+HK(fr#C{pSz7@`kRib!LCkI{03F03WDB2n$HO&E?bj{Qm%7 CQAOJT literal 0 HcmV?d00001 diff --git a/docs/assets/images/section_3-7dff0fecb5c9aa35d769fae64d1d0cda.png b/docs/assets/images/section_3-7dff0fecb5c9aa35d769fae64d1d0cda.png new file mode 100644 index 0000000000000000000000000000000000000000..991989117d1d3ed98083cf228cdb6072fe2a2ff7 GIT binary patch literal 14879 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%0Df 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/section_4-872edf7d8d4bbead96bbcc7840d22cf5.png b/docs/assets/images/section_4-872edf7d8d4bbead96bbcc7840d22cf5.png new file mode 100644 index 0000000000000000000000000000000000000000..411476b482f9bb0c5e4cd6508f1de7106c9e2e33 GIT binary patch literal 11688 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

        D?a%Zu~s>RN@27xxFu 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 OAub{#TqO9?`~LvFVrL8h literal 0 HcmV?d00001 diff --git a/docs/assets/images/stats_1-3d795dabf58580168c08af871ef00680.png b/docs/assets/images/stats_1-3d795dabf58580168c08af871ef00680.png new file mode 100644 index 0000000000000000000000000000000000000000..b70892c7d692bfa0d611aa984118263b9a59ef9d GIT binary patch literal 36504 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/stats_2-85969423403568ab077789ecd23458e2.png b/docs/assets/images/stats_2-85969423403568ab077789ecd23458e2.png new file mode 100644 index 0000000000000000000000000000000000000000..e9b0ccb1c0193b638c2496fd36c84bbf8cf43527 GIT binary patch literal 53927 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 nD2@4q#mjAEHRcCIDeWm(eT_|r=yO9}pmV)I5s z{xEJFfwv6v2d}lJb5kgL|RUs_uc*zB%~)u zB5z;IJH~HJJ19MFyKdNJCsKd>dIQ_#URnMvniuwk4nfb49=b^VD0Fz_l3y5whmC$a zL(7lx$RAtgZLI9A;Obe@-`@KfBhjE1qxntYG^UJwyTID@-q^Fxkc0M2mx_1DHvE9dI`)QWi+4QcgPI@4!%Ick;u0zO#Q zmlN+PBoco(Oyz6T{%|SJBjTIC`_%+rP*8C9@2;*lCSgaN+j-^kdMAutsn|ZDsHgAg zC*!G9s+X!|LsXQW#N1_%2p)DgT%Pq838G^W^95#RX38EB5}=$h3%77`^DeBbU8VZ{Y$Z0}IRFoRE9m4qJam)5MUK>iG)u zLMQYd(o0E|nNPOD&qQnsg%F4Y;Jh@RTY1+@G9ANU{ZPL%a(JAMjxKn)H;LJ%)warh zQ|Kj{56gP$tb<#oW<9d`WNFjXl$r=-u8n@n-s0Hbf}HFRhOA7 zl^8KvSXeZ-wlLYQFdz+?uqG!b|LuqfX#9lQpL@=K`PSB!#oF3huQyR$qb<2L zUMKuJPe0#(Q$wH9Wzkn+EY~U(opD^7nMqYjM6`3nC$Ov2Qdm-wDxLghs>&{mMlo-0 zASp;EKah`cyJacK6I~ zZ4&hsS{T0v@}kYv#VK>VhJu*bqDzWi+d~2Z(U<}KaD562ioXS=671KbdFl)2f0_yk z3y~kv>*eO=4o=hY3Wrn`U6ya+5faK|SZT{slRac1cq1SX-asXi=)jl$cQ~6tN9V`t zSaR*2`kOa5Fo}o{M+9%*ZWX4Ile5UDtL-gy@5>Cn+jbNe7l&OT zABmrJbvoYA;E7`Q#{ax4My@<)u_w&u>(~2>#W684d;7Vn`nTcA?d1G? z;qTCWPa@6_(s^o}3b`67|!1S1;7X8Q}?L7{@ z#IkNlcGtTO8`(I=qm7s%@if^7>2ehPF_H^%#3A+9%n7|xNqlK4!zNUD)q1kJz0dZ}&!^wAu;Ae0MBagi{p{^M z@BH_+N^WFZ2uXjv2miBYznJ4KoQMs#Usj%ISaWx8)P67Ny43oOM|ZHet0j`F&<*>U4R=`ryF>v+*K9WrYIir+Mo2 z-u3nT-@bj@7%LjLeYV8cVju8t1T|9qp z1dXC+$@<$|g~3WWVUnr(5Ye<})e#X)H_qyoMd$hC@}dw+%3?C)OC}s_b-bm{LV&4S zX4X0}fy!O|gT-v<{%DGDrOh&yNonli`e>o6^8CRpg+y$D`?QM2moE?S@!S83gzfAd zi0>ngQGH=KB@I4A;$u45=)2f723537p*?Lzib$7e7+Q@NryVvPna0yUF(arIf7&cd9&FEsz(mk= z`ah<6b8f%6I#|tqd48C3G-)_CAl8&-w;tlovz;ZALZO(a_ET`*AV;%27@yg2Rs34q zqHD~0W1=z)e%|`zw|16%ZWgUru4G_fARdq2Z8`VoHvvoC9JVL-7g{M%KX1F_y;?gA z?Jw#Hd}ePi9?jsDDd+J+WT929_QRK$VgqC?L&fl2==tUo^092jUA5H?_>3POBfV5D z{b5n-e6TV8>1cC8wmI+iOO>+!Y!c{{G2E6UZNbD%l`;Yfc}hK9%EdC7^0wn@rfW6!);6OaD6}Ul0CVh3rQR1}u(U(go3v@eJBS7kP^) z{yCGM@6XRZqo%(5j^9X}U1`Xqw1fY@Z>Px~B$R^UZ+t5d-?=deCE(x3-kts0e?r&& zt>tfu|3lil|M~9bQF^K}u`~YC{uWzdoLPx?|ISzQC`}5ZhIe|h2}|s~-iUu^)R$f~ zrC-m8fuUPV=1SiC-&Zfn^;mkuSe3;2SWdTQ7yo_r_O2Zh14Ew^y@Uy}uJ_O6e?Rc^ z$@TN5#vkGW*#8-pZ@#9GF8BYV#aS-C6(ILh{HN%msPi>6D1Om1G%TX;@K+4HK26K< zWC5QH*~*7*=Le{BK2&lmljTxX#%D9t!k5l=ySuwrFPvNzWfQ}$hOU!F;WM07C|4YeYMz{)%4A4CU97%& ze!Q9^_v7uI9Kd%HG;tBw*wpgPBW%mU-3!%chuczl@s&G=hx)U1wa^Zi=#_Rvj;a1# zdE?WZLFu5tK%>E*K|TBtqPH6QQ-qBNC%&k#n(mnQlBm_&ON?8rN4_jEA0+TmVO^bG zS9NuB8=PwMx;&5Qy+^_`w>F&3^?Eg}p5FTEg7f(%V)R1T~E>-$GUiNx{qX3s={V5_No)7 zJ9ASy;Hd!W{(MV-{QlH;FEU^Vx)-1C$mgm=)L+-3yaISiqnPtuMu0M&h>*c$L|jKl z2dU49B}b+7;j$2>b;kQJYu&aNWTCSj{PDrW6Ev&zmxqd3@_8r?aqN~SP7^H9W`1f+ za|M#JNB;i(4(ZvmXVGkSS+ZEg20i3_d?cO|Sf$atE;u*QFup5v6C7+#`h5Q$B^t|r zd2+Lq*rdN!l|7NqEz8C=goIaT=eyTXu3X$wcWj}{D4qWJbhQK2ZCtEUlYvq(L%OR| z!>mQ}|4jUeE8jVDKx1QLNBwBN=1r@`4s7>mrWlep=z<@az0 z?v`X?7*iat6ySBBYwyTID)deDldN-I0y)spCU^ zZ340{PoFlT+^YTC%TI5$J;MtCAFUzsW!!j$_05E8TkWx(KSbR2fxzW%6gcfujN~Z` z3>tLf@j7Eb_cR>oiZLc3YnZ8Z;c(n>fW6l{WXx~#=hrPZiz%drR!qX39gg-2>jiu+ zTfFn*ZC%)s9c9Am>Y3{4Y?o(;%WDxduyl7lOHD_tPIj~>%FKn=*>cA#b$xpH(j_nb z3JMqudSe8ptL$R99kA-^>HzmK*#6dHA$ZAu$rADL7CO_1zqbK^5AtIDdw9|hmD7^} zV+@Q{e%q@QjiAm^t_~LPxoQ|2i%v?HYWwx;V?3wLK(!)05ML^d8V)2tLhwqV^#TQu z8rf+dvGox+mP7zK*G95^*1wV2ZVdT#dR$AqdGjV~GKheefSa3}wpdTQ*>@X&#U15h zm9^Z_N*ml*HdAkvT!XctBs>PIC(p$q=a+KhI((HAxa@W~U9d`3x&a&)l$I{Sd}VIA zjP)gRB`wn{-EJU7yEjmvEpT>piRJk{>b2QSjh{@4(0*Ivr!mE>=HK5^kbXySvm+xT zXKs;+$llKt>65N=b()%z(lIl`XxQ1VH*9F|dMhlvf3m9^7!hc`Gd6E6J zGXjU)6c%0^&iw@7%=uXII!5-tGrX_-Nzlf|W~n&ey z&xR@^;oLcWQF&rfQvz$U}ojDUdz0X1^$Pd%iCF8gv0AhwxN|EU3 zE-Kzk6h=i&3;3JQLMb5BxBT-Xu8j05lV3arF}UGuMM}*&*QA4rnNpKs(Kl~C za@t>@u(7cPo?N+X%}QNzcB+&Ty?CGXIEr3#so8GvI{;q zhR66B`ckj%eq?S}Jm*c9bJ30Q>U+Anx@)7^amfp%h3$F<)_pLiTvILr72k*qD+E zi{)!qR~|VEsil?vl&(b9FyIIS4gKHb(rb(cDi}d{YMz}rV^m^e48Eu6({>?%xA^}%JIlqv zv~^DV-s8mvtFFs`hrWtN&_EjzAIZ^Z=^gwj3(&w_z3MTnFcEPA9*ZNx`O%jC>`d)r zdX0~uQ>Nq7#>U1DlP>$-XrD{D;KBVN)Fa%lVIb1*qM91v9Yl-oqjI>_vMX;*Ww}rEILy6q?`}eS}JV} zk$*?NB&?@XZ@qBZhZZmYVX3RVK)cD>*0w{<3;jPui;oK-N1KbH1FHu)AxP+xP|8y{ zu%Pz1Ze9GN;sJa;@r4pEohgq;K%fJ<0PtK?R8+2Yqtc1q>vZOSA=I0TbCH4<|NTqI z|A6GD2d-tfQ+fy8vHw}8+fN4~Cz2jqMC<9v{1275gY)HIkh}6t>;LD=iTTfz)Id$O zGvT&c9e7@=ugYfmQ_>u*C!R0Cf@{ztu@x!~-wS#R3(5+stC~Hho{jOY1n%We0~fIf zkn)X8Xl^Rwfw@X`f!38PF!95*;zMQg>7p;7khrdzUC^l4I!ADo5;NH*a&ofGfqV?2 z*Vc5^hmEm*+j46=yENhBEf52bJ7yPzLyQI|7WtJuzyU~wL8z&#*V`%}rg)ch_dQC0 z2o~{~z;dxd_TtXBrX<#TAnvMFSiL^on49zbB(T{V>qEbI<)-P4g%6@Q6)@gkAd_34 z?#&|fuTquEwBqA&v+1f^_19VjyNngp)!%3wETA<=n3A4arH#$N^ro1hAYw_cA81Mx80qRZ#SEr{ zz*D+6o#b&P^45_91lbM;kbA^0SB1eQ_)#iG!)7`2Ss{B^Oe&=xHm9>nso85lyvk?m z^w69T9i^k$?~&0&$sO~_k|n4j$kAtmA@STUk-RSU3jaAX+2s z>7pXQ`P23M03;sA9Z$fD^MA)YVOiD!Ps+>(W1$f40}bGS6-y`ecmjy{U2PXKAf?rb zH1wVz0!Hg!j)-QUUr);M$`lt@rMhBnZB2BLB8YQ+A!UR9^hGBC8RgOs&%g6`)WCD1 z9&G2+#sPSHL@C+OUWj~Iw=VYT6%rC%uFAtlkD5|N9>u_Ou5P6xybAR*8sdra^WKnG z*~2FAq4*41Pg+}BBBnrmsdPKX`l@6AaQ=tKwL1s9$#2lBe0^`D&4K>0 zF+PtjNVEZ+ABy~A{G8uUarrin$ZOl6Wu5O5b854PT$C`X)nzPfx0 zC0dOiD1!cv|BMytb~yOlyYwoy(M`~@hU3NKeBi4YMW;Viv1Rom(Igr$4Ld=q`xI?w5;-wRVz3{5`w6ZPAQ26k<^?7tVqR z)oL8Sv0KhCSZv?{>`*Ru=M9#W3?yL<{rdH*)Q72S)U7RxaC*%|0#=hyc1sN&9!cuX zqwUGI;LS;Ve(f7#?x$Y@aIf_avzp`ZZ47#s8ZXf<_SW+QNqD_AJx;$c8}_7D*AJZ) zmz=%wv{~-iHP6@Ris8m}aA1eF+fBsbhcX|5Pvz+1QfxoXB^l3w_3G_gj+q%lSUhCdPpIGD)8GaZaefRCGfgN7Cb3I% zIVO?MQ^WTJ6}(7)-vAYh0EK+!X^5X+vO=!PP~K%Pi(DKL+t}FOC)K5;8dqF)TjJ?G z34X!BOPNWez*_bWGLwpUE;ch(M)6pHK0Lz3jaoXW4Zx)bXQ=}kdtpJrci#kJ5=yBL z7blFUm;@NFpf*w|7m*`jQ!D%hox0;4En)f zp1RAE!hF-&x=&2%?v1|$-+uO4KZw%r2=`*r2jTfSDAJvM?s99r1M4@lZ~S;`_u!yUY#mtP6aZfEA#Ot9O@z&ggm9ePm5ZX21yFT$bl!AE z=E5#|Rn;q^UUNcOf3-)Wt(`nJKK_7|G{44oAwB75(T7FRD%-8MGc``D)9Lg*Jw2pq z6iESJzTASAgo1{aUL|QIeV^0J9F|tPjz;?Xlh^duF`3MxlK;&Du*F`y8ES5R8^ac@ z5`$KY@vE&(HRdRLgN7rzuRwZlxi{Z6ic(5Lo_ZLKl;%~LnX+8h@_9i?SL~IjW+g!N z;CkZ2e9e41n0zFl)v@3$7*yo}tj@iNXSd{ofeF~!mh^DJ4sbeHc>w3;322c(R|5%n zV-Z9WOrHTPOiWDJQe0m-Huvh6&JIn%Yuj6=uP<;NXG+`9goy@&*zt7l`6>E^+|ey` z9F&KeM=3C)(sM~yMP`*BUd_w*m86a&r46Iqh>nY+;U~ny)6xqcLk&Gs2%>m8y>K~k zj^MNNrhD&i1w=+hvKaMwe)1st+j_WeyFMdeSSb-q1TYZXuRzz+hxEZ0mr0?_hLW`< z2x1(O^?tQKC4EnQ;GhE#`NUXx_pZ^`DthfE~Je6D&W1FR}*6!{g zSf-z*Yc;Q?O|;&Y3oy;k-(h(sd;^cfzK80a=gW8JdXl~e+T*}~hyDE@43hcr%d&nzwZ;buX30XT~eAfT2769dyP(02~F*T!VEVvIXBF|kDP zPYI=Z3u2JwAOHZf(fa%MNlIjQ`bfS9KjKsaU*d2(dz_b-2Mz*<4YLqq})h|yGqNR@HA!ctF95aMML5=uXR|M`$lX!zU)EMSJ79THldADJU2 zc$(Yc1nd#p#B^GcG=H!vhfjxwj*fm+ zbCSMyBe>*f|N2XHH8&PkDV1g&5750dqy8TUYr}D39+xfI1qF}SsdK*xj*0t_bS~2c_d#Gd>QphyL}4aNZ{vob$4f~~8v$7WMF4ls4kYBqqL&J3zA939iC8LN zk2?oDbC6PS1nmsWX1(^%=Y@4!Gy20F5u&H*!%1l)Xa=q4TdD|zO**THORJEf^zE6T ze_w%&KP!k6giM^*?N-LVMdqq7I`j}hr+TNR#xw0g9xNYB z#2UNfYjt+C+Wql#|1?jNe{sCkV!G-PIGtmRx(CO+)(^o`Tdb~gtMHhO`e2!EtE{BN zV7&L3hld9aE+OD<@pGrDp75Of*Squ2m8xv<85#S#qWKa^O%?XR&hCoiCnX~zgUM0` zErb4sW?#7_shWDo&i=vbV;Tk8=@L1beJ1@52B(h4N87VfNi($^E+anLO+LD2X5s+Q z@mWn+T#h%irz#3LxVWgvo*{km!FbB2(Y>QB;Pl|+hKq}fzH(fdIV|XnFbWAhpz`>4 zjlwVpcs>uNOBOmGX4xL^U%v)o0Ge!y`=>LmS;cGxOlYh;JiM|w*(DPm=UBvJAapFW z1*Msde}Jrvnq>m4mo%_@p&)|x<0c<%OHDrjYT6bSJpeRsW8Kwxb$wM)S;=U5bpvP; z-%+xMH2~y!kba!?HS1sB1oOE!Mfl!oU-C^5I1Of|I0Nx{WBsvd20R*GAwkwjy#I$F zKBo>jK!((7Pp_d&IW&-mz#i>Q!lh#{ICxQ4crCOBO^|t8O zlL3@mg#e+H*D3vg(Y_|*-b-DYUJm+v@)#lhyPaWxZ|l06<9j?*CSh8)KAHqr(rq>8 zAFh32n#N)kDFYNgL!KJKP{8q;0oz*QL@8uno(cUA3wL$?A3y7JAK9SvzwCUT=6`?v z#`VGf`8|z4{w46YdH=63``=qyTkH6Aeq3+M_W8tP^`uajHkv=_3p&oq1;CWc@3y2c zc@XsKH+iHP?RI%)2O2EDP$YkhoQ6gP3Fi&+y2kFdHndWegk*C$mFsfz$qEoVDBIWT zV<0pDDAKTfzU8fuko)RJf!V6;$4?(UrQ|4+o^^v@o~Kq9|L2f-QllQHy|+F5;_`U* z!g^;;czkquBgKAetTAD-Tu$xCV)pcJ`y&!Q*AtnexN-Z42irF8mx`0w?_&C+dOT0g zhJt;&76g5&1BZqBYSXg+Paef-z5kW5n zD&1E{Mw^i~AL{p6&~dNwtHMVdtgITAZeHmPjjnBs7l%`;$EuW?tkw!$ik&~U+oKwA zg>ZyozD7%(Y#K&x()iI?={t8xca!T#zP0JPeE_S4*4B?-svLY8>@lnE$O%kDzaBoK zmZe~&1r9F5?Xb}>Gm|)=-+{EV^G5&_jPCMUXXLr%WuJ5(w0w=)XO=THW7sc68}^q$ z(0j_k5iOT4DO2?;ZD`mALA(m51ynE= zeh3B(6v&Wub#+xh5K=})MoC$@Q2Wvu30(5m03$M0%jqCJvIKA8?(U9V@@y1m22`w`22uDh)hOX`})4t(`o#L zlI*H$DV3{IDx0%#y1&%l(Q=EFlyrV!{&xa5I{-DP(CA2DKR7x&-X|ggolzM9;#}motq9AoFb^@LJ3W`oFtGU1aNDkL|6^Qy?H_^h6{!Udew)kT& zKudRYa(+le6bMLo*mUSS7;iv$46|wp@bUjFEC>KffG7^ity|xwCt_QJ2p3lWyngrY z_7Vt_>12j`O7 z{1piN0FKv&asx!ubh_7uIatl!73#EjHrHp@IuBEyxgRHdkOavB*Rw5z)TX18rm(j? zDg+{KdKHOqN}<)XRJtu=frzAJ*eeO1+i#$G-e(zzrth|d0hJ8`eR6OpA@32pR(T&6 z*QYv;5H=A^^#;xRA5aWM@8dy}E6Y^{Mfw@!Z2%R;6P1;5xh=2CrB_(}xq)=NHIwF$ z#0LwKHcm>OV7a|@+<19TRhC_{wxk}zS4~ zVjdCLK*`QQ1eq55fa$??RL{xDF`6tRh9s`oZrd;598u6G4Q9lfcG)y5YwKi->F{+pg@{<%fcWV6cnqog1(kr4Qn~$0gp_5Uzy%PC zaUOLNpq;rr9VuZGHWghS#3}?Sse` z1xHdYQ#S4KsMHq7IeF9ifii^la2#1h#aM9nmu`*oE4#vyIRH1+fKt3N} zgx*J+le%%tl!|nk2FHoKkbKgt{OTVVm$6LoGfN5Q&6fz{G(pH_6a8DTwF{;iGgzsBqK_wrw1O-8&Xn; zGmnFg?vG8MxO#MV2W-D8`*k5G{T!|*4BTaw>B7B<;L>5jaqBrd>8lY8cpS0_m8zn| zLIT$R4m!GS+tH?8anTR0#*cn&Yui%gThkFmJXUi^r+Z8KeRGYFgS3I924V)l*#$YI zZBw;8Tx)l0y817@v?oLpS2y;du@hZfI>fS=XALzq&Uz@G#Rm?7S$DhwF~y%he-iQA z2LkAX7V&(V4OgV?5^pF#`Cio%Z_ktlfJHx0BZv-(8BX8? z6s@hI)%AAkIM8dJnU^s=zEB?+pO-H~d!1}`8rzo3Ao_VznZrmvo?x{4XsZIL-8tP`Y^t=@{jk{8vc5Cwn6zuq72S_m z*au`nYi5rgKKun4)C}m+vmtm0J5#wri*E^MslA)olMyR5F>k)0KX^dm6%|F<r3x2wXr2JZ9z^ym&uf-|rT+&2!TO1EH~{Cf0v0oDjt;CI&w^ zI5^(cK{!qJ&rrcr0|SFqi>L$jffx50N=-*s21>I(JeUNV;YUgeb9irRKsqe@GqPs| z4D7u-%#u*Q)8&?XI^2m9;t}@+pbCYfE1!!-KvJ$@Xeb<7|AT`g&hOcZdD5MYukkqx z^5y+tH2VOD7jIP0PwtP8jKE1m7mcL81p?Q2L0K6E=p4gZg$B7QqJ7Hg7V01}+>7%Z&+#);90n`wH)AEg%hbEO0sGBU3s(U( zGRxK&2{_g71j>8R$Dz)&Lseg$N(=aatdg(6o0qnS5dpd0i_MkT(o#GB6p^oEBZD+P zfecJ+6ku9Hx*pM4K(A-6*#xQJ#n%nj;?mMIXsK$o&aA`290R8Lpb@loblmm)c%^3LalsO-F2xevZ!O+TOlXV0WG(AH| zdFP{^i)AS0^YLFDg!S|}L+wJ`?wKsJXql;dh+sF730#X`kQofRlps+<1rdsJ%V|W@ zac-Rd8ARx`JAcb&x!YrV;XE8vrY4YjtZhH&{QB$%SZa4=mkfME$kYZoK}HTpx9+bK z=z*oGF+c1e2@y%FAr3b=lq*eG`DSKd*Kj7(Ug`oyL}-X03k(+OQYPpF7}Edi`=Bd^ z*#|t98(N?c9&ho=ii%ppTReRDaAhhjyXRQ5DgjwMkpS>iZTJsJB*8y}$ewiFph+oQYIu<(2K%DCoE_EM8@3En z(eJ98kJ`bIKC1UBXB((Ozi9p1zMEBf2;c5`3 zmUHIsA_DW1zfO_q;B>l-jfq(edQ5@9XvKVdu!6TBu1T$s@g1e0T|bqG>6ug_4=Bn= zq?VRgU%X|3TtbvA%H)2M+FLzxw(T54@Qicg*yW}vYLCt=;uu+m+zhqXUZNJ&V={$# zNY1q3Q)UnT_Pq_b*mj`2u<$9|PXIsQD|o@6q<4eYi?~Jd6yk)OiE6Ua`Ngvv;}Ken zWQXCdL$hPQeLsKx%n~d+iqHw&Hwgfg`!UCss3bh0b>a@beUH-RXoJiAWZK^JTaG#b zAz?Z}UoB1d)vIg?hx+z3MfUdIgsyna?ZMGH%WLYZ%epKr#wSla!3%WXxp@q-9t8r7 z;_iHPoW~$x3a@i>wz-<(RH>|Z(OKhG1Lqe~Mzk%O1#ai=ZIEpH(9tPIsf2-f=Q(fz zE?i!x{l&Jvk}lL|mo5|TCfG=DYD-uv1z5DMAzRF3yFkZTf8WcuPhd)Tts zd}pF2fxsR)9(%=Mcd}{tJdLa8*s3>!uf6 z?Jz(fNE$`DmRAd6WyN4OSgnsp{Jhvnk^Fw!F9l=JJy8^a5{8L5 zxy91nz7gK0B)j)?la*|Sco%#jk|Q|=1$&?E!Jj{f zFh+|hxtN$3B5u2{uA~&bx8G)zpNS}_9-38eA%7cgqu;qSWT~WT(A@!^zHKlk8yh5h z!q&P20!6d=0R?ppxiibMi!j-^>zCzU4sE`7Rn{C%>bdQBg@E#W`sA#rc&Se1WSRSH zj>~ijjgv05ndYXDG=wmrw|CWRZ$OXQ+WEG1=;)ZkoPPjs#PD4js+5@s!ac@7(k?@s zo%vg*`-@V=#kA^GEMe*5{V`l@+VkX)d82-tAk^MN=bRS8Y==NKp5Dfm4id4 zbga)kVu=0Wx*jLE7aXQdj{7aN0n|jpl#5Qh>n9h2h+F|+<>Lq;m75oQV+?RM?r~IH zY^*Fqdv7G7>Ak3ZD&Vu%mfXZehSv@?R2N3=mFzA}y2FDcCpUP{nPvvmBjs|7mtb>B z?$Vu(HjIo!#+6%uS19G^$l-B$7*&+>wmlS52k%ac*}c5HL|;Wce59+Zfr65Hl6Ao2 zw5MfY;2o7t35E3J#1RbX#w1J4jh&@#LQuwy{%!=?qzC~@TL$?E@L4DB?VZi(v}so2oNXHQ-&&ugaie;+n+I@-W5534=nD?JR8&ro_05=IHc6)+I8l#~<{ zyWe4yAv0CZlTb-{TrhSv#+iYOU1-R;%Ry2vB^;q}obE5T!Ep(FF19y!<(8(=)YLRy zYl;g6x7})DTU8j?85vxn136%rMll@MCN&+(GYD5O?zrYC>v*1+wUuQ^CWjxzv2;WZ zNYr(O3#cq35Y0G565(w8M=(AV+7E?(MK1X*$QRNmvRU#}7nhfnAmV-HsImp5npWRs z=5i?wF z+D|5XxW@U=A7&!WnK34o%Wk~@3`&csisWN8;syvGz-5>;P?))9xj8rr>^BMA`K>%H zrmNS@mx13w>)bOFMnLpJNST6YDhc^nMDjT=PuOU9EvY}XB>+cT$E@q?Qvqf>+9cIF z*HbHQ>yN-{^%FfrV_EuZnWHDB2Lq)OZA8dkv4R%gN+ImcwFePGutGo9*1Gx2Mb_DJ zSHm?uR+AxdYnGQH5NHL(O+o1OHD=am#E<5E$_2F?B}N{}M6e#0jNu@_JX)^}QL*J{hN$GW_VmyVf4ePANeQ7g z1dNo#BpfJuPs78@;~N-A4$5@6Cjq^qqK4x7Z*;wilKH=3$M?9b(}xUW06f z=5eiF$*kGg_~(=Gi%>vo#de)Ih{OzT|EqcN&ur!sbBl|Ja>2;VoB|gEM0xdw&WHLT zlr~;sO$M8AY+_>mAYhWM*pTsgL2=P9seui+@8xC1VI919%g#_Ss5JnI(d@XxC zMSCJIH@JC@&Q8`t!x65hdor~`m^TtBdr(gMj$#!^BjBn-mVD+f%gM52u=_#$^rzn+ z;9M#*x3;m-g*Qe-H!UsmYj|0i!HxifDnzN!mGkoKSgM@=ooPK)DX0k)l>l#64@+Z= z^P%h^^l%Wx+9ze|-=Km*PbFzOYEo)6+p|1k#Bx14li(w$oPT}OqZfnhW6^Eu+Zn$1 zQ(shiR)4>d>E{<2E_Ng~sdi?+=CW3jFu0n!tVh{hG%(chVYCAq`<7rsko3@F^0$w} z1+@%3wWAMDFOj=&~{Flg{@mEmsbmIc5b&fBeLGk|AYmOqCeT zbB8(Q2gF3IPWrSnPcHT&e0_Zznnl9q=I8HzQ43z!Z7YP(&|C2Y6WKXb zq+k-xkMFbjeBLB`z9WBQq=Yx)ylxIhWI;)di0^DANvZfqb)k97=e@l>n})MBa+Sk& zaDDAQ9Tdevy>^|2_?Dk4$D8FRyKO-dS>DdzW54ZoC7`cim{oecYXQIIz|o}DmV=vn zVOf*F{Zp;!vSg0RA!psihf)!{o)Pz+zaKcC{p9gd#HITM(e5?gqqG3rLaRU7Cwiyp zhmk`bW6-f5TGk&by4Khlhw(Q}{AI$YmZ$!^yi9hqB16PcKw50j+bTvMgB9Z9K4W7A zj?>NqvI4hB`^UJr$QfroN9~m9PuF4$2`lu=xv-5m*etlzo)XSFa z{2C0PH>v6AO>L8C5MwyRYOlnF04*Mq-fbx5!PX0HaV0?@>nat_Gb6pjz zD22zx(q~5K18XCiy&TBN$;x9mTvx^MS{Z#gn%5{TE$w8Z`1*%t{S_W_>jhzNYt7}+ zWW|THEWFRPwY+@FSD7LTWv!c&P9T5~baZwyE@a|c+1LnYzVSMFw5wFSL>SL!Ly+WF z_RFlSqM`yXThYUhGBH{QwKqcP_nNuijY_9s{ z*DK#tB_s@E8iX@~ut3cw4j!GIpX(m1^kb4_7Zp7ut+^)Yfz$$&MP0adP*7ZskUQ@a zyCGR#EYd4g7=0W6MZP|o+a$$*>3el~2^LoH79HK!&P9#~q#e@JisW)NTku`1-&@i1Lr=p3SaZfD;$n3gv<&u$+(SVkHH8YQU7xH>S zemT$_Z@m+L*F0%?iOp=#)$pT5Og#8>acx-oy?k`decyOKV*cwI^rU<>KM>Kh+CxXh zd-hK|u)m6?DU~?N1mqRx!qp@}E$REg&CTC)axmbb@ffr`$3u@{-iP=~W3&o&+ky{| zBEm$|PA0jx=YD;Whn#9F!#| z!Wg&nBkhG&QeZx~jFvO|c1Ll5z~|?6cHx@N=ddtloR=1^TYrw=x4p3P67!o)-7ZuL z1OThu&2DPNyiDPIwBe_y=~g;}VQBg&parn~8!fH-dwUj5lWk}aBH_Rz4uX&PlNP1< zT0Y!(aUk-8on4Ffc3oRmucFR$m1UtpH#<^RkwX}TRBI=FZD8qao?traz%Dj6_E?dV z&3kMnW}DkyBOW~_A74de{n4Ie-RIyQ=bO^cG}Z8hv-cp${cP5Gxrjw@lT()2Q0OU` zt=Ff=Ok-nXvGQNcUx@MRw#vQZ^&o+}7A@%XUHNjKSDO7C5f{lw-4617@?N%I_T_8x z9{}qurT?_ms5$GLT}tmYfoHQ{8&6mr@Di&>w+GQfi3vi1x<&i1q_#w@>>cbm~J=*hh8^M zA8^tD+%q`tXz5xLy}ti7<`k`FYfVf^AX8pvvMd)e*JfeP7p#BX`3$kJu&iut-wL%3 zqvk(_DM#{5H{4#*xVl-qHEFrKo?kzASbx!CR+z!x1UCSrm6gXgqNt~{&V|~s?=BSO z*Qo>z$ld}qB&eo_Cyf8}^z?WBAu~+Dw=`4cCh6WJexJZ>{Ahga_m;&6++Q4?M2H5B z;}>VSZ2A%!SJ2_Se}9V!4`aBR)s9~#VL!UqzMJ4hglNs~Qe3NkC1>T%ZsufX_vGYx zatAH-{{8!&LqqZ_wpGqF_CV7Krq$KvmPV{rw?~TH&h0Nw z7KFMq3y=oWdyS5+P(LAiT+g|IV3aCyj$V3I2X{KrDJ7eAe|?tLy?IzYO+|}>#4)VrmNY(3cCHB`q7`26<^4H%*PleaZzG~(CUG({l9`baS;;1QWke#f zN<_9o^}X)AACJ#Jzu$Lw-2XVvxzByS?$_&jJ+J3=J)bnu5&{oR&dC214*t31e5Yw8 zM&`=OG_1qfJHO6G#4!(J4pFK45&iutmSgO#r`Xuo7MDJDmSvn1zt&4%**rUtE|U#< z3#Ukh;DH#aeKZOKf2A1}4i(bIcVIW#_NnR`}C zTYI7Sovr=n{#3u;{-eQnE^;x(++659>3HpGSCtEHm$5@vUoR{+RwQ72aU~l+JEy|2bfy2+(Mp*jcatjzT4i9Ll1k-;;nQBC4CVD%Gx# zjyJ3gZm3V?XIw?2>d9)$*k>GfA3Sj(oaT)7Ja}Eb>B-|x z*k1NgC^6q;dHM3CIBZ%A-Vl&2DxDV~vwUA}*C;_}I+d+KQW3cSB1PKe(PYFfc{qMw zvS>%;(4b_I-17SR!;%s=-{fo8uC=x|E)l8yc0YaY_L~Gl<>)tIgph)Dd~-%Try33i zX944`c$^ubuCsply=e;O)R;nFrvGOP@D-Ws;*d@IhSY?)d3ff-f1c>CQGfs1S4dD$ zaN|$fTkFQ^OeqxeIT_}rrr;m;?*y&u&Gu7ans%tD9FYJE&3eaW*pk-ZNz0buZ)|h| zuU$o|Uhb~0paYVymMtMy(-?cP{y+r3VHc zexd<|$VU5qcmGklW3z`!7;{eBqt`zP1aAYO92xj8^V8nDOD+dJGu24J%@-B*y;3GQ|GkN-*9 zXu|s7-yO^?K^v{Jo8z{Bm^_<*F%na;KY&Vn?yZ7Betv#vK-%o?>uYcDA6nRqrdzdc zml{%xfez7y$nVWvAbSuG*kJ~&om*8x?>zLR6}A%^X?JFuKYeUY-{(e`GFy5kS+FMdnGWosY6HM7zStwWq40~%Iu~3ybvwP$Zn3HQx zQxT+7CsBU;jr&$(vRjr;yiI@B&+V*C77uO-(9q~yREpbO9iOw-Bafh9A;+1ANfj6_ zK$$G+!IK-eqn=xfc9mt+Q?oKUjbsi#iJX(Ci`F!M4ZdEYcNoM(Q{u`uy!>`I)dA5+ zL{eSZ7q-TWT(OCviW%GfvN;#|CnUC1Bw&9f7F6ux^&WupGq|dvA;o>QNur-|kayDp zX#FzhYj!ZSI?92J4p=OR_W$A6V~`74p&uC?rD0`ts=*9L{`o--<&ReA36-#GBlJ7` zf%G0N_9W=kdlMlbp=8pd;Oa>Tzs7FV0!ez639E!^A)KV*%oK3EUETG%ef!2{wCh3F z$KsL_VVKY?UxqTU`n*`!G1vp$sdI92^dk-h=*b(ldi$0gr^syYZePqONw9eVvhHCy zS~@Iz3<9*AygV1|%cJOmi790~RPY6ZPGEmQy!Ji5$8mYOPU_B`JK{G-xIvelIv|H6 zI#5n&0c4~7edcq_BP1q|rN)o6tA&{-v)~Mt1mF=uwRX{u_N5Aj3^7 zaj>@*1D<)9qaS2WL)*JoZ0$f2^8*wXm0iU{?Hfd!m?GX&ZcfTGbj~rtpi=yKY4h$bFw%&0N-uw?X^~QyNIx&e@#!zd+l#r_ac>nhck?|pHl66 z)d@+S1{$X-%%~w;_B{LMKNM$3)u&D{ex0j?Q)#ga zUh8i7^0}=&moHh=YW%}vCs1vLwQ4{e2BB z*^2r1HGOgOW7XLXao?f4r@#4l|4quiE3GhC!mCv1pKC5?=pMN2icc2I%wn zb2-t8de1O7!Z}H)3GrZmh9jVn9V80Ifa`ZHEwZLaM9J-uZPzO-qY( z!=WH_;z0mIAQup5T;lwsSmKkCfhAQ{(x=`xbD(kEuli?aIpPeTkY=sSEW~kiK@hSN zXa2OdfQ14DbV1^wOa&Q`QzRu3sZm24N$e&aZx&=2ykAV9&l1)LGLmRq%NLxsIIPfx z3h?oRNUrMYDu^yH)P^+d``25qXGcax;#1;7wzj;Hl?1ru>C>kJGka6jZrMis`g^JS zN88IYjps&2N8%qn!bg!(l7&V_lAt(wc!-F8{!BS~L$|;5yKo8q?ggYB%tHk9f=xoi zun*5%ZAyeKvSE~k3 z0|Uw&s#7gtZ;cX@lkGb%8FFpMsl@xPvBJ=2jeafvT97GzeFFoe&Hbm10dvc^Gt1-E zLZ|9|B;;*?*8}+ZX8Oz1cBmvscrWUJl#FeHkB4_2sBgfH;aORn))x)6_n@a_a}y8s z=9Dr;^?5`WO~E2b`1R}8?w%frvKJmuFhfQR2Dz&xlmL;X!>9nKkW*Df4=Uk^m|`Kw z=ZCxcPJj$UH+6NCPpf8BR&>%emfLJ@UPmt_=*9Mtqo{39k&1rCEM1_}jmmfxO#M5}MiPU>h>xrw6g8yHF50tanYS!H=`e=^D>W-jUG`5XGpnu|%Xn z9D^S}fB#lJbZ7?X-!kQBe*OA|hthjStE{ZdEPb6CY89Y+B^MJDTU`2*uJqJeG!hIU zCVlU5a-KcQu)wDu0wf54&M4q8@~+n1>+RJ;wLp)cIHm;!DPv1#Cox#ez$yyush}Vx zh@d=uU&5gafobrjh|Ek5^5R;CXicDq-vBYd#i(-BOb#*t{h%#fFey-nWic^CWl}`X z!^1N$W5!L(GV2)CVGkI|4q65}9~5h%L(PiA;YiZN&oGEwCLj^NIj;!_c`kHD_N?ey zFN31Yb?SzoJ5Z@00`bev{=W7~_zB)AC-5B@9tI%zFw9g?Yk&Qt#Em1ryr(L&dAl%) zAwEEqu#6>!sSIB&_xRC0pu9Z*4w%~;Q7^>Ko0156*PUXGB?f}3a}A2P6kzQK z9AEqBD4k8v;rvKPOlLNZNz_{W+#OS4#`e1{sD&Z8kXJsNXkt?;TxDe?HY4MsQm_Km z!{XxN&1UfL6t!)l5E2rCJa~Gv20SSd=AMm@jyX#V|3Ku#?)ll$cp+jzhddE zoFtzqYDl5KD=|Zg1HUd7wDzh*^T#EYW#wN zZ9SI?FyhRdr0Th=T4l z{E?VQPr)IP17<(~W6#7X;=^UV4gEVknYL|^e6LfV+3zJytrwWa8-!|X9 z3-m2EaW=R;#F9lDC3koIl;Yuzf8iJ5@#S~LOkfrS(T55Ne$LL$J`z&0RRU8sb$3`G zo|BgHQ40$RY3zg&AS(|uALn}()%Qh~aTU|X7 zYXf_HKWSdb%g;{=o4&e{kx}ldTVHQ)8wU#u>B$os--dH_bamDI z{p%!F4PnAK7RfnRSVBg-j=r9*nd(RqU9fDvXV!kmgozHG(k2Z2PmWvR?> zcb+6x0(%$;9d6piFH0;FkCT&gN~-9gYyyapUsSZSa5y*i7Nd3?3qh*BljJ{!&rG<^ zotyem3CQ%GhI)K@`iUexUoj5dVn`yS%*59~!PC&t@M(WJxBK<&Qmv_#-2fz#?4(FI z4P8m#p(G;=TUH5j?r_+PY$~G71ov!(L@t@Ir@i-hF3fYu|TwI(Yn`r^0 z7;jfaV~lwd>>%8C5A=i@6ks7&7(S!@X}GdLqMn|P4(=xcr2fECGrHmH!u)_#(&6^@ zQQa-M;3GM}2M|$!y=)m88e%r4q99eZwm#L{+iPTFbHm!x!2t_U6zJA@(4fHbfQP{8o%A=y}Ra_btAyuEj!U^uj?~oBG0r912``NMJ5KNbM@Ms=-(~azp+B6AKZi zEMD0UTLsERy)zbz#cE`@eJl@Ff?om)4~18J6u5c0IYmTH3MPTXl@cjJuotg8{{)ee zLrAkq1TnG9Yj7^?IPhJimhgQ($%TbwiGV?%9@xIfvqwj_X5^rCN=w9f&~4wQOb{F`L_56Q!SPVwL782@>jS!oa+ z71&SVOG-+jP_TCcS_?N742R_lrFDpaC=wD9*dyBq22P^9Kr{xHCu&8eZSX7jlSP0h zDC!gRIYL+rZN-ED`r*}2LE&`9T=%vAUipr*D^qF*piD<+=Y=`|xF^IKP_PCU7adV8 z@C^tl4t8r8DD=N?zN-R&3St3t>p-r5ADV1(!7dDp;E7O35{JweP$3|McXnYRDPW1~ z16Id5)xo9e7)%Agb+`j4iy#HpjSW>@T{2*sjLglW06zoB`tjoj0^e#qXU{_|6rkpC z{Xd@YIt7RFDGLh=pa#0TyHx@F0zo$n6d9le*2?6+_o11bb(Js%c3MpU`hr42u)=W} z8L>8v0cyMnU=E09zxgMK0#G%-fIz4|uLj7Q9`u2Wx1EPa?8t~o_tKWaDijp)Q}y>$ zzaM9R%fYTpw-}Wa6(R0EgdSN{G%gG3h0C+eD&Dtl*a$x0O_;vp zaFHOXRE!Tqc55^`fck@0c}iN^efS1p%PLZUc?fF>Su(MD>dXuZMRXDQ9|0817}`Y_ zX;z(QCcq3rdXjdPFG(-ktT?vso$Fa>w0*nmJ2n&fH?@s4!T1vF*lg5N+Yq(BF_=A|xsrk&rM-(8zbZ z*ba-XIx<4n$$dx)+aa+8{0X;#bSeYMhuk_$1*GJPY?1~A8qggEkkV^s*%&Op2-w-# z<$?~RVRdribUv-F#(;1gy6|&BJOER!6_OmbM#>9;qu{rpX_`LHshT~S>lS%?lOdsd z{{NRFQym=qrU#WY5;g}0!eJMIhXt;l#Gt@~!I}TmitQd6Ldpl=TTRNu#DuymBKeSA z={_W?etv$Kkvv_*r5%-*m-h+wBbYTC0KvVy#1DmGFEp-CzM8E@QbBs-^s~|+f&C=) z;z+FN$cM*jWA+^#9q>e{V>*x{T9dcp0VnC&nZL9^&fx_I>iFkIZ5^)(0;Xha`m#m( zo*U&xR@2Kox-F3#BW!dDtED`L%tfCe@5`692z>8NDu!v{TzvRPSu77Fqt?$6$Nc@X zp=kiY{p!m^1l7cSl#Cau1D1*Kt|n{=~ zwO)Gt`(dqKp8$Rzg@mPm69b~XRlZma#yYMG$6s2Q>TSx(ze_>CJ}5Z;)_i$GzfQNj zyB}>Kb9~(coD(a!D@AJl=cwrEErS{}LwN?R##jgwXOpx_->%wa-;|(19l!OWnTt5* zr6PP(V(m6p)b2F~JXPmVJk#iLpI0KN#MP<&3j{CSk1r{$g_E?KzgXJo(T7`3#zmvK zIiZ}oZlPK?7A?2;P4hjPhwv3VKnkGeGt>d69^==$_BD;>0uGdBQ#fkN;oW}B*o*#(S@U5){Pe~nL&Fzf9yJemRIJP=7Pnyf>=_64ywCj}-oT#mU`%`1rJw>G7+rIpTDc3<}e;j^wS*yLs z#nP}Mrsp3-&D)H|IwP|1lanljM_02wxqpawI;Ym`F`lY*J|3DC;}1HRJf<)OEzgxp z+e?-ncxqZ28j^12CQiorE=R#rm+}WtS#9`F9b8$DugQrN)w>frB<0>~WUA#m6<+hy zqC}cGZH%$~k)?AtE6Y7{lxrjVYnk8m9?!iq*w+>e$c``0(Ja+0E}y$Q&15m3x3bV> zfu%N|Lao$}Y*H&}26d5+U^c&hsfzHLC2`Ce*)b<3m8Kw8oP$#iR8SL_Dfe7W?f6U> zlPvC8k;lT|KGoNt^=t-(C2Ane%D4M_|Bewk(XIA%1{0Y4XSYM%B}>KNr#)7x46}*3 zn3`#kE1z_8>gDIEnCzOkzY}@*D#g9GC1M@D#5JX-G1W``_NfN5B@axjGTW~d$udi| sT{JEm&5oV*&Xp#{Q&7V=Rh<6$$LUSkKQp)8gHZ6Jt7V{BrjEJyU(H+-%>V!Z literal 0 HcmV?d00001 diff --git a/docs/assets/images/stats_list_1-e5298c8479345c53d2e1197a118d0770.png b/docs/assets/images/stats_list_1-e5298c8479345c53d2e1197a118d0770.png new file mode 100644 index 0000000000000000000000000000000000000000..d5519e571654b0c84aa414333f93d1811c6387c0 GIT binary patch literal 35753 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

        Ooh*c-BOm}xE*dZl44iWWtN}Ho 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 UFUbwCwBjGRb4q`uN$cPLAFi)SI{*Lx literal 0 HcmV?d00001 diff --git a/docs/assets/images/stats_list_2-7b410ad4b07a18411a671a7c70f6f057.png b/docs/assets/images/stats_list_2-7b410ad4b07a18411a671a7c70f6f057.png new file mode 100644 index 0000000000000000000000000000000000000000..23f6ce1ec992472366b2de59dfa2f86fb95c71bd GIT binary patch literal 35744 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

        r%ni&|cR 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/stats_list_3-604ecf10a42d2e87feb60141d2777f5b.png b/docs/assets/images/stats_list_3-604ecf10a42d2e87feb60141d2777f5b.png new file mode 100644 index 0000000000000000000000000000000000000000..f3480d4b0bed552d1be52df6de1df4876e4df80e GIT binary patch literal 44340 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 literal 0 HcmV?d00001 diff --git a/docs/b140a32d.d182942c.js b/docs/b140a32d.d182942c.js deleted file mode 100644 index 71aa49d98e..0000000000 --- a/docs/b140a32d.d182942c.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[165],{217:function(e,n,r){"use strict";r.r(n),r.d(n,"frontMatter",(function(){return i})),r.d(n,"metadata",(function(){return c})),r.d(n,"rightToc",(function(){return p})),r.d(n,"default",(function(){return u}));var t=r(2),o=r(6),a=(r(0),r(300)),i={title:"Form / Dropdown"},c={unversionedId:"examples/dropdown",id:"examples/dropdown",isDocsHomePage:!1,title:"Form / Dropdown",description:"Use dropdowns to allow users to choose between available choices.",source:"@site/docs/examples/dropdown.md",slug:"/examples/dropdown",permalink:"/wave/docs/examples/dropdown",editUrl:"https://github.com/h2oai/wave/edit/master/website/docs/examples/dropdown.md",version:"current",sidebar:"someSidebar",previous:{title:"Form / Picker / Selection",permalink:"/wave/docs/examples/picker-selection"},next:{title:"Form / Choice Group",permalink:"/wave/docs/examples/choice-group"}},p=[],s={rightToc:p};function u(e){var n=e.components,i=Object(o.a)(e,["components"]);return Object(a.b)("wrapper",Object(t.a)({},s,i,{components:n,mdxType:"MDXLayout"}),Object(a.b)("p",null,"Use dropdowns to allow users to choose between available choices."),Object(a.b)("div",{className:"cover",style:{backgroundImage:"url("+r(427).default+")"}}),Object(a.b)("pre",null,Object(a.b)("code",Object(t.a)({parentName:"pre"},{className:"language-py"}),"from h2o_wave import main, app, Q, ui\n\nchoices = [\n ui.choice('A', 'Option A'),\n ui.choice('B', 'Option B'),\n ui.choice('C', 'Option C', disabled=True),\n ui.choice('D', 'Option D'),\n]\n\n\n@app('/demo')\nasync def serve(q: Q):\n if q.args.show_inputs:\n q.page['example'].items = [\n ui.text(f'dropdown={q.args.dropdown}'),\n ui.text(f'dropdown_multi={q.args.dropdown_multi}'),\n ui.text(f'dropdown_disabled={q.args.dropdown_disabled}'),\n ui.button(name='show_form', label='Back', primary=True),\n ]\n else:\n q.page['example'] = ui.form_card(box='1 1 4 10', items=[\n ui.dropdown(name='dropdown', label='Pick one', value='B', required=True, choices=choices),\n ui.dropdown(name='dropdown_multi', label='Pick multiple', values=['B', 'D'], required=True,\n choices=choices),\n ui.dropdown(name='dropdown_disabled', label='Pick one (Disabled)', value='B', choices=choices,\n disabled=True),\n ui.button(name='show_inputs', label='Submit', primary=True),\n ])\n await q.page.save()\n")))}u.isMDXComponent=!0},300:function(e,n,r){"use strict";r.d(n,"a",(function(){return l})),r.d(n,"b",(function(){return b}));var t=r(0),o=r.n(t);function a(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function i(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function c(e){for(var n=1;n=0||(o[r]=e[r]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=o.a.createContext({}),u=function(e){var n=o.a.useContext(s),r=n;return e&&(r="function"==typeof e?e(n):c(c({},n),e)),r},l=function(e){var n=u(e.components);return o.a.createElement(s.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return o.a.createElement(o.a.Fragment,{},n)}},m=o.a.forwardRef((function(e,n){var r=e.components,t=e.mdxType,a=e.originalType,i=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),l=u(r),m=t,b=l["".concat(i,".").concat(m)]||l[m]||d[m]||a;return r?o.a.createElement(b,c(c({ref:n},s),{},{components:r})):o.a.createElement(b,c({ref:n},s))}));function b(e,n){var r=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var a=r.length,i=new Array(a);i[0]=m;var c={};for(var p in n)hasOwnProperty.call(n,p)&&(c[p]=n[p]);c.originalType=e,c.mdxType="string"==typeof e?e:t,i[1]=c;for(var s=2;s=0||(o[n]=e[n]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=o.a.createContext({}),p=function(e){var r=o.a.useContext(s),n=r;return e&&(n="function"==typeof e?e(r):c(c({},r),e)),n},d=function(e){var r=p(e.components);return o.a.createElement(s.Provider,{value:r},e.children)},l={inlineCode:"code",wrapper:function(e){var r=e.children;return o.a.createElement(o.a.Fragment,{},r)}},f=o.a.forwardRef((function(e,r){var n=e.components,t=e.mdxType,a=e.originalType,i=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),d=p(n),f=t,m=d["".concat(i,".").concat(f)]||d[f]||l[f]||a;return n?o.a.createElement(m,c(c({ref:r},s),{},{components:n})):o.a.createElement(m,c({ref:r},s))}));function m(e,r){var n=arguments,t=r&&r.mdxType;if("string"==typeof e||t){var a=n.length,i=new Array(a);i[0]=f;var c={};for(var u in r)hasOwnProperty.call(r,u)&&(c[u]=r[u]);c.originalType=e,c.mdxType="string"==typeof e?e:t,i[1]=c;for(var s=2;s 11:\n row, col = row + 1, 1\n\npage.save()\n")))}c.isMDXComponent=!0},300:function(e,n,r){"use strict";r.d(n,"a",(function(){return p})),r.d(n,"b",(function(){return g}));var t=r(0),s=r.n(t);function i(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function a(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function l(e){for(var n=1;n=0||(s[r]=e[r]);return s}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}var o=s.a.createContext({}),c=function(e){var n=s.a.useContext(o),r=n;return e&&(r="function"==typeof e?e(n):l(l({},n),e)),r},p=function(e){var n=c(e.components);return s.a.createElement(o.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return s.a.createElement(s.a.Fragment,{},n)}},x=s.a.forwardRef((function(e,n){var r=e.components,t=e.mdxType,i=e.originalType,a=e.parentName,o=y(e,["components","mdxType","originalType","parentName"]),p=c(r),x=t,g=p["".concat(a,".").concat(x)]||p[x]||u[x]||i;return r?s.a.createElement(g,l(l({ref:n},o),{},{components:r})):s.a.createElement(g,l({ref:n},o))}));function g(e,n){var r=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var i=r.length,a=new Array(i);a[0]=x;var l={};for(var y in n)hasOwnProperty.call(n,y)&&(l[y]=n[y]);l.originalType=e,l.mdxType="string"==typeof e?e:t,a[1]=l;for(var o=2;o 11:\n row, col = row + 1, 1\n\npage.save()\n")),Object(s.b)("p",null,Object(s.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(s.b)("a",{href:Object(a.a)("docs/examples/tags#graphics")},"graphics")))}p.isMDXComponent=!0},302:function(e,n,r){"use strict";r.d(n,"a",(function(){return p})),r.d(n,"b",(function(){return g}));var t=r(0),i=r.n(t);function s(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function a(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function l(e){for(var n=1;n=0||(i[r]=e[r]);return i}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=i.a.createContext({}),y=function(e){var n=i.a.useContext(c),r=n;return e&&(r="function"==typeof e?e(n):l(l({},n),e)),r},p=function(e){var n=y(e.components);return i.a.createElement(c.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return i.a.createElement(i.a.Fragment,{},n)}},x=i.a.forwardRef((function(e,n){var r=e.components,t=e.mdxType,s=e.originalType,a=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),p=y(r),x=t,g=p["".concat(a,".").concat(x)]||p[x]||u[x]||s;return r?i.a.createElement(g,l(l({ref:n},c),{},{components:r})):i.a.createElement(g,l({ref:n},c))}));function g(e,n){var r=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var s=r.length,a=new Array(s);a[0]=x;var l={};for(var o in n)hasOwnProperty.call(n,o)&&(l[o]=n[o]);l.originalType=e,l.mdxType="string"==typeof e?e:t,a[1]=l;for(var c=2;c\n\n\n

        Hello World!

        \n\n\n'''\n\npage = site['/demo']\n\npage['example'] = ui.frame_card(\n box='1 1 2 2',\n title='Example',\n content=html,\n)\n\npage.save()\n")))}u.isMDXComponent=!0},300:function(e,t,r){"use strict";r.d(t,"a",(function(){return f})),r.d(t,"b",(function(){return v}));var n=r(0),i=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=i.a.createContext({}),u=function(e){var t=i.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},f=function(e){var t=u(e.components);return i.a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},p=i.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,o=e.parentName,s=m(e,["components","mdxType","originalType","parentName"]),f=u(r),p=n,v=f["".concat(o,".").concat(p)]||f[p]||d[p]||a;return r?i.a.createElement(v,c(c({ref:t},s),{},{components:r})):i.a.createElement(v,c({ref:t},s))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,o=new Array(a);o[0]=p;var c={};for(var m in t)hasOwnProperty.call(t,m)&&(c[m]=t[m]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var s=2;s\n\n\n

        Hello World!

        \n\n\n'''\n\npage = site['/demo']\n\npage['example'] = ui.frame_card(\n box='1 1 2 2',\n title='Example',\n content=html,\n)\n\npage.save()\n")),Object(a.b)("p",null,Object(a.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(a.b)("a",{href:Object(o.a)("docs/examples/tags#form")},"form")," \u2002",Object(a.b)("a",{href:Object(o.a)("docs/examples/tags#frame")},"frame")," \u2002",Object(a.b)("a",{href:Object(o.a)("docs/examples/tags#html")},"html")))}f.isMDXComponent=!0},302:function(e,t,r){"use strict";r.d(t,"a",(function(){return f})),r.d(t,"b",(function(){return p}));var n=r(0),i=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=i.a.createContext({}),m=function(e){var t=i.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},f=function(e){var t=m(e.components);return i.a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},v=i.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,o=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),f=m(r),v=n,p=f["".concat(o,".").concat(v)]||f[v]||d[v]||a;return r?i.a.createElement(p,c(c({ref:t},s),{},{components:r})):i.a.createElement(p,c({ref:t},s))}));function p(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,o=new Array(a);o[0]=v;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var s=2;s=0||(a[n]=e[n]);return a}(e,i);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),c=function(e){var i=a.a.useContext(l),n=i;return e&&(n="function"==typeof e?e(i):R(R({},i),e)),n},d=function(e){var i=c(e.components);return a.a.createElement(l.Provider,{value:i},e.children)},E={inlineCode:"code",wrapper:function(e){var i=e.children;return a.a.createElement(a.a.Fragment,{},i)}},p=a.a.forwardRef((function(e,i){var n=e.components,t=e.mdxType,o=e.originalType,r=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),d=c(n),p=t,s=d["".concat(r,".").concat(p)]||d[p]||E[p]||o;return n?a.a.createElement(s,R(R({ref:i},l),{},{components:n})):a.a.createElement(s,R({ref:i},l))}));function s(e,i){var n=arguments,t=i&&i.mdxType;if("string"==typeof e||t){var o=n.length,r=new Array(o);r[0]=p;var R={};for(var u in i)hasOwnProperty.call(i,u)&&(R[u]=i[u]);R.originalType=e,R.mdxType="string"==typeof e?e:t,r[1]=R;for(var l=2;l=0||(a[t]=e[t]);return a}(e,i);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var R=a.a.createContext({}),d=function(e){var i=a.a.useContext(R),t=i;return e&&(t="function"==typeof e?e(i):u(u({},i),e)),t},l=function(e){var i=d(e.components);return a.a.createElement(R.Provider,{value:i},e.children)},s={inlineCode:"code",wrapper:function(e){var i=e.children;return a.a.createElement(a.a.Fragment,{},i)}},p=a.a.forwardRef((function(e,i){var t=e.components,n=e.mdxType,o=e.originalType,r=e.parentName,R=c(e,["components","mdxType","originalType","parentName"]),l=d(t),p=n,f=l["".concat(r,".").concat(p)]||l[p]||s[p]||o;return t?a.a.createElement(f,u(u({ref:i},R),{},{components:t})):a.a.createElement(f,u({ref:i},R))}));function f(e,i){var t=arguments,n=i&&i.mdxType;if("string"==typeof e||n){var o=t.length,r=new Array(o);r[0]=p;var u={};for(var c in i)hasOwnProperty.call(i,c)&&(u[c]=i[c]);u.originalType=e,u.mdxType="string"==typeof e?e:n,r[1]=u;for(var R=2;R str:\n time.sleep(seconds) # Blocks!\n return f'Done!'\n")),Object(o.b)("p",null,"To call the above function from an app, don't do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(r.a)({parentName:"pre"},{className:"language-python",metastring:"{4}","{4}":!0}),"@app('/demo')\nasync def serve(q: Q):\n # ...\n message = blocking_function(42)\n # ...\n")),Object(o.b)("p",null,"Instead, do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(r.a)({parentName:"pre"},{className:"language-python",metastring:"{4}","{4}":!0}),"@app('/demo')\nasync def serve(q: Q):\n # ...\n message = await q.run(blocking_function, 42)\n # ...\n")),Object(o.b)("p",null,Object(o.b)("inlineCode",{parentName:"p"},"q.run()")," runs the blocking function in the background, in-process."),Object(o.b)("p",null,"Depending on your use case, you might want to use a separate process pool or thread pool from Python's ",Object(o.b)("a",Object(r.a)({parentName:"p"},{href:"https://docs.python.org/3/library/multiprocessing.html"}),"multiprocessing")," library, like this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(r.a)({parentName:"pre"},{className:"language-python",metastring:"{1,6-7}","{1,6-7}":!0}),"import concurrent.futures\n\n@app('/demo')\nasync def serve(q: Q):\n # ...\n with concurrent.futures.ThreadPoolExecutor() as pool:\n message = await q.exec(pool, blocking_function, 42)\n # ...\n")),Object(o.b)("p",null,Object(o.b)("inlineCode",{parentName:"p"},"q.exec()")," accepts a custom process pool or thread pool to run the blocking function."),Object(o.b)("div",{className:"admonition admonition-tip alert alert--success"},Object(o.b)("div",Object(r.a)({parentName:"div"},{className:"admonition-heading"}),Object(o.b)("h5",{parentName:"div"},Object(o.b)("span",Object(r.a)({parentName:"h5"},{className:"admonition-icon"}),Object(o.b)("svg",Object(r.a)({parentName:"span"},{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"16",viewBox:"0 0 12 16"}),Object(o.b)("path",Object(r.a)({parentName:"svg"},{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})))),"tip")),Object(o.b)("div",Object(r.a)({parentName:"div"},{className:"admonition-content"}),Object(o.b)("p",{parentName:"div"},"Apps that make calls to external services or APIs are better off replacing blocking HTTP clients like ",Object(o.b)("a",Object(r.a)({parentName:"p"},{href:"https://requests.readthedocs.io/en/master/"}),"requests")," with non-blocking clients like ",Object(o.b)("a",Object(r.a)({parentName:"p"},{href:"https://www.python-httpx.org/async/"}),"HTTPX"),"."))))}l.isMDXComponent=!0},300:function(e,n,t){"use strict";t.d(n,"a",(function(){return b})),t.d(n,"b",(function(){return m}));var r=t(0),a=t.n(r);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function c(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=a.a.createContext({}),l=function(e){var n=a.a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},b=function(e){var n=l(e.components);return a.a.createElement(p.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},d=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),b=l(t),d=r,m=b["".concat(c,".").concat(d)]||b[d]||u[d]||o;return t?a.a.createElement(m,i(i({ref:n},p),{},{components:t})):a.a.createElement(m,i({ref:n},p))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,c=new Array(o);c[0]=d;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var p=2;p str:\n time.sleep(seconds) # Blocks!\n return f'Done!'\n")),Object(o.b)("p",null,"To call the above function from an app, don't do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(r.a)({parentName:"pre"},{className:"language-python",metastring:"{4}","{4}":!0}),"@app('/demo')\nasync def serve(q: Q):\n # ...\n message = blocking_function(42)\n # ...\n")),Object(o.b)("p",null,"Instead, do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(r.a)({parentName:"pre"},{className:"language-python",metastring:"{4}","{4}":!0}),"@app('/demo')\nasync def serve(q: Q):\n # ...\n message = await q.run(blocking_function, 42)\n # ...\n")),Object(o.b)("p",null,Object(o.b)("inlineCode",{parentName:"p"},"q.run()")," runs the blocking function in the background, in-process."),Object(o.b)("p",null,"Depending on your use case, you might want to use a separate process pool or thread pool from Python's ",Object(o.b)("a",Object(r.a)({parentName:"p"},{href:"https://docs.python.org/3/library/multiprocessing.html"}),"multiprocessing")," library, like this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(r.a)({parentName:"pre"},{className:"language-python",metastring:"{1,6-7}","{1,6-7}":!0}),"import concurrent.futures\n\n@app('/demo')\nasync def serve(q: Q):\n # ...\n with concurrent.futures.ThreadPoolExecutor() as pool:\n message = await q.exec(pool, blocking_function, 42)\n # ...\n")),Object(o.b)("p",null,Object(o.b)("inlineCode",{parentName:"p"},"q.exec()")," accepts a custom process pool or thread pool to run the blocking function."),Object(o.b)("div",{className:"admonition admonition-tip alert alert--success"},Object(o.b)("div",Object(r.a)({parentName:"div"},{className:"admonition-heading"}),Object(o.b)("h5",{parentName:"div"},Object(o.b)("span",Object(r.a)({parentName:"h5"},{className:"admonition-icon"}),Object(o.b)("svg",Object(r.a)({parentName:"span"},{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"16",viewBox:"0 0 12 16"}),Object(o.b)("path",Object(r.a)({parentName:"svg"},{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})))),"tip")),Object(o.b)("div",Object(r.a)({parentName:"div"},{className:"admonition-content"}),Object(o.b)("p",{parentName:"div"},"Apps that make calls to external services or APIs are better off replacing blocking HTTP clients like ",Object(o.b)("a",Object(r.a)({parentName:"p"},{href:"https://requests.readthedocs.io/en/master/"}),"requests")," with non-blocking clients like ",Object(o.b)("a",Object(r.a)({parentName:"p"},{href:"https://www.python-httpx.org/async/"}),"HTTPX"),"."))))}l.isMDXComponent=!0},302:function(e,n,t){"use strict";t.d(n,"a",(function(){return b})),t.d(n,"b",(function(){return m}));var r=t(0),a=t.n(r);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function c(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=a.a.createContext({}),l=function(e){var n=a.a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},b=function(e){var n=l(e.components);return a.a.createElement(p.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},d=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),b=l(t),d=r,m=b["".concat(c,".").concat(d)]||b[d]||u[d]||o;return t?a.a.createElement(m,i(i({ref:n},p),{},{components:t})):a.a.createElement(m,i({ref:n},p))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,c=new Array(o);c[0]=d;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var p=2;p=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=a.a.createContext({}),p=function(e){var n=a.a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},l=function(e){var n=p(e.components);return a.a.createElement(s.Provider,{value:n},e.children)},m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},d=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),l=p(t),d=r,f=l["".concat(i,".").concat(d)]||l[d]||m[d]||o;return t?a.a.createElement(f,c(c({ref:n},s),{},{components:t})):a.a.createElement(f,c({ref:n},s))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=d;var c={};for(var u in n)hasOwnProperty.call(n,u)&&(c[u]=n[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var s=2;s=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=a.a.createContext({}),l=function(e){var n=a.a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},m=function(e){var n=l(e.components);return a.a.createElement(s.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},d=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),m=l(t),d=r,f=m["".concat(i,".").concat(d)]||m[d]||u[d]||o;return t?a.a.createElement(f,c(c({ref:n},s),{},{components:t})):a.a.createElement(f,c({ref:n},s))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=d;var c={};for(var p in n)hasOwnProperty.call(n,p)&&(c[p]=n[p]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),d=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=d(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),l=d(r),f=n,b=l["".concat(i,".").concat(f)]||l[f]||p[f]||o;return r?a.a.createElement(b,c(c({ref:t},s),{},{components:r})):a.a.createElement(b,c({ref:t},s))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=f;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),l=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},d=function(e){var t=l(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),d=l(r),m=n,f=d["".concat(i,".").concat(m)]||d[m]||u[m]||o;return r?a.a.createElement(f,c(c({ref:t},s),{},{components:r})):a.a.createElement(f,c({ref:t},s))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=m;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var s=2;s',id:"breadcrumb",children:[]},{value:'BreadcrumbsCard
        ',id:"breadcrumbscard",children:[]},{value:'Button ',id:"button",children:[]},{value:'Buttons ',id:"buttons",children:[]},{value:'ButtonsJustify ',id:"buttonsjustify",children:[]},{value:'Checkbox ',id:"checkbox",children:[]},{value:'Checklist ',id:"checklist",children:[]},{value:'Choice ',id:"choice",children:[]},{value:'ChoiceGroup ',id:"choicegroup",children:[]},{value:'ColorPicker ',id:"colorpicker",children:[]},{value:'Combobox ',id:"combobox",children:[]},{value:'Command ',id:"command",children:[]},{value:'Component ',id:"component",children:[]},{value:'DatePicker ',id:"datepicker",children:[]},{value:'Dialog ',id:"dialog",children:[]},{value:'Dropdown ',id:"dropdown",children:[]},{value:'Expander ',id:"expander",children:[]},{value:'FileUpload ',id:"fileupload",children:[]},{value:'FlexCard ',id:"flexcard",children:[]},{value:'FlexCardAlign ',id:"flexcardalign",children:[]},{value:'FlexCardDirection ',id:"flexcarddirection",children:[]},{value:'FlexCardJustify ',id:"flexcardjustify",children:[]},{value:'FlexCardWrap ',id:"flexcardwrap",children:[]},{value:'FormCard ',id:"formcard",children:[]},{value:'Frame ',id:"frame",children:[]},{value:'FrameCard ',id:"framecard",children:[]},{value:'GraphicsCard ',id:"graphicscard",children:[]},{value:'GridCard ',id:"gridcard",children:[]},{value:'HeaderCard ',id:"headercard",children:[]},{value:'IconTableCellType ',id:"icontablecelltype",children:[]},{value:'ImageCard ',id:"imagecard",children:[]},{value:'Label ',id:"label",children:[]},{value:'LargeBarStatCard ',id:"largebarstatcard",children:[]},{value:'LargeStatCard ',id:"largestatcard",children:[]},{value:'Layout ',id:"layout",children:[]},{value:'Link ',id:"link",children:[]},{value:'ListCard ',id:"listcard",children:[]},{value:'ListItem1Card ',id:"listitem1card",children:[]},{value:'Mark ',id:"mark",children:[]},{value:'MarkCoord ',id:"markcoord",children:[]},{value:'MarkCurve ',id:"markcurve",children:[]},{value:'MarkLabelAlign ',id:"marklabelalign",children:[]},{value:'MarkLabelOverlap ',id:"marklabeloverlap",children:[]},{value:'MarkLabelPosition ',id:"marklabelposition",children:[]},{value:'MarkType ',id:"marktype",children:[]},{value:'MarkXScale ',id:"markxscale",children:[]},{value:'MarkYScale ',id:"markyscale",children:[]},{value:'MarkdownCard ',id:"markdowncard",children:[]},{value:'Markup ',id:"markup",children:[]},{value:'MarkupCard ',id:"markupcard",children:[]},{value:'MessageBar ',id:"messagebar",children:[]},{value:'MessageBarType ',id:"messagebartype",children:[]},{value:'MetaCard ',id:"metacard",children:[]},{value:'NavCard ',id:"navcard",children:[]},{value:'NavGroup ',id:"navgroup",children:[]},{value:'NavItem ',id:"navitem",children:[]},{value:'Picker ',id:"picker",children:[]},{value:'PixelArtCard ',id:"pixelartcard",children:[]},{value:'Plot ',id:"plot",children:[]},{value:'PlotCard ',id:"plotcard",children:[]},{value:'Progress ',id:"progress",children:[]},{value:'ProgressTableCellType ',id:"progresstablecelltype",children:[]},{value:'RangeSlider ',id:"rangeslider",children:[]},{value:'RepeatCard ',id:"repeatcard",children:[]},{value:'Separator ',id:"separator",children:[]},{value:'Slider ',id:"slider",children:[]},{value:'SmallSeriesStatCard ',id:"smallseriesstatcard",children:[]},{value:'SmallSeriesStatCardPlotCurve ',id:"smallseriesstatcardplotcurve",children:[]},{value:'SmallSeriesStatCardPlotType ',id:"smallseriesstatcardplottype",children:[]},{value:'SmallStatCard ',id:"smallstatcard",children:[]},{value:'Spinbox ',id:"spinbox",children:[]},{value:'Step ',id:"step",children:[]},{value:'Stepper ',id:"stepper",children:[]},{value:'Tab ',id:"tab",children:[]},{value:'TabCard ',id:"tabcard",children:[]},{value:'Table ',id:"table",children:[]},{value:'TableCellType ',id:"tablecelltype",children:[]},{value:'TableColumn ',id:"tablecolumn",children:[]},{value:'TableColumnDataType ',id:"tablecolumndatatype",children:[]},{value:'TableRow ',id:"tablerow",children:[]},{value:'Tabs ',id:"tabs",children:[]},{value:'TallGaugeStatCard ',id:"tallgaugestatcard",children:[]},{value:'TallSeriesStatCard ',id:"tallseriesstatcard",children:[]},{value:'TallSeriesStatCardPlotCurve ',id:"tallseriesstatcardplotcurve",children:[]},{value:'TallSeriesStatCardPlotType ',id:"tallseriesstatcardplottype",children:[]},{value:'Template ',id:"template",children:[]},{value:'TemplateCard ',id:"templatecard",children:[]},{value:'Text ',id:"text",children:[]},{value:'TextL ',id:"textl",children:[]},{value:'TextM ',id:"textm",children:[]},{value:'TextS ',id:"texts",children:[]},{value:'TextSize ',id:"textsize",children:[]},{value:'TextXl ',id:"textxl",children:[]},{value:'TextXs ',id:"textxs",children:[]},{value:'Textbox ',id:"textbox",children:[]},{value:'Toggle ',id:"toggle",children:[]},{value:'ToolbarCard ',id:"toolbarcard",children:[]},{value:'VegaCard ',id:"vegacard",children:[]},{value:'VegaVisualization ',id:"vegavisualization",children:[]},{value:'Visualization ',id:"visualization",children:[]},{value:'WideBarStatCard ',id:"widebarstatcard",children:[]},{value:'WideGaugeStatCard ',id:"widegaugestatcard",children:[]},{value:'WideSeriesStatCard ',id:"wideseriesstatcard",children:[]},{value:'WideSeriesStatCardPlotCurve ',id:"wideseriesstatcardplotcurve",children:[]},{value:'WideSeriesStatCardPlotType ',id:"wideseriesstatcardplottype",children:[]},{value:'Zone ',id:"zone",children:[]},{value:'ZoneAlign ',id:"zonealign",children:[]},{value:'ZoneDirection ',id:"zonedirection",children:[]},{value:'ZoneJustify ',id:"zonejustify",children:[]},{value:'ZoneWrap ',id:"zonewrap",children:[]}]}],l={rightToc:d};function o(e){var a=e.components,t=Object(i.a)(e,["components"]);return Object(c.b)("wrapper",Object(s.a)({},l,t,{components:a,mdxType:"MDXLayout"}),Object(c.b)("h2",{id:"classes"},"Classes"),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"breadcrumb"},"Breadcrumb ",Object(c.b)("a",{name:"h2o_wave.types.Breadcrumb"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Breadcrumb"),"(name:\xa0str, label:\xa0str)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a breadcrumb for a ",Object(c.b)("code",null,Object(c.b)("a",{title:"h2o_wave.types.BreadcrumbsCard",href:"#h2o_wave.types.BreadcrumbsCard"},"BreadcrumbsCard")),".")),Object(c.b)("h4",{id:"static-methods"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Breadcrumb.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Breadcrumb__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"#h2o_wave.types.Breadcrumb"},"Breadcrumb")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Breadcrumb.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The label to display.")),Object(c.b)("div",{id:"h2o_wave.types.Breadcrumb.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of this item. Prefix the name with a '#' to trigger hash-change navigation."))),Object(c.b)("h4",{id:"methods"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Breadcrumb.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"breadcrumbscard"},"BreadcrumbsCard ",Object(c.b)("a",{name:"h2o_wave.types.BreadcrumbsCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"BreadcrumbsCard"),"(box:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"#h2o_wave.types.Breadcrumb"},"Breadcrumb"),"], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card containing breadcrumbs. Breadcrumbs should be used as a navigational aid in your app or site. They indicate the current page\u2019s location within a hierarchy and help the user understand where they are in relation to the rest of that hierarchy. They also afford one-click access to higher levels of that hierarchy. Breadcrumbs are typically placed, in horizontal form, under the masthead or navigation of an experience, above the primary content area.")),Object(c.b)("h4",{id:"static-methods-1"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-1"},"load ",Object(c.b)("a",{name:"h2o_wave.types.BreadcrumbsCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_BreadcrumbsCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.BreadcrumbsCard",href:"#h2o_wave.types.BreadcrumbsCard"},"BreadcrumbsCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-1"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.BreadcrumbsCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.BreadcrumbsCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.BreadcrumbsCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A list of ",Object(c.b)("code",null,Object(c.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"#h2o_wave.types.Breadcrumb"},"Breadcrumb"))," instances to display. See ",Object(c.b)("code",null,Object(c.b)("a",{title:"h2o_wave.ui.breadcrumb",href:"ui#h2o_wave.ui.breadcrumb"},"breadcrumb()"))))),Object(c.b)("h4",{id:"methods-1"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-1"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.BreadcrumbsCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"button"},"Button ",Object(c.b)("a",{name:"h2o_wave.types.Button"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Button"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, primary:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a button."),Object(c.b)("p",null,"Buttons are best used to enable a user to commit a change or complete steps in a task. They are typically found inside forms, dialogs, panels or pages. An example of their usage is confirming the deletion of a file in a confirmation dialog."),Object(c.b)("p",null,"When considering their place in a layout, contemplate the order in which a user will flow through the UI. As an example, in a form, the individual will need to read and interact with the form fields before submitting the form. Therefore, as a general rule, the button should be placed at the bottom of the UI container which holds the related UI elements."),Object(c.b)("p",null,'Buttons may be placed within a "buttons" component which will lay out the buttons horizontally, or used individually and they will be stacked vertically.'),Object(c.b)("p",null,"While buttons can technically be used to navigate a user to another part of the experience, this is not recommended unless that navigation is part of an action or their flow.")),Object(c.b)("h4",{id:"static-methods-2"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-2"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Button.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Button__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Button",href:"#h2o_wave.types.Button"},"Button")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-2"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Button.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption displayed below the label. Setting a caption renders a compound button.")),Object(c.b)("div",{id:"h2o_wave.types.Button.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the button should be disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Button.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the button.")),Object(c.b)("div",{id:"h2o_wave.types.Button.link",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"link")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the button should be rendered as link text and not a standard button.")),Object(c.b)("div",{id:"h2o_wave.types.Button.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component. If the name is prefixed with a '#', the button sets the location hash to the name when clicked.")),Object(c.b)("div",{id:"h2o_wave.types.Button.primary",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"primary")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the button should be rendered as the primary button in the set.")),Object(c.b)("div",{id:"h2o_wave.types.Button.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Button.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A value for this button. If a value is set, it is used for the button's submitted instead of a boolean True.")),Object(c.b)("div",{id:"h2o_wave.types.Button.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-2"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-2"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Button.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"buttons"},"Buttons ",Object(c.b)("a",{name:"h2o_wave.types.Buttons"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Buttons"),"(items:\xa0List[ForwardRef('",Object(c.b)("a",{title:"h2o_wave.types.Component",href:"#h2o_wave.types.Component"},"Component"),"')], justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a set of buttons to be layed out horizontally.")),Object(c.b)("h4",{id:"static-methods-3"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-3"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Buttons.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Buttons__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Buttons",href:"#h2o_wave.types.Buttons"},"Buttons")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-3"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Buttons.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The button in this set.")),Object(c.b)("div",{id:"h2o_wave.types.Buttons.justify",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"justify")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Specifies how to lay out buttons horizontally. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ButtonsJustify.")),Object(c.b)("div",{id:"h2o_wave.types.Buttons.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Buttons.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-3"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-3"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Buttons.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"buttonsjustify"},"ButtonsJustify ",Object(c.b)("a",{name:"h2o_wave.types.ButtonsJustify"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ButtonsJustify")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ButtonsJustify.AROUND",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AROUND")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ButtonsJustify.BETWEEN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BETWEEN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ButtonsJustify.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ButtonsJustify.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ButtonsJustify.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"checkbox"},"Checkbox ",Object(c.b)("a",{name:"h2o_wave.types.Checkbox"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Checkbox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, indeterminate:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a checkbox."),Object(c.b)("p",null,"A checkbox allows users to switch between two mutually exclusive options (checked or unchecked, on or off) through a single click or tap. It can also be used to indicate a subordinate setting or preference when paired with another component."),Object(c.b)("p",null,"A checkbox is used to select or deselect action items. It can be used for a single item or for a list of multiple items that a user can choose from. The component has two selection states: unselected and selected."),Object(c.b)("p",null,"For a binary choice, the main difference between a checkbox and a toggle switch is that the checkbox is for status and the toggle switch is for action."),Object(c.b)("p",null,"Use multiple checkboxes for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive.")),Object(c.b)("h4",{id:"static-methods-4"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-4"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Checkbox.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Checkbox__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Checkbox",href:"#h2o_wave.types.Checkbox"},"Checkbox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-4"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Checkbox.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the checkbox is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.indeterminate",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"indeterminate")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the selection is indeterminate (neither selected nor unselected).")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the checkbox.")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the checkbox value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if selected, False if unselected.")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-4"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-4"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Checkbox.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"checklist"},"Checklist ",Object(c.b)("a",{name:"h2o_wave.types.Checklist"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Checklist"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Choice",href:"#h2o_wave.types.Choice"},"Choice"),"],\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a set of checkboxes. Use this for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive.")),Object(c.b)("h4",{id:"static-methods-5"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-5"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Checklist.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Checklist__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Checklist",href:"#h2o_wave.types.Checklist"},"Checklist")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-5"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Checklist.choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The choices to be presented.")),Object(c.b)("div",{id:"h2o_wave.types.Checklist.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed above the component.")),Object(c.b)("div",{id:"h2o_wave.types.Checklist.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Checklist.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Checklist.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the checklist value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Checklist.values",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"values")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The names of the selected choices.")),Object(c.b)("div",{id:"h2o_wave.types.Checklist.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-5"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-5"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Checklist.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"choice"},"Choice ",Object(c.b)("a",{name:"h2o_wave.types.Choice"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Choice"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a choice for a checklist, choice group or dropdown.")),Object(c.b)("h4",{id:"static-methods-6"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-6"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Choice.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Choice__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Choice",href:"#h2o_wave.types.Choice"},"Choice")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-6"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Choice.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the checkbox is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Choice.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.Choice.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component."))),Object(c.b)("h4",{id:"methods-6"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-6"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Choice.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"choicegroup"},"ChoiceGroup ",Object(c.b)("a",{name:"h2o_wave.types.ChoiceGroup"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ChoiceGroup"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Choice",href:"#h2o_wave.types.Choice"},"Choice"),"],\xa0NoneType]\xa0=\xa0None, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a choice group. The choice group component, also known as radio buttons, let users select one option from two or more choices. Each option is represented by one choice group button; a user can select only one choice group in a button group."),Object(c.b)("p",null,"Choice groups emphasize all options equally, and that may draw more attention to the options than necessary. Consider using other components, unless the options deserve extra attention from the user. For example, if the default option is recommended for most users in most situations, use a dropdown instead."),Object(c.b)("p",null,'If there are only two mutually exclusive options, combine them into a single Checkbox or Toggle switch. For example, use a checkbox for "I agree" instead of choice group buttons for "I agree" and "I don\'t agree."')),Object(c.b)("h4",{id:"static-methods-7"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-7"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ChoiceGroup.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ChoiceGroup__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ChoiceGroup",href:"#h2o_wave.types.ChoiceGroup"},"ChoiceGroup")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-7"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The choices to be presented.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.required",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"required")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is required.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the selection changes.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of the selected choice.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-7"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-7"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ChoiceGroup.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"colorpicker"},"ColorPicker ",Object(c.b)("a",{name:"h2o_wave.types.ColorPicker"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ColorPicker"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a color picker."),Object(c.b)("p",null,"A date picker allows a user to pick a color value. If the 'choices' parameter is set, a swatch picker is displayed instead of the standard color picker.")),Object(c.b)("h4",{id:"static-methods-8"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-8"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ColorPicker.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ColorPicker__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ColorPicker",href:"#h2o_wave.types.ColorPicker"},"ColorPicker")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-8"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A list of colors (CSS-compatible strings) to limit color choices to.")),Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the color picker value changes.")),Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The selected color (CSS-compatible string).")),Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-8"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-8"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ColorPicker.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"combobox"},"Combobox ",Object(c.b)("a",{name:"h2o_wave.types.Combobox"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Combobox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, error:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a combobox."),Object(c.b)("p",null,"A combobox is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button or by typing in the input. They are used to simplify the design and make a choice within the UI."),Object(c.b)("p",null,"When closed, only the selected item is visible. When users click the drop-down button, all the options become visible. To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value. When collapsed the user can select a new value by typing.")),Object(c.b)("h4",{id:"static-methods-9"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-9"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Combobox.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Combobox__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Combobox",href:"#h2o_wave.types.Combobox"},"Combobox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-9"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Combobox.choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The choices to be presented.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.error",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"error")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed as an error below the text box.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.placeholder",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"placeholder")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of the selected choice.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-9"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-9"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Combobox.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"command"},"Command ",Object(c.b)("a",{name:"h2o_wave.types.Command"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Command"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, items:\xa0Union[List[ForwardRef('",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"')],\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a command."),Object(c.b)("p",null,"Commands are typically displayed as context menu items or toolbar button.")),Object(c.b)("h4",{id:"static-methods-10"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-10"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Command.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Command__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-10"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Command.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption for this command (typically a tooltip).")),Object(c.b)("div",{id:"h2o_wave.types.Command.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"DEPRECATED. Use ",Object(c.b)("code",null,"value")," instead. Data associated with this command, if any.")),Object(c.b)("div",{id:"h2o_wave.types.Command.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The icon to be displayed for this command.")),Object(c.b)("div",{id:"h2o_wave.types.Command.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Sub-commands, if any")),Object(c.b)("div",{id:"h2o_wave.types.Command.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed for this command.")),Object(c.b)("div",{id:"h2o_wave.types.Command.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component. If the name is prefixed with a '#', the command sets the location hash to the name when executed.")),Object(c.b)("div",{id:"h2o_wave.types.Command.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data associated with this command, if any."))),Object(c.b)("h4",{id:"methods-10"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-10"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Command.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"component"},"Component ",Object(c.b)("a",{name:"h2o_wave.types.Component"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Component"),"(text:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Text",href:"#h2o_wave.types.Text"},"Text"),",\xa0NoneType]\xa0=\xa0None, text_xl:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.TextXl",href:"#h2o_wave.types.TextXl"},"TextXl"),",\xa0NoneType]\xa0=\xa0None, text_l:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.TextL",href:"#h2o_wave.types.TextL"},"TextL"),",\xa0NoneType]\xa0=\xa0None, text_m:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.TextM",href:"#h2o_wave.types.TextM"},"TextM"),",\xa0NoneType]\xa0=\xa0None, text_s:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.TextS",href:"#h2o_wave.types.TextS"},"TextS"),",\xa0NoneType]\xa0=\xa0None, text_xs:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.TextXs",href:"#h2o_wave.types.TextXs"},"TextXs"),",\xa0NoneType]\xa0=\xa0None, label:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Label",href:"#h2o_wave.types.Label"},"Label"),",\xa0NoneType]\xa0=\xa0None, separator:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Separator",href:"#h2o_wave.types.Separator"},"Separator"),",\xa0NoneType]\xa0=\xa0None, progress:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Progress",href:"#h2o_wave.types.Progress"},"Progress"),",\xa0NoneType]\xa0=\xa0None, message_bar:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.MessageBar",href:"#h2o_wave.types.MessageBar"},"MessageBar"),",\xa0NoneType]\xa0=\xa0None, textbox:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Textbox",href:"#h2o_wave.types.Textbox"},"Textbox"),",\xa0NoneType]\xa0=\xa0None, checkbox:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Checkbox",href:"#h2o_wave.types.Checkbox"},"Checkbox"),",\xa0NoneType]\xa0=\xa0None, toggle:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Toggle",href:"#h2o_wave.types.Toggle"},"Toggle"),",\xa0NoneType]\xa0=\xa0None, choice_group:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.ChoiceGroup",href:"#h2o_wave.types.ChoiceGroup"},"ChoiceGroup"),",\xa0NoneType]\xa0=\xa0None, checklist:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Checklist",href:"#h2o_wave.types.Checklist"},"Checklist"),",\xa0NoneType]\xa0=\xa0None, dropdown:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Dropdown",href:"#h2o_wave.types.Dropdown"},"Dropdown"),",\xa0NoneType]\xa0=\xa0None, combobox:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Combobox",href:"#h2o_wave.types.Combobox"},"Combobox"),",\xa0NoneType]\xa0=\xa0None, slider:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Slider",href:"#h2o_wave.types.Slider"},"Slider"),",\xa0NoneType]\xa0=\xa0None, spinbox:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Spinbox",href:"#h2o_wave.types.Spinbox"},"Spinbox"),",\xa0NoneType]\xa0=\xa0None, date_picker:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.DatePicker",href:"#h2o_wave.types.DatePicker"},"DatePicker"),",\xa0NoneType]\xa0=\xa0None, color_picker:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.ColorPicker",href:"#h2o_wave.types.ColorPicker"},"ColorPicker"),",\xa0NoneType]\xa0=\xa0None, button:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Button",href:"#h2o_wave.types.Button"},"Button"),",\xa0NoneType]\xa0=\xa0None, buttons:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Buttons",href:"#h2o_wave.types.Buttons"},"Buttons"),",\xa0NoneType]\xa0=\xa0None, file_upload:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.FileUpload",href:"#h2o_wave.types.FileUpload"},"FileUpload"),",\xa0NoneType]\xa0=\xa0None, table:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Table",href:"#h2o_wave.types.Table"},"Table"),",\xa0NoneType]\xa0=\xa0None, link:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Link",href:"#h2o_wave.types.Link"},"Link"),",\xa0NoneType]\xa0=\xa0None, tabs:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Tabs",href:"#h2o_wave.types.Tabs"},"Tabs"),",\xa0NoneType]\xa0=\xa0None, expander:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Expander",href:"#h2o_wave.types.Expander"},"Expander"),",\xa0NoneType]\xa0=\xa0None, frame:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Frame",href:"#h2o_wave.types.Frame"},"Frame"),",\xa0NoneType]\xa0=\xa0None, markup:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Markup",href:"#h2o_wave.types.Markup"},"Markup"),",\xa0NoneType]\xa0=\xa0None, template:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Template",href:"#h2o_wave.types.Template"},"Template"),",\xa0NoneType]\xa0=\xa0None, picker:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Picker",href:"#h2o_wave.types.Picker"},"Picker"),",\xa0NoneType]\xa0=\xa0None, range_slider:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.RangeSlider",href:"#h2o_wave.types.RangeSlider"},"RangeSlider"),",\xa0NoneType]\xa0=\xa0None, stepper:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Stepper",href:"#h2o_wave.types.Stepper"},"Stepper"),",\xa0NoneType]\xa0=\xa0None, visualization:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Visualization",href:"#h2o_wave.types.Visualization"},"Visualization"),",\xa0NoneType]\xa0=\xa0None, vega_visualization:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.VegaVisualization",href:"#h2o_wave.types.VegaVisualization"},"VegaVisualization"),",\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a component.")),Object(c.b)("h4",{id:"static-methods-11"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-11"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Component.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Component__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Component",href:"#h2o_wave.types.Component"},"Component")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-11"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Component.button",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"button")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Button.")),Object(c.b)("div",{id:"h2o_wave.types.Component.buttons",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"buttons")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Button set.")),Object(c.b)("div",{id:"h2o_wave.types.Component.checkbox",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"checkbox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Checkbox.")),Object(c.b)("div",{id:"h2o_wave.types.Component.checklist",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"checklist")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Checklist.")),Object(c.b)("div",{id:"h2o_wave.types.Component.choice_group",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choice_group")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Choice group.")),Object(c.b)("div",{id:"h2o_wave.types.Component.color_picker",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"color_picker")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Color picker.")),Object(c.b)("div",{id:"h2o_wave.types.Component.combobox",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"combobox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Combobox.")),Object(c.b)("div",{id:"h2o_wave.types.Component.date_picker",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"date_picker")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Date picker.")),Object(c.b)("div",{id:"h2o_wave.types.Component.dropdown",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"dropdown")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Dropdown.")),Object(c.b)("div",{id:"h2o_wave.types.Component.expander",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"expander")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Expander.")),Object(c.b)("div",{id:"h2o_wave.types.Component.file_upload",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"file_upload")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"File upload.")),Object(c.b)("div",{id:"h2o_wave.types.Component.frame",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"frame")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Frame.")),Object(c.b)("div",{id:"h2o_wave.types.Component.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label.")),Object(c.b)("div",{id:"h2o_wave.types.Component.link",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"link")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Link.")),Object(c.b)("div",{id:"h2o_wave.types.Component.markup",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"markup")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Markup")),Object(c.b)("div",{id:"h2o_wave.types.Component.message_bar",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"message_bar")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Message bar.")),Object(c.b)("div",{id:"h2o_wave.types.Component.picker",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"picker")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Picker.")),Object(c.b)("div",{id:"h2o_wave.types.Component.progress",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Progress bar.")),Object(c.b)("div",{id:"h2o_wave.types.Component.range_slider",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"range_slider")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Range Slider.")),Object(c.b)("div",{id:"h2o_wave.types.Component.separator",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"separator")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Separator.")),Object(c.b)("div",{id:"h2o_wave.types.Component.slider",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"slider")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Slider.")),Object(c.b)("div",{id:"h2o_wave.types.Component.spinbox",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"spinbox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Spinbox.")),Object(c.b)("div",{id:"h2o_wave.types.Component.stepper",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stepper")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Stepper.")),Object(c.b)("div",{id:"h2o_wave.types.Component.table",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"table")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Table.")),Object(c.b)("div",{id:"h2o_wave.types.Component.tabs",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tabs")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tabs.")),Object(c.b)("div",{id:"h2o_wave.types.Component.template",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"template")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Template")),Object(c.b)("div",{id:"h2o_wave.types.Component.text",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text block.")),Object(c.b)("div",{id:"h2o_wave.types.Component.text_l",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text_l")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Large sized text block.")),Object(c.b)("div",{id:"h2o_wave.types.Component.text_m",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text_m")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Medium sized text block.")),Object(c.b)("div",{id:"h2o_wave.types.Component.text_s",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text_s")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Small sized text block.")),Object(c.b)("div",{id:"h2o_wave.types.Component.text_xl",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text_xl")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Extra-large sized text block.")),Object(c.b)("div",{id:"h2o_wave.types.Component.text_xs",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text_xs")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Extra-small sized text block.")),Object(c.b)("div",{id:"h2o_wave.types.Component.textbox",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"textbox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Textbox.")),Object(c.b)("div",{id:"h2o_wave.types.Component.toggle",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"toggle")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Toggle.")),Object(c.b)("div",{id:"h2o_wave.types.Component.vega_visualization",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"vega_visualization")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Vega-lite Visualization.")),Object(c.b)("div",{id:"h2o_wave.types.Component.visualization",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visualization")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Visualization."))),Object(c.b)("h4",{id:"methods-11"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-11"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Component.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"datepicker"},"DatePicker ",Object(c.b)("a",{name:"h2o_wave.types.DatePicker"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"DatePicker"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a date picker."),Object(c.b)("p",null,"A date picker allows a user to pick a date value.")),Object(c.b)("h4",{id:"static-methods-12"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-12"},"load ",Object(c.b)("a",{name:"h2o_wave.types.DatePicker.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_DatePicker__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.DatePicker",href:"#h2o_wave.types.DatePicker"},"DatePicker")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-12"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.DatePicker.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.placeholder",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"placeholder")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the datepicker value changes.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The date value in YYYY-MM-DD format.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-12"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-12"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.DatePicker.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"dialog"},"Dialog ",Object(c.b)("a",{name:"h2o_wave.types.Dialog"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Dialog"),"(title:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Component",href:"#h2o_wave.types.Component"},"Component"),"], width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, closable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, blocking:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, primary:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A dialog box (Dialog) is a temporary pop-up that takes focus from the page or app and requires people to interact with it. It\u2019s primarily used for confirming actions, such as deleting a file, or asking people to make a choice.")),Object(c.b)("h4",{id:"static-methods-13"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-13"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Dialog.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Dialog__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Dialog",href:"#h2o_wave.types.Dialog"},"Dialog")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-13"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Dialog.blocking",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"blocking")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True to disable all actions and commands behind the dialog. Blocking dialogs should be used very sparingly, only when it is critical that the user makes a choice or provides information before they can proceed. Blocking dialogs are generally used for irreversible or potentially destructive tasks. Defaults to false.")),Object(c.b)("div",{id:"h2o_wave.types.Dialog.closable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"closable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the dialog should have a closing 'X' button at the top right corner.")),Object(c.b)("div",{id:"h2o_wave.types.Dialog.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The components displayed in this dialog.")),Object(c.b)("div",{id:"h2o_wave.types.Dialog.primary",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"primary")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Dialog with large header banner, mutually exclusive with ",Object(c.b)("code",null,"closable")," prop. Defaults to false.")),Object(c.b)("div",{id:"h2o_wave.types.Dialog.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The dialog's title.")),Object(c.b)("div",{id:"h2o_wave.types.Dialog.width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The width of the dialog, e.g. '400px', defaults to '600px'."))),Object(c.b)("h4",{id:"methods-13"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-13"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Dialog.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"dropdown"},"Dropdown ",Object(c.b)("a",{name:"h2o_wave.types.Dropdown"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Dropdown"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Choice",href:"#h2o_wave.types.Choice"},"Choice"),"],\xa0NoneType]\xa0=\xa0None, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a dropdown."),Object(c.b)("p",null,"A dropdown is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button. They are used to simplify the design and make a choice within the UI. When closed, only the selected item is visible. When users click the drop-down button, all the options become visible."),Object(c.b)("p",null,"To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value."),Object(c.b)("p",null,"Note: Use either the 'value' parameter or the 'values' parameter. Setting the 'values' parameter renders a multi-select dropdown.")),Object(c.b)("h4",{id:"static-methods-14"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-14"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Dropdown.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Dropdown__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Dropdown",href:"#h2o_wave.types.Dropdown"},"Dropdown")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-14"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Dropdown.choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The choices to be presented.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.placeholder",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"placeholder")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.required",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"required")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this is a required field.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the dropdown value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of the selected choice.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.values",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"values")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The names of the selected choices. If this parameter is set, multiple selections will be allowed.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-14"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-14"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Dropdown.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"expander"},"Expander ",Object(c.b)("a",{name:"h2o_wave.types.Expander"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Expander"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, expanded:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, items:\xa0Union[List[ForwardRef('",Object(c.b)("a",{title:"h2o_wave.types.Component",href:"#h2o_wave.types.Component"},"Component"),"')],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates a new expander."),Object(c.b)("p",null,"Expanders can be used to show or hide a group of related components.")),Object(c.b)("h4",{id:"static-methods-15"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-15"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Expander.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Expander__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Expander",href:"#h2o_wave.types.Expander"},"Expander")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-15"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Expander.expanded",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"expanded")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if expanded, False if collapsed.")),Object(c.b)("div",{id:"h2o_wave.types.Expander.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"List of components to be hideable by the expander.")),Object(c.b)("div",{id:"h2o_wave.types.Expander.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the expander.")),Object(c.b)("div",{id:"h2o_wave.types.Expander.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Expander.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-15"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-15"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Expander.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"fileupload"},"FileUpload ",Object(c.b)("a",{name:"h2o_wave.types.FileUpload"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FileUpload"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, multiple:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, file_extensions:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, max_file_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a file upload component. A file upload component allows a user to browse, select and upload one or more files.")),Object(c.b)("h4",{id:"static-methods-16"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-16"},"load ",Object(c.b)("a",{name:"h2o_wave.types.FileUpload.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_FileUpload__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.FileUpload",href:"#h2o_wave.types.FileUpload"},"FileUpload")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-16"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FileUpload.file_extensions",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"file_extensions")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"List of allowed file extensions, e.g. ",Object(c.b)("code",null,"pdf"),", ",Object(c.b)("code",null,"docx"),", etc.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The height of the file upload, e.g. '400px', '50%', etc.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.max_file_size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_file_size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Maximum allowed size (Mb) per file. Defaults to no limit.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.max_size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Maximum allowed size (Mb) for all files combined. Defaults to no limit.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.multiple",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"multiple")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should allow multiple files to be uploaded.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-16"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-16"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.FileUpload.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"flexcard"},"FlexCard ",Object(c.b)("a",{name:"h2o_wave.types.FlexCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FlexCard"),"(box:\xa0str, item_view:\xa0str, item_props:\xa0Union[dict,\xa0str], data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], direction:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, align:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, wrap:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out using a one-dimensional model with flexible alignemnt and wrapping capabilities.")),Object(c.b)("h4",{id:"static-methods-17"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-17"},"load ",Object(c.b)("a",{name:"h2o_wave.types.FlexCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_FlexCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.FlexCard",href:"#h2o_wave.types.FlexCard"},"FlexCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-17"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FlexCard.align",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"align")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Layout strategy for cross axis. One of 'start', 'end', 'center', 'baseline', 'stretch'. See enum h2o_wave.ui.FlexCardAlign.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.direction",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"direction")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Layout direction. One of 'horizontal', 'vertical'. See enum h2o_wave.ui.FlexCardDirection.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.item_props",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"item_props")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The child card properties.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.item_view",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"item_view")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The child card type.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.justify",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"justify")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.FlexCardJustify.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.wrap",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"wrap")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.FlexCardWrap."))),Object(c.b)("h4",{id:"methods-17"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-17"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.FlexCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"flexcardalign"},"FlexCardAlign ",Object(c.b)("a",{name:"h2o_wave.types.FlexCardAlign"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FlexCardAlign")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-1"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FlexCardAlign.BASELINE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BASELINE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardAlign.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardAlign.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardAlign.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardAlign.STRETCH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STRETCH")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"flexcarddirection"},"FlexCardDirection ",Object(c.b)("a",{name:"h2o_wave.types.FlexCardDirection"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FlexCardDirection")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-2"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FlexCardDirection.HORIZONTAL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"HORIZONTAL")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardDirection.VERTICAL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"VERTICAL")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"flexcardjustify"},"FlexCardJustify ",Object(c.b)("a",{name:"h2o_wave.types.FlexCardJustify"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FlexCardJustify")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-3"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FlexCardJustify.AROUND",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AROUND")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardJustify.BETWEEN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BETWEEN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardJustify.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardJustify.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardJustify.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"flexcardwrap"},"FlexCardWrap ",Object(c.b)("a",{name:"h2o_wave.types.FlexCardWrap"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FlexCardWrap")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-4"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FlexCardWrap.AROUND",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AROUND")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardWrap.BETWEEN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BETWEEN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardWrap.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardWrap.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardWrap.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardWrap.STRETCH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STRETCH")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"formcard"},"FormCard ",Object(c.b)("a",{name:"h2o_wave.types.FormCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FormCard"),"(box:\xa0str, items:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Component",href:"#h2o_wave.types.Component"},"Component"),"],\xa0str], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a form.")),Object(c.b)("h4",{id:"static-methods-18"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-18"},"load ",Object(c.b)("a",{name:"h2o_wave.types.FormCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_FormCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.FormCard",href:"#h2o_wave.types.FormCard"},"FormCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-18"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FormCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.FormCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.FormCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The components in this form."))),Object(c.b)("h4",{id:"methods-18"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-18"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.FormCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"frame"},"Frame ",Object(c.b)("a",{name:"h2o_wave.types.Frame"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Frame"),"(path:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, content:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a new inline frame (an ",Object(c.b)("code",null,"iframe"),").")),Object(c.b)("h4",{id:"static-methods-19"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-19"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Frame.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Frame__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Frame",href:"#h2o_wave.types.Frame"},"Frame")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-19"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Frame.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The HTML content of the page. A string containing ",Object(c.b)("code",null,"..."),".")),Object(c.b)("div",{id:"h2o_wave.types.Frame.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The height of the frame, e.g. ",Object(c.b)("code",null,"200px"),", ",Object(c.b)("code",null,"50%"),", etc. Defaults to ",Object(c.b)("code",null,"150px"),".")),Object(c.b)("div",{id:"h2o_wave.types.Frame.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Frame.path",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"path")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The path or URL of the web page, e.g. ",Object(c.b)("code",null,"/foo.html")," or ",Object(c.b)("code",null,"http://example.com/foo.html"))),Object(c.b)("div",{id:"h2o_wave.types.Frame.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true.")),Object(c.b)("div",{id:"h2o_wave.types.Frame.width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The width of the frame, e.g. ",Object(c.b)("code",null,"200px"),", ",Object(c.b)("code",null,"50%"),", etc. Defaults to ",Object(c.b)("code",null,"100%"),"."))),Object(c.b)("h4",{id:"methods-19"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-19"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Frame.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"framecard"},"FrameCard ",Object(c.b)("a",{name:"h2o_wave.types.FrameCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FrameCard"),"(box:\xa0str, title:\xa0str, path:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, content:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render a card containing a HTML page inside an inline frame (an ",Object(c.b)("code",null,"iframe"),")."),Object(c.b)("p",null,"Either a path or content can be provided as arguments.")),Object(c.b)("h4",{id:"static-methods-20"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-20"},"load ",Object(c.b)("a",{name:"h2o_wave.types.FrameCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_FrameCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.FrameCard",href:"#h2o_wave.types.FrameCard"},"FrameCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-20"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FrameCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.FrameCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.FrameCard.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The HTML content of the page. A string containing ",Object(c.b)("code",null,"..."))),Object(c.b)("div",{id:"h2o_wave.types.FrameCard.path",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"path")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The path or URL of the web page, e.g. ",Object(c.b)("code",null,"/foo.html")," or ",Object(c.b)("code",null,"http://example.com/foo.html"))),Object(c.b)("div",{id:"h2o_wave.types.FrameCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-20"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-20"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.FrameCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"graphicscard"},"GraphicsCard ",Object(c.b)("a",{name:"h2o_wave.types.GraphicsCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"GraphicsCard"),"(box:\xa0str, view_box:\xa0str, stage:\xa0Union[List[dict],\xa0str,\xa0NoneType]\xa0=\xa0None, scene:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str,\xa0NoneType]\xa0=\xa0None, width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card for displaying vector graphics.")),Object(c.b)("h4",{id:"static-methods-21"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-21"},"load ",Object(c.b)("a",{name:"h2o_wave.types.GraphicsCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_GraphicsCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.GraphicsCard",href:"#h2o_wave.types.GraphicsCard"},"GraphicsCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-21"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The displayed height of the rectangular viewport. (Not the height of its coordinate system.)")),Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.scene",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"scene")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Foreground layer for rendering dynamic SVG elements.")),Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.stage",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stage")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Background layer for rendering static SVG elements. Must be packed to conserve memory.")),Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.view_box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"view_box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The position and dimension of the SVG viewport, in user space. A space-separated list of four numbers: min-x, min-y, width and height. For example, '0 0 400 300'. See: ",Object(c.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"))),Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The displayed width of the rectangular viewport. (Not the width of its coordinate system.)"))),Object(c.b)("h4",{id:"methods-21"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-21"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.GraphicsCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"gridcard"},"GridCard ",Object(c.b)("a",{name:"h2o_wave.types.GridCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"GridCard"),"(box:\xa0str, title:\xa0str, cells:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("h4",{id:"static-methods-22"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-22"},"load ",Object(c.b)("a",{name:"h2o_wave.types.GridCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_GridCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.GridCard",href:"#h2o_wave.types.GridCard"},"GridCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-22"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.GridCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.GridCard.cells",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"cells")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("div",{id:"h2o_wave.types.GridCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.GridCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("div",{id:"h2o_wave.types.GridCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE."))),Object(c.b)("h4",{id:"methods-22"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-22"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.GridCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"headercard"},"HeaderCard ",Object(c.b)("a",{name:"h2o_wave.types.HeaderCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"HeaderCard"),"(box:\xa0str, title:\xa0str, subtitle:\xa0str, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, nav:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.NavGroup",href:"#h2o_wave.types.NavGroup"},"NavGroup"),"],\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render a card containing a HTML page inside an inline frame (iframe)."),Object(c.b)("p",null,"Either a path or content can be provided as arguments.")),Object(c.b)("h4",{id:"static-methods-23"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-23"},"load ",Object(c.b)("a",{name:"h2o_wave.types.HeaderCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_HeaderCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.HeaderCard",href:"#h2o_wave.types.HeaderCard"},"HeaderCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-23"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The icon type, displayed to the left.")),Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.icon_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The icon's color.")),Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.nav",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"nav")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The navigation menu to display when the header's icon is clicked.")),Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.subtitle",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"subtitle")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The subtitle, displayed below the title.")),Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title."))),Object(c.b)("h4",{id:"methods-23"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-23"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.HeaderCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"icontablecelltype"},"IconTableCellType ",Object(c.b)("a",{name:"h2o_wave.types.IconTableCellType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"IconTableCellType"),"(color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a cell type that renders a column's cells as icons instead of plain text. If set on a column, the cell value is interpreted as the name of the icon to be displayed.")),Object(c.b)("h4",{id:"static-methods-24"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-24"},"load ",Object(c.b)("a",{name:"h2o_wave.types.IconTableCellType.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_IconTableCellType__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.IconTableCellType",href:"#h2o_wave.types.IconTableCellType"},"IconTableCellType")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-24"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.IconTableCellType.color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Icon color.")),Object(c.b)("div",{id:"h2o_wave.types.IconTableCellType.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component."))),Object(c.b)("h4",{id:"methods-24"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-24"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.IconTableCellType.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"imagecard"},"ImageCard ",Object(c.b)("a",{name:"h2o_wave.types.ImageCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ImageCard"),"(box:\xa0str, title:\xa0str, type:\xa0str, image:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card that displays a base64-encoded image.")),Object(c.b)("h4",{id:"static-methods-25"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-25"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ImageCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ImageCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ImageCard",href:"#h2o_wave.types.ImageCard"},"ImageCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-25"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ImageCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.ImageCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.ImageCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.ImageCard.image",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"image")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Image data, base64-encoded.")),Object(c.b)("div",{id:"h2o_wave.types.ImageCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.ImageCard.type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The image MIME subtype. One of ",Object(c.b)("code",null,"apng"),", ",Object(c.b)("code",null,"bmp"),", ",Object(c.b)("code",null,"gif"),", ",Object(c.b)("code",null,"x-icon"),", ",Object(c.b)("code",null,"jpeg"),", ",Object(c.b)("code",null,"png"),", ",Object(c.b)("code",null,"webp"),"."))),Object(c.b)("h4",{id:"methods-25"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-25"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ImageCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"label"},"Label ",Object(c.b)("a",{name:"h2o_wave.types.Label"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Label"),"(label:\xa0str, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a label."),Object(c.b)("p",null,"Labels give a name or title to a component or group of components. Labels should be in close proximity to the component or group they are paired with. Some components, such as textboxes, dropdowns, or toggles, already have labels incorporated, but other components may optionally add a Label if it helps inform the user of the component\u2019s purpose.")),Object(c.b)("h4",{id:"static-methods-26"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-26"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Label.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Label__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Label",href:"#h2o_wave.types.Label"},"Label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-26"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Label.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the label should be disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Label.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the label.")),Object(c.b)("div",{id:"h2o_wave.types.Label.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Label.required",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"required")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the field is required.")),Object(c.b)("div",{id:"h2o_wave.types.Label.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Label.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-26"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-26"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Label.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"largebarstatcard"},"LargeBarStatCard ",Object(c.b)("a",{name:"h2o_wave.types.LargeBarStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"LargeBarStatCard"),"(box:\xa0str, title:\xa0str, caption:\xa0str, value:\xa0str, aux_value:\xa0str, value_caption:\xa0str, aux_value_caption:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a large captioned card displaying a primary value, an auxiliary value and a progress bar, with captions for each value.")),Object(c.b)("h4",{id:"static-methods-27"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-27"},"load ",Object(c.b)("a",{name:"h2o_wave.types.LargeBarStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_LargeBarStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.LargeBarStatCard",href:"#h2o_wave.types.LargeBarStatCard"},"LargeBarStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-27"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value, typically a target value.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.aux_value_caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value_caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption displayed below the auxiliary value.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's caption.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The color of the progress bar.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.progress",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The value of the progress bar, between 0 and 1.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.value_caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value_caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption displayed below the primary value."))),Object(c.b)("h4",{id:"methods-27"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-27"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.LargeBarStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"largestatcard"},"LargeStatCard ",Object(c.b)("a",{name:"h2o_wave.types.LargeStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"LargeStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, caption:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a stat card displaying a primary value, an auxiliary value and a caption.")),Object(c.b)("h4",{id:"static-methods-28"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-28"},"load ",Object(c.b)("a",{name:"h2o_wave.types.LargeStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_LargeStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.LargeStatCard",href:"#h2o_wave.types.LargeStatCard"},"LargeStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-28"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value displayed next to the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption displayed below the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-28"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-28"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.LargeStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"layout"},"Layout ",Object(c.b)("a",{name:"h2o_wave.types.Layout"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Layout"),"(breakpoint:\xa0str, zones:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Zone",href:"#h2o_wave.types.Zone"},"Zone"),"], width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, max_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min_height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, max_height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Represents the layout structure for a page.")),Object(c.b)("h4",{id:"static-methods-29"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-29"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Layout.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Layout__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Layout",href:"#h2o_wave.types.Layout"},"Layout")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-29"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Layout.breakpoint",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"breakpoint")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum viewport width at which to use this layout. Values must be pixel widths (e.g. '0px', '576px', '768px') or a named preset. The named presets are: 'xs': '0px' for extra small devices (portrait phones), 's': '576px' for small devices (landscape phones), 'm': '768px' for medium devices (tablets), 'l': '992px' for large devices (desktops), 'xl': '1200px' for extra large devices (large desktops). A breakpoint value of 'xs' (or '0') matches all viewport widths, unless other breakpoints are set.")),Object(c.b)("div",{id:"h2o_wave.types.Layout.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The height of the layout. Defaults to ",Object(c.b)("code",null,"auto"),".")),Object(c.b)("div",{id:"h2o_wave.types.Layout.max_height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The maximum height of the layout.")),Object(c.b)("div",{id:"h2o_wave.types.Layout.max_width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The maximum width of the layout.")),Object(c.b)("div",{id:"h2o_wave.types.Layout.min_height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min_height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum height of the layout.")),Object(c.b)("div",{id:"h2o_wave.types.Layout.min_width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min_width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum width of the layout.")),Object(c.b)("div",{id:"h2o_wave.types.Layout.width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The width of the layout. Defaults to ",Object(c.b)("code",null,"100%"),".")),Object(c.b)("div",{id:"h2o_wave.types.Layout.zones",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"zones")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The zones in this layout. Each zones can in turn contain sub-zones."))),Object(c.b)("h4",{id:"methods-29"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-29"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Layout.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"link"},"Link ",Object(c.b)("a",{name:"h2o_wave.types.Link"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Link"),"(label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, path:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, download:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, button:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, target:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a hyperlink."),Object(c.b)("p",null,"Hyperlinks can be internal or external. Internal hyperlinks have paths that begin with a ",Object(c.b)("code",null,"/")," and point to URLs within the Wave UI. All other kinds of paths are treated as external hyperlinks.")),Object(c.b)("h4",{id:"static-methods-30"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-30"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Link.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Link__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Link",href:"#h2o_wave.types.Link"},"Link")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-30"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Link.button",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"button")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the link should be rendered as a button.")),Object(c.b)("div",{id:"h2o_wave.types.Link.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the link should be disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Link.download",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"download")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the link should be used for file download.")),Object(c.b)("div",{id:"h2o_wave.types.Link.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text to be displayed. If blank, the ",Object(c.b)("code",null,"path")," is used as the label.")),Object(c.b)("div",{id:"h2o_wave.types.Link.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Link.path",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"path")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The path or URL to link to.")),Object(c.b)("div",{id:"h2o_wave.types.Link.target",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"target")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Where to display the link. Setting this to an empty string or ",Object(c.b)("code",null,"'_blank'")," opens the link in a new tab or window.")),Object(c.b)("div",{id:"h2o_wave.types.Link.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Link.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-30"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-30"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Link.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"listcard"},"ListCard ",Object(c.b)("a",{name:"h2o_wave.types.ListCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ListCard"),"(box:\xa0str, title:\xa0str, item_view:\xa0str, item_props:\xa0Union[dict,\xa0str], data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out in the form of a list (vertically, top-to-bottom).")),Object(c.b)("h4",{id:"static-methods-31"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-31"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ListCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ListCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ListCard",href:"#h2o_wave.types.ListCard"},"ListCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-31"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ListCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.ListCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.ListCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.ListCard.item_props",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"item_props")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The child card properties.")),Object(c.b)("div",{id:"h2o_wave.types.ListCard.item_view",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"item_view")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The child card type.")),Object(c.b)("div",{id:"h2o_wave.types.ListCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-31"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-31"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ListCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"listitem1card"},"ListItem1Card ",Object(c.b)("a",{name:"h2o_wave.types.ListItem1Card"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ListItem1Card"),"(box:\xa0str, title:\xa0str, caption:\xa0str, value:\xa0str, aux_value:\xa0str, data:\xa0Union[dict,\xa0str], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("h4",{id:"static-methods-32"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-32"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ListItem1Card.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ListItem1Card__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ListItem1Card",href:"#h2o_wave.types.ListItem1Card"},"ListItem1Card")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-32"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE."))),Object(c.b)("h4",{id:"methods-32"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-32"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ListItem1Card.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"mark"},"Mark ",Object(c.b)("a",{name:"h2o_wave.types.Mark"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Mark"),"(coord:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, x:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, x0:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, x1:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, x2:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, x_min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, x_max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, x_nice:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, x_scale:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, x_title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, y:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, y0:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, y1:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, y2:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, y_min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, y_max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, y_nice:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, y_scale:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, y_title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, color_range:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, color_domain:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, shape:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, shape_range:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, size:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, size_range:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, stack:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, dodge:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, fill_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, fill_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, stroke_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, stroke_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, stroke_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, stroke_dash:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_offset:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_offset_x:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_offset_y:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_rotation:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_position:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_overlap:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_fill_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_fill_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_stroke_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_stroke_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_stroke_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_font_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_font_weight:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_line_height:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_align:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, ref_stroke_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, ref_stroke_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, ref_stroke_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, ref_stroke_dash:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a specification for a layer of graphical marks such as bars, lines, points for a plot. A plot can contain multiple such layers of marks.")),Object(c.b)("h4",{id:"static-methods-33"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-33"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Mark.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Mark__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Mark",href:"#h2o_wave.types.Mark"},"Mark")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-33"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Mark.color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark color field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.color_domain",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"color_domain")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The unique values in the data (labels or categories or classes) to map colors to, e.g. ",Object(c.b)("code",null,"['high', 'medium', 'low']"),". If this is not provided, the unique values are automatically inferred from the ",Object(c.b)("code",null,"color")," attribute.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.color_range",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"color_range")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark color range for multi-series plots. A string containing space-separated colors, e.g. ",Object(c.b)("code",null,"'#fee8c8 #fdbb84 #e34a33'"))),Object(c.b)("div",{id:"h2o_wave.types.Mark.coord",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"coord")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Coordinate system. ",Object(c.b)("code",null,"rect")," is synonymous to ",Object(c.b)("code",null,"cartesian"),". ",Object(c.b)("code",null,"theta")," is transposed ",Object(c.b)("code",null,"polar"),". One of 'rect', 'cartesian', 'polar', 'theta', 'helix'. See enum h2o_wave.ui.MarkCoord.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.curve",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"curve")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Curve type for ",Object(c.b)("code",null,"line")," and ",Object(c.b)("code",null,"area")," mark types. One of 'none', 'smooth', 'step-before', 'step', 'step-after'. See enum h2o_wave.ui.MarkCurve.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.dodge",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"dodge")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Field to dodge marks by, or 'auto' to infer.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.fill_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"fill_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark fill color.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.fill_opacity",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"fill_opacity")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark fill opacity.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_align",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_align")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label text alignment. One of 'left', 'right', 'center', 'start', 'end'. See enum h2o_wave.ui.MarkLabelAlign.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_fill_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_fill_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label fill color.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_fill_opacity",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_fill_opacity")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label fill opacity.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_font_size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_font_size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label font size.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_font_weight",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_font_weight")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label font weight.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_line_height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_line_height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label line height.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_offset",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_offset")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Distance between label and mark.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_offset_x",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_offset_x")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Horizontal distance between label and mark.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_offset_y",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_offset_y")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Vertical distance between label and mark.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_overlap",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_overlap")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Strategy to use if labels overlap. One of 'hide', 'overlap', 'constrain'. See enum h2o_wave.ui.MarkLabelOverlap.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_position",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_position")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label position relative to the mark. One of 'top', 'bottom', 'middle', 'left', 'right'. See enum h2o_wave.ui.MarkLabelPosition.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_rotation",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_rotation")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label rotation angle, in degrees, or 'none' to disable automatic rotation. The default behavior is 'auto' for automatic rotation.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_stroke_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_stroke_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label stroke color.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_stroke_opacity",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_stroke_opacity")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label stroke opacity.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_stroke_size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_stroke_size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label stroke size (line width or pen thickness).")),Object(c.b)("div",{id:"h2o_wave.types.Mark.ref_stroke_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"ref_stroke_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Reference line stroke color.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.ref_stroke_dash",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"ref_stroke_dash")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Reference line stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].")),Object(c.b)("div",{id:"h2o_wave.types.Mark.ref_stroke_opacity",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"ref_stroke_opacity")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Reference line stroke opacity.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.ref_stroke_size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"ref_stroke_size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Reference line stroke size (line width or pen thickness).")),Object(c.b)("div",{id:"h2o_wave.types.Mark.shape",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"shape")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark shape field or value for ",Object(c.b)("code",null,"point")," mark types. Possible values are 'circle', 'square', 'bowtie', 'diamond', 'hexagon', 'triangle', 'triangle-down', 'cross', 'tick', 'plus', 'hyphen', 'line'.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.shape_range",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"shape_range")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark shape range for multi-series plots using ",Object(c.b)("code",null,"point")," mark types. A string containing space-separated shapes, e.g. ",Object(c.b)("code",null,"'circle square diamond'"))),Object(c.b)("div",{id:"h2o_wave.types.Mark.size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark size field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.size_range",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"size_range")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark size range. A string containing space-separated integers, e.g. ",Object(c.b)("code",null,"'4 30'"))),Object(c.b)("div",{id:"h2o_wave.types.Mark.stack",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stack")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Field to stack marks by, or 'auto' to infer.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.stroke_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stroke_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark stroke color.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.stroke_dash",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stroke_dash")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].")),Object(c.b)("div",{id:"h2o_wave.types.Mark.stroke_opacity",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stroke_opacity")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark stroke opacity.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.stroke_size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stroke_size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark stroke size.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Graphical geometry. One of 'interval', 'line', 'path', 'point', 'area', 'polygon', 'schema', 'edge', 'heatmap'. See enum h2o_wave.ui.MarkType.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x0",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x0")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X base field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x1",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x1")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X bin lower bound field or value. For histograms.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x2",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x2")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X bin upper bound field or value. For histograms.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x_max",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x_max")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X axis scale maximum.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x_min",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x_min")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X axis scale minimum.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x_nice",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x_nice")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Whether to nice X axis scale ticks.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x_scale",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x_scale")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkXScale.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x_title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x_title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X axis title.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y0",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y0")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y base field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y1",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y1")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y bin lower bound field or value. For histograms.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y2",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y2")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y bin upper bound field or value. For histograms.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y_max",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y_max")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y axis scale maximum.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y_min",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y_min")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y axis scale minimum.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y_nice",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y_nice")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Whether to nice Y axis scale ticks.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y_scale",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y_scale")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkYScale.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y_title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y_title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y axis title."))),Object(c.b)("h4",{id:"methods-33"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-33"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Mark.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markcoord"},"MarkCoord ",Object(c.b)("a",{name:"h2o_wave.types.MarkCoord"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkCoord")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-5"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkCoord.CARTESIAN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CARTESIAN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCoord.HELIX",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"HELIX")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCoord.POLAR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POLAR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCoord.RECT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"RECT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCoord.THETA",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"THETA")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markcurve"},"MarkCurve ",Object(c.b)("a",{name:"h2o_wave.types.MarkCurve"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkCurve")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-6"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkCurve.NONE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"NONE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCurve.SMOOTH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"SMOOTH")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCurve.STEP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCurve.STEP_AFTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_AFTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCurve.STEP_BEFORE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_BEFORE")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"marklabelalign"},"MarkLabelAlign ",Object(c.b)("a",{name:"h2o_wave.types.MarkLabelAlign"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkLabelAlign")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-7"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkLabelAlign.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelAlign.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelAlign.LEFT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LEFT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelAlign.RIGHT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"RIGHT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelAlign.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"marklabeloverlap"},"MarkLabelOverlap ",Object(c.b)("a",{name:"h2o_wave.types.MarkLabelOverlap"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkLabelOverlap")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-8"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkLabelOverlap.CONSTRAIN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CONSTRAIN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelOverlap.HIDE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"HIDE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelOverlap.OVERLAP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"OVERLAP")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"marklabelposition"},"MarkLabelPosition ",Object(c.b)("a",{name:"h2o_wave.types.MarkLabelPosition"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkLabelPosition")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-9"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkLabelPosition.BOTTOM",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BOTTOM")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelPosition.LEFT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LEFT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelPosition.MIDDLE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"MIDDLE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelPosition.RIGHT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"RIGHT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelPosition.TOP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"TOP")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"marktype"},"MarkType ",Object(c.b)("a",{name:"h2o_wave.types.MarkType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkType")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-10"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkType.AREA",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AREA")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.EDGE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"EDGE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.HEATMAP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"HEATMAP")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.INTERVAL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"INTERVAL")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.LINE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LINE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.PATH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"PATH")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.POINT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POINT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.POLYGON",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POLYGON")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.SCHEMA",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"SCHEMA")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markxscale"},"MarkXScale ",Object(c.b)("a",{name:"h2o_wave.types.MarkXScale"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkXScale")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-11"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.CAT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CAT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.CATEGORY",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CATEGORY")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.IDENTITY",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"IDENTITY")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.LINEAR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LINEAR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.LOG",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LOG")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.POW",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POW")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.POWER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POWER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.QUANTILE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"QUANTILE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.QUANTIZE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"QUANTIZE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.TIME",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"TIME")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.TIME_CATEGORY",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"TIME_CATEGORY")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markyscale"},"MarkYScale ",Object(c.b)("a",{name:"h2o_wave.types.MarkYScale"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkYScale")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-12"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.CAT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CAT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.CATEGORY",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CATEGORY")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.IDENTITY",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"IDENTITY")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.LINEAR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LINEAR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.LOG",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LOG")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.POW",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POW")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.POWER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POWER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.QUANTILE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"QUANTILE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.QUANTIZE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"QUANTIZE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.TIME",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"TIME")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.TIME_CATEGORY",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"TIME_CATEGORY")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markdowncard"},"MarkdownCard ",Object(c.b)("a",{name:"h2o_wave.types.MarkdownCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkdownCard"),"(box:\xa0str, title:\xa0str, content:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card that renders Markdown content."),Object(c.b)("p",null,"Github-flavored markdown is supported. HTML markup is allowed in markdown content. URLs, if found, are displayed as hyperlinks. Copyright, reserved, trademark, quotes, etc. are replaced with language-neutral symbols.")),Object(c.b)("h4",{id:"static-methods-34"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-34"},"load ",Object(c.b)("a",{name:"h2o_wave.types.MarkdownCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_MarkdownCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.MarkdownCard",href:"#h2o_wave.types.MarkdownCard"},"MarkdownCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-34"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkdownCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.MarkdownCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.MarkdownCard.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The markdown content. Supports Github Flavored Markdown (GFM): ",Object(c.b)("a",{href:"https://guides.github.com/features/mastering-markdown/"},"https://guides.github.com/features/mastering-markdown/"))),Object(c.b)("div",{id:"h2o_wave.types.MarkdownCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Additional data for the card.")),Object(c.b)("div",{id:"h2o_wave.types.MarkdownCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-34"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-34"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.MarkdownCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markup"},"Markup ",Object(c.b)("a",{name:"h2o_wave.types.Markup"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Markup"),"(content:\xa0str, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render HTML content.")),Object(c.b)("h4",{id:"static-methods-35"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-35"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Markup.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Markup__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Markup",href:"#h2o_wave.types.Markup"},"Markup")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-35"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Markup.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The HTML content.")),Object(c.b)("div",{id:"h2o_wave.types.Markup.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Markup.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-35"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-35"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Markup.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markupcard"},"MarkupCard ",Object(c.b)("a",{name:"h2o_wave.types.MarkupCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkupCard"),"(box:\xa0str, title:\xa0str, content:\xa0str, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render HTML content.")),Object(c.b)("h4",{id:"static-methods-36"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-36"},"load ",Object(c.b)("a",{name:"h2o_wave.types.MarkupCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_MarkupCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.MarkupCard",href:"#h2o_wave.types.MarkupCard"},"MarkupCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-36"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkupCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.MarkupCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.MarkupCard.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The HTML content.")),Object(c.b)("div",{id:"h2o_wave.types.MarkupCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-36"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-36"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.MarkupCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"messagebar"},"MessageBar ",Object(c.b)("a",{name:"h2o_wave.types.MessageBar"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MessageBar"),"(type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, text:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a message bar."),Object(c.b)("p",null,"A message bar is an area at the top of a primary view that displays relevant status information. You can use a message bar to tell the user about a situation that does not require their immediate attention and therefore does not need to block other activities.")),Object(c.b)("h4",{id:"static-methods-37"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-37"},"load ",Object(c.b)("a",{name:"h2o_wave.types.MessageBar.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_MessageBar__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.MessageBar",href:"#h2o_wave.types.MessageBar"},"MessageBar")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-37"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MessageBar.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.MessageBar.text",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the message bar.")),Object(c.b)("div",{id:"h2o_wave.types.MessageBar.type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The icon and color of the message bar. One of 'info', 'error', 'warning', 'success', 'danger', 'blocked'. See enum h2o_wave.ui.MessageBarType.")),Object(c.b)("div",{id:"h2o_wave.types.MessageBar.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-37"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-37"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.MessageBar.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"messagebartype"},"MessageBarType ",Object(c.b)("a",{name:"h2o_wave.types.MessageBarType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MessageBarType")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-13"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MessageBarType.BLOCKED",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BLOCKED")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MessageBarType.DANGER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"DANGER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MessageBarType.ERROR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"ERROR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MessageBarType.INFO",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"INFO")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MessageBarType.SUCCESS",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"SUCCESS")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MessageBarType.WARNING",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"WARNING")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"metacard"},"MetaCard ",Object(c.b)("a",{name:"h2o_wave.types.MetaCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MetaCard"),"(box:\xa0str, title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, refresh:\xa0Union[int,\xa0NoneType]\xa0=\xa0None, notification:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, redirect:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, layouts:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Layout",href:"#h2o_wave.types.Layout"},"Layout"),"],\xa0NoneType]\xa0=\xa0None, dialog:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Dialog",href:"#h2o_wave.types.Dialog"},"Dialog"),",\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Represents page-global state."),Object(c.b)("p",null,"This card is invisible. It is used to control attributes of the active page.")),Object(c.b)("h4",{id:"static-methods-38"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-38"},"load ",Object(c.b)("a",{name:"h2o_wave.types.MetaCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_MetaCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.MetaCard",href:"#h2o_wave.types.MetaCard"},"MetaCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-38"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MetaCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.dialog",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"dialog")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Display a dialog on the page.")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Shortcut icon path. Preferably a ",Object(c.b)("code",null,".png")," file (",Object(c.b)("code",null,".ico")," files may not work in mobile browsers).")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.layouts",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"layouts")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The layouts supported by this page.")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.notification",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"notification")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Display a desktop notification.")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.redirect",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"redirect")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Redirect the page to a new URL.")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.refresh",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"refresh")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Refresh rate in seconds. A value of 0 turns off live-updates. Values != 0 are currently ignored (reserved for future use).")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title of the page."))),Object(c.b)("h4",{id:"methods-38"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-38"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.MetaCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"navcard"},"NavCard ",Object(c.b)("a",{name:"h2o_wave.types.NavCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"NavCard"),"(box:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.NavGroup",href:"#h2o_wave.types.NavGroup"},"NavGroup"),"], value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card containing a navigation pane.")),Object(c.b)("h4",{id:"static-methods-39"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-39"},"load ",Object(c.b)("a",{name:"h2o_wave.types.NavCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_NavCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.NavCard",href:"#h2o_wave.types.NavCard"},"NavCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-39"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.NavCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.NavCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.NavCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The navigation groups contained in this pane.")),Object(c.b)("div",{id:"h2o_wave.types.NavCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of the active (highlighted) navigation item."))),Object(c.b)("h4",{id:"methods-39"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-39"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.NavCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"navgroup"},"NavGroup ",Object(c.b)("a",{name:"h2o_wave.types.NavGroup"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"NavGroup"),"(label:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.NavItem",href:"#h2o_wave.types.NavItem"},"NavItem"),"], collapsed:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a group of navigation items.")),Object(c.b)("h4",{id:"static-methods-40"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-40"},"load ",Object(c.b)("a",{name:"h2o_wave.types.NavGroup.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_NavGroup__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.NavGroup",href:"#h2o_wave.types.NavGroup"},"NavGroup")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-40"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.NavGroup.collapsed",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"collapsed")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether nav groups should be rendered as collapsed initially")),Object(c.b)("div",{id:"h2o_wave.types.NavGroup.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The navigation items contained in this group.")),Object(c.b)("div",{id:"h2o_wave.types.NavGroup.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The label to display for this group."))),Object(c.b)("h4",{id:"methods-40"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-40"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.NavGroup.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"navitem"},"NavItem ",Object(c.b)("a",{name:"h2o_wave.types.NavItem"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"NavItem"),"(name:\xa0str, label:\xa0str, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a navigation item.")),Object(c.b)("h4",{id:"static-methods-41"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-41"},"load ",Object(c.b)("a",{name:"h2o_wave.types.NavItem.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_NavItem__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.NavItem",href:"#h2o_wave.types.NavItem"},"NavItem")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-41"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.NavItem.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional icon to display next to the label.")),Object(c.b)("div",{id:"h2o_wave.types.NavItem.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The label to display.")),Object(c.b)("div",{id:"h2o_wave.types.NavItem.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of this item. Prefix the name with a '#' to trigger hash-change navigation."))),Object(c.b)("h4",{id:"methods-41"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-41"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.NavItem.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"picker"},"Picker ",Object(c.b)("a",{name:"h2o_wave.types.Picker"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Picker"),"(name:\xa0str, choices:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Choice",href:"#h2o_wave.types.Choice"},"Choice"),"], label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, max_choices:\xa0Union[int,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a picker. Pickers are used to select one or more choices, such as tags or files, from a list. Use a picker to allow the user to quickly search for or manage a few tags or files.")),Object(c.b)("h4",{id:"static-methods-42"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-42"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Picker.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Picker__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Picker",href:"#h2o_wave.types.Picker"},"Picker")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-42"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Picker.choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The choices to be presented.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Controls whether the picker should be disabled or not.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed above the component.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.max_choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Maximum number of selectable choices. Defaults to no limit.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the picker value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.values",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"values")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The names of the selected choices.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-42"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-42"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Picker.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"pixelartcard"},"PixelArtCard ",Object(c.b)("a",{name:"h2o_wave.types.PixelArtCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"PixelArtCard"),"(box:\xa0str, title:\xa0str, data:\xa0Union[dict,\xa0str], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card displaying a collaborative Pixel art tool, just for kicks.")),Object(c.b)("h4",{id:"static-methods-43"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-43"},"load ",Object(c.b)("a",{name:"h2o_wave.types.PixelArtCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_PixelArtCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.PixelArtCard",href:"#h2o_wave.types.PixelArtCard"},"PixelArtCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-43"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.PixelArtCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.PixelArtCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.PixelArtCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.PixelArtCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-43"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-43"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.PixelArtCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"plot"},"Plot ",Object(c.b)("a",{name:"h2o_wave.types.Plot"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Plot"),"(marks:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Mark",href:"#h2o_wave.types.Mark"},"Mark"),"])"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a plot. A plot is composed of one or more graphical mark layers.")),Object(c.b)("h4",{id:"static-methods-44"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-44"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Plot.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Plot__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Plot",href:"#h2o_wave.types.Plot"},"Plot")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-44"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Plot.marks",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"marks")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The graphical mark layers contained in this plot."))),Object(c.b)("h4",{id:"methods-44"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-44"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Plot.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"plotcard"},"PlotCard ",Object(c.b)("a",{name:"h2o_wave.types.PlotCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"PlotCard"),"(box:\xa0str, title:\xa0str, data:\xa0Union[dict,\xa0str], plot:\xa0",Object(c.b)("a",{title:"h2o_wave.types.Plot",href:"#h2o_wave.types.Plot"},"Plot"),", events:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card displaying a plot.")),Object(c.b)("h4",{id:"static-methods-45"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-45"},"load ",Object(c.b)("a",{name:"h2o_wave.types.PlotCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_PlotCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.PlotCard",href:"#h2o_wave.types.PlotCard"},"PlotCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-45"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.PlotCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.PlotCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.PlotCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.PlotCard.events",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"events")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The events to capture on this card.")),Object(c.b)("div",{id:"h2o_wave.types.PlotCard.plot",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot to be displayed in this card.")),Object(c.b)("div",{id:"h2o_wave.types.PlotCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-45"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-45"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.PlotCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"progress"},"Progress ",Object(c.b)("a",{name:"h2o_wave.types.Progress"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Progress"),"(label:\xa0str, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a progress bar."),Object(c.b)("p",null,"Progress bars are used to show the completion status of an operation lasting more than 2 seconds. If the state of progress cannot be determined, do not set a value. Progress bars feature a bar showing total units to completion, and total units finished. The label appears above the bar, and the caption appears below. The label should tell someone exactly what the operation is doing."),Object(c.b)("p",null,"Examples of formatting include: [Object] is being [operation name], or [Object] is being [operation name] to [destination name] or [Object] is being [operation name] from [source name] to [destination name]"),Object(c.b)("p",null,"Status text is generally in units elapsed and total units. Real-world examples include copying files to a storage location, saving edits to a file, and more. Use units that are informative and relevant to give the best idea to users of how long the operation will take to complete. Avoid time units as they are rarely accurate enough to be trustworthy. Also, combine steps of a complex operation into one total bar to avoid \u201crewinding\u201d the bar. Instead change the label to reflect the change if necessary. Bars moving backwards reduce confidence in the service.")),Object(c.b)("h4",{id:"static-methods-46"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-46"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Progress.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Progress__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Progress",href:"#h2o_wave.types.Progress"},"Progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-46"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Progress.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed below the bar.")),Object(c.b)("div",{id:"h2o_wave.types.Progress.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed above the bar.")),Object(c.b)("div",{id:"h2o_wave.types.Progress.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Progress.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Progress.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The progress, between 0.0 and 1.0, or -1 (default) if indeterminate.")),Object(c.b)("div",{id:"h2o_wave.types.Progress.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-46"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-46"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Progress.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"progresstablecelltype"},"ProgressTableCellType ",Object(c.b)("a",{name:"h2o_wave.types.ProgressTableCellType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ProgressTableCellType"),"(color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a cell type that renders a column's cells as progress bars instead of plain text. If set on a column, the cell value must be between 0.0 and 1.0.")),Object(c.b)("h4",{id:"static-methods-47"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-47"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ProgressTableCellType.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ProgressTableCellType__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ProgressTableCellType",href:"#h2o_wave.types.ProgressTableCellType"},"ProgressTableCellType")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-47"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ProgressTableCellType.color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Color of the progress arc.")),Object(c.b)("div",{id:"h2o_wave.types.ProgressTableCellType.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component."))),Object(c.b)("h4",{id:"methods-47"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-47"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ProgressTableCellType.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"rangeslider"},"RangeSlider ",Object(c.b)("a",{name:"h2o_wave.types.RangeSlider"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"RangeSlider"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, step:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, min_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a range slider."),Object(c.b)("p",null,"A range slider is an element used to select a value range. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. Knobs or levers are dragged to one end or the other to make the choice, indicating the current max and min value.")),Object(c.b)("h4",{id:"static-methods-48"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-48"},"load ",Object(c.b)("a",{name:"h2o_wave.types.RangeSlider.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_RangeSlider__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.RangeSlider",href:"#h2o_wave.types.RangeSlider"},"RangeSlider")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-48"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.max",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The maximum value of the slider. Defaults to 100.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.max_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The upper bound of the selected range.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.min",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum value of the slider. Defaults to 0.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.min_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The lower bound of the selected range.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.step",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"step")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The difference between two adjacent values of the slider.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the slider value changes.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-48"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-48"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.RangeSlider.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"repeatcard"},"RepeatCard ",Object(c.b)("a",{name:"h2o_wave.types.RepeatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"RepeatCard"),"(box:\xa0str, item_view:\xa0str, item_props:\xa0Union[dict,\xa0str], data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE. Create a card containing other cards.")),Object(c.b)("h4",{id:"static-methods-49"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-49"},"load ",Object(c.b)("a",{name:"h2o_wave.types.RepeatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_RepeatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.RepeatCard",href:"#h2o_wave.types.RepeatCard"},"RepeatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-49"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.RepeatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.RepeatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.RepeatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.RepeatCard.item_props",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"item_props")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The child card properties.")),Object(c.b)("div",{id:"h2o_wave.types.RepeatCard.item_view",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"item_view")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE."))),Object(c.b)("h4",{id:"methods-49"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-49"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.RepeatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"separator"},"Separator ",Object(c.b)("a",{name:"h2o_wave.types.Separator"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Separator"),"(label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a separator."),Object(c.b)("p",null,"A separator visually separates content into groups.")),Object(c.b)("h4",{id:"static-methods-50"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-50"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Separator.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Separator__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Separator",href:"#h2o_wave.types.Separator"},"Separator")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-50"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Separator.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the separator.")),Object(c.b)("div",{id:"h2o_wave.types.Separator.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Separator.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-50"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-50"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Separator.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"slider"},"Slider ",Object(c.b)("a",{name:"h2o_wave.types.Slider"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Slider"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, step:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a slider."),Object(c.b)("p",null,"A slider is an element used to set a value. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. A knob or lever is dragged to one end or the other to make the choice, indicating the current value. Marks on the slider bar can show values and users can choose where they want to drag the knob or lever to set the value."),Object(c.b)("p",null,"A slider is a good choice when you know that users think of the value as a relative quantity, not a numeric value. For example, users think about setting their audio volume to low or medium \u2014 not about setting the value to two or five."),Object(c.b)("p",null,"The default value of the slider will be zero or be constrained to the min and max values. The min will be returned if the value is set under the min and the max will be returned if set higher than the max value.")),Object(c.b)("h4",{id:"static-methods-51"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-51"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Slider.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Slider__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Slider",href:"#h2o_wave.types.Slider"},"Slider")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-51"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Slider.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.max",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The maximum value of the slider.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.min",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum value of the slider.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.step",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"step")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The difference between two adjacent values of the slider.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the slider value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The current value of the slider.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-51"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-51"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Slider.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"smallseriesstatcard"},"SmallSeriesStatCard ",Object(c.b)("a",{name:"h2o_wave.types.SmallSeriesStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"SmallSeriesStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, plot_data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], plot_value:\xa0str, plot_zero_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, plot_category:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a small stat card displaying a primary value and a series plot.")),Object(c.b)("h4",{id:"static-methods-52"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-52"},"load ",Object(c.b)("a",{name:"h2o_wave.types.SmallSeriesStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_SmallSeriesStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.SmallSeriesStatCard",href:"#h2o_wave.types.SmallSeriesStatCard"},"SmallSeriesStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-52"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_category",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_category")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data field to use for x-axis values (ignored if ",Object(c.b)("code",null,"plot_type")," is ",Object(c.b)("code",null,"area"),"; must be provided if ",Object(c.b)("code",null,"plot_type")," is ",Object(c.b)("code",null,"interval"),"). Defaults to 'x'.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's color.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_curve",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_curve")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's curve style. Defaults to ",Object(c.b)("code",null,"linear"),". One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.SmallSeriesStatCardPlotCurve.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's data.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The type of plot. Defaults to ",Object(c.b)("code",null,"area"),". One of 'area', 'interval'. See enum h2o_wave.ui.SmallSeriesStatCardPlotType.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data field to use for y-axis values.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_zero_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_zero_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The base value to use for each y-axis mark. Set this to ",Object(c.b)("code",null,"0")," if you want to pin the x-axis at ",Object(c.b)("code",null,"y=0"),". If not provided, the minimum value from the data is used.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-52"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-52"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.SmallSeriesStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"smallseriesstatcardplotcurve"},"SmallSeriesStatCardPlotCurve ",Object(c.b)("a",{name:"h2o_wave.types.SmallSeriesStatCardPlotCurve"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"SmallSeriesStatCardPlotCurve")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-14"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotCurve.LINEAR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LINEAR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotCurve.SMOOTH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"SMOOTH")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotCurve.STEP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotCurve.STEP_AFTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_AFTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotCurve.STEP_BEFORE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_BEFORE")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"smallseriesstatcardplottype"},"SmallSeriesStatCardPlotType ",Object(c.b)("a",{name:"h2o_wave.types.SmallSeriesStatCardPlotType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"SmallSeriesStatCardPlotType")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-15"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotType.AREA",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AREA")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotType.INTERVAL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"INTERVAL")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"smallstatcard"},"SmallStatCard ",Object(c.b)("a",{name:"h2o_wave.types.SmallStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"SmallStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a stat card displaying a single value.")),Object(c.b)("h4",{id:"static-methods-53"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-53"},"load ",Object(c.b)("a",{name:"h2o_wave.types.SmallStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_SmallStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.SmallStatCard",href:"#h2o_wave.types.SmallStatCard"},"SmallStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-53"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.SmallStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.SmallStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.SmallStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.SmallStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.SmallStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-53"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-53"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.SmallStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"spinbox"},"Spinbox ",Object(c.b)("a",{name:"h2o_wave.types.Spinbox"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Spinbox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, step:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a spinbox."),Object(c.b)("p",null,"A spinbox allows the user to incrementally adjust a value in small steps. It is mainly used for numeric values, but other values are supported too.")),Object(c.b)("h4",{id:"static-methods-54"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-54"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Spinbox.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Spinbox__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Spinbox",href:"#h2o_wave.types.Spinbox"},"Spinbox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-54"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Spinbox.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.max",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The maximum value of the spinbox.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.min",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum value of the spinbox.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.step",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"step")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The difference between two adjacent values of the spinbox.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The current value of the spinbox.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-54"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-54"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Spinbox.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"step"},"Step ",Object(c.b)("a",{name:"h2o_wave.types.Step"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Step"),"(label:\xa0str, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, done:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a step for a stepper.")),Object(c.b)("h4",{id:"static-methods-55"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-55"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Step.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Step__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Step",href:"#h2o_wave.types.Step"},"Step")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-55"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Step.done",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"done")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether this step has already been completed.")),Object(c.b)("div",{id:"h2o_wave.types.Step.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Icon to be displayed.")),Object(c.b)("div",{id:"h2o_wave.types.Step.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text displayed below icon."))),Object(c.b)("h4",{id:"methods-55"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-55"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Step.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"stepper"},"Stepper ",Object(c.b)("a",{name:"h2o_wave.types.Stepper"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Stepper"),"(name:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Step",href:"#h2o_wave.types.Step"},"Step"),"], visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a component that displays a sequence of steps in a process. The steps keep users informed about where they are in the process and how much is left to complete.")),Object(c.b)("h4",{id:"static-methods-56"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-56"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Stepper.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Stepper__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Stepper",href:"#h2o_wave.types.Stepper"},"Stepper")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-56"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Stepper.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The sequence of steps to be displayed.")),Object(c.b)("div",{id:"h2o_wave.types.Stepper.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Stepper.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Stepper.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-56"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-56"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Stepper.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tab"},"Tab ",Object(c.b)("a",{name:"h2o_wave.types.Tab"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Tab"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a tab.")),Object(c.b)("h4",{id:"static-methods-57"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-57"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Tab.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Tab__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Tab",href:"#h2o_wave.types.Tab"},"Tab")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-57"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Tab.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The icon displayed on the tab.")),Object(c.b)("div",{id:"h2o_wave.types.Tab.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the tab.")),Object(c.b)("div",{id:"h2o_wave.types.Tab.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component."))),Object(c.b)("h4",{id:"methods-57"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-57"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Tab.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tabcard"},"TabCard ",Object(c.b)("a",{name:"h2o_wave.types.TabCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TabCard"),"(box:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Tab",href:"#h2o_wave.types.Tab"},"Tab"),"], value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card containing tabs for navigation.")),Object(c.b)("h4",{id:"static-methods-58"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-58"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TabCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TabCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TabCard",href:"#h2o_wave.types.TabCard"},"TabCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-58"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TabCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.TabCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TabCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Items to render.")),Object(c.b)("div",{id:"h2o_wave.types.TabCard.link",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"link")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if tabs should be rendered as links and not a standard tab.")),Object(c.b)("div",{id:"h2o_wave.types.TabCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of the tab to select."))),Object(c.b)("h4",{id:"methods-58"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-58"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TabCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"table"},"Table ",Object(c.b)("a",{name:"h2o_wave.types.Table"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Table"),"(name:\xa0str, columns:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.TableColumn",href:"#h2o_wave.types.TableColumn"},"TableColumn"),"], rows:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.TableRow",href:"#h2o_wave.types.TableRow"},"TableRow"),"], multiple:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, groupable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, downloadable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, resettable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create an interactive table."),Object(c.b)("p",null,"This table differs from a markdown table in that it supports clicking or selecting rows. If you simply want to display a non-interactive table of information, use a markdown table."),Object(c.b)("p",null,"If ",Object(c.b)("code",null,"multiple")," is set to False (default), each row in the table is clickable. When a row is clicked, the form is submitted automatically, and ",Object(c.b)("code",null,"q.args.table_name")," is set to ",Object(c.b)("code",null,"[row_name]"),", where ",Object(c.b)("code",null,"table_name")," is the ",Object(c.b)("code",null,"name")," of the table, and ",Object(c.b)("code",null,"row_name")," is the ",Object(c.b)("code",null,"name")," of the row that was clicked on."),Object(c.b)("p",null,"If ",Object(c.b)("code",null,"multiple")," is set to True, each row in the table is selectable. A row can be selected by clicking on it. Multiple rows can be selected either by shift+clicking or using marquee selection. When the form is submitted,",Object(c.b)("code",null,"q.args.table_name")," is set to ",Object(c.b)("code",null,"[row1_name, row2_name, \u2026]")," where ",Object(c.b)("code",null,"table_name")," is the ",Object(c.b)("code",null,"name")," of the table, and ",Object(c.b)("code",null,"row1_name"),", ",Object(c.b)("code",null,"row2_name")," are the ",Object(c.b)("code",null,"name")," of the rows that were selected. Note that if ",Object(c.b)("code",null,"multiple")," is set to True, the form is not submitted automatically, and one or more buttons are required in the form to trigger submission.")),Object(c.b)("h4",{id:"static-methods-59"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-59"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Table.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Table__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Table",href:"#h2o_wave.types.Table"},"Table")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-59"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Table.columns",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"columns")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The columns in this table.")),Object(c.b)("div",{id:"h2o_wave.types.Table.downloadable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"downloadable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether the contents of this table can be downloaded and saved as a CSV file. Defaults to False.")),Object(c.b)("div",{id:"h2o_wave.types.Table.groupable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"groupable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True to allow group by feature.")),Object(c.b)("div",{id:"h2o_wave.types.Table.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The height of the table, e.g. '400px', '50%', etc.")),Object(c.b)("div",{id:"h2o_wave.types.Table.multiple",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"multiple")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True to allow multiple rows to be selected.")),Object(c.b)("div",{id:"h2o_wave.types.Table.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Table.resettable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"resettable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether a Reset button should be displayed to reset search / filter / group-by values to their defaults. Defaults to False.")),Object(c.b)("div",{id:"h2o_wave.types.Table.rows",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"rows")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The rows in this table.")),Object(c.b)("div",{id:"h2o_wave.types.Table.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Table.values",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"values")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The names of the selected rows. If this parameter is set, multiple selections will be allowed (",Object(c.b)("code",null,"multiple")," is assumed to be ",Object(c.b)("code",null,"True"),").")),Object(c.b)("div",{id:"h2o_wave.types.Table.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-59"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-59"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Table.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tablecelltype"},"TableCellType ",Object(c.b)("a",{name:"h2o_wave.types.TableCellType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TableCellType"),"(progress:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.ProgressTableCellType",href:"#h2o_wave.types.ProgressTableCellType"},"ProgressTableCellType"),",\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.IconTableCellType",href:"#h2o_wave.types.IconTableCellType"},"IconTableCellType"),",\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Defines cell content to be rendered instead of a simple text.")),Object(c.b)("h4",{id:"static-methods-60"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-60"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TableCellType.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TableCellType__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TableCellType",href:"#h2o_wave.types.TableCellType"},"TableCellType")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-60"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TableCellType.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"No documentation available.")),Object(c.b)("div",{id:"h2o_wave.types.TableCellType.progress",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"No documentation available."))),Object(c.b)("h4",{id:"methods-60"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-60"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TableCellType.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tablecolumn"},"TableColumn ",Object(c.b)("a",{name:"h2o_wave.types.TableColumn"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TableColumn"),"(name:\xa0str, label:\xa0str, min_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, max_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, sortable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, searchable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, filterable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, data_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, cell_type:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.TableCellType",href:"#h2o_wave.types.TableCellType"},"TableCellType"),",\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a table column.")),Object(c.b)("h4",{id:"static-methods-61"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-61"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TableColumn.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TableColumn__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TableColumn",href:"#h2o_wave.types.TableColumn"},"TableColumn")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-61"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TableColumn.cell_type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"cell_type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Defines how to render each cell in this column. Defaults to plain text.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.data_type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data_type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Defines the data type of this column. Defaults to ",Object(c.b)("code",null,"string"),". One of 'string', 'number', 'time'. See enum h2o_wave.ui.TableColumnDataType.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.filterable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"filterable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether the contents of this column are displayed as filters in a dropdown.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the column header.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.link",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"link")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether each cell in this column should be displayed as a clickable link.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.max_width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The maximum width of this column, e.g. '100px'. Only ",Object(c.b)("code",null,"px")," units are supported at this time.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.min_width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min_width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum width of this column, e.g. '50px'. Only ",Object(c.b)("code",null,"px")," units are supported at this time.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this column.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.searchable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"searchable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether the contents of this column can be searched through. Enables a search box for the table if true.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.sortable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"sortable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether the column is sortable."))),Object(c.b)("h4",{id:"methods-61"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-61"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TableColumn.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tablecolumndatatype"},"TableColumnDataType ",Object(c.b)("a",{name:"h2o_wave.types.TableColumnDataType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TableColumnDataType")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-16"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TableColumnDataType.NUMBER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"NUMBER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TableColumnDataType.STRING",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STRING")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TableColumnDataType.TIME",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"TIME")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tablerow"},"TableRow ",Object(c.b)("a",{name:"h2o_wave.types.TableRow"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TableRow"),"(name:\xa0str, cells:\xa0List[str])"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a table row.")),Object(c.b)("h4",{id:"static-methods-62"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-62"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TableRow.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TableRow__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TableRow",href:"#h2o_wave.types.TableRow"},"TableRow")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-62"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TableRow.cells",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"cells")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The cells in this row (displayed left to right).")),Object(c.b)("div",{id:"h2o_wave.types.TableRow.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this row."))),Object(c.b)("h4",{id:"methods-62"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-62"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TableRow.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tabs"},"Tabs ",Object(c.b)("a",{name:"h2o_wave.types.Tabs"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Tabs"),"(name:\xa0str, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, items:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Tab",href:"#h2o_wave.types.Tab"},"Tab"),"],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a tab bar.")),Object(c.b)("h4",{id:"static-methods-63"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-63"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Tabs.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Tabs__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Tabs",href:"#h2o_wave.types.Tabs"},"Tabs")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-63"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Tabs.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The tabs in this tab bar.")),Object(c.b)("div",{id:"h2o_wave.types.Tabs.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Tabs.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of the tab to select.")),Object(c.b)("div",{id:"h2o_wave.types.Tabs.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-63"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-63"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Tabs.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tallgaugestatcard"},"TallGaugeStatCard ",Object(c.b)("a",{name:"h2o_wave.types.TallGaugeStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TallGaugeStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a tall stat card displaying a primary value, an auxiliary value and a progress gauge.")),Object(c.b)("h4",{id:"static-methods-64"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-64"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TallGaugeStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TallGaugeStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TallGaugeStatCard",href:"#h2o_wave.types.TallGaugeStatCard"},"TallGaugeStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-64"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value displayed next to the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The color of the progress gauge.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.progress",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The value of the progress gauge, between 0 and 1.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-64"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-64"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TallGaugeStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tallseriesstatcard"},"TallSeriesStatCard ",Object(c.b)("a",{name:"h2o_wave.types.TallSeriesStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TallSeriesStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, plot_data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], plot_value:\xa0str, plot_zero_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, plot_category:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a tall stat card displaying a primary value, an auxiliary value and a series plot.")),Object(c.b)("h4",{id:"static-methods-65"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-65"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TallSeriesStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TallSeriesStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TallSeriesStatCard",href:"#h2o_wave.types.TallSeriesStatCard"},"TallSeriesStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-65"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value displayed below the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_category",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_category")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data field to use for x-axis values (ignored if ",Object(c.b)("code",null,"plot_type")," is ",Object(c.b)("code",null,"area"),"; must be provided if ",Object(c.b)("code",null,"plot_type")," is ",Object(c.b)("code",null,"interval"),"). Defaults to 'x'.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's color.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_curve",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_curve")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's curve style. Defaults to ",Object(c.b)("code",null,"linear"),". One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.TallSeriesStatCardPlotCurve.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's data.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The type of plot. Defaults to ",Object(c.b)("code",null,"area"),". One of 'area', 'interval'. See enum h2o_wave.ui.TallSeriesStatCardPlotType.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data field to use for y-axis values.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_zero_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_zero_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The base value to use for each y-axis mark. Set this to ",Object(c.b)("code",null,"0")," if you want to pin the x-axis at ",Object(c.b)("code",null,"y=0"),". If not provided, the minimum value from the data is used.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-65"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-65"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TallSeriesStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tallseriesstatcardplotcurve"},"TallSeriesStatCardPlotCurve ",Object(c.b)("a",{name:"h2o_wave.types.TallSeriesStatCardPlotCurve"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TallSeriesStatCardPlotCurve")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-17"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotCurve.LINEAR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LINEAR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotCurve.SMOOTH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"SMOOTH")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotCurve.STEP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotCurve.STEP_AFTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_AFTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotCurve.STEP_BEFORE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_BEFORE")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tallseriesstatcardplottype"},"TallSeriesStatCardPlotType ",Object(c.b)("a",{name:"h2o_wave.types.TallSeriesStatCardPlotType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TallSeriesStatCardPlotType")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-18"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotType.AREA",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AREA")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotType.INTERVAL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"INTERVAL")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"template"},"Template ",Object(c.b)("a",{name:"h2o_wave.types.Template"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Template"),"(content:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render dynamic content using an HTML template.")),Object(c.b)("h4",{id:"static-methods-66"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-66"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Template.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Template__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Template",href:"#h2o_wave.types.Template"},"Template")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-66"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Template.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The Handlebars template. ",Object(c.b)("a",{href:"https://handlebarsjs.com/guide/"},"https://handlebarsjs.com/guide/"))),Object(c.b)("div",{id:"h2o_wave.types.Template.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for the Handlebars template")),Object(c.b)("div",{id:"h2o_wave.types.Template.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Template.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-66"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-66"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Template.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"templatecard"},"TemplateCard ",Object(c.b)("a",{name:"h2o_wave.types.TemplateCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TemplateCard"),"(box:\xa0str, title:\xa0str, content:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render dynamic content using an HTML template.")),Object(c.b)("h4",{id:"static-methods-67"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-67"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TemplateCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TemplateCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TemplateCard",href:"#h2o_wave.types.TemplateCard"},"TemplateCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-67"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TemplateCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.TemplateCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TemplateCard.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The Handlebars template. ",Object(c.b)("a",{href:"https://handlebarsjs.com/guide/"},"https://handlebarsjs.com/guide/"))),Object(c.b)("div",{id:"h2o_wave.types.TemplateCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for the Handlebars template.")),Object(c.b)("div",{id:"h2o_wave.types.TemplateCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-67"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-67"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TemplateCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"text"},"Text ",Object(c.b)("a",{name:"h2o_wave.types.Text"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Text"),"(content:\xa0str, size:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create text content.")),Object(c.b)("h4",{id:"static-methods-68"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-68"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Text.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Text__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Text",href:"#h2o_wave.types.Text"},"Text")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-68"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Text.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text content.")),Object(c.b)("div",{id:"h2o_wave.types.Text.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Text.size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The font size of the text content. One of 'xl', 'l', 'm', 's', 'xs'. See enum h2o_wave.ui.TextSize.")),Object(c.b)("div",{id:"h2o_wave.types.Text.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tooltip message.")),Object(c.b)("div",{id:"h2o_wave.types.Text.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-68"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-68"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Text.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"textl"},"TextL ",Object(c.b)("a",{name:"h2o_wave.types.TextL"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TextL"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create large sized text content.")),Object(c.b)("h4",{id:"static-methods-69"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-69"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TextL.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TextL__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TextL",href:"#h2o_wave.types.TextL"},"TextL")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-69"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TextL.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextL.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text content.")),Object(c.b)("div",{id:"h2o_wave.types.TextL.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextL.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tooltip message.")),Object(c.b)("div",{id:"h2o_wave.types.TextL.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-69"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-69"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TextL.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"textm"},"TextM ",Object(c.b)("a",{name:"h2o_wave.types.TextM"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TextM"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create medium sized text content.")),Object(c.b)("h4",{id:"static-methods-70"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-70"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TextM.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TextM__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TextM",href:"#h2o_wave.types.TextM"},"TextM")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-70"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TextM.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text content.")),Object(c.b)("div",{id:"h2o_wave.types.TextM.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextM.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tooltip message.")),Object(c.b)("div",{id:"h2o_wave.types.TextM.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-70"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-70"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TextM.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"texts"},"TextS ",Object(c.b)("a",{name:"h2o_wave.types.TextS"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TextS"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create small sized text content.")),Object(c.b)("h4",{id:"static-methods-71"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-71"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TextS.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TextS__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TextS",href:"#h2o_wave.types.TextS"},"TextS")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-71"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TextS.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text content.")),Object(c.b)("div",{id:"h2o_wave.types.TextS.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextS.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tooltip message.")),Object(c.b)("div",{id:"h2o_wave.types.TextS.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-71"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-71"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TextS.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"textsize"},"TextSize ",Object(c.b)("a",{name:"h2o_wave.types.TextSize"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TextSize")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-19"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TextSize.L",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"L")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TextSize.M",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"M")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TextSize.S",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"S")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TextSize.XL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"XL")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TextSize.XS",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"XS")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"textxl"},"TextXl ",Object(c.b)("a",{name:"h2o_wave.types.TextXl"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TextXl"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create extra-large sized text content.")),Object(c.b)("h4",{id:"static-methods-72"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-72"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TextXl.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TextXl__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TextXl",href:"#h2o_wave.types.TextXl"},"TextXl")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-72"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TextXl.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextXl.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text content.")),Object(c.b)("div",{id:"h2o_wave.types.TextXl.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextXl.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tooltip message.")),Object(c.b)("div",{id:"h2o_wave.types.TextXl.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-72"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-72"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TextXl.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"textxs"},"TextXs ",Object(c.b)("a",{name:"h2o_wave.types.TextXs"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TextXs"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create extra-small sized text content.")),Object(c.b)("h4",{id:"static-methods-73"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-73"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TextXs.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TextXs__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TextXs",href:"#h2o_wave.types.TextXs"},"TextXs")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-73"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TextXs.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text content.")),Object(c.b)("div",{id:"h2o_wave.types.TextXs.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextXs.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tooltip message.")),Object(c.b)("div",{id:"h2o_wave.types.TextXs.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-73"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-73"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TextXs.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"textbox"},"Textbox ",Object(c.b)("a",{name:"h2o_wave.types.Textbox"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Textbox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, mask:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, prefix:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, suffix:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, error:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, readonly:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, multiline:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, password:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a text box."),Object(c.b)("p",null,"The text box component enables a user to type text into an app. It's typically used to capture a single line of text, but can be configured to capture multiple lines of text. The text displays on the screen in a simple, uniform format.")),Object(c.b)("h4",{id:"static-methods-74"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-74"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Textbox.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Textbox__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Textbox",href:"#h2o_wave.types.Textbox"},"Textbox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-74"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Textbox.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the text box is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.error",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"error")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed as an error below the text box.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The height of the text box, e.g. '100px'. Applicable only if ",Object(c.b)("code",null,"multiline")," is true.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Icon displayed in the far right end of the text field.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed above the field.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.mask",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"mask")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The masking string that defines the mask's behavior. A backslash will escape any character. Special format characters are: '9': [0-9] 'a': [a-zA-Z] '*': [a-zA-Z0-9].")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.multiline",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"multiline")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the text box should allow multi-line text entry.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.password",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"password")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the text box should hide text content.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.placeholder",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"placeholder")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field. It should be a word or short phrase that demonstrates the expected type of data, rather than an explanatory message.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.prefix",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"prefix")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed before the text box contents.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.readonly",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"readonly")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the text box is a read-only field.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.required",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"required")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the text box is a required field.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.suffix",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"suffix")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed after the text box contents.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the text value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed inside the text box.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-74"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-74"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Textbox.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"toggle"},"Toggle ",Object(c.b)("a",{name:"h2o_wave.types.Toggle"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Toggle"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a toggle. Toggles represent a physical switch that allows users to turn things on or off. Use toggles to present users with two mutually exclusive options (like on/off), where choosing an option results in an immediate action."),Object(c.b)("p",null,"Use a toggle for binary operations that take effect right after the user flips the Toggle. For example, use a Toggle to turn services or hardware components on or off. In other words, if a physical switch would work for the action, a Toggle is probably the best component to use.")),Object(c.b)("h4",{id:"static-methods-75"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-75"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Toggle.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Toggle__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Toggle",href:"#h2o_wave.types.Toggle"},"Toggle")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-75"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Toggle.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the checkbox is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Toggle.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.Toggle.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Toggle.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Toggle.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the toggle value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Toggle.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if selected, False if unselected.")),Object(c.b)("div",{id:"h2o_wave.types.Toggle.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-75"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-75"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Toggle.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"toolbarcard"},"ToolbarCard ",Object(c.b)("a",{name:"h2o_wave.types.ToolbarCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ToolbarCard"),"(box:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"], secondary_items:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, overflow_items:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card containing a toolbar.")),Object(c.b)("h4",{id:"static-methods-76"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-76"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ToolbarCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ToolbarCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ToolbarCard",href:"#h2o_wave.types.ToolbarCard"},"ToolbarCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-76"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ToolbarCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.ToolbarCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.ToolbarCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Items to render.")),Object(c.b)("div",{id:"h2o_wave.types.ToolbarCard.overflow_items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"overflow_items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Items to render in an overflow menu.")),Object(c.b)("div",{id:"h2o_wave.types.ToolbarCard.secondary_items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"secondary_items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Items to render on the right side (or left, in RTL)."))),Object(c.b)("h4",{id:"methods-76"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-76"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ToolbarCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"vegacard"},"VegaCard ",Object(c.b)("a",{name:"h2o_wave.types.VegaCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"VegaCard"),"(box:\xa0str, title:\xa0str, specification:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card containing a Vega-lite plot.")),Object(c.b)("h4",{id:"static-methods-77"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-77"},"load ",Object(c.b)("a",{name:"h2o_wave.types.VegaCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_VegaCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.VegaCard",href:"#h2o_wave.types.VegaCard"},"VegaCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-77"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.VegaCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.VegaCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.VegaCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for the plot, if any.")),Object(c.b)("div",{id:"h2o_wave.types.VegaCard.specification",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"specification")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The Vega-lite specification.")),Object(c.b)("div",{id:"h2o_wave.types.VegaCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title of this card."))),Object(c.b)("h4",{id:"methods-77"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-77"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.VegaCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"vegavisualization"},"VegaVisualization ",Object(c.b)("a",{name:"h2o_wave.types.VegaVisualization"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"VegaVisualization"),"(specification:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a Vega-lite plot for display inside a form.")),Object(c.b)("h4",{id:"static-methods-78"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-78"},"load ",Object(c.b)("a",{name:"h2o_wave.types.VegaVisualization.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_VegaVisualization__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.VegaVisualization",href:"#h2o_wave.types.VegaVisualization"},"VegaVisualization")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-78"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.VegaVisualization.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for the plot, if any.")),Object(c.b)("div",{id:"h2o_wave.types.VegaVisualization.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The height of the visualization. Defaults to 300px.")),Object(c.b)("div",{id:"h2o_wave.types.VegaVisualization.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.VegaVisualization.specification",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"specification")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The Vega-lite specification.")),Object(c.b)("div",{id:"h2o_wave.types.VegaVisualization.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true.")),Object(c.b)("div",{id:"h2o_wave.types.VegaVisualization.width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The width of the visualization. Defaults to 100%."))),Object(c.b)("h4",{id:"methods-78"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-78"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.VegaVisualization.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"visualization"},"Visualization ",Object(c.b)("a",{name:"h2o_wave.types.Visualization"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Visualization"),"(plot:\xa0",Object(c.b)("a",{title:"h2o_wave.types.Plot",href:"#h2o_wave.types.Plot"},"Plot"),", data:\xa0Union[dict,\xa0str], width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, events:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a visualization for display inside a form.")),Object(c.b)("h4",{id:"static-methods-79"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-79"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Visualization.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Visualization__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Visualization",href:"#h2o_wave.types.Visualization"},"Visualization")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-79"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Visualization.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this visualization.")),Object(c.b)("div",{id:"h2o_wave.types.Visualization.events",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"events")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The events to capture on this visualization.")),Object(c.b)("div",{id:"h2o_wave.types.Visualization.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The hight of the visualization. Defaults to 300px.")),Object(c.b)("div",{id:"h2o_wave.types.Visualization.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Visualization.plot",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot to be rendered in this visualization.")),Object(c.b)("div",{id:"h2o_wave.types.Visualization.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true.")),Object(c.b)("div",{id:"h2o_wave.types.Visualization.width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The width of the visualization. Defaults to 100%."))),Object(c.b)("h4",{id:"methods-79"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-79"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Visualization.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"widebarstatcard"},"WideBarStatCard ",Object(c.b)("a",{name:"h2o_wave.types.WideBarStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"WideBarStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a wide stat card displaying a primary value, an auxiliary value and a progress bar.")),Object(c.b)("h4",{id:"static-methods-80"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-80"},"load ",Object(c.b)("a",{name:"h2o_wave.types.WideBarStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_WideBarStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.WideBarStatCard",href:"#h2o_wave.types.WideBarStatCard"},"WideBarStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-80"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value displayed next to the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The color of the progress bar.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.progress",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The value of the progress bar, between 0 and 1.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-80"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-80"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.WideBarStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"widegaugestatcard"},"WideGaugeStatCard ",Object(c.b)("a",{name:"h2o_wave.types.WideGaugeStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"WideGaugeStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a wide stat card displaying a primary value, an auxiliary value and a progress gauge.")),Object(c.b)("h4",{id:"static-methods-81"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-81"},"load ",Object(c.b)("a",{name:"h2o_wave.types.WideGaugeStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_WideGaugeStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.WideGaugeStatCard",href:"#h2o_wave.types.WideGaugeStatCard"},"WideGaugeStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-81"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value displayed next to the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The color of the progress gauge.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.progress",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The value of the progress gauge, between 0 and 1.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-81"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-81"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.WideGaugeStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"wideseriesstatcard"},"WideSeriesStatCard ",Object(c.b)("a",{name:"h2o_wave.types.WideSeriesStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"WideSeriesStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, plot_data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], plot_value:\xa0str, plot_zero_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, plot_category:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a wide stat card displaying a primary value, an auxiliary value and a series plot.")),Object(c.b)("h4",{id:"static-methods-82"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-82"},"load ",Object(c.b)("a",{name:"h2o_wave.types.WideSeriesStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_WideSeriesStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.WideSeriesStatCard",href:"#h2o_wave.types.WideSeriesStatCard"},"WideSeriesStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-82"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value displayed below the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_category",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_category")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data field to use for x-axis values (ignored if ",Object(c.b)("code",null,"plot_type")," is ",Object(c.b)("code",null,"area"),"; must be provided if ",Object(c.b)("code",null,"plot_type")," is ",Object(c.b)("code",null,"interval"),"). Defaults to 'x'.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's color.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_curve",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_curve")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's curve style. Defaults to ",Object(c.b)("code",null,"linear"),". One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.WideSeriesStatCardPlotCurve.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's data.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The type of plot. Defaults to ",Object(c.b)("code",null,"area"),". One of 'area', 'interval'. See enum h2o_wave.ui.WideSeriesStatCardPlotType.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data field to use for y-axis values.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_zero_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_zero_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The base value to use for each y-axis mark. Set this to ",Object(c.b)("code",null,"0")," if you want to pin the x-axis at ",Object(c.b)("code",null,"y=0"),". If not provided, the minimum value from the data is used.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-82"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-82"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.WideSeriesStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"wideseriesstatcardplotcurve"},"WideSeriesStatCardPlotCurve ",Object(c.b)("a",{name:"h2o_wave.types.WideSeriesStatCardPlotCurve"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"WideSeriesStatCardPlotCurve")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-20"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotCurve.LINEAR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LINEAR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotCurve.SMOOTH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"SMOOTH")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotCurve.STEP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotCurve.STEP_AFTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_AFTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotCurve.STEP_BEFORE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_BEFORE")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"wideseriesstatcardplottype"},"WideSeriesStatCardPlotType ",Object(c.b)("a",{name:"h2o_wave.types.WideSeriesStatCardPlotType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"WideSeriesStatCardPlotType")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-21"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotType.AREA",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AREA")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotType.INTERVAL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"INTERVAL")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"zone"},"Zone ",Object(c.b)("a",{name:"h2o_wave.types.Zone"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Zone"),"(name:\xa0str, size:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, direction:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, align:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, wrap:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, zones:\xa0Union[List[ForwardRef('",Object(c.b)("a",{title:"h2o_wave.types.Zone",href:"#h2o_wave.types.Zone"},"Zone"),"')],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Represents an zone within a page layout.")),Object(c.b)("h4",{id:"static-methods-83"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-83"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Zone.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Zone__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Zone",href:"#h2o_wave.types.Zone"},"Zone")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-83"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Zone.align",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"align")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Layout strategy for cross axis. One of 'start', 'end', 'center', 'stretch'. See enum h2o_wave.ui.ZoneAlign.")),Object(c.b)("div",{id:"h2o_wave.types.Zone.direction",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"direction")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Layout direction. One of 'row', 'column'. See enum h2o_wave.ui.ZoneDirection.")),Object(c.b)("div",{id:"h2o_wave.types.Zone.justify",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"justify")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ZoneJustify.")),Object(c.b)("div",{id:"h2o_wave.types.Zone.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this zone.")),Object(c.b)("div",{id:"h2o_wave.types.Zone.size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The size of this zone.")),Object(c.b)("div",{id:"h2o_wave.types.Zone.wrap",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"wrap")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.ZoneWrap.")),Object(c.b)("div",{id:"h2o_wave.types.Zone.zones",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"zones")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The sub-zones contained inside this zone."))),Object(c.b)("h4",{id:"methods-83"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-83"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Zone.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"zonealign"},"ZoneAlign ",Object(c.b)("a",{name:"h2o_wave.types.ZoneAlign"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ZoneAlign")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-22"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ZoneAlign.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneAlign.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneAlign.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneAlign.STRETCH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STRETCH")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"zonedirection"},"ZoneDirection ",Object(c.b)("a",{name:"h2o_wave.types.ZoneDirection"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ZoneDirection")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-23"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ZoneDirection.COLUMN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"COLUMN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneDirection.ROW",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"ROW")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"zonejustify"},"ZoneJustify ",Object(c.b)("a",{name:"h2o_wave.types.ZoneJustify"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ZoneJustify")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-24"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ZoneJustify.AROUND",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AROUND")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneJustify.BETWEEN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BETWEEN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneJustify.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneJustify.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneJustify.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"zonewrap"},"ZoneWrap ",Object(c.b)("a",{name:"h2o_wave.types.ZoneWrap"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ZoneWrap")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-25"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ZoneWrap.AROUND",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AROUND")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneWrap.BETWEEN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BETWEEN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneWrap.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneWrap.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneWrap.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneWrap.STRETCH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STRETCH")),Object(c.b)("div",{className:"api__description"})))))}o.isMDXComponent=!0},300:function(e,a,t){"use strict";t.d(a,"a",(function(){return p})),t.d(a,"b",(function(){return v}));var s=t(0),i=t.n(s);function c(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function b(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);a&&(s=s.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,s)}return t}function n(e){for(var a=1;a=0||(i[t]=e[t]);return i}(e,a);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(s=0;s=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=i.a.createContext({}),o=function(e){var a=i.a.useContext(l),t=a;return e&&(t="function"==typeof e?e(a):n(n({},a),e)),t},p=function(e){var a=o(e.components);return i.a.createElement(l.Provider,{value:a},e.children)},r={inlineCode:"code",wrapper:function(e){var a=e.children;return i.a.createElement(i.a.Fragment,{},a)}},_=i.a.forwardRef((function(e,a){var t=e.components,s=e.mdxType,c=e.originalType,b=e.parentName,l=d(e,["components","mdxType","originalType","parentName"]),p=o(t),_=s,v=p["".concat(b,".").concat(_)]||p[_]||r[_]||c;return t?i.a.createElement(v,n(n({ref:a},l),{},{components:t})):i.a.createElement(v,n({ref:a},l))}));function v(e,a){var t=arguments,s=a&&a.mdxType;if("string"==typeof e||s){var c=t.length,b=new Array(c);b[0]=_;var n={};for(var d in a)hasOwnProperty.call(a,d)&&(n[d]=a[d]);n.originalType=e,n.mdxType="string"==typeof e?e:s,b[1]=n;for(var l=2;l',id:"breadcrumb",children:[]},{value:'BreadcrumbsCard ',id:"breadcrumbscard",children:[]},{value:'Button ',id:"button",children:[]},{value:'Buttons ',id:"buttons",children:[]},{value:'ButtonsJustify ',id:"buttonsjustify",children:[]},{value:'Checkbox ',id:"checkbox",children:[]},{value:'Checklist ',id:"checklist",children:[]},{value:'Choice ',id:"choice",children:[]},{value:'ChoiceGroup ',id:"choicegroup",children:[]},{value:'ColorPicker ',id:"colorpicker",children:[]},{value:'Combobox ',id:"combobox",children:[]},{value:'Command ',id:"command",children:[]},{value:'Component ',id:"component",children:[]},{value:'DatePicker ',id:"datepicker",children:[]},{value:'Dialog ',id:"dialog",children:[]},{value:'Dropdown ',id:"dropdown",children:[]},{value:'Expander ',id:"expander",children:[]},{value:'FileUpload ',id:"fileupload",children:[]},{value:'FlexCard ',id:"flexcard",children:[]},{value:'FlexCardAlign ',id:"flexcardalign",children:[]},{value:'FlexCardDirection ',id:"flexcarddirection",children:[]},{value:'FlexCardJustify ',id:"flexcardjustify",children:[]},{value:'FlexCardWrap ',id:"flexcardwrap",children:[]},{value:'FooterCard ',id:"footercard",children:[]},{value:'FormCard ',id:"formcard",children:[]},{value:'Frame ',id:"frame",children:[]},{value:'FrameCard ',id:"framecard",children:[]},{value:'GraphicsCard ',id:"graphicscard",children:[]},{value:'GridCard ',id:"gridcard",children:[]},{value:'HeaderCard ',id:"headercard",children:[]},{value:'IconTableCellType ',id:"icontablecelltype",children:[]},{value:'ImageCard ',id:"imagecard",children:[]},{value:'Inline ',id:"inline",children:[]},{value:'InlineJustify ',id:"inlinejustify",children:[]},{value:'Label ',id:"label",children:[]},{value:'LargeBarStatCard ',id:"largebarstatcard",children:[]},{value:'LargeStatCard ',id:"largestatcard",children:[]},{value:'Layout ',id:"layout",children:[]},{value:'Link ',id:"link",children:[]},{value:'ListCard ',id:"listcard",children:[]},{value:'ListItem1Card ',id:"listitem1card",children:[]},{value:'Mark ',id:"mark",children:[]},{value:'MarkCoord ',id:"markcoord",children:[]},{value:'MarkCurve ',id:"markcurve",children:[]},{value:'MarkLabelAlign ',id:"marklabelalign",children:[]},{value:'MarkLabelOverlap ',id:"marklabeloverlap",children:[]},{value:'MarkLabelPosition ',id:"marklabelposition",children:[]},{value:'MarkType ',id:"marktype",children:[]},{value:'MarkXScale ',id:"markxscale",children:[]},{value:'MarkYScale ',id:"markyscale",children:[]},{value:'MarkdownCard ',id:"markdowncard",children:[]},{value:'Markup ',id:"markup",children:[]},{value:'MarkupCard ',id:"markupcard",children:[]},{value:'MessageBar ',id:"messagebar",children:[]},{value:'MessageBarType ',id:"messagebartype",children:[]},{value:'MetaCard ',id:"metacard",children:[]},{value:'NavCard ',id:"navcard",children:[]},{value:'NavGroup ',id:"navgroup",children:[]},{value:'NavItem ',id:"navitem",children:[]},{value:'Picker ',id:"picker",children:[]},{value:'PixelArtCard ',id:"pixelartcard",children:[]},{value:'Plot ',id:"plot",children:[]},{value:'PlotCard ',id:"plotcard",children:[]},{value:'Progress ',id:"progress",children:[]},{value:'ProgressTableCellType ',id:"progresstablecelltype",children:[]},{value:'RangeSlider ',id:"rangeslider",children:[]},{value:'RepeatCard ',id:"repeatcard",children:[]},{value:'SectionCard ',id:"sectioncard",children:[]},{value:'Separator ',id:"separator",children:[]},{value:'Slider ',id:"slider",children:[]},{value:'SmallSeriesStatCard ',id:"smallseriesstatcard",children:[]},{value:'SmallSeriesStatCardPlotCurve ',id:"smallseriesstatcardplotcurve",children:[]},{value:'SmallSeriesStatCardPlotType ',id:"smallseriesstatcardplottype",children:[]},{value:'SmallStatCard ',id:"smallstatcard",children:[]},{value:'Spinbox ',id:"spinbox",children:[]},{value:'Stat ',id:"stat",children:[]},{value:'StatListCard ',id:"statlistcard",children:[]},{value:'StatListItem ',id:"statlistitem",children:[]},{value:'StatTableCard ',id:"stattablecard",children:[]},{value:'StatTableItem ',id:"stattableitem",children:[]},{value:'Stats ',id:"stats",children:[]},{value:'StatsJustify ',id:"statsjustify",children:[]},{value:'Step ',id:"step",children:[]},{value:'Stepper ',id:"stepper",children:[]},{value:'Tab ',id:"tab",children:[]},{value:'TabCard ',id:"tabcard",children:[]},{value:'Table ',id:"table",children:[]},{value:'TableCellType ',id:"tablecelltype",children:[]},{value:'TableColumn ',id:"tablecolumn",children:[]},{value:'TableColumnDataType ',id:"tablecolumndatatype",children:[]},{value:'TableRow ',id:"tablerow",children:[]},{value:'Tabs ',id:"tabs",children:[]},{value:'TallGaugeStatCard ',id:"tallgaugestatcard",children:[]},{value:'TallSeriesStatCard ',id:"tallseriesstatcard",children:[]},{value:'TallSeriesStatCardPlotCurve ',id:"tallseriesstatcardplotcurve",children:[]},{value:'TallSeriesStatCardPlotType ',id:"tallseriesstatcardplottype",children:[]},{value:'Template ',id:"template",children:[]},{value:'TemplateCard ',id:"templatecard",children:[]},{value:'Text ',id:"text",children:[]},{value:'TextL ',id:"textl",children:[]},{value:'TextM ',id:"textm",children:[]},{value:'TextS ',id:"texts",children:[]},{value:'TextSize ',id:"textsize",children:[]},{value:'TextXl ',id:"textxl",children:[]},{value:'TextXs ',id:"textxs",children:[]},{value:'Textbox ',id:"textbox",children:[]},{value:'Toggle ',id:"toggle",children:[]},{value:'ToolbarCard ',id:"toolbarcard",children:[]},{value:'VegaCard ',id:"vegacard",children:[]},{value:'VegaVisualization ',id:"vegavisualization",children:[]},{value:'Visualization ',id:"visualization",children:[]},{value:'WideBarStatCard ',id:"widebarstatcard",children:[]},{value:'WideGaugeStatCard ',id:"widegaugestatcard",children:[]},{value:'WideSeriesStatCard ',id:"wideseriesstatcard",children:[]},{value:'WideSeriesStatCardPlotCurve ',id:"wideseriesstatcardplotcurve",children:[]},{value:'WideSeriesStatCardPlotType ',id:"wideseriesstatcardplottype",children:[]},{value:'Zone ',id:"zone",children:[]},{value:'ZoneAlign ',id:"zonealign",children:[]},{value:'ZoneDirection ',id:"zonedirection",children:[]},{value:'ZoneJustify ',id:"zonejustify",children:[]},{value:'ZoneWrap ',id:"zonewrap",children:[]}]}],l={rightToc:d};function o(e){var a=e.components,t=Object(i.a)(e,["components"]);return Object(c.b)("wrapper",Object(s.a)({},l,t,{components:a,mdxType:"MDXLayout"}),Object(c.b)("h2",{id:"classes"},"Classes"),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"breadcrumb"},"Breadcrumb ",Object(c.b)("a",{name:"h2o_wave.types.Breadcrumb"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Breadcrumb"),"(name:\xa0str, label:\xa0str)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a breadcrumb for a ",Object(c.b)("code",null,Object(c.b)("a",{title:"h2o_wave.types.BreadcrumbsCard",href:"#h2o_wave.types.BreadcrumbsCard"},"BreadcrumbsCard")),".")),Object(c.b)("h4",{id:"static-methods"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Breadcrumb.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Breadcrumb__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"#h2o_wave.types.Breadcrumb"},"Breadcrumb")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Breadcrumb.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The label to display.")),Object(c.b)("div",{id:"h2o_wave.types.Breadcrumb.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of this item. Prefix the name with a '#' to trigger hash-change navigation."))),Object(c.b)("h4",{id:"methods"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Breadcrumb.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"breadcrumbscard"},"BreadcrumbsCard ",Object(c.b)("a",{name:"h2o_wave.types.BreadcrumbsCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"BreadcrumbsCard"),"(box:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"#h2o_wave.types.Breadcrumb"},"Breadcrumb"),"], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card containing breadcrumbs. Breadcrumbs should be used as a navigational aid in your app or site. They indicate the current page\u2019s location within a hierarchy and help the user understand where they are in relation to the rest of that hierarchy. They also afford one-click access to higher levels of that hierarchy. Breadcrumbs are typically placed, in horizontal form, under the masthead or navigation of an experience, above the primary content area.")),Object(c.b)("h4",{id:"static-methods-1"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-1"},"load ",Object(c.b)("a",{name:"h2o_wave.types.BreadcrumbsCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_BreadcrumbsCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.BreadcrumbsCard",href:"#h2o_wave.types.BreadcrumbsCard"},"BreadcrumbsCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-1"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.BreadcrumbsCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.BreadcrumbsCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.BreadcrumbsCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A list of ",Object(c.b)("code",null,Object(c.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"#h2o_wave.types.Breadcrumb"},"Breadcrumb"))," instances to display. See ",Object(c.b)("code",null,Object(c.b)("a",{title:"h2o_wave.ui.breadcrumb",href:"ui#h2o_wave.ui.breadcrumb"},"breadcrumb()"))))),Object(c.b)("h4",{id:"methods-1"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-1"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.BreadcrumbsCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"button"},"Button ",Object(c.b)("a",{name:"h2o_wave.types.Button"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Button"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, primary:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a button."),Object(c.b)("p",null,"Buttons are best used to enable a user to commit a change or complete steps in a task. They are typically found inside forms, dialogs, panels or pages. An example of their usage is confirming the deletion of a file in a confirmation dialog."),Object(c.b)("p",null,"When considering their place in a layout, contemplate the order in which a user will flow through the UI. As an example, in a form, the individual will need to read and interact with the form fields before submitting the form. Therefore, as a general rule, the button should be placed at the bottom of the UI container which holds the related UI elements."),Object(c.b)("p",null,'Buttons may be placed within a "buttons" component which will lay out the buttons horizontally, or used individually and they will be stacked vertically.'),Object(c.b)("p",null,"While buttons can technically be used to navigate a user to another part of the experience, this is not recommended unless that navigation is part of an action or their flow.")),Object(c.b)("h4",{id:"static-methods-2"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-2"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Button.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Button__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Button",href:"#h2o_wave.types.Button"},"Button")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-2"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Button.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption displayed below the label. Setting a caption renders a compound button.")),Object(c.b)("div",{id:"h2o_wave.types.Button.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the button should be disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Button.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the button.")),Object(c.b)("div",{id:"h2o_wave.types.Button.link",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"link")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the button should be rendered as link text and not a standard button.")),Object(c.b)("div",{id:"h2o_wave.types.Button.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component. If the name is prefixed with a '#', the button sets the location hash to the name when clicked.")),Object(c.b)("div",{id:"h2o_wave.types.Button.primary",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"primary")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the button should be rendered as the primary button in the set.")),Object(c.b)("div",{id:"h2o_wave.types.Button.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Button.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A value for this button. If a value is set, it is used for the button's submitted instead of a boolean True.")),Object(c.b)("div",{id:"h2o_wave.types.Button.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-2"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-2"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Button.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"buttons"},"Buttons ",Object(c.b)("a",{name:"h2o_wave.types.Buttons"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Buttons"),"(items:\xa0List[_ForwardRef('",Object(c.b)("a",{title:"h2o_wave.types.Component",href:"#h2o_wave.types.Component"},"Component"),"')], justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a set of buttons laid out horizontally.")),Object(c.b)("h4",{id:"static-methods-3"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-3"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Buttons.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Buttons__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Buttons",href:"#h2o_wave.types.Buttons"},"Buttons")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-3"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Buttons.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The button in this set.")),Object(c.b)("div",{id:"h2o_wave.types.Buttons.justify",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"justify")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Specifies how to lay out buttons horizontally. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ButtonsJustify.")),Object(c.b)("div",{id:"h2o_wave.types.Buttons.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Buttons.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-3"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-3"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Buttons.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"buttonsjustify"},"ButtonsJustify ",Object(c.b)("a",{name:"h2o_wave.types.ButtonsJustify"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ButtonsJustify")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ButtonsJustify.AROUND",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AROUND")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ButtonsJustify.BETWEEN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BETWEEN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ButtonsJustify.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ButtonsJustify.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ButtonsJustify.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"checkbox"},"Checkbox ",Object(c.b)("a",{name:"h2o_wave.types.Checkbox"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Checkbox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, indeterminate:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a checkbox."),Object(c.b)("p",null,"A checkbox allows users to switch between two mutually exclusive options (checked or unchecked, on or off) through a single click or tap. It can also be used to indicate a subordinate setting or preference when paired with another component."),Object(c.b)("p",null,"A checkbox is used to select or deselect action items. It can be used for a single item or for a list of multiple items that a user can choose from. The component has two selection states: unselected and selected."),Object(c.b)("p",null,"For a binary choice, the main difference between a checkbox and a toggle switch is that the checkbox is for status and the toggle switch is for action."),Object(c.b)("p",null,"Use multiple checkboxes for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive.")),Object(c.b)("h4",{id:"static-methods-4"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-4"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Checkbox.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Checkbox__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Checkbox",href:"#h2o_wave.types.Checkbox"},"Checkbox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-4"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Checkbox.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the checkbox is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.indeterminate",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"indeterminate")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the selection is indeterminate (neither selected nor unselected).")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the checkbox.")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the checkbox value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if selected, False if unselected.")),Object(c.b)("div",{id:"h2o_wave.types.Checkbox.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-4"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-4"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Checkbox.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"checklist"},"Checklist ",Object(c.b)("a",{name:"h2o_wave.types.Checklist"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Checklist"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Choice",href:"#h2o_wave.types.Choice"},"Choice"),"],\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a set of checkboxes. Use this for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive.")),Object(c.b)("h4",{id:"static-methods-5"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-5"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Checklist.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Checklist__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Checklist",href:"#h2o_wave.types.Checklist"},"Checklist")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-5"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Checklist.choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The choices to be presented.")),Object(c.b)("div",{id:"h2o_wave.types.Checklist.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed above the component.")),Object(c.b)("div",{id:"h2o_wave.types.Checklist.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Checklist.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Checklist.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the checklist value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Checklist.values",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"values")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The names of the selected choices.")),Object(c.b)("div",{id:"h2o_wave.types.Checklist.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-5"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-5"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Checklist.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"choice"},"Choice ",Object(c.b)("a",{name:"h2o_wave.types.Choice"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Choice"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a choice for a checklist, choice group or dropdown.")),Object(c.b)("h4",{id:"static-methods-6"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-6"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Choice.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Choice__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Choice",href:"#h2o_wave.types.Choice"},"Choice")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-6"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Choice.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the checkbox is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Choice.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.Choice.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component."))),Object(c.b)("h4",{id:"methods-6"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-6"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Choice.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"choicegroup"},"ChoiceGroup ",Object(c.b)("a",{name:"h2o_wave.types.ChoiceGroup"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ChoiceGroup"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Choice",href:"#h2o_wave.types.Choice"},"Choice"),"],\xa0NoneType]\xa0=\xa0None, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a choice group. The choice group component, also known as radio buttons, let users select one option from two or more choices. Each option is represented by one choice group button; a user can select only one choice group in a button group."),Object(c.b)("p",null,"Choice groups emphasize all options equally, and that may draw more attention to the options than necessary. Consider using other components, unless the options deserve extra attention from the user. For example, if the default option is recommended for most users in most situations, use a dropdown instead."),Object(c.b)("p",null,'If there are only two mutually exclusive options, combine them into a single Checkbox or Toggle switch. For example, use a checkbox for "I agree" instead of choice group buttons for "I agree" and "I don\'t agree."')),Object(c.b)("h4",{id:"static-methods-7"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-7"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ChoiceGroup.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ChoiceGroup__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ChoiceGroup",href:"#h2o_wave.types.ChoiceGroup"},"ChoiceGroup")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-7"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The choices to be presented.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.required",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"required")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is required.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the selection changes.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of the selected choice.")),Object(c.b)("div",{id:"h2o_wave.types.ChoiceGroup.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-7"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-7"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ChoiceGroup.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"colorpicker"},"ColorPicker ",Object(c.b)("a",{name:"h2o_wave.types.ColorPicker"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ColorPicker"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a color picker."),Object(c.b)("p",null,"A date picker allows a user to pick a color value. If the 'choices' parameter is set, a swatch picker is displayed instead of the standard color picker.")),Object(c.b)("h4",{id:"static-methods-8"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-8"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ColorPicker.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ColorPicker__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ColorPicker",href:"#h2o_wave.types.ColorPicker"},"ColorPicker")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-8"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A list of colors (CSS-compatible strings) to limit color choices to.")),Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the color picker value changes.")),Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The selected color (CSS-compatible string).")),Object(c.b)("div",{id:"h2o_wave.types.ColorPicker.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-8"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-8"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ColorPicker.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"combobox"},"Combobox ",Object(c.b)("a",{name:"h2o_wave.types.Combobox"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Combobox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, error:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a combobox."),Object(c.b)("p",null,"A combobox is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button or by typing in the input. They are used to simplify the design and make a choice within the UI."),Object(c.b)("p",null,"When closed, only the selected item is visible. When users click the drop-down button, all the options become visible. To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value. When collapsed the user can select a new value by typing.")),Object(c.b)("h4",{id:"static-methods-9"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-9"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Combobox.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Combobox__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Combobox",href:"#h2o_wave.types.Combobox"},"Combobox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-9"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Combobox.choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The choices to be presented.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.error",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"error")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed as an error below the text box.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.placeholder",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"placeholder")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of the selected choice.")),Object(c.b)("div",{id:"h2o_wave.types.Combobox.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-9"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-9"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Combobox.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"command"},"Command ",Object(c.b)("a",{name:"h2o_wave.types.Command"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Command"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, items:\xa0Union[List[_ForwardRef('",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"')],\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a command."),Object(c.b)("p",null,"Commands are typically displayed as context menu items or toolbar button.")),Object(c.b)("h4",{id:"static-methods-10"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-10"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Command.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Command__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-10"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Command.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption for this command (typically a tooltip).")),Object(c.b)("div",{id:"h2o_wave.types.Command.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"DEPRECATED. Use ",Object(c.b)("code",null,"value")," instead. Data associated with this command, if any.")),Object(c.b)("div",{id:"h2o_wave.types.Command.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The icon to be displayed for this command.")),Object(c.b)("div",{id:"h2o_wave.types.Command.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Sub-commands, if any")),Object(c.b)("div",{id:"h2o_wave.types.Command.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed for this command.")),Object(c.b)("div",{id:"h2o_wave.types.Command.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component. If the name is prefixed with a '#', the command sets the location hash to the name when executed.")),Object(c.b)("div",{id:"h2o_wave.types.Command.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data associated with this command, if any."))),Object(c.b)("h4",{id:"methods-10"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-10"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Command.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"component"},"Component ",Object(c.b)("a",{name:"h2o_wave.types.Component"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Component"),"(text:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Text",href:"#h2o_wave.types.Text"},"Text"),",\xa0NoneType]\xa0=\xa0None, text_xl:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.TextXl",href:"#h2o_wave.types.TextXl"},"TextXl"),",\xa0NoneType]\xa0=\xa0None, text_l:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.TextL",href:"#h2o_wave.types.TextL"},"TextL"),",\xa0NoneType]\xa0=\xa0None, text_m:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.TextM",href:"#h2o_wave.types.TextM"},"TextM"),",\xa0NoneType]\xa0=\xa0None, text_s:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.TextS",href:"#h2o_wave.types.TextS"},"TextS"),",\xa0NoneType]\xa0=\xa0None, text_xs:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.TextXs",href:"#h2o_wave.types.TextXs"},"TextXs"),",\xa0NoneType]\xa0=\xa0None, label:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Label",href:"#h2o_wave.types.Label"},"Label"),",\xa0NoneType]\xa0=\xa0None, separator:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Separator",href:"#h2o_wave.types.Separator"},"Separator"),",\xa0NoneType]\xa0=\xa0None, progress:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Progress",href:"#h2o_wave.types.Progress"},"Progress"),",\xa0NoneType]\xa0=\xa0None, message_bar:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.MessageBar",href:"#h2o_wave.types.MessageBar"},"MessageBar"),",\xa0NoneType]\xa0=\xa0None, textbox:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Textbox",href:"#h2o_wave.types.Textbox"},"Textbox"),",\xa0NoneType]\xa0=\xa0None, checkbox:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Checkbox",href:"#h2o_wave.types.Checkbox"},"Checkbox"),",\xa0NoneType]\xa0=\xa0None, toggle:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Toggle",href:"#h2o_wave.types.Toggle"},"Toggle"),",\xa0NoneType]\xa0=\xa0None, choice_group:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.ChoiceGroup",href:"#h2o_wave.types.ChoiceGroup"},"ChoiceGroup"),",\xa0NoneType]\xa0=\xa0None, checklist:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Checklist",href:"#h2o_wave.types.Checklist"},"Checklist"),",\xa0NoneType]\xa0=\xa0None, dropdown:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Dropdown",href:"#h2o_wave.types.Dropdown"},"Dropdown"),",\xa0NoneType]\xa0=\xa0None, combobox:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Combobox",href:"#h2o_wave.types.Combobox"},"Combobox"),",\xa0NoneType]\xa0=\xa0None, slider:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Slider",href:"#h2o_wave.types.Slider"},"Slider"),",\xa0NoneType]\xa0=\xa0None, spinbox:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Spinbox",href:"#h2o_wave.types.Spinbox"},"Spinbox"),",\xa0NoneType]\xa0=\xa0None, date_picker:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.DatePicker",href:"#h2o_wave.types.DatePicker"},"DatePicker"),",\xa0NoneType]\xa0=\xa0None, color_picker:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.ColorPicker",href:"#h2o_wave.types.ColorPicker"},"ColorPicker"),",\xa0NoneType]\xa0=\xa0None, button:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Button",href:"#h2o_wave.types.Button"},"Button"),",\xa0NoneType]\xa0=\xa0None, buttons:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Buttons",href:"#h2o_wave.types.Buttons"},"Buttons"),",\xa0NoneType]\xa0=\xa0None, file_upload:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.FileUpload",href:"#h2o_wave.types.FileUpload"},"FileUpload"),",\xa0NoneType]\xa0=\xa0None, table:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Table",href:"#h2o_wave.types.Table"},"Table"),",\xa0NoneType]\xa0=\xa0None, link:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Link",href:"#h2o_wave.types.Link"},"Link"),",\xa0NoneType]\xa0=\xa0None, tabs:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Tabs",href:"#h2o_wave.types.Tabs"},"Tabs"),",\xa0NoneType]\xa0=\xa0None, expander:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Expander",href:"#h2o_wave.types.Expander"},"Expander"),",\xa0NoneType]\xa0=\xa0None, frame:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Frame",href:"#h2o_wave.types.Frame"},"Frame"),",\xa0NoneType]\xa0=\xa0None, markup:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Markup",href:"#h2o_wave.types.Markup"},"Markup"),",\xa0NoneType]\xa0=\xa0None, template:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Template",href:"#h2o_wave.types.Template"},"Template"),",\xa0NoneType]\xa0=\xa0None, picker:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Picker",href:"#h2o_wave.types.Picker"},"Picker"),",\xa0NoneType]\xa0=\xa0None, range_slider:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.RangeSlider",href:"#h2o_wave.types.RangeSlider"},"RangeSlider"),",\xa0NoneType]\xa0=\xa0None, stepper:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Stepper",href:"#h2o_wave.types.Stepper"},"Stepper"),",\xa0NoneType]\xa0=\xa0None, visualization:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Visualization",href:"#h2o_wave.types.Visualization"},"Visualization"),",\xa0NoneType]\xa0=\xa0None, vega_visualization:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.VegaVisualization",href:"#h2o_wave.types.VegaVisualization"},"VegaVisualization"),",\xa0NoneType]\xa0=\xa0None, stats:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Stats",href:"#h2o_wave.types.Stats"},"Stats"),",\xa0NoneType]\xa0=\xa0None, inline:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Inline",href:"#h2o_wave.types.Inline"},"Inline"),",\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a component.")),Object(c.b)("h4",{id:"static-methods-11"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-11"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Component.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Component__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Component",href:"#h2o_wave.types.Component"},"Component")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-11"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Component.button",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"button")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Button.")),Object(c.b)("div",{id:"h2o_wave.types.Component.buttons",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"buttons")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Button set.")),Object(c.b)("div",{id:"h2o_wave.types.Component.checkbox",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"checkbox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Checkbox.")),Object(c.b)("div",{id:"h2o_wave.types.Component.checklist",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"checklist")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Checklist.")),Object(c.b)("div",{id:"h2o_wave.types.Component.choice_group",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choice_group")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Choice group.")),Object(c.b)("div",{id:"h2o_wave.types.Component.color_picker",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"color_picker")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Color picker.")),Object(c.b)("div",{id:"h2o_wave.types.Component.combobox",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"combobox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Combobox.")),Object(c.b)("div",{id:"h2o_wave.types.Component.date_picker",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"date_picker")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Date picker.")),Object(c.b)("div",{id:"h2o_wave.types.Component.dropdown",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"dropdown")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Dropdown.")),Object(c.b)("div",{id:"h2o_wave.types.Component.expander",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"expander")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Expander.")),Object(c.b)("div",{id:"h2o_wave.types.Component.file_upload",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"file_upload")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"File upload.")),Object(c.b)("div",{id:"h2o_wave.types.Component.frame",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"frame")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Frame.")),Object(c.b)("div",{id:"h2o_wave.types.Component.inline",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"inline")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Inline components")),Object(c.b)("div",{id:"h2o_wave.types.Component.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label.")),Object(c.b)("div",{id:"h2o_wave.types.Component.link",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"link")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Link.")),Object(c.b)("div",{id:"h2o_wave.types.Component.markup",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"markup")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Markup")),Object(c.b)("div",{id:"h2o_wave.types.Component.message_bar",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"message_bar")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Message bar.")),Object(c.b)("div",{id:"h2o_wave.types.Component.picker",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"picker")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Picker.")),Object(c.b)("div",{id:"h2o_wave.types.Component.progress",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Progress bar.")),Object(c.b)("div",{id:"h2o_wave.types.Component.range_slider",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"range_slider")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Range Slider.")),Object(c.b)("div",{id:"h2o_wave.types.Component.separator",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"separator")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Separator.")),Object(c.b)("div",{id:"h2o_wave.types.Component.slider",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"slider")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Slider.")),Object(c.b)("div",{id:"h2o_wave.types.Component.spinbox",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"spinbox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Spinbox.")),Object(c.b)("div",{id:"h2o_wave.types.Component.stats",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stats")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Stats")),Object(c.b)("div",{id:"h2o_wave.types.Component.stepper",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stepper")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Stepper.")),Object(c.b)("div",{id:"h2o_wave.types.Component.table",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"table")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Table.")),Object(c.b)("div",{id:"h2o_wave.types.Component.tabs",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tabs")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tabs.")),Object(c.b)("div",{id:"h2o_wave.types.Component.template",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"template")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Template")),Object(c.b)("div",{id:"h2o_wave.types.Component.text",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text block.")),Object(c.b)("div",{id:"h2o_wave.types.Component.text_l",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text_l")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Large sized text block.")),Object(c.b)("div",{id:"h2o_wave.types.Component.text_m",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text_m")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Medium sized text block.")),Object(c.b)("div",{id:"h2o_wave.types.Component.text_s",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text_s")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Small sized text block.")),Object(c.b)("div",{id:"h2o_wave.types.Component.text_xl",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text_xl")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Extra-large sized text block.")),Object(c.b)("div",{id:"h2o_wave.types.Component.text_xs",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text_xs")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Extra-small sized text block.")),Object(c.b)("div",{id:"h2o_wave.types.Component.textbox",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"textbox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Textbox.")),Object(c.b)("div",{id:"h2o_wave.types.Component.toggle",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"toggle")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Toggle.")),Object(c.b)("div",{id:"h2o_wave.types.Component.vega_visualization",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"vega_visualization")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Vega-lite Visualization.")),Object(c.b)("div",{id:"h2o_wave.types.Component.visualization",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visualization")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Visualization."))),Object(c.b)("h4",{id:"methods-11"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-11"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Component.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"datepicker"},"DatePicker ",Object(c.b)("a",{name:"h2o_wave.types.DatePicker"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"DatePicker"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a date picker."),Object(c.b)("p",null,"A date picker allows a user to pick a date value.")),Object(c.b)("h4",{id:"static-methods-12"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-12"},"load ",Object(c.b)("a",{name:"h2o_wave.types.DatePicker.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_DatePicker__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.DatePicker",href:"#h2o_wave.types.DatePicker"},"DatePicker")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-12"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.DatePicker.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.placeholder",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"placeholder")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the datepicker value changes.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The date value in YYYY-MM-DD format.")),Object(c.b)("div",{id:"h2o_wave.types.DatePicker.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-12"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-12"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.DatePicker.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"dialog"},"Dialog ",Object(c.b)("a",{name:"h2o_wave.types.Dialog"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Dialog"),"(title:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Component",href:"#h2o_wave.types.Component"},"Component"),"], width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, closable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, blocking:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, primary:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A dialog box (Dialog) is a temporary pop-up that takes focus from the page or app and requires people to interact with it. It\u2019s primarily used for confirming actions, such as deleting a file, or asking people to make a choice.")),Object(c.b)("h4",{id:"static-methods-13"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-13"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Dialog.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Dialog__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Dialog",href:"#h2o_wave.types.Dialog"},"Dialog")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-13"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Dialog.blocking",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"blocking")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True to disable all actions and commands behind the dialog. Blocking dialogs should be used very sparingly, only when it is critical that the user makes a choice or provides information before they can proceed. Blocking dialogs are generally used for irreversible or potentially destructive tasks. Defaults to false.")),Object(c.b)("div",{id:"h2o_wave.types.Dialog.closable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"closable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the dialog should have a closing 'X' button at the top right corner.")),Object(c.b)("div",{id:"h2o_wave.types.Dialog.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The components displayed in this dialog.")),Object(c.b)("div",{id:"h2o_wave.types.Dialog.primary",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"primary")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Dialog with large header banner, mutually exclusive with ",Object(c.b)("code",null,"closable")," prop. Defaults to false.")),Object(c.b)("div",{id:"h2o_wave.types.Dialog.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The dialog's title.")),Object(c.b)("div",{id:"h2o_wave.types.Dialog.width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The width of the dialog, e.g. '400px', defaults to '600px'."))),Object(c.b)("h4",{id:"methods-13"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-13"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Dialog.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"dropdown"},"Dropdown ",Object(c.b)("a",{name:"h2o_wave.types.Dropdown"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Dropdown"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Choice",href:"#h2o_wave.types.Choice"},"Choice"),"],\xa0NoneType]\xa0=\xa0None, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a dropdown."),Object(c.b)("p",null,"A dropdown is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button. They are used to simplify the design and make a choice within the UI. When closed, only the selected item is visible. When users click the drop-down button, all the options become visible."),Object(c.b)("p",null,"To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value."),Object(c.b)("p",null,"Note: Use either the 'value' parameter or the 'values' parameter. Setting the 'values' parameter renders a multi-select dropdown.")),Object(c.b)("h4",{id:"static-methods-14"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-14"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Dropdown.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Dropdown__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Dropdown",href:"#h2o_wave.types.Dropdown"},"Dropdown")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-14"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Dropdown.choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The choices to be presented.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.placeholder",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"placeholder")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.required",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"required")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this is a required field.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the dropdown value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of the selected choice.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.values",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"values")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The names of the selected choices. If this parameter is set, multiple selections will be allowed.")),Object(c.b)("div",{id:"h2o_wave.types.Dropdown.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-14"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-14"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Dropdown.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"expander"},"Expander ",Object(c.b)("a",{name:"h2o_wave.types.Expander"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Expander"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, expanded:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, items:\xa0Union[List[_ForwardRef('",Object(c.b)("a",{title:"h2o_wave.types.Component",href:"#h2o_wave.types.Component"},"Component"),"')],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates a new expander."),Object(c.b)("p",null,"Expanders can be used to show or hide a group of related components.")),Object(c.b)("h4",{id:"static-methods-15"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-15"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Expander.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Expander__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Expander",href:"#h2o_wave.types.Expander"},"Expander")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-15"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Expander.expanded",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"expanded")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if expanded, False if collapsed.")),Object(c.b)("div",{id:"h2o_wave.types.Expander.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"List of components to be hideable by the expander.")),Object(c.b)("div",{id:"h2o_wave.types.Expander.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the expander.")),Object(c.b)("div",{id:"h2o_wave.types.Expander.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Expander.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-15"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-15"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Expander.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"fileupload"},"FileUpload ",Object(c.b)("a",{name:"h2o_wave.types.FileUpload"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FileUpload"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, multiple:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, file_extensions:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, max_file_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a file upload component. A file upload component allows a user to browse, select and upload one or more files.")),Object(c.b)("h4",{id:"static-methods-16"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-16"},"load ",Object(c.b)("a",{name:"h2o_wave.types.FileUpload.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_FileUpload__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.FileUpload",href:"#h2o_wave.types.FileUpload"},"FileUpload")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-16"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FileUpload.file_extensions",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"file_extensions")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"List of allowed file extensions, e.g. ",Object(c.b)("code",null,"pdf"),", ",Object(c.b)("code",null,"docx"),", etc.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The height of the file upload, e.g. '400px', '50%', etc.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.max_file_size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_file_size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Maximum allowed size (Mb) per file. Defaults to no limit.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.max_size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Maximum allowed size (Mb) for all files combined. Defaults to no limit.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.multiple",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"multiple")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should allow multiple files to be uploaded.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.FileUpload.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-16"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-16"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.FileUpload.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"flexcard"},"FlexCard ",Object(c.b)("a",{name:"h2o_wave.types.FlexCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FlexCard"),"(box:\xa0str, item_view:\xa0str, item_props:\xa0Union[dict,\xa0str], data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], direction:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, align:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, wrap:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out using a one-dimensional model with flexible alignemnt and wrapping capabilities.")),Object(c.b)("h4",{id:"static-methods-17"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-17"},"load ",Object(c.b)("a",{name:"h2o_wave.types.FlexCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_FlexCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.FlexCard",href:"#h2o_wave.types.FlexCard"},"FlexCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-17"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FlexCard.align",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"align")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Layout strategy for cross axis. One of 'start', 'end', 'center', 'baseline', 'stretch'. See enum h2o_wave.ui.FlexCardAlign.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.direction",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"direction")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Layout direction. One of 'horizontal', 'vertical'. See enum h2o_wave.ui.FlexCardDirection.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.item_props",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"item_props")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The child card properties.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.item_view",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"item_view")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The child card type.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.justify",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"justify")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.FlexCardJustify.")),Object(c.b)("div",{id:"h2o_wave.types.FlexCard.wrap",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"wrap")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.FlexCardWrap."))),Object(c.b)("h4",{id:"methods-17"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-17"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.FlexCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"flexcardalign"},"FlexCardAlign ",Object(c.b)("a",{name:"h2o_wave.types.FlexCardAlign"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FlexCardAlign")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-1"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FlexCardAlign.BASELINE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BASELINE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardAlign.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardAlign.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardAlign.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardAlign.STRETCH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STRETCH")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"flexcarddirection"},"FlexCardDirection ",Object(c.b)("a",{name:"h2o_wave.types.FlexCardDirection"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FlexCardDirection")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-2"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FlexCardDirection.HORIZONTAL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"HORIZONTAL")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardDirection.VERTICAL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"VERTICAL")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"flexcardjustify"},"FlexCardJustify ",Object(c.b)("a",{name:"h2o_wave.types.FlexCardJustify"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FlexCardJustify")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-3"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FlexCardJustify.AROUND",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AROUND")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardJustify.BETWEEN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BETWEEN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardJustify.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardJustify.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardJustify.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"flexcardwrap"},"FlexCardWrap ",Object(c.b)("a",{name:"h2o_wave.types.FlexCardWrap"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FlexCardWrap")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-4"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FlexCardWrap.AROUND",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AROUND")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardWrap.BETWEEN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BETWEEN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardWrap.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardWrap.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardWrap.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.FlexCardWrap.STRETCH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STRETCH")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"footercard"},"FooterCard ",Object(c.b)("a",{name:"h2o_wave.types.FooterCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FooterCard"),"(box:\xa0str, caption:\xa0str, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render a page footer displaying a caption. Footer cards are typically displayed at the bottom of a page.")),Object(c.b)("h4",{id:"static-methods-18"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-18"},"load ",Object(c.b)("a",{name:"h2o_wave.types.FooterCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_FooterCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.FooterCard",href:"#h2o_wave.types.FooterCard"},"FooterCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-18"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FooterCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.FooterCard.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption. Supports markdown.")),Object(c.b)("div",{id:"h2o_wave.types.FooterCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component."))),Object(c.b)("h4",{id:"methods-18"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-18"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.FooterCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"formcard"},"FormCard ",Object(c.b)("a",{name:"h2o_wave.types.FormCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FormCard"),"(box:\xa0str, items:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Component",href:"#h2o_wave.types.Component"},"Component"),"],\xa0str], title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a form.")),Object(c.b)("h4",{id:"static-methods-19"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-19"},"load ",Object(c.b)("a",{name:"h2o_wave.types.FormCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_FormCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.FormCard",href:"#h2o_wave.types.FormCard"},"FormCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-19"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FormCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.FormCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.FormCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The components in this form.")),Object(c.b)("div",{id:"h2o_wave.types.FormCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-19"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-19"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.FormCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"frame"},"Frame ",Object(c.b)("a",{name:"h2o_wave.types.Frame"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Frame"),"(path:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, content:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a new inline frame (an ",Object(c.b)("code",null,"iframe"),").")),Object(c.b)("h4",{id:"static-methods-20"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-20"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Frame.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Frame__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Frame",href:"#h2o_wave.types.Frame"},"Frame")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-20"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Frame.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The HTML content of the page. A string containing ",Object(c.b)("code",null,"..."),".")),Object(c.b)("div",{id:"h2o_wave.types.Frame.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The height of the frame, e.g. ",Object(c.b)("code",null,"200px"),", ",Object(c.b)("code",null,"50%"),", etc. Defaults to ",Object(c.b)("code",null,"150px"),".")),Object(c.b)("div",{id:"h2o_wave.types.Frame.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Frame.path",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"path")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The path or URL of the web page, e.g. ",Object(c.b)("code",null,"/foo.html")," or ",Object(c.b)("code",null,"http://example.com/foo.html"))),Object(c.b)("div",{id:"h2o_wave.types.Frame.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true.")),Object(c.b)("div",{id:"h2o_wave.types.Frame.width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The width of the frame, e.g. ",Object(c.b)("code",null,"200px"),", ",Object(c.b)("code",null,"50%"),", etc. Defaults to ",Object(c.b)("code",null,"100%"),"."))),Object(c.b)("h4",{id:"methods-20"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-20"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Frame.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"framecard"},"FrameCard ",Object(c.b)("a",{name:"h2o_wave.types.FrameCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"FrameCard"),"(box:\xa0str, title:\xa0str, path:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, content:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render a card containing a HTML page inside an inline frame (an ",Object(c.b)("code",null,"iframe"),")."),Object(c.b)("p",null,"Either a path or content can be provided as arguments.")),Object(c.b)("h4",{id:"static-methods-21"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-21"},"load ",Object(c.b)("a",{name:"h2o_wave.types.FrameCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_FrameCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.FrameCard",href:"#h2o_wave.types.FrameCard"},"FrameCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-21"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.FrameCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.FrameCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.FrameCard.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The HTML content of the page. A string containing ",Object(c.b)("code",null,"..."))),Object(c.b)("div",{id:"h2o_wave.types.FrameCard.path",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"path")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The path or URL of the web page, e.g. ",Object(c.b)("code",null,"/foo.html")," or ",Object(c.b)("code",null,"http://example.com/foo.html"))),Object(c.b)("div",{id:"h2o_wave.types.FrameCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-21"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-21"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.FrameCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"graphicscard"},"GraphicsCard ",Object(c.b)("a",{name:"h2o_wave.types.GraphicsCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"GraphicsCard"),"(box:\xa0str, view_box:\xa0str, stage:\xa0Union[List[dict],\xa0str,\xa0NoneType]\xa0=\xa0None, scene:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str,\xa0NoneType]\xa0=\xa0None, width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card for displaying vector graphics.")),Object(c.b)("h4",{id:"static-methods-22"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-22"},"load ",Object(c.b)("a",{name:"h2o_wave.types.GraphicsCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_GraphicsCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.GraphicsCard",href:"#h2o_wave.types.GraphicsCard"},"GraphicsCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-22"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The displayed height of the rectangular viewport. (Not the height of its coordinate system.)")),Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.scene",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"scene")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Foreground layer for rendering dynamic SVG elements.")),Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.stage",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stage")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Background layer for rendering static SVG elements. Must be packed to conserve memory.")),Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.view_box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"view_box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The position and dimension of the SVG viewport, in user space. A space-separated list of four numbers: min-x, min-y, width and height. For example, '0 0 400 300'. See: ",Object(c.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"))),Object(c.b)("div",{id:"h2o_wave.types.GraphicsCard.width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The displayed width of the rectangular viewport. (Not the width of its coordinate system.)"))),Object(c.b)("h4",{id:"methods-22"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-22"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.GraphicsCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"gridcard"},"GridCard ",Object(c.b)("a",{name:"h2o_wave.types.GridCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"GridCard"),"(box:\xa0str, title:\xa0str, cells:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("h4",{id:"static-methods-23"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-23"},"load ",Object(c.b)("a",{name:"h2o_wave.types.GridCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_GridCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.GridCard",href:"#h2o_wave.types.GridCard"},"GridCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-23"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.GridCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.GridCard.cells",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"cells")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("div",{id:"h2o_wave.types.GridCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.GridCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("div",{id:"h2o_wave.types.GridCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE."))),Object(c.b)("h4",{id:"methods-23"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-23"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.GridCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"headercard"},"HeaderCard ",Object(c.b)("a",{name:"h2o_wave.types.HeaderCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"HeaderCard"),"(box:\xa0str, title:\xa0str, subtitle:\xa0str, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, nav:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.NavGroup",href:"#h2o_wave.types.NavGroup"},"NavGroup"),"],\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render a page header displaying a title, subtitle and an optional navigation menu. Header cards are typically used for top-level navigation.")),Object(c.b)("h4",{id:"static-methods-24"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-24"},"load ",Object(c.b)("a",{name:"h2o_wave.types.HeaderCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_HeaderCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.HeaderCard",href:"#h2o_wave.types.HeaderCard"},"HeaderCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-24"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The icon type, displayed to the left.")),Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.icon_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The icon's color.")),Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.nav",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"nav")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The navigation menu to display when the header's icon is clicked.")),Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.subtitle",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"subtitle")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The subtitle, displayed below the title.")),Object(c.b)("div",{id:"h2o_wave.types.HeaderCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title."))),Object(c.b)("h4",{id:"methods-24"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-24"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.HeaderCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"icontablecelltype"},"IconTableCellType ",Object(c.b)("a",{name:"h2o_wave.types.IconTableCellType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"IconTableCellType"),"(color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a cell type that renders a column's cells as icons instead of plain text. If set on a column, the cell value is interpreted as the name of the icon to be displayed.")),Object(c.b)("h4",{id:"static-methods-25"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-25"},"load ",Object(c.b)("a",{name:"h2o_wave.types.IconTableCellType.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_IconTableCellType__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.IconTableCellType",href:"#h2o_wave.types.IconTableCellType"},"IconTableCellType")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-25"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.IconTableCellType.color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Icon color.")),Object(c.b)("div",{id:"h2o_wave.types.IconTableCellType.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component."))),Object(c.b)("h4",{id:"methods-25"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-25"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.IconTableCellType.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"imagecard"},"ImageCard ",Object(c.b)("a",{name:"h2o_wave.types.ImageCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ImageCard"),"(box:\xa0str, title:\xa0str, type:\xa0str, image:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card that displays a base64-encoded image.")),Object(c.b)("h4",{id:"static-methods-26"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-26"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ImageCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ImageCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ImageCard",href:"#h2o_wave.types.ImageCard"},"ImageCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-26"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ImageCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.ImageCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.ImageCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.ImageCard.image",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"image")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Image data, base64-encoded.")),Object(c.b)("div",{id:"h2o_wave.types.ImageCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.ImageCard.type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The image MIME subtype. One of ",Object(c.b)("code",null,"apng"),", ",Object(c.b)("code",null,"bmp"),", ",Object(c.b)("code",null,"gif"),", ",Object(c.b)("code",null,"x-icon"),", ",Object(c.b)("code",null,"jpeg"),", ",Object(c.b)("code",null,"png"),", ",Object(c.b)("code",null,"webp"),"."))),Object(c.b)("h4",{id:"methods-26"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-26"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ImageCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"inline"},"Inline ",Object(c.b)("a",{name:"h2o_wave.types.Inline"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Inline"),"(items:\xa0List[_ForwardRef('",Object(c.b)("a",{title:"h2o_wave.types.Component",href:"#h2o_wave.types.Component"},"Component"),"')], justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, inset:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create an inline (horizontal) list of components.")),Object(c.b)("h4",{id:"static-methods-27"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-27"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Inline.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Inline__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Inline",href:"#h2o_wave.types.Inline"},"Inline")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-27"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Inline.inset",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"inset")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Whether to display the components inset from the parent form, with a contrasting background.")),Object(c.b)("div",{id:"h2o_wave.types.Inline.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The components laid out inline.")),Object(c.b)("div",{id:"h2o_wave.types.Inline.justify",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"justify")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Specifies how to lay out the individual components. Defaults to 'start'. One of 'start', 'end'. See enum h2o_wave.ui.InlineJustify."))),Object(c.b)("h4",{id:"methods-27"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-27"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Inline.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"inlinejustify"},"InlineJustify ",Object(c.b)("a",{name:"h2o_wave.types.InlineJustify"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"InlineJustify")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-5"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.InlineJustify.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.InlineJustify.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"label"},"Label ",Object(c.b)("a",{name:"h2o_wave.types.Label"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Label"),"(label:\xa0str, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a label."),Object(c.b)("p",null,"Labels give a name or title to a component or group of components. Labels should be in close proximity to the component or group they are paired with. Some components, such as textboxes, dropdowns, or toggles, already have labels incorporated, but other components may optionally add a Label if it helps inform the user of the component\u2019s purpose.")),Object(c.b)("h4",{id:"static-methods-28"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-28"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Label.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Label__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Label",href:"#h2o_wave.types.Label"},"Label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-28"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Label.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the label should be disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Label.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the label.")),Object(c.b)("div",{id:"h2o_wave.types.Label.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Label.required",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"required")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the field is required.")),Object(c.b)("div",{id:"h2o_wave.types.Label.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Label.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-28"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-28"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Label.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"largebarstatcard"},"LargeBarStatCard ",Object(c.b)("a",{name:"h2o_wave.types.LargeBarStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"LargeBarStatCard"),"(box:\xa0str, title:\xa0str, caption:\xa0str, value:\xa0str, aux_value:\xa0str, value_caption:\xa0str, aux_value_caption:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a large captioned card displaying a primary value, an auxiliary value and a progress bar, with captions for each value.")),Object(c.b)("h4",{id:"static-methods-29"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-29"},"load ",Object(c.b)("a",{name:"h2o_wave.types.LargeBarStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_LargeBarStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.LargeBarStatCard",href:"#h2o_wave.types.LargeBarStatCard"},"LargeBarStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-29"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value, typically a target value.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.aux_value_caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value_caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption displayed below the auxiliary value.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's caption.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The color of the progress bar.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.progress",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The value of the progress bar, between 0 and 1.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed.")),Object(c.b)("div",{id:"h2o_wave.types.LargeBarStatCard.value_caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value_caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption displayed below the primary value."))),Object(c.b)("h4",{id:"methods-29"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-29"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.LargeBarStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"largestatcard"},"LargeStatCard ",Object(c.b)("a",{name:"h2o_wave.types.LargeStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"LargeStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, caption:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a stat card displaying a primary value, an auxiliary value and a caption.")),Object(c.b)("h4",{id:"static-methods-30"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-30"},"load ",Object(c.b)("a",{name:"h2o_wave.types.LargeStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_LargeStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.LargeStatCard",href:"#h2o_wave.types.LargeStatCard"},"LargeStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-30"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value displayed next to the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption displayed below the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.LargeStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-30"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-30"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.LargeStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"layout"},"Layout ",Object(c.b)("a",{name:"h2o_wave.types.Layout"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Layout"),"(breakpoint:\xa0str, zones:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Zone",href:"#h2o_wave.types.Zone"},"Zone"),"], width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, max_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min_height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, max_height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Represents the layout structure for a page.")),Object(c.b)("h4",{id:"static-methods-31"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-31"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Layout.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Layout__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Layout",href:"#h2o_wave.types.Layout"},"Layout")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-31"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Layout.breakpoint",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"breakpoint")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum viewport width at which to use this layout. Values must be pixel widths (e.g. '0px', '576px', '768px') or a named preset. The named presets are: 'xs': '0px' for extra small devices (portrait phones), 's': '576px' for small devices (landscape phones), 'm': '768px' for medium devices (tablets), 'l': '992px' for large devices (desktops), 'xl': '1200px' for extra large devices (large desktops). A breakpoint value of 'xs' (or '0') matches all viewport widths, unless other breakpoints are set.")),Object(c.b)("div",{id:"h2o_wave.types.Layout.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The height of the layout. Defaults to ",Object(c.b)("code",null,"auto"),".")),Object(c.b)("div",{id:"h2o_wave.types.Layout.max_height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The maximum height of the layout.")),Object(c.b)("div",{id:"h2o_wave.types.Layout.max_width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The maximum width of the layout.")),Object(c.b)("div",{id:"h2o_wave.types.Layout.min_height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min_height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum height of the layout.")),Object(c.b)("div",{id:"h2o_wave.types.Layout.min_width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min_width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum width of the layout.")),Object(c.b)("div",{id:"h2o_wave.types.Layout.width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The width of the layout. Defaults to ",Object(c.b)("code",null,"100%"),".")),Object(c.b)("div",{id:"h2o_wave.types.Layout.zones",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"zones")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The zones in this layout. Each zones can in turn contain sub-zones."))),Object(c.b)("h4",{id:"methods-31"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-31"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Layout.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"link"},"Link ",Object(c.b)("a",{name:"h2o_wave.types.Link"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Link"),"(label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, path:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, download:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, button:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, target:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a hyperlink."),Object(c.b)("p",null,"Hyperlinks can be internal or external. Internal hyperlinks have paths that begin with a ",Object(c.b)("code",null,"/")," and point to URLs within the Wave UI. All other kinds of paths are treated as external hyperlinks.")),Object(c.b)("h4",{id:"static-methods-32"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-32"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Link.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Link__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Link",href:"#h2o_wave.types.Link"},"Link")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-32"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Link.button",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"button")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the link should be rendered as a button.")),Object(c.b)("div",{id:"h2o_wave.types.Link.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the link should be disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Link.download",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"download")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the link should be used for file download.")),Object(c.b)("div",{id:"h2o_wave.types.Link.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text to be displayed. If blank, the ",Object(c.b)("code",null,"path")," is used as the label.")),Object(c.b)("div",{id:"h2o_wave.types.Link.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Link.path",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"path")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The path or URL to link to.")),Object(c.b)("div",{id:"h2o_wave.types.Link.target",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"target")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Where to display the link. Setting this to an empty string or ",Object(c.b)("code",null,"'_blank'")," opens the link in a new tab or window.")),Object(c.b)("div",{id:"h2o_wave.types.Link.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Link.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-32"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-32"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Link.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"listcard"},"ListCard ",Object(c.b)("a",{name:"h2o_wave.types.ListCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ListCard"),"(box:\xa0str, title:\xa0str, item_view:\xa0str, item_props:\xa0Union[dict,\xa0str], data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out in the form of a list (vertically, top-to-bottom).")),Object(c.b)("h4",{id:"static-methods-33"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-33"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ListCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ListCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ListCard",href:"#h2o_wave.types.ListCard"},"ListCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-33"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ListCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.ListCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.ListCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.ListCard.item_props",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"item_props")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The child card properties.")),Object(c.b)("div",{id:"h2o_wave.types.ListCard.item_view",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"item_view")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The child card type.")),Object(c.b)("div",{id:"h2o_wave.types.ListCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-33"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-33"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ListCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"listitem1card"},"ListItem1Card ",Object(c.b)("a",{name:"h2o_wave.types.ListItem1Card"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ListItem1Card"),"(box:\xa0str, title:\xa0str, caption:\xa0str, value:\xa0str, aux_value:\xa0str, data:\xa0Union[dict,\xa0str], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("h4",{id:"static-methods-34"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-34"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ListItem1Card.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ListItem1Card__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ListItem1Card",href:"#h2o_wave.types.ListItem1Card"},"ListItem1Card")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-34"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE.")),Object(c.b)("div",{id:"h2o_wave.types.ListItem1Card.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE."))),Object(c.b)("h4",{id:"methods-34"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-34"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ListItem1Card.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"mark"},"Mark ",Object(c.b)("a",{name:"h2o_wave.types.Mark"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Mark"),"(coord:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, x:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, x0:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, x1:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, x2:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, x_min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, x_max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, x_nice:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, x_scale:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, x_title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, y:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, y0:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, y1:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, y2:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, y_min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, y_max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, y_nice:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, y_scale:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, y_title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, color_range:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, color_domain:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, shape:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, shape_range:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, size:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, size_range:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, stack:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, dodge:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, fill_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, fill_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, stroke_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, stroke_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, stroke_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, stroke_dash:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_offset:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_offset_x:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_offset_y:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_rotation:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_position:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_overlap:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_fill_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_fill_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_stroke_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_stroke_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_stroke_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_font_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_font_weight:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_line_height:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_align:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, ref_stroke_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, ref_stroke_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, ref_stroke_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, ref_stroke_dash:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a specification for a layer of graphical marks such as bars, lines, points for a plot. A plot can contain multiple such layers of marks.")),Object(c.b)("h4",{id:"static-methods-35"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-35"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Mark.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Mark__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Mark",href:"#h2o_wave.types.Mark"},"Mark")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-35"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Mark.color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark color field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.color_domain",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"color_domain")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The unique values in the data (labels or categories or classes) to map colors to, e.g. ",Object(c.b)("code",null,"['high', 'medium', 'low']"),". If this is not provided, the unique values are automatically inferred from the ",Object(c.b)("code",null,"color")," attribute.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.color_range",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"color_range")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark color range for multi-series plots. A string containing space-separated colors, e.g. ",Object(c.b)("code",null,"'#fee8c8 #fdbb84 #e34a33'"))),Object(c.b)("div",{id:"h2o_wave.types.Mark.coord",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"coord")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Coordinate system. ",Object(c.b)("code",null,"rect")," is synonymous to ",Object(c.b)("code",null,"cartesian"),". ",Object(c.b)("code",null,"theta")," is transposed ",Object(c.b)("code",null,"polar"),". One of 'rect', 'cartesian', 'polar', 'theta', 'helix'. See enum h2o_wave.ui.MarkCoord.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.curve",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"curve")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Curve type for ",Object(c.b)("code",null,"line")," and ",Object(c.b)("code",null,"area")," mark types. One of 'none', 'smooth', 'step-before', 'step', 'step-after'. See enum h2o_wave.ui.MarkCurve.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.dodge",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"dodge")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Field to dodge marks by, or 'auto' to infer.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.fill_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"fill_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark fill color.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.fill_opacity",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"fill_opacity")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark fill opacity.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_align",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_align")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label text alignment. One of 'left', 'right', 'center', 'start', 'end'. See enum h2o_wave.ui.MarkLabelAlign.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_fill_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_fill_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label fill color.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_fill_opacity",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_fill_opacity")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label fill opacity.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_font_size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_font_size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label font size.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_font_weight",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_font_weight")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label font weight.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_line_height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_line_height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label line height.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_offset",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_offset")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Distance between label and mark.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_offset_x",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_offset_x")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Horizontal distance between label and mark.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_offset_y",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_offset_y")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Vertical distance between label and mark.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_overlap",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_overlap")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Strategy to use if labels overlap. One of 'hide', 'overlap', 'constrain'. See enum h2o_wave.ui.MarkLabelOverlap.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_position",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_position")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label position relative to the mark. One of 'top', 'bottom', 'middle', 'left', 'right'. See enum h2o_wave.ui.MarkLabelPosition.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_rotation",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_rotation")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label rotation angle, in degrees, or 'none' to disable automatic rotation. The default behavior is 'auto' for automatic rotation.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_stroke_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_stroke_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label stroke color.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_stroke_opacity",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_stroke_opacity")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label stroke opacity.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.label_stroke_size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label_stroke_size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Label stroke size (line width or pen thickness).")),Object(c.b)("div",{id:"h2o_wave.types.Mark.ref_stroke_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"ref_stroke_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Reference line stroke color.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.ref_stroke_dash",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"ref_stroke_dash")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Reference line stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].")),Object(c.b)("div",{id:"h2o_wave.types.Mark.ref_stroke_opacity",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"ref_stroke_opacity")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Reference line stroke opacity.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.ref_stroke_size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"ref_stroke_size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Reference line stroke size (line width or pen thickness).")),Object(c.b)("div",{id:"h2o_wave.types.Mark.shape",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"shape")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark shape field or value for ",Object(c.b)("code",null,"point")," mark types. Possible values are 'circle', 'square', 'bowtie', 'diamond', 'hexagon', 'triangle', 'triangle-down', 'cross', 'tick', 'plus', 'hyphen', 'line'.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.shape_range",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"shape_range")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark shape range for multi-series plots using ",Object(c.b)("code",null,"point")," mark types. A string containing space-separated shapes, e.g. ",Object(c.b)("code",null,"'circle square diamond'"))),Object(c.b)("div",{id:"h2o_wave.types.Mark.size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark size field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.size_range",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"size_range")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark size range. A string containing space-separated integers, e.g. ",Object(c.b)("code",null,"'4 30'"))),Object(c.b)("div",{id:"h2o_wave.types.Mark.stack",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stack")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Field to stack marks by, or 'auto' to infer.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.stroke_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stroke_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark stroke color.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.stroke_dash",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stroke_dash")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].")),Object(c.b)("div",{id:"h2o_wave.types.Mark.stroke_opacity",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stroke_opacity")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark stroke opacity.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.stroke_size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"stroke_size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Mark stroke size.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Graphical geometry. One of 'interval', 'line', 'path', 'point', 'area', 'polygon', 'schema', 'edge', 'heatmap'. See enum h2o_wave.ui.MarkType.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x0",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x0")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X base field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x1",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x1")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X bin lower bound field or value. For histograms.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x2",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x2")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X bin upper bound field or value. For histograms.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x_max",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x_max")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X axis scale maximum.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x_min",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x_min")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X axis scale minimum.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x_nice",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x_nice")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Whether to nice X axis scale ticks.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x_scale",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x_scale")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkXScale.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.x_title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"x_title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"X axis title.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y0",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y0")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y base field or value.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y1",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y1")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y bin lower bound field or value. For histograms.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y2",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y2")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y bin upper bound field or value. For histograms.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y_max",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y_max")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y axis scale maximum.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y_min",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y_min")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y axis scale minimum.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y_nice",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y_nice")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Whether to nice Y axis scale ticks.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y_scale",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y_scale")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkYScale.")),Object(c.b)("div",{id:"h2o_wave.types.Mark.y_title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"y_title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Y axis title."))),Object(c.b)("h4",{id:"methods-35"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-35"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Mark.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markcoord"},"MarkCoord ",Object(c.b)("a",{name:"h2o_wave.types.MarkCoord"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkCoord")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-6"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkCoord.CARTESIAN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CARTESIAN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCoord.HELIX",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"HELIX")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCoord.POLAR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POLAR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCoord.RECT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"RECT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCoord.THETA",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"THETA")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markcurve"},"MarkCurve ",Object(c.b)("a",{name:"h2o_wave.types.MarkCurve"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkCurve")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-7"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkCurve.NONE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"NONE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCurve.SMOOTH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"SMOOTH")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCurve.STEP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCurve.STEP_AFTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_AFTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkCurve.STEP_BEFORE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_BEFORE")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"marklabelalign"},"MarkLabelAlign ",Object(c.b)("a",{name:"h2o_wave.types.MarkLabelAlign"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkLabelAlign")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-8"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkLabelAlign.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelAlign.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelAlign.LEFT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LEFT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelAlign.RIGHT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"RIGHT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelAlign.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"marklabeloverlap"},"MarkLabelOverlap ",Object(c.b)("a",{name:"h2o_wave.types.MarkLabelOverlap"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkLabelOverlap")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-9"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkLabelOverlap.CONSTRAIN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CONSTRAIN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelOverlap.HIDE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"HIDE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelOverlap.OVERLAP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"OVERLAP")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"marklabelposition"},"MarkLabelPosition ",Object(c.b)("a",{name:"h2o_wave.types.MarkLabelPosition"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkLabelPosition")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-10"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkLabelPosition.BOTTOM",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BOTTOM")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelPosition.LEFT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LEFT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelPosition.MIDDLE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"MIDDLE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelPosition.RIGHT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"RIGHT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkLabelPosition.TOP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"TOP")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"marktype"},"MarkType ",Object(c.b)("a",{name:"h2o_wave.types.MarkType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkType")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-11"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkType.AREA",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AREA")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.EDGE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"EDGE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.HEATMAP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"HEATMAP")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.INTERVAL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"INTERVAL")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.LINE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LINE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.PATH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"PATH")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.POINT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POINT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.POLYGON",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POLYGON")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkType.SCHEMA",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"SCHEMA")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markxscale"},"MarkXScale ",Object(c.b)("a",{name:"h2o_wave.types.MarkXScale"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkXScale")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-12"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.CAT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CAT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.CATEGORY",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CATEGORY")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.IDENTITY",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"IDENTITY")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.LINEAR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LINEAR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.LOG",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LOG")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.POW",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POW")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.POWER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POWER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.QUANTILE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"QUANTILE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.QUANTIZE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"QUANTIZE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.TIME",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"TIME")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkXScale.TIME_CATEGORY",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"TIME_CATEGORY")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markyscale"},"MarkYScale ",Object(c.b)("a",{name:"h2o_wave.types.MarkYScale"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkYScale")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-13"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.CAT",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CAT")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.CATEGORY",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CATEGORY")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.IDENTITY",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"IDENTITY")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.LINEAR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LINEAR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.LOG",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LOG")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.POW",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POW")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.POWER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"POWER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.QUANTILE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"QUANTILE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.QUANTIZE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"QUANTIZE")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.TIME",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"TIME")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MarkYScale.TIME_CATEGORY",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"TIME_CATEGORY")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markdowncard"},"MarkdownCard ",Object(c.b)("a",{name:"h2o_wave.types.MarkdownCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkdownCard"),"(box:\xa0str, title:\xa0str, content:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card that renders Markdown content."),Object(c.b)("p",null,"Github-flavored markdown is supported. HTML markup is allowed in markdown content. URLs, if found, are displayed as hyperlinks. Copyright, reserved, trademark, quotes, etc. are replaced with language-neutral symbols.")),Object(c.b)("h4",{id:"static-methods-36"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-36"},"load ",Object(c.b)("a",{name:"h2o_wave.types.MarkdownCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_MarkdownCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.MarkdownCard",href:"#h2o_wave.types.MarkdownCard"},"MarkdownCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-36"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkdownCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.MarkdownCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.MarkdownCard.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The markdown content. Supports Github Flavored Markdown (GFM): ",Object(c.b)("a",{href:"https://guides.github.com/features/mastering-markdown/"},"https://guides.github.com/features/mastering-markdown/"))),Object(c.b)("div",{id:"h2o_wave.types.MarkdownCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Additional data for the card.")),Object(c.b)("div",{id:"h2o_wave.types.MarkdownCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-36"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-36"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.MarkdownCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markup"},"Markup ",Object(c.b)("a",{name:"h2o_wave.types.Markup"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Markup"),"(content:\xa0str, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render HTML content.")),Object(c.b)("h4",{id:"static-methods-37"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-37"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Markup.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Markup__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Markup",href:"#h2o_wave.types.Markup"},"Markup")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-37"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Markup.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The HTML content.")),Object(c.b)("div",{id:"h2o_wave.types.Markup.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Markup.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-37"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-37"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Markup.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"markupcard"},"MarkupCard ",Object(c.b)("a",{name:"h2o_wave.types.MarkupCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MarkupCard"),"(box:\xa0str, title:\xa0str, content:\xa0str, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render HTML content.")),Object(c.b)("h4",{id:"static-methods-38"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-38"},"load ",Object(c.b)("a",{name:"h2o_wave.types.MarkupCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_MarkupCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.MarkupCard",href:"#h2o_wave.types.MarkupCard"},"MarkupCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-38"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MarkupCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.MarkupCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.MarkupCard.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The HTML content.")),Object(c.b)("div",{id:"h2o_wave.types.MarkupCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-38"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-38"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.MarkupCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"messagebar"},"MessageBar ",Object(c.b)("a",{name:"h2o_wave.types.MessageBar"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MessageBar"),"(type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, text:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a message bar."),Object(c.b)("p",null,"A message bar is an area at the top of a primary view that displays relevant status information. You can use a message bar to tell the user about a situation that does not require their immediate attention and therefore does not need to block other activities.")),Object(c.b)("h4",{id:"static-methods-39"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-39"},"load ",Object(c.b)("a",{name:"h2o_wave.types.MessageBar.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_MessageBar__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.MessageBar",href:"#h2o_wave.types.MessageBar"},"MessageBar")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-39"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MessageBar.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.MessageBar.text",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"text")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the message bar.")),Object(c.b)("div",{id:"h2o_wave.types.MessageBar.type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The icon and color of the message bar. One of 'info', 'error', 'warning', 'success', 'danger', 'blocked'. See enum h2o_wave.ui.MessageBarType.")),Object(c.b)("div",{id:"h2o_wave.types.MessageBar.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-39"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-39"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.MessageBar.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"messagebartype"},"MessageBarType ",Object(c.b)("a",{name:"h2o_wave.types.MessageBarType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MessageBarType")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-14"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MessageBarType.BLOCKED",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BLOCKED")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MessageBarType.DANGER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"DANGER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MessageBarType.ERROR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"ERROR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MessageBarType.INFO",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"INFO")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MessageBarType.SUCCESS",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"SUCCESS")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.MessageBarType.WARNING",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"WARNING")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"metacard"},"MetaCard ",Object(c.b)("a",{name:"h2o_wave.types.MetaCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"MetaCard"),"(box:\xa0str, title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, refresh:\xa0Union[int,\xa0NoneType]\xa0=\xa0None, notification:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, redirect:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, layouts:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Layout",href:"#h2o_wave.types.Layout"},"Layout"),"],\xa0NoneType]\xa0=\xa0None, dialog:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.Dialog",href:"#h2o_wave.types.Dialog"},"Dialog"),",\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Represents page-global state."),Object(c.b)("p",null,"This card is invisible. It is used to control attributes of the active page.")),Object(c.b)("h4",{id:"static-methods-40"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-40"},"load ",Object(c.b)("a",{name:"h2o_wave.types.MetaCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_MetaCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.MetaCard",href:"#h2o_wave.types.MetaCard"},"MetaCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-40"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.MetaCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.dialog",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"dialog")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Display a dialog on the page.")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Shortcut icon path. Preferably a ",Object(c.b)("code",null,".png")," file (",Object(c.b)("code",null,".ico")," files may not work in mobile browsers).")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.layouts",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"layouts")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The layouts supported by this page.")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.notification",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"notification")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Display a desktop notification.")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.redirect",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"redirect")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Redirect the page to a new URL.")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.refresh",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"refresh")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Refresh rate in seconds. A value of 0 turns off live-updates. Values != 0 are currently ignored (reserved for future use).")),Object(c.b)("div",{id:"h2o_wave.types.MetaCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title of the page."))),Object(c.b)("h4",{id:"methods-40"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-40"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.MetaCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"navcard"},"NavCard ",Object(c.b)("a",{name:"h2o_wave.types.NavCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"NavCard"),"(box:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.NavGroup",href:"#h2o_wave.types.NavGroup"},"NavGroup"),"], value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card containing a navigation pane.")),Object(c.b)("h4",{id:"static-methods-41"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-41"},"load ",Object(c.b)("a",{name:"h2o_wave.types.NavCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_NavCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.NavCard",href:"#h2o_wave.types.NavCard"},"NavCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-41"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.NavCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.NavCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.NavCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The navigation groups contained in this pane.")),Object(c.b)("div",{id:"h2o_wave.types.NavCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of the active (highlighted) navigation item."))),Object(c.b)("h4",{id:"methods-41"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-41"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.NavCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"navgroup"},"NavGroup ",Object(c.b)("a",{name:"h2o_wave.types.NavGroup"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"NavGroup"),"(label:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.NavItem",href:"#h2o_wave.types.NavItem"},"NavItem"),"], collapsed:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a group of navigation items.")),Object(c.b)("h4",{id:"static-methods-42"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-42"},"load ",Object(c.b)("a",{name:"h2o_wave.types.NavGroup.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_NavGroup__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.NavGroup",href:"#h2o_wave.types.NavGroup"},"NavGroup")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-42"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.NavGroup.collapsed",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"collapsed")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether nav groups should be rendered as collapsed initially")),Object(c.b)("div",{id:"h2o_wave.types.NavGroup.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The navigation items contained in this group.")),Object(c.b)("div",{id:"h2o_wave.types.NavGroup.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The label to display for this group."))),Object(c.b)("h4",{id:"methods-42"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-42"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.NavGroup.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"navitem"},"NavItem ",Object(c.b)("a",{name:"h2o_wave.types.NavItem"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"NavItem"),"(name:\xa0str, label:\xa0str, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a navigation item.")),Object(c.b)("h4",{id:"static-methods-43"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-43"},"load ",Object(c.b)("a",{name:"h2o_wave.types.NavItem.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_NavItem__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.NavItem",href:"#h2o_wave.types.NavItem"},"NavItem")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-43"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.NavItem.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this item should be disabled.")),Object(c.b)("div",{id:"h2o_wave.types.NavItem.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional icon to display next to the label.")),Object(c.b)("div",{id:"h2o_wave.types.NavItem.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The label to display.")),Object(c.b)("div",{id:"h2o_wave.types.NavItem.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of this item. Prefix the name with a '#' to trigger hash-change navigation."))),Object(c.b)("h4",{id:"methods-43"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-43"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.NavItem.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"picker"},"Picker ",Object(c.b)("a",{name:"h2o_wave.types.Picker"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Picker"),"(name:\xa0str, choices:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Choice",href:"#h2o_wave.types.Choice"},"Choice"),"], label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, max_choices:\xa0Union[int,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a picker. Pickers are used to select one or more choices, such as tags or files, from a list. Use a picker to allow the user to quickly search for or manage a few tags or files.")),Object(c.b)("h4",{id:"static-methods-44"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-44"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Picker.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Picker__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Picker",href:"#h2o_wave.types.Picker"},"Picker")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-44"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Picker.choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The choices to be presented.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Controls whether the picker should be disabled or not.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed above the component.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.max_choices",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_choices")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Maximum number of selectable choices. Defaults to no limit.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the picker value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.values",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"values")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The names of the selected choices.")),Object(c.b)("div",{id:"h2o_wave.types.Picker.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-44"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-44"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Picker.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"pixelartcard"},"PixelArtCard ",Object(c.b)("a",{name:"h2o_wave.types.PixelArtCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"PixelArtCard"),"(box:\xa0str, title:\xa0str, data:\xa0Union[dict,\xa0str], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card displaying a collaborative Pixel art tool, just for kicks.")),Object(c.b)("h4",{id:"static-methods-45"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-45"},"load ",Object(c.b)("a",{name:"h2o_wave.types.PixelArtCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_PixelArtCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.PixelArtCard",href:"#h2o_wave.types.PixelArtCard"},"PixelArtCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-45"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.PixelArtCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.PixelArtCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.PixelArtCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.PixelArtCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-45"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-45"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.PixelArtCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"plot"},"Plot ",Object(c.b)("a",{name:"h2o_wave.types.Plot"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Plot"),"(marks:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Mark",href:"#h2o_wave.types.Mark"},"Mark"),"])"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a plot. A plot is composed of one or more graphical mark layers.")),Object(c.b)("h4",{id:"static-methods-46"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-46"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Plot.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Plot__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Plot",href:"#h2o_wave.types.Plot"},"Plot")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-46"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Plot.marks",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"marks")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The graphical mark layers contained in this plot."))),Object(c.b)("h4",{id:"methods-46"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-46"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Plot.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"plotcard"},"PlotCard ",Object(c.b)("a",{name:"h2o_wave.types.PlotCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"PlotCard"),"(box:\xa0str, title:\xa0str, data:\xa0Union[dict,\xa0str], plot:\xa0",Object(c.b)("a",{title:"h2o_wave.types.Plot",href:"#h2o_wave.types.Plot"},"Plot"),", events:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card displaying a plot.")),Object(c.b)("h4",{id:"static-methods-47"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-47"},"load ",Object(c.b)("a",{name:"h2o_wave.types.PlotCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_PlotCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.PlotCard",href:"#h2o_wave.types.PlotCard"},"PlotCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-47"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.PlotCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.PlotCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.PlotCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.PlotCard.events",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"events")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The events to capture on this card.")),Object(c.b)("div",{id:"h2o_wave.types.PlotCard.plot",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot to be displayed in this card.")),Object(c.b)("div",{id:"h2o_wave.types.PlotCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-47"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-47"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.PlotCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"progress"},"Progress ",Object(c.b)("a",{name:"h2o_wave.types.Progress"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Progress"),"(label:\xa0str, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a progress bar."),Object(c.b)("p",null,"Progress bars are used to show the completion status of an operation lasting more than 2 seconds. If the state of progress cannot be determined, do not set a value. Progress bars feature a bar showing total units to completion, and total units finished. The label appears above the bar, and the caption appears below. The label should tell someone exactly what the operation is doing."),Object(c.b)("p",null,"Examples of formatting include: [Object] is being [operation name], or [Object] is being [operation name] to [destination name] or [Object] is being [operation name] from [source name] to [destination name]"),Object(c.b)("p",null,"Status text is generally in units elapsed and total units. Real-world examples include copying files to a storage location, saving edits to a file, and more. Use units that are informative and relevant to give the best idea to users of how long the operation will take to complete. Avoid time units as they are rarely accurate enough to be trustworthy. Also, combine steps of a complex operation into one total bar to avoid \u201crewinding\u201d the bar. Instead change the label to reflect the change if necessary. Bars moving backwards reduce confidence in the service.")),Object(c.b)("h4",{id:"static-methods-48"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-48"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Progress.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Progress__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Progress",href:"#h2o_wave.types.Progress"},"Progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-48"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Progress.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed below the bar.")),Object(c.b)("div",{id:"h2o_wave.types.Progress.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed above the bar.")),Object(c.b)("div",{id:"h2o_wave.types.Progress.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Progress.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Progress.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The progress, between 0.0 and 1.0, or -1 (default) if indeterminate.")),Object(c.b)("div",{id:"h2o_wave.types.Progress.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-48"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-48"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Progress.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"progresstablecelltype"},"ProgressTableCellType ",Object(c.b)("a",{name:"h2o_wave.types.ProgressTableCellType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ProgressTableCellType"),"(color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a cell type that renders a column's cells as progress bars instead of plain text. If set on a column, the cell value must be between 0.0 and 1.0.")),Object(c.b)("h4",{id:"static-methods-49"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-49"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ProgressTableCellType.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ProgressTableCellType__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ProgressTableCellType",href:"#h2o_wave.types.ProgressTableCellType"},"ProgressTableCellType")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-49"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ProgressTableCellType.color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Color of the progress arc.")),Object(c.b)("div",{id:"h2o_wave.types.ProgressTableCellType.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component."))),Object(c.b)("h4",{id:"methods-49"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-49"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ProgressTableCellType.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"rangeslider"},"RangeSlider ",Object(c.b)("a",{name:"h2o_wave.types.RangeSlider"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"RangeSlider"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, step:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, min_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a range slider."),Object(c.b)("p",null,"A range slider is an element used to select a value range. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. Knobs or levers are dragged to one end or the other to make the choice, indicating the current max and min value.")),Object(c.b)("h4",{id:"static-methods-50"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-50"},"load ",Object(c.b)("a",{name:"h2o_wave.types.RangeSlider.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_RangeSlider__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.RangeSlider",href:"#h2o_wave.types.RangeSlider"},"RangeSlider")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-50"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.max",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The maximum value of the slider. Defaults to 100.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.max_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The upper bound of the selected range.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.min",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum value of the slider. Defaults to 0.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.min_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The lower bound of the selected range.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.step",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"step")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The difference between two adjacent values of the slider.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the slider value changes.")),Object(c.b)("div",{id:"h2o_wave.types.RangeSlider.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-50"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-50"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.RangeSlider.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"repeatcard"},"RepeatCard ",Object(c.b)("a",{name:"h2o_wave.types.RepeatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"RepeatCard"),"(box:\xa0str, item_view:\xa0str, item_props:\xa0Union[dict,\xa0str], data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE. Create a card containing other cards.")),Object(c.b)("h4",{id:"static-methods-51"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-51"},"load ",Object(c.b)("a",{name:"h2o_wave.types.RepeatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_RepeatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.RepeatCard",href:"#h2o_wave.types.RepeatCard"},"RepeatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-51"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.RepeatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.RepeatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.RepeatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.RepeatCard.item_props",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"item_props")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The child card properties.")),Object(c.b)("div",{id:"h2o_wave.types.RepeatCard.item_view",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"item_view")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"EXPERIMENTAL. DO NOT USE."))),Object(c.b)("h4",{id:"methods-51"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-51"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.RepeatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"sectioncard"},"SectionCard ",Object(c.b)("a",{name:"h2o_wave.types.SectionCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"SectionCard"),"(box:\xa0str, title:\xa0str, subtitle:\xa0str, items:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Component",href:"#h2o_wave.types.Component"},"Component"),"],\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render a card displaying a title, a subtitle, and optional components. Section cards are typically used to demarcate different sections on a page.")),Object(c.b)("h4",{id:"static-methods-52"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-52"},"load ",Object(c.b)("a",{name:"h2o_wave.types.SectionCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_SectionCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.SectionCard",href:"#h2o_wave.types.SectionCard"},"SectionCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-52"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.SectionCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.SectionCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.SectionCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The components to display in this card")),Object(c.b)("div",{id:"h2o_wave.types.SectionCard.subtitle",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"subtitle")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The subtitle, displayed below the title. Supports Markdown.")),Object(c.b)("div",{id:"h2o_wave.types.SectionCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title."))),Object(c.b)("h4",{id:"methods-52"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-52"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.SectionCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"separator"},"Separator ",Object(c.b)("a",{name:"h2o_wave.types.Separator"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Separator"),"(label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a separator."),Object(c.b)("p",null,"A separator visually separates content into groups.")),Object(c.b)("h4",{id:"static-methods-53"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-53"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Separator.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Separator__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Separator",href:"#h2o_wave.types.Separator"},"Separator")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-53"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Separator.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the separator.")),Object(c.b)("div",{id:"h2o_wave.types.Separator.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Separator.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-53"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-53"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Separator.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"slider"},"Slider ",Object(c.b)("a",{name:"h2o_wave.types.Slider"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Slider"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, step:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a slider."),Object(c.b)("p",null,"A slider is an element used to set a value. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. A knob or lever is dragged to one end or the other to make the choice, indicating the current value. Marks on the slider bar can show values and users can choose where they want to drag the knob or lever to set the value."),Object(c.b)("p",null,"A slider is a good choice when you know that users think of the value as a relative quantity, not a numeric value. For example, users think about setting their audio volume to low or medium \u2014 not about setting the value to two or five."),Object(c.b)("p",null,"The default value of the slider will be zero or be constrained to the min and max values. The min will be returned if the value is set under the min and the max will be returned if set higher than the max value.")),Object(c.b)("h4",{id:"static-methods-54"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-54"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Slider.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Slider__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Slider",href:"#h2o_wave.types.Slider"},"Slider")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-54"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Slider.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.max",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The maximum value of the slider.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.min",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum value of the slider.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.step",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"step")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The difference between two adjacent values of the slider.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the slider value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The current value of the slider.")),Object(c.b)("div",{id:"h2o_wave.types.Slider.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-54"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-54"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Slider.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"smallseriesstatcard"},"SmallSeriesStatCard ",Object(c.b)("a",{name:"h2o_wave.types.SmallSeriesStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"SmallSeriesStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, plot_data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], plot_value:\xa0str, plot_zero_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, plot_category:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a small stat card displaying a primary value and a series plot.")),Object(c.b)("h4",{id:"static-methods-55"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-55"},"load ",Object(c.b)("a",{name:"h2o_wave.types.SmallSeriesStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_SmallSeriesStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.SmallSeriesStatCard",href:"#h2o_wave.types.SmallSeriesStatCard"},"SmallSeriesStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-55"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_category",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_category")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data field to use for x-axis values (ignored if ",Object(c.b)("code",null,"plot_type")," is ",Object(c.b)("code",null,"area"),"; must be provided if ",Object(c.b)("code",null,"plot_type")," is ",Object(c.b)("code",null,"interval"),"). Defaults to 'x'.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's color.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_curve",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_curve")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's curve style. Defaults to ",Object(c.b)("code",null,"linear"),". One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.SmallSeriesStatCardPlotCurve.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's data.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The type of plot. Defaults to ",Object(c.b)("code",null,"area"),". One of 'area', 'interval'. See enum h2o_wave.ui.SmallSeriesStatCardPlotType.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data field to use for y-axis values.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.plot_zero_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_zero_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The base value to use for each y-axis mark. Set this to ",Object(c.b)("code",null,"0")," if you want to pin the x-axis at ",Object(c.b)("code",null,"y=0"),". If not provided, the minimum value from the data is used.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-55"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-55"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.SmallSeriesStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"smallseriesstatcardplotcurve"},"SmallSeriesStatCardPlotCurve ",Object(c.b)("a",{name:"h2o_wave.types.SmallSeriesStatCardPlotCurve"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"SmallSeriesStatCardPlotCurve")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-15"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotCurve.LINEAR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LINEAR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotCurve.SMOOTH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"SMOOTH")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotCurve.STEP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotCurve.STEP_AFTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_AFTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotCurve.STEP_BEFORE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_BEFORE")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"smallseriesstatcardplottype"},"SmallSeriesStatCardPlotType ",Object(c.b)("a",{name:"h2o_wave.types.SmallSeriesStatCardPlotType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"SmallSeriesStatCardPlotType")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-16"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotType.AREA",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AREA")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.SmallSeriesStatCardPlotType.INTERVAL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"INTERVAL")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"smallstatcard"},"SmallStatCard ",Object(c.b)("a",{name:"h2o_wave.types.SmallStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"SmallStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a stat card displaying a single value.")),Object(c.b)("h4",{id:"static-methods-56"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-56"},"load ",Object(c.b)("a",{name:"h2o_wave.types.SmallStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_SmallStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.SmallStatCard",href:"#h2o_wave.types.SmallStatCard"},"SmallStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-56"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.SmallStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.SmallStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.SmallStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.SmallStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.SmallStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-56"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-56"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.SmallStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"spinbox"},"Spinbox ",Object(c.b)("a",{name:"h2o_wave.types.Spinbox"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Spinbox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, step:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a spinbox."),Object(c.b)("p",null,"A spinbox allows the user to incrementally adjust a value in small steps. It is mainly used for numeric values, but other values are supported too.")),Object(c.b)("h4",{id:"static-methods-57"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-57"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Spinbox.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Spinbox__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Spinbox",href:"#h2o_wave.types.Spinbox"},"Spinbox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-57"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Spinbox.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if this field is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.max",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The maximum value of the spinbox.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.min",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum value of the spinbox.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.step",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"step")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The difference between two adjacent values of the spinbox.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The current value of the spinbox.")),Object(c.b)("div",{id:"h2o_wave.types.Spinbox.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-57"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-57"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Spinbox.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"stat"},"Stat ",Object(c.b)("a",{name:"h2o_wave.types.Stat"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Stat"),"(label:\xa0str, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a stat (a label-value pair) for displaying a metric.")),Object(c.b)("h4",{id:"static-methods-58"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-58"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Stat.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Stat__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Stat",href:"#h2o_wave.types.Stat"},"Stat")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-58"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Stat.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption displayed below the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.Stat.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional icon, displayed next to the label.")),Object(c.b)("div",{id:"h2o_wave.types.Stat.icon_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The color of the icon.")),Object(c.b)("div",{id:"h2o_wave.types.Stat.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The label for the metric.")),Object(c.b)("div",{id:"h2o_wave.types.Stat.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The value of the metric."))),Object(c.b)("h4",{id:"methods-58"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-58"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Stat.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"statlistcard"},"StatListCard ",Object(c.b)("a",{name:"h2o_wave.types.StatListCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"StatListCard"),"(box:\xa0str, title:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.StatListItem",href:"#h2o_wave.types.StatListItem"},"StatListItem"),"], name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, subtitle:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render a card displaying a list of stats.")),Object(c.b)("h4",{id:"static-methods-59"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-59"},"load ",Object(c.b)("a",{name:"h2o_wave.types.StatListCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_StatListCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.StatListCard",href:"#h2o_wave.types.StatListCard"},"StatListCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-59"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.StatListCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.StatListCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.StatListCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The individual stats to be displayed.")),Object(c.b)("div",{id:"h2o_wave.types.StatListCard.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional name for this item.")),Object(c.b)("div",{id:"h2o_wave.types.StatListCard.subtitle",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"subtitle")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The subtitle, displayed below the title.")),Object(c.b)("div",{id:"h2o_wave.types.StatListCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title."))),Object(c.b)("h4",{id:"methods-59"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-59"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.StatListCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"statlistitem"},"StatListItem ",Object(c.b)("a",{name:"h2o_wave.types.StatListItem"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"StatListItem"),"(label:\xa0str, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, aux_value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a stat item (a label-value pair) for stat_list_card.")),Object(c.b)("h4",{id:"static-methods-60"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-60"},"load ",Object(c.b)("a",{name:"h2o_wave.types.StatListItem.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_StatListItem__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.StatListItem",href:"#h2o_wave.types.StatListItem"},"StatListItem")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-60"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.StatListItem.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value, displayed below the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.StatListItem.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption for the metric, displayed below the label.")),Object(c.b)("div",{id:"h2o_wave.types.StatListItem.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional icon, displayed next to the label.")),Object(c.b)("div",{id:"h2o_wave.types.StatListItem.icon_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The color of the icon.")),Object(c.b)("div",{id:"h2o_wave.types.StatListItem.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The label for the metric.")),Object(c.b)("div",{id:"h2o_wave.types.StatListItem.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional name for this item (required only if this item is clickable).")),Object(c.b)("div",{id:"h2o_wave.types.StatListItem.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value of the metric.")),Object(c.b)("div",{id:"h2o_wave.types.StatListItem.value_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The font color of the primary value."))),Object(c.b)("h4",{id:"methods-60"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-60"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.StatListItem.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"stattablecard"},"StatTableCard ",Object(c.b)("a",{name:"h2o_wave.types.StatTableCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"StatTableCard"),"(box:\xa0str, title:\xa0str, columns:\xa0List[str], items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.StatTableItem",href:"#h2o_wave.types.StatTableItem"},"StatTableItem"),"], name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, subtitle:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render a card displaying a table of stats.")),Object(c.b)("h4",{id:"static-methods-61"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-61"},"load ",Object(c.b)("a",{name:"h2o_wave.types.StatTableCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_StatTableCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.StatTableCard",href:"#h2o_wave.types.StatTableCard"},"StatTableCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-61"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.StatTableCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.StatTableCard.columns",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"columns")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The names of this table's columns.")),Object(c.b)("div",{id:"h2o_wave.types.StatTableCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.StatTableCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The rows displayed in this table.")),Object(c.b)("div",{id:"h2o_wave.types.StatTableCard.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional name for this item.")),Object(c.b)("div",{id:"h2o_wave.types.StatTableCard.subtitle",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"subtitle")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The subtitle, displayed below the title.")),Object(c.b)("div",{id:"h2o_wave.types.StatTableCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title."))),Object(c.b)("h4",{id:"methods-61"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-61"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.StatTableCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"stattableitem"},"StatTableItem ",Object(c.b)("a",{name:"h2o_wave.types.StatTableItem"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"StatTableItem"),"(label:\xa0str, values:\xa0List[str], name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a stat item (a label and a set of values) for stat_table_card.")),Object(c.b)("h4",{id:"static-methods-62"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-62"},"load ",Object(c.b)("a",{name:"h2o_wave.types.StatTableItem.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_StatTableItem__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.StatTableItem",href:"#h2o_wave.types.StatTableItem"},"StatTableItem")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-62"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.StatTableItem.caption",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"caption")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The caption for the metric, displayed below the label.")),Object(c.b)("div",{id:"h2o_wave.types.StatTableItem.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional icon, displayed next to the label.")),Object(c.b)("div",{id:"h2o_wave.types.StatTableItem.icon_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The color of the icon.")),Object(c.b)("div",{id:"h2o_wave.types.StatTableItem.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The label for the row.")),Object(c.b)("div",{id:"h2o_wave.types.StatTableItem.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional name for this row (required only if this row is clickable).")),Object(c.b)("div",{id:"h2o_wave.types.StatTableItem.values",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"values")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The values displayed in the row."))),Object(c.b)("h4",{id:"methods-62"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-62"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.StatTableItem.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"stats"},"Stats ",Object(c.b)("a",{name:"h2o_wave.types.Stats"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Stats"),"(items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Stat",href:"#h2o_wave.types.Stat"},"Stat"),"], justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, inset:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a set of stats laid out horizontally.")),Object(c.b)("h4",{id:"static-methods-63"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-63"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Stats.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Stats__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Stats",href:"#h2o_wave.types.Stats"},"Stats")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-63"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Stats.inset",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"inset")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Whether to display the stats with a contrasting background.")),Object(c.b)("div",{id:"h2o_wave.types.Stats.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The individual stats to be displayed.")),Object(c.b)("div",{id:"h2o_wave.types.Stats.justify",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"justify")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Specifies how to lay out the individual stats. Defaults to 'start'. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.StatsJustify."))),Object(c.b)("h4",{id:"methods-63"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-63"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Stats.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"statsjustify"},"StatsJustify ",Object(c.b)("a",{name:"h2o_wave.types.StatsJustify"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"StatsJustify")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-17"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.StatsJustify.AROUND",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AROUND")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.StatsJustify.BETWEEN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BETWEEN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.StatsJustify.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.StatsJustify.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.StatsJustify.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"step"},"Step ",Object(c.b)("a",{name:"h2o_wave.types.Step"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Step"),"(label:\xa0str, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, done:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a step for a stepper.")),Object(c.b)("h4",{id:"static-methods-64"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-64"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Step.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Step__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Step",href:"#h2o_wave.types.Step"},"Step")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-64"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Step.done",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"done")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether this step has already been completed.")),Object(c.b)("div",{id:"h2o_wave.types.Step.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Icon to be displayed.")),Object(c.b)("div",{id:"h2o_wave.types.Step.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text displayed below icon."))),Object(c.b)("h4",{id:"methods-64"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-64"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Step.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"stepper"},"Stepper ",Object(c.b)("a",{name:"h2o_wave.types.Stepper"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Stepper"),"(name:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Step",href:"#h2o_wave.types.Step"},"Step"),"], visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a component that displays a sequence of steps in a process. The steps keep users informed about where they are in the process and how much is left to complete.")),Object(c.b)("h4",{id:"static-methods-65"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-65"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Stepper.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Stepper__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Stepper",href:"#h2o_wave.types.Stepper"},"Stepper")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-65"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Stepper.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The sequence of steps to be displayed.")),Object(c.b)("div",{id:"h2o_wave.types.Stepper.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Stepper.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Stepper.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-65"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-65"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Stepper.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tab"},"Tab ",Object(c.b)("a",{name:"h2o_wave.types.Tab"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Tab"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a tab.")),Object(c.b)("h4",{id:"static-methods-66"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-66"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Tab.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Tab__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Tab",href:"#h2o_wave.types.Tab"},"Tab")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-66"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Tab.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The icon displayed on the tab.")),Object(c.b)("div",{id:"h2o_wave.types.Tab.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the tab.")),Object(c.b)("div",{id:"h2o_wave.types.Tab.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component."))),Object(c.b)("h4",{id:"methods-66"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-66"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Tab.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tabcard"},"TabCard ",Object(c.b)("a",{name:"h2o_wave.types.TabCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TabCard"),"(box:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Tab",href:"#h2o_wave.types.Tab"},"Tab"),"], value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card containing tabs for navigation.")),Object(c.b)("h4",{id:"static-methods-67"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-67"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TabCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TabCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TabCard",href:"#h2o_wave.types.TabCard"},"TabCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-67"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TabCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.TabCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TabCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The tabs to display in this card")),Object(c.b)("div",{id:"h2o_wave.types.TabCard.link",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"link")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if tabs should be rendered as links instead of buttons.")),Object(c.b)("div",{id:"h2o_wave.types.TabCard.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional name for the card. If provided, the selected tab can be accessed using the name of the card.")),Object(c.b)("div",{id:"h2o_wave.types.TabCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of the tab to select."))),Object(c.b)("h4",{id:"methods-67"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-67"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TabCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"table"},"Table ",Object(c.b)("a",{name:"h2o_wave.types.Table"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Table"),"(name:\xa0str, columns:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.TableColumn",href:"#h2o_wave.types.TableColumn"},"TableColumn"),"], rows:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.TableRow",href:"#h2o_wave.types.TableRow"},"TableRow"),"], multiple:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, groupable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, downloadable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, resettable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create an interactive table."),Object(c.b)("p",null,"This table differs from a markdown table in that it supports clicking or selecting rows. If you simply want to display a non-interactive table of information, use a markdown table."),Object(c.b)("p",null,"If ",Object(c.b)("code",null,"multiple")," is set to False (default), each row in the table is clickable. When a row is clicked, the form is submitted automatically, and ",Object(c.b)("code",null,"q.args.table_name")," is set to ",Object(c.b)("code",null,"[row_name]"),", where ",Object(c.b)("code",null,"table_name")," is the ",Object(c.b)("code",null,"name")," of the table, and ",Object(c.b)("code",null,"row_name")," is the ",Object(c.b)("code",null,"name")," of the row that was clicked on."),Object(c.b)("p",null,"If ",Object(c.b)("code",null,"multiple")," is set to True, each row in the table is selectable. A row can be selected by clicking on it. Multiple rows can be selected either by shift+clicking or using marquee selection. When the form is submitted,",Object(c.b)("code",null,"q.args.table_name")," is set to ",Object(c.b)("code",null,"[row1_name, row2_name, \u2026]")," where ",Object(c.b)("code",null,"table_name")," is the ",Object(c.b)("code",null,"name")," of the table, and ",Object(c.b)("code",null,"row1_name"),", ",Object(c.b)("code",null,"row2_name")," are the ",Object(c.b)("code",null,"name")," of the rows that were selected. Note that if ",Object(c.b)("code",null,"multiple")," is set to True, the form is not submitted automatically, and one or more buttons are required in the form to trigger submission.")),Object(c.b)("h4",{id:"static-methods-68"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-68"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Table.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Table__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Table",href:"#h2o_wave.types.Table"},"Table")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-68"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Table.columns",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"columns")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The columns in this table.")),Object(c.b)("div",{id:"h2o_wave.types.Table.downloadable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"downloadable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether the contents of this table can be downloaded and saved as a CSV file. Defaults to False.")),Object(c.b)("div",{id:"h2o_wave.types.Table.groupable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"groupable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True to allow group by feature.")),Object(c.b)("div",{id:"h2o_wave.types.Table.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The height of the table, e.g. '400px', '50%', etc.")),Object(c.b)("div",{id:"h2o_wave.types.Table.multiple",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"multiple")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True to allow multiple rows to be selected.")),Object(c.b)("div",{id:"h2o_wave.types.Table.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Table.resettable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"resettable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether a Reset button should be displayed to reset search / filter / group-by values to their defaults. Defaults to False.")),Object(c.b)("div",{id:"h2o_wave.types.Table.rows",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"rows")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The rows in this table.")),Object(c.b)("div",{id:"h2o_wave.types.Table.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Table.values",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"values")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The names of the selected rows. If this parameter is set, multiple selections will be allowed (",Object(c.b)("code",null,"multiple")," is assumed to be ",Object(c.b)("code",null,"True"),").")),Object(c.b)("div",{id:"h2o_wave.types.Table.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-68"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-68"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Table.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tablecelltype"},"TableCellType ",Object(c.b)("a",{name:"h2o_wave.types.TableCellType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TableCellType"),"(progress:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.ProgressTableCellType",href:"#h2o_wave.types.ProgressTableCellType"},"ProgressTableCellType"),",\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.IconTableCellType",href:"#h2o_wave.types.IconTableCellType"},"IconTableCellType"),",\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Defines cell content to be rendered instead of a simple text.")),Object(c.b)("h4",{id:"static-methods-69"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-69"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TableCellType.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TableCellType__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TableCellType",href:"#h2o_wave.types.TableCellType"},"TableCellType")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-69"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TableCellType.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"No documentation available.")),Object(c.b)("div",{id:"h2o_wave.types.TableCellType.progress",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"No documentation available."))),Object(c.b)("h4",{id:"methods-69"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-69"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TableCellType.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tablecolumn"},"TableColumn ",Object(c.b)("a",{name:"h2o_wave.types.TableColumn"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TableColumn"),"(name:\xa0str, label:\xa0str, min_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, max_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, sortable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, searchable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, filterable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, data_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, cell_type:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.types.TableCellType",href:"#h2o_wave.types.TableCellType"},"TableCellType"),",\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a table column.")),Object(c.b)("h4",{id:"static-methods-70"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-70"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TableColumn.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TableColumn__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TableColumn",href:"#h2o_wave.types.TableColumn"},"TableColumn")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-70"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TableColumn.cell_type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"cell_type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Defines how to render each cell in this column. Defaults to plain text.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.data_type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data_type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Defines the data type of this column. Defaults to ",Object(c.b)("code",null,"string"),". One of 'string', 'number', 'time'. See enum h2o_wave.ui.TableColumnDataType.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.filterable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"filterable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether the contents of this column are displayed as filters in a dropdown.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed on the column header.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.link",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"link")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether each cell in this column should be displayed as a clickable link.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.max_width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"max_width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The maximum width of this column, e.g. '100px'. Only ",Object(c.b)("code",null,"px")," units are supported at this time.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.min_width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"min_width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The minimum width of this column, e.g. '50px'. Only ",Object(c.b)("code",null,"px")," units are supported at this time.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this column.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.searchable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"searchable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether the contents of this column can be searched through. Enables a search box for the table if true.")),Object(c.b)("div",{id:"h2o_wave.types.TableColumn.sortable",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"sortable")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Indicates whether the column is sortable."))),Object(c.b)("h4",{id:"methods-70"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-70"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TableColumn.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tablecolumndatatype"},"TableColumnDataType ",Object(c.b)("a",{name:"h2o_wave.types.TableColumnDataType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TableColumnDataType")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-18"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TableColumnDataType.NUMBER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"NUMBER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TableColumnDataType.STRING",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STRING")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TableColumnDataType.TIME",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"TIME")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tablerow"},"TableRow ",Object(c.b)("a",{name:"h2o_wave.types.TableRow"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TableRow"),"(name:\xa0str, cells:\xa0List[str])"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a table row.")),Object(c.b)("h4",{id:"static-methods-71"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-71"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TableRow.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TableRow__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TableRow",href:"#h2o_wave.types.TableRow"},"TableRow")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-71"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TableRow.cells",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"cells")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The cells in this row (displayed left to right).")),Object(c.b)("div",{id:"h2o_wave.types.TableRow.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this row."))),Object(c.b)("h4",{id:"methods-71"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-71"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TableRow.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tabs"},"Tabs ",Object(c.b)("a",{name:"h2o_wave.types.Tabs"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Tabs"),"(name:\xa0str, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, items:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Tab",href:"#h2o_wave.types.Tab"},"Tab"),"],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a tab bar.")),Object(c.b)("h4",{id:"static-methods-72"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-72"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Tabs.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Tabs__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Tabs",href:"#h2o_wave.types.Tabs"},"Tabs")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-72"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Tabs.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The tabs in this tab bar.")),Object(c.b)("div",{id:"h2o_wave.types.Tabs.link",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"link")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if tabs should be rendered as links instead of buttons.")),Object(c.b)("div",{id:"h2o_wave.types.Tabs.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Tabs.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The name of the tab to select.")),Object(c.b)("div",{id:"h2o_wave.types.Tabs.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-72"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-72"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Tabs.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tallgaugestatcard"},"TallGaugeStatCard ",Object(c.b)("a",{name:"h2o_wave.types.TallGaugeStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TallGaugeStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a tall stat card displaying a primary value, an auxiliary value and a progress gauge.")),Object(c.b)("h4",{id:"static-methods-73"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-73"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TallGaugeStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TallGaugeStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TallGaugeStatCard",href:"#h2o_wave.types.TallGaugeStatCard"},"TallGaugeStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-73"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value displayed next to the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The color of the progress gauge.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.progress",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The value of the progress gauge, between 0 and 1.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.TallGaugeStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-73"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-73"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TallGaugeStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tallseriesstatcard"},"TallSeriesStatCard ",Object(c.b)("a",{name:"h2o_wave.types.TallSeriesStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TallSeriesStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, plot_data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], plot_value:\xa0str, plot_zero_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, plot_category:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a tall stat card displaying a primary value, an auxiliary value and a series plot.")),Object(c.b)("h4",{id:"static-methods-74"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-74"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TallSeriesStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TallSeriesStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TallSeriesStatCard",href:"#h2o_wave.types.TallSeriesStatCard"},"TallSeriesStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-74"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value displayed below the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_category",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_category")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data field to use for x-axis values (ignored if ",Object(c.b)("code",null,"plot_type")," is ",Object(c.b)("code",null,"area"),"; must be provided if ",Object(c.b)("code",null,"plot_type")," is ",Object(c.b)("code",null,"interval"),"). Defaults to 'x'.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's color.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_curve",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_curve")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's curve style. Defaults to ",Object(c.b)("code",null,"linear"),". One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.TallSeriesStatCardPlotCurve.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's data.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The type of plot. Defaults to ",Object(c.b)("code",null,"area"),". One of 'area', 'interval'. See enum h2o_wave.ui.TallSeriesStatCardPlotType.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data field to use for y-axis values.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.plot_zero_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_zero_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The base value to use for each y-axis mark. Set this to ",Object(c.b)("code",null,"0")," if you want to pin the x-axis at ",Object(c.b)("code",null,"y=0"),". If not provided, the minimum value from the data is used.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-74"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-74"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TallSeriesStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tallseriesstatcardplotcurve"},"TallSeriesStatCardPlotCurve ",Object(c.b)("a",{name:"h2o_wave.types.TallSeriesStatCardPlotCurve"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TallSeriesStatCardPlotCurve")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-19"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotCurve.LINEAR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LINEAR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotCurve.SMOOTH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"SMOOTH")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotCurve.STEP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotCurve.STEP_AFTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_AFTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotCurve.STEP_BEFORE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_BEFORE")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"tallseriesstatcardplottype"},"TallSeriesStatCardPlotType ",Object(c.b)("a",{name:"h2o_wave.types.TallSeriesStatCardPlotType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TallSeriesStatCardPlotType")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-20"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotType.AREA",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AREA")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TallSeriesStatCardPlotType.INTERVAL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"INTERVAL")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"template"},"Template ",Object(c.b)("a",{name:"h2o_wave.types.Template"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Template"),"(content:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render dynamic content using an HTML template.")),Object(c.b)("h4",{id:"static-methods-75"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-75"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Template.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Template__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Template",href:"#h2o_wave.types.Template"},"Template")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-75"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Template.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The Handlebars template. ",Object(c.b)("a",{href:"https://handlebarsjs.com/guide/"},"https://handlebarsjs.com/guide/"))),Object(c.b)("div",{id:"h2o_wave.types.Template.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for the Handlebars template")),Object(c.b)("div",{id:"h2o_wave.types.Template.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Template.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-75"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-75"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Template.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"templatecard"},"TemplateCard ",Object(c.b)("a",{name:"h2o_wave.types.TemplateCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TemplateCard"),"(box:\xa0str, title:\xa0str, content:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Render dynamic content using an HTML template.")),Object(c.b)("h4",{id:"static-methods-76"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-76"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TemplateCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TemplateCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TemplateCard",href:"#h2o_wave.types.TemplateCard"},"TemplateCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-76"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TemplateCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.TemplateCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TemplateCard.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The Handlebars template. ",Object(c.b)("a",{href:"https://handlebarsjs.com/guide/"},"https://handlebarsjs.com/guide/"))),Object(c.b)("div",{id:"h2o_wave.types.TemplateCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for the Handlebars template.")),Object(c.b)("div",{id:"h2o_wave.types.TemplateCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title for this card."))),Object(c.b)("h4",{id:"methods-76"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-76"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TemplateCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"text"},"Text ",Object(c.b)("a",{name:"h2o_wave.types.Text"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Text"),"(content:\xa0str, size:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create text content.")),Object(c.b)("h4",{id:"static-methods-77"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-77"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Text.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Text__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Text",href:"#h2o_wave.types.Text"},"Text")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-77"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Text.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text content.")),Object(c.b)("div",{id:"h2o_wave.types.Text.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Text.size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The font size of the text content. One of 'xl', 'l', 'm', 's', 'xs'. See enum h2o_wave.ui.TextSize.")),Object(c.b)("div",{id:"h2o_wave.types.Text.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tooltip message.")),Object(c.b)("div",{id:"h2o_wave.types.Text.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-77"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-77"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Text.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"textl"},"TextL ",Object(c.b)("a",{name:"h2o_wave.types.TextL"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TextL"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create large sized text content.")),Object(c.b)("h4",{id:"static-methods-78"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-78"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TextL.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TextL__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TextL",href:"#h2o_wave.types.TextL"},"TextL")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-78"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TextL.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextL.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text content.")),Object(c.b)("div",{id:"h2o_wave.types.TextL.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextL.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tooltip message.")),Object(c.b)("div",{id:"h2o_wave.types.TextL.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-78"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-78"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TextL.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"textm"},"TextM ",Object(c.b)("a",{name:"h2o_wave.types.TextM"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TextM"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create medium sized text content.")),Object(c.b)("h4",{id:"static-methods-79"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-79"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TextM.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TextM__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TextM",href:"#h2o_wave.types.TextM"},"TextM")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-79"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TextM.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text content.")),Object(c.b)("div",{id:"h2o_wave.types.TextM.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextM.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tooltip message.")),Object(c.b)("div",{id:"h2o_wave.types.TextM.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-79"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-79"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TextM.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"texts"},"TextS ",Object(c.b)("a",{name:"h2o_wave.types.TextS"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TextS"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create small sized text content.")),Object(c.b)("h4",{id:"static-methods-80"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-80"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TextS.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TextS__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TextS",href:"#h2o_wave.types.TextS"},"TextS")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-80"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TextS.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text content.")),Object(c.b)("div",{id:"h2o_wave.types.TextS.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextS.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tooltip message.")),Object(c.b)("div",{id:"h2o_wave.types.TextS.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-80"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-80"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TextS.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"textsize"},"TextSize ",Object(c.b)("a",{name:"h2o_wave.types.TextSize"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TextSize")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-21"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TextSize.L",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"L")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TextSize.M",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"M")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TextSize.S",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"S")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TextSize.XL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"XL")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.TextSize.XS",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"XS")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"textxl"},"TextXl ",Object(c.b)("a",{name:"h2o_wave.types.TextXl"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TextXl"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create extra-large sized text content.")),Object(c.b)("h4",{id:"static-methods-81"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-81"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TextXl.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TextXl__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TextXl",href:"#h2o_wave.types.TextXl"},"TextXl")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-81"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TextXl.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextXl.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text content.")),Object(c.b)("div",{id:"h2o_wave.types.TextXl.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextXl.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tooltip message.")),Object(c.b)("div",{id:"h2o_wave.types.TextXl.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-81"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-81"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TextXl.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"textxs"},"TextXs ",Object(c.b)("a",{name:"h2o_wave.types.TextXs"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"TextXs"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create extra-small sized text content.")),Object(c.b)("h4",{id:"static-methods-82"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-82"},"load ",Object(c.b)("a",{name:"h2o_wave.types.TextXs.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_TextXs__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.TextXs",href:"#h2o_wave.types.TextXs"},"TextXs")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-82"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.TextXs.content",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"content")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text content.")),Object(c.b)("div",{id:"h2o_wave.types.TextXs.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.TextXs.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Tooltip message.")),Object(c.b)("div",{id:"h2o_wave.types.TextXs.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-82"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-82"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.TextXs.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"textbox"},"Textbox ",Object(c.b)("a",{name:"h2o_wave.types.Textbox"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Textbox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, mask:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, prefix:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, suffix:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, error:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, readonly:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, multiline:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, password:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a text box."),Object(c.b)("p",null,"The text box component enables a user to type text into an app. It's typically used to capture a single line of text, but can be configured to capture multiple lines of text. The text displays on the screen in a simple, uniform format.")),Object(c.b)("h4",{id:"static-methods-83"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-83"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Textbox.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Textbox__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Textbox",href:"#h2o_wave.types.Textbox"},"Textbox")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-83"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Textbox.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the text box is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.error",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"error")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed as an error below the text box.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The height of the text box, e.g. '100px'. Applicable only if ",Object(c.b)("code",null,"multiline")," is true.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.icon",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"icon")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Icon displayed in the far right end of the text field.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The text displayed above the field.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.mask",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"mask")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The masking string that defines the mask's behavior. A backslash will escape any character. Special format characters are: '9': [0-9] 'a': [a-zA-Z] '*': [a-zA-Z0-9].")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.multiline",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"multiline")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the text box should allow multi-line text entry.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.password",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"password")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the text box should hide text content.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.placeholder",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"placeholder")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field. It should be a word or short phrase that demonstrates the expected type of data, rather than an explanatory message.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.prefix",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"prefix")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed before the text box contents.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.readonly",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"readonly")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the text box is a read-only field.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.required",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"required")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the text box is a required field.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.suffix",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"suffix")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed after the text box contents.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the text value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed inside the text box.")),Object(c.b)("div",{id:"h2o_wave.types.Textbox.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-83"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-83"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Textbox.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"toggle"},"Toggle ",Object(c.b)("a",{name:"h2o_wave.types.Toggle"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Toggle"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a toggle. Toggles represent a physical switch that allows users to turn things on or off. Use toggles to present users with two mutually exclusive options (like on/off), where choosing an option results in an immediate action."),Object(c.b)("p",null,"Use a toggle for binary operations that take effect right after the user flips the Toggle. For example, use a Toggle to turn services or hardware components on or off. In other words, if a physical switch would work for the action, a Toggle is probably the best component to use.")),Object(c.b)("h4",{id:"static-methods-84"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-84"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Toggle.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Toggle__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Toggle",href:"#h2o_wave.types.Toggle"},"Toggle")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-84"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Toggle.disabled",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"disabled")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the checkbox is disabled.")),Object(c.b)("div",{id:"h2o_wave.types.Toggle.label",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"label")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Text to be displayed alongside the component.")),Object(c.b)("div",{id:"h2o_wave.types.Toggle.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Toggle.tooltip",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"tooltip")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(c.b)("div",{id:"h2o_wave.types.Toggle.trigger",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"trigger")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the form should be submitted when the toggle value changes.")),Object(c.b)("div",{id:"h2o_wave.types.Toggle.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if selected, False if unselected.")),Object(c.b)("div",{id:"h2o_wave.types.Toggle.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true."))),Object(c.b)("h4",{id:"methods-84"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-84"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Toggle.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"toolbarcard"},"ToolbarCard ",Object(c.b)("a",{name:"h2o_wave.types.ToolbarCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ToolbarCard"),"(box:\xa0str, items:\xa0List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"], secondary_items:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, overflow_items:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card containing a toolbar.")),Object(c.b)("h4",{id:"static-methods-85"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-85"},"load ",Object(c.b)("a",{name:"h2o_wave.types.ToolbarCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_ToolbarCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.ToolbarCard",href:"#h2o_wave.types.ToolbarCard"},"ToolbarCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-85"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ToolbarCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.ToolbarCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.ToolbarCard.items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Items to render.")),Object(c.b)("div",{id:"h2o_wave.types.ToolbarCard.overflow_items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"overflow_items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Items to render in an overflow menu.")),Object(c.b)("div",{id:"h2o_wave.types.ToolbarCard.secondary_items",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"secondary_items")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Items to render on the right side (or left, in RTL)."))),Object(c.b)("h4",{id:"methods-85"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-85"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.ToolbarCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"vegacard"},"VegaCard ",Object(c.b)("a",{name:"h2o_wave.types.VegaCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"VegaCard"),"(box:\xa0str, title:\xa0str, specification:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a card containing a Vega-lite plot.")),Object(c.b)("h4",{id:"static-methods-86"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-86"},"load ",Object(c.b)("a",{name:"h2o_wave.types.VegaCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_VegaCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.VegaCard",href:"#h2o_wave.types.VegaCard"},"VegaCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-86"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.VegaCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.VegaCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.VegaCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for the plot, if any.")),Object(c.b)("div",{id:"h2o_wave.types.VegaCard.specification",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"specification")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The Vega-lite specification.")),Object(c.b)("div",{id:"h2o_wave.types.VegaCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The title of this card."))),Object(c.b)("h4",{id:"methods-86"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-86"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.VegaCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"vegavisualization"},"VegaVisualization ",Object(c.b)("a",{name:"h2o_wave.types.VegaVisualization"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"VegaVisualization"),"(specification:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a Vega-lite plot for display inside a form.")),Object(c.b)("h4",{id:"static-methods-87"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-87"},"load ",Object(c.b)("a",{name:"h2o_wave.types.VegaVisualization.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_VegaVisualization__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.VegaVisualization",href:"#h2o_wave.types.VegaVisualization"},"VegaVisualization")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-87"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.VegaVisualization.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for the plot, if any.")),Object(c.b)("div",{id:"h2o_wave.types.VegaVisualization.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The height of the visualization. Defaults to 300px.")),Object(c.b)("div",{id:"h2o_wave.types.VegaVisualization.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.VegaVisualization.specification",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"specification")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The Vega-lite specification.")),Object(c.b)("div",{id:"h2o_wave.types.VegaVisualization.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true.")),Object(c.b)("div",{id:"h2o_wave.types.VegaVisualization.width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The width of the visualization. Defaults to 100%."))),Object(c.b)("h4",{id:"methods-87"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-87"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.VegaVisualization.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"visualization"},"Visualization ",Object(c.b)("a",{name:"h2o_wave.types.Visualization"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Visualization"),"(plot:\xa0",Object(c.b)("a",{title:"h2o_wave.types.Plot",href:"#h2o_wave.types.Plot"},"Plot"),", data:\xa0Union[dict,\xa0str], width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, events:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a visualization for display inside a form.")),Object(c.b)("h4",{id:"static-methods-88"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-88"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Visualization.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Visualization__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Visualization",href:"#h2o_wave.types.Visualization"},"Visualization")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-88"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Visualization.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this visualization.")),Object(c.b)("div",{id:"h2o_wave.types.Visualization.events",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"events")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The events to capture on this visualization.")),Object(c.b)("div",{id:"h2o_wave.types.Visualization.height",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"height")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The hight of the visualization. Defaults to 300px.")),Object(c.b)("div",{id:"h2o_wave.types.Visualization.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this component.")),Object(c.b)("div",{id:"h2o_wave.types.Visualization.plot",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot to be rendered in this visualization.")),Object(c.b)("div",{id:"h2o_wave.types.Visualization.visible",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"visible")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"True if the component should be visible. Defaults to true.")),Object(c.b)("div",{id:"h2o_wave.types.Visualization.width",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"width")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The width of the visualization. Defaults to 100%."))),Object(c.b)("h4",{id:"methods-88"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-88"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Visualization.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"widebarstatcard"},"WideBarStatCard ",Object(c.b)("a",{name:"h2o_wave.types.WideBarStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"WideBarStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a wide stat card displaying a primary value, an auxiliary value and a progress bar.")),Object(c.b)("h4",{id:"static-methods-89"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-89"},"load ",Object(c.b)("a",{name:"h2o_wave.types.WideBarStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_WideBarStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.WideBarStatCard",href:"#h2o_wave.types.WideBarStatCard"},"WideBarStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-89"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value displayed next to the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The color of the progress bar.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.progress",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The value of the progress bar, between 0 and 1.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.WideBarStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-89"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-89"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.WideBarStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"widegaugestatcard"},"WideGaugeStatCard ",Object(c.b)("a",{name:"h2o_wave.types.WideGaugeStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"WideGaugeStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a wide stat card displaying a primary value, an auxiliary value and a progress gauge.")),Object(c.b)("h4",{id:"static-methods-90"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-90"},"load ",Object(c.b)("a",{name:"h2o_wave.types.WideGaugeStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_WideGaugeStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.WideGaugeStatCard",href:"#h2o_wave.types.WideGaugeStatCard"},"WideGaugeStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-90"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value displayed next to the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The color of the progress gauge.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.progress",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"progress")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The value of the progress gauge, between 0 and 1.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.WideGaugeStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-90"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-90"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.WideGaugeStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"wideseriesstatcard"},"WideSeriesStatCard ",Object(c.b)("a",{name:"h2o_wave.types.WideSeriesStatCard"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"WideSeriesStatCard"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, plot_data:\xa0Union[",Object(c.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], plot_value:\xa0str, plot_zero_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, plot_category:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(c.b)("a",{title:"h2o_wave.types.Command",href:"#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Create a wide stat card displaying a primary value, an auxiliary value and a series plot.")),Object(c.b)("h4",{id:"static-methods-91"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-91"},"load ",Object(c.b)("a",{name:"h2o_wave.types.WideSeriesStatCard.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_WideSeriesStatCard__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.WideSeriesStatCard",href:"#h2o_wave.types.WideSeriesStatCard"},"WideSeriesStatCard")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-91"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.aux_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"aux_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The auxiliary value displayed below the primary value.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.box",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"box")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"A string indicating how to place this component on the page.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.commands",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"commands")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Contextual menu commands for this component.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Data for this card.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_category",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_category")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data field to use for x-axis values (ignored if ",Object(c.b)("code",null,"plot_type")," is ",Object(c.b)("code",null,"area"),"; must be provided if ",Object(c.b)("code",null,"plot_type")," is ",Object(c.b)("code",null,"interval"),"). Defaults to 'x'.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_color",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_color")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's color.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_curve",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_curve")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's curve style. Defaults to ",Object(c.b)("code",null,"linear"),". One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.WideSeriesStatCardPlotCurve.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_data",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_data")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The plot's data.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_type",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_type")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The type of plot. Defaults to ",Object(c.b)("code",null,"area"),". One of 'area', 'interval'. See enum h2o_wave.ui.WideSeriesStatCardPlotType.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The data field to use for y-axis values.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.plot_zero_value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"plot_zero_value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The base value to use for each y-axis mark. Set this to ",Object(c.b)("code",null,"0")," if you want to pin the x-axis at ",Object(c.b)("code",null,"y=0"),". If not provided, the minimum value from the data is used.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.title",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"title")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The card's title.")),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCard.value",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"value")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The primary value displayed."))),Object(c.b)("h4",{id:"methods-91"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-91"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.WideSeriesStatCard.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"wideseriesstatcardplotcurve"},"WideSeriesStatCardPlotCurve ",Object(c.b)("a",{name:"h2o_wave.types.WideSeriesStatCardPlotCurve"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"WideSeriesStatCardPlotCurve")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-22"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotCurve.LINEAR",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"LINEAR")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotCurve.SMOOTH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"SMOOTH")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotCurve.STEP",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotCurve.STEP_AFTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_AFTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotCurve.STEP_BEFORE",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STEP_BEFORE")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"wideseriesstatcardplottype"},"WideSeriesStatCardPlotType ",Object(c.b)("a",{name:"h2o_wave.types.WideSeriesStatCardPlotType"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"WideSeriesStatCardPlotType")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-23"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotType.AREA",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AREA")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.WideSeriesStatCardPlotType.INTERVAL",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"INTERVAL")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"zone"},"Zone ",Object(c.b)("a",{name:"h2o_wave.types.Zone"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"Zone"),"(name:\xa0str, size:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, direction:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, align:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, wrap:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, zones:\xa0Union[List[_ForwardRef('",Object(c.b)("a",{title:"h2o_wave.types.Zone",href:"#h2o_wave.types.Zone"},"Zone"),"')],\xa0NoneType]\xa0=\xa0None)"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Represents an zone within a page layout.")),Object(c.b)("h4",{id:"static-methods-92"},"Static methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"load-92"},"load ",Object(c.b)("a",{name:"h2o_wave.types.Zone.load"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"load"),"(_Zone__d:\xa0Dict) \u2011>\xa0",Object(c.b)("a",{title:"h2o_wave.types.Zone",href:"#h2o_wave.types.Zone"},"Zone")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Creates an instance of this class using the contents of a dict."))))),Object(c.b)("h4",{id:"instance-variables-92"},"Instance variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.Zone.align",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"align")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Layout strategy for cross axis. One of 'start', 'end', 'center', 'stretch'. See enum h2o_wave.ui.ZoneAlign.")),Object(c.b)("div",{id:"h2o_wave.types.Zone.direction",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"direction")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Layout direction. One of 'row', 'column'. See enum h2o_wave.ui.ZoneDirection.")),Object(c.b)("div",{id:"h2o_wave.types.Zone.justify",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"justify")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ZoneJustify.")),Object(c.b)("div",{id:"h2o_wave.types.Zone.name",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"name")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"An identifying name for this zone.")),Object(c.b)("div",{id:"h2o_wave.types.Zone.size",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"size")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The size of this zone.")),Object(c.b)("div",{id:"h2o_wave.types.Zone.wrap",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"wrap")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.ZoneWrap.")),Object(c.b)("div",{id:"h2o_wave.types.Zone.zones",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"zones")),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"The sub-zones contained inside this zone."))),Object(c.b)("h4",{id:"methods-92"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"dump-92"},"dump ",Object(c.b)("a",{name:"h2o_wave.types.Zone.dump"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"dump"),"(self) \u2011>\xa0Dict"),Object(c.b)("div",{className:"api__description"},Object(c.b)("p",null,"Returns the contents of this object as a dict."))))))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"zonealign"},"ZoneAlign ",Object(c.b)("a",{name:"h2o_wave.types.ZoneAlign"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ZoneAlign")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-24"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ZoneAlign.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneAlign.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneAlign.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneAlign.STRETCH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STRETCH")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"zonedirection"},"ZoneDirection ",Object(c.b)("a",{name:"h2o_wave.types.ZoneDirection"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ZoneDirection")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-25"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ZoneDirection.COLUMN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"COLUMN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneDirection.ROW",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"ROW")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"zonejustify"},"ZoneJustify ",Object(c.b)("a",{name:"h2o_wave.types.ZoneJustify"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ZoneJustify")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-26"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ZoneJustify.AROUND",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AROUND")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneJustify.BETWEEN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BETWEEN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneJustify.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneJustify.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneJustify.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"})))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"zonewrap"},"ZoneWrap ",Object(c.b)("a",{name:"h2o_wave.types.ZoneWrap"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"ZoneWrap")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"class-variables-27"},"Class variables"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{id:"h2o_wave.types.ZoneWrap.AROUND",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"AROUND")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneWrap.BETWEEN",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"BETWEEN")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneWrap.CENTER",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"CENTER")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneWrap.END",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"END")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneWrap.START",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"START")),Object(c.b)("div",{className:"api__description"}),Object(c.b)("div",{id:"h2o_wave.types.ZoneWrap.STRETCH",className:"api__signature"},"var ",Object(c.b)("span",{class:"ident"},"STRETCH")),Object(c.b)("div",{className:"api__description"})))))}o.isMDXComponent=!0},302:function(e,a,t){"use strict";t.d(a,"a",(function(){return p})),t.d(a,"b",(function(){return v}));var s=t(0),i=t.n(s);function c(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function b(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);a&&(s=s.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,s)}return t}function n(e){for(var a=1;a=0||(i[t]=e[t]);return i}(e,a);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(s=0;s=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=i.a.createContext({}),o=function(e){var a=i.a.useContext(l),t=a;return e&&(t="function"==typeof e?e(a):n(n({},a),e)),t},p=function(e){var a=o(e.components);return i.a.createElement(l.Provider,{value:a},e.children)},r={inlineCode:"code",wrapper:function(e){var a=e.children;return i.a.createElement(i.a.Fragment,{},a)}},_=i.a.forwardRef((function(e,a){var t=e.components,s=e.mdxType,c=e.originalType,b=e.parentName,l=d(e,["components","mdxType","originalType","parentName"]),p=o(t),_=s,v=p["".concat(b,".").concat(_)]||p[_]||r[_]||c;return t?i.a.createElement(v,n(n({ref:a},l),{},{components:t})):i.a.createElement(v,n({ref:a},l))}));function v(e,a){var t=arguments,s=a&&a.mdxType;if("string"==typeof e||s){var c=t.length,b=new Array(c);b[0]=_;var n={};for(var d in a)hasOwnProperty.call(a,d)&&(n[d]=a[d]);n.originalType=e,n.mdxType="string"==typeof e?e:s,b[1]=n;for(var l=2;l=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var m=a.a.createContext({}),p=function(e){var r=a.a.useContext(m),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},f=function(e){var r=p(e.components);return a.a.createElement(m.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},l=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,c=e.originalType,o=e.parentName,m=u(e,["components","mdxType","originalType","parentName"]),f=p(t),l=n,b=f["".concat(o,".").concat(l)]||f[l]||d[l]||c;return t?a.a.createElement(b,s(s({ref:r},m),{},{components:t})):a.a.createElement(b,s({ref:r},m))}));function b(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var c=t.length,o=new Array(c);o[0]=l;var s={};for(var u in r)hasOwnProperty.call(r,u)&&(s[u]=r[u]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var m=2;m=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var f=a.a.createContext({}),p=function(e){var r=a.a.useContext(f),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},m=function(e){var r=p(e.components);return a.a.createElement(f.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},i=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,c=e.originalType,o=e.parentName,f=u(e,["components","mdxType","originalType","parentName"]),m=p(t),i=n,b=m["".concat(o,".").concat(i)]||m[i]||d[i]||c;return t?a.a.createElement(b,s(s({ref:r},f),{},{components:t})):a.a.createElement(b,s({ref:r},f))}));function b(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var c=t.length,o=new Array(c);o[0]=i;var s={};for(var u in r)hasOwnProperty.call(r,u)&&(s[u]=r[u]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var f=2;f=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=o.a.createContext({}),s=function(e){var t=o.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=s(e.components);return o.a.createElement(u.Provider,{value:t},e.children)},g={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=s(n),d=r,m=p["".concat(c,".").concat(d)]||p[d]||g[d]||a;return n?o.a.createElement(m,l(l({ref:t},u),{},{components:n})):o.a.createElement(m,l({ref:t},u))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,c=new Array(a);c[0]=d;var l={};for(var i in t)hasOwnProperty.call(t,i)&&(l[i]=t[i]);l.originalType=e,l.mdxType="string"==typeof e?e:r,c[1]=l;for(var u=2;u=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=o.a.createContext({}),s=function(e){var t=o.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=s(e.components);return o.a.createElement(l.Provider,{value:t},e.children)},g={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=s(n),d=r,f=p["".concat(i,".").concat(d)]||p[d]||g[d]||a;return n?o.a.createElement(f,c(c({ref:t},l),{},{components:n})):o.a.createElement(f,c({ref:t},l))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var l=2;l=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var u=r.a.createContext({}),p=function(e){var t=r.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},s=function(e){var t=p(e.components);return r.a.createElement(u.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},f=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=p(n),f=a,d=s["".concat(c,".").concat(f)]||s[f]||m[f]||i;return n?r.a.createElement(d,o(o({ref:t},u),{},{components:n})):r.a.createElement(d,o({ref:t},u))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,c=new Array(i);c[0]=f;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:a,c[1]=o;for(var u=2;u=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),l=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=l(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=l(r),d=n,m=p["".concat(o,".").concat(d)]||p[d]||f[d]||i;return r?a.a.createElement(m,c(c({ref:t},s),{},{components:r})):a.a.createElement(m,c({ref:t},s))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var s=2;s=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),s=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=s(n),d=r,f=u["".concat(i,".").concat(d)]||u[d]||m[d]||o;return n?a.a.createElement(f,l(l({ref:t},p),{},{components:n})):a.a.createElement(f,l({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var p=2;p=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),p=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=p(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=p(n),d=r,m=s["".concat(i,".").concat(d)]||s[d]||f[d]||o;return n?a.a.createElement(m,c(c({ref:t},u),{},{components:n})):a.a.createElement(m,c({ref:t},u))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var u=2;u=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=r.a.createContext({}),u=function(e){var t=r.a.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},l=function(e){var t=u(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},A=r.a.forwardRef((function(e,t){var o=e.components,n=e.mdxType,a=e.originalType,d=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),l=u(o),A=n,f=l["".concat(d,".").concat(A)]||l[A]||p[A]||a;return o?r.a.createElement(f,i(i({ref:t},c),{},{components:o})):r.a.createElement(f,i({ref:t},c))}));function f(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=o.length,d=new Array(a);d[0]=A;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,d[1]=i;for(var c=2;c=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=r.a.createContext({}),u=function(e){var t=r.a.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},l=function(e){var t=u(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},A=r.a.forwardRef((function(e,t){var o=e.components,n=e.mdxType,a=e.originalType,d=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),l=u(o),A=n,f=l["".concat(d,".").concat(A)]||l[A]||p[A]||a;return o?r.a.createElement(f,i(i({ref:t},c),{},{components:o})):r.a.createElement(f,i({ref:t},c))}));function f(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=o.length,d=new Array(a);d[0]=A;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,d[1]=i;for(var c=2;c=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),s=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=s(n),m=r,f=u["".concat(i,".").concat(m)]||u[m]||d[m]||o;return n?a.a.createElement(f,l(l({ref:t},c),{},{components:n})):a.a.createElement(f,l({ref:t},c))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=m;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var c=2;c=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),p=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=p(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),u=p(r),f=n,b=u["".concat(i,".").concat(f)]||u[f]||d[f]||o;return r?a.a.createElement(b,c(c({ref:t},l),{},{components:r})):a.a.createElement(b,c({ref:t},l))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=f;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l 0:\n form = q.page['example']\n form.items = items\n else:\n q.page['example'] = ui.form_card(box='1 1 12 10', items=items)\n\n await q.page.save()\n")))}l.isMDXComponent=!0},300:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return b}));var r=n(0),a=n.n(r);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),l=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=l(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(n),d=r,b=p["".concat(c,".").concat(d)]||p[d]||m[d]||o;return n?a.a.createElement(b,i(i({ref:t},u),{},{components:n})):a.a.createElement(b,i({ref:t},u))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,c=new Array(o);c[0]=d;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var u=2;u 0:\n form = q.page['example']\n form.items = items\n else:\n q.page['example'] = ui.form_card(box='1 1 12 10', items=items)\n\n await q.page.save()\n")),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(o.b)("a",{href:Object(c.a)("docs/examples/tags#mode")},"mode")," \u2002",Object(o.b)("a",{href:Object(c.a)("docs/examples/tags#multicast")},"multicast")))}p.isMDXComponent=!0},302:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),l=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=l(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=l(n),m=r,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||o;return n?a.a.createElement(f,i(i({ref:t},s),{},{components:n})):a.a.createElement(f,i({ref:t},s))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,c=new Array(o);c[0]=m;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var s=2;s=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var u=a.a.createContext({}),l=function(e){var n=a.a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):p(p({},n),e)),t},s=function(e){var n=l(e.components);return a.a.createElement(u.Provider,{value:n},e.children)},m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},b=a.a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),s=l(t),b=i,f=s["".concat(o,".").concat(b)]||s[b]||m[b]||r;return t?a.a.createElement(f,p(p({ref:n},u),{},{components:t})):a.a.createElement(f,p({ref:n},u))}));function f(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,o=new Array(r);o[0]=b;var p={};for(var c in n)hasOwnProperty.call(n,c)&&(p[c]=n[c]);p.originalType=e,p.mdxType="string"==typeof e?e:i,o[1]=p;for(var u=2;u=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=i.a.createContext({}),p=function(e){var t=i.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):u(u({},t),e)),n},l=function(e){var t=p(e.components);return i.a.createElement(s.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},m=i.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),l=p(n),m=r,f=l["".concat(o,".").concat(m)]||l[m]||b[m]||a;return n?i.a.createElement(f,u(u({ref:t},s),{},{components:n})):i.a.createElement(f,u({ref:t},s))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=m;var u={};for(var c in t)hasOwnProperty.call(t,c)&&(u[c]=t[c]);u.originalType=e,u.mdxType="string"==typeof e?e:r,o[1]=u;for(var s=2;s=0||(d[t]=A[t]);return d}(A,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(A);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(A,t)&&(d[t]=A[t])}return d}var l=d.a.createContext({}),c=function(A){var e=d.a.useContext(l),t=e;return A&&(t="function"==typeof A?A(e):b(b({},e),A)),t},r=function(A){var e=c(A.components);return d.a.createElement(l.Provider,{value:e},A.children)},f={inlineCode:"code",wrapper:function(A){var e=A.children;return d.a.createElement(d.a.Fragment,{},e)}},n=d.a.forwardRef((function(A,e){var t=A.components,a=A.mdxType,i=A.originalType,s=A.parentName,l=u(A,["components","mdxType","originalType","parentName"]),r=c(t),n=a,E=r["".concat(s,".").concat(n)]||r[n]||f[n]||i;return t?d.a.createElement(E,b(b({ref:e},l),{},{components:t})):d.a.createElement(E,b({ref:e},l))}));function E(A,e){var t=arguments,a=e&&e.mdxType;if("string"==typeof A||a){var i=t.length,s=new Array(i);s[0]=n;var b={};for(var u in e)hasOwnProperty.call(e,u)&&(b[u]=e[u]);b.originalType=A,b.mdxType="string"==typeof A?A:a,s[1]=b;for(var l=2;lfunction(A,e,t,{forcePrependBaseUrl:a=!1,absolute:i=!1}={}){if(!t)return t;if(t.startsWith("#"))return t;if(Object(d.b)(t))return t;if(a)return e+t;const s=t.startsWith(e)?t:e+t.replace(/^\//,"");return i?A+s:s}(e,A,t,a)}}function s(A,e={}){const{withBaseUrl:t}=i();return t(A,e)}},,,,,function(A,e,t){"use strict";function a(A){return!0===/^(\w*:|\/\/)/.test(A)}function d(A){return void 0!==A&&!a(A)}t.d(e,"b",(function(){return a})),t.d(e,"a",(function(){return d}))},,,,,function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/dashboard-24aea705724fd29993c5508a401b3b3c.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/table-markdown-fff816fa17022f80817f83239970db97.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIgAAABlCAYAAACWYKsOAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AAAAtdEVYdENyZWF0aW9uIFRpbWUATW9uIDI4IFNlcCAyMDIwIDExOjQzOjQ5IEFNIFBEVJVpYt8AABW9SURBVHic7Z13WFXHuodfmnRRFAiCQsSKgrDRKE3BFpRoErFgEjUx9pqoOUdjcmLOPfYcNZpYzjFq1MSGmhh77wWlSZciRRCUskFEBDfr/rF1RwSXtGhy77zPs59nLWbmm29m/9asWez51mhJkiQhEDwH7VftgODPjRCIQBYhEIEsQiACWYRABLIIgQhkEQIRyCIEIpBFCEQgixCIQBYhEIEsQiACWYRABLIIgQhkqbZAysvL2bplCwGD3qVb1zfo26c3CxfMp7Cg4I/077l06ezG0CGDX6rddevW4qZw5ciRI7WyPW7sGNwUrhQXF9fav8WLFuGmcCUyMrLWNmpCtQXy7YoVLF++jAcPSvD17YmlpSVBQUFMmTqFJ0tKvvlmKW4KV8LDw/4whwUvF93qZFKpVOzcuQMzMzOCgoIwMjYGYMann3DmzBmioqJwcnL6Qx2tTyRJQktL61W78ZegWiNIWVkZZWVl6OjqwlMdu2jxEk6fOYujoyNzZs9m288/A/Dx6NFMnDBek++3ffsIHDYUD/duvD1wAFu3btGkPRkyT58+zYgP3se9W1dGjviApMRETZ68vDxmzpyBl6cHgwMGERISUsnHyMhIxo0dQ3dvL/r06c2C+fMpKSkB4Pjx47gpXFmzejWjR3/EG106U1paWi27NaG0tJRVq1YycMAAPD3cGTniAy5evFgpX0x0NMMDh+Hp4c7kyZO4fft2hfQ9e3Yz6N138HDvRuCwoRw+dKhOftWFagnEwMAAD09P8nJzGTZ0CKu//56IiAj09PQwNTVFR0eH/v79Nfl9fHwICFDfx0+cOMG8eV9hbGzCxImTaNrUguXLlnHgwP4KdSxZvJiOHZ3w8PAgOjqauXM/16TNmjWT06dO4dihA527dOHrefN4eqVkdnY248eNJSMjg48+Go2Huzu7dwexZPHiCnX8/PNP6OroMCggAG1t7RfarSkrli9n08aNuLh0Yuy4ceTk5DJzxqekpaVVyPf11/NwcnJGoVBw+dIlpk+bikqlAmDXzp3M/9e/MDMz48MPP0Jf34C5cz9n//79VVX5xyNVk6KiImnhwgWSp4e7pHB1kRSuLtLAAW9JV4ODNXmWLl0iKVxdpLCwUM3fbt1Kl44fPy49ePBAkiRJioqKkhSuLtI/vvxCkiRJWrRwoaRwdZF27NiuKTNs6BBJ4eoi5efnS/Hx8ZLC1UUaHjhMUqlUkiRJ0smTJySFq4s0ZHCAJEmSpFQqpfPnzkm3bqVLkiRJKpVK8vL0kPr385MkSZKOHTsmKVxdpCmTJ2nqqI7dZ1m7do2kcHWRDh8+XGV6TEyMdO7sWc35j5s2SQpXF+nXX3+RJEmSxo75uMJ5eXm5NHbsGEnh6iIFB1+RVCqV1Lt3L+nNvn2kwsJC6eHDh9L9oiKpV09f6YP336vQX9evX5f5tuqPas1BAIyNjZk9ew6ffjqDsNBQDh0+xMEDB/jkk+nsCtqNtbV1leWaNbMhKSmJFSuWk5aWRnxcHAClpWUV8rVt205z3KJFCxISEiguLiY5ORkAdw8PtLXVA56np5fmGMDMzIwmTZuwZ/cekpOTSU5Oori4GANDwwp1uLoqNMfVsVtT7O3tiY+L46uv/kHGrQxiYqKrbKuXpxcAWlpaeHt5E3LtGsnJydjZ2ZOXmwuAT4/uFco8evSo1n7VhWoJJCcnh9jYGFq0sMPOzo5u7u50c3enadOmbNq4katXgxk48O0qy3777Qq2bN6Mi4sr7u7u+Pr4smjRwkr5XvjFPDXyS8/cBs6ePcPMGTOwsbGhZ89e9O7TmxXLl1evDhm7NWX8uLHExsbSq1dvevToQbv27TTzsudUWaHOJ8fW1tYsXFTx9lgX4daFatWakZHBJ9On8z///KdGyZIkkXP3LgANGugDoIV6Avuo7He1Hzt6FGtra37YsIExY8fSvHnzGjnYsmVLAC5evKC5T587d47y8nJNnhPHj1NeXs7qNWuZNn06vj6+FBUV1dluTcjIyCA6Opr+/v4sWryYESNHYmBgUGXec2fPAuo+PH/+HAAOLR2wsLCgcePGSJJE69atcXJyokOHDoSGhpCdnVUrv+pKtUYQZ2dnnJycCAsLZXDAINq2a0fKzRQSExOwtramR48eAFhZWQGwcuW3BAwezNtvv0PTphbExsawatVKzBqasXt3UI0cbNOmDZ06dSIiIoKJE8bT0sGBC+fPo6enp8nTtKkFAKtWrsTF1YVDBw8C8o+x1bH7PH79ZS8h165pzi0tLRkWGEiDBg24fOkSWzZvRqlUsmvXzirL//DDemJiYrh9O5OQkBAcWrVC4eaGtrY2o0Z9yIoVy/l49Gi8vL24HhFBcHAwY8aMpWfPXtXosfqlWiOIlpYWK1d9R2BgIKWlZZw+dYrc3Bz8+vVj/Q8bMHx8rx8UEEDv3r1JS0vTPJrNX7CATp06sXPHDvbv/42pU6fV2Mlvvvk3Pj4+xMTEEBwczJf/+Ap9fX1N+pixY/H39+fylcts3LABv379ad7cts52n8eVK1fYvTtI8zl69AimpqZ88+9lNGzYkHXr1hITE8248eOrLD/v638SHhFOaGgo7u4erFy5SnMLGTFyJH/7+9958KCYHzdtIjU1jfHjJzB+woRq9lb9oiXV9cYr+D+N+LFOIIsQiEAWIRCBLEIgAlmEQASyCIEIZBECEcgiBCKQRQhEIIsQiEAWIRCBLEIgAlmEQASyCIEIZPnLCSQ1JYXt27dTWlr6ql35f0G1BeKmcK3w8fX1Ye7nc7j7eNnhy2L1mtUsXbKYCxfO16vd8PAw3BSuLF60qMp0N4Urgwa9W2v7bgpXPnj/vVqXBxg6ZDDu3bpWnfh4WU/YslVcmP1lhb/VhWqvagcwNTWlb983KZfKiY+L4/DhwyQkJLBt+w50dHTq7Ex1GDd2HI6Ojnh4eL6U+v4qxG7+mdzoGIwsLdDS0eHqgqXoNNBDMeuTOtmtkUDMmzTh87lzAXUw95gxHxMRHk5oaAhdurxRJ0eqi0OrVji0avXcdOn/aVhlMy8P7oSFE/XDjwDYeHnQadqkOtut9RxEW1sbNzc3ALJuq1dcl5aWsnzZMvr26U13by8mjB9PTEyMpoxKpWLFiuX09PWhn9+bbN+2jZkzPsVN4YpSqUSpVOKmcGXK5MmaMjExMbgpXFkwfz5QObp96JDB9PT1YdfOnfj69OC7VasACAkJ4aMPR+Hh3o2BA95i7do1FeYtUVGRjBw5Ai9PD8aPH0d29p3adgUAd+7cYc7s2Zq2T58+rVJEHcC+fb/i378fPbp7s3DB/Ao+ZWdnMWvmTHX4aO9efPnFF+Tk5FSr/rKiIkpy89DS1kZLW5uSvHzK7t2rU5ughiPI00iSROR19ZdkaWkJwJdffsHxY8fw8/OjmY0NBw8cYMzHo9m2bTt29vasW7uWLZs3Y2dnh7uHBzt37nhheEJ1KC4uZv36/9KzZ08cO3QgPj6eyZMmYm7ehFEffkhyUhL//c9/yM7K5qt588jPz2fqlCkUFRXxpp8fAN8sXVLr+svLy5k+bSqpqakMH/4eOjo6bNmymenTprJ7z17NguSMzEzW/3c9Pr6+XLt6jaCgICQJPp87l+LiYsaOGcPduzkMHTaUR2Vl7Nmzl+iYaHbu3IWurvxXpUxIxLx9O6w6KyjJy8fIypKc61FYe3SrdbughgJJTUlh8aJFqFQqYmKiiY2Nxc7eHrfOnUlNSeH4sWP4+vbkq3lfA+Dj48vIER+w95e9TJs2naCgXRgYGLBm7VqsrF4jOzuLgEGD6tQAUAeX/3vZMjp2VL9hYM7s2ZSVlbHi22+xt7fX5Nm//zdmzprF4UOHKCwsJDAwkM/+9ncAli5dwvZt22pVv0qlYubMWegbGGjechAXH8eF8+e5ffs2NjY2ANwvKmLTph+xs7NDqVQy6N13+O233/h0xgwOHTpIRkYGn332NwYFBABgbd2M5cuXcfnSJby8vWV9aDVYPYGOXLseLV0dnCeNq1VbnqXGI8jOnTsqnK9ZswZdXV3NreTUqZOVZtrp6enk5eVRUFCAk5MTVlavAWBl9Rpt2rQhIiKitv4DoKenpxEHQHDwFQCGBw6rlDczM1MTdvl0p3f37l5rgejp6dHCzo6DBw6wdesW0tPTSbhxA1AL8wnNmzfHzs4OgEaNGuHk7Mz5c+fIzMjQ9N/SpUtY+sxolp6eXm1fnCaMqVUbnkeNBGJnb8+ePXvJy8tjwFv+NNDXx8TEFADpcUDhWwMGMHjwkArlGpqaao6fffJ6UdTFk6g3OZ6dlBoZGaFUKtn04+ZKeZ+O7JPqKewyKyuL94YHolKp8OvXj85unTl1+hRXLl+ukO/ZGqSKDgAwb97X2L/+eoV8z4t7fhnUapJqbm7O0GHDKCwo4KetWwF1pBrAg+JinJyccHJywtLSkpCQaxQVFWFubk5DMzMSEm6QlaWe1GZlZXHj8ZUG6i8W4NatdE3nhYfV/G1F7dq1V9szNNT4kp6uDhzX09PThF2ePXtGU+bMmTNV2qoOwcFXKCgoYNasz5gz53OGDB1KyYMHlfLdSk8nJSUFAKVSSWRkJPr6+tjY2tK6TVsAih/83n+PHpURGXkdlerVBG5DHSapI0eOYtfOnfz001YChw+nVavWeHl7c+LECWZ8+glt2rbl6JEjpKamsnrNWrS1tQkICGDjhg1MnDAeD09PLl64QAN9fc2LXho0aICzszPXr19n8qSJWFtbc/58zf8hNnLUKE6fPsXkyZPo178/+fn5HNi/H2fnTgweMoQ3/fxYt24tQbt2ce/ePbS0tLgaHPxCu3m5uZqnqScEBARoQj93Be2i+EExEeHhxD1+i8HTGJuYMG3qVLy7e3Pt6jUKCwoYPGQIBgYG+Pv78+OmjSxftoykxCSMTYzZs3s32tra9O/vX+M+qC9q/ZjbuHFjhg0LpKioiM2b1c/eixcvIXD4cKKioti0cSN6eg1YvHgJXbuq5yQTJ07igxEjUBYUcPzYMQIGD6Zd27YV7M6b9zWOjo6EhYWRmJjEnDmfV6r7RTg5OfHd96uxtrZmx/btnDlzhv79+7PsccS/ubk5333/PY6Ojpw+dYo72dnM+XzuC+3eu3evQsjl7t1BpN+6hYeHB1OmTCXnbg5rVq/G0NAQf/+3KpVv0bwFo0eP5tTJk2Rl3WbwkCHMnDkLUP8Tcv0PP+Dp5cWRI4fZsX07jo6OrF33Hxo1alTjPqgvXnno5cQJ4wkODubEyVOvtCMEVfOX+7FO8HIRAhHI8spvMYI/N2IEEcgiBCKQRQhEIIsQiEAWIRCBLEIgAlmEQASyCIEIZBECEcgiBCKQRQhEIEu9C+R2ZgYpN2/Wt1nBK6LaK8o2b9qgOdbS0sLIyBgbW1ucO7lolgoCnDt7hpKSEprZNNPsAlFbIsLDiAgPo2evPtg+Z5eIfb/s5d69Qt4fMarW9Rw7cpjbtzMZFvge+s/s0PDEh+49fLB/vWWNbVenDS8iNSWFM6dPonDrTEcn51rZqC01WnKop6eHja0tUrmEUqnkRnwc6Wmp+PXzx7RhQwA8PL15+LCkzuIQ/DmokUAMjYzo3sNXcx4fF8uVy5e4fPkiffqqA5Bqe5UI/pzUetEyQNt27UlOSuJ2Zib379/H2Ni40pCflJhAVGQk9+4VYmBoSKtWrXF5amuwpMQEYqKjKSwswMjIiLbt2uPYoWOFekpKSjhx7CjZd7IxNTGlyxtdee05oQAqlYqw0BBuJifx6NEjmjRtiptbF5o0bQqAVF5OaGgIiQk30NHRoUM9DNn10YbsrCxCQ66Rl5eLoaERLR0ccHLu9NKC4p9HnSepr1mrg6Dy8/IqpWVnZ3Hh/Dm0tLVwVbjRpElTrkeEExurDhJKTU3hwvlz6DXQw8VVgaGREdeuBpOclFjBTmjIVXT1dLGzs0dZoOTE8aMUFVUdd3r+3FlioqN4zdqadu0duVd4j8OHDmh2CA8PDyM6KhJ9fQPs7OyJj40lLy+31u2vjzbk5eVx7Ohhiovv09HJmSZNm3A9IpwrlytvqfqyqdMIAr9vR1Za+rBSWoFSCYC9/et06OiEY3k56elpNGrUGABz8yb08O2JjY0turq6WL1mzcH9+7idmUlLh98j+G1sbPH0Vm/yZ2JiQkR4GIkJCRVGIoDCggJSU27SooUdHp7qqLnmLew4uH8fCQk3ULh15kZ8HLq6uvR50w9jY2Mc79/n1727a93++mhDVGQE5eXl9OzVh4ZmZgCUq8pJSkykc5fnvA/kJVFngTwRRoMqdmqysbFFX1+f8LBQUm7exNLKihZ2dppOMDU1pUCZT8i1qxQWFmquZFV5xWg6G9vf5zW2ts2JCA/TiO9pcnLVkfBpaan8tOXHCmmFhYWUlDzg4cOHWFhYYvx493BjY2Mam5tz907tovvrow1PNlb+bd8vlezfr4fg9rpQZ4E8efWDeWPzSmnGJiYMfGcQN5OTyM7KIuVmMjfi43By7oSrwo2Qa1eJjorE0sqKZs1saNGiBVcuX6qiFqmKo+dnc2jVmjbPxNvoP/VUJT1rpQ6rcuujDXq6ujwE+lURS2PasCGFhYW1d7CO1GkOEhcbw927d7Bu1gyjx1fk0+Tl5XIrPZ2WDq3w7dWbt99VR/KnP35vRsrNmxibmODXzx/nTi6aR+VnufVU8PKtdHVZsypiaBqbq0X6qKwMCwtL9UhhZEx2VhalZaUYGBiir69Pfl4e9++rr8z794vIz688f6ou9dEG8ybqCbSerp7G73uF98jLzXtl26E+oUYjyIPiYs6eOUV5uUSBMp+CggIMDA3p1s2jyvzKfCWXLp4nMcES+9df17zPzMJSHapoaGRIbm4uoSHX0NfX50Z85XBFgMzMDM6cPomurh7JyUno6OjQqnWbSvkaN26MrW1zUlNTOHXiOI3NzUm5eZPCwgL69PVDS0uLNm3bEnn9OseOHMbGxpaMjFvo6um9cOPip2OKQR1H7NzJpV7a0KFjR9LTUjl+7Aivt3SgpKSE5KRELCwtaduuXZX2XhY1kmdZWRkpN2+Snp7Go0cq2rRtx1tvDXzuVdPSwYEub3Tl4cMSQkOucSc7i/aOHXijqzsA3t19sLSwJC4ulqTERBRunau049blDcpKy0hNuUkjs0b06tMXExOTKvN29/GlfXtHcnLuEhV5HR0dbXr4+GLdrBkALi4KHDt05OHDh6SkpNCmbTssLCxe2PbbmZnciI/TfJ78nFAfbbCwsKR3nzcxNjYhLjaGW+lptGzpgG/P3i/0649GxMUIZBG/5gpkEQIRyCIEIpBFCEQgixCIQBYhEIEsQiACWYRABLIIgQhkEQIRyCIEIpBFCEQgixCIQBYhEIEsQiACWYRABLIIgQhkEQIRyCIEIpBFCEQgy/8C0OwOrfKnMfAAAAAASUVORK5CYII="},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-bokeh-0e17ac43f3cdff49e9cb5ff21d8c8214.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-area-range-0663c734a05c77b333b1cfdca966324f.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-95ba708d52bd4b0bda18da55cfd578e0.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/table-f4d13c60963beb31475a54192f62b47d.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-d3-27f0867826e9547bb4bb23e79517892b.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/table-sort-160ae663649156d89ea2cea500cc21b1.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-step-8c593fd75d3829ee2e6928c3e3c32372.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/glider-gun-8acc444425a295f814222e258d6ca3e3.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-point-custom-2a5eefc8951352109b57a03aa44baeb8.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-point-groups-d949b54bdc3583a858a7cc8c46532c90.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/message-bar-d893610affc5c6857a7cbf1546ad8326.png"},,,function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-point-sizes-8591d0b3d70acfe4b28d08c74515ed4d.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/header-0cdf3777b66e47f9e5320eee81ac5e10.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-stacked-6a492804251cf9ef3fcd33cf721b725f.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-altair-6b648257bc043077af771b8bbdf91735.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-step-before-45d2a85b93deb34a9e029e0d1ac5e578.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-area-negative-72b6ee9e1692572a50b4f9e5f88db0ce.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/template-1b5f5707f248dfd5a606e722345ad2a2.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-polar-stacked-dbb95e41cc47e31cb7614c6c9f3bf387.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-path-2737001d0f8727c8d62799faf298a88e.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-theta-ecd6315a48713f45d162e64c4414325c.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-area-0a621df3247663494f8a594d65f0516d.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-point-ca45d9c0f59368e2e351f8bc69f5566f.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/meta-redirect-ce65a2bb8925d26db3db00327634b324.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/textbox-trigger-3063508395dc193e6087e98ec3caf604.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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M1GbN21SYGB5J76uqPlUTf34n/9cd7ybNkXo8cefcELoigYNG+r333/X8ePHU3fjaZBZ17wStFeULFVSZ86ckZT4kHxoaDU99NBDOnHihLZu3arFixcpKioq2bsnS5a6+m+b67775HK5VOjBQs42l8ul3Pffr6ioKGdb4hIkz4ABANLP+AzYFTlz5lSdOnVVp05dxcbGaszoUerTp7e++nq58uTJo7Nnz6pAwYLJXlfwbwV19uxZr22WrBSvkdL2EgEBevTRR7V61So98cQTWr1qpUJCqii/n1+qx14iIECFChXS5k2b5PF4FB0drfIVKig4OERbtmzR802bauvWrerdu48kOeNt26Z1smffPB6PoqLOJruGlBirSZ09e1abNkWoYoXyqR7rldcVTOnfsuDfnP1XZowySmZd0+32/pH1cblkezzO9/Pnz9OsmTN1+vRpFS5cWH//+9+VO3fuZB9xcr2fmWvZuvo6liABABnFaIB5PB7t3btXhQsXVp48eZztuXLlUtdub+irr77Svn37VKlSJeXLl0+RkaeSnSMyMlJ58+ZN1zieadBAn82Zo46dOmn9+vUaMnTYzV90jaqhodq0KUK2bD355JPKkSOHgkOCtWDBfP380086d+6cQqokfqTClXt98823FBgYmOxc+fLnT9U18+TNo8KFC+u9995P01jz5cunvXuSPyN2OjJSkpx/T5flHTOSdCnJc3qZcc2MtGXLFo0dM0ZvvvmWGjZq5LybtmXLFhly/rp16ypbkhlZAABuldH1FMuy1KVLZ02elDwgfvwx8Z18V5bXKgcFac3q1V4P6sfHx2vlihUKCg5O1zjqPV1PkZGRmjx5ktxut6pVq5bmc4SGVtOOHTv0/fffO+9c/Mc/ysrj8WjGjBl6/PEnlP9yWOXPn18lAgK0b/8+lQgIcL4eKlxYBw4e9FpmvZFKlSrr1KlTypkrl9d5oqKjdeEGoRRUOUi7du1ylkyv+PKrL1WkSBEVLlxYUmIU/fbbb17HbNu+Ldn5LMtSfHz8Dcea2mtmpKNH/59y5sypZi+84MRXdHS0fj9yJEPOX6duXdWsWTNDzgUAuLcZnQGzLEsdXuug8ePH6cyZs6peo4bcbrd2/fKLli5donr166to0aKSpPbt2mvVypXq0vl1vfRSK1kul+bPm6vTp0/rtdc6pGsc+f38FBwc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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-point-map-13e6e7b5d7bfc7c6337172bb86dc84e2.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-line-labels-no-overlap-6597ed5a76ab4f19c1f7e189cbc21624.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-vegalite-form-0d561c88fa3bbc9f612e304db9a412b4.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/layout-responsive-1debcb20924a552a766a09f137c9c58e.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/color-picker-d5462fd8a2dcc2b3d980e2402a61d930.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-form-7b7c198bf0e0f55d1d9389b4f4dcff1a.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-point-shapes-98b5ada97343dfb174c19df0f0ea7ea8.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/table-markdown-pandas-c828d8cd7e85ef6dd5b0501f277050eb.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-annotation-transpose-a0e697aba7f9fa2b783814edfb13d0be.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/text-3c5275bb7d17545e6fd8952074ab9d13.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-area-groups-26a91066657837eeb3ddd3d83dafdc0a.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/issue-tracker-f8f5460fa5058fa880076f1b4d032c9f.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-line-labels-stroked-8f085e306871e3c87d798b4c4206fc11.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/table-filter-ce33da2e8b6fa9d9965683c9017e8662.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},,function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/stat-large-bar-e578fa2ed742b2a1b9eb9ff52d50c476.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-app-6a492804251cf9ef3fcd33cf721b725f.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-line-labels-f98b2fc53482efef18cf834fcd851704.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/graphics-clock-fb82cce5ac3fca365e9cd43ba116c948.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/table-groupby-8a15ae0b2ea905a6961c5783aebe43c5.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-area-smooth-4826228f8423a45fda33727184111c06.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/frame-path-0db07ced544338ad72aef8fed53c931d.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/form-frame-path-e829e3ff6a85bcc0e461e8c2cb505c32.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/textbox-ad4ead8b116b9f18042ba1302cf471c9.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/form-menu-d7388e52d93d99081c085e2d1baa003d.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-area-line-groups-fab3e454a09ab17afeb08c5bbe20a364.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARUAAAD8CAYAAABZ0jAcAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AAAAtdEVYdENyZWF0aW9uIFRpbWUATW9uIDI4IFNlcCAyMDIwIDAyOjA3OjQ5IFBNIFBEVCumBS8AAANUSURBVHic7daxDcJQFARBY1GxY4ggpmQ/imClL6yZCi5a3W1mZgOI7KsHANciKkBKVICUqAApUQFSogKkRAVIiQqQEhUgJSpASlSAlKgAKVEBUqICpEQFSIkKkBIVICUqQEpUgJSoAClRAVKiAqREBUiJCpASFSAlKkBKVICUqAApUQFSogKkRAVIiQqQEhUgJSpASlSAlKgAKVEBUqICpEQFSIkKkBIVICUqQEpUgJSoAClRAVKiAqREBUiJCpASFSAlKkBKVICUqAApUQFSogKkRAVIiQqQEhUgJSpASlSAlKgAKVEBUqICpEQFSIkKkBIVICUqQEpUgJSoAKn76gFXcL4/2/n6rJ7Bj/bnse2PY/WMv+epAClRAVKiAqREBUiJCpASFSAlKkBKVICUqAApUQFSogKkRAVIiQqQEhUgJSpASlSAlKgAKVEBUqICpEQFSIkKkBIVICUqQEpUgJSoAClRAVKiAqREBUiJCpASFSAlKkBKVICUqAApUQFSogKkRAVIiQqQEhUgJSpASlSAlKgAKVEBUqICpEQFSIkKkBIVICUqQEpUgJSoAClRAVKiAqREBUiJCpASFSAlKkBKVICUqAApUQFSogKkRAVIiQqQEhUgJSpASlSAlKgAKVEBUqICpEQFSIkKkBIVICUqQEpUgJSoAClRAVKiAqREBUiJCpASFSAlKkBKVICUqAApUQFSogKkRAVIiQqQEhUgJSpASlSAlKgAKVEBUqICpEQFSIkKkBIVICUqQEpUgJSoAClRAVKiAqREBUiJCpASFSAlKkBKVICUqAApUQFSogKkRAVIiQqQEhUgJSpASlSAlKgAqdvMzOoRwHV4KkBKVICUqAApUQFSogKkRAVIiQqQEhUgJSpASlSAlKgAKVEBUqICpEQFSIkKkBIVICUqQEpUgJSoAClRAVKiAqREBUiJCpASFSAlKkBKVICUqAApUQFSogKkRAVIiQqQEhUgJSpASlSAlKgAKVEBUqICpEQFSIkKkBIVICUqQEpUgJSoAClRAVKiAqREBUiJCpASFSAlKkBKVICUqAApUQFSogKkRAVIiQqQEhUgJSpASlSAlKgAKVEBUqICpEQFSIkKkBIVICUqQEpUgJSoAClRAVJfkOkP8d6gjyUAAAAASUVORK5CYII="},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJoAAACrCAYAAACe2YUfAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AAAAtdEVYdENyZWF0aW9uIFRpbWUATW9uIDI4IFNlcCAyMDIwIDEyOjUyOjAwIFBNIFBEVDkKT7IAABsSSURBVHic7Z1rUFTn/cc/u7CwwC7XhUVguctFUDTeMF5yUZOqMa2p01zqtJlOLm3TzNg2TabTaaeTmNZ2zIsmmU7SVNu8aWMuJjYaE2PyVyFqvIN4YaFcZLmDLCywu+yyz/8FegqCLFH2kOjzmTkze855zvN7nud8z3M7v+esRgghkEgCjHaqEyC5NZBCk6iCFJpEFaTQJKoghSZRBSk0iSpIoUlUQQpNog7CD9u2bRMGg0EAcrvFNoPBILZt2+ZPIhNC4+/NgNFopLe3d7wgkpsYg8GAw+G44Xj8Ck2j0dywEck3m8l4Syn7aBJVkEKTqIIUmkQVpNAkqiCFJlEFKTSJKkihSVRBCk2iClJoElWQQpOoghSaRBWk0CSqIIUmUQUpNIkqSKFJVEEKTaIKUmgSVZBCk6jC105oubm5PP3004SGhk51UiSTib/VK1znCpqraW9vF1u3bhXR0dHjXvf2228LIYRYt27dlK8CktvY9zIgq6Cud3GKEAK73c727dsJCgpiwYIFzJo1i9LSUpYtW3bNBQ+FhYWsXr2aV155BafTeV22JZPLZCxOCWiNduHCBWU/NDRUlJWVCSGEWLBgwZjXaDQa1Z/WqbD5TdsmA9X6aG63mz179gCQn5+PyWRCCMGOHTvYunUrLpeLe++9l1dffRUhBMXFxQBUVFRgs9l49NFHaWpqwm6389vf/pbCwkK+/PJL+vv7OXDgAKmpqYqt4uJi9u/fT3d3Ny0tLbz22muEh4cDsH79eoQQvPDCC5SWluL1eomPj8fpdFJXVzcizeXl5Xi9XsxmszqFdBOj6mAgLi4OgL6+PuXYypUrWbx4Mdu2baOxsXHM62JjY3n66ad58803GRgY4Pnnn2fnzp2UlJSwf/9+li1bxksvvQRASkoKn3/+ORkZGWzevJlPPvmEJ598kldeeWVEnBs3bsTr9fL6669jt9v56KOPSEtLo6CgQIln5syZ7N+/n9bW1kAUx62FGk2nVqsVd911l+jv7xcDAwPCbDYLk8kkhBCira1NGI1G5bpXX31VCCFEcXGxAERFRYUQQoj09HQBiJ/+9KdCCCH+8Ic/CEAEBwcLh8MhampqBCDi4uLE6tWrRWZmpmLb4XCI+vp6AYj169cLIYTYs2fPiPR+73vfE0II8atf/UoA4sknnxRCCPH4449PedM11dvXvunMzc1FCMHg4CCff/45er2eZ555ZkQNcfr0ab9L7t1ut9KsXbp0CYCmpiYAvF4v3d3dStPY2dlJS0sLTzzxBP/5z3+wWq0YDIZR0yUlJSUj9nft2kVfXx+rV68GYM2aNXg8Ht57773rLwCJQnCgDfzlL39BCEFHRwe7d+/m9OnTI877fL5Jtbd27Vo++OADampq2LFjB++88w5btmwZFe5qu/39/ezatYsHHniAhIQE7r77bvbt26cIW3JjBFRolZWVbNy4MZAmRrF+/Xq0Wi0rV66krq4Oo9HIG2+8gd1u93vt9u3befDBB9m0aRMRERG89dZbKqT41iDgNZraNDc3A7B582ZKS0v5/ve/P+F5oD179uBwOHjsscdwu93s3LkzkEm9pbjphPbCCy+QlJTEmjVrWLp0KZs3b8ZoNGIymfxe63K52LlzJxs2bODjjz+mu7tbhRTfIgRq1PlN3bZs2SKEEOKhhx6a8rR8XbbJQArt8jZv3jyxdetW4XK5RF1dnQgJCZnyNH1dtsnga+e9MVUsX76cRx55hDNnzrBu3ToGBgamOkk3FfKLjxK/+JHIhJA1mkQVpNAkqiCFJlEFKTSJKgRUaA8//DDl5eX09/dz7tw5nnrqqUCamzKqq6vJzs4edXzjxo34fD68Xi8ej4eamhoeeeSRCcUZGxs76vXdL37xC6KjoyclzaoTqHm0H/7wh8Jms4n77rtPxMfHizvuuEOUl5eLZ599dsrnhSZ7q66uFtnZ2aOOb9y4Ufz9738XMOTJu2DBAnHp0iWRlJTkN87s7GxRV1c34pjNZlPcpdTcJoOACE2r1YqmpiYxf/78EcdzcnLEsWPHhFarFYBYt26dsFqtoqenR+zdu1dYLBYBCJPJJGw2m/jd734nbDabKC8vF/n5+eLjjz8WTU1N4sMPPxR6vV7AkL/a448/LiorK4XNZhOvvvqq0Ol0is1r2Vi/fr149913lXDz5s0Tx48fV85t375dvP3226KpqUmUlZWJ3NxcJeyGDRtEfX29sNvt4tlnn52Q0K5sR44cEUuWLBEw5Hv3s5/9TDn3zDPPiC1btgiLxaKUf0tLi1i6dKk4duyYcuy5554TgJgxY4b44osvhMPhEOXl5eLOO+9U4qqoqBA/+clPRGVlpejo6BAvvPDClAotIE1nQUEBDoeDY8eOjThutVqZP38+Pp+P/Px8tm3bxkMPPUR0dDQlJSXs2LFDCTtt2jSqqqpISUlh7969lJaW8sQTT5CWlkZYWBgPPfSQEnbdunXMmTOHzMxMEhMTee655wD82hiPVatW8cc//pGkpCR2797N5s2bASgqKuKVV17h/vvvJy4uDoPBgMVi8RtfUFAQq1evJiEhgbKysnHDNjQ0MH36dOrr60lMTKSkpIT58+fT2NhIRkYGf/rTn9DpdOzatYs333yTyMhIfv7zn7Njxw4SExOVeBYsWEBBQQGzZs3ixz/+MUVFRRPKeyAIiNDi4+NpaWkZN8wjjzzCP/7xD06ePInP52PTpk1MmzaNGTNmAOB0Otm+fTsA+/fvp7y8nIsXL+LxePjiiy/IyMhQ4vrrX/9Kf38/AwMDvPTSSzz88MMTsjEeR48e5dSpUwC89dZb5OXlAfDggw/yxhtvUFZWxuDgIC+++CJa7bWL8dFHH8XlcuF0Otm5cycvvvjipPy30rJly7Db7fztb39DCMFnn33Gnj17eOCBB5QwW7duxev10tTURElJiZKHqSAgQmtvbx/xZI1FcnIy1dXVyr4QgqqqKpKTk4EhT4rhzomDg4MjwgYFBSn7w9ca1NfXM23atAnZGI/h/msDAwPodDoAEhMTqa2tVc653W7FNWks/vnPf6LX6wkJCWHu3Lk8++yzrF271q99f1ydNxhqMYbn7Vp5mAoCIrSzZ89iNBqZP3/+iOM5OTkcO3YMrVZLU1MTWVlZyjmNRkN2drbiov1VGD7iy8nJUW78eDa8Xu8I926DwTAhW83NzWRmZir7YWFhJCUlTeja8vJyXn/9ddasWQNw3WmA0XmDobxfT/mpQUCE5vP5+PWvf817773H6tWrMZlMLFmyhHfffZd33nkHn8/Hv/71L370ox9x2223odVq+c1vfkNraytnz579yvaeeuopTCYTUVFRbNq0iX//+98A49qorKxkyZIlZGdnExUVxTPPPDMhW2+//TaPPfYYRUVFBAcH8+c//xmPxzOha5OTk1m7di1VVVUAXLhwgfXr12M0GsnLy2PDhg1K2L6+PhISEkhJSVFq776+PubMmYNOp+PgwYPExsby+OOPo9FoWL58OatWreL999//KkWnHoEYdV7ZHn74YVFeXi6cTqewWq3i6aefHnH+gQceEFarVTgcjlGjzo6ODiXcfffdJ/bt26fs//73vxebNm1SRlePPfaYOH/+vLDb7eK1114b4eJzLRuAeP7554XD4RCVlZXiiSeeGDHqHD4izcvLE9XV1cr+D37wA9HQ0CCam5vFL3/5S1FRUXHNUafP5xNer1d4vV7R0dEhXnvtNREaGioAERYWJj788EPR29sr9u/fLzZt2iS2bNmiXL9582bR09Mj7r33XgGI7373u6K1tVVZAVZQUDBi1HnXXXeNGHUWFhYq+2+99ZbYsGHDzTW9oeZ2dYHKbfK3yUC+gpKoghSaRBWk46PEL34kMiFkjSZRBSk0iSpIoUlUQQpNogpSaBJVkEKTqIIUmkQVpNAkqiCFJlEFKTSJKkihSVRBCk2iClJoElWQQpOoghSaRBWk0CSq4FdoX2UJmOTmY7Luv1+hvfzyy1JstygGg4GXX355UuLy68otkUwGso8mUQUpNIkqSKFJVEEKTaIKUmgSVZBCk6iCFJpEFaTQJKoghSZRBb//QOzxeBhwuyblQx+SmweNRkNIqH7C38X1W6NJkUnGQgjBgNs14fB+hSZFJrkWX0Ubso8mUQUpNIkqSKFJVEEKTaIKUmgSVZBCk6iCFJpEFaTQJKoghSZRBSk0iSpIoUlUQQpNogpSaBJVkEKTqIIUmkQVpNAkqiCFJlEFKTSJKnyjhVZXV8ulS5duKI6GhgbKTp/G4/FM+BqPx0NVlRWn03lDtm8l/K6Cul52vPfuiH2dTkd8QgJFRUWEhYXfcPw9PT2cPHGCqKgolq9YeV1x9Pf3cfLEcZKSktDpdLS3t1Ny8IByXqvVEhFhwJJqIScnF6126LlsuHiRM+Xl9Pf3U1Q0+4bzcvDgATra27n/298hOHj0LRlwu9m160PMZjOLlyy9bjvv73gPo9HIipX3UFl5gbMVFdx5193ExsbeSPInREBrNJ1OR2ZWFplZWRiNRpoaGzl86NCkxB0ZGUnR7NkUzZ5z3XFUWasYHBwkMzNrxPGICAMpKRbM5kQ8ngHOnT1LycED+Hw+ACwWCwUFhUyfnnNDeZhKsrOno9PpKC87rYq9gNVoAHq9ntnDhPDZvk+x2+309vZOyudKs7Kyr/taIQQXGy4SGhpKnMk04lyCOYE5c24DwOfzceL4cRoaLmK1VpKXl48uJITcvLwbSvtUExQUhDkxEVtDA3a7nejo6IDaC6jQrkav19Pd3Y1ON2R2cHCQC+fPY7M14HK5iIyMZEZBAWZzIgAul5PysjJaW1sRQhAdE0PRrCKioqPHbE462ts5e7YCu92OTqfDkppKQUGh0uQNx+Fw4BkYIDFx2rhp1mq1zJ4zh6amRurr6snLy6ex0caXR45QUFhIbm4ePp+Pc2fP0tBwEbfbjcFgIC9/BikpKRPK5xW6urooLztNb28vJpOJObfNJTx87G6G09lP2eky2trbCNJqMZvNFM6chV6vB8DtdnPq5Ana2toICwtnzpzRNb/ZbMbW0EBzc1PAhRbQplMIgcvlwul0Ul9fT3t7O0lJyYSGDhVGxZkzVFZeIC7ORH7+DFwuN4cPHaK3txeAY0eP0tjYiCU1ldy8PHq6uyktLVWasOHYu7ooLS3B4XCQkZlJVFQ0VVYr5WVlY6at77KNiIgIv/nQ6XRERUfT19eL1+sddb6y8gJWayVRUVEUFBai0Wg4dvRLuu32CeXzCieOHyc2Lg6TKZ7W1lYOfVE65tpJr9fLwQMHaG1tISM9g5QUC42NjSOa9yOHD9HU1ERMTAzxCfGcOHF8VFwx0TEAXOq8sQHVRAhojdbb28tHu3cp+5FRURTOnKnsp6WlYU40/69W0QzdlM6ODgwGAz09DoKDgyksnElwcDCJ5kTcA+4xC7/SWonP52PBwoUkJJiBocLu7raPmbaBy6PMkJCQCeUl5PLSf49nYNQ5R48DgJzcPEwmExaLBXuXHX2YfkL5vEJ+fj5p6ekAlBw8QHt7Ox0d7URFRo2w13DxIn19fRQVzSY9IwOA8IhwzpSX09bWSlhYOJ2dnURFR7Nk6TI0Gg1NTY0cOXx4RDyhl2s/lyvwo+eACi0sLIzb5s4FhkR3/tw5Pv/8M5YvX05EhAGD0YjdbufE8WP09fXR1dUFoDyVqampVFVZ+eij3Zji4oiPTyA1LZWgoCAGr6pZuu12NBoNJlO8cqx40e3XTFtQ0FBl7vFObFrjijB1utHCTLFYaGy0UVpykJiYGEymeCypqUrN7S+fV0ic9r+mNDFxGu3t7fT09IwSWpd96PqystOUXdWZ7+3txeMZKptEcyIajQYA87DfV7jykF0JH0gCKrTg4GClH2I2g1aj5dSpk9TX1zNjRgElBw9gt9tJTk5m2rQkoqNjqK6uUq6fOWsWCWYzzc1NXOrs5MyZciqtlaxYsRLtVYX2Vb/ccEUELpf/70d4PB7sXV0YDIYxpx+SkpJYvnwFNpuNzs4OqqqsWK2V3L54MWZzot98jpUHwTgZunxq7rx5GI2RI06Fh4fT3t7uPw5QugHBusB31VWdsB30DQLgG/QpT3ZqaioLFhYzPSeHoKCg/4UdHMTW0IAQgtmz53D38hVkZGYy4HbT2dkxKu7omGiEELS2tirHDh86xIH9/zdmWq50fnu6u8dNs8/n4/Spk/h8PlLT0sYM09rayqWuLmYUFLB02R3MmzcfIQTNzc1+8zmclubm//1uaQEg8qraDCAqeuiY1+slNjaW2NhYfD4fly51IoSPyMgh8bW2tCjdjJaW5lFdjisPWdjlJjSQBFTKLpeLU6dOKr9bW1rQaDQkJScTEhKCVqultbWVKqsV94Cbmpoa5dqgoCDOnTtLf38/06fnoNPpaG5qRqvVEn25EzucnJxcmpuaOH7sKKmpafT09NDe3kZGRuaYadPpdMSZTHR2dOB0OgkLC1POtbW2cfTLLxkc9HLpUhdut4u4uDhycnLHjKvRZqOurpb29jZiYmJoaGgAIC42zm8+h3PhwgW67F309/XT0d5OZGQkJpMJz8DIfmFqahrWykrOlJfT09ODLlhHbW0NaDSkWlKJigonLi6Ozs5OSkoOEhkZSUtzy6jRd1fX0CAgJuYbPmHr8XioramhtqaGttZWIiMjWbiwmNjYWHQ6HYsW3U5ISAjnz5/D3tVFfn7+iOtvX7wEs9lMTW0N58+fIyIinMVLlo45UoyJiWHxkqUYIyOpq6ulp6eb7OzpzCoqumb6rszDNTbaRhzv6+vFZmugra2N0NAQZhQUsGTpsjGnSQBmFRWRmZVFe1sbFWfO4PV4mD1nDpbU1Anl8wrz5s2js6ODjo52zGYzty9eMqpfBUMPybI77iTx8jzYf/9bTUxMDMuWLiMkNBSA4kWLmJaUhL2ri/a2Nm6bO3dUTdreNtTEJk4bf4pnMvD7Fz29jp6AJ2IqOXhgP/39/axYec+Y/a+bFZ/Px+5dHxIeEcHy5SuuOx7DVX3Ea3HrlOw1WLJ0GT6f75r9ppuV6uoqPB4Ps2Zdu8afTG75Gu1Wxev1IoSY8KdBr4Ws0STjonY34Rvtjyb55iCFJlEFKTSJKkihSVQhoD3ChoYGKisv0NfbS3h4BFmXvW1vNj75+GMWL1kyypmzurqK8rIyZdI1PDycGQUFWCypfuMcGBjg4sV6srOnK8eqqqykp2fc8EhxKgiY0Orr6zl3toI5c24jJjYWR08Pp8tO4x30XvNVzs1IenqG4sHSdekSpV+UEh8fj14fNu51AwMDVFdVjRBadVUVycnJUmhXEEJwtuIMi25fTEzM0HvJ0Ph4iouLOXb0KNOn5yg+UhVnzuByuYiNjWPuvLmEhYUz4Hbz2Wf7SM/IoK62Fl1ICAsXLqS8rIzu7m6iY2JYuLCYoKAg9n26l+zs6VitVgYHvUxLSmLWrCLlddG1bDQ22rA1NLCweBEw5N166tRJ7r57OY2NNhptNgTQ2dFBaGgoCxYWYzQaAbh48SLnzlbg8Xi+kkt3TGwsRoOBvt4+9PowTp8+hdFoVF6FVVmtuFwusqdns/eTjwHYvWsXC4uLOVNehtPp5OM9eygsnElObi49PT2cOnmC7u5uwiMiKCqaTXz8kJvUvk/3kpmVRXVVNQMDbjIzs5hRUDAp9/d6CEgfzdHTQ3CwThHZFQwGI3fdvRyNRoPD0cOJ48dZsLCYtfd/G5PJNMIxz+VyYTAYWbV6DeYEMwf272fObXP51qrV+AYHsdkalLCNTY0sX7GCe7+1CrfLhdVaOZQOPzbGo6WlhdzcPFavuY/ExGmcrTgDQHd3N2WnT7Ho9sXct/Z+vF4vTme/3/iEELS0tOB2u4ny4zYdFhbOPfd+i/DwcNbcdx8mk4m77l5OWFgY31q1ipzcXHw+H4cPfUFqWhr3f/s7zJpVxJEjh0e4PXVd6mLlPfewYuVKampr6PbjqRJIAiI094AbvT503DANFxtIS08nOjoajUZDXn4+LpeLnp6hNxFBQUGKz318fDxRUVGEh4ej1WqJizPR3/e/m5uVmUVQUBBarZbp03OwXfae8GdjPGJjYxVXohSLBYdjyIvW1tBARkYmUVFRQ3Hm5Y/7VzX19XV88P4Odn7wPocPfUFuXt6kTJZ2dHSg0+kU75SEhAQSzYk0NTYqYdLT09FoNOj1YZjiTDim8C1PQJrO0JBQXC73uGGcLqfis34Fg8GAy+VEHxqKVqsd4blwtRfD8JurH+biEx4RjvPyUz2eDX8M7wdptVp8viF7LrdrRE2t1WrH7W+lpaUrfbTu7m6+PHKE0FA9027QY8LldBJx1eDDYDTgHJY33TA39eF5mAoCUqMZIyPxej2Ky/IVensd/N/nnyGEIEwfRl9f31Xne/12kseib9giD4ejV3HkG8+GRqNlcJgr9ViLTsZCr9ePiHNwcHDCPvdRUVFkZGbQ0jLk4KjVaEe4c080DTD0cPVdtbil19FL2HWUnxoERGgajYaCwpkcOXyYlpaWIa/Yjg6OHDlCckoKGo2GFIuFurpa7HY7QgguXDhPqF6veId+Ff5b818G3G48Hg/nzlaQYrEAjGvDaDTQ2dFx2cfeQ5XVOiFbKSkW6mpr6e7uRghBxZkz1/RTuxqn00lLc7MyDWI0Gmm02fB6vTgcDi5evKiEDQ4Oxu1243Q6ldo7KCgYu92Oz+fDZDIxMOChrrYWgLa2NlpaW0hKTppwualJwKY30tLS0Gq1VFScoa+3l7CwMLKys5URVmRkJHPnzuPol0eUEeGiRYuuy1aqJZUDB/bjcrlIsViU6ZPxbBiNkWRlZ/P5Z/vQ68OYnjOd2ss3bTyioqIoKpqtLIWbnpMz7pK9urpa6uvrgKHmODklRSmD1LQ0mlua+Wj3LqJjYrBYLAwODrm76/V6srKz+XTvJywsXoTZbKagsJBTJ0+Snp5BQWEhty9ezKmTJygvLyM8IoLi4kXX1SKowTfeTWjfp3tZsLD4umpCyY0zUTch+QpKogpSaBJV+MY3nZKpRTadkq8VUmgSVZBCk6iCFJpEFaTQJKoghSZRBSk0iSpIoUlUQQpNogpSaBJVkEKTqIIUmkQVpNAkqiCFJlEFKTSJKkihSVTBr9DG+iq0RAJfTRt+hRYSqpdik4xCo9EQEjrxP8Lw68otkUwGso8mUQUpNIkqSKFJVEEKTaIKUmgSVZBCk6iCFJpEFf4f5AoBRuRdDnkAAAAASUVORK5CYII="},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/form-b0f5fccd418b3d5e40f559cf1d60cb46.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/table-filter-backend-e69a57efeee01d99d32a542a71466995.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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z/g6bN0OfQvwvfxU+7Ut7UIBJSItlxHA9+KTTkit2UBkwlexl69u82btD4qJTLwAe/NWyMvF/9Y86KyVy080CigRaZ2cLHxv/A3j29NgWynRqd/AuvU/4XObEiaL/cjTRC+YAQeqMAYPxL/4NejXu03aEnfpHpSIJI019ymsm+9wNjUc2A/zumswZ10OgfRWv7f91Dysh56M9dCMa2bie/DuVr+veJcCSkSSyl65huiMH8COQ9uzZ2ZgXv4tjNmzMIYWJvhe67CffxHruZehrNw52K83vrtuw/iXC5NcuXiNAkpE2oT1349g/fl/YFvp4YNdT8IYWohxylAYMghj+GCMMSOgU6bT69q3H3tpCdaiZdgvv3k45A5da/7bjzBnz2r/H0ZcoYASkTZlz38F68HHsRd92KLrjfOmYn7jAoxvX5KUoULpOBRQItJu7Hfew/6gGHvxMuwt2476gK8x8mSMcSMxzp6McfH5CqUvMQWUiIh4kqaZi4iIJymgRETEkxRQIiLiSQooERHxJAWUiIh4kgJKREQ8SQElIiKepIASERFPUkCJiIgnKaBERMSTFFAiIuJJCigREfEkBZSIiHiSAkpERDxJASUiIp6kgBIREU9SQIlIu7vjjju444473C5DPE4BJSIinqSAEpEOa+nSpYwbOyb2a+oZU/jed7/L+++/72pdt/zsZh566C9t2sbECePZsGFD3K9fu3YtRZMntWFFyaeAEpEOLSUlhVdefY1XXn2Nhx5+mKKiIm79xc95+umn3C6tQ5s/fz6zZl3jag1+V1sXEWklwzDo2bMnAD179mTo0GEMGTqEm268kbPOOptevXq5XKG0lHpQInLCmThxEkOGDOWdt9+OHVu7di2zZl3DpIkT+NrFF/HsM8/Ezt1++79z1113xr5/7733GDd2DOvXr48d+9H1s5n78MMAnH3Wmbz66qt859uXM3HCeC6fOYNNGzces57jtQ1QVlbGL37+c84+60ymnjGFX912GwcPHoydLy8v50fXz2bypIlcfNGFlCxf3uz/g2XLPuTyy2cyccJ4rrn6KioqKuJu849//AN33flbVq9axbixY3jxhRfiqjPZFFAickIaPXo0H2/5GICysl1cd+0PmVI0hefnz+cXt/6Sxx//n1hQFBUVsbS4OHbth0uX4vf7WfbhhwA0NDSwYsUKJhcVxV7z9FNP8qt/v52333mXwsGDufXWXxy1jubatm2bn9x0EwCPP/EkTz71NDt3lvLgnx8AIBwOc921PyQ3N49nnnmWO+/6HQ899Bcikcgxf/bt27fz4x/9mAu+egHz//f/uOLKK/nv/5oTO99cmzfd9BN+evPNDBs2jCXFS/n6N77R7DVtQQElIm2urKyMhoaGY55vaGigrKwsqW1mZWVRU10NwLzn5nHqqadxzaxZ9OpVwKRJk7jppp/wxBOPY9s2EydOYvfu3ezevRuA4qXFfOeKK1i61AmtVatWkpGZybBhw2LvP2PGTIYMGUJWVhY//OG1bN++94pyFgAABIRJREFUnQMHDnyhjubaNgyDRx97jP/4zW/o06cPffv25aKLLmb16tUALFq0kNraWm6/4w769uvHyJEjuW72bCzLOubP/vzz85gypYgrrrySXr16cfbZ5/C1r389dr65Nn0+H6mpaaSmpZGamoppms1e0xZ0D0pE2tzvf/97SktLef7550lJSWlyLhKJMGPGDLp3784DDyTvX+PV1dVk5+QAsHnzJk4/fXyT86NGj6ayspL9+/bRuUsXRo4cxdLiYiZNnkzVgQNceeVVXHThBYTDYYqLi5k0aRKGYcSu7927d+y/cw61U1dXR25ubpN24mnbNAzeeON11q9bx85du9iwfj1du3YFYOuWrQwdOhS///DH9dChwzDNY/cvtm7ZysRJE5scGz785CbfH6/NY2nJNa2hHpSItLl7770X0zSZPn16k6GpSCTC9OnTiUaj3HfffUltc9XqVQwZPAQA26ZJuBxNUVERxcVLWLq0mPHjx5OTk8PAgYNYtWoVxUuKKTpieC8RzbVdV1vLd674Dm+8/jqFg4cw65pZzJ59fZPXRKLRz72njW3bx203Gml6jXXEe8TTZkvqTDYFlIi0Ob/fz3PPPYdlWcyYMYNIJBLrOUUikaP2rFpjwYIP+Hjzx5z3la8AMGTIEJZ/bmLB8mXLyM/PJ69zZwAmFxXx4bJlLFm8hPETJgAwYcIE3n77LbZu3cKECU17JPFqru2PPvqIPRUV3P/An5k2bRqnnnZak6HCQYMGsfGjj6irrY0d27B+/XEDalDhIEpWlDQ5tn7D4QkfzbUJYBg46ZrANcmmgBKRdpGSksK8efMIh8PMmTOHOXPmEA6HWx1Otm3H7h9t2LCBuQ8/zL/dcgs33nQj3bt3B+Cy6ZexatVKHn7oIcrKyli8eDH3/ulerr76mljvprCwkEB6Ou+++04sjCZMnMBLL77IKaeMICsrq0X1Ndd2Qe8CwuEwr7/2GuXl5bz77rvMm/dc7PpJkyeTm5vL7bffzo7t21m9ejUPPvggqampx2zz0mmXsqKkhEcffYSysjLeffdd3nrrrdj55toEOOmkfLZt20ZJSQk1NTVxXZNsCigRaTepqanMnz+fqVOnMnXqVObPn3/cD9p4NDQ08LWLL+JrF1/E7OuupaSkhLvv/gPTp8+IvaZXrwL+8tBDFBcv4dJpl3DXnb/l+//6fWbMnNnkvSZPLqJv375069YNgJEjR5EeCLR4eC+etrt1684f/ngPc+c+zKXTLuHll1/iiiuujF2fmprK/Q/8mbpgHTNnzuBXt93G7OtnEwgEjtlm3379uG/Of/HuO+8w7ZJv8bdnn+WWn90SO99cmwBTpkzhK+efz4033sBbb74Z1zXJZtjNDWSKiCRZKBTCMIxWh5Oc2BRQIiLiSRriE5E2d8cdd2AYxnF/afsN+Tz1oERExJPUgxIREU9SQImIiCcpoERExJMUUCIi4kkKKBER8SQFlIiIeJICSkREPEkBJSIinqSAEhERT1JAiYiIJymgRETEkxRQIiLiSQooERHxpP8HRD0aACVCyDwAAAAASUVORK5CYII="},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-events-7a596aca65a061f4db659a1baa2e2c89.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/graphics-primitives-069da2917a0f9226163992fa997d7064.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/checkbox-7b117add24c72bf0c30d9ae546f39718.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/stepper-6ec5c425af780ae34209e38d2ae8821a.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-labels-bc80dada33a6a5f1a61854ef21caf76e.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/card-menu-db530edd23afd919e8bb15708a24c76b.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/graphics-turtle-bf00fb61c0569a86ca32908a60485b91.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-step-after-72cc87c6a29c712eb6728e9d6bd626ca.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/toolbar-routing-84cf0d9860b9d575f5703ddf0e001bf7.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-area-stacked-5624332d0398dd3417cb40e6fd83272c.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-groups-transpose-7a36b34fbae40cd7d645e149db067bf2.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/markdown-3164a3fca5f8ccd5e61dbb00656dc796.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-polar-e54d13fed4e4ea004992a91a9e4644df.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-polygon-cef10aff7abe01503bac3e360a6ece1c.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-range-38b09db44df660cf127c051bee921b70.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-annotation-ad30e4c2b779c452d7ab7d805f037c43.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-plotly-3b71042a87f940cd5002711c65e34e54.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-transpose-d7705a1125bbded7646d335b2bfba02d.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/dropdown-aa5530f33720d6851ade03079d16f40a.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/graphics-spline-76e8a919798c7e38711618ef9b414f78.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/image-dab53361cb560c92baeb4fb3315cab5a.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/markdown-data-34fd56cbb56e79c00a4539f5bfab1e3b.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/toggle-5e565e1d5a735ee4a481835a4e53ee43.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/stat-large-4434acbc0c05f2c331071c827076d7b0.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-area-line-fbcaba9e073f71a07b202834d2992b49.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-range-transpose-ac0df7689c88cb6fe886aaed084918bf.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJoAAABfCAYAAAAQ2t4QAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AAAAtdEVYdENyZWF0aW9uIFRpbWUATW9uIDI4IFNlcCAyMDIwIDExOjM1OjE4IEFNIFBEVI95BMIAAAwUSURBVHic7Z15VFTlAsB/d4AxBtckFHki0ENeuaFmiis9cc0FLZ/Yy633EsTS3LH3jrlkrxJ8JwUxy6Vc0nMExPfSl2VpqbngBuZyVNCQFFQwlKUB5r4/Ria2mXuV8aLw/c6ZMzN3vvstd3732+58d6S8vDwZG8iyXOl12W2CuockSeWeK76uCke1kcqyXGUCQrq6gTWRlAQrRVG0qiIsK5fahAS1hwf5zlWLVt2EBHUbXU1nQFA3EKIJNEGIJtAEIZpAEx5oMCCmNOo2D3XUaU0uIV3doLrTW4qilY1Ur9fj6OgopjfqOLIsU1xcjNFotPih5ITNPlrZS056vR4nJychmQBJknByckKv16u+LKk4GJBlGVmWcXR8oO6coBbj6Oho8UMJq6JZdr4XkajJBBWRJMnsiYpaTbHplBUiENRt1DqiuukUCKqiWk1n2Q6eEE1gi4qOWHNF1ZUBIZrAGmrdEJegBJqgPOoUCFTywKPOe7vbMSuC2kk15tEEAnsiRBNoghBNoAlCNIEmCNEEmiBEE2iCEK0GKS4uruksaIYQrQaZO2d2TWdBMzQRLT09nc6dOloeAd268frf/8alS5cAuHDhAoF9enPgwAEAEhO3k5i4vdrpxsfH0S+oL9m3blU7Lnty+PBhXv3rK+zdu5fBgwaxft06y2eFhYUsWriQXr160q9fEBs3bCi3744diQwaOIAe3QOYO2c2ub/+Win+mzdvMnXqmwR061pue0pKCmNCRhPQrSsTxo8jPT394RSwCjSt0QYOHMiCBQsJDQ3l3PnzzIuYC0DDhg1p164drq6uACQmJpKYmFjt9Fq4t6Bdu3Y84exc7bjsxfXr14mYO4fQsDACAroTs3IlO3d+yc6dXwIQG7uSvPw8du7cxZo1a4mL28aRI0cAOHnyBKtiY1kZu4qvv9mDs8FAVFRkufgvX77MxAnj6dy5c7ntub/+ytw5c5gcHs6+738geMRIwieHYTKZNCm3pqK1aduWocOGMWHiRAYMGMCVK1eQZZlbt25x8OBB0tPTmTZtKqdOnuTUyZN07tSRO3fuYDKZWLUqln79gujRPYA5s2eRk5MDgMlkIiYmmn5BfenZozszZ0zn1r0a7MKFC+zbtw+j0ciGzz+nc6eOJMTHE9T3z7zwQiBbt27RsvgAXLp0CR+fp+nVqzf16unx9vbmw6WRPP30HwFwMbgQGhpGgwYN8PT0pE9gIOfOngXg4sVLdO78HN7e3hgMBoa8OIQLFy+Wi9/JyZHVn3zK8OHB5bbv+t8ugoKC6N27D3q9nuDgYBa/+y4lJSWalLtG+mgZGVdJOnqUgIDulX4iPmXKG5bXK2NXYTAY+Pyzz/hk9WoGDx7MzFmz+PHQId5bsgSA9evWsXbNGkaOfImIiHkkJSUxZ7b1vs+33+5h1qzZ/MHDg8ilS8nMvP5wCmmF9u3bk5l5nbVr1pCVlQWAl5cXfn5+AEwKDcXHxwcwn0THkpJo07YtAJ06deLEieOkpqaSn5/P9sTtBHQLKBe/h8cfcHd3r5TuT6dP4+rqSvjkMHr36smkSa/j6voUTk5OD7O4FjRdcRIVGUlUpLmqb9myJVOnTasUpnXr1nTw9wega1dzHyMxcTv+/h2ZPn0GAM3cmnHt2jXA3Gfp0KEDk8PDAbhx4wbR0Sv4+eefq8zDzFmz8fLywqW+C29Nm8bly1do1qy5fQtqgwYNGrBh4yY2b97EmTNneGVMCKNDQirVQAAxMdG4u7tbmkEfHx/69e/PqJdfQqfT0bJlS8sxUSInJ4dNmzayZMl7tO/QgTWffsrMGTPYsnWrJutBNK3Rxo4bx+YvtvDxx6tp2tSV0EmvW5o5W2RmZuLp6Wl536NnT14eNQqArKwsvLy8LZ+18mpl3p6ZWWVcjRs3BsDgbADQrOkoS5MmTZgy5Q0CAwNZuGgxcXFxxMfHlQuzbds2Dv14iAULF1m2xcVtI/lUMv/575d8/8N+RowYyYzp01Wl6ejoRPCIETzXpQt6vZ6wyZO5cSOLK1eu2LVs1tBUNDc3N/z8/HiuSxfGTxhPdnY2x44lKe7XrFkzLl9Os7w/sH+/pX/l5uZGWlqq5bO0NHO4p9zc7Jx7+5CSkkLS0aOW976+voSEhHD40CHLtj179rB500ZWREdjMBgs2/ft3cvokNG0aNECZ2dnxo4bR2paKplWTqqyeHp6Ulz0+7ydrPHqNk1FS0lOYXtCAlu++IKVMTEA5WqjUlwMBtJSUy1n+fDhwSQnJ7MsKootW7Ywb14Ex48fB2DosGEkJyez/KOPiI+P47P16+ng70+rVq20K9h9kJuby7y355F09CgFhYWcP3eOjRs20KaNuR92LCmJqMilREYto379+hiNRsvErrePDzsSd5CVlUVhYSHx8XE8Ua8eTZo0ITs7m1WrYq2OIge/+CLxCfGcOnUKo9HI8uUf0aKFh2bHSdM+2u7dX7F791fodDo8PDyY/847tG7dmjNnzpQLFxoWxvz581n64VICA19g3Pjx5Ofnk5AQT35+Pt0CAoiImAfAxImvUVhYyPaEBAoKCujatStv/+OfWhbrvujRowehoWEsXryIq1ev8lZqKkOGDuXVsWMB+ODDD8jMzGTUyy9Z9unffwD/ev99wsOnsGxZFCGj/0JBQQHPPPssK6Kj0ev1XLt2je0JCYwZ8wqNGjWqlK6fnx9z50aw4J35ZGVl0cHfn8ioKM3KLVV1V+6yK1tMphJKSkw8+eSTmmWqrjBzxnSilv27prNRLbKzs3Fw0KHTOSBJkuVRESGaoFqoFU1c6xRoghBNoAlCNIEmCNEEmiBEE2iCEE2gCUI0gSYI0QSaIEQTaIIQTaAJQjSBJoh7ut8jt0jm3G3lH0Geyynh6wx16zHff94ZDxdxLoMQzcK5nBLGfpenKmxzZx3NDdZ/MHi3SOZiromMPJMQ7R5CtAq82bYevg0dbIbp6Gr78xM3S5h6MN9cQyr8gPVPjR1o6FT7/8NBiFYB34YOiiIpUf+eOEtOFCqGbeGi47shDaqV3uOAEO0h4NtIx/LuBsVwu9KL2JVepEGOHg65RepvO1snRDuSVcyRG7Y7+hl59l2xraZWPHHr8b7JS8ThAt59Vl3YGhHtyA3lA9zASeKZxtVrwkoJ35/PHZVnn7uNTn5dISPPRMJl5ZpWzSi9FM1FW3G6kOifflMVNsjDiWea2Jbt+acceN7NdjHuFMlM9NPzml891fnUEr+tlW/UUpGYngaCPLRZVZ6RZ2LFaeX+5f1QY02nUh/m7aMFfJNRxDcZymfW+dGVV/08DvRqrk6cdeeNnM0psSma2loIoK+Ho6rWYnl3g3IXoOC2qjTtKtrZ2yWKTdQv+ebPlQqwa1B9xfTWnv+NdeeN6jP4iOHbSIdvI+Vadt15I7/kyza7HAlpRcSnqTsWGXl6Rnhbl/Z+mkS12E20s7dLCP7qrqqwzQ32ncRUO9H6OBOfZlQl0g/DbE+VDNp1V3Vc9e04v2c30e4YzTWVmglPe3W4ezV34sTNEowltmtR/6YOdGz6+A6w1/Zx4a6KwYwaMZZ3N6iKC8w1rr2w+9G3x4Sn6rQa6VjRQ3m+6nHHnl+4PeO6H1SLpmZkJBBYQ7VoE/30imHcDboaO2MEjzaqb4lQ7Ny4JvIneMRxLLgtbokgeHQQogk0QYgm0AQhmkAThGgCTRCiCTRBiCbQBCGaQBOEaAJNEKIJNEGIJtAEIZpAE4RoAk0Qogk0QYgm0AQVookFtQIllB2xKppW/+MoqD3YckZ10ykVqVtdLqg73I8TqkSTJAnJmAdG+y6TFzzGGAuRjHmqW74qF6dIkmT5G+Ryj9/uUlKQa1lPADKy+jsXCR5jzD797oKDTofkUHmdgDXxFFdBlUaikyRknQ4HwGQRrRRhW+3md3lKXZB0OvOzlcUoFbEpmiRJUFqzlUomSUgVRZNloVotxVyRlRetrGySJCGhPHi0Klpp88m9iHQ6HXIZyWTRZtZJKnWnJMkioi3ZVDWdYDZbviefdcmEfLWLqsWxSGZ+Y5+ms3RQQJlmVNRmdZuqOv4P3HRWjMAiXIVIhXR1A2siVWt6QynCsnKJKwh1jwf5zh/otlVCLsH98n/wuXGSfrhmAQAAAABJRU5ErkJggg=="},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/text-sizes-5d78df884df4f57688aef7d5b7b68349.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/combobox-99fc7d69ef37ddf7a125cdeaa730e2ce.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/slider-06551b8ad6f45a0aa69c946c5d8332d1.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/range-slider-7394a0b0ebb5aace4e83bb302adc6fc3.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/date-picker-a98cee22ba2dc41a9e12a103dabc10e9.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/separator-761eab53dd3e94f7cae3fc78ce5f36b7.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/table-search-f29a132ad20079a67a0fee3143689fa6.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/table-select-428e4b7f6e76c00956feb8ede847a369.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/template-data-1b5f5707f248dfd5a606e722345ad2a2.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/toolbar-6cae7b599ebdc78e77db0f536dc3392e.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/hash-routing-816838345c1b3e01e3fe1664c336f3d6.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-point-annotation-394f235e137883e033b2cc056955e713.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-groups-b096660ab331215122bb6771cda619ac.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-stacked-transpose-9f125bb40e6aea97cd6ad2b4e547a259.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-stacked-grouped-678de98e675478e364cab127af4c07bb.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-stacked-grouped-transpose-2b181afc5e1a2626b7e700625c7f41b3.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-interval-helix-b499f18c451e87aa39d64ca154a15bdf.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-line-47205e6d75190eb08bb6cecf3dfe347b.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-line-groups-b3aacba3e2a8fd2306aef09adcb88fea.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-line-smooth-566975ab0a25c3e3ad7b3941ca441df6.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-line-annotation-0b3e87d958bdf0bdcfddc482ad9cf3c5.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-path-point-7e7d80f97ee02c9ac8591676f931f173.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-path-smooth-d3dc4edb37522cdaf43f8da9ab425156.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-area-line-smooth-215c412ff603d4f09d5e46af9dc84085.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-axis-title-f0d1c16575277e024054fbb19e5af49a.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/plot-matplotlib-14dd0da4129dea8f5aae83573ba31241.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/upload-ui-ce3af4e53ce2d7a546aa933667f7758a.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/upload-download-ce3af4e53ce2d7a546aa933667f7758a.png"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/meta-dialog-6d47f9aa9e410849fcf4afb27c22cb27.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/meta-notification-fbc7ef4c16cebfc522a564d72cb6953d.png"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default=t.p+"assets/images/graphics-hilbert-0b77a235731e83c53e6167b922a11f1c.png"}])]); \ No newline at end of file diff --git a/docs/bf614533.ce3cbc51.js b/docs/bf614533.ce3cbc51.js new file mode 100644 index 0000000000..5e0e27e74b --- /dev/null +++ b/docs/bf614533.ce3cbc51.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[181],Array(235).concat([function(A,e,t){"use strict";t.r(e),t.d(e,"frontMatter",(function(){return b})),t.d(e,"metadata",(function(){return u})),t.d(e,"rightToc",(function(){return l})),t.d(e,"default",(function(){return r}));var a=t(2),d=t(6),i=(t(0),t(302)),s=t(304),b={title:"Gallery",slug:"/examples"},u={unversionedId:"examples/index",id:"examples/index",isDocsHomePage:!1,title:"Gallery",description:"Hello World!",source:"@site/docs/examples/index.md",slug:"/examples",permalink:"/wave/docs/examples",editUrl:"https://github.com/h2oai/wave/edit/master/website/docs/examples/index.md",version:"current",sidebar:"someSidebar",previous:{title:"Backup and Recovery",permalink:"/wave/docs/backup"},next:{title:"All Examples",permalink:"/wave/docs/examples/all"}},l=[],c={rightToc:l};function r(A){var e=A.components,b=Object(d.a)(A,["components"]);return Object(i.b)("wrapper",Object(a.a)({},c,b,{components:e,mdxType:"MDXLayout"}),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/hello-world")},Object(i.b)("div",{style:{backgroundImage:"url("+t(428).default+")"}}),"Hello World!"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/todo")},Object(i.b)("div",{style:{backgroundImage:"url("+t(444).default+")"}}),"To-do List App"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/wizard")},Object(i.b)("div",{style:{backgroundImage:"url("+t(331).default+")"}}),"Wizard"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/issue-tracker")},Object(i.b)("div",{style:{backgroundImage:"url("+t(383).default+")"}}),"Issue Tracker"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/dashboard")},Object(i.b)("div",{style:{backgroundImage:"url("+t(321).default+")"}}),"Dashboard"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stat-small")},Object(i.b)("div",{style:{backgroundImage:"url("+t(426).default+")"}}),"Stat / Small"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stat-large")},Object(i.b)("div",{style:{backgroundImage:"url("+t(442).default+")"}}),"Stat / Large"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stat-wide-gauge")},Object(i.b)("div",{style:{backgroundImage:"url("+t(381).default+")"}}),"Stat / Gauge / Wide"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stat-tall-gauge")},Object(i.b)("div",{style:{backgroundImage:"url("+t(325).default+")"}}),"Stat / Gauge / Tall"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stat-wide-bar")},Object(i.b)("div",{style:{backgroundImage:"url("+t(379).default+")"}}),"Stat / Bar / Wide"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stat-large-bar")},Object(i.b)("div",{style:{backgroundImage:"url("+t(389).default+")"}}),"Stat / Bar / Large"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stat-small-series-area")},Object(i.b)("div",{style:{backgroundImage:"url("+t(448).default+")"}}),"Stat / Series / Small / Area"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stat-small-series-interval")},Object(i.b)("div",{style:{backgroundImage:"url("+t(386).default+")"}}),"Stat / Series / Small / Interval"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stat-wide-series-area")},Object(i.b)("div",{style:{backgroundImage:"url("+t(398).default+")"}}),"Stat / Series / Wide / Area"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stat-wide-series-interval")},Object(i.b)("div",{style:{backgroundImage:"url("+t(357).default+")"}}),"Stat / Series / Wide / Interval"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stat-tall-series-area")},Object(i.b)("div",{style:{backgroundImage:"url("+t(421).default+")"}}),"Stat / Series / Tall / Area"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stat-tall-series-interval")},Object(i.b)("div",{style:{backgroundImage:"url("+t(369).default+")"}}),"Stat / Series / Tall / Interval"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/layout")},Object(i.b)("div",{style:{backgroundImage:"url("+t(449).default+")"}}),"Layout / Position"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/layout-size")},Object(i.b)("div",{style:{backgroundImage:"url("+t(450).default+")"}}),"Layout / Size"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/layout-responsive")},Object(i.b)("div",{style:{backgroundImage:"url("+t(368).default+")"}}),"Layout / Responsive"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/form")},Object(i.b)("div",{style:{backgroundImage:"url("+t(407).default+")"}}),"Form"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/text")},Object(i.b)("div",{style:{backgroundImage:"url("+t(380).default+")"}}),"Form / Text"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/text-sizes")},Object(i.b)("div",{style:{backgroundImage:"url("+t(451).default+")"}}),"Form / Text / Sizes"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/label")},Object(i.b)("div",{style:{backgroundImage:"url("+t(323).default+")"}}),"Form / Label"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/link")},Object(i.b)("div",{style:{backgroundImage:"url("+t(452).default+")"}}),"Form / Link"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/progress")},Object(i.b)("div",{style:{backgroundImage:"url("+t(372).default+")"}}),"Form / Progress"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/progress-update")},Object(i.b)("div",{style:{backgroundImage:"url("+t(453).default+")"}}),"Form / Progress / Updating"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/message-bar")},Object(i.b)("div",{style:{backgroundImage:"url("+t(340).default+")"}}),"Form / Message Bar"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/textbox")},Object(i.b)("div",{style:{backgroundImage:"url("+t(399).default+")"}}),"Form / Textbox"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/textbox-trigger")},Object(i.b)("div",{style:{backgroundImage:"url("+t(356).default+")"}}),"Form / Textbox / Trigger"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/button")},Object(i.b)("div",{style:{backgroundImage:"url("+t(406).default+")"}}),"Form / Button"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/buttons")},Object(i.b)("div",{style:{backgroundImage:"url("+t(370).default+")"}}),"Form / Buttons"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/checkbox")},Object(i.b)("div",{style:{backgroundImage:"url("+t(412).default+")"}}),"Form / Checkbox"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/checklist")},Object(i.b)("div",{style:{backgroundImage:"url("+t(401).default+")"}}),"Form / Checklist"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/picker")},Object(i.b)("div",{style:{backgroundImage:"url("+t(375).default+")"}}),"Form / Picker"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/picker-selection")},Object(i.b)("div",{style:{backgroundImage:"url("+t(338).default+")"}}),"Form / Picker / Selection"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/dropdown")},Object(i.b)("div",{style:{backgroundImage:"url("+t(434).default+")"}}),"Form / Dropdown"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/choice-group")},Object(i.b)("div",{style:{backgroundImage:"url("+t(404).default+")"}}),"Form / Choice Group"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/combobox")},Object(i.b)("div",{style:{backgroundImage:"url("+t(454).default+")"}}),"Form / Combobox"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/toggle")},Object(i.b)("div",{style:{backgroundImage:"url("+t(441).default+")"}}),"Form / Toggle"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/spinbox")},Object(i.b)("div",{style:{backgroundImage:"url("+t(455).default+")"}}),"Form / Spinbox"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/slider")},Object(i.b)("div",{style:{backgroundImage:"url("+t(456).default+")"}}),"Form / Slider"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/range-slider")},Object(i.b)("div",{style:{backgroundImage:"url("+t(457).default+")"}}),"Form / Range Slider"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/date-picker")},Object(i.b)("div",{style:{backgroundImage:"url("+t(458).default+")"}}),"Form / Date Picker"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/date-picker-trigger")},Object(i.b)("div",{style:{backgroundImage:"url("+t(459).default+")"}}),"Form / Date Picker / Trigger"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/color-picker")},Object(i.b)("div",{style:{backgroundImage:"url("+t(371).default+")"}}),"Form / Color Picker"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/swatch-picker")},Object(i.b)("div",{style:{backgroundImage:"url("+t(341).default+")"}}),"Form / Swatch Picker"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/tabs")},Object(i.b)("div",{style:{backgroundImage:"url("+t(405).default+")"}}),"Form / Tabs"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/separator")},Object(i.b)("div",{style:{backgroundImage:"url("+t(460).default+")"}}),"Form / Separator"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/file-upload")},Object(i.b)("div",{style:{backgroundImage:"url("+t(362).default+")"}}),"Form / File Upload"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/form-frame")},Object(i.b)("div",{style:{backgroundImage:"url("+t(461).default+")"}}),"Form / Frame"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/form-frame-path")},Object(i.b)("div",{style:{backgroundImage:"url("+t(397).default+")"}}),"Form / Frame / Path"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/form-menu")},Object(i.b)("div",{style:{backgroundImage:"url("+t(400).default+")"}}),"Form / Menu"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/form-template")},Object(i.b)("div",{style:{backgroundImage:"url("+t(430).default+")"}}),"Form / Template"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/form-markup")},Object(i.b)("div",{style:{backgroundImage:"url("+t(367).default+")"}}),"Form / Markup"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/stepper")},Object(i.b)("div",{style:{backgroundImage:"url("+t(413).default+")"}}),"Form / Stepper"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/table-markdown")},Object(i.b)("div",{style:{backgroundImage:"url("+t(322).default+")"}}),"Table / Markdown"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/table-markdown-pandas")},Object(i.b)("div",{style:{backgroundImage:"url("+t(377).default+")"}}),"Table / Markdown / Pandas"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/table")},Object(i.b)("div",{style:{backgroundImage:"url("+t(328).default+")"}}),"Table"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/table-sort")},Object(i.b)("div",{style:{backgroundImage:"url("+t(330).default+")"}}),"Table / Sort"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/table-search")},Object(i.b)("div",{style:{backgroundImage:"url("+t(462).default+")"}}),"Table / Search"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/table-filter")},Object(i.b)("div",{style:{backgroundImage:"url("+t(387).default+")"}}),"Table / Filter"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/table-filter-backend")},Object(i.b)("div",{style:{backgroundImage:"url("+t(408).default+")"}}),"Table / Filter / Backend"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/table-download")},Object(i.b)("div",{style:{backgroundImage:"url("+t(409).default+")"}}),"Table / Download"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/table-groupby")},Object(i.b)("div",{style:{backgroundImage:"url("+t(394).default+")"}}),"Table / Group by"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/table-select")},Object(i.b)("div",{style:{backgroundImage:"url("+t(463).default+")"}}),"Table / Preselection"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/image")},Object(i.b)("div",{style:{backgroundImage:"url("+t(438).default+")"}}),"Image"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/frame")},Object(i.b)("div",{style:{backgroundImage:"url("+t(436).default+")"}}),"Frame"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/frame-path")},Object(i.b)("div",{style:{backgroundImage:"url("+t(396).default+")"}}),"Frame / Path"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/template")},Object(i.b)("div",{style:{backgroundImage:"url("+t(348).default+")"}}),"Template"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/template-data")},Object(i.b)("div",{style:{backgroundImage:"url("+t(464).default+")"}}),"Template / Data"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/markdown")},Object(i.b)("div",{style:{backgroundImage:"url("+t(424).default+")"}}),"Markdown"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/markdown-data")},Object(i.b)("div",{style:{backgroundImage:"url("+t(439).default+")"}}),"Markdown / Data"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/markup")},Object(i.b)("div",{style:{backgroundImage:"url("+t(393).default+")"}}),"Markup"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/nav")},Object(i.b)("div",{style:{backgroundImage:"url("+t(465).default+")"}}),"Nav"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/toolbar")},Object(i.b)("div",{style:{backgroundImage:"url("+t(466).default+")"}}),"Toolbar"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/tab")},Object(i.b)("div",{style:{backgroundImage:"url("+t(388).default+")"}}),"Tab"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/tab-link")},Object(i.b)("div",{style:{backgroundImage:"url("+t(447).default+")"}}),"Tab / Links"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/tab-delete")},Object(i.b)("div",{style:{backgroundImage:"url("+t(385).default+")"}}),"Tabs / Navigation"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/breadcrumbs")},Object(i.b)("div",{style:{backgroundImage:"url("+t(467).default+")"}}),"Breadcrumbs"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/header")},Object(i.b)("div",{style:{backgroundImage:"url("+t(343).default+")"}}),"Header"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/hash-routing")},Object(i.b)("div",{style:{backgroundImage:"url("+t(468).default+")"}}),"Routing"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/toolbar-routing")},Object(i.b)("div",{style:{backgroundImage:"url("+t(419).default+")"}}),"Routing / Toolbar"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/tab-routing")},Object(i.b)("div",{style:{backgroundImage:"url("+t(359).default+")"}}),"Routing / Tabs"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/card-menu")},Object(i.b)("div",{style:{backgroundImage:"url("+t(415).default+")"}}),"Context Menu"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-point")},Object(i.b)("div",{style:{backgroundImage:"url("+t(354).default+")"}}),"Plot / Point"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-point-shapes")},Object(i.b)("div",{style:{backgroundImage:"url("+t(376).default+")"}}),"Plot / Point / Shapes"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-point-sizes")},Object(i.b)("div",{style:{backgroundImage:"url("+t(342).default+")"}}),"Plot / Point / Sizes"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-point-map")},Object(i.b)("div",{style:{backgroundImage:"url("+t(361).default+")"}}),"Plot / Point / Map"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-point-groups")},Object(i.b)("div",{style:{backgroundImage:"url("+t(339).default+")"}}),"Plot / Point / Groups"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-point-annotation")},Object(i.b)("div",{style:{backgroundImage:"url("+t(469).default+")"}}),"Plot / Point / Annotation"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-point-custom")},Object(i.b)("div",{style:{backgroundImage:"url("+t(334).default+")"}}),"Plot / Point / Custom"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval")},Object(i.b)("div",{style:{backgroundImage:"url("+t(327).default+")"}}),"Plot / Interval"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-transpose")},Object(i.b)("div",{style:{backgroundImage:"url("+t(433).default+")"}}),"Plot / Interval / Transpose"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-groups")},Object(i.b)("div",{style:{backgroundImage:"url("+t(470).default+")"}}),"Plot / Interval / Groups"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-groups-transpose")},Object(i.b)("div",{style:{backgroundImage:"url("+t(423).default+")"}}),"Plot / Interval / Groups / Transpose"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-labels")},Object(i.b)("div",{style:{backgroundImage:"url("+t(414).default+")"}}),"Plot / Interval / Labels"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-range")},Object(i.b)("div",{style:{backgroundImage:"url("+t(429).default+")"}}),"Plot / Interval / Range"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-range-transpose")},Object(i.b)("div",{style:{backgroundImage:"url("+t(445).default+")"}}),"Plot / Interval / Range / Transpose"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-stacked")},Object(i.b)("div",{style:{backgroundImage:"url("+t(344).default+")"}}),"Plot / Interval / Stacked"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-stacked-transpose")},Object(i.b)("div",{style:{backgroundImage:"url("+t(471).default+")"}}),"Plot / Interval / Stacked / Transpose"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-stacked-grouped")},Object(i.b)("div",{style:{backgroundImage:"url("+t(472).default+")"}}),"Plot / Interval / Stacked / Grouped"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-stacked-grouped-transpose")},Object(i.b)("div",{style:{backgroundImage:"url("+t(473).default+")"}}),"Plot / Interval / Stacked / Grouped / Transpose"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-polar")},Object(i.b)("div",{style:{backgroundImage:"url("+t(425).default+")"}}),"Plot / Interval / Polar"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-polar-stacked")},Object(i.b)("div",{style:{backgroundImage:"url("+t(349).default+")"}}),"Plot / Interval / Polar / Stacked"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-theta")},Object(i.b)("div",{style:{backgroundImage:"url("+t(352).default+")"}}),"Plot / Interval / Theta"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-helix")},Object(i.b)("div",{style:{backgroundImage:"url("+t(474).default+")"}}),"Plot / Interval / Helix"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-annotation")},Object(i.b)("div",{style:{backgroundImage:"url("+t(431).default+")"}}),"Plot / Interval / Annotation"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-interval-annotation-transpose")},Object(i.b)("div",{style:{backgroundImage:"url("+t(378).default+")"}}),"Plot / Interval / Annotation / Transpose"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-line")},Object(i.b)("div",{style:{backgroundImage:"url("+t(475).default+")"}}),"Plot / Line"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-line-groups")},Object(i.b)("div",{style:{backgroundImage:"url("+t(476).default+")"}}),"Plot / Line / Groups"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-line-smooth")},Object(i.b)("div",{style:{backgroundImage:"url("+t(477).default+")"}}),"Plot / Line / Smooth"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-step")},Object(i.b)("div",{style:{backgroundImage:"url("+t(332).default+")"}}),"Plot / Line / Step"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-step-after")},Object(i.b)("div",{style:{backgroundImage:"url("+t(418).default+")"}}),"Plot / Line / Step / After"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-step-before")},Object(i.b)("div",{style:{backgroundImage:"url("+t(346).default+")"}}),"Plot / Line / Step / Before"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-line-labels")},Object(i.b)("div",{style:{backgroundImage:"url("+t(391).default+")"}}),"Plot / Line / Labels"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-line-labels-stroked")},Object(i.b)("div",{style:{backgroundImage:"url("+t(384).default+")"}}),"Plot / Line / Labels/ Stroked"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-line-labels-no-overlap")},Object(i.b)("div",{style:{backgroundImage:"url("+t(365).default+")"}}),"Plot / Line / Labels / Occlusion"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-line-annotation")},Object(i.b)("div",{style:{backgroundImage:"url("+t(478).default+")"}}),"Plot / Line / Annotation"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-path")},Object(i.b)("div",{style:{backgroundImage:"url("+t(351).default+")"}}),"Plot / Path"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-path-point")},Object(i.b)("div",{style:{backgroundImage:"url("+t(479).default+")"}}),"Plot / Path / Point"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-path-smooth")},Object(i.b)("div",{style:{backgroundImage:"url("+t(480).default+")"}}),"Plot / Path / Smooth"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-area")},Object(i.b)("div",{style:{backgroundImage:"url("+t(353).default+")"}}),"Plot / Area"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-area-groups")},Object(i.b)("div",{style:{backgroundImage:"url("+t(382).default+")"}}),"Plot / Area / Groups"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-area-negative")},Object(i.b)("div",{style:{backgroundImage:"url("+t(347).default+")"}}),"Plot / Area / Negative"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-area-range")},Object(i.b)("div",{style:{backgroundImage:"url("+t(326).default+")"}}),"Plot / Area / Range"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-area-smooth")},Object(i.b)("div",{style:{backgroundImage:"url("+t(395).default+")"}}),"Plot / Area / Smooth"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-area-stacked")},Object(i.b)("div",{style:{backgroundImage:"url("+t(422).default+")"}}),"Plot / Area / Stacked"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-area-line")},Object(i.b)("div",{style:{backgroundImage:"url("+t(443).default+")"}}),"Plot / Area + Line"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-area-line-smooth")},Object(i.b)("div",{style:{backgroundImage:"url("+t(481).default+")"}}),"Plot / Area + Line / Smooth"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-area-line-groups")},Object(i.b)("div",{style:{backgroundImage:"url("+t(402).default+")"}}),"Plot / Area + Line / Groups"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-polygon")},Object(i.b)("div",{style:{backgroundImage:"url("+t(427).default+")"}}),"Plot / Polygon"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-histogram")},Object(i.b)("div",{style:{backgroundImage:"url("+t(482).default+")"}}),"Plot / Histogram"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-axis-title")},Object(i.b)("div",{style:{backgroundImage:"url("+t(483).default+")"}}),"Plot / Axis Titles"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-form")},Object(i.b)("div",{style:{backgroundImage:"url("+t(374).default+")"}}),"Plot / Form"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-app")},Object(i.b)("div",{style:{backgroundImage:"url("+t(390).default+")"}}),"Plot / App"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-events")},Object(i.b)("div",{style:{backgroundImage:"url("+t(410).default+")"}}),"Plot / Events"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-pandas")},Object(i.b)("div",{style:{backgroundImage:"url("+t(420).default+")"}}),"Plot / Pandas"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-vegalite")},Object(i.b)("div",{style:{backgroundImage:"url("+t(437).default+")"}}),"Plot / Vega-lite"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-vegalite-update")},Object(i.b)("div",{style:{backgroundImage:"url("+t(358).default+")"}}),"Plot / Vega-lite / Update"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-vegalite-form")},Object(i.b)("div",{style:{backgroundImage:"url("+t(366).default+")"}}),"Plot / Vega-lite / Form"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-altair")},Object(i.b)("div",{style:{backgroundImage:"url("+t(345).default+")"}}),"Plot / Altair"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-bokeh")},Object(i.b)("div",{style:{backgroundImage:"url("+t(324).default+")"}}),"Plot / Bokeh"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-matplotlib")},Object(i.b)("div",{style:{backgroundImage:"url("+t(484).default+")"}}),"Plot / Matplotlib"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-plotly")},Object(i.b)("div",{style:{backgroundImage:"url("+t(432).default+")"}}),"Plot / Plotly"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/plot-d3")},Object(i.b)("div",{style:{backgroundImage:"url("+t(329).default+")"}}),"Plot / D3.js"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/pixel-art")},Object(i.b)("div",{style:{backgroundImage:"url("+t(360).default+")"}}),"Pixel Art"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/upload")},Object(i.b)("div",{style:{backgroundImage:"url("+t(320).default+")"}}),"Uploads"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/upload-async")},Object(i.b)("div",{style:{backgroundImage:"url("+t(485).default+")"}}),"Uploads / Async"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/upload-ui")},Object(i.b)("div",{style:{backgroundImage:"url("+t(486).default+")"}}),"Uploads / UI"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/upload-download")},Object(i.b)("div",{style:{backgroundImage:"url("+t(487).default+")"}}),"Uploads / Download"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/meta-dialog")},Object(i.b)("div",{style:{backgroundImage:"url("+t(488).default+")"}}),"Meta / Dialog"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/meta-title")},Object(i.b)("div",{style:{backgroundImage:"url("+t(489).default+")"}}),"Meta / Title"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/meta-icon")},Object(i.b)("div",{style:{backgroundImage:"url("+t(490).default+")"}}),"Meta / Icon"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/meta-notification")},Object(i.b)("div",{style:{backgroundImage:"url("+t(491).default+")"}}),"Meta / Notification"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/meta-refresh")},Object(i.b)("div",{style:{backgroundImage:"url("+t(440).default+")"}}),"Meta / Refresh"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/meta-redirect")},Object(i.b)("div",{style:{backgroundImage:"url("+t(355).default+")"}}),"Meta / Redirect"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/counter-global")},Object(i.b)("div",{style:{backgroundImage:"url("+t(492).default+")"}}),"Mode / Broadcast / Global"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/counter-broadcast")},Object(i.b)("div",{style:{backgroundImage:"url("+t(416).default+")"}}),"Mode / Broadcast"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/counter-multicast")},Object(i.b)("div",{style:{backgroundImage:"url("+t(446).default+")"}}),"Mode / Multicast"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/counter-unicast")},Object(i.b)("div",{style:{backgroundImage:"url("+t(373).default+")"}}),"Mode / Unicast"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/background")},Object(i.b)("div",{style:{backgroundImage:"url("+t(364).default+")"}}),"Background Tasks"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/background-executor")},Object(i.b)("div",{style:{backgroundImage:"url("+t(350).default+")"}}),"Background Tasks / Executor"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/background-progress")},Object(i.b)("div",{style:{backgroundImage:"url("+t(493).default+")"}}),"Background Tasks / Progress"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/site-async")},Object(i.b)("div",{style:{backgroundImage:"url("+t(363).default+")"}}),"Site / Async"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/graphics-primitives")},Object(i.b)("div",{style:{backgroundImage:"url("+t(411).default+")"}}),"Graphics / Primitives"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/graphics-spline")},Object(i.b)("div",{style:{backgroundImage:"url("+t(435).default+")"}}),"Graphics / Spline"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/graphics-clock")},Object(i.b)("div",{style:{backgroundImage:"url("+t(392).default+")"}}),"Graphics / Clock"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/graphics-path")},Object(i.b)("div",{style:{backgroundImage:"url("+t(403).default+")"}}),"Graphics / Path"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/graphics-turtle")},Object(i.b)("div",{style:{backgroundImage:"url("+t(417).default+")"}}),"Graphics / Turtle"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/graphics-hilbert")},Object(i.b)("div",{style:{backgroundImage:"url("+t(494).default+")"}}),"Graphics / Hilbert"),Object(i.b)("a",{class:"thumbnail",href:Object(s.a)("docs/examples/glider-gun")},Object(i.b)("div",{style:{backgroundImage:"url("+t(333).default+")"}}),"Graphics / Glider Gun"))}r.isMDXComponent=!0},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(A,e,t){"use strict";t.d(e,"a",(function(){return r})),t.d(e,"b",(function(){return E}));var a=t(0),d=t.n(a);function i(A,e,t){return e in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}function s(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(A);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,a)}return t}function b(A){for(var e=1;e=0||(d[t]=A[t]);return d}(A,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(A);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(A,t)&&(d[t]=A[t])}return d}var l=d.a.createContext({}),c=function(A){var e=d.a.useContext(l),t=e;return A&&(t="function"==typeof A?A(e):b(b({},e),A)),t},r=function(A){var e=c(A.components);return d.a.createElement(l.Provider,{value:e},A.children)},f={inlineCode:"code",wrapper:function(A){var e=A.children;return d.a.createElement(d.a.Fragment,{},e)}},n=d.a.forwardRef((function(A,e){var t=A.components,a=A.mdxType,i=A.originalType,s=A.parentName,l=u(A,["components","mdxType","originalType","parentName"]),r=c(t),n=a,E=r["".concat(s,".").concat(n)]||r[n]||f[n]||i;return t?d.a.createElement(E,b(b({ref:e},l),{},{components:t})):d.a.createElement(E,b({ref:e},l))}));function E(A,e){var t=arguments,a=e&&e.mdxType;if("string"==typeof A||a){var i=t.length,s=new Array(i);s[0]=n;var b={};for(var u in e)hasOwnProperty.call(e,u)&&(b[u]=e[u]);b.originalType=A,b.mdxType="string"==typeof A?A:a,s[1]=b;for(var l=2;l + - Blog | H2O Wave - - - - - - - - - - - - - - - + Blog | H2O Wave + + + + + + + + + + + + + + + +
        -
        - - - - - - - - - - - - - - - +
        + + + + + + + + + + + + + + + + diff --git a/docs/blog/release-0.11.0/index.html b/docs/blog/release-0.11.0/index.html new file mode 100644 index 0000000000..11d25a5fff --- /dev/null +++ b/docs/blog/release-0.11.0/index.html @@ -0,0 +1,46 @@ + + + + + + + + + + Responsive Layouts and Inline Components | H2O Wave + + + + + + + + + + + + + + + + +
        +

        Responsive Layouts and Inline Components

        Prithvi Prabhu

        Prithvi Prabhu

        Chief of Technology @ H2O.ai

        Today, we're excited to announce H2O Wave v0.11.0, with support for responsive layouts, inline form components, new cards for organizing content, and lots more.

        The Wave release now ships with a demo directory containing examples showing how you can combine various Wave cards and components to form complete applications. Over 2021, we plan to add many more cards and components, and this demo app can be used as a design guide for inspiration and reference for building your own apps.

        dashboard

        You can explore this demo application (and dashboards) by running demo.app (see demo/app.py in the 0.11 release):

        (venv) $ wave run demo.app

        dashboard

        Responsive Layouts

        You can now build apps having responsive layouts (layouts that adapt to varying viewport sizes). See Layout in the guide.

        dashboard

        Here are a few examples of what's possible in Wave 0.11+:

        dashboard

        dashboard

        dashboard

        dashboard

        dashboard

        dashboard

        Resizable Components

        We've reworked all existing components to dynamically resize when the layout is resized, especially for flex layouts. Although these card do resize or expand their contents to fit available size, it's best to use them at sizes they were originally intended for - this is especially true of the sparkline-style stats cards. At larger sizes, plot cards are more appropriate.

        dashboard

        Section Card

        A section card (ui.section_card()) allows you to visually divide your page into various sub-sections, and provide components and controls specific to those sub-sections.

        dashboard

        Sections can contain nested components, just like a form card, but displayed horizontally to the right of the card.

        dashboard

        dashboard

        dashboard

        dashboard

        Sections are also a good way to display tabs on a page (similar to a tab card).

        dashboard

        dashboard

        Inline Components

        Forms (and, in general, any card that supported nested components) can now display inline components using ui.inline().

        dashboard

        When used judiciously, inline components help design compact layouts, especially when grouping related fields together.

        dashboard

        Inline Stats

        Stats or metrics can now be displayed inside forms, laid out horizontally from left to right. Each stat is created using ui.stat(), and grouped together using ui.stats().

        dashboard

        Stats can be used to display various scalar values/metrics associated with plots.

        dashboard

        Stats can optionally contain icons as well.

        dashboard

        Stat Lists

        Stat lists (ui.stat_list_card()) offer a simple way to display two-column lists with optional links, icons, subtitles, values and auxiliary values. They provide a simpler way to display lists of things compared to the more heavyweight ui.table().

        dashboard

        Icons can be colored differently.

        dashboard

        Values can be colored differently as well.

        dashboard

        Stat Tables

        Stat tables (ui.stat_table_card()) offer a simple way to display a table of metrics with optional links, icons and subtitles. They provide a simpler way to display tabular data compared to the more heavyweight ui.table().

        dashboard

        Improved Documentation

        We have a long way to go improving our documentation, but hopefully these small changes help for now.

        Most importantly, the Wave documentation now sports a search bar, thanks to Algolia.

        The examples section of the documentation now has a detailed table of contents.

        dashboard

        Each example is now tagged with labels, which should make it easier to find related examples. The examples are listed by tags on this page.

        dashboard

        Download

        Get the release here. Check out the release notes for more details.

        We look forward to continuing our collaboration with the community and hearing your feedback as we further improve and expand the H2O Wave platform.

        We’d like to thank the entire Wave team and the community for all of the contributions to this work!

        + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/blog/release-0.9.0/index.html b/docs/blog/release-0.9.0/index.html index 34bca5017d..633eebd815 100644 --- a/docs/blog/release-0.9.0/index.html +++ b/docs/blog/release-0.9.0/index.html @@ -4,46 +4,47 @@ + - Introducing Live Reload | H2O Wave - - - - - - - - - - - - - - + Introducing Live Reload | H2O Wave + + + + + + + + + + + + + +
        -

        Introducing Live Reload

        Prithvi Prabhu

        Prithvi Prabhu

        Chief of Technology @ H2O.ai

        Today, we're excited to announce H2O Wave v0.9.0, with a new wave CLI, live-reload, improved performance, background tasks and ASGI compatibility.



        Among other changes, the Wave server executable wave is now called waved (as in wave daemon), and the h2o-wave Python package ships with a new CLI named wave.

        No more listening

        listen() has been deprecated in favor of @app. Wave apps are now one line shorter.

        Old way

        In versions <= v0.8.0, a skeleton app looked like this:

        foo.py
        from h2o_wave import listen, Q
        +

        Introducing Live Reload

        Prithvi Prabhu

        Prithvi Prabhu

        Chief of Technology @ H2O.ai

        Today, we're excited to announce H2O Wave v0.9.0, with a new wave CLI, live-reload, improved performance, background tasks and ASGI compatibility.



        Among other changes, the Wave server executable wave is now called waved (as in wave daemon), and the h2o-wave Python package ships with a new CLI named wave.

        No more listening

        listen() has been deprecated in favor of @app. Wave apps are now one line shorter.

        Old way

        In versions <= v0.8.0, a skeleton app looked like this:

        foo.py
        from h2o_wave import listen, Q
        async def serve(q: Q):
        pass
        listen('/demo', serve)

        The above app could be run like this:

        (venv) $ python foo.py

        New way

        In versions v0.9.0+, a skeleton app looks like this:

        foo.py
        from h2o_wave import main, app, Q
        @app('/demo')
        async def serve(q: Q):
        pass

        Notably:

        1. listen(route) has been replaced by an @app(route) decorator on the serve() function.
        2. main needs to be imported into the file (but you don't have to do anything with the symbol main other than simply import it).

        The above app can be run using wave run, built into the new wave command line interface.

        (venv) $ wave run foo

        Live reload

        The wave run command runs your app using live-reload, which means you can view your changes live as you code, without having to refresh your browser manually.

        (venv) $ wave run foo

        To run your app without live-reload, simply pass --no-reload:

        (venv) $ wave run --no-reload foo

        Improved performance

        Both the Wave server and application communication architecture has undergone significant performance and concurrency improvements across the board. Apps should now feel lighter, quicker, and more responsive under concurrent or increased load.

        The changes in v0.9 brings us closer to a v1.0 release. v1.0 will include the ability to increase the number of worker processes to scale apps, while preserving the simplicity of the Wave API.

        The Wave Tour (tour.py) is now quicker and more reliable:

        tour

        Background tasks

        The API now provides the ability to run blocking calls in the background to improve app responsiveness. The query context q now has two lightweight wrappers over asyncio.run_in_executor(): q.run() and q.exec()

        Here is an example of a function that blocks:

        import time
        def blocking_function(seconds) -> str:
        time.sleep(seconds) # Blocks!
        return f'Done!'

        To call the above function from an app, don't do this:

        @app('/demo')
        async def serve(q: Q):
        # ...
        message = blocking_function(42)
        # ...

        Instead, do this:

        @app('/demo')
        async def serve(q: Q):
        # ...
        message = await q.run(blocking_function, 42)
        # ...

        q.run() runs the blocking function in the background, in-process.

        Depending on your use case, you might want to use a separate process pool or thread pool from Python's multiprocessing library, like this:

        import concurrent.futures
        -
        @app('/demo')
        async def serve(q: Q):
        # ...
        with concurrent.futures.ThreadPoolExecutor() as pool:
        message = await q.exec(pool, blocking_function, 42)
        # ...

        q.exec() accepts a custom process pool or thread pool to run the blocking function.

        ASGI compatibility

        Wave apps are now ASGI-compatible, based on Uvicorn / Starlette, a high-performance Python server.

        You can run Wave apps behind any ASGI server, like uvicorn, gunicorn, daphne, hypercorn, etc.

        To run your app using an ASGI server like uvicorn, append :main to the app argument:

        (venv) $ uvicorn foo:main

        Download

        Get the release here. Check out the release notes for more details.

        We look forward to continuing our collaboration with the community and hearing your feedback as we further improve and expand the H2O Wave platform.

        We’d like to thank the entire Wave team and the community for all of the contributions to this work!

        - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        # ...
        with concurrent.futures.ThreadPoolExecutor() as pool:
        message = await q.exec(pool, blocking_function, 42)
        # ...

        q.exec() accepts a custom process pool or thread pool to run the blocking function.

        ASGI compatibility

        Wave apps are now ASGI-compatible, based on Uvicorn / Starlette, a high-performance Python server.

        You can run Wave apps behind any ASGI server, like uvicorn, gunicorn, daphne, hypercorn, etc.

        To run your app using an ASGI server like uvicorn, append :main to the app argument:

        (venv) $ uvicorn foo:main

        Download

        Get the release here. Check out the release notes for more details.

        We look forward to continuing our collaboration with the community and hearing your feedback as we further improve and expand the H2O Wave platform.

        We’d like to thank the entire Wave team and the community for all of the contributions to this work!

        + + + + + + + + + + + + + + diff --git a/docs/blog/tags/index.html b/docs/blog/tags/index.html index 3f1339a69a..a2d9992440 100644 --- a/docs/blog/tags/index.html +++ b/docs/blog/tags/index.html @@ -4,39 +4,40 @@ + - Tags | H2O Wave - - - - - - - - - - - - - + Tags | H2O Wave + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/docs/blog/tags/release/index.html b/docs/blog/tags/release/index.html index d6d57e55df..5a3798b3cf 100644 --- a/docs/blog/tags/release/index.html +++ b/docs/blog/tags/release/index.html @@ -4,43 +4,46 @@ + - Posts tagged "release" | H2O Wave - - - - - - - - - - - - - - - + Posts tagged "release" | H2O Wave + + + + + + + + + + + + + + + +
        -

        1 post tagged with "release"

        View All Tags
        - - - - - - - - - - - - - - - +

        2 posts tagged with "release"

        View All Tags
        + + + + + + + + + + + + + + + + diff --git a/docs/c07c3c71.b9eea2c6.js b/docs/c07c3c71.b9eea2c6.js deleted file mode 100644 index 27ce46db4a..0000000000 --- a/docs/c07c3c71.b9eea2c6.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[182],{234:function(e,r,n){"use strict";n.r(r),n.d(r,"frontMatter",(function(){return o})),n.d(r,"metadata",(function(){return i})),n.d(r,"rightToc",(function(){return s})),n.d(r,"default",(function(){return p}));var t=n(2),a=n(6),u=(n(0),n(300)),o={title:"Breadcrumbs"},i={unversionedId:"examples/breadcrumbs",id:"examples/breadcrumbs",isDocsHomePage:!1,title:"Breadcrumbs",description:"Breadcrumbs should be used as a navigational aid in your app or site.",source:"@site/docs/examples/breadcrumbs.md",slug:"/examples/breadcrumbs",permalink:"/wave/docs/examples/breadcrumbs",editUrl:"https://github.com/h2oai/wave/edit/master/website/docs/examples/breadcrumbs.md",version:"current",sidebar:"someSidebar",previous:{title:"Tabs / Navigation",permalink:"/wave/docs/examples/tab-delete"},next:{title:"Header",permalink:"/wave/docs/examples/header"}},s=[],c={rightToc:s};function p(e){var r=e.components,o=Object(a.a)(e,["components"]);return Object(u.b)("wrapper",Object(t.a)({},c,o,{components:r,mdxType:"MDXLayout"}),Object(u.b)("p",null,"Breadcrumbs should be used as a navigational aid in your app or site.\nThey indicate the current page\u2019s location within a hierarchy and help\nthe user understand where they are in relation to the rest of that hierarchy.\nThey also afford one-click access to higher levels of that hierarchy.\nBreadcrumbs are typically placed, in horizontal form, under the masthead\nor navigation of an experience, above the primary content area."),Object(u.b)("div",{className:"cover",style:{backgroundImage:"url("+n(460).default+")"}}),Object(u.b)("pre",null,Object(u.b)("code",Object(t.a)({parentName:"pre"},{className:"language-py"}),"from h2o_wave import main, app, Q, ui\n\n\n@app('/demo')\nasync def serve(q: Q):\n if '#' in q.args:\n hash_ = q.args['#']\n q.page['breadcrumbs'] = ui.form_card(box='1 1 2 5', items=[\n ui.text(f'#={hash_}'),\n ui.button(name='show_breadcrumbs', label='Back', primary=True),\n ])\n else:\n q.page['breadcrumbs'] = ui.breadcrumbs_card(\n box='1 1 4 -1',\n items=[\n ui.breadcrumb(name='#menu1', label='Menu 1'),\n ui.breadcrumb(name='#menu2', label='Menu 2'),\n ui.breadcrumb(name='#menu3', label='Menu 3'),\n ],\n )\n await q.page.save()\n")))}p.isMDXComponent=!0},300:function(e,r,n){"use strict";n.d(r,"a",(function(){return l})),n.d(r,"b",(function(){return m}));var t=n(0),a=n.n(t);function u(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function o(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function i(e){for(var r=1;r=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),p=function(e){var r=a.a.useContext(c),n=r;return e&&(n="function"==typeof e?e(r):i(i({},r),e)),n},l=function(e){var r=p(e.components);return a.a.createElement(c.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},b=a.a.forwardRef((function(e,r){var n=e.components,t=e.mdxType,u=e.originalType,o=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),l=p(n),b=t,m=l["".concat(o,".").concat(b)]||l[b]||d[b]||u;return n?a.a.createElement(m,i(i({ref:r},c),{},{components:n})):a.a.createElement(m,i({ref:r},c))}));function m(e,r){var n=arguments,t=r&&r.mdxType;if("string"==typeof e||t){var u=n.length,o=new Array(u);o[0]=b;var i={};for(var s in r)hasOwnProperty.call(r,s)&&(i[s]=r[s]);i.originalType=e,i.mdxType="string"==typeof e?e:t,o[1]=i;for(var c=2;c=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),p=function(e){var r=a.a.useContext(s),n=r;return e&&(n="function"==typeof e?e(r):i(i({},r),e)),n},b=function(e){var r=p(e.components);return a.a.createElement(s.Provider,{value:r},e.children)},l={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},d=a.a.forwardRef((function(e,r){var n=e.components,t=e.mdxType,u=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),b=p(n),d=t,m=b["".concat(o,".").concat(d)]||b[d]||l[d]||u;return n?a.a.createElement(m,i(i({ref:r},s),{},{components:n})):a.a.createElement(m,i({ref:r},s))}));function m(e,r){var n=arguments,t=r&&r.mdxType;if("string"==typeof e||t){var u=n.length,o=new Array(u);o[0]=d;var i={};for(var c in r)hasOwnProperty.call(r,c)&&(i[c]=r[c]);i.originalType=e,i.mdxType="string"==typeof e?e:t,o[1]=i;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),u=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=u(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),p=u(r),d=n,m=p["".concat(i,".").concat(d)]||p[d]||f[d]||o;return r?a.a.createElement(m,c(c({ref:t},s),{},{components:r})):a.a.createElement(m,c({ref:t},s))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var s=2;s=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),s=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=s(n),f=r,d=u["".concat(i,".").concat(f)]||u[f]||m[f]||o;return n?a.a.createElement(d,l(l({ref:t},p),{},{components:n})):a.a.createElement(d,l({ref:t},p))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=f;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var p=2;p 0.5 else 'BoxMultiplySolid'),\n notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)\n]\n\n# Create columns for our issue table.\ncolumns = [\n ui.table_column(name='text', label='Issue', searchable=True),\n ui.table_column(name='status', label='Status'),\n ui.table_column(name='notifications', label='Notifications'),\n ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),\n ui.table_column(name='views', label='Views'),\n ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),\n]\n\n\n@app('/demo')\nasync def serve(q: Q):\n q.page['form'] = ui.form_card(box='1 1 -1 11', items=[\n ui.table(\n name='issues',\n columns=columns,\n rows=[ui.table_row(\n name=issue.id,\n cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for\n issue in issues],\n )\n ])\n await q.page.save()\n")))}u.isMDXComponent=!0},300:function(e,n,t){"use strict";t.d(n,"a",(function(){return p})),t.d(n,"b",(function(){return b}));var r=t(0),a=t.n(r);function s(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=a.a.createContext({}),u=function(e){var n=a.a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=u(e.components);return a.a.createElement(c.Provider,{value:n},e.children)},f={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},m=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,s=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=u(t),m=r,b=p["".concat(o,".").concat(m)]||p[m]||f[m]||s;return t?a.a.createElement(b,i(i({ref:n},c),{},{components:t})):a.a.createElement(b,i({ref:n},c))}));function b(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var s=t.length,o=new Array(s);o[0]=m;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i.mdxType="string"==typeof e?e:r,o[1]=i;for(var c=2;c 0.5 else 'BoxMultiplySolid'),\n notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)\n]\n\n# Create columns for our issue table.\ncolumns = [\n ui.table_column(name='text', label='Issue', searchable=True),\n ui.table_column(name='status', label='Status'),\n ui.table_column(name='notifications', label='Notifications'),\n ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),\n ui.table_column(name='views', label='Views'),\n ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),\n]\n\n\n@app('/demo')\nasync def serve(q: Q):\n q.page['form'] = ui.form_card(box='1 1 -1 11', items=[\n ui.table(\n name='issues',\n columns=columns,\n rows=[ui.table_row(\n name=issue.id,\n cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for\n issue in issues],\n )\n ])\n await q.page.save()\n")),Object(s.b)("p",null,Object(s.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(s.b)("a",{href:Object(o.a)("docs/examples/tags#search")},"search")," \u2002",Object(s.b)("a",{href:Object(o.a)("docs/examples/tags#table")},"table")))}f.isMDXComponent=!0},302:function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),u=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},f=function(e){var t=u(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,s=e.originalType,o=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),f=u(n),b=r,m=f["".concat(o,".").concat(b)]||f[b]||p[b]||s;return n?a.a.createElement(m,i(i({ref:t},l),{},{components:n})):a.a.createElement(m,i({ref:t},l))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=n.length,o=new Array(s);o[0]=b;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:r,o[1]=i;for(var l=2;l=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=r.a.createContext({}),c=function(e){var n=r.a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},u=function(e){var n=c(e.components);return r.a.createElement(s.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},m=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),u=c(t),m=a,f=u["".concat(l,".").concat(m)]||u[m]||d[m]||o;return t?r.a.createElement(f,i(i({ref:n},s),{},{components:t})):r.a.createElement(f,i({ref:n},s))}));function f(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,l=new Array(o);l[0]=m;var i={};for(var p in n)hasOwnProperty.call(n,p)&&(i[p]=n[p]);i.originalType=e,i.mdxType="string"==typeof e?e:a,l[1]=i;for(var s=2;s=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),u=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=u(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=u(n),f=r,m=p["".concat(i,".").concat(f)]||p[f]||d[f]||o;return n?a.a.createElement(m,l(l({ref:t},c),{},{components:n})):a.a.createElement(m,l({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=f;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var c=2;c=0||(a[t]=e[t]);return a}(e,A);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=a.a.createContext({}),p=function(e){var A=a.a.useContext(l),t=A;return e&&(t="function"==typeof e?e(A):i(i({},A),e)),t},b=function(e){var A=p(e.components);return a.a.createElement(l.Provider,{value:A},e.children)},v={inlineCode:"code",wrapper:function(e){var A=e.children;return a.a.createElement(a.a.Fragment,{},A)}},f=a.a.forwardRef((function(e,A){var t=e.components,n=e.mdxType,r=e.originalType,o=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),b=p(t),f=n,s=b["".concat(o,".").concat(f)]||b[f]||v[f]||r;return t?a.a.createElement(s,i(i({ref:A},l),{},{components:t})):a.a.createElement(s,i({ref:A},l))}));function s(e,A){var t=arguments,n=A&&A.mdxType;if("string"==typeof e||n){var r=t.length,o=new Array(r);o[0]=f;var i={};for(var u in A)hasOwnProperty.call(A,u)&&(i[u]=A[u]);i.originalType=e,i.mdxType="string"==typeof e?e:n,o[1]=i;for(var l=2;l=0||(t[a]=A[a]);return t}(A,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(A);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(A,a)&&(t[a]=A[a])}return t}var l=t.a.createContext({}),p=function(A){var e=t.a.useContext(l),a=e;return A&&(a="function"==typeof A?A(e):i(i({},e),A)),a},v=function(A){var e=p(A.components);return t.a.createElement(l.Provider,{value:e},A.children)},b={inlineCode:"code",wrapper:function(A){var e=A.children;return t.a.createElement(t.a.Fragment,{},e)}},f=t.a.forwardRef((function(A,e){var a=A.components,n=A.mdxType,r=A.originalType,o=A.parentName,l=u(A,["components","mdxType","originalType","parentName"]),v=p(a),f=n,m=v["".concat(o,".").concat(f)]||v[f]||b[f]||r;return a?t.a.createElement(m,i(i({ref:e},l),{},{components:a})):t.a.createElement(m,i({ref:e},l))}));function m(A,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof A||n){var r=a.length,o=new Array(r);o[0]=f;var i={};for(var u in e)hasOwnProperty.call(e,u)&&(i[u]=e[u]);i.originalType=A,i.mdxType="string"==typeof A?A:n,o[1]=i;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=o.a.createContext({}),u=function(e){var t=o.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=u(e.components);return o.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),s=u(r),d=n,f=s["".concat(p,".").concat(d)]||s[d]||m[d]||a;return r?o.a.createElement(f,i(i({ref:t},c),{},{components:r})):o.a.createElement(f,i({ref:t},c))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,p=new Array(a);p[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:n,p[1]=i;for(var c=2;c=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=o.a.createContext({}),p=function(e){var t=o.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=p(e.components);return o.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),s=p(r),d=n,b=s["".concat(i,".").concat(d)]||s[d]||f[d]||a;return r?o.a.createElement(b,c(c({ref:t},l),{},{components:r})):o.a.createElement(b,c({ref:t},l))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l str:\n time.sleep(secs) # Blocks!\n return 'Download completed!'\n\n\n# An async function that displays a progress bar\nasync def display_progress_bar(q: Q, form, seconds: int):\n for i in range(seconds):\n progress_value = (i + 1.0) / seconds\n form.items = [\n ui.progress(\n label='Downloading the interwebs...',\n caption=f'{int(progress_value * 100)}%',\n value=progress_value,\n )\n ]\n await q.page.save()\n await q.sleep(1)\n\n\n@app('/demo')\nasync def serve(q: Q):\n if q.args.start: # The button named 'start' was clicked\n seconds = 5\n\n # Grab a reference to the form\n form = q.page['form']\n\n # Start incrementing the progress bar in the background\n future = asyncio.ensure_future(display_progress_bar(q, form, seconds))\n\n # Execute our long-running function in the background\n with concurrent.futures.ThreadPoolExecutor() as pool:\n message = await q.exec(pool, blocking_function, seconds)\n\n # Stop the progress bar (optional unless we used a infinite while loop in display_progress_bar()).\n future.cancel()\n\n # At this point, we're done with the long-running function; so display a completion message\n form.items = [ui.message_bar('info', message)]\n await q.page.save()\n else:\n q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[ui.button(name='start', label='Start')])\n await q.page.save()\n")),Object(s.b)("p",null,Object(s.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(s.b)("a",{href:Object(a.a)("docs/examples/tags#background_tasks")},"background_tasks")," \u2002",Object(s.b)("a",{href:Object(a.a)("docs/examples/tags#progress")},"progress")))}p.isMDXComponent=!0},302:function(e,n,r){"use strict";r.d(n,"a",(function(){return p})),r.d(n,"b",(function(){return b}));var t=r(0),o=r.n(t);function s(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function a(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function i(e){for(var n=1;n=0||(o[r]=e[r]);return o}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=o.a.createContext({}),d=function(e){var n=o.a.useContext(u),r=n;return e&&(r="function"==typeof e?e(n):i(i({},n),e)),r},p=function(e){var n=d(e.components);return o.a.createElement(u.Provider,{value:n},e.children)},f={inlineCode:"code",wrapper:function(e){var n=e.children;return o.a.createElement(o.a.Fragment,{},n)}},l=o.a.forwardRef((function(e,n){var r=e.components,t=e.mdxType,s=e.originalType,a=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=d(r),l=t,b=p["".concat(a,".").concat(l)]||p[l]||f[l]||s;return r?o.a.createElement(b,i(i({ref:n},u),{},{components:r})):o.a.createElement(b,i({ref:n},u))}));function b(e,n){var r=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var s=r.length,a=new Array(s);a[0]=l;var i={};for(var c in n)hasOwnProperty.call(n,c)&&(i[c]=n[c]);i.originalType=e,i.mdxType="string"==typeof e?e:t,a[1]=i;for(var u=2;u str:\n time.sleep(secs) # Blocks!\n return f'Download completed!'\n\n\n# An async function that displays a progress bar\nasync def display_progress_bar(q: Q, form, seconds: int):\n for i in range(seconds):\n progress_value = (i + 1.0) / seconds\n form.items = [\n ui.progress(\n label='Downloading the interwebs...',\n caption=f'{int(progress_value * 100)}%',\n value=progress_value,\n )\n ]\n await q.page.save()\n await q.sleep(1)\n\n\n@app('/demo')\nasync def serve(q: Q):\n if q.args.start: # The button named 'start' was clicked\n seconds = 5\n\n # Grab a reference to the form\n form = q.page['form']\n\n # Start incrementing the progress bar in the background\n future = asyncio.ensure_future(display_progress_bar(q, form, seconds))\n\n # Execute our long-running function in the background\n with concurrent.futures.ThreadPoolExecutor() as pool:\n message = await q.exec(pool, blocking_function, seconds)\n\n # Stop the progress bar (optional unless we used a infinite while loop in display_progress_bar()).\n future.cancel()\n\n # At this point, we're done with the long-running function; so display a completion message\n form.items = [ui.message_bar('info', message)]\n await q.page.save()\n else:\n q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[ui.button(name='start', label='Start')])\n await q.page.save()\n")))}p.isMDXComponent=!0},300:function(e,n,r){"use strict";r.d(n,"a",(function(){return d})),r.d(n,"b",(function(){return E}));var t=r(0),o=r.n(t);function a(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function s(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function i(e){for(var n=1;n=0||(o[r]=e[r]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=o.a.createContext({}),p=function(e){var n=o.a.useContext(u),r=n;return e&&(r="function"==typeof e?e(n):i(i({},n),e)),r},d=function(e){var n=p(e.components);return o.a.createElement(u.Provider,{value:n},e.children)},f={inlineCode:"code",wrapper:function(e){var n=e.children;return o.a.createElement(o.a.Fragment,{},n)}},l=o.a.forwardRef((function(e,n){var r=e.components,t=e.mdxType,a=e.originalType,s=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=p(r),l=t,E=d["".concat(s,".").concat(l)]||d[l]||f[l]||a;return r?o.a.createElement(E,i(i({ref:n},u),{},{components:r})):o.a.createElement(E,i({ref:n},u))}));function E(e,n){var r=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var a=r.length,s=new Array(a);s[0]=l;var i={};for(var c in n)hasOwnProperty.call(n,c)&&(i[c]=n[c]);i.originalType=e,i.mdxType="string"==typeof e?e:t,s[1]=i;for(var u=2;u0&&l.a.createElement("section",{className:d.a.features},l.a.createElement("div",{className:"container"},l.a.createElement("div",{className:"row"},p.map((function(e,t){return l.a.createElement(g,Object(n.a)({key:t},e))})))))))}},306:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),r=a.n(n),l=a(307),i=a(308),c=function(){var e=r.a.useState(!!window.localStorage.getItem("noticeRead")),t=e[0],a=e[1];return r.a.createElement("section",{className:"notice",style:{opacity:t?0:1}},r.a.createElement("div",null,r.a.createElement("p",null,"By using this website you agree to our use of cookies. "),r.a.createElement("a",{href:"https://www.h2o.ai/privacy/",target:"_blank"},"Read H2O.ai\u2019s privacy policy.")),r.a.createElement("span",{className:"notice__close",onClick:function(){window.localStorage.setItem("noticeRead",!0),a(!0)}},"X"))};function o(e){return r.a.createElement(r.a.Fragment,null,r.a.createElement(i.a,null,c),r.a.createElement(l.a,e))}}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[189,28],{243:function(e,t,a){"use strict";a.r(t);var n=a(2),r=a(0),l=a.n(r),i=a(307),c=a(308),o=a(306),s=a(303),m=a(304),u=a(244),d=a.n(u),p=[{title:"Know Python?",icon:"fab fa-python",description:l.a.createElement(l.a.Fragment,null,"No HTML, CSS, Javascript skills required. Build rich, interactive web apps using pure Python.")},{title:"Realtime Sync",icon:"fas fa-stopwatch",description:l.a.createElement(l.a.Fragment,null,"Broadcast live information, visualizations and graphics using Wave's low-latency realtime server.")},{title:"Collaborative Content",icon:"fas fa-users",description:l.a.createElement(l.a.Fragment,null,"Instant control over every connected web browser using a simple and intuitive programming model.")},{title:"Develop Quickly",icon:"fas fa-laptop-code",description:l.a.createElement(l.a.Fragment,null,"Preview your app live as you code. Dramatically reduce the time and effort to build web apps.")},{title:"Deploy Instantly",icon:"fas fa-upload",description:l.a.createElement(l.a.Fragment,null,"Easily share your apps with end-users, get feedback, improve and iterate.")},{title:"Run Anywhere",icon:"fas fa-terminal",description:l.a.createElement(l.a.Fragment,null,"~10MB static executables for Linux, Windows, OSX, BSD, Solaris on AMD64, 386, ARM, PPC. Run it on a RPi Zero for great good!")}];function g(e){var t=e.icon,a=e.title,n=e.description;return l.a.createElement("div",{className:Object(i.a)("col col--4",d.a.feature)},l.a.createElement("div",null,l.a.createElement("i",{class:t})),l.a.createElement("h3",null,a),l.a.createElement("p",null,n))}t.default=function(){var e=Object(s.a)().siteConfig,t=void 0===e?{}:e;return l.a.createElement(c.a,{title:"Hello from "+t.title,description:"Realtime Web Apps and Dashboards for Python"},l.a.createElement("header",{className:Object(i.a)("hero hero--primary",d.a.heroBanner)},l.a.createElement("div",{className:"container"},l.a.createElement("h1",{className:"hero__title"},"Make AI Apps"),l.a.createElement("div",{style:{margin:"1em 0"}},l.a.createElement(o.a,{to:Object(m.a)("docs/getting-started")},l.a.createElement("img",{src:"img/hero.png",alt:"Screenshot",style:{width:"100%",maxWidth:800,boxShadow:"0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22)"}}))),l.a.createElement("p",{className:"hero__subtitle"},t.tagline),l.a.createElement("div",{className:d.a.buttons},l.a.createElement(o.a,{className:Object(i.a)("button button--outline button--secondary button--lg",d.a.getStarted),to:Object(m.a)("docs/getting-started")},"Get Started")))),l.a.createElement("main",null,p&&p.length>0&&l.a.createElement("section",{className:d.a.features},l.a.createElement("div",{className:"container"},l.a.createElement("div",{className:"row"},p.map((function(e,t){return l.a.createElement(g,Object(n.a)({key:t},e))})))))))}},310:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),r=a.n(n),l=a(311),i=a(312),c=function(){var e=r.a.useState(!!window.localStorage.getItem("noticeRead")),t=e[0],a=e[1];return r.a.createElement("section",{className:"notice",style:{opacity:t?0:1}},r.a.createElement("div",null,r.a.createElement("p",null,"By using this website you agree to our use of cookies. "),r.a.createElement("a",{href:"https://www.h2o.ai/privacy/",target:"_blank"},"Read H2O.ai\u2019s privacy policy.")),r.a.createElement("span",{className:"notice__close",onClick:function(){window.localStorage.setItem("noticeRead",!0),a(!0)}},"X"))};function o(e){return r.a.createElement(r.a.Fragment,null,r.a.createElement(i.a,null,c),r.a.createElement(l.a,e))}}}]); \ No newline at end of file diff --git a/docs/c641a4e8.134b46d6.js b/docs/c641a4e8.134b46d6.js deleted file mode 100644 index 32751f9c23..0000000000 --- a/docs/c641a4e8.134b46d6.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[190],{243:function(e,r,t){"use strict";t.r(r),t.d(r,"frontMatter",(function(){return i})),t.d(r,"metadata",(function(){return p})),t.d(r,"rightToc",(function(){return c})),t.d(r,"default",(function(){return l}));var n=t(2),a=t(6),o=(t(0),t(300)),i={title:"Form / Progress / Updating"},p={unversionedId:"examples/progress-update",id:"examples/progress-update",isDocsHomePage:!1,title:"Form / Progress / Updating",description:"Update a progress bar's completion status periodically.",source:"@site/docs/examples/progress-update.md",slug:"/examples/progress-update",permalink:"/wave/docs/examples/progress-update",editUrl:"https://github.com/h2oai/wave/edit/master/website/docs/examples/progress-update.md",version:"current",sidebar:"someSidebar",previous:{title:"Form / Progress",permalink:"/wave/docs/examples/progress"},next:{title:"Form / Message Bar",permalink:"/wave/docs/examples/message-bar"}},c=[],s={rightToc:c};function l(e){var r=e.components,i=Object(a.a)(e,["components"]);return Object(o.b)("wrapper",Object(n.a)({},s,i,{components:r,mdxType:"MDXLayout"}),Object(o.b)("p",null,"Update a progress bar's completion status periodically."),Object(o.b)("div",{className:"cover",style:{backgroundImage:"url("+t(446).default+")"}}),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py"}),"import time\n\nfrom h2o_wave import site, ui\n\npage = site['/demo']\n\npage['example'] = ui.form_card(\n box='1 1 4 -1',\n items=[\n ui.progress(label='Basic Progress'),\n ]\n)\npage.save()\n\nfor i in range(1, 11):\n time.sleep(1)\n page['example'].items = [\n ui.progress(label='Basic Progress', caption=f'{i * 10}% complete', value=i / 10),\n ]\n\n # This will work, too:\n # page['example'].items[0].progress.value = i/10\n\n page.save()\n")))}l.isMDXComponent=!0},300:function(e,r,t){"use strict";t.d(r,"a",(function(){return u})),t.d(r,"b",(function(){return v}));var n=t(0),a=t.n(n);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function p(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=a.a.createContext({}),l=function(e){var r=a.a.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):p(p({},r),e)),t},u=function(e){var r=l(e.components);return a.a.createElement(s.Provider,{value:r},e.children)},m={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},f=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=l(t),f=n,v=u["".concat(i,".").concat(f)]||u[f]||m[f]||o;return t?a.a.createElement(v,p(p({ref:r},s),{},{components:t})):a.a.createElement(v,p({ref:r},s))}));function v(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,i=new Array(o);i[0]=f;var p={};for(var c in r)hasOwnProperty.call(r,c)&&(p[c]=r[c]);p.originalType=e,p.mdxType="string"==typeof e?e:n,i[1]=p;for(var s=2;s=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=o.a.createContext({}),u=function(e){var r=o.a.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},l=function(e){var r=u(e.components);return o.a.createElement(p.Provider,{value:r},e.children)},f={inlineCode:"code",wrapper:function(e){var r=e.children;return o.a.createElement(o.a.Fragment,{},r)}},m=o.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),l=u(t),m=n,d=l["".concat(i,".").concat(m)]||l[m]||f[m]||a;return t?o.a.createElement(d,s(s({ref:r},p),{},{components:t})):o.a.createElement(d,s({ref:r},p))}));function d(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var a=t.length,i=new Array(a);i[0]=m;var s={};for(var c in r)hasOwnProperty.call(r,c)&&(s[c]=r[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,i[1]=s;for(var p=2;p=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),u=s(r),f=n,m=u["".concat(c,".").concat(f)]||u[f]||d[f]||o;return r?a.a.createElement(m,i(i({ref:t},l),{},{components:r})):a.a.createElement(m,i({ref:t},l))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=f;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),p=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},l=function(e){var t=p(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),l=p(r),f=n,b=l["".concat(c,".").concat(f)]||l[f]||d[f]||o;return r?a.a.createElement(b,i(i({ref:t},u),{},{components:r})):a.a.createElement(b,i({ref:t},u))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=f;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var u=2;u=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=o.a.createContext({}),s=function(e){var t=o.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=s(e.components);return o.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),l=s(r),d=n,m=l["".concat(i,".").concat(d)]||l[d]||f[d]||a;return r?o.a.createElement(m,c(c({ref:t},u),{},{components:r})):o.a.createElement(m,c({ref:t},u))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=d;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var u=2;u=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=o.a.createContext({}),s=function(e){var t=o.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=s(e.components);return o.a.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},f=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,p=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),u=s(r),f=n,d=u["".concat(p,".").concat(f)]||u[f]||m[f]||a;return r?o.a.createElement(d,c(c({ref:t},l),{},{components:r})):o.a.createElement(d,c({ref:t},l))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,p=new Array(a);p[0]=f;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:n,p[1]=c;for(var l=2;l=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=o.a.createContext({}),s=function(e){var t=o.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=s(e.components);return o.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},m=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=s(n),m=r,d=p["".concat(i,".").concat(m)]||p[m]||f[m]||a;return n?o.a.createElement(d,c(c({ref:t},l),{},{components:n})):o.a.createElement(d,c({ref:t},l))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=m;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var l=2;l=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=o.a.createContext({}),s=function(e){var t=o.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},u=function(e){var t=s(e.components);return o.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},f=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(n),f=r,d=u["".concat(i,".").concat(f)]||u[f]||m[f]||a;return n?o.a.createElement(d,c(c({ref:t},p),{},{components:n})):o.a.createElement(d,c({ref:t},p))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var p=2;p=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=r.a.createContext({}),p=function(e){var t=r.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},d=function(e){var t=p(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},m=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=p(n),m=a,b=d["".concat(o,".").concat(m)]||d[m]||u[m]||i;return n?r.a.createElement(b,s(s({ref:t},c),{},{components:n})):r.a.createElement(b,s({ref:t},c))}));function b(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var c=2;c=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=a.a.createContext({}),u=function(e){var r=a.a.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},p=function(e){var r=u(e.components);return a.a.createElement(c.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},m=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=u(t),m=n,f=p["".concat(o,".").concat(m)]||p[m]||d[m]||i;return t?a.a.createElement(f,s(s({ref:r},c),{},{components:t})):a.a.createElement(f,s({ref:r},c))}));function f(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=t.length,o=new Array(i);o[0]=m;var s={};for(var l in r)hasOwnProperty.call(r,l)&&(s[l]=r[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var c=2;c=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var u=a.a.createContext({}),c=function(e){var r=a.a.useContext(u),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},d=function(e){var r=c(e.components);return a.a.createElement(u.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},f=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(t),f=n,m=d["".concat(o,".").concat(f)]||d[f]||p[f]||i;return t?a.a.createElement(m,s(s({ref:r},u),{},{components:t})):a.a.createElement(m,s({ref:r},u))}));function m(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=t.length,o=new Array(i);o[0]=f;var s={};for(var l in r)hasOwnProperty.call(r,l)&&(s[l]=r[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var u=2;u=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),s=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=s(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),d=s(n),m=r,g=d["".concat(i,".").concat(m)]||d[m]||l[m]||o;return n?a.a.createElement(g,c(c({ref:t},u),{},{components:n})):a.a.createElement(g,c({ref:t},u))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=m;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var u=2;u=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=a.a.createContext({}),s=function(e){var t=a.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},d=function(e){var t=s(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),d=s(r),m=n,f=d["".concat(i,".").concat(m)]||d[m]||l[m]||o;return r?a.a.createElement(f,c(c({ref:t},p),{},{components:r})):a.a.createElement(f,c({ref:t},p))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=m;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var p=2;p=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=a.a.createContext({}),u=function(e){var r=a.a.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):p(p({},r),e)),t},l=function(e){var r=u(e.components);return a.a.createElement(s.Provider,{value:r},e.children)},m={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},f=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),l=u(t),f=n,b=l["".concat(i,".").concat(f)]||l[f]||m[f]||o;return t?a.a.createElement(b,p(p({ref:r},s),{},{components:t})):a.a.createElement(b,p({ref:r},s))}));function b(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,i=new Array(o);i[0]=f;var p={};for(var c in r)hasOwnProperty.call(r,c)&&(p[c]=r[c]);p.originalType=e,p.mdxType="string"==typeof e?e:n,i[1]=p;for(var s=2;s=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=a.a.createContext({}),p=function(e){var r=a.a.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},l=function(e){var r=p(e.components);return a.a.createElement(s.Provider,{value:r},e.children)},f={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},b=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),l=p(t),b=n,d=l["".concat(i,".").concat(b)]||l[b]||f[b]||o;return t?a.a.createElement(d,c(c({ref:r},s),{},{components:t})):a.a.createElement(d,c({ref:r},s))}));function d(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,i=new Array(o);i[0]=b;var c={};for(var u in r)hasOwnProperty.call(r,u)&&(c[u]=r[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var s=2;s{let n,r;function c(){const c=function(){let e=0,t=null;for(n=document.getElementsByClassName("anchor");e=0&&i<=a&&(t=l),e+=1}return t}();if(c){let a=0,n=!1;for(r=document.getElementsByClassName(e);a{document.removeEventListener("scroll",c),document.removeEventListener("resize",c)}}))},r=a(46),c=a.n(r);const o="table-of-contents__link";function s({headings:e,isChild:t}){return e.length?l.a.createElement("ul",{className:t?"":"table-of-contents table-of-contents__left-border"},e.map((e=>l.a.createElement("li",{key:e.id},l.a.createElement("a",{href:"#"+e.id,className:o,dangerouslySetInnerHTML:{__html:e.value}}),l.a.createElement(s,{isChild:!0,headings:e.children}))))):null}t.a=function({headings:e}){return i(o,"table-of-contents__link--active",100),l.a.createElement("div",{className:c.a.tableOfContents},l.a.createElement(s,{headings:e}))}}}]); \ No newline at end of file diff --git a/docs/ccc49370.8ade93d7.js b/docs/ccc49370.8ade93d7.js new file mode 100644 index 0000000000..4bbe9d71ca --- /dev/null +++ b/docs/ccc49370.8ade93d7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[197,28],{300:function(e,a,t){"use strict";t.r(a);var n=t(0),r=t.n(n),l=t(308),c=t(314),i=t(306);var m=function(e){var a=e.nextItem,t=e.prevItem;return r.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog post page navigation"},r.a.createElement("div",{className:"pagination-nav__item"},t&&r.a.createElement(i.a,{className:"pagination-nav__link",to:t.permalink},r.a.createElement("div",{className:"pagination-nav__sublabel"},"Newer Post"),r.a.createElement("div",{className:"pagination-nav__label"},"\xab ",t.title))),r.a.createElement("div",{className:"pagination-nav__item pagination-nav__item--next"},a&&r.a.createElement(i.a,{className:"pagination-nav__link",to:a.permalink},r.a.createElement("div",{className:"pagination-nav__sublabel"},"Older Post"),r.a.createElement("div",{className:"pagination-nav__label"},a.title," \xbb"))))},o=t(496);a.default=function(e){var a=e.content,t=a.frontMatter,n=a.metadata,i=n.title,s=n.description,u=n.nextItem,d=n.prevItem,g=n.editUrl,v=t.hide_table_of_contents;return r.a.createElement(l.a,{title:i,description:s},a&&r.a.createElement("div",{className:"container margin-vert--lg"},r.a.createElement("div",{className:"row"},r.a.createElement("div",{className:"col col--8 col--offset-2"},r.a.createElement(c.a,{frontMatter:t,metadata:n,isBlogPostPage:!0},r.a.createElement(a,null)),r.a.createElement("div",null,g&&r.a.createElement("a",{href:g,target:"_blank",rel:"noreferrer noopener"},r.a.createElement("svg",{fill:"currentColor",height:"1.2em",width:"1.2em",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 40 40",style:{marginRight:"0.3em",verticalAlign:"sub"}},r.a.createElement("g",null,r.a.createElement("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"}))),"Edit this page")),(u||d)&&r.a.createElement("div",{className:"margin-vert--xl"},r.a.createElement(m,{nextItem:u,prevItem:d}))),!v&&a.rightToc&&r.a.createElement("div",{className:"col col--2"},r.a.createElement(o.a,{headings:a.rightToc})))))}},310:function(e,a,t){"use strict";t.d(a,"a",(function(){return m}));var n=t(0),r=t.n(n),l=t(311),c=t(312),i=function(){var e=r.a.useState(!!window.localStorage.getItem("noticeRead")),a=e[0],t=e[1];return r.a.createElement("section",{className:"notice",style:{opacity:a?0:1}},r.a.createElement("div",null,r.a.createElement("p",null,"By using this website you agree to our use of cookies. "),r.a.createElement("a",{href:"https://www.h2o.ai/privacy/",target:"_blank"},"Read H2O.ai\u2019s privacy policy.")),r.a.createElement("span",{className:"notice__close",onClick:function(){window.localStorage.setItem("noticeRead",!0),t(!0)}},"X"))};function m(e){return r.a.createElement(r.a.Fragment,null,r.a.createElement(c.a,null,i),r.a.createElement(l.a,e))}},314:function(e,a,t){"use strict";var n=t(0),r=t.n(n),l=t(307),c=t(302),i=t(309),m=t(306),o=t(317),s=t(304),u=t(46),d=t.n(u),g=["January","February","March","April","May","June","July","August","September","October","November","December"];a.a=function(e){var a,t,n,u,v,E=e.children,p=e.frontMatter,h=e.metadata,f=e.truncated,_=e.isBlogPostPage,b=void 0!==_&&_,N=h.date,w=h.permalink,k=h.tags,y=h.readingTime,I=p.author,R=p.title,x=p.image,M=p.keywords,C=p.author_url||p.authorURL,L=p.author_title||p.authorTitle,O=p.author_image_url||p.authorImageURL,B=Object(s.a)(x,{absolute:!0});return r.a.createElement(r.a.Fragment,null,r.a.createElement(i.a,null,M&&M.length&&r.a.createElement("meta",{name:"keywords",content:M.join(",")}),x&&r.a.createElement("meta",{property:"og:image",content:B}),x&&r.a.createElement("meta",{property:"twitter:image",content:B}),x&&r.a.createElement("meta",{name:"twitter:image:alt",content:"Image for "+R})),r.a.createElement("article",{className:b?void 0:"margin-bottom--xl"},(a=b?"h1":"h2",t=N.substring(0,10).split("-"),n=t[0],u=g[parseInt(t[1],10)-1],v=parseInt(t[2],10),r.a.createElement("header",null,r.a.createElement(a,{className:Object(l.a)("margin-bottom--sm",d.a.blogPostTitle)},b?R:r.a.createElement(m.a,{to:w},R)),r.a.createElement("div",{className:"margin-vert--md"},r.a.createElement("time",{dateTime:N,className:d.a.blogPostDate},u," ",v,", ",n," ",y&&r.a.createElement(r.a.Fragment,null," \xb7 ",Math.ceil(y)," min read"))),r.a.createElement("div",{className:"avatar margin-vert--md"},O&&r.a.createElement("a",{className:"avatar__photo-link avatar__photo",href:C,target:"_blank",rel:"noreferrer noopener"},r.a.createElement("img",{src:O,alt:I})),r.a.createElement("div",{className:"avatar__intro"},I&&r.a.createElement(r.a.Fragment,null,r.a.createElement("h4",{className:"avatar__name"},r.a.createElement("a",{href:C,target:"_blank",rel:"noreferrer noopener"},I)),r.a.createElement("small",{className:"avatar__subtitle"},L)))))),r.a.createElement("section",{className:"markdown"},r.a.createElement(c.a,{components:o.a},E)),(k.length>0||f)&&r.a.createElement("footer",{className:"row margin-vert--lg"},k.length>0&&r.a.createElement("div",{className:"col"},r.a.createElement("strong",null,"Tags:"),k.map((function(e){var a=e.label,t=e.permalink;return r.a.createElement(m.a,{key:t,className:"margin-horiz--sm",to:t},a)}))),f&&r.a.createElement("div",{className:"col text--right"},r.a.createElement(m.a,{to:h.permalink,"aria-label":"Read more about "+R},r.a.createElement("strong",null,"Read More"))))))}},496:function(e,a,t){"use strict";var n=t(0),r=t.n(n);var l=function(e,a,t){var r=Object(n.useState)(void 0),l=r[0],c=r[1];Object(n.useEffect)((function(){var n,r;function i(){var i=function(){var e=0,a=null;for(n=document.getElementsByClassName("anchor");e=0&&l<=t&&(a=r),e+=1}return a}();if(i){var m=0,o=!1;for(r=document.getElementsByClassName(e);m=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),u=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=u(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=u(r),f=n,b=p["".concat(c,".").concat(f)]||p[f]||d[f]||o;return r?a.a.createElement(b,i(i({ref:t},l),{},{components:r})):a.a.createElement(b,i({ref:t},l))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=f;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=a.a.createContext({}),s=function(e){var t=a.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=s(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(r),f=n,m=u["".concat(c,".").concat(f)]||u[f]||d[f]||o;return r?a.a.createElement(m,i(i({ref:t},p),{},{components:r})):a.a.createElement(m,i({ref:t},p))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=f;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var p=2;p=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):u(u({},t),e)),n},p=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),p=s(n),d=r,m=p["".concat(i,".").concat(d)]||p[d]||f[d]||o;return n?a.a.createElement(m,u(u({ref:t},l),{},{components:n})):a.a.createElement(m,u({ref:t},l))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var u={};for(var c in t)hasOwnProperty.call(t,c)&&(u[c]=t[c]);u.originalType=e,u.mdxType="string"==typeof e?e:r,i[1]=u;for(var l=2;l=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=a.a.createContext({}),u=function(e){var n=a.a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},s=function(e){var n=u(e.components);return a.a.createElement(c.Provider,{value:n},e.children)},m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},d=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),s=u(t),d=r,f=s["".concat(i,".").concat(d)]||s[d]||m[d]||o;return t?a.a.createElement(f,l(l({ref:n},c),{},{components:t})):a.a.createElement(f,l({ref:n},c))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=d;var l={};for(var p in n)hasOwnProperty.call(n,p)&&(l[p]=n[p]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var c=2;c=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),s=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=s(n),f=r,d=u["".concat(i,".").concat(f)]||u[f]||m[f]||o;return n?a.a.createElement(d,l(l({ref:t},p),{},{components:n})):a.a.createElement(d,l({ref:t},p))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=f;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var p=2;p=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=o.a.createContext({}),p=function(e){var t=o.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=p(e.components);return o.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=p(n),d=r,m=s["".concat(i,".").concat(d)]||s[d]||f[d]||a;return n?o.a.createElement(m,c(c({ref:t},u),{},{components:n})):o.a.createElement(m,c({ref:t},u))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var u=2;u=0||(r[i]=e[i]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var u=r.a.createContext({}),d=function(e){var n=r.a.useContext(u),i=n;return e&&(i="function"==typeof e?e(n):f(f({},n),e)),i},c=function(e){var n=d(e.components);return r.a.createElement(u.Provider,{value:n},e.children)},I={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},R=r.a.forwardRef((function(e,n){var i=e.components,t=e.mdxType,a=e.originalType,o=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),c=d(i),R=t,E=c["".concat(o,".").concat(R)]||c[R]||I[R]||a;return i?r.a.createElement(E,f(f({ref:n},u),{},{components:i})):r.a.createElement(E,f({ref:n},u))}));function E(e,n){var i=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var a=i.length,o=new Array(a);o[0]=R;var f={};for(var s in n)hasOwnProperty.call(n,s)&&(f[s]=n[s]);f.originalType=e,f.mdxType="string"==typeof e?e:t,o[1]=f;for(var u=2;u=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var f=r.a.createContext({}),c=function(e){var n=r.a.useContext(f),t=n;return e&&(t="function"==typeof e?e(n):u(u({},n),e)),t},d=function(e){var n=c(e.components);return r.a.createElement(f.Provider,{value:n},e.children)},I={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},R=r.a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,o=e.parentName,f=s(e,["components","mdxType","originalType","parentName"]),d=c(t),R=i,l=d["".concat(o,".").concat(R)]||d[R]||I[R]||a;return t?r.a.createElement(l,u(u({ref:n},f),{},{components:t})):r.a.createElement(l,u({ref:n},f))}));function l(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,o=new Array(a);o[0]=R;var u={};for(var s in n)hasOwnProperty.call(n,s)&&(u[s]=n[s]);u.originalType=e,u.mdxType="string"==typeof e?e:i,o[1]=u;for(var f=2;f=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=r.a.createContext({}),b=function(e){var t=r.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},s=function(e){var t=b(e.components);return r.a.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},m=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),s=b(n),m=a,d=s["".concat(p,".").concat(m)]||s[m]||u[m]||i;return n?r.a.createElement(d,o(o({ref:t},l),{},{components:n})):r.a.createElement(d,o({ref:t},l))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,p=new Array(i);p[0]=m;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,p[1]=o;for(var l=2;l=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=r.a.createContext({}),b=function(e){var t=r.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},s=function(e){var t=b(e.components);return r.a.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},m=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),s=b(n),m=a,d=s["".concat(p,".").concat(m)]||s[m]||u[m]||i;return n?r.a.createElement(d,o(o({ref:t},l),{},{components:n})):r.a.createElement(d,o({ref:t},l))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,p=new Array(i);p[0]=m;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,p[1]=o;for(var l=2;l\n{{#each dishes}}\n
      1. {{name}} costs {{price}}
      2. \n{{/each}}\n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},u=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),d=s(n),u=r,f=d["".concat(i,".").concat(u)]||d[u]||m[u]||o;return n?a.a.createElement(f,c(c({ref:t},l),{},{components:n})):a.a.createElement(f,c({ref:t},l))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=u;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var l=2;l\n{{#each dishes}}\n
      3. {{name}} costs {{price}}
      4. \n{{/each}}\n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),s=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},l=function(e){var t=s(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),l=s(n),m=r,f=l["".concat(o,".").concat(m)]||l[m]||d[m]||i;return n?a.a.createElement(f,c(c({ref:t},u),{},{components:n})):a.a.createElement(f,c({ref:t},u))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=m;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:r,o[1]=c;for(var u=2;u=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=r.a.createContext({}),p=function(e){var t=r.a.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},u=function(e){var t=p(e.components);return r.a.createElement(l.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=p(a),d=n,m=u["".concat(o,".").concat(d)]||u[d]||b[d]||i;return a?r.a.createElement(m,s(s({ref:t},l),{},{components:a})):r.a.createElement(m,s({ref:t},l))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,o=new Array(i);o[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var l=2;l=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=r.a.createContext({}),p=function(e){var t=r.a.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},u=function(e){var t=p(e.components);return r.a.createElement(l.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=p(a),d=n,m=u["".concat(o,".").concat(d)]||u[d]||b[d]||i;return a?r.a.createElement(m,s(s({ref:t},l),{},{components:a})):r.a.createElement(m,s({ref:t},l))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,o=new Array(i);o[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var l=2;l=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=r.a.createContext({}),u=function(e){var t=r.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=u(e.components);return r.a.createElement(s.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),p=u(n),d=a,f=p["".concat(i,".").concat(d)]||p[d]||m[d]||o;return n?r.a.createElement(f,l(l({ref:t},s),{},{components:n})):r.a.createElement(f,l({ref:t},s))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,i[1]=l;for(var s=2;s=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=s(n),m=r,f=p["".concat(i,".").concat(m)]||p[m]||d[m]||o;return n?a.a.createElement(f,c(c({ref:t},l),{},{components:n})):a.a.createElement(f,c({ref:t},l))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=m;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var l=2;l=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var p=i.a.createContext({}),u=function(e){var t=i.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=u(e.components);return i.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},f=i.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,s=e.parentName,p=b(e,["components","mdxType","originalType","parentName"]),c=u(n),f=r,R=c["".concat(s,".").concat(f)]||c[f]||d[f]||a;return n?i.a.createElement(R,o(o({ref:t},p),{},{components:n})):i.a.createElement(R,o({ref:t},p))}));function R(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,s=new Array(a);s[0]=f;var o={};for(var b in t)hasOwnProperty.call(t,b)&&(o[b]=t[b]);o.originalType=e,o.mdxType="string"==typeof e?e:r,s[1]=o;for(var p=2;p=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=i.a.createContext({}),b=function(e){var t=i.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},f=function(e){var t=b(e.components);return i.a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},d=i.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,o=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),f=b(r),d=n,l=f["".concat(o,".").concat(d)]||f[d]||p[d]||a;return r?i.a.createElement(l,s(s({ref:t},c),{},{components:r})):i.a.createElement(l,s({ref:t},c))}));function l(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,o=new Array(a);o[0]=d;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var c=2;c=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),u=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=u(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,s=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=u(n),f=r,b=p["".concat(o,".").concat(f)]||p[f]||m[f]||s;return n?a.a.createElement(b,i(i({ref:t},c),{},{components:n})):a.a.createElement(b,i({ref:t},c))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=n.length,o=new Array(s);o[0]=f;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:r,o[1]=i;for(var c=2;c=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),l=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=l(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=l(n),b=r,m=p["".concat(s,".").concat(b)]||p[b]||f[b]||o;return n?a.a.createElement(m,i(i({ref:t},u),{},{components:n})):a.a.createElement(m,i({ref:t},u))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,s=new Array(o);s[0]=b;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:r,s[1]=i;for(var u=2;u',id:"create_app",children:[]},{value:'delete_app ',id:"delete_app",children:[]},{value:'delete_file ',id:"delete_file",children:[]},{value:'list_apps ',id:"list_apps",children:[]},{value:'main ',id:"main",children:[]},{value:'read_file ',id:"read_file",children:[]},{value:'rename_file ',id:"rename_file",children:[]},{value:'rpc ',id:"rpc",children:[]},{value:'serve ',id:"serve",children:[]},{value:'start_app ',id:"start_app",children:[]},{value:'stop_app ',id:"stop_app",children:[]},{value:'write_file ',id:"write_file",children:[]}]},{value:"Classes",id:"classes",children:[{value:'App ',id:"app",children:[]}]}],r={rightToc:b};function d(e){var a=e.components,i=Object(s.a)(e,["components"]);return Object(c.b)("wrapper",Object(t.a)({},r,i,{components:a,mdxType:"MDXLayout"}),Object(c.b)("h2",{id:"functions"},"Functions"),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"create_app"},"create_app ",Object(c.b)("a",{name:"h2o_wave.ide.create_app"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"async def ",Object(c.b)("span",{class:"ident"},"create_app"),"(app_name:\xa0str)"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"delete_app"},"delete_app ",Object(c.b)("a",{name:"h2o_wave.ide.delete_app"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"async def ",Object(c.b)("span",{class:"ident"},"delete_app"),"(app_name:\xa0str)"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"delete_file"},"delete_file ",Object(c.b)("a",{name:"h2o_wave.ide.delete_file"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"async def ",Object(c.b)("span",{class:"ident"},"delete_file"),"(app_name:\xa0str, file_name:\xa0str)"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"list_apps"},"list_apps ",Object(c.b)("a",{name:"h2o_wave.ide.list_apps"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"async def ",Object(c.b)("span",{class:"ident"},"list_apps"),"() \u2011>\xa0List[str]"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"main"},"main ",Object(c.b)("a",{name:"h2o_wave.ide.main"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"main"),"()"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"read_file"},"read_file ",Object(c.b)("a",{name:"h2o_wave.ide.read_file"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"async def ",Object(c.b)("span",{class:"ident"},"read_file"),"(app_name:\xa0str, file_name:\xa0str) \u2011>\xa0str"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"rename_file"},"rename_file ",Object(c.b)("a",{name:"h2o_wave.ide.rename_file"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"async def ",Object(c.b)("span",{class:"ident"},"rename_file"),"(app_name:\xa0str, file_name:\xa0str, new_file_name:\xa0str)"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"rpc"},"rpc ",Object(c.b)("a",{name:"h2o_wave.ide.rpc"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"rpc"),"(f:\xa0Callable)"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"serve"},"serve ",Object(c.b)("a",{name:"h2o_wave.ide.serve"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"async def ",Object(c.b)("span",{class:"ident"},"serve"),"(request:\xa0starlette.requests.Request)"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"start_app"},"start_app ",Object(c.b)("a",{name:"h2o_wave.ide.start_app"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"async def ",Object(c.b)("span",{class:"ident"},"start_app"),"(app_name:\xa0str)"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"stop_app"},"stop_app ",Object(c.b)("a",{name:"h2o_wave.ide.stop_app"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"async def ",Object(c.b)("span",{class:"ident"},"stop_app"),"(app_name:\xa0str)"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"write_file"},"write_file ",Object(c.b)("a",{name:"h2o_wave.ide.write_file"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"async def ",Object(c.b)("span",{class:"ident"},"write_file"),"(app_name:\xa0str, file_name:\xa0str, file_content:\xa0str)"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("h2",{id:"classes"},"Classes"),Object(c.b)("div",{className:"api"},Object(c.b)("h3",{id:"app"},"App ",Object(c.b)("a",{name:"h2o_wave.ide.App"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"class ",Object(c.b)("span",{class:"ident"},"App"),"(app_dir:\xa0pathlib.Path)"),Object(c.b)("div",{className:"api__description"}),Object(c.b)("h4",{id:"methods"},"Methods"),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"is_running"},"is_running ",Object(c.b)("a",{name:"h2o_wave.ide.App.is_running"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"def ",Object(c.b)("span",{class:"ident"},"is_running"),"(self)"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"start"},"start ",Object(c.b)("a",{name:"h2o_wave.ide.App.start"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"async def ",Object(c.b)("span",{class:"ident"},"start"),"(self)"),Object(c.b)("div",{className:"api__description"}))),Object(c.b)("div",{className:"api"},Object(c.b)("h4",{id:"stop"},"stop ",Object(c.b)("a",{name:"h2o_wave.ide.App.stop"})),Object(c.b)("div",{className:"api__body"},Object(c.b)("div",{className:"api__signature"},"async def ",Object(c.b)("span",{class:"ident"},"stop"),"(self)"),Object(c.b)("div",{className:"api__description"})))))))}d.isMDXComponent=!0},300:function(e,a,i){"use strict";i.d(a,"a",(function(){return l})),i.d(a,"b",(function(){return m}));var t=i(0),s=i.n(t);function c(e,a,i){return a in e?Object.defineProperty(e,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[a]=i,e}function n(e,a){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),i.push.apply(i,t)}return i}function p(e){for(var a=1;a=0||(s[i]=e[i]);return s}(e,a);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(s[i]=e[i])}return s}var r=s.a.createContext({}),d=function(e){var a=s.a.useContext(r),i=a;return e&&(i="function"==typeof e?e(a):p(p({},a),e)),i},l=function(e){var a=d(e.components);return s.a.createElement(r.Provider,{value:a},e.children)},_={inlineCode:"code",wrapper:function(e){var a=e.children;return s.a.createElement(s.a.Fragment,{},a)}},o=s.a.forwardRef((function(e,a){var i=e.components,t=e.mdxType,c=e.originalType,n=e.parentName,r=b(e,["components","mdxType","originalType","parentName"]),l=d(i),o=t,m=l["".concat(n,".").concat(o)]||l[o]||_[o]||c;return i?s.a.createElement(m,p(p({ref:a},r),{},{components:i})):s.a.createElement(m,p({ref:a},r))}));function m(e,a){var i=arguments,t=a&&a.mdxType;if("string"==typeof e||t){var c=i.length,n=new Array(c);n[0]=o;var p={};for(var b in a)hasOwnProperty.call(a,b)&&(p[b]=a[b]);p.originalType=e,p.mdxType="string"==typeof e?e:t,n[1]=p;for(var r=2;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var p=i.a.createContext({}),u=function(e){var t=i.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=u(e.components);return i.a.createElement(p.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},d=i.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,o=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),s=u(n),d=r,f=s["".concat(o,".").concat(d)]||s[d]||b[d]||a;return n?i.a.createElement(f,c(c({ref:t},p),{},{components:n})):i.a.createElement(f,c({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,o[1]=c;for(var p=2;p=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var p=i.a.createContext({}),s=function(e){var t=i.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},u=function(e){var t=s(e.components);return i.a.createElement(p.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},d=i.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,o=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(n),d=r,f=u["".concat(o,".").concat(d)]||u[d]||b[d]||a;return n?i.a.createElement(f,c(c({ref:t},p),{},{components:n})):i.a.createElement(f,c({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,o[1]=c;for(var p=2;p=0||(n[r]=A[r]);return n}(A,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(A);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(A,r)&&(n[r]=A[r])}return n}var p=n.a.createContext({}),d=function(A){var e=n.a.useContext(p),r=e;return A&&(r="function"==typeof A?A(e):m(m({},e),A)),r},i=function(A){var e=d(A.components);return n.a.createElement(p.Provider,{value:e},A.children)},u={inlineCode:"code",wrapper:function(A){var e=A.children;return n.a.createElement(n.a.Fragment,{},e)}},s=n.a.forwardRef((function(A,e){var r=A.components,t=A.mdxType,a=A.originalType,o=A.parentName,p=c(A,["components","mdxType","originalType","parentName"]),i=d(r),s=t,f=i["".concat(o,".").concat(s)]||i[s]||u[s]||a;return r?n.a.createElement(f,m(m({ref:e},p),{},{components:r})):n.a.createElement(f,m({ref:e},p))}));function f(A,e){var r=arguments,t=e&&e.mdxType;if("string"==typeof A||t){var a=r.length,o=new Array(a);o[0]=s;var m={};for(var c in e)hasOwnProperty.call(e,c)&&(m[c]=e[c]);m.originalType=A,m.mdxType="string"==typeof A?A:t,o[1]=m;for(var p=2;p=0||(n[t]=A[t]);return n}(A,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(A);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(A,t)&&(n[t]=A[t])}return n}var i=n.a.createContext({}),m=function(A){var e=n.a.useContext(i),t=e;return A&&(t="function"==typeof A?A(e):c(c({},e),A)),t},d=function(A){var e=m(A.components);return n.a.createElement(i.Provider,{value:e},A.children)},p={inlineCode:"code",wrapper:function(A){var e=A.children;return n.a.createElement(n.a.Fragment,{},e)}},s=n.a.forwardRef((function(A,e){var t=A.components,r=A.mdxType,a=A.originalType,o=A.parentName,i=u(A,["components","mdxType","originalType","parentName"]),d=m(t),s=r,f=d["".concat(o,".").concat(s)]||d[s]||p[s]||a;return t?n.a.createElement(f,c(c({ref:e},i),{},{components:t})):n.a.createElement(f,c({ref:e},i))}));function f(A,e){var t=arguments,r=e&&e.mdxType;if("string"==typeof A||r){var a=t.length,o=new Array(a);o[0]=s;var c={};for(var u in e)hasOwnProperty.call(e,u)&&(c[u]=e[u]);c.originalType=A,c.mdxType="string"==typeof A?A:r,o[1]=c;for(var i=2;i 0:\n form = q.page['example']\n form.items = items\n else:\n q.page['example'] = ui.form_card(box='1 1 12 10', items=items)\n\n await q.page.save()\n")),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(o.b)("a",{href:Object(c.a)("docs/examples/tags#broadcast")},"broadcast")," \u2002",Object(o.b)("a",{href:Object(c.a)("docs/examples/tags#mode")},"mode")))}d.isMDXComponent=!0},302:function(e,t,r){"use strict";r.d(t,"a",(function(){return d})),r.d(t,"b",(function(){return f}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),l=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=l(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},p=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=l(r),p=n,f=d["".concat(c,".").concat(p)]||d[p]||b[p]||o;return r?a.a.createElement(f,i(i({ref:t},u),{},{components:r})):a.a.createElement(f,i({ref:t},u))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=p;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var u=2;u 0:\n form = q.page['example']\n form.items = items\n else:\n q.page['example'] = ui.form_card(box='1 1 12 10', items=items)\n\n await q.page.save()\n")))}u.isMDXComponent=!0},300:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),u=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=u(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),p=u(n),d=r,m=p["".concat(c,".").concat(d)]||p[d]||b[d]||o;return n?a.a.createElement(m,i(i({ref:t},s),{},{components:n})):a.a.createElement(m,i({ref:t},s))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,c=new Array(o);c[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var s=2;s=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var u=o.a.createContext({}),l=function(t){var e=o.a.useContext(u),n=e;return t&&(n="function"==typeof t?t(e):p(p({},e),t)),n},s=function(t){var e=l(t.components);return o.a.createElement(u.Provider,{value:e},t.children)},f={inlineCode:"code",wrapper:function(t){var e=t.children;return o.a.createElement(o.a.Fragment,{},e)}},d=o.a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,a=t.originalType,i=t.parentName,u=c(t,["components","mdxType","originalType","parentName"]),s=l(n),d=r,m=s["".concat(i,".").concat(d)]||s[d]||f[d]||a;return n?o.a.createElement(m,p(p({ref:e},u),{},{components:n})):o.a.createElement(m,p({ref:e},u))}));function m(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var a=n.length,i=new Array(a);i[0]=d;var p={};for(var c in e)hasOwnProperty.call(e,c)&&(p[c]=e[c]);p.originalType=t,p.mdxType="string"==typeof t?t:r,i[1]=p;for(var u=2;u=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,p=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=s(n),m=r,d=u["".concat(p,".").concat(m)]||u[m]||f[m]||o;return n?a.a.createElement(d,i(i({ref:t},l),{},{components:n})):a.a.createElement(d,i({ref:t},l))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,p=new Array(o);p[0]=m;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:r,p[1]=i;for(var l=2;l + - _start_q | H2O Wave - - - - - - - - - - - - - - - - - + _start_q | H2O Wave + + + + + + + + + + +
        -

        _start_q

        To start the Wave server, simply open a new terminal window and execute waved (or waved.exe on Windows).

        cd $HOME/wave
        ./waved
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # ┌─────────────────────────┐
        2020/10/27 16:16:34 # │ ┌ ┌ ┌──┐ ┌ ┌ ┌──┐ │ H2O Wave
        2020/10/27 16:16:34 # │ │ ┌──┘ │──│ │ │ └┐ │ (version) (build)
        2020/10/27 16:16:34 # │ └─┘ ┘ ┘ └──┘ └─┘ │ © 2020 H2O.ai, Inc.
        2020/10/27 16:16:34 # └─────────────────────────┘
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # {"address":":10101","t":"listen","webroot":"/home/elp/wave/www"}

        The Wave server should now be running at http://localhost:10101.

        Don't close this terminal window!

        To run any Wave app, you need the Wave server up and running at all times. Your web browser communicates with the Wave server, and the Wave server in turn communicates with the Wave app.

        - - - - - - - - - - - - - - - - - +

        _start_q

        To start the Wave server, simply open a new terminal window and execute waved (or waved.exe on Windows).

        cd $HOME/wave
        ./waved
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # ┌─────────────────────────┐
        2020/10/27 16:16:34 # │ ┌ ┌ ┌──┐ ┌ ┌ ┌──┐ │ H2O Wave
        2020/10/27 16:16:34 # │ │ ┌──┘ │──│ │ │ └┐ │ (version) (build)
        2020/10/27 16:16:34 # │ └─┘ ┘ ┘ └──┘ └─┘ │ © 2020 H2O.ai, Inc.
        2020/10/27 16:16:34 # └─────────────────────────┘
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # {"address":":10101","t":"listen","webroot":"/home/elp/wave/www"}

        The Wave server should now be running at http://localhost:10101.

        Don't close this terminal window!

        To run any Wave app, you need the Wave server up and running at all times. Your web browser communicates with the Wave server, and the Wave server in turn communicates with the Wave app.

        + + + + + + + + + + + diff --git a/docs/docs/api/autoreload/index.html b/docs/docs/api/autoreload/index.html deleted file mode 100644 index 0983a824d4..0000000000 --- a/docs/docs/api/autoreload/index.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - Module h2o_wave.autoreload | H2O Wave - - - - - - - - - - - - - - - - - - -
        -

        Module h2o_wave.autoreload

        Functions

        add_reload_hook

        def add_reload_hook(fn: Callable[[], NoneType]) ‑> NoneType

        Add a function to be called before reloading the process.

        Note that for open file and socket handles it is generally preferable to set the FD_CLOEXEC flag (using fcntl oros.set_inheritable) instead of using a reload hook to close them.

        main

        def main() ‑> NoneType

        Command-line wrapper to re-run a script whenever its source changes.

        Scripts may be specified by filename or module name::

        python -m h2o_wave -m h2o_wave.test.runtests python -m h2o_wave h2o_wave/test/runtests.py

        Running a script with this wrapper is similar to callingwait() at the end of the script, but this wrapper can catch import-time problems like syntax errors that would otherwise prevent the script from reaching its call to wait().

        rerun

        def rerun(code: Any, glob: Dict[str, Any], loc: Union[Mapping[str, Any], NoneType] = None) ‑> NoneType

        start

        def start(check_time: int = 500) ‑> NoneType

        Begins watching source files for changes.

        wait

        def wait() ‑> NoneType

        Wait for a watched file to change, then restart the process.

        Intended to be used at the end of scripts like unit test runners, to run the tests again after any source file changes (but see also the command-line interface in main())

        watch

        def watch(filename: str) ‑> NoneType

        Add a file to the watch list.

        All imported modules are watched by default.

        - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/docs/api/cli/index.html b/docs/docs/api/cli/index.html deleted file mode 100644 index dd170bf6bc..0000000000 --- a/docs/docs/api/cli/index.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - Module h2o_wave.cli | H2O Wave - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/docs/api/core/index.html b/docs/docs/api/core/index.html index d5c1861ac6..17e3e67fc3 100644 --- a/docs/docs/api/core/index.html +++ b/docs/docs/api/core/index.html @@ -4,45 +4,34 @@ + - Module h2o_wave.core | H2O Wave - - - - - - - - - - - - - - - - + Module h2o_wave.core | H2O Wave + + + + + + + + + +
        -

        Module h2o_wave.core

        Functions

        clone_expando

        def clone_expando(source: Expando, exclude_keys: Union[list, tuple, NoneType] = None, include_keys: Union[list, tuple, NoneType] = None) ‑> Expando

        Clone an expando instance. Creates a shallow clone.

        Args
        source
        The expando to clone.
        exclude_keys
        Keys to exclude while cloning.
        include_keys
        Keys to include while cloning.
        Returns

        The expando clone.

        copy_expando

        def copy_expando(source: Expando, target: Expando, exclude_keys: Union[list, tuple, NoneType] = None, include_keys: Union[list, tuple, NoneType] = None) ‑> Expando

        Copy all entries from the source expando instance to the target expando instance.

        Args
        source
        The expando to copy from.
        target
        The expando to copy to.
        exclude_keys
        Keys to exclude while copying.
        include_keys
        Keys to include while copying.
        Returns

        The target expando.

        data

        def data(fields: Union[str, tuple, list], size: int = 0, rows: Union[dict, list, NoneType] = None, columns: Union[dict, list, NoneType] = None, pack=False) ‑> Union[Data, str]

        Create a Data instance for associating data with cards.

        data()(fields, size) creates a placeholder for data and allocates memory on the Wave server.

        data()(fields, size, rows) creates a placeholder and initializes it with the provided rows.

        If pack() is True, the size parameter is ignored, and the function returns a packed string representing the data.

        Args
        fields
        The names of the fields (columns names) in the data, either a list or tuple or string containing space-separated names.
        size
        The number of rows to allocate memory for. Positive for fixed buffers, negative for circular buffers and zero for variable length buffers.
        rows
        The rows in this data.
        columns
        The columns in this data.
        pack
        True to return a packed string representing the data instead of a Data placeholder.
        Returns

        Either a Data placeholder or a packed string representing the data.

        expando_to_dict

        def expando_to_dict(e: Expando) ‑> dict

        Extract an expando's underlying dictionary. Any modifications to the dictionary also affect the original expando.

        Args
        e
        The expando instance.
        Returns

        The expando's dictionary.

        marshal

        def marshal(d: Any) ‑> str

        Marshal to JSON.

        Args
        d
        Any object or value.
        Returns

        A string containing the JSON-serialized form.

        pack

        def pack(data: Any) ‑> str

        Pack (compress) the provided value.

        Args
        data
        Any object or value.

        The object or value compressed into a string.

        unmarshal

        def unmarshal(s: str) ‑> Any

        Unmarshal a JSON string.

        Args
        s
        A string containing JSON-serialized data.
        Returns

        The deserialized object or value.

        Classes

        AsyncPage

        class AsyncPage(site: AsyncSite, url: str)

        Represents a reference to a remote Wave page. Similar to Page except that this class exposes async methods.

        Args
        site
        The parent site.
        url
        The URL of this page.

        Methods

        load

        async def load(self) ‑> dict

        Retrieve the serialized form of this page from the remote site.

        Returns

        The serialized form of this page

        push

        async def push(self)

        DEPRECATED: Use AsyncPage.save() instead.

        save

        async def save(self)

        Save the page. Sends all local changes made to this page to the remote site.

        Ancestors

        Inherited members

        AsyncSite

        class AsyncSite

        Represents a reference to the remote Wave site. Similar to Site except that this class exposes async methods.

        Methods

        download

        async def download(self, url: str, path: str) ‑> str

        Download a file from the site.

        Args
        url
        The URL of the file.
        path
        The local directory or file path to download to. If a directory is provided, the original name of the file is retained.
        Returns

        The path to the downloaded file.

        load

        async def load(self, url) ‑> dict

        Retrieve data at the given URL, typically the serialized form of a page.

        Args
        url
        The URL to read.
        Returns

        The serialized page.

        unload

        async def unload(self, url: str)

        Delete an uploaded file from the site.

        Args
        url
        The URL of the file to delete.

        upload

        async def upload(self, files: List[str]) ‑> List[str]

        Upload local files to the site.

        Args
        files
        A list of file paths of the files to be uploaded..
        Returns

        A list of remote URLs for the uploaded files, in order.

        Data

        class Data(fields: Union[str, tuple, list], size: int = 0, data: Union[dict, list, NoneType] = None)

        Represents a data placeholder. A data placeholder is used to allocate memory on the Wave server to store data.

        Args
        fields
        The names of the fields (columns names) in the data, either a list or tuple or string containing space-separated names.
        size
        The number of rows to allocate memory for. Positive for fixed buffers, negative for circular buffers and zero for variable length buffers.
        data
        Initial data. Must be either a key-row dict for variable-length buffers OR a row list for fixed-size and circular buffers.

        Methods

        dump

        def dump(self)

        Expando

        class Expando(args: Union[Dict, NoneType] = None)

        Represents an object whose members (attributes) can be dynamically added and removed at run time.

        Args
        args
        An optional dict of attribute-value pairs to initialize the expando instance with.

        Page

        class Page(site: Site, url: str)

        Represents a reference to a remote Wave page.

        Args
        site
        The parent site.
        url
        The URL of this page.

        Methods

        load

        def load(self) ‑> dict

        Retrieve the serialized form of this page from the remote site.

        Returns

        The serialized form of this page

        save

        def save(self)

        Save the page. Sends all local changes made to this page to the remote site.

        sync

        def sync(self)

        DEPRECATED: Use Page.save() instead.

        Ancestors

        Inherited members

        PageBase

        class PageBase(url: str)

        Represents a remote page.

        Args
        url
        The URL of the remote page.

        Methods

        add

        def add(self, key: str, card: Any) ‑> Ref

        Add a card to this page.

        Args
        key
        The card's key. Must uniquely identify the card on the page. Overwrites any other card with the same key.
        card
        A card. Use one of the ui.*_card() to create cards.
        Returns

        A reference to the added card.

        drop

        def drop(self)

        Delete this page from the remote site. Same as del site[url].

        Subclasses

        Ref

        class Ref(page: PageBase, key: str)

        Represents a local reference to an element on a Page. Any changes made to this local reference are tracked and sent to the remote Wave server when the page is saved.

        ServiceError

        class ServiceError(*args, **kwargs)

        Common base class for all non-exit exceptions.

        Ancestors

        • builtins.Exception
        • builtins.BaseException

        Site

        class Site

        Represents a reference to the remote Wave site. A Site instance is used to obtain references to the site's pages.

        Methods

        download

        def download(self, url: str, path: str) ‑> str

        Download a file from the site.

        Args
        url
        The URL of the file.
        path
        The local directory or file path to download to. If a directory is provided, the original name of the file is retained.
        Returns

        The path to the downloaded file.

        load

        def load(self, url) ‑> dict

        Retrieve data at the given URL, typically the serialized form of a page.

        Args
        url
        The URL to read.
        Returns

        The serialized page.

        unload

        def unload(self, url: str)

        Delete an uploaded file from the site.

        Args
        url
        The URL of the file to delete.

        upload

        def upload(self, files: List[str]) ‑> List[str]

        Upload local files to the site.

        Args
        files
        A list of file paths of the files to be uploaded..
        Returns

        A list of remote URLs for the uploaded files, in order.

        - - - - - - - - - - - - - - - - +

        Module h2o_wave.core

        Functions

        clone_expando

        def clone_expando(source: Expando, exclude_keys: Union[list, tuple, NoneType] = None, include_keys: Union[list, tuple, NoneType] = None) ‑> Expando

        Clone an expando instance. Creates a shallow clone.

        Args
        source
        The expando to clone.
        exclude_keys
        Keys to exclude while cloning.
        include_keys
        Keys to include while cloning.
        Returns

        The expando clone.

        copy_expando

        def copy_expando(source: Expando, target: Expando, exclude_keys: Union[list, tuple, NoneType] = None, include_keys: Union[list, tuple, NoneType] = None) ‑> Expando

        Copy all entries from the source expando instance to the target expando instance.

        Args
        source
        The expando to copy from.
        target
        The expando to copy to.
        exclude_keys
        Keys to exclude while copying.
        include_keys
        Keys to include while copying.
        Returns

        The target expando.

        data

        def data(fields: Union[str, tuple, list], size: int = 0, rows: Union[dict, list, NoneType] = None, columns: Union[dict, list, NoneType] = None, pack=False) ‑> Union[Data, str]

        Create a Data instance for associating data with cards.

        data()(fields, size) creates a placeholder for data and allocates memory on the Wave server.

        data()(fields, size, rows) creates a placeholder and initializes it with the provided rows.

        If pack() is True, the size parameter is ignored, and the function returns a packed string representing the data.

        Args
        fields
        The names of the fields (columns names) in the data, either a list or tuple or string containing space-separated names.
        size
        The number of rows to allocate memory for. Positive for fixed buffers, negative for circular buffers and zero for variable length buffers.
        rows
        The rows in this data.
        columns
        The columns in this data.
        pack
        True to return a packed string representing the data instead of a Data placeholder.
        Returns

        Either a Data placeholder or a packed string representing the data.

        expando_to_dict

        def expando_to_dict(e: Expando) ‑> dict

        Extract an expando's underlying dictionary. Any modifications to the dictionary also affect the original expando.

        Args
        e
        The expando instance.
        Returns

        The expando's dictionary.

        marshal

        def marshal(d: Any) ‑> str

        Marshal to JSON.

        Args
        d
        Any object or value.
        Returns

        A string containing the JSON-serialized form.

        pack

        def pack(data: Any) ‑> str

        Pack (compress) the provided value.

        Args
        data
        Any object or value.

        The object or value compressed into a string.

        unmarshal

        def unmarshal(s: str) ‑> Any

        Unmarshal a JSON string.

        Args
        s
        A string containing JSON-serialized data.
        Returns

        The deserialized object or value.

        Classes

        AsyncPage

        class AsyncPage(site: AsyncSite, url: str)

        Represents a reference to a remote Wave page. Similar to Page except that this class exposes async methods.

        Args
        site
        The parent site.
        url
        The URL of this page.

        Methods

        load

        async def load(self) ‑> dict

        Retrieve the serialized form of this page from the remote site.

        Returns

        The serialized form of this page

        push

        async def push(self)

        DEPRECATED: Use AsyncPage.save() instead.

        save

        async def save(self)

        Save the page. Sends all local changes made to this page to the remote site.

        Ancestors

        Inherited members

        AsyncSite

        class AsyncSite

        Represents a reference to the remote Wave site. Similar to Site except that this class exposes async methods.

        Methods

        download

        async def download(self, url: str, path: str) ‑> str

        Download a file from the site.

        Args
        url
        The URL of the file.
        path
        The local directory or file path to download to. If a directory is provided, the original name of the file is retained.
        Returns

        The path to the downloaded file.

        load

        async def load(self, url) ‑> dict

        Retrieve data at the given URL, typically the serialized form of a page.

        Args
        url
        The URL to read.
        Returns

        The serialized page.

        unload

        async def unload(self, url: str)

        Delete an uploaded file from the site.

        Args
        url
        The URL of the file to delete.

        upload

        async def upload(self, files: List[str]) ‑> List[str]

        Upload local files to the site.

        Args
        files
        A list of file paths of the files to be uploaded..
        Returns

        A list of remote URLs for the uploaded files, in order.

        Data

        class Data(fields: Union[str, tuple, list], size: int = 0, data: Union[dict, list, NoneType] = None)

        Represents a data placeholder. A data placeholder is used to allocate memory on the Wave server to store data.

        Args
        fields
        The names of the fields (columns names) in the data, either a list or tuple or string containing space-separated names.
        size
        The number of rows to allocate memory for. Positive for fixed buffers, negative for circular buffers and zero for variable length buffers.
        data
        Initial data. Must be either a key-row dict for variable-length buffers OR a row list for fixed-size and circular buffers.

        Methods

        dump

        def dump(self)

        Expando

        class Expando(args: Union[Dict, NoneType] = None)

        Represents an object whose members (attributes) can be dynamically added and removed at run time.

        Args
        args
        An optional dict of attribute-value pairs to initialize the expando instance with.

        Page

        class Page(site: Site, url: str)

        Represents a reference to a remote Wave page.

        Args
        site
        The parent site.
        url
        The URL of this page.

        Methods

        load

        def load(self) ‑> dict

        Retrieve the serialized form of this page from the remote site.

        Returns

        The serialized form of this page

        save

        def save(self)

        Save the page. Sends all local changes made to this page to the remote site.

        sync

        def sync(self)

        DEPRECATED: Use Page.save() instead.

        Ancestors

        Inherited members

        PageBase

        class PageBase(url: str)

        Represents a remote page.

        Args
        url
        The URL of the remote page.

        Methods

        add

        def add(self, key: str, card: Any) ‑> Ref

        Add a card to this page.

        Args
        key
        The card's key. Must uniquely identify the card on the page. Overwrites any other card with the same key.
        card
        A card. Use one of the ui.*_card() to create cards.
        Returns

        A reference to the added card.

        drop

        def drop(self)

        Delete this page from the remote site. Same as del site[url].

        Subclasses

        Ref

        class Ref(page: PageBase, key: str)

        Represents a local reference to an element on a Page. Any changes made to this local reference are tracked and sent to the remote Wave server when the page is saved.

        ServiceError

        class ServiceError(*args, **kwargs)

        Common base class for all non-exit exceptions.

        Ancestors

        • builtins.Exception
        • builtins.BaseException

        Site

        class Site

        Represents a reference to the remote Wave site. A Site instance is used to obtain references to the site's pages.

        Methods

        download

        def download(self, url: str, path: str) ‑> str

        Download a file from the site.

        Args
        url
        The URL of the file.
        path
        The local directory or file path to download to. If a directory is provided, the original name of the file is retained.
        Returns

        The path to the downloaded file.

        load

        def load(self, url) ‑> dict

        Retrieve data at the given URL, typically the serialized form of a page.

        Args
        url
        The URL to read.
        Returns

        The serialized page.

        unload

        def unload(self, url: str)

        Delete an uploaded file from the site.

        Args
        url
        The URL of the file to delete.

        upload

        def upload(self, files: List[str]) ‑> List[str]

        Upload local files to the site.

        Args
        files
        A list of file paths of the files to be uploaded..
        Returns

        A list of remote URLs for the uploaded files, in order.

        + + + + + + + + + + diff --git a/docs/docs/api/db/index.html b/docs/docs/api/db/index.html deleted file mode 100644 index d17d67984d..0000000000 --- a/docs/docs/api/db/index.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - Module h2o_wave.db | H2O Wave - - - - - - - - - - - - - - - - - - -
        -

        Module h2o_wave.db

        Classes

        TeleDB

        class TeleDB(address: str, key_id: str, key_secret: str)

        Represents a TeleDB database client.

        Create a new client instance.

        Args
        address
        database address
        key_id
        access key id
        key_secret
        access key secret

        TeleDBError

        class TeleDBError(*args, **kwargs)

        Represents a remote exception thrown by the TeleDB database server.

        Ancestors

        • builtins.Exception
        • builtins.BaseException
        - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/docs/api/graphics/index.html b/docs/docs/api/graphics/index.html index 203d6bdedf..f7b828bf11 100644 --- a/docs/docs/api/graphics/index.html +++ b/docs/docs/api/graphics/index.html @@ -4,45 +4,34 @@ + - Module h2o_wave.graphics | H2O Wave - - - - - - - - - - - - - - - - + Module h2o_wave.graphics | H2O Wave + + + + + + + + + +
        -

        Module h2o_wave.graphics

        Functions

        arc

        def arc(r1: float, r2: float, a1: float, a2: float, **kwargs) ‑> Expando

        Draw circular or annular sector, as in a pie or donut chart, centered at (0, 0).

        Args
        r1
        inner radius.
        r2
        outer radius.
        a1
        start angle, in degrees.
        a2
        end angle, in degrees.
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        circle

        def circle(**kwargs) ‑> Expando

        Draw a circle. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        draw

        def draw(element: Ref, **kwargs) ‑> Ref

        Schedule a redraw of the specified graphical element using the provided attributes.

        Args
        element
        A reference to a graphical element.
        kwargs
        Attributes to use while performing a redraw.
        Returns

        The element reference, without change.

        ellipse

        def ellipse(**kwargs) ‑> Expando

        Draw an ellipse. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        image

        def image(**kwargs) ‑> Expando

        Draw an image. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        line

        def line(**kwargs) ‑> Expando

        Draw a line. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        p

        def p() ‑> Path

        Create a new Path.

        Returns

        A new Path.

        path

        def path(**kwargs) ‑> Expando

        Draw a path. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        polygon

        def polygon(**kwargs) ‑> Expando

        Draw a polygon. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygon

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        polyline

        def polyline(**kwargs) ‑> Expando

        Draw a polyline. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        rect

        def rect(**kwargs) ‑> Expando

        Draw a rectangle. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        reset

        def reset(element: Ref) ‑> Ref

        Schedule a redraw of the specified graphical element using its original attributes. Calling this function clears any changes performed using the draw() function.

        Args
        element
        A reference to a graphical element.
        Returns

        The element reference, without change.

        scene

        def scene(**kwargs) ‑> Data

        Create a scene. A scene holds graphic elements whose attributes need to be changed dynamically (causing a re-render). The return value must be assigned to the scene() property of a GraphicsCard.

        Args
        kwargs
        Graphical elements to render as part of the scene.
        Returns

        A Data instance.

        spline

        def spline(x: Union[List[Union[float, NoneType]], NoneType] = None, y: Union[List[Union[float, NoneType]], NoneType] = None, x0: Union[List[Union[float, NoneType]], NoneType] = None, y0: Union[List[Union[float, NoneType]], NoneType] = None, curve: Union[str, NoneType] = None, radial: Union[bool, NoneType] = None, **kwargs) ‑> Expando

        Draw a spline.

        If x, y are specified, draws a regular spline.

        If x, y, y0 are specified, draws a horizontal area spline. Sets baseline to zero if y0 is an empty list.

        If x, x0, y are specified, draws a vertical area spline. Sets baseline to zero if x0 is an empty list

        Missing information is rendered as gaps in the spline.

        Args
        x
        x-coordinates.
        y
        y-coordinates.
        x0
        base x-coordinates.
        y0
        base y-coordinates.
        curve
        Interpolation. One of basis, basis-closed, basis-open, cardinal, cardinal-closed, cardinal-open, smooth, smooth-closed, smooth-open, linear, linear-closed, monotone-x, monotone-y, natural, step, step-after, step-before. Defaults to linear.
        radial
        Whether (x, y) should be treated as (angle,radius) or (x0, x, y0, y) should be treated as (start-angle, end-angle, inner-radius, outer-radius).
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        stage

        def stage(**kwargs) ‑> str

        Create a stage. A stage holds static graphics elements that are rendered as part of the background (behind the scene). The return value must be assigned to the stage() property of a GraphicsCard.

        Args
        kwargs
        Graphical elements to render as part of the stage.
        Returns

        Packed data.

        text

        def text(text: str, **kwargs) ‑> Expando

        Draw text. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text

        Args
        text
        The text content.
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        turtle

        def turtle(x=0.0, y=0.0, degrees=0.0) ‑> Turtle

        Create a new Turtle.

        Args
        x
        initial position x
        y
        initial position y
        degrees
        initial angle in degrees
        Returns

        A new Turtle.

        type_of

        def type_of(element: Expando) ‑> Union[str, NoneType]

        Get the type of the graphical element.

        Args
        element
        A graphical element.
        Returns

        A string indicating the type of the element, e.g. 'circle', 'line', etc.

        Classes

        Path

        class Path

        A convenience class for drawing SVG paths.

        Methods

        A

        def A(self, rx: float, ry: float, x_axis_rotation: float, large_arc: bool, sweep: bool, x: float, y: float) ‑> Path

        Draws an elliptical arc from the current point to (x, y). The size and orientation of the ellipse are defined by two radii (rx, ry) and an x_axis_rotation, which indicates how the ellipse as a whole is rotated, in degrees, relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. large_arc and sweep_flagcontribute to the automatic calculations and help determine how the arc is drawn. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands

        Args
        rx
        x-radius
        ry
        y-radius
        x_axis_rotation
        Rotation in degrees.
        large_arc
        Determines if the arc should be greater than or less than 180 degrees.
        sweep
        Determines if the arc should begin moving at positive angles or negative ones.
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        C

        def C(self, x1: float, y1: float, x2: float, y2: float, x: float, y: float) ‑> Path

        Draws a cubic Bézier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands

        Args
        x1
        x-coordinate of first control point
        y1
        y-coordinate of first control point
        x2
        x-coordinate of second control point
        y2
        y-coordinate of second control point
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        H

        def H(self, x: float) ‑> Path

        Draws a horizontal line from the current point. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands

        Args
        x
        x-coordinate
        Returns

        The current Path instance.

        L

        def L(self, x: float, y: float) ‑> Path

        Draw a line from the current point to the given (x,y) coordinate which becomes the new current point. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        M

        def M(self, x: float, y: float) ‑> Path

        Start a new sub-path at the given (x,y) coordinates. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        Q

        def Q(self, x1: float, y1: float, x: float, y: float) ‑> Path

        Draws a quadratic Bézier curve from the current point to (x,y) using (x1,y1) as the control point. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands

        Args
        x1
        x-coordinate of first control point
        y1
        y-coordinate of first control point
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        S

        def S(self, x2: float, y2: float, x: float, y: float) ‑> Path

        Draws a cubic Bézier curve from the current point to (x,y). The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (x2,y2) is the second control point (i.e., the control point at the end of the curve). In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands

        Args
        x2
        x-coordinate of second control point
        y2
        y-coordinate of second control point
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        T

        def T(self, x: float, y: float) ‑> Path

        Draws a quadratic Bézier curve from the current point to (x,y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        V

        def V(self, y: float) ‑> Path

        Draws a vertical line from the current point. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands

        Args
        y
        y-coordinate
        Returns

        The current Path instance.

        Z

        def Z(self) ‑> Path

        Close the current subpath by connecting it back to the current subpath's initial point.

        See https://www.w3.org/TR/SVG/paths.html#PathDataClosePathCommand

        Returns

        The current Path instance.

        a

        def a(self, rx: float, ry: float, x_axis_rotation: float, large_arc: bool, sweep: bool, x: float, y: float) ‑> Path

        Draws an elliptical arc from the current point to (x, y). The size and orientation of the ellipse are defined by two radii (rx, ry) and an x_axis_rotation, which indicates how the ellipse as a whole is rotated, in degrees, relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. large_arc and sweep_flagcontribute to the automatic calculations and help determine how the arc is drawn. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands

        Args
        rx
        x-radius
        ry
        y-radius
        x_axis_rotation
        Rotation in degrees.
        large_arc
        Determines if the arc should be greater than or less than 180 degrees.
        sweep
        Determines if the arc should begin moving at positive angles or negative ones.
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        c

        def c(self, x1: float, y1: float, x2: float, y2: float, x: float, y: float) ‑> Path

        Draws a cubic Bézier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands

        Args
        x1
        x-coordinate of first control point
        y1
        y-coordinate of first control point
        x2
        x-coordinate of second control point
        y2
        y-coordinate of second control point
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        d

        def d(self) ‑> str

        Serialize this path's commands into SVG path data.

        Returns

        The d attribute for a SVG path.

        h

        def h(self, x: float) ‑> Path

        Draws a horizontal line from the current point. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands

        Args
        x
        x-coordinate
        Returns

        The current Path instance.

        l

        def l(self, x: float, y: float) ‑> Path

        Draw a line from the current point to the given (x,y) coordinate which becomes the new current point. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        m

        def m(self, x: float, y: float) ‑> Path

        Start a new sub-path at the given (x,y) coordinates. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        path

        def path(self, **kwargs) ‑> Expando

        A SVG path element representing the commands in this Path instance. Same as calling h2o_wave.graphics.path(d=path.d())

        Args
        kwargs
        Additional attributes for the SVG path element.
        Returns

        A SVG path element.

        q

        def q(self, x1: float, y1: float, x: float, y: float) ‑> Path

        Draws a quadratic Bézier curve from the current point to (x,y) using (x1,y1) as the control point. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands

        Args
        x1
        x-coordinate of first control point
        y1
        y-coordinate of first control point
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        s

        def s(self, x2: float, y2: float, x: float, y: float) ‑> Path

        Draws a cubic Bézier curve from the current point to (x,y). The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (x2,y2) is the second control point (i.e., the control point at the end of the curve). In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands

        Args
        x2
        x-coordinate of second control point
        y2
        y-coordinate of second control point
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        t

        def t(self, x: float, y: float) ‑> Path

        Draws a quadratic Bézier curve from the current point to (x,y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        v

        def v(self, y: float) ‑> Path

        Draws a vertical line from the current point. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands

        Args
        y
        y-coordinate
        Returns

        The current Path instance.

        z

        def z(self) ‑> Path

        Close the current subpath by connecting it back to the current subpath's initial point.

        See https://www.w3.org/TR/SVG/paths.html#PathDataClosePathCommand

        Returns

        The current Path instance.

        Turtle

        class Turtle(x=0.0, y=0.0, degrees=0.0)

        A Logo-like Turtle implementation for generating SVG paths. This is not a complete Turtle implementation. Contains a useful subset relevant to generating paths without using trigonometry or mental gymnastics.

        Create a Turtle.

        Args
        x
        initial position x
        y
        initial position y
        degrees
        initial angle in degrees

        Methods

        a

        def a(self, degrees: float = 0) ‑> Turtle

        Set the turtle's orientation.

        Args
        degrees
        angle in degrees
        Returns

        The current turtle instance.

        b

        def b(self, distance: float) ‑> Turtle

        Move backward.

        Args
        distance
        Distance to move by.
        Returns

        The current turtle instance.

        d

        def d(self) ‑> str

        Serialize this turtle's movements into SVG path data.

        Returns

        The d attribute for a SVG path.

        f

        def f(self, distance: float) ‑> Turtle

        Move forward.

        Args
        distance
        Distance to move by.
        Returns

        The current turtle instance.

        l

        def l(self, degrees: float) ‑> Turtle

        Turn left.

        Args
        degrees
        Angle in degrees.
        Returns

        The current turtle instance.

        p

        def p(self, x: float = 0.0, y: float = 0.0) ‑> Turtle

        Set the turtle's position.

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current turtle instance.

        path

        def path(self, **kwargs) ‑> Expando

        Create a SVG path element that represents this turtle's movements.

        Args
        kwargs
        Additional attributes for the SVG path element.
        Returns

        A SVG path element.

        pd

        def pd(self) ‑> Turtle

        Pen down.

        Returns

        The current turtle instance.

        pu

        def pu(self, close: bool) ‑> Turtle

        Pen up.

        Args
        close
        Whether to close the current subpath.
        Returns

        The current turtle instance.

        r

        def r(self, degrees: float) ‑> Turtle

        Turn right.

        Args
        degrees
        Angle in degrees.
        Returns

        The current turtle instance.

        - - - - - - - - - - - - - - - - +

        Module h2o_wave.graphics

        Functions

        arc

        def arc(r1: float, r2: float, a1: float, a2: float, **kwargs) ‑> Expando

        Draw circular or annular sector, as in a pie or donut chart, centered at (0, 0).

        Args
        r1
        inner radius.
        r2
        outer radius.
        a1
        start angle, in degrees.
        a2
        end angle, in degrees.
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        circle

        def circle(**kwargs) ‑> Expando

        Draw a circle. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        draw

        def draw(element: Ref, **kwargs) ‑> Ref

        Schedule a redraw of the specified graphical element using the provided attributes.

        Args
        element
        A reference to a graphical element.
        kwargs
        Attributes to use while performing a redraw.
        Returns

        The element reference, without change.

        ellipse

        def ellipse(**kwargs) ‑> Expando

        Draw an ellipse. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        image

        def image(**kwargs) ‑> Expando

        Draw an image. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        line

        def line(**kwargs) ‑> Expando

        Draw a line. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        p

        def p() ‑> Path

        Create a new Path.

        Returns

        A new Path.

        path

        def path(**kwargs) ‑> Expando

        Draw a path. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        polygon

        def polygon(**kwargs) ‑> Expando

        Draw a polygon. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygon

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        polyline

        def polyline(**kwargs) ‑> Expando

        Draw a polyline. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        rect

        def rect(**kwargs) ‑> Expando

        Draw a rectangle. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect

        Args
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        reset

        def reset(element: Ref) ‑> Ref

        Schedule a redraw of the specified graphical element using its original attributes. Calling this function clears any changes performed using the draw() function.

        Args
        element
        A reference to a graphical element.
        Returns

        The element reference, without change.

        scene

        def scene(**kwargs) ‑> Data

        Create a scene. A scene holds graphic elements whose attributes need to be changed dynamically (causing a re-render). The return value must be assigned to the scene() property of a GraphicsCard.

        Args
        kwargs
        Graphical elements to render as part of the scene.
        Returns

        A Data instance.

        spline

        def spline(x: Union[List[Union[float, NoneType]], NoneType] = None, y: Union[List[Union[float, NoneType]], NoneType] = None, x0: Union[List[Union[float, NoneType]], NoneType] = None, y0: Union[List[Union[float, NoneType]], NoneType] = None, curve: Union[str, NoneType] = None, radial: Union[bool, NoneType] = None, **kwargs) ‑> Expando

        Draw a spline.

        If x, y are specified, draws a regular spline.

        If x, y, y0 are specified, draws a horizontal area spline. Sets baseline to zero if y0 is an empty list.

        If x, x0, y are specified, draws a vertical area spline. Sets baseline to zero if x0 is an empty list

        Missing information is rendered as gaps in the spline.

        Args
        x
        x-coordinates.
        y
        y-coordinates.
        x0
        base x-coordinates.
        y0
        base y-coordinates.
        curve
        Interpolation. One of basis, basis-closed, basis-open, cardinal, cardinal-closed, cardinal-open, smooth, smooth-closed, smooth-open, linear, linear-closed, monotone-x, monotone-y, natural, step, step-after, step-before. Defaults to linear.
        radial
        Whether (x, y) should be treated as (angle,radius) or (x0, x, y0, y) should be treated as (start-angle, end-angle, inner-radius, outer-radius).
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        stage

        def stage(**kwargs) ‑> str

        Create a stage. A stage holds static graphics elements that are rendered as part of the background (behind the scene). The return value must be assigned to the stage() property of a GraphicsCard.

        Args
        kwargs
        Graphical elements to render as part of the stage.
        Returns

        Packed data.

        text

        def text(text: str, **kwargs) ‑> Expando

        Draw text. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text

        Args
        text
        The text content.
        kwargs
        Attributes to use for the initial render. SVG attributes, snake-cased.
        Returns

        Data for the graphical element.

        turtle

        def turtle(x=0.0, y=0.0, degrees=0.0) ‑> Turtle

        Create a new Turtle.

        Args
        x
        initial position x
        y
        initial position y
        degrees
        initial angle in degrees
        Returns

        A new Turtle.

        type_of

        def type_of(element: Expando) ‑> Union[str, NoneType]

        Get the type of the graphical element.

        Args
        element
        A graphical element.
        Returns

        A string indicating the type of the element, e.g. 'circle', 'line', etc.

        Classes

        Path

        class Path

        A convenience class for drawing SVG paths.

        Methods

        A

        def A(self, rx: float, ry: float, x_axis_rotation: float, large_arc: bool, sweep: bool, x: float, y: float) ‑> Path

        Draws an elliptical arc from the current point to (x, y). The size and orientation of the ellipse are defined by two radii (rx, ry) and an x_axis_rotation, which indicates how the ellipse as a whole is rotated, in degrees, relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. large_arc and sweep_flagcontribute to the automatic calculations and help determine how the arc is drawn. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands

        Args
        rx
        x-radius
        ry
        y-radius
        x_axis_rotation
        Rotation in degrees.
        large_arc
        Determines if the arc should be greater than or less than 180 degrees.
        sweep
        Determines if the arc should begin moving at positive angles or negative ones.
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        C

        def C(self, x1: float, y1: float, x2: float, y2: float, x: float, y: float) ‑> Path

        Draws a cubic Bézier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands

        Args
        x1
        x-coordinate of first control point
        y1
        y-coordinate of first control point
        x2
        x-coordinate of second control point
        y2
        y-coordinate of second control point
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        H

        def H(self, x: float) ‑> Path

        Draws a horizontal line from the current point. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands

        Args
        x
        x-coordinate
        Returns

        The current Path instance.

        L

        def L(self, x: float, y: float) ‑> Path

        Draw a line from the current point to the given (x,y) coordinate which becomes the new current point. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        M

        def M(self, x: float, y: float) ‑> Path

        Start a new sub-path at the given (x,y) coordinates. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        Q

        def Q(self, x1: float, y1: float, x: float, y: float) ‑> Path

        Draws a quadratic Bézier curve from the current point to (x,y) using (x1,y1) as the control point. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands

        Args
        x1
        x-coordinate of first control point
        y1
        y-coordinate of first control point
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        S

        def S(self, x2: float, y2: float, x: float, y: float) ‑> Path

        Draws a cubic Bézier curve from the current point to (x,y). The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (x2,y2) is the second control point (i.e., the control point at the end of the curve). In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands

        Args
        x2
        x-coordinate of second control point
        y2
        y-coordinate of second control point
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        T

        def T(self, x: float, y: float) ‑> Path

        Draws a quadratic Bézier curve from the current point to (x,y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        V

        def V(self, y: float) ‑> Path

        Draws a vertical line from the current point. In absolute coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands

        Args
        y
        y-coordinate
        Returns

        The current Path instance.

        Z

        def Z(self) ‑> Path

        Close the current subpath by connecting it back to the current subpath's initial point.

        See https://www.w3.org/TR/SVG/paths.html#PathDataClosePathCommand

        Returns

        The current Path instance.

        a

        def a(self, rx: float, ry: float, x_axis_rotation: float, large_arc: bool, sweep: bool, x: float, y: float) ‑> Path

        Draws an elliptical arc from the current point to (x, y). The size and orientation of the ellipse are defined by two radii (rx, ry) and an x_axis_rotation, which indicates how the ellipse as a whole is rotated, in degrees, relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. large_arc and sweep_flagcontribute to the automatic calculations and help determine how the arc is drawn. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands

        Args
        rx
        x-radius
        ry
        y-radius
        x_axis_rotation
        Rotation in degrees.
        large_arc
        Determines if the arc should be greater than or less than 180 degrees.
        sweep
        Determines if the arc should begin moving at positive angles or negative ones.
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        c

        def c(self, x1: float, y1: float, x2: float, y2: float, x: float, y: float) ‑> Path

        Draws a cubic Bézier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands

        Args
        x1
        x-coordinate of first control point
        y1
        y-coordinate of first control point
        x2
        x-coordinate of second control point
        y2
        y-coordinate of second control point
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        d

        def d(self) ‑> str

        Serialize this path's commands into SVG path data.

        Returns

        The d attribute for a SVG path.

        h

        def h(self, x: float) ‑> Path

        Draws a horizontal line from the current point. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands

        Args
        x
        x-coordinate
        Returns

        The current Path instance.

        l

        def l(self, x: float, y: float) ‑> Path

        Draw a line from the current point to the given (x,y) coordinate which becomes the new current point. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        m

        def m(self, x: float, y: float) ‑> Path

        Start a new sub-path at the given (x,y) coordinates. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        path

        def path(self, **kwargs) ‑> Expando

        A SVG path element representing the commands in this Path instance. Same as calling h2o_wave.graphics.path(d=path.d())

        Args
        kwargs
        Additional attributes for the SVG path element.
        Returns

        A SVG path element.

        q

        def q(self, x1: float, y1: float, x: float, y: float) ‑> Path

        Draws a quadratic Bézier curve from the current point to (x,y) using (x1,y1) as the control point. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands

        Args
        x1
        x-coordinate of first control point
        y1
        y-coordinate of first control point
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        s

        def s(self, x2: float, y2: float, x: float, y: float) ‑> Path

        Draws a cubic Bézier curve from the current point to (x,y). The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (x2,y2) is the second control point (i.e., the control point at the end of the curve). In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands

        Args
        x2
        x-coordinate of second control point
        y2
        y-coordinate of second control point
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        t

        def t(self, x: float, y: float) ‑> Path

        Draws a quadratic Bézier curve from the current point to (x,y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataQuadraticBezierCommands

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current Path instance.

        v

        def v(self, y: float) ‑> Path

        Draws a vertical line from the current point. In relative coordinates.

        See https://www.w3.org/TR/SVG/paths.html#PathDataLinetoCommands

        Args
        y
        y-coordinate
        Returns

        The current Path instance.

        z

        def z(self) ‑> Path

        Close the current subpath by connecting it back to the current subpath's initial point.

        See https://www.w3.org/TR/SVG/paths.html#PathDataClosePathCommand

        Returns

        The current Path instance.

        Turtle

        class Turtle(x=0.0, y=0.0, degrees=0.0)

        A Logo-like Turtle implementation for generating SVG paths. This is not a complete Turtle implementation. Contains a useful subset relevant to generating paths without using trigonometry or mental gymnastics.

        Create a Turtle.

        Args
        x
        initial position x
        y
        initial position y
        degrees
        initial angle in degrees

        Methods

        a

        def a(self, degrees: float = 0) ‑> Turtle

        Set the turtle's orientation.

        Args
        degrees
        angle in degrees
        Returns

        The current turtle instance.

        b

        def b(self, distance: float) ‑> Turtle

        Move backward.

        Args
        distance
        Distance to move by.
        Returns

        The current turtle instance.

        d

        def d(self) ‑> str

        Serialize this turtle's movements into SVG path data.

        Returns

        The d attribute for a SVG path.

        f

        def f(self, distance: float) ‑> Turtle

        Move forward.

        Args
        distance
        Distance to move by.
        Returns

        The current turtle instance.

        l

        def l(self, degrees: float) ‑> Turtle

        Turn left.

        Args
        degrees
        Angle in degrees.
        Returns

        The current turtle instance.

        p

        def p(self, x: float = 0.0, y: float = 0.0) ‑> Turtle

        Set the turtle's position.

        Args
        x
        x-coordinate
        y
        y-coordinate
        Returns

        The current turtle instance.

        path

        def path(self, **kwargs) ‑> Expando

        Create a SVG path element that represents this turtle's movements.

        Args
        kwargs
        Additional attributes for the SVG path element.
        Returns

        A SVG path element.

        pd

        def pd(self) ‑> Turtle

        Pen down.

        Returns

        The current turtle instance.

        pu

        def pu(self, close: bool) ‑> Turtle

        Pen up.

        Args
        close
        Whether to close the current subpath.
        Returns

        The current turtle instance.

        r

        def r(self, degrees: float) ‑> Turtle

        Turn right.

        Args
        degrees
        Angle in degrees.
        Returns

        The current turtle instance.

        + + + + + + + + + + diff --git a/docs/docs/api/ide/index.html b/docs/docs/api/ide/index.html deleted file mode 100644 index 2dfe782498..0000000000 --- a/docs/docs/api/ide/index.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - Module h2o_wave.ide | H2O Wave - - - - - - - - - - - - - - - - - - -
        -

        Module h2o_wave.ide

        Functions

        create_app

        async def create_app(app_name: str)

        delete_app

        async def delete_app(app_name: str)

        delete_file

        async def delete_file(app_name: str, file_name: str)

        list_apps

        async def list_apps() ‑> List[str]

        main

        def main()

        read_file

        async def read_file(app_name: str, file_name: str) ‑> str

        rename_file

        async def rename_file(app_name: str, file_name: str, new_file_name: str)

        rpc

        def rpc(f: Callable)

        serve

        async def serve(request: starlette.requests.Request)

        start_app

        async def start_app(app_name: str)

        stop_app

        async def stop_app(app_name: str)

        write_file

        async def write_file(app_name: str, file_name: str, file_content: str)

        Classes

        App

        class App(app_dir: pathlib.Path)

        Methods

        is_running

        def is_running(self)

        start

        async def start(self)

        stop

        async def stop(self)
        - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/docs/api/index/index.html b/docs/docs/api/index/index.html index 26bcbb57be..ef6ea21e54 100644 --- a/docs/docs/api/index/index.html +++ b/docs/docs/api/index/index.html @@ -4,45 +4,34 @@ + - Package h2o_wave | H2O Wave - - - - - - - - - - - - - - - - + Package h2o_wave | H2O Wave + + + + + + + + + +
        -

        Package h2o_wave

        Python package h2o_wave provides the Python driver for H2O Wave.

        H2O Wave is a lightweight software stack for programming interactive web applications entirely in Python (no HTML/Javascript/CSS required).

        It is designed to make it fast, fun and easy to build low-latency, realtime, collaborative, web-based applications. It ships batteries-included with a suite of form and data visualization components for rapidly prototyping analytical and decision-support applications.

        Wave's components work in conjunction with the Wave relay server that facilitates realtime state synchronization between Python and web browsers.

        Sub-modules

        h2o_wave.cli
        h2o_wave.core
        h2o_wave.db
        h2o_wave.graphics
        h2o_wave.ide
        h2o_wave.server
        h2o_wave.test
        h2o_wave.types
        h2o_wave.ui
        h2o_wave.ui_ext
        - - - - - - - - - - - - - - - - +

        Package h2o_wave

        Python package h2o_wave provides the Python driver for H2O Wave.

        H2O Wave is a lightweight software stack for programming interactive web applications entirely in Python (no HTML/Javascript/CSS required).

        It is designed to make it fast, fun and easy to build low-latency, realtime, collaborative, web-based applications. It ships batteries-included with a suite of form and data visualization components for rapidly prototyping analytical and decision-support applications.

        Wave's components work in conjunction with the Wave relay server that facilitates realtime state synchronization between Python and web browsers.

        Sub-modules

        h2o_wave.core
        h2o_wave.graphics
        h2o_wave.server
        h2o_wave.test
        h2o_wave.types
        h2o_wave.ui
        h2o_wave.ui_ext
        + + + + + + + + + + diff --git a/docs/docs/api/server/index.html b/docs/docs/api/server/index.html index b255ffe6a6..e1aed4d6e6 100644 --- a/docs/docs/api/server/index.html +++ b/docs/docs/api/server/index.html @@ -4,45 +4,34 @@ + - Module h2o_wave.server | H2O Wave - - - - - - - - - - - - - - - - + Module h2o_wave.server | H2O Wave + + + + + + + + + +
        -

        Module h2o_wave.server

        Functions

        app

        def app(route: str, mode='unicast', on_startup: Union[Callable, NoneType] = None, on_shutdown: Union[Callable, NoneType] = None)

        Indicate that a function is a query handler.

        The function this decorator is applied to must accept exactly one argument that represents the query context, of type Query or Query

        Args
        route
        The route to listen to. e.g. '/foo' or '/foo/bar/baz'.
        mode
        The server mode. One of 'unicast' (default),'multicast' or 'broadcast'.
        on_startup
        A callback to invoke on app startup. Callbacks do not take any arguments, and may be be either standard functions, or async functions.
        on_shutdown
        A callback to invoke on app shutdown. Callbacks do not take any arguments, and may be be either standard functions, or async functions.

        listen

        def listen(route: str, handle: Callable[[Query], Awaitable[Any]], mode='unicast')

        Launch an application server.

        Args
        route
        The route to listen to. e.g. '/foo' or '/foo/bar/baz'.
        handle
        The handler function.
        mode
        The server mode. One of 'unicast' (default),'multicast' or 'broadcast'.

        Classes

        Auth

        class Auth(username: str, subject: str, access_token: str, refresh_token: str)

        Represents authentication information for a given query context. Carries valid information only if single sign on is enabled.

        Instance variables

        var access_token

        The access token of the user.

        var refresh_token

        The refresh token of the user.

        var subject

        A unique identifier for the user.

        var username

        The username of the user.

        Query

        class Query(site: AsyncSite, mode: str, username: str, client_id: str, route: str, app_state: Expando, user_state: Expando, client_state: Expando, auth: Auth, args: Expando, events: Expando)

        Represents the query context. The query context is passed to the @app handler function whenever a query arrives from the browser (page load, user interaction events, etc.). The query context contains useful information about the query, including argumentsargs (equivalent to URL query strings) and app-level, user-level and client-level state.

        Instance variables

        var app

        A Expando instance to hold application-specific state.

        var args

        A Expando instance containing arguments from the active request.

        var auth

        The username and subject ID of the authenticated user.

        var client

        An Expando instance to hold client-specific state.

        var events

        A Expando instance containing events from the active request.

        var mode

        The server mode. One of 'unicast' (default),'multicast' or 'broadcast'.

        var page

        A reference to the current page.

        var route

        The route served by the server.

        var site

        A reference to the current site.

        var user

        A Expando instance to hold user-specific state.

        var username

        The username of the user who initiated the active request.

        Methods

        exec

        async def exec(self, executor: Union[concurrent.futures._base.Executor, NoneType], func: Callable, *args: Any, **kwargs: Any) ‑> Any

        Execute a function in the background using the specified executor.

        To execute a function in-process, use q.run().

        Args
        executor
        The executor to be used. If None, executes the function in-process.
        func
        The function to to be called.
        args
        Arguments to be passed to the function.
        kwargs
        Keywords arguments to be passed to the function.
        Returns

        The result of the function call.

        run

        async def run(self, func: Callable, *args: Any, **kwargs: Any) ‑> Any

        Execute a function in the background, in-process.

        Equivalent to calling q.exec() without an executor.

        Args
        func
        The function to to be called.
        args
        Arguments to be passed to the function.
        kwargs
        Keywords arguments to be passed to the function.
        Returns

        The result of the function call.

        sleep

        async def sleep(self, delay: float, result=None) ‑> Any

        Suspend execution for the specified number of seconds. Always use q.sleep() instead of time.sleep() in Wave apps.

        Args
        delay
        Number of seconds to sleep.
        result
        Result to return after delay, if any.
        Returns

        The result argument, if any, as is.

        Q

        class Q(site: AsyncSite, mode: str, username: str, client_id: str, route: str, app_state: Expando, user_state: Expando, client_state: Expando, auth: Auth, args: Expando, events: Expando)

        Represents the query context. The query context is passed to the @app handler function whenever a query arrives from the browser (page load, user interaction events, etc.). The query context contains useful information about the query, including argumentsargs (equivalent to URL query strings) and app-level, user-level and client-level state.

        Instance variables

        var app

        A Expando instance to hold application-specific state.

        var args

        A Expando instance containing arguments from the active request.

        var auth

        The username and subject ID of the authenticated user.

        var client

        An Expando instance to hold client-specific state.

        var events

        A Expando instance containing events from the active request.

        var mode

        The server mode. One of 'unicast' (default),'multicast' or 'broadcast'.

        var page

        A reference to the current page.

        var route

        The route served by the server.

        var site

        A reference to the current site.

        var user

        A Expando instance to hold user-specific state.

        var username

        The username of the user who initiated the active request.

        Methods

        exec

        async def exec(self, executor: Union[concurrent.futures._base.Executor, NoneType], func: Callable, *args: Any, **kwargs: Any) ‑> Any

        Execute a function in the background using the specified executor.

        To execute a function in-process, use q.run().

        Args
        executor
        The executor to be used. If None, executes the function in-process.
        func
        The function to to be called.
        args
        Arguments to be passed to the function.
        kwargs
        Keywords arguments to be passed to the function.
        Returns

        The result of the function call.

        run

        async def run(self, func: Callable, *args: Any, **kwargs: Any) ‑> Any

        Execute a function in the background, in-process.

        Equivalent to calling q.exec() without an executor.

        Args
        func
        The function to to be called.
        args
        Arguments to be passed to the function.
        kwargs
        Keywords arguments to be passed to the function.
        Returns

        The result of the function call.

        sleep

        async def sleep(self, delay: float, result=None) ‑> Any

        Suspend execution for the specified number of seconds. Always use q.sleep() instead of time.sleep() in Wave apps.

        Args
        delay
        Number of seconds to sleep.
        result
        Result to return after delay, if any.
        Returns

        The result argument, if any, as is.

        - - - - - - - - - - - - - - - - +

        Module h2o_wave.server

        Functions

        app

        def app(route: str, mode='unicast', on_startup: Union[Callable, NoneType] = None, on_shutdown: Union[Callable, NoneType] = None)

        Indicate that a function is a query handler.

        The function this decorator is applied to must accept exactly one argument that represents the query context, of type Query or Query

        Args
        route
        The route to listen to. e.g. '/foo' or '/foo/bar/baz'.
        mode
        The server mode. One of 'unicast' (default),'multicast' or 'broadcast'.
        on_startup
        A callback to invoke on app startup. Callbacks do not take any arguments, and may be be either standard functions, or async functions.
        on_shutdown
        A callback to invoke on app shutdown. Callbacks do not take any arguments, and may be be either standard functions, or async functions.

        listen

        def listen(route: str, handle: Callable[[Query], Awaitable[Any]], mode='unicast')

        Launch an application server.

        Args
        route
        The route to listen to. e.g. '/foo' or '/foo/bar/baz'.
        handle
        The handler function.
        mode
        The server mode. One of 'unicast' (default),'multicast' or 'broadcast'.

        Classes

        Auth

        class Auth(username: str, subject: str, access_token: str, refresh_token: str)

        Represents authentication information for a given query context. Carries valid information only if single sign on is enabled.

        Instance variables

        var access_token

        The access token of the user.

        var refresh_token

        The refresh token of the user.

        var subject

        A unique identifier for the user.

        var username

        The username of the user.

        Query

        class Query(site: AsyncSite, mode: str, username: str, client_id: str, route: str, app_state: Expando, user_state: Expando, client_state: Expando, auth: Auth, args: Expando, events: Expando)

        Represents the query context. The query context is passed to the @app handler function whenever a query arrives from the browser (page load, user interaction events, etc.). The query context contains useful information about the query, including argumentsargs (equivalent to URL query strings) and app-level, user-level and client-level state.

        Instance variables

        var app

        A Expando instance to hold application-specific state.

        var args

        A Expando instance containing arguments from the active request.

        var auth

        The username and subject ID of the authenticated user.

        var client

        An Expando instance to hold client-specific state.

        var events

        A Expando instance containing events from the active request.

        var mode

        The server mode. One of 'unicast' (default),'multicast' or 'broadcast'.

        var page

        A reference to the current page.

        var route

        The route served by the server.

        var site

        A reference to the current site.

        var user

        A Expando instance to hold user-specific state.

        var username

        The username of the user who initiated the active request.

        Methods

        exec

        async def exec(self, executor: Union[concurrent.futures._base.Executor, NoneType], func: Callable, *args: Any, **kwargs: Any) ‑> Any

        Execute a function in the background using the specified executor.

        To execute a function in-process, use q.run().

        Args
        executor
        The executor to be used. If None, executes the function in-process.
        func
        The function to to be called.
        args
        Arguments to be passed to the function.
        kwargs
        Keywords arguments to be passed to the function.
        Returns

        The result of the function call.

        run

        async def run(self, func: Callable, *args: Any, **kwargs: Any) ‑> Any

        Execute a function in the background, in-process.

        Equivalent to calling q.exec() without an executor.

        Args
        func
        The function to to be called.
        args
        Arguments to be passed to the function.
        kwargs
        Keywords arguments to be passed to the function.
        Returns

        The result of the function call.

        sleep

        async def sleep(self, delay: float, result=None) ‑> Any

        Suspend execution for the specified number of seconds. Always use q.sleep() instead of time.sleep() in Wave apps.

        Args
        delay
        Number of seconds to sleep.
        result
        Result to return after delay, if any.
        Returns

        The result argument, if any, as is.

        Q

        class Q(site: AsyncSite, mode: str, username: str, client_id: str, route: str, app_state: Expando, user_state: Expando, client_state: Expando, auth: Auth, args: Expando, events: Expando)

        Represents the query context. The query context is passed to the @app handler function whenever a query arrives from the browser (page load, user interaction events, etc.). The query context contains useful information about the query, including argumentsargs (equivalent to URL query strings) and app-level, user-level and client-level state.

        Instance variables

        var app

        A Expando instance to hold application-specific state.

        var args

        A Expando instance containing arguments from the active request.

        var auth

        The username and subject ID of the authenticated user.

        var client

        An Expando instance to hold client-specific state.

        var events

        A Expando instance containing events from the active request.

        var mode

        The server mode. One of 'unicast' (default),'multicast' or 'broadcast'.

        var page

        A reference to the current page.

        var route

        The route served by the server.

        var site

        A reference to the current site.

        var user

        A Expando instance to hold user-specific state.

        var username

        The username of the user who initiated the active request.

        Methods

        exec

        async def exec(self, executor: Union[concurrent.futures._base.Executor, NoneType], func: Callable, *args: Any, **kwargs: Any) ‑> Any

        Execute a function in the background using the specified executor.

        To execute a function in-process, use q.run().

        Args
        executor
        The executor to be used. If None, executes the function in-process.
        func
        The function to to be called.
        args
        Arguments to be passed to the function.
        kwargs
        Keywords arguments to be passed to the function.
        Returns

        The result of the function call.

        run

        async def run(self, func: Callable, *args: Any, **kwargs: Any) ‑> Any

        Execute a function in the background, in-process.

        Equivalent to calling q.exec() without an executor.

        Args
        func
        The function to to be called.
        args
        Arguments to be passed to the function.
        kwargs
        Keywords arguments to be passed to the function.
        Returns

        The result of the function call.

        sleep

        async def sleep(self, delay: float, result=None) ‑> Any

        Suspend execution for the specified number of seconds. Always use q.sleep() instead of time.sleep() in Wave apps.

        Args
        delay
        Number of seconds to sleep.
        result
        Result to return after delay, if any.
        Returns

        The result argument, if any, as is.

        + + + + + + + + + + diff --git a/docs/docs/api/test/index.html b/docs/docs/api/test/index.html index a0f31476b3..17d12d807b 100644 --- a/docs/docs/api/test/index.html +++ b/docs/docs/api/test/index.html @@ -4,45 +4,34 @@ + - Module h2o_wave.test | H2O Wave - - - - - - - - - - - - - - - - + Module h2o_wave.test | H2O Wave + + + + + + + + + +
        -

        Module h2o_wave.test

        Functions

        cypress

        def cypress(description: str)

        Classes

        Cypress

        class Cypress

        Represents a Cypress test translator.

        Methods

        run

        def run(self, f)

        Includes all steps from the given test into the current test.

        Args
        f
        A Python function containing Cypress test steps.
        - - - - - - - - - - - - - - - - +

        Module h2o_wave.test

        Functions

        cypress

        def cypress(description: str)

        Classes

        Cypress

        class Cypress

        Represents a Cypress test translator.

        Methods

        run

        def run(self, f)

        Includes all steps from the given test into the current test.

        Args
        f
        A Python function containing Cypress test steps.
        + + + + + + + + + + diff --git a/docs/docs/api/types/index.html b/docs/docs/api/types/index.html index ccaff6dd59..4acbbf03f3 100644 --- a/docs/docs/api/types/index.html +++ b/docs/docs/api/types/index.html @@ -4,45 +4,34 @@ + - Module h2o_wave.types | H2O Wave - - - - - - - - - - - - - - - - + Module h2o_wave.types | H2O Wave + + + + + + + + + +
        -

        Module h2o_wave.types

        Classes

        Breadcrumb

        class Breadcrumb(name: str, label: str)

        Create a breadcrumb for a BreadcrumbsCard.

        Static methods

        load

        def load(_Breadcrumb__d: Dict) ‑> Breadcrumb

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var label

        The label to display.

        var name

        The name of this item. Prefix the name with a '#' to trigger hash-change navigation.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        BreadcrumbsCard

        class BreadcrumbsCard(box: str, items: List[Breadcrumb], commands: Union[List[Command], NoneType] = None)

        Create a card containing breadcrumbs. Breadcrumbs should be used as a navigational aid in your app or site. They indicate the current page’s location within a hierarchy and help the user understand where they are in relation to the rest of that hierarchy. They also afford one-click access to higher levels of that hierarchy. Breadcrumbs are typically placed, in horizontal form, under the masthead or navigation of an experience, above the primary content area.

        Static methods

        load

        def load(_BreadcrumbsCard__d: Dict) ‑> BreadcrumbsCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var items

        A list of Breadcrumb instances to display. See breadcrumb()

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Button

        class Button(name: str, label: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, value: Union[str, NoneType] = None, primary: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, link: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a button.

        Buttons are best used to enable a user to commit a change or complete steps in a task. They are typically found inside forms, dialogs, panels or pages. An example of their usage is confirming the deletion of a file in a confirmation dialog.

        When considering their place in a layout, contemplate the order in which a user will flow through the UI. As an example, in a form, the individual will need to read and interact with the form fields before submitting the form. Therefore, as a general rule, the button should be placed at the bottom of the UI container which holds the related UI elements.

        Buttons may be placed within a "buttons" component which will lay out the buttons horizontally, or used individually and they will be stacked vertically.

        While buttons can technically be used to navigate a user to another part of the experience, this is not recommended unless that navigation is part of an action or their flow.

        Static methods

        load

        def load(_Button__d: Dict) ‑> Button

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var caption

        The caption displayed below the label. Setting a caption renders a compound button.

        var disabled

        True if the button should be disabled.

        var label

        The text displayed on the button.

        True if the button should be rendered as link text and not a standard button.

        var name

        An identifying name for this component. If the name is prefixed with a '#', the button sets the location hash to the name when clicked.

        var primary

        True if the button should be rendered as the primary button in the set.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var value

        A value for this button. If a value is set, it is used for the button's submitted instead of a boolean True.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Buttons

        class Buttons(items: List[ForwardRef('Component')], justify: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Create a set of buttons to be layed out horizontally.

        Static methods

        load

        def load(_Buttons__d: Dict) ‑> Buttons

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var items

        The button in this set.

        var justify

        Specifies how to lay out buttons horizontally. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ButtonsJustify.

        var name

        An identifying name for this component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ButtonsJustify

        class ButtonsJustify

        Class variables

        var AROUND
        var BETWEEN
        var CENTER
        var END
        var START

        Checkbox

        class Checkbox(name: str, label: Union[str, NoneType] = None, value: Union[bool, NoneType] = None, indeterminate: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a checkbox.

        A checkbox allows users to switch between two mutually exclusive options (checked or unchecked, on or off) through a single click or tap. It can also be used to indicate a subordinate setting or preference when paired with another component.

        A checkbox is used to select or deselect action items. It can be used for a single item or for a list of multiple items that a user can choose from. The component has two selection states: unselected and selected.

        For a binary choice, the main difference between a checkbox and a toggle switch is that the checkbox is for status and the toggle switch is for action.

        Use multiple checkboxes for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive.

        Static methods

        load

        def load(_Checkbox__d: Dict) ‑> Checkbox

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if the checkbox is disabled.

        var indeterminate

        True if the selection is indeterminate (neither selected nor unselected).

        var label

        Text to be displayed alongside the checkbox.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the checkbox value changes.

        var value

        True if selected, False if unselected.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Checklist

        class Checklist(name: str, label: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, choices: Union[List[Choice], NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a set of checkboxes. Use this for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive.

        Static methods

        load

        def load(_Checklist__d: Dict) ‑> Checklist

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var choices

        The choices to be presented.

        var label

        Text to be displayed above the component.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the checklist value changes.

        var values

        The names of the selected choices.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Choice

        class Choice(name: str, label: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None)

        Create a choice for a checklist, choice group or dropdown.

        Static methods

        load

        def load(_Choice__d: Dict) ‑> Choice

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if the checkbox is disabled.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ChoiceGroup

        class ChoiceGroup(name: str, label: Union[str, NoneType] = None, value: Union[str, NoneType] = None, choices: Union[List[Choice], NoneType] = None, required: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a choice group. The choice group component, also known as radio buttons, let users select one option from two or more choices. Each option is represented by one choice group button; a user can select only one choice group in a button group.

        Choice groups emphasize all options equally, and that may draw more attention to the options than necessary. Consider using other components, unless the options deserve extra attention from the user. For example, if the default option is recommended for most users in most situations, use a dropdown instead.

        If there are only two mutually exclusive options, combine them into a single Checkbox or Toggle switch. For example, use a checkbox for "I agree" instead of choice group buttons for "I agree" and "I don't agree."

        Static methods

        load

        def load(_ChoiceGroup__d: Dict) ‑> ChoiceGroup

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var choices

        The choices to be presented.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        var required

        True if this field is required.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the selection changes.

        var value

        The name of the selected choice.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ColorPicker

        class ColorPicker(name: str, label: Union[str, NoneType] = None, value: Union[str, NoneType] = None, choices: Union[List[str], NoneType] = None, visible: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a color picker.

        A date picker allows a user to pick a color value. If the 'choices' parameter is set, a swatch picker is displayed instead of the standard color picker.

        Static methods

        load

        def load(_ColorPicker__d: Dict) ‑> ColorPicker

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var choices

        A list of colors (CSS-compatible strings) to limit color choices to.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the color picker value changes.

        var value

        The selected color (CSS-compatible string).

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Combobox

        class Combobox(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, choices: Union[List[str], NoneType] = None, error: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a combobox.

        A combobox is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button or by typing in the input. They are used to simplify the design and make a choice within the UI.

        When closed, only the selected item is visible. When users click the drop-down button, all the options become visible. To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value. When collapsed the user can select a new value by typing.

        Static methods

        load

        def load(_Combobox__d: Dict) ‑> Combobox

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var choices

        The choices to be presented.

        var disabled

        True if this field is disabled.

        var error

        Text to be displayed as an error below the text box.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        var placeholder

        A string that provides a brief hint to the user as to what kind of information is expected in the field.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var value

        The name of the selected choice.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Command

        class Command(name: str, label: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, items: Union[List[ForwardRef('Command')], NoneType] = None, value: Union[str, NoneType] = None, data: Union[str, NoneType] = None)

        Create a command.

        Commands are typically displayed as context menu items or toolbar button.

        Static methods

        load

        def load(_Command__d: Dict) ‑> Command

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var caption

        The caption for this command (typically a tooltip).

        var data

        DEPRECATED. Use value instead. Data associated with this command, if any.

        var icon

        The icon to be displayed for this command.

        var items

        Sub-commands, if any

        var label

        The text displayed for this command.

        var name

        An identifying name for this component. If the name is prefixed with a '#', the command sets the location hash to the name when executed.

        var value

        Data associated with this command, if any.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Component

        class Component(text: Union[Text, NoneType] = None, text_xl: Union[TextXl, NoneType] = None, text_l: Union[TextL, NoneType] = None, text_m: Union[TextM, NoneType] = None, text_s: Union[TextS, NoneType] = None, text_xs: Union[TextXs, NoneType] = None, label: Union[Label, NoneType] = None, separator: Union[Separator, NoneType] = None, progress: Union[Progress, NoneType] = None, message_bar: Union[MessageBar, NoneType] = None, textbox: Union[Textbox, NoneType] = None, checkbox: Union[Checkbox, NoneType] = None, toggle: Union[Toggle, NoneType] = None, choice_group: Union[ChoiceGroup, NoneType] = None, checklist: Union[Checklist, NoneType] = None, dropdown: Union[Dropdown, NoneType] = None, combobox: Union[Combobox, NoneType] = None, slider: Union[Slider, NoneType] = None, spinbox: Union[Spinbox, NoneType] = None, date_picker: Union[DatePicker, NoneType] = None, color_picker: Union[ColorPicker, NoneType] = None, button: Union[Button, NoneType] = None, buttons: Union[Buttons, NoneType] = None, file_upload: Union[FileUpload, NoneType] = None, table: Union[Table, NoneType] = None, link: Union[Link, NoneType] = None, tabs: Union[Tabs, NoneType] = None, expander: Union[Expander, NoneType] = None, frame: Union[Frame, NoneType] = None, markup: Union[Markup, NoneType] = None, template: Union[Template, NoneType] = None, picker: Union[Picker, NoneType] = None, range_slider: Union[RangeSlider, NoneType] = None, stepper: Union[Stepper, NoneType] = None, visualization: Union[Visualization, NoneType] = None, vega_visualization: Union[VegaVisualization, NoneType] = None)

        Create a component.

        Static methods

        load

        def load(_Component__d: Dict) ‑> Component

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var button

        Button.

        var buttons

        Button set.

        var checkbox

        Checkbox.

        var checklist

        Checklist.

        var choice_group

        Choice group.

        var color_picker

        Color picker.

        var combobox

        Combobox.

        var date_picker

        Date picker.

        var dropdown

        Dropdown.

        var expander

        Expander.

        var file_upload

        File upload.

        var frame

        Frame.

        var label

        Label.

        Link.

        var markup

        Markup

        var message_bar

        Message bar.

        var picker

        Picker.

        var progress

        Progress bar.

        var range_slider

        Range Slider.

        var separator

        Separator.

        var slider

        Slider.

        var spinbox

        Spinbox.

        var stepper

        Stepper.

        var table

        Table.

        var tabs

        Tabs.

        var template

        Template

        var text

        Text block.

        var text_l

        Large sized text block.

        var text_m

        Medium sized text block.

        var text_s

        Small sized text block.

        var text_xl

        Extra-large sized text block.

        var text_xs

        Extra-small sized text block.

        var textbox

        Textbox.

        var toggle

        Toggle.

        var vega_visualization

        Vega-lite Visualization.

        var visualization

        Visualization.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        DatePicker

        class DatePicker(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a date picker.

        A date picker allows a user to pick a date value.

        Static methods

        load

        def load(_DatePicker__d: Dict) ‑> DatePicker

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if this field is disabled.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        var placeholder

        A string that provides a brief hint to the user as to what kind of information is expected in the field.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the datepicker value changes.

        var value

        The date value in YYYY-MM-DD format.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Dialog

        class Dialog(title: str, items: List[Component], width: Union[str, NoneType] = None, closable: Union[bool, NoneType] = None, blocking: Union[bool, NoneType] = None, primary: Union[bool, NoneType] = None)

        A dialog box (Dialog) is a temporary pop-up that takes focus from the page or app and requires people to interact with it. It’s primarily used for confirming actions, such as deleting a file, or asking people to make a choice.

        Static methods

        load

        def load(_Dialog__d: Dict) ‑> Dialog

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var blocking

        True to disable all actions and commands behind the dialog. Blocking dialogs should be used very sparingly, only when it is critical that the user makes a choice or provides information before they can proceed. Blocking dialogs are generally used for irreversible or potentially destructive tasks. Defaults to false.

        var closable

        True if the dialog should have a closing 'X' button at the top right corner.

        var items

        The components displayed in this dialog.

        var primary

        Dialog with large header banner, mutually exclusive with closable prop. Defaults to false.

        var title

        The dialog's title.

        var width

        The width of the dialog, e.g. '400px', defaults to '600px'.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Dropdown

        class Dropdown(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, choices: Union[List[Choice], NoneType] = None, required: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a dropdown.

        A dropdown is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button. They are used to simplify the design and make a choice within the UI. When closed, only the selected item is visible. When users click the drop-down button, all the options become visible.

        To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value.

        Note: Use either the 'value' parameter or the 'values' parameter. Setting the 'values' parameter renders a multi-select dropdown.

        Static methods

        load

        def load(_Dropdown__d: Dict) ‑> Dropdown

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var choices

        The choices to be presented.

        var disabled

        True if this field is disabled.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        var placeholder

        A string that provides a brief hint to the user as to what kind of information is expected in the field.

        var required

        True if this is a required field.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the dropdown value changes.

        var value

        The name of the selected choice.

        var values

        The names of the selected choices. If this parameter is set, multiple selections will be allowed.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Expander

        class Expander(name: str, label: Union[str, NoneType] = None, expanded: Union[bool, NoneType] = None, items: Union[List[ForwardRef('Component')], NoneType] = None, visible: Union[bool, NoneType] = None)

        Creates a new expander.

        Expanders can be used to show or hide a group of related components.

        Static methods

        load

        def load(_Expander__d: Dict) ‑> Expander

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var expanded

        True if expanded, False if collapsed.

        var items

        List of components to be hideable by the expander.

        var label

        The text displayed on the expander.

        var name

        An identifying name for this component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        FileUpload

        class FileUpload(name: str, label: Union[str, NoneType] = None, multiple: Union[bool, NoneType] = None, file_extensions: Union[List[str], NoneType] = None, max_file_size: Union[float, NoneType] = None, max_size: Union[float, NoneType] = None, height: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a file upload component. A file upload component allows a user to browse, select and upload one or more files.

        Static methods

        load

        def load(_FileUpload__d: Dict) ‑> FileUpload

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var file_extensions

        List of allowed file extensions, e.g. pdf, docx, etc.

        var height

        The height of the file upload, e.g. '400px', '50%', etc.

        var label

        Text to be displayed alongside the component.

        var max_file_size

        Maximum allowed size (Mb) per file. Defaults to no limit.

        var max_size

        Maximum allowed size (Mb) for all files combined. Defaults to no limit.

        var multiple

        True if the component should allow multiple files to be uploaded.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        FlexCard

        class FlexCard(box: str, item_view: str, item_props: Union[dict, str], data: Union[Data, str], direction: Union[str, NoneType] = None, justify: Union[str, NoneType] = None, align: Union[str, NoneType] = None, wrap: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out using a one-dimensional model with flexible alignemnt and wrapping capabilities.

        Static methods

        load

        def load(_FlexCard__d: Dict) ‑> FlexCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var align

        Layout strategy for cross axis. One of 'start', 'end', 'center', 'baseline', 'stretch'. See enum h2o_wave.ui.FlexCardAlign.

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var direction

        Layout direction. One of 'horizontal', 'vertical'. See enum h2o_wave.ui.FlexCardDirection.

        var item_props

        The child card properties.

        var item_view

        The child card type.

        var justify

        Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.FlexCardJustify.

        var wrap

        Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.FlexCardWrap.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        FlexCardAlign

        class FlexCardAlign

        Class variables

        var BASELINE
        var CENTER
        var END
        var START
        var STRETCH

        FlexCardDirection

        class FlexCardDirection

        Class variables

        var HORIZONTAL
        var VERTICAL

        FlexCardJustify

        class FlexCardJustify

        Class variables

        var AROUND
        var BETWEEN
        var CENTER
        var END
        var START

        FlexCardWrap

        class FlexCardWrap

        Class variables

        var AROUND
        var BETWEEN
        var CENTER
        var END
        var START
        var STRETCH

        FormCard

        class FormCard(box: str, items: Union[List[Component], str], commands: Union[List[Command], NoneType] = None)

        Create a form.

        Static methods

        load

        def load(_FormCard__d: Dict) ‑> FormCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var items

        The components in this form.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Frame

        class Frame(path: Union[str, NoneType] = None, content: Union[str, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Create a new inline frame (an iframe).

        Static methods

        load

        def load(_Frame__d: Dict) ‑> Frame

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The HTML content of the page. A string containing <html>...</html>.

        var height

        The height of the frame, e.g. 200px, 50%, etc. Defaults to 150px.

        var name

        An identifying name for this component.

        var path

        The path or URL of the web page, e.g. /foo.html or http://example.com/foo.html

        var visible

        True if the component should be visible. Defaults to true.

        var width

        The width of the frame, e.g. 200px, 50%, etc. Defaults to 100%.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        FrameCard

        class FrameCard(box: str, title: str, path: Union[str, NoneType] = None, content: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Render a card containing a HTML page inside an inline frame (an iframe).

        Either a path or content can be provided as arguments.

        Static methods

        load

        def load(_FrameCard__d: Dict) ‑> FrameCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var content

        The HTML content of the page. A string containing <html>...</html>

        var path

        The path or URL of the web page, e.g. /foo.html or http://example.com/foo.html

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        GraphicsCard

        class GraphicsCard(box: str, view_box: str, stage: Union[List[dict], str, NoneType] = None, scene: Union[Data, str, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card for displaying vector graphics.

        Static methods

        load

        def load(_GraphicsCard__d: Dict) ‑> GraphicsCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var height

        The displayed height of the rectangular viewport. (Not the height of its coordinate system.)

        var scene

        Foreground layer for rendering dynamic SVG elements.

        var stage

        Background layer for rendering static SVG elements. Must be packed to conserve memory.

        var view_box

        The position and dimension of the SVG viewport, in user space. A space-separated list of four numbers: min-x, min-y, width and height. For example, '0 0 400 300'. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox

        var width

        The displayed width of the rectangular viewport. (Not the width of its coordinate system.)

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        GridCard

        class GridCard(box: str, title: str, cells: Union[Data, str], data: Union[Data, str], commands: Union[List[Command], NoneType] = None)

        EXPERIMENTAL. DO NOT USE.

        Static methods

        load

        def load(_GridCard__d: Dict) ‑> GridCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var cells

        EXPERIMENTAL. DO NOT USE.

        var commands

        Contextual menu commands for this component.

        var data

        EXPERIMENTAL. DO NOT USE.

        var title

        EXPERIMENTAL. DO NOT USE.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        HeaderCard

        class HeaderCard(box: str, title: str, subtitle: str, icon: Union[str, NoneType] = None, icon_color: Union[str, NoneType] = None, nav: Union[List[NavGroup], NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Render a card containing a HTML page inside an inline frame (iframe).

        Either a path or content can be provided as arguments.

        Static methods

        load

        def load(_HeaderCard__d: Dict) ‑> HeaderCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var icon

        The icon type, displayed to the left.

        var icon_color

        The icon's color.

        var nav

        The navigation menu to display when the header's icon is clicked.

        var subtitle

        The subtitle, displayed below the title.

        var title

        The title.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        IconTableCellType

        class IconTableCellType(color: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create a cell type that renders a column's cells as icons instead of plain text. If set on a column, the cell value is interpreted as the name of the icon to be displayed.

        Static methods

        load

        def load(_IconTableCellType__d: Dict) ‑> IconTableCellType

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var color

        Icon color.

        var name

        An identifying name for this component.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ImageCard

        class ImageCard(box: str, title: str, type: str, image: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card that displays a base64-encoded image.

        Static methods

        load

        def load(_ImageCard__d: Dict) ‑> ImageCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var image

        Image data, base64-encoded.

        var title

        The card's title.

        var type

        The image MIME subtype. One of apng, bmp, gif, x-icon, jpeg, png, webp.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Label

        class Label(label: str, required: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create a label.

        Labels give a name or title to a component or group of components. Labels should be in close proximity to the component or group they are paired with. Some components, such as textboxes, dropdowns, or toggles, already have labels incorporated, but other components may optionally add a Label if it helps inform the user of the component’s purpose.

        Static methods

        load

        def load(_Label__d: Dict) ‑> Label

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if the label should be disabled.

        var label

        The text displayed on the label.

        var name

        An identifying name for this component.

        var required

        True if the field is required.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        LargeBarStatCard

        class LargeBarStatCard(box: str, title: str, caption: str, value: str, aux_value: str, value_caption: str, aux_value_caption: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a large captioned card displaying a primary value, an auxiliary value and a progress bar, with captions for each value.

        Static methods

        load

        def load(_LargeBarStatCard__d: Dict) ‑> LargeBarStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value, typically a target value.

        var aux_value_caption

        The caption displayed below the auxiliary value.

        var box

        A string indicating how to place this component on the page.

        var caption

        The card's caption.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_color

        The color of the progress bar.

        var progress

        The value of the progress bar, between 0 and 1.

        var title

        The card's title.

        var value

        The primary value displayed.

        var value_caption

        The caption displayed below the primary value.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        LargeStatCard

        class LargeStatCard(box: str, title: str, value: str, aux_value: str, caption: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a stat card displaying a primary value, an auxiliary value and a caption.

        Static methods

        load

        def load(_LargeStatCard__d: Dict) ‑> LargeStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value displayed next to the primary value.

        var box

        A string indicating how to place this component on the page.

        var caption

        The caption displayed below the primary value.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Layout

        class Layout(breakpoint: str, zones: List[Zone], width: Union[str, NoneType] = None, min_width: Union[str, NoneType] = None, max_width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, min_height: Union[str, NoneType] = None, max_height: Union[str, NoneType] = None)

        Represents the layout structure for a page.

        Static methods

        load

        def load(_Layout__d: Dict) ‑> Layout

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var breakpoint

        The minimum viewport width at which to use this layout. Values must be pixel widths (e.g. '0px', '576px', '768px') or a named preset. The named presets are: 'xs': '0px' for extra small devices (portrait phones), 's': '576px' for small devices (landscape phones), 'm': '768px' for medium devices (tablets), 'l': '992px' for large devices (desktops), 'xl': '1200px' for extra large devices (large desktops). A breakpoint value of 'xs' (or '0') matches all viewport widths, unless other breakpoints are set.

        var height

        The height of the layout. Defaults to auto.

        var max_height

        The maximum height of the layout.

        var max_width

        The maximum width of the layout.

        var min_height

        The minimum height of the layout.

        var min_width

        The minimum width of the layout.

        var width

        The width of the layout. Defaults to 100%.

        var zones

        The zones in this layout. Each zones can in turn contain sub-zones.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Link

        class Link(label: Union[str, NoneType] = None, path: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None, download: Union[bool, NoneType] = None, button: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, target: Union[str, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create a hyperlink.

        Hyperlinks can be internal or external. Internal hyperlinks have paths that begin with a / and point to URLs within the Wave UI. All other kinds of paths are treated as external hyperlinks.

        Static methods

        load

        def load(_Link__d: Dict) ‑> Link

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var button

        True if the link should be rendered as a button.

        var disabled

        True if the link should be disabled.

        var download

        True if the link should be used for file download.

        var label

        The text to be displayed. If blank, the path is used as the label.

        var name

        An identifying name for this component.

        var path

        The path or URL to link to.

        var target

        Where to display the link. Setting this to an empty string or '_blank' opens the link in a new tab or window.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ListCard

        class ListCard(box: str, title: str, item_view: str, item_props: Union[dict, str], data: Union[Data, str], commands: Union[List[Command], NoneType] = None)

        EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out in the form of a list (vertically, top-to-bottom).

        Static methods

        load

        def load(_ListCard__d: Dict) ‑> ListCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var item_props

        The child card properties.

        var item_view

        The child card type.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ListItem1Card

        class ListItem1Card(box: str, title: str, caption: str, value: str, aux_value: str, data: Union[dict, str], commands: Union[List[Command], NoneType] = None)

        EXPERIMENTAL. DO NOT USE.

        Static methods

        load

        def load(_ListItem1Card__d: Dict) ‑> ListItem1Card

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        EXPERIMENTAL. DO NOT USE.

        var box

        A string indicating how to place this component on the page.

        var caption

        EXPERIMENTAL. DO NOT USE.

        var commands

        Contextual menu commands for this component.

        var data

        EXPERIMENTAL. DO NOT USE.

        var title

        EXPERIMENTAL. DO NOT USE.

        var value

        EXPERIMENTAL. DO NOT USE.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Mark

        class Mark(coord: Union[str, NoneType] = None, type: Union[str, NoneType] = None, x: Union[str, float, int, NoneType] = None, x0: Union[str, float, int, NoneType] = None, x1: Union[str, float, int, NoneType] = None, x2: Union[str, float, int, NoneType] = None, x_min: Union[float, NoneType] = None, x_max: Union[float, NoneType] = None, x_nice: Union[bool, NoneType] = None, x_scale: Union[str, NoneType] = None, x_title: Union[str, NoneType] = None, y: Union[str, float, int, NoneType] = None, y0: Union[str, float, int, NoneType] = None, y1: Union[str, float, int, NoneType] = None, y2: Union[str, float, int, NoneType] = None, y_min: Union[float, NoneType] = None, y_max: Union[float, NoneType] = None, y_nice: Union[bool, NoneType] = None, y_scale: Union[str, NoneType] = None, y_title: Union[str, NoneType] = None, color: Union[str, NoneType] = None, color_range: Union[str, NoneType] = None, color_domain: Union[List[str], NoneType] = None, shape: Union[str, NoneType] = None, shape_range: Union[str, NoneType] = None, size: Union[str, float, int, NoneType] = None, size_range: Union[str, NoneType] = None, stack: Union[str, NoneType] = None, dodge: Union[str, NoneType] = None, curve: Union[str, NoneType] = None, fill_color: Union[str, NoneType] = None, fill_opacity: Union[float, NoneType] = None, stroke_color: Union[str, NoneType] = None, stroke_opacity: Union[float, NoneType] = None, stroke_size: Union[float, NoneType] = None, stroke_dash: Union[str, NoneType] = None, label: Union[str, NoneType] = None, label_offset: Union[float, NoneType] = None, label_offset_x: Union[float, NoneType] = None, label_offset_y: Union[float, NoneType] = None, label_rotation: Union[str, NoneType] = None, label_position: Union[str, NoneType] = None, label_overlap: Union[str, NoneType] = None, label_fill_color: Union[str, NoneType] = None, label_fill_opacity: Union[float, NoneType] = None, label_stroke_color: Union[str, NoneType] = None, label_stroke_opacity: Union[float, NoneType] = None, label_stroke_size: Union[float, NoneType] = None, label_font_size: Union[float, NoneType] = None, label_font_weight: Union[str, NoneType] = None, label_line_height: Union[float, NoneType] = None, label_align: Union[str, NoneType] = None, ref_stroke_color: Union[str, NoneType] = None, ref_stroke_opacity: Union[float, NoneType] = None, ref_stroke_size: Union[float, NoneType] = None, ref_stroke_dash: Union[str, NoneType] = None)

        Create a specification for a layer of graphical marks such as bars, lines, points for a plot. A plot can contain multiple such layers of marks.

        Static methods

        load

        def load(_Mark__d: Dict) ‑> Mark

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var color

        Mark color field or value.

        var color_domain

        The unique values in the data (labels or categories or classes) to map colors to, e.g. ['high', 'medium', 'low']. If this is not provided, the unique values are automatically inferred from the color attribute.

        var color_range

        Mark color range for multi-series plots. A string containing space-separated colors, e.g. '#fee8c8 #fdbb84 #e34a33'

        var coord

        Coordinate system. rect is synonymous to cartesian. theta is transposed polar. One of 'rect', 'cartesian', 'polar', 'theta', 'helix'. See enum h2o_wave.ui.MarkCoord.

        var curve

        Curve type for line and area mark types. One of 'none', 'smooth', 'step-before', 'step', 'step-after'. See enum h2o_wave.ui.MarkCurve.

        var dodge

        Field to dodge marks by, or 'auto' to infer.

        var fill_color

        Mark fill color.

        var fill_opacity

        Mark fill opacity.

        var label

        Label field or value.

        var label_align

        Label text alignment. One of 'left', 'right', 'center', 'start', 'end'. See enum h2o_wave.ui.MarkLabelAlign.

        var label_fill_color

        Label fill color.

        var label_fill_opacity

        Label fill opacity.

        var label_font_size

        Label font size.

        var label_font_weight

        Label font weight.

        var label_line_height

        Label line height.

        var label_offset

        Distance between label and mark.

        var label_offset_x

        Horizontal distance between label and mark.

        var label_offset_y

        Vertical distance between label and mark.

        var label_overlap

        Strategy to use if labels overlap. One of 'hide', 'overlap', 'constrain'. See enum h2o_wave.ui.MarkLabelOverlap.

        var label_position

        Label position relative to the mark. One of 'top', 'bottom', 'middle', 'left', 'right'. See enum h2o_wave.ui.MarkLabelPosition.

        var label_rotation

        Label rotation angle, in degrees, or 'none' to disable automatic rotation. The default behavior is 'auto' for automatic rotation.

        var label_stroke_color

        Label stroke color.

        var label_stroke_opacity

        Label stroke opacity.

        var label_stroke_size

        Label stroke size (line width or pen thickness).

        var ref_stroke_color

        Reference line stroke color.

        var ref_stroke_dash

        Reference line stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].

        var ref_stroke_opacity

        Reference line stroke opacity.

        var ref_stroke_size

        Reference line stroke size (line width or pen thickness).

        var shape

        Mark shape field or value for point mark types. Possible values are 'circle', 'square', 'bowtie', 'diamond', 'hexagon', 'triangle', 'triangle-down', 'cross', 'tick', 'plus', 'hyphen', 'line'.

        var shape_range

        Mark shape range for multi-series plots using point mark types. A string containing space-separated shapes, e.g. 'circle square diamond'

        var size

        Mark size field or value.

        var size_range

        Mark size range. A string containing space-separated integers, e.g. '4 30'

        var stack

        Field to stack marks by, or 'auto' to infer.

        var stroke_color

        Mark stroke color.

        var stroke_dash

        Mark stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].

        var stroke_opacity

        Mark stroke opacity.

        var stroke_size

        Mark stroke size.

        var type

        Graphical geometry. One of 'interval', 'line', 'path', 'point', 'area', 'polygon', 'schema', 'edge', 'heatmap'. See enum h2o_wave.ui.MarkType.

        var x

        X field or value.

        var x0

        X base field or value.

        var x1

        X bin lower bound field or value. For histograms.

        var x2

        X bin upper bound field or value. For histograms.

        var x_max

        X axis scale maximum.

        var x_min

        X axis scale minimum.

        var x_nice

        Whether to nice X axis scale ticks.

        var x_scale

        X axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkXScale.

        var x_title

        X axis title.

        var y

        Y field or value.

        var y0

        Y base field or value.

        var y1

        Y bin lower bound field or value. For histograms.

        var y2

        Y bin upper bound field or value. For histograms.

        var y_max

        Y axis scale maximum.

        var y_min

        Y axis scale minimum.

        var y_nice

        Whether to nice Y axis scale ticks.

        var y_scale

        Y axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkYScale.

        var y_title

        Y axis title.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        MarkCoord

        class MarkCoord

        Class variables

        var CARTESIAN
        var HELIX
        var POLAR
        var RECT
        var THETA

        MarkCurve

        class MarkCurve

        Class variables

        var NONE
        var SMOOTH
        var STEP
        var STEP_AFTER
        var STEP_BEFORE

        MarkLabelAlign

        class MarkLabelAlign

        Class variables

        var CENTER
        var END
        var LEFT
        var RIGHT
        var START

        MarkLabelOverlap

        class MarkLabelOverlap

        Class variables

        var CONSTRAIN
        var HIDE
        var OVERLAP

        MarkLabelPosition

        class MarkLabelPosition

        Class variables

        var BOTTOM
        var LEFT
        var MIDDLE
        var RIGHT
        var TOP

        MarkType

        class MarkType

        Class variables

        var AREA
        var EDGE
        var HEATMAP
        var INTERVAL
        var LINE
        var PATH
        var POINT
        var POLYGON
        var SCHEMA

        MarkXScale

        class MarkXScale

        Class variables

        var CAT
        var CATEGORY
        var IDENTITY
        var LINEAR
        var LOG
        var POW
        var POWER
        var QUANTILE
        var QUANTIZE
        var TIME
        var TIME_CATEGORY

        MarkYScale

        class MarkYScale

        Class variables

        var CAT
        var CATEGORY
        var IDENTITY
        var LINEAR
        var LOG
        var POW
        var POWER
        var QUANTILE
        var QUANTIZE
        var TIME
        var TIME_CATEGORY

        MarkdownCard

        class MarkdownCard(box: str, title: str, content: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card that renders Markdown content.

        Github-flavored markdown is supported. HTML markup is allowed in markdown content. URLs, if found, are displayed as hyperlinks. Copyright, reserved, trademark, quotes, etc. are replaced with language-neutral symbols.

        Static methods

        load

        def load(_MarkdownCard__d: Dict) ‑> MarkdownCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var content

        The markdown content. Supports Github Flavored Markdown (GFM): https://guides.github.com/features/mastering-markdown/

        var data

        Additional data for the card.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Markup

        class Markup(content: str, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Render HTML content.

        Static methods

        load

        def load(_Markup__d: Dict) ‑> Markup

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The HTML content.

        var name

        An identifying name for this component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        MarkupCard

        class MarkupCard(box: str, title: str, content: str, commands: Union[List[Command], NoneType] = None)

        Render HTML content.

        Static methods

        load

        def load(_MarkupCard__d: Dict) ‑> MarkupCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var content

        The HTML content.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        MessageBar

        class MessageBar(type: Union[str, NoneType] = None, text: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Create a message bar.

        A message bar is an area at the top of a primary view that displays relevant status information. You can use a message bar to tell the user about a situation that does not require their immediate attention and therefore does not need to block other activities.

        Static methods

        load

        def load(_MessageBar__d: Dict) ‑> MessageBar

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var name

        An identifying name for this component.

        var text

        The text displayed on the message bar.

        var type

        The icon and color of the message bar. One of 'info', 'error', 'warning', 'success', 'danger', 'blocked'. See enum h2o_wave.ui.MessageBarType.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        MessageBarType

        class MessageBarType

        Class variables

        var BLOCKED
        var DANGER
        var ERROR
        var INFO
        var SUCCESS
        var WARNING

        MetaCard

        class MetaCard(box: str, title: Union[str, NoneType] = None, refresh: Union[int, NoneType] = None, notification: Union[str, NoneType] = None, redirect: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, layouts: Union[List[Layout], NoneType] = None, dialog: Union[Dialog, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Represents page-global state.

        This card is invisible. It is used to control attributes of the active page.

        Static methods

        load

        def load(_MetaCard__d: Dict) ‑> MetaCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var dialog

        Display a dialog on the page.

        var icon

        Shortcut icon path. Preferably a .png file (.ico files may not work in mobile browsers).

        var layouts

        The layouts supported by this page.

        var notification

        Display a desktop notification.

        var redirect

        Redirect the page to a new URL.

        var refresh

        Refresh rate in seconds. A value of 0 turns off live-updates. Values != 0 are currently ignored (reserved for future use).

        var title

        The title of the page.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        NavCard

        class NavCard(box: str, items: List[NavGroup], value: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card containing a navigation pane.

        Static methods

        load

        def load(_NavCard__d: Dict) ‑> NavCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var items

        The navigation groups contained in this pane.

        var value

        The name of the active (highlighted) navigation item.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        NavGroup

        class NavGroup(label: str, items: List[NavItem], collapsed: Union[bool, NoneType] = None)

        Create a group of navigation items.

        Static methods

        load

        def load(_NavGroup__d: Dict) ‑> NavGroup

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var collapsed

        Indicates whether nav groups should be rendered as collapsed initially

        var items

        The navigation items contained in this group.

        var label

        The label to display for this group.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        NavItem

        class NavItem(name: str, label: str, icon: Union[str, NoneType] = None)

        Create a navigation item.

        Static methods

        load

        def load(_NavItem__d: Dict) ‑> NavItem

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var icon

        An optional icon to display next to the label.

        var label

        The label to display.

        var name

        The name of this item. Prefix the name with a '#' to trigger hash-change navigation.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Picker

        class Picker(name: str, choices: List[Choice], label: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, max_choices: Union[int, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a picker. Pickers are used to select one or more choices, such as tags or files, from a list. Use a picker to allow the user to quickly search for or manage a few tags or files.

        Static methods

        load

        def load(_Picker__d: Dict) ‑> Picker

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var choices

        The choices to be presented.

        var disabled

        Controls whether the picker should be disabled or not.

        var label

        Text to be displayed above the component.

        var max_choices

        Maximum number of selectable choices. Defaults to no limit.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the picker value changes.

        var values

        The names of the selected choices.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        PixelArtCard

        class PixelArtCard(box: str, title: str, data: Union[dict, str], commands: Union[List[Command], NoneType] = None)

        Create a card displaying a collaborative Pixel art tool, just for kicks.

        Static methods

        load

        def load(_PixelArtCard__d: Dict) ‑> PixelArtCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        The data for this card.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Plot

        class Plot(marks: List[Mark])

        Create a plot. A plot is composed of one or more graphical mark layers.

        Static methods

        load

        def load(_Plot__d: Dict) ‑> Plot

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var marks

        The graphical mark layers contained in this plot.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        PlotCard

        class PlotCard(box: str, title: str, data: Union[dict, str], plot: Plot, events: Union[List[str], NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card displaying a plot.

        Static methods

        load

        def load(_PlotCard__d: Dict) ‑> PlotCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var events

        The events to capture on this card.

        var plot

        The plot to be displayed in this card.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Progress

        class Progress(label: str, caption: Union[str, NoneType] = None, value: Union[float, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create a progress bar.

        Progress bars are used to show the completion status of an operation lasting more than 2 seconds. If the state of progress cannot be determined, do not set a value. Progress bars feature a bar showing total units to completion, and total units finished. The label appears above the bar, and the caption appears below. The label should tell someone exactly what the operation is doing.

        Examples of formatting include: [Object] is being [operation name], or [Object] is being [operation name] to [destination name] or [Object] is being [operation name] from [source name] to [destination name]

        Status text is generally in units elapsed and total units. Real-world examples include copying files to a storage location, saving edits to a file, and more. Use units that are informative and relevant to give the best idea to users of how long the operation will take to complete. Avoid time units as they are rarely accurate enough to be trustworthy. Also, combine steps of a complex operation into one total bar to avoid “rewinding” the bar. Instead change the label to reflect the change if necessary. Bars moving backwards reduce confidence in the service.

        Static methods

        load

        def load(_Progress__d: Dict) ‑> Progress

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var caption

        The text displayed below the bar.

        var label

        The text displayed above the bar.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var value

        The progress, between 0.0 and 1.0, or -1 (default) if indeterminate.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ProgressTableCellType

        class ProgressTableCellType(color: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create a cell type that renders a column's cells as progress bars instead of plain text. If set on a column, the cell value must be between 0.0 and 1.0.

        Static methods

        load

        def load(_ProgressTableCellType__d: Dict) ‑> ProgressTableCellType

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var color

        Color of the progress arc.

        var name

        An identifying name for this component.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        RangeSlider

        class RangeSlider(name: str, label: Union[str, NoneType] = None, min: Union[float, NoneType] = None, max: Union[float, NoneType] = None, step: Union[float, NoneType] = None, min_value: Union[float, NoneType] = None, max_value: Union[float, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a range slider.

        A range slider is an element used to select a value range. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. Knobs or levers are dragged to one end or the other to make the choice, indicating the current max and min value.

        Static methods

        load

        def load(_RangeSlider__d: Dict) ‑> RangeSlider

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if this field is disabled.

        var label

        Text to be displayed alongside the component.

        var max

        The maximum value of the slider. Defaults to 100.

        var max_value

        The upper bound of the selected range.

        var min

        The minimum value of the slider. Defaults to 0.

        var min_value

        The lower bound of the selected range.

        var name

        An identifying name for this component.

        var step

        The difference between two adjacent values of the slider.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the slider value changes.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        RepeatCard

        class RepeatCard(box: str, item_view: str, item_props: Union[dict, str], data: Union[Data, str], commands: Union[List[Command], NoneType] = None)

        EXPERIMENTAL. DO NOT USE. Create a card containing other cards.

        Static methods

        load

        def load(_RepeatCard__d: Dict) ‑> RepeatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var item_props

        The child card properties.

        var item_view

        EXPERIMENTAL. DO NOT USE.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Separator

        class Separator(label: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Create a separator.

        A separator visually separates content into groups.

        Static methods

        load

        def load(_Separator__d: Dict) ‑> Separator

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var label

        The text displayed on the separator.

        var name

        An identifying name for this component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Slider

        class Slider(name: str, label: Union[str, NoneType] = None, min: Union[float, NoneType] = None, max: Union[float, NoneType] = None, step: Union[float, NoneType] = None, value: Union[float, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a slider.

        A slider is an element used to set a value. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. A knob or lever is dragged to one end or the other to make the choice, indicating the current value. Marks on the slider bar can show values and users can choose where they want to drag the knob or lever to set the value.

        A slider is a good choice when you know that users think of the value as a relative quantity, not a numeric value. For example, users think about setting their audio volume to low or medium — not about setting the value to two or five.

        The default value of the slider will be zero or be constrained to the min and max values. The min will be returned if the value is set under the min and the max will be returned if set higher than the max value.

        Static methods

        load

        def load(_Slider__d: Dict) ‑> Slider

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if this field is disabled.

        var label

        Text to be displayed alongside the component.

        var max

        The maximum value of the slider.

        var min

        The minimum value of the slider.

        var name

        An identifying name for this component.

        var step

        The difference between two adjacent values of the slider.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the slider value changes.

        var value

        The current value of the slider.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        SmallSeriesStatCard

        class SmallSeriesStatCard(box: str, title: str, value: str, plot_data: Union[Data, str], plot_value: str, plot_zero_value: Union[float, NoneType] = None, plot_category: Union[str, NoneType] = None, plot_type: Union[str, NoneType] = None, plot_curve: Union[str, NoneType] = None, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a small stat card displaying a primary value and a series plot.

        Static methods

        load

        def load(_SmallSeriesStatCard__d: Dict) ‑> SmallSeriesStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_category

        The data field to use for x-axis values (ignored if plot_type is area; must be provided if plot_type is interval). Defaults to 'x'.

        var plot_color

        The plot's color.

        var plot_curve

        The plot's curve style. Defaults to linear. One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.SmallSeriesStatCardPlotCurve.

        var plot_data

        The plot's data.

        var plot_type

        The type of plot. Defaults to area. One of 'area', 'interval'. See enum h2o_wave.ui.SmallSeriesStatCardPlotType.

        var plot_value

        The data field to use for y-axis values.

        var plot_zero_value

        The base value to use for each y-axis mark. Set this to 0 if you want to pin the x-axis at y=0. If not provided, the minimum value from the data is used.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        SmallSeriesStatCardPlotCurve

        class SmallSeriesStatCardPlotCurve

        Class variables

        var LINEAR
        var SMOOTH
        var STEP
        var STEP_AFTER
        var STEP_BEFORE

        SmallSeriesStatCardPlotType

        class SmallSeriesStatCardPlotType

        Class variables

        var AREA
        var INTERVAL

        SmallStatCard

        class SmallStatCard(box: str, title: str, value: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a stat card displaying a single value.

        Static methods

        load

        def load(_SmallStatCard__d: Dict) ‑> SmallStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Spinbox

        class Spinbox(name: str, label: Union[str, NoneType] = None, min: Union[float, NoneType] = None, max: Union[float, NoneType] = None, step: Union[float, NoneType] = None, value: Union[float, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a spinbox.

        A spinbox allows the user to incrementally adjust a value in small steps. It is mainly used for numeric values, but other values are supported too.

        Static methods

        load

        def load(_Spinbox__d: Dict) ‑> Spinbox

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if this field is disabled.

        var label

        Text to be displayed alongside the component.

        var max

        The maximum value of the spinbox.

        var min

        The minimum value of the spinbox.

        var name

        An identifying name for this component.

        var step

        The difference between two adjacent values of the spinbox.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var value

        The current value of the spinbox.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Step

        class Step(label: str, icon: Union[str, NoneType] = None, done: Union[bool, NoneType] = None)

        Create a step for a stepper.

        Static methods

        load

        def load(_Step__d: Dict) ‑> Step

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var done

        Indicates whether this step has already been completed.

        var icon

        Icon to be displayed.

        var label

        Text displayed below icon.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Stepper

        class Stepper(name: str, items: List[Step], visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a component that displays a sequence of steps in a process. The steps keep users informed about where they are in the process and how much is left to complete.

        Static methods

        load

        def load(_Stepper__d: Dict) ‑> Stepper

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var items

        The sequence of steps to be displayed.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Tab

        class Tab(name: str, label: Union[str, NoneType] = None, icon: Union[str, NoneType] = None)

        Create a tab.

        Static methods

        load

        def load(_Tab__d: Dict) ‑> Tab

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var icon

        The icon displayed on the tab.

        var label

        The text displayed on the tab.

        var name

        An identifying name for this component.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TabCard

        class TabCard(box: str, items: List[Tab], value: Union[str, NoneType] = None, link: Union[bool, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card containing tabs for navigation.

        Static methods

        load

        def load(_TabCard__d: Dict) ‑> TabCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var items

        Items to render.

        True if tabs should be rendered as links and not a standard tab.

        var value

        The name of the tab to select.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Table

        class Table(name: str, columns: List[TableColumn], rows: List[TableRow], multiple: Union[bool, NoneType] = None, groupable: Union[bool, NoneType] = None, downloadable: Union[bool, NoneType] = None, resettable: Union[bool, NoneType] = None, height: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create an interactive table.

        This table differs from a markdown table in that it supports clicking or selecting rows. If you simply want to display a non-interactive table of information, use a markdown table.

        If multiple is set to False (default), each row in the table is clickable. When a row is clicked, the form is submitted automatically, and q.args.table_name is set to [row_name], where table_name is the name of the table, and row_name is the name of the row that was clicked on.

        If multiple is set to True, each row in the table is selectable. A row can be selected by clicking on it. Multiple rows can be selected either by shift+clicking or using marquee selection. When the form is submitted,q.args.table_name is set to [row1_name, row2_name, …] where table_name is the name of the table, and row1_name, row2_name are the name of the rows that were selected. Note that if multiple is set to True, the form is not submitted automatically, and one or more buttons are required in the form to trigger submission.

        Static methods

        load

        def load(_Table__d: Dict) ‑> Table

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var columns

        The columns in this table.

        var downloadable

        Indicates whether the contents of this table can be downloaded and saved as a CSV file. Defaults to False.

        var groupable

        True to allow group by feature.

        var height

        The height of the table, e.g. '400px', '50%', etc.

        var multiple

        True to allow multiple rows to be selected.

        var name

        An identifying name for this component.

        var resettable

        Indicates whether a Reset button should be displayed to reset search / filter / group-by values to their defaults. Defaults to False.

        var rows

        The rows in this table.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var values

        The names of the selected rows. If this parameter is set, multiple selections will be allowed (multiple is assumed to be True).

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TableCellType

        class TableCellType(progress: Union[ProgressTableCellType, NoneType] = None, icon: Union[IconTableCellType, NoneType] = None)

        Defines cell content to be rendered instead of a simple text.

        Static methods

        load

        def load(_TableCellType__d: Dict) ‑> TableCellType

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var icon

        No documentation available.

        var progress

        No documentation available.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TableColumn

        class TableColumn(name: str, label: str, min_width: Union[str, NoneType] = None, max_width: Union[str, NoneType] = None, sortable: Union[bool, NoneType] = None, searchable: Union[bool, NoneType] = None, filterable: Union[bool, NoneType] = None, link: Union[bool, NoneType] = None, data_type: Union[str, NoneType] = None, cell_type: Union[TableCellType, NoneType] = None)

        Create a table column.

        Static methods

        load

        def load(_TableColumn__d: Dict) ‑> TableColumn

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var cell_type

        Defines how to render each cell in this column. Defaults to plain text.

        var data_type

        Defines the data type of this column. Defaults to string. One of 'string', 'number', 'time'. See enum h2o_wave.ui.TableColumnDataType.

        var filterable

        Indicates whether the contents of this column are displayed as filters in a dropdown.

        var label

        The text displayed on the column header.

        Indicates whether each cell in this column should be displayed as a clickable link.

        var max_width

        The maximum width of this column, e.g. '100px'. Only px units are supported at this time.

        var min_width

        The minimum width of this column, e.g. '50px'. Only px units are supported at this time.

        var name

        An identifying name for this column.

        var searchable

        Indicates whether the contents of this column can be searched through. Enables a search box for the table if true.

        var sortable

        Indicates whether the column is sortable.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TableColumnDataType

        class TableColumnDataType

        Class variables

        var NUMBER
        var STRING
        var TIME

        TableRow

        class TableRow(name: str, cells: List[str])

        Create a table row.

        Static methods

        load

        def load(_TableRow__d: Dict) ‑> TableRow

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var cells

        The cells in this row (displayed left to right).

        var name

        An identifying name for this row.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Tabs

        class Tabs(name: str, value: Union[str, NoneType] = None, items: Union[List[Tab], NoneType] = None, visible: Union[bool, NoneType] = None)

        Create a tab bar.

        Static methods

        load

        def load(_Tabs__d: Dict) ‑> Tabs

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var items

        The tabs in this tab bar.

        var name

        An identifying name for this component.

        var value

        The name of the tab to select.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TallGaugeStatCard

        class TallGaugeStatCard(box: str, title: str, value: str, aux_value: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a tall stat card displaying a primary value, an auxiliary value and a progress gauge.

        Static methods

        load

        def load(_TallGaugeStatCard__d: Dict) ‑> TallGaugeStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value displayed next to the primary value.

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_color

        The color of the progress gauge.

        var progress

        The value of the progress gauge, between 0 and 1.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TallSeriesStatCard

        class TallSeriesStatCard(box: str, title: str, value: str, aux_value: str, plot_data: Union[Data, str], plot_value: str, plot_zero_value: Union[float, NoneType] = None, plot_category: Union[str, NoneType] = None, plot_type: Union[str, NoneType] = None, plot_curve: Union[str, NoneType] = None, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a tall stat card displaying a primary value, an auxiliary value and a series plot.

        Static methods

        load

        def load(_TallSeriesStatCard__d: Dict) ‑> TallSeriesStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value displayed below the primary value.

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_category

        The data field to use for x-axis values (ignored if plot_type is area; must be provided if plot_type is interval). Defaults to 'x'.

        var plot_color

        The plot's color.

        var plot_curve

        The plot's curve style. Defaults to linear. One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.TallSeriesStatCardPlotCurve.

        var plot_data

        The plot's data.

        var plot_type

        The type of plot. Defaults to area. One of 'area', 'interval'. See enum h2o_wave.ui.TallSeriesStatCardPlotType.

        var plot_value

        The data field to use for y-axis values.

        var plot_zero_value

        The base value to use for each y-axis mark. Set this to 0 if you want to pin the x-axis at y=0. If not provided, the minimum value from the data is used.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TallSeriesStatCardPlotCurve

        class TallSeriesStatCardPlotCurve

        Class variables

        var LINEAR
        var SMOOTH
        var STEP
        var STEP_AFTER
        var STEP_BEFORE

        TallSeriesStatCardPlotType

        class TallSeriesStatCardPlotType

        Class variables

        var AREA
        var INTERVAL

        Template

        class Template(content: str, data: Union[dict, str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Render dynamic content using an HTML template.

        Static methods

        load

        def load(_Template__d: Dict) ‑> Template

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The Handlebars template. https://handlebarsjs.com/guide/

        var data

        Data for the Handlebars template

        var name

        An identifying name for this component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TemplateCard

        class TemplateCard(box: str, title: str, content: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Render dynamic content using an HTML template.

        Static methods

        load

        def load(_TemplateCard__d: Dict) ‑> TemplateCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var content

        The Handlebars template. https://handlebarsjs.com/guide/

        var data

        Data for the Handlebars template.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Text

        class Text(content: str, size: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create text content.

        Static methods

        load

        def load(_Text__d: Dict) ‑> Text

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The text content.

        var name

        An identifying name for this component.

        var size

        The font size of the text content. One of 'xl', 'l', 'm', 's', 'xs'. See enum h2o_wave.ui.TextSize.

        var tooltip

        Tooltip message.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TextL

        class TextL(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None, name: Union[str, NoneType] = None)

        Create large sized text content.

        Static methods

        load

        def load(_TextL__d: Dict) ‑> TextL

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var commands

        Contextual menu commands for this component.

        var content

        The text content.

        var name

        An identifying name for this component.

        var tooltip

        Tooltip message.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TextM

        class TextM(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create medium sized text content.

        Static methods

        load

        def load(_TextM__d: Dict) ‑> TextM

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The text content.

        var name

        An identifying name for this component.

        var tooltip

        Tooltip message.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TextS

        class TextS(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create small sized text content.

        Static methods

        load

        def load(_TextS__d: Dict) ‑> TextS

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The text content.

        var name

        An identifying name for this component.

        var tooltip

        Tooltip message.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TextSize

        class TextSize

        Class variables

        var L
        var M
        var S
        var XL
        var XS

        TextXl

        class TextXl(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None, name: Union[str, NoneType] = None)

        Create extra-large sized text content.

        Static methods

        load

        def load(_TextXl__d: Dict) ‑> TextXl

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var commands

        Contextual menu commands for this component.

        var content

        The text content.

        var name

        An identifying name for this component.

        var tooltip

        Tooltip message.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TextXs

        class TextXs(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create extra-small sized text content.

        Static methods

        load

        def load(_TextXs__d: Dict) ‑> TextXs

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The text content.

        var name

        An identifying name for this component.

        var tooltip

        Tooltip message.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Textbox

        class Textbox(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, mask: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, prefix: Union[str, NoneType] = None, suffix: Union[str, NoneType] = None, error: Union[str, NoneType] = None, required: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, readonly: Union[bool, NoneType] = None, multiline: Union[bool, NoneType] = None, password: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, height: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a text box.

        The text box component enables a user to type text into an app. It's typically used to capture a single line of text, but can be configured to capture multiple lines of text. The text displays on the screen in a simple, uniform format.

        Static methods

        load

        def load(_Textbox__d: Dict) ‑> Textbox

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if the text box is disabled.

        var error

        Text to be displayed as an error below the text box.

        var height

        The height of the text box, e.g. '100px'. Applicable only if multiline is true.

        var icon

        Icon displayed in the far right end of the text field.

        var label

        The text displayed above the field.

        var mask

        The masking string that defines the mask's behavior. A backslash will escape any character. Special format characters are: '9': [0-9] 'a': [a-zA-Z] '*': [a-zA-Z0-9].

        var multiline

        True if the text box should allow multi-line text entry.

        var name

        An identifying name for this component.

        var password

        True if the text box should hide text content.

        var placeholder

        A string that provides a brief hint to the user as to what kind of information is expected in the field. It should be a word or short phrase that demonstrates the expected type of data, rather than an explanatory message.

        var prefix

        Text to be displayed before the text box contents.

        var readonly

        True if the text box is a read-only field.

        var required

        True if the text box is a required field.

        var suffix

        Text to be displayed after the text box contents.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the text value changes.

        var value

        Text to be displayed inside the text box.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Toggle

        class Toggle(name: str, label: Union[str, NoneType] = None, value: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a toggle. Toggles represent a physical switch that allows users to turn things on or off. Use toggles to present users with two mutually exclusive options (like on/off), where choosing an option results in an immediate action.

        Use a toggle for binary operations that take effect right after the user flips the Toggle. For example, use a Toggle to turn services or hardware components on or off. In other words, if a physical switch would work for the action, a Toggle is probably the best component to use.

        Static methods

        load

        def load(_Toggle__d: Dict) ‑> Toggle

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if the checkbox is disabled.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the toggle value changes.

        var value

        True if selected, False if unselected.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ToolbarCard

        class ToolbarCard(box: str, items: List[Command], secondary_items: Union[List[Command], NoneType] = None, overflow_items: Union[List[Command], NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card containing a toolbar.

        Static methods

        load

        def load(_ToolbarCard__d: Dict) ‑> ToolbarCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var items

        Items to render.

        var overflow_items

        Items to render in an overflow menu.

        var secondary_items

        Items to render on the right side (or left, in RTL).

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        VegaCard

        class VegaCard(box: str, title: str, specification: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card containing a Vega-lite plot.

        Static methods

        load

        def load(_VegaCard__d: Dict) ‑> VegaCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for the plot, if any.

        var specification

        The Vega-lite specification.

        var title

        The title of this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        VegaVisualization

        class VegaVisualization(specification: str, data: Union[dict, str, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Create a Vega-lite plot for display inside a form.

        Static methods

        load

        def load(_VegaVisualization__d: Dict) ‑> VegaVisualization

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var data

        Data for the plot, if any.

        var height

        The height of the visualization. Defaults to 300px.

        var name

        An identifying name for this component.

        var specification

        The Vega-lite specification.

        var visible

        True if the component should be visible. Defaults to true.

        var width

        The width of the visualization. Defaults to 100%.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Visualization

        class Visualization(plot: Plot, data: Union[dict, str], width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, events: Union[List[str], NoneType] = None)

        Create a visualization for display inside a form.

        Static methods

        load

        def load(_Visualization__d: Dict) ‑> Visualization

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var data

        Data for this visualization.

        var events

        The events to capture on this visualization.

        var height

        The hight of the visualization. Defaults to 300px.

        var name

        An identifying name for this component.

        var plot

        The plot to be rendered in this visualization.

        var visible

        True if the component should be visible. Defaults to true.

        var width

        The width of the visualization. Defaults to 100%.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        WideBarStatCard

        class WideBarStatCard(box: str, title: str, value: str, aux_value: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a wide stat card displaying a primary value, an auxiliary value and a progress bar.

        Static methods

        load

        def load(_WideBarStatCard__d: Dict) ‑> WideBarStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value displayed next to the primary value.

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_color

        The color of the progress bar.

        var progress

        The value of the progress bar, between 0 and 1.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        WideGaugeStatCard

        class WideGaugeStatCard(box: str, title: str, value: str, aux_value: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a wide stat card displaying a primary value, an auxiliary value and a progress gauge.

        Static methods

        load

        def load(_WideGaugeStatCard__d: Dict) ‑> WideGaugeStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value displayed next to the primary value.

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_color

        The color of the progress gauge.

        var progress

        The value of the progress gauge, between 0 and 1.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        WideSeriesStatCard

        class WideSeriesStatCard(box: str, title: str, value: str, aux_value: str, plot_data: Union[Data, str], plot_value: str, plot_zero_value: Union[float, NoneType] = None, plot_category: Union[str, NoneType] = None, plot_type: Union[str, NoneType] = None, plot_curve: Union[str, NoneType] = None, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a wide stat card displaying a primary value, an auxiliary value and a series plot.

        Static methods

        load

        def load(_WideSeriesStatCard__d: Dict) ‑> WideSeriesStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value displayed below the primary value.

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_category

        The data field to use for x-axis values (ignored if plot_type is area; must be provided if plot_type is interval). Defaults to 'x'.

        var plot_color

        The plot's color.

        var plot_curve

        The plot's curve style. Defaults to linear. One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.WideSeriesStatCardPlotCurve.

        var plot_data

        The plot's data.

        var plot_type

        The type of plot. Defaults to area. One of 'area', 'interval'. See enum h2o_wave.ui.WideSeriesStatCardPlotType.

        var plot_value

        The data field to use for y-axis values.

        var plot_zero_value

        The base value to use for each y-axis mark. Set this to 0 if you want to pin the x-axis at y=0. If not provided, the minimum value from the data is used.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        WideSeriesStatCardPlotCurve

        class WideSeriesStatCardPlotCurve

        Class variables

        var LINEAR
        var SMOOTH
        var STEP
        var STEP_AFTER
        var STEP_BEFORE

        WideSeriesStatCardPlotType

        class WideSeriesStatCardPlotType

        Class variables

        var AREA
        var INTERVAL

        Zone

        class Zone(name: str, size: Union[str, NoneType] = None, direction: Union[str, NoneType] = None, justify: Union[str, NoneType] = None, align: Union[str, NoneType] = None, wrap: Union[str, NoneType] = None, zones: Union[List[ForwardRef('Zone')], NoneType] = None)

        Represents an zone within a page layout.

        Static methods

        load

        def load(_Zone__d: Dict) ‑> Zone

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var align

        Layout strategy for cross axis. One of 'start', 'end', 'center', 'stretch'. See enum h2o_wave.ui.ZoneAlign.

        var direction

        Layout direction. One of 'row', 'column'. See enum h2o_wave.ui.ZoneDirection.

        var justify

        Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ZoneJustify.

        var name

        An identifying name for this zone.

        var size

        The size of this zone.

        var wrap

        Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.ZoneWrap.

        var zones

        The sub-zones contained inside this zone.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ZoneAlign

        class ZoneAlign

        Class variables

        var CENTER
        var END
        var START
        var STRETCH

        ZoneDirection

        class ZoneDirection

        Class variables

        var COLUMN
        var ROW

        ZoneJustify

        class ZoneJustify

        Class variables

        var AROUND
        var BETWEEN
        var CENTER
        var END
        var START

        ZoneWrap

        class ZoneWrap

        Class variables

        var AROUND
        var BETWEEN
        var CENTER
        var END
        var START
        var STRETCH
        - - - - - - - - - - - - - - - - +

        Module h2o_wave.types

        Classes

        Breadcrumb

        class Breadcrumb(name: str, label: str)

        Create a breadcrumb for a BreadcrumbsCard.

        Static methods

        load

        def load(_Breadcrumb__d: Dict) ‑> Breadcrumb

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var label

        The label to display.

        var name

        The name of this item. Prefix the name with a '#' to trigger hash-change navigation.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        BreadcrumbsCard

        class BreadcrumbsCard(box: str, items: List[Breadcrumb], commands: Union[List[Command], NoneType] = None)

        Create a card containing breadcrumbs. Breadcrumbs should be used as a navigational aid in your app or site. They indicate the current page’s location within a hierarchy and help the user understand where they are in relation to the rest of that hierarchy. They also afford one-click access to higher levels of that hierarchy. Breadcrumbs are typically placed, in horizontal form, under the masthead or navigation of an experience, above the primary content area.

        Static methods

        load

        def load(_BreadcrumbsCard__d: Dict) ‑> BreadcrumbsCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var items

        A list of Breadcrumb instances to display. See breadcrumb()

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Button

        class Button(name: str, label: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, value: Union[str, NoneType] = None, primary: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, link: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a button.

        Buttons are best used to enable a user to commit a change or complete steps in a task. They are typically found inside forms, dialogs, panels or pages. An example of their usage is confirming the deletion of a file in a confirmation dialog.

        When considering their place in a layout, contemplate the order in which a user will flow through the UI. As an example, in a form, the individual will need to read and interact with the form fields before submitting the form. Therefore, as a general rule, the button should be placed at the bottom of the UI container which holds the related UI elements.

        Buttons may be placed within a "buttons" component which will lay out the buttons horizontally, or used individually and they will be stacked vertically.

        While buttons can technically be used to navigate a user to another part of the experience, this is not recommended unless that navigation is part of an action or their flow.

        Static methods

        load

        def load(_Button__d: Dict) ‑> Button

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var caption

        The caption displayed below the label. Setting a caption renders a compound button.

        var disabled

        True if the button should be disabled.

        var label

        The text displayed on the button.

        True if the button should be rendered as link text and not a standard button.

        var name

        An identifying name for this component. If the name is prefixed with a '#', the button sets the location hash to the name when clicked.

        var primary

        True if the button should be rendered as the primary button in the set.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var value

        A value for this button. If a value is set, it is used for the button's submitted instead of a boolean True.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Buttons

        class Buttons(items: List[_ForwardRef('Component')], justify: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Create a set of buttons laid out horizontally.

        Static methods

        load

        def load(_Buttons__d: Dict) ‑> Buttons

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var items

        The button in this set.

        var justify

        Specifies how to lay out buttons horizontally. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ButtonsJustify.

        var name

        An identifying name for this component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ButtonsJustify

        class ButtonsJustify

        Class variables

        var AROUND
        var BETWEEN
        var CENTER
        var END
        var START

        Checkbox

        class Checkbox(name: str, label: Union[str, NoneType] = None, value: Union[bool, NoneType] = None, indeterminate: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a checkbox.

        A checkbox allows users to switch between two mutually exclusive options (checked or unchecked, on or off) through a single click or tap. It can also be used to indicate a subordinate setting or preference when paired with another component.

        A checkbox is used to select or deselect action items. It can be used for a single item or for a list of multiple items that a user can choose from. The component has two selection states: unselected and selected.

        For a binary choice, the main difference between a checkbox and a toggle switch is that the checkbox is for status and the toggle switch is for action.

        Use multiple checkboxes for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive.

        Static methods

        load

        def load(_Checkbox__d: Dict) ‑> Checkbox

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if the checkbox is disabled.

        var indeterminate

        True if the selection is indeterminate (neither selected nor unselected).

        var label

        Text to be displayed alongside the checkbox.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the checkbox value changes.

        var value

        True if selected, False if unselected.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Checklist

        class Checklist(name: str, label: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, choices: Union[List[Choice], NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a set of checkboxes. Use this for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive.

        Static methods

        load

        def load(_Checklist__d: Dict) ‑> Checklist

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var choices

        The choices to be presented.

        var label

        Text to be displayed above the component.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the checklist value changes.

        var values

        The names of the selected choices.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Choice

        class Choice(name: str, label: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None)

        Create a choice for a checklist, choice group or dropdown.

        Static methods

        load

        def load(_Choice__d: Dict) ‑> Choice

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if the checkbox is disabled.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ChoiceGroup

        class ChoiceGroup(name: str, label: Union[str, NoneType] = None, value: Union[str, NoneType] = None, choices: Union[List[Choice], NoneType] = None, required: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a choice group. The choice group component, also known as radio buttons, let users select one option from two or more choices. Each option is represented by one choice group button; a user can select only one choice group in a button group.

        Choice groups emphasize all options equally, and that may draw more attention to the options than necessary. Consider using other components, unless the options deserve extra attention from the user. For example, if the default option is recommended for most users in most situations, use a dropdown instead.

        If there are only two mutually exclusive options, combine them into a single Checkbox or Toggle switch. For example, use a checkbox for "I agree" instead of choice group buttons for "I agree" and "I don't agree."

        Static methods

        load

        def load(_ChoiceGroup__d: Dict) ‑> ChoiceGroup

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var choices

        The choices to be presented.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        var required

        True if this field is required.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the selection changes.

        var value

        The name of the selected choice.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ColorPicker

        class ColorPicker(name: str, label: Union[str, NoneType] = None, value: Union[str, NoneType] = None, choices: Union[List[str], NoneType] = None, visible: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a color picker.

        A date picker allows a user to pick a color value. If the 'choices' parameter is set, a swatch picker is displayed instead of the standard color picker.

        Static methods

        load

        def load(_ColorPicker__d: Dict) ‑> ColorPicker

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var choices

        A list of colors (CSS-compatible strings) to limit color choices to.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the color picker value changes.

        var value

        The selected color (CSS-compatible string).

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Combobox

        class Combobox(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, choices: Union[List[str], NoneType] = None, error: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a combobox.

        A combobox is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button or by typing in the input. They are used to simplify the design and make a choice within the UI.

        When closed, only the selected item is visible. When users click the drop-down button, all the options become visible. To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value. When collapsed the user can select a new value by typing.

        Static methods

        load

        def load(_Combobox__d: Dict) ‑> Combobox

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var choices

        The choices to be presented.

        var disabled

        True if this field is disabled.

        var error

        Text to be displayed as an error below the text box.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        var placeholder

        A string that provides a brief hint to the user as to what kind of information is expected in the field.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var value

        The name of the selected choice.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Command

        class Command(name: str, label: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, items: Union[List[_ForwardRef('Command')], NoneType] = None, value: Union[str, NoneType] = None, data: Union[str, NoneType] = None)

        Create a command.

        Commands are typically displayed as context menu items or toolbar button.

        Static methods

        load

        def load(_Command__d: Dict) ‑> Command

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var caption

        The caption for this command (typically a tooltip).

        var data

        DEPRECATED. Use value instead. Data associated with this command, if any.

        var icon

        The icon to be displayed for this command.

        var items

        Sub-commands, if any

        var label

        The text displayed for this command.

        var name

        An identifying name for this component. If the name is prefixed with a '#', the command sets the location hash to the name when executed.

        var value

        Data associated with this command, if any.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Component

        class Component(text: Union[Text, NoneType] = None, text_xl: Union[TextXl, NoneType] = None, text_l: Union[TextL, NoneType] = None, text_m: Union[TextM, NoneType] = None, text_s: Union[TextS, NoneType] = None, text_xs: Union[TextXs, NoneType] = None, label: Union[Label, NoneType] = None, separator: Union[Separator, NoneType] = None, progress: Union[Progress, NoneType] = None, message_bar: Union[MessageBar, NoneType] = None, textbox: Union[Textbox, NoneType] = None, checkbox: Union[Checkbox, NoneType] = None, toggle: Union[Toggle, NoneType] = None, choice_group: Union[ChoiceGroup, NoneType] = None, checklist: Union[Checklist, NoneType] = None, dropdown: Union[Dropdown, NoneType] = None, combobox: Union[Combobox, NoneType] = None, slider: Union[Slider, NoneType] = None, spinbox: Union[Spinbox, NoneType] = None, date_picker: Union[DatePicker, NoneType] = None, color_picker: Union[ColorPicker, NoneType] = None, button: Union[Button, NoneType] = None, buttons: Union[Buttons, NoneType] = None, file_upload: Union[FileUpload, NoneType] = None, table: Union[Table, NoneType] = None, link: Union[Link, NoneType] = None, tabs: Union[Tabs, NoneType] = None, expander: Union[Expander, NoneType] = None, frame: Union[Frame, NoneType] = None, markup: Union[Markup, NoneType] = None, template: Union[Template, NoneType] = None, picker: Union[Picker, NoneType] = None, range_slider: Union[RangeSlider, NoneType] = None, stepper: Union[Stepper, NoneType] = None, visualization: Union[Visualization, NoneType] = None, vega_visualization: Union[VegaVisualization, NoneType] = None, stats: Union[Stats, NoneType] = None, inline: Union[Inline, NoneType] = None)

        Create a component.

        Static methods

        load

        def load(_Component__d: Dict) ‑> Component

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var button

        Button.

        var buttons

        Button set.

        var checkbox

        Checkbox.

        var checklist

        Checklist.

        var choice_group

        Choice group.

        var color_picker

        Color picker.

        var combobox

        Combobox.

        var date_picker

        Date picker.

        var dropdown

        Dropdown.

        var expander

        Expander.

        var file_upload

        File upload.

        var frame

        Frame.

        var inline

        Inline components

        var label

        Label.

        Link.

        var markup

        Markup

        var message_bar

        Message bar.

        var picker

        Picker.

        var progress

        Progress bar.

        var range_slider

        Range Slider.

        var separator

        Separator.

        var slider

        Slider.

        var spinbox

        Spinbox.

        var stats

        Stats

        var stepper

        Stepper.

        var table

        Table.

        var tabs

        Tabs.

        var template

        Template

        var text

        Text block.

        var text_l

        Large sized text block.

        var text_m

        Medium sized text block.

        var text_s

        Small sized text block.

        var text_xl

        Extra-large sized text block.

        var text_xs

        Extra-small sized text block.

        var textbox

        Textbox.

        var toggle

        Toggle.

        var vega_visualization

        Vega-lite Visualization.

        var visualization

        Visualization.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        DatePicker

        class DatePicker(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a date picker.

        A date picker allows a user to pick a date value.

        Static methods

        load

        def load(_DatePicker__d: Dict) ‑> DatePicker

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if this field is disabled.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        var placeholder

        A string that provides a brief hint to the user as to what kind of information is expected in the field.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the datepicker value changes.

        var value

        The date value in YYYY-MM-DD format.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Dialog

        class Dialog(title: str, items: List[Component], width: Union[str, NoneType] = None, closable: Union[bool, NoneType] = None, blocking: Union[bool, NoneType] = None, primary: Union[bool, NoneType] = None)

        A dialog box (Dialog) is a temporary pop-up that takes focus from the page or app and requires people to interact with it. It’s primarily used for confirming actions, such as deleting a file, or asking people to make a choice.

        Static methods

        load

        def load(_Dialog__d: Dict) ‑> Dialog

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var blocking

        True to disable all actions and commands behind the dialog. Blocking dialogs should be used very sparingly, only when it is critical that the user makes a choice or provides information before they can proceed. Blocking dialogs are generally used for irreversible or potentially destructive tasks. Defaults to false.

        var closable

        True if the dialog should have a closing 'X' button at the top right corner.

        var items

        The components displayed in this dialog.

        var primary

        Dialog with large header banner, mutually exclusive with closable prop. Defaults to false.

        var title

        The dialog's title.

        var width

        The width of the dialog, e.g. '400px', defaults to '600px'.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Dropdown

        class Dropdown(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, choices: Union[List[Choice], NoneType] = None, required: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a dropdown.

        A dropdown is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button. They are used to simplify the design and make a choice within the UI. When closed, only the selected item is visible. When users click the drop-down button, all the options become visible.

        To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value.

        Note: Use either the 'value' parameter or the 'values' parameter. Setting the 'values' parameter renders a multi-select dropdown.

        Static methods

        load

        def load(_Dropdown__d: Dict) ‑> Dropdown

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var choices

        The choices to be presented.

        var disabled

        True if this field is disabled.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        var placeholder

        A string that provides a brief hint to the user as to what kind of information is expected in the field.

        var required

        True if this is a required field.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the dropdown value changes.

        var value

        The name of the selected choice.

        var values

        The names of the selected choices. If this parameter is set, multiple selections will be allowed.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Expander

        class Expander(name: str, label: Union[str, NoneType] = None, expanded: Union[bool, NoneType] = None, items: Union[List[_ForwardRef('Component')], NoneType] = None, visible: Union[bool, NoneType] = None)

        Creates a new expander.

        Expanders can be used to show or hide a group of related components.

        Static methods

        load

        def load(_Expander__d: Dict) ‑> Expander

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var expanded

        True if expanded, False if collapsed.

        var items

        List of components to be hideable by the expander.

        var label

        The text displayed on the expander.

        var name

        An identifying name for this component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        FileUpload

        class FileUpload(name: str, label: Union[str, NoneType] = None, multiple: Union[bool, NoneType] = None, file_extensions: Union[List[str], NoneType] = None, max_file_size: Union[float, NoneType] = None, max_size: Union[float, NoneType] = None, height: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a file upload component. A file upload component allows a user to browse, select and upload one or more files.

        Static methods

        load

        def load(_FileUpload__d: Dict) ‑> FileUpload

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var file_extensions

        List of allowed file extensions, e.g. pdf, docx, etc.

        var height

        The height of the file upload, e.g. '400px', '50%', etc.

        var label

        Text to be displayed alongside the component.

        var max_file_size

        Maximum allowed size (Mb) per file. Defaults to no limit.

        var max_size

        Maximum allowed size (Mb) for all files combined. Defaults to no limit.

        var multiple

        True if the component should allow multiple files to be uploaded.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        FlexCard

        class FlexCard(box: str, item_view: str, item_props: Union[dict, str], data: Union[Data, str], direction: Union[str, NoneType] = None, justify: Union[str, NoneType] = None, align: Union[str, NoneType] = None, wrap: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out using a one-dimensional model with flexible alignemnt and wrapping capabilities.

        Static methods

        load

        def load(_FlexCard__d: Dict) ‑> FlexCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var align

        Layout strategy for cross axis. One of 'start', 'end', 'center', 'baseline', 'stretch'. See enum h2o_wave.ui.FlexCardAlign.

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var direction

        Layout direction. One of 'horizontal', 'vertical'. See enum h2o_wave.ui.FlexCardDirection.

        var item_props

        The child card properties.

        var item_view

        The child card type.

        var justify

        Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.FlexCardJustify.

        var wrap

        Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.FlexCardWrap.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        FlexCardAlign

        class FlexCardAlign

        Class variables

        var BASELINE
        var CENTER
        var END
        var START
        var STRETCH

        FlexCardDirection

        class FlexCardDirection

        Class variables

        var HORIZONTAL
        var VERTICAL

        FlexCardJustify

        class FlexCardJustify

        Class variables

        var AROUND
        var BETWEEN
        var CENTER
        var END
        var START

        FlexCardWrap

        class FlexCardWrap

        Class variables

        var AROUND
        var BETWEEN
        var CENTER
        var END
        var START
        var STRETCH

        FooterCard

        class FooterCard(box: str, caption: str, commands: Union[List[Command], NoneType] = None)

        Render a page footer displaying a caption. Footer cards are typically displayed at the bottom of a page.

        Static methods

        load

        def load(_FooterCard__d: Dict) ‑> FooterCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var caption

        The caption. Supports markdown.

        var commands

        Contextual menu commands for this component.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        FormCard

        class FormCard(box: str, items: Union[List[Component], str], title: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a form.

        Static methods

        load

        def load(_FormCard__d: Dict) ‑> FormCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var items

        The components in this form.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Frame

        class Frame(path: Union[str, NoneType] = None, content: Union[str, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Create a new inline frame (an iframe).

        Static methods

        load

        def load(_Frame__d: Dict) ‑> Frame

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The HTML content of the page. A string containing <html>...</html>.

        var height

        The height of the frame, e.g. 200px, 50%, etc. Defaults to 150px.

        var name

        An identifying name for this component.

        var path

        The path or URL of the web page, e.g. /foo.html or http://example.com/foo.html

        var visible

        True if the component should be visible. Defaults to true.

        var width

        The width of the frame, e.g. 200px, 50%, etc. Defaults to 100%.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        FrameCard

        class FrameCard(box: str, title: str, path: Union[str, NoneType] = None, content: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Render a card containing a HTML page inside an inline frame (an iframe).

        Either a path or content can be provided as arguments.

        Static methods

        load

        def load(_FrameCard__d: Dict) ‑> FrameCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var content

        The HTML content of the page. A string containing <html>...</html>

        var path

        The path or URL of the web page, e.g. /foo.html or http://example.com/foo.html

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        GraphicsCard

        class GraphicsCard(box: str, view_box: str, stage: Union[List[dict], str, NoneType] = None, scene: Union[Data, str, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card for displaying vector graphics.

        Static methods

        load

        def load(_GraphicsCard__d: Dict) ‑> GraphicsCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var height

        The displayed height of the rectangular viewport. (Not the height of its coordinate system.)

        var scene

        Foreground layer for rendering dynamic SVG elements.

        var stage

        Background layer for rendering static SVG elements. Must be packed to conserve memory.

        var view_box

        The position and dimension of the SVG viewport, in user space. A space-separated list of four numbers: min-x, min-y, width and height. For example, '0 0 400 300'. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox

        var width

        The displayed width of the rectangular viewport. (Not the width of its coordinate system.)

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        GridCard

        class GridCard(box: str, title: str, cells: Union[Data, str], data: Union[Data, str], commands: Union[List[Command], NoneType] = None)

        EXPERIMENTAL. DO NOT USE.

        Static methods

        load

        def load(_GridCard__d: Dict) ‑> GridCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var cells

        EXPERIMENTAL. DO NOT USE.

        var commands

        Contextual menu commands for this component.

        var data

        EXPERIMENTAL. DO NOT USE.

        var title

        EXPERIMENTAL. DO NOT USE.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        HeaderCard

        class HeaderCard(box: str, title: str, subtitle: str, icon: Union[str, NoneType] = None, icon_color: Union[str, NoneType] = None, nav: Union[List[NavGroup], NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Render a page header displaying a title, subtitle and an optional navigation menu. Header cards are typically used for top-level navigation.

        Static methods

        load

        def load(_HeaderCard__d: Dict) ‑> HeaderCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var icon

        The icon type, displayed to the left.

        var icon_color

        The icon's color.

        var nav

        The navigation menu to display when the header's icon is clicked.

        var subtitle

        The subtitle, displayed below the title.

        var title

        The title.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        IconTableCellType

        class IconTableCellType(color: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create a cell type that renders a column's cells as icons instead of plain text. If set on a column, the cell value is interpreted as the name of the icon to be displayed.

        Static methods

        load

        def load(_IconTableCellType__d: Dict) ‑> IconTableCellType

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var color

        Icon color.

        var name

        An identifying name for this component.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ImageCard

        class ImageCard(box: str, title: str, type: str, image: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card that displays a base64-encoded image.

        Static methods

        load

        def load(_ImageCard__d: Dict) ‑> ImageCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var image

        Image data, base64-encoded.

        var title

        The card's title.

        var type

        The image MIME subtype. One of apng, bmp, gif, x-icon, jpeg, png, webp.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Inline

        class Inline(items: List[_ForwardRef('Component')], justify: Union[str, NoneType] = None, inset: Union[bool, NoneType] = None)

        Create an inline (horizontal) list of components.

        Static methods

        load

        def load(_Inline__d: Dict) ‑> Inline

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var inset

        Whether to display the components inset from the parent form, with a contrasting background.

        var items

        The components laid out inline.

        var justify

        Specifies how to lay out the individual components. Defaults to 'start'. One of 'start', 'end'. See enum h2o_wave.ui.InlineJustify.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        InlineJustify

        class InlineJustify

        Class variables

        var END
        var START

        Label

        class Label(label: str, required: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create a label.

        Labels give a name or title to a component or group of components. Labels should be in close proximity to the component or group they are paired with. Some components, such as textboxes, dropdowns, or toggles, already have labels incorporated, but other components may optionally add a Label if it helps inform the user of the component’s purpose.

        Static methods

        load

        def load(_Label__d: Dict) ‑> Label

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if the label should be disabled.

        var label

        The text displayed on the label.

        var name

        An identifying name for this component.

        var required

        True if the field is required.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        LargeBarStatCard

        class LargeBarStatCard(box: str, title: str, caption: str, value: str, aux_value: str, value_caption: str, aux_value_caption: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a large captioned card displaying a primary value, an auxiliary value and a progress bar, with captions for each value.

        Static methods

        load

        def load(_LargeBarStatCard__d: Dict) ‑> LargeBarStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value, typically a target value.

        var aux_value_caption

        The caption displayed below the auxiliary value.

        var box

        A string indicating how to place this component on the page.

        var caption

        The card's caption.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_color

        The color of the progress bar.

        var progress

        The value of the progress bar, between 0 and 1.

        var title

        The card's title.

        var value

        The primary value displayed.

        var value_caption

        The caption displayed below the primary value.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        LargeStatCard

        class LargeStatCard(box: str, title: str, value: str, aux_value: str, caption: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a stat card displaying a primary value, an auxiliary value and a caption.

        Static methods

        load

        def load(_LargeStatCard__d: Dict) ‑> LargeStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value displayed next to the primary value.

        var box

        A string indicating how to place this component on the page.

        var caption

        The caption displayed below the primary value.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Layout

        class Layout(breakpoint: str, zones: List[Zone], width: Union[str, NoneType] = None, min_width: Union[str, NoneType] = None, max_width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, min_height: Union[str, NoneType] = None, max_height: Union[str, NoneType] = None)

        Represents the layout structure for a page.

        Static methods

        load

        def load(_Layout__d: Dict) ‑> Layout

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var breakpoint

        The minimum viewport width at which to use this layout. Values must be pixel widths (e.g. '0px', '576px', '768px') or a named preset. The named presets are: 'xs': '0px' for extra small devices (portrait phones), 's': '576px' for small devices (landscape phones), 'm': '768px' for medium devices (tablets), 'l': '992px' for large devices (desktops), 'xl': '1200px' for extra large devices (large desktops). A breakpoint value of 'xs' (or '0') matches all viewport widths, unless other breakpoints are set.

        var height

        The height of the layout. Defaults to auto.

        var max_height

        The maximum height of the layout.

        var max_width

        The maximum width of the layout.

        var min_height

        The minimum height of the layout.

        var min_width

        The minimum width of the layout.

        var width

        The width of the layout. Defaults to 100%.

        var zones

        The zones in this layout. Each zones can in turn contain sub-zones.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Link

        class Link(label: Union[str, NoneType] = None, path: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None, download: Union[bool, NoneType] = None, button: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, target: Union[str, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create a hyperlink.

        Hyperlinks can be internal or external. Internal hyperlinks have paths that begin with a / and point to URLs within the Wave UI. All other kinds of paths are treated as external hyperlinks.

        Static methods

        load

        def load(_Link__d: Dict) ‑> Link

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var button

        True if the link should be rendered as a button.

        var disabled

        True if the link should be disabled.

        var download

        True if the link should be used for file download.

        var label

        The text to be displayed. If blank, the path is used as the label.

        var name

        An identifying name for this component.

        var path

        The path or URL to link to.

        var target

        Where to display the link. Setting this to an empty string or '_blank' opens the link in a new tab or window.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ListCard

        class ListCard(box: str, title: str, item_view: str, item_props: Union[dict, str], data: Union[Data, str], commands: Union[List[Command], NoneType] = None)

        EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out in the form of a list (vertically, top-to-bottom).

        Static methods

        load

        def load(_ListCard__d: Dict) ‑> ListCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var item_props

        The child card properties.

        var item_view

        The child card type.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ListItem1Card

        class ListItem1Card(box: str, title: str, caption: str, value: str, aux_value: str, data: Union[dict, str], commands: Union[List[Command], NoneType] = None)

        EXPERIMENTAL. DO NOT USE.

        Static methods

        load

        def load(_ListItem1Card__d: Dict) ‑> ListItem1Card

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        EXPERIMENTAL. DO NOT USE.

        var box

        A string indicating how to place this component on the page.

        var caption

        EXPERIMENTAL. DO NOT USE.

        var commands

        Contextual menu commands for this component.

        var data

        EXPERIMENTAL. DO NOT USE.

        var title

        EXPERIMENTAL. DO NOT USE.

        var value

        EXPERIMENTAL. DO NOT USE.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Mark

        class Mark(coord: Union[str, NoneType] = None, type: Union[str, NoneType] = None, x: Union[str, int, float, NoneType] = None, x0: Union[str, int, float, NoneType] = None, x1: Union[str, int, float, NoneType] = None, x2: Union[str, int, float, NoneType] = None, x_min: Union[float, NoneType] = None, x_max: Union[float, NoneType] = None, x_nice: Union[bool, NoneType] = None, x_scale: Union[str, NoneType] = None, x_title: Union[str, NoneType] = None, y: Union[str, int, float, NoneType] = None, y0: Union[str, int, float, NoneType] = None, y1: Union[str, int, float, NoneType] = None, y2: Union[str, int, float, NoneType] = None, y_min: Union[float, NoneType] = None, y_max: Union[float, NoneType] = None, y_nice: Union[bool, NoneType] = None, y_scale: Union[str, NoneType] = None, y_title: Union[str, NoneType] = None, color: Union[str, NoneType] = None, color_range: Union[str, NoneType] = None, color_domain: Union[List[str], NoneType] = None, shape: Union[str, NoneType] = None, shape_range: Union[str, NoneType] = None, size: Union[str, int, float, NoneType] = None, size_range: Union[str, NoneType] = None, stack: Union[str, NoneType] = None, dodge: Union[str, NoneType] = None, curve: Union[str, NoneType] = None, fill_color: Union[str, NoneType] = None, fill_opacity: Union[float, NoneType] = None, stroke_color: Union[str, NoneType] = None, stroke_opacity: Union[float, NoneType] = None, stroke_size: Union[float, NoneType] = None, stroke_dash: Union[str, NoneType] = None, label: Union[str, NoneType] = None, label_offset: Union[float, NoneType] = None, label_offset_x: Union[float, NoneType] = None, label_offset_y: Union[float, NoneType] = None, label_rotation: Union[str, NoneType] = None, label_position: Union[str, NoneType] = None, label_overlap: Union[str, NoneType] = None, label_fill_color: Union[str, NoneType] = None, label_fill_opacity: Union[float, NoneType] = None, label_stroke_color: Union[str, NoneType] = None, label_stroke_opacity: Union[float, NoneType] = None, label_stroke_size: Union[float, NoneType] = None, label_font_size: Union[float, NoneType] = None, label_font_weight: Union[str, NoneType] = None, label_line_height: Union[float, NoneType] = None, label_align: Union[str, NoneType] = None, ref_stroke_color: Union[str, NoneType] = None, ref_stroke_opacity: Union[float, NoneType] = None, ref_stroke_size: Union[float, NoneType] = None, ref_stroke_dash: Union[str, NoneType] = None)

        Create a specification for a layer of graphical marks such as bars, lines, points for a plot. A plot can contain multiple such layers of marks.

        Static methods

        load

        def load(_Mark__d: Dict) ‑> Mark

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var color

        Mark color field or value.

        var color_domain

        The unique values in the data (labels or categories or classes) to map colors to, e.g. ['high', 'medium', 'low']. If this is not provided, the unique values are automatically inferred from the color attribute.

        var color_range

        Mark color range for multi-series plots. A string containing space-separated colors, e.g. '#fee8c8 #fdbb84 #e34a33'

        var coord

        Coordinate system. rect is synonymous to cartesian. theta is transposed polar. One of 'rect', 'cartesian', 'polar', 'theta', 'helix'. See enum h2o_wave.ui.MarkCoord.

        var curve

        Curve type for line and area mark types. One of 'none', 'smooth', 'step-before', 'step', 'step-after'. See enum h2o_wave.ui.MarkCurve.

        var dodge

        Field to dodge marks by, or 'auto' to infer.

        var fill_color

        Mark fill color.

        var fill_opacity

        Mark fill opacity.

        var label

        Label field or value.

        var label_align

        Label text alignment. One of 'left', 'right', 'center', 'start', 'end'. See enum h2o_wave.ui.MarkLabelAlign.

        var label_fill_color

        Label fill color.

        var label_fill_opacity

        Label fill opacity.

        var label_font_size

        Label font size.

        var label_font_weight

        Label font weight.

        var label_line_height

        Label line height.

        var label_offset

        Distance between label and mark.

        var label_offset_x

        Horizontal distance between label and mark.

        var label_offset_y

        Vertical distance between label and mark.

        var label_overlap

        Strategy to use if labels overlap. One of 'hide', 'overlap', 'constrain'. See enum h2o_wave.ui.MarkLabelOverlap.

        var label_position

        Label position relative to the mark. One of 'top', 'bottom', 'middle', 'left', 'right'. See enum h2o_wave.ui.MarkLabelPosition.

        var label_rotation

        Label rotation angle, in degrees, or 'none' to disable automatic rotation. The default behavior is 'auto' for automatic rotation.

        var label_stroke_color

        Label stroke color.

        var label_stroke_opacity

        Label stroke opacity.

        var label_stroke_size

        Label stroke size (line width or pen thickness).

        var ref_stroke_color

        Reference line stroke color.

        var ref_stroke_dash

        Reference line stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].

        var ref_stroke_opacity

        Reference line stroke opacity.

        var ref_stroke_size

        Reference line stroke size (line width or pen thickness).

        var shape

        Mark shape field or value for point mark types. Possible values are 'circle', 'square', 'bowtie', 'diamond', 'hexagon', 'triangle', 'triangle-down', 'cross', 'tick', 'plus', 'hyphen', 'line'.

        var shape_range

        Mark shape range for multi-series plots using point mark types. A string containing space-separated shapes, e.g. 'circle square diamond'

        var size

        Mark size field or value.

        var size_range

        Mark size range. A string containing space-separated integers, e.g. '4 30'

        var stack

        Field to stack marks by, or 'auto' to infer.

        var stroke_color

        Mark stroke color.

        var stroke_dash

        Mark stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].

        var stroke_opacity

        Mark stroke opacity.

        var stroke_size

        Mark stroke size.

        var type

        Graphical geometry. One of 'interval', 'line', 'path', 'point', 'area', 'polygon', 'schema', 'edge', 'heatmap'. See enum h2o_wave.ui.MarkType.

        var x

        X field or value.

        var x0

        X base field or value.

        var x1

        X bin lower bound field or value. For histograms.

        var x2

        X bin upper bound field or value. For histograms.

        var x_max

        X axis scale maximum.

        var x_min

        X axis scale minimum.

        var x_nice

        Whether to nice X axis scale ticks.

        var x_scale

        X axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkXScale.

        var x_title

        X axis title.

        var y

        Y field or value.

        var y0

        Y base field or value.

        var y1

        Y bin lower bound field or value. For histograms.

        var y2

        Y bin upper bound field or value. For histograms.

        var y_max

        Y axis scale maximum.

        var y_min

        Y axis scale minimum.

        var y_nice

        Whether to nice Y axis scale ticks.

        var y_scale

        Y axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkYScale.

        var y_title

        Y axis title.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        MarkCoord

        class MarkCoord

        Class variables

        var CARTESIAN
        var HELIX
        var POLAR
        var RECT
        var THETA

        MarkCurve

        class MarkCurve

        Class variables

        var NONE
        var SMOOTH
        var STEP
        var STEP_AFTER
        var STEP_BEFORE

        MarkLabelAlign

        class MarkLabelAlign

        Class variables

        var CENTER
        var END
        var LEFT
        var RIGHT
        var START

        MarkLabelOverlap

        class MarkLabelOverlap

        Class variables

        var CONSTRAIN
        var HIDE
        var OVERLAP

        MarkLabelPosition

        class MarkLabelPosition

        Class variables

        var BOTTOM
        var LEFT
        var MIDDLE
        var RIGHT
        var TOP

        MarkType

        class MarkType

        Class variables

        var AREA
        var EDGE
        var HEATMAP
        var INTERVAL
        var LINE
        var PATH
        var POINT
        var POLYGON
        var SCHEMA

        MarkXScale

        class MarkXScale

        Class variables

        var CAT
        var CATEGORY
        var IDENTITY
        var LINEAR
        var LOG
        var POW
        var POWER
        var QUANTILE
        var QUANTIZE
        var TIME
        var TIME_CATEGORY

        MarkYScale

        class MarkYScale

        Class variables

        var CAT
        var CATEGORY
        var IDENTITY
        var LINEAR
        var LOG
        var POW
        var POWER
        var QUANTILE
        var QUANTIZE
        var TIME
        var TIME_CATEGORY

        MarkdownCard

        class MarkdownCard(box: str, title: str, content: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card that renders Markdown content.

        Github-flavored markdown is supported. HTML markup is allowed in markdown content. URLs, if found, are displayed as hyperlinks. Copyright, reserved, trademark, quotes, etc. are replaced with language-neutral symbols.

        Static methods

        load

        def load(_MarkdownCard__d: Dict) ‑> MarkdownCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var content

        The markdown content. Supports Github Flavored Markdown (GFM): https://guides.github.com/features/mastering-markdown/

        var data

        Additional data for the card.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Markup

        class Markup(content: str, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Render HTML content.

        Static methods

        load

        def load(_Markup__d: Dict) ‑> Markup

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The HTML content.

        var name

        An identifying name for this component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        MarkupCard

        class MarkupCard(box: str, title: str, content: str, commands: Union[List[Command], NoneType] = None)

        Render HTML content.

        Static methods

        load

        def load(_MarkupCard__d: Dict) ‑> MarkupCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var content

        The HTML content.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        MessageBar

        class MessageBar(type: Union[str, NoneType] = None, text: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Create a message bar.

        A message bar is an area at the top of a primary view that displays relevant status information. You can use a message bar to tell the user about a situation that does not require their immediate attention and therefore does not need to block other activities.

        Static methods

        load

        def load(_MessageBar__d: Dict) ‑> MessageBar

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var name

        An identifying name for this component.

        var text

        The text displayed on the message bar.

        var type

        The icon and color of the message bar. One of 'info', 'error', 'warning', 'success', 'danger', 'blocked'. See enum h2o_wave.ui.MessageBarType.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        MessageBarType

        class MessageBarType

        Class variables

        var BLOCKED
        var DANGER
        var ERROR
        var INFO
        var SUCCESS
        var WARNING

        MetaCard

        class MetaCard(box: str, title: Union[str, NoneType] = None, refresh: Union[int, NoneType] = None, notification: Union[str, NoneType] = None, redirect: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, layouts: Union[List[Layout], NoneType] = None, dialog: Union[Dialog, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Represents page-global state.

        This card is invisible. It is used to control attributes of the active page.

        Static methods

        load

        def load(_MetaCard__d: Dict) ‑> MetaCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var dialog

        Display a dialog on the page.

        var icon

        Shortcut icon path. Preferably a .png file (.ico files may not work in mobile browsers).

        var layouts

        The layouts supported by this page.

        var notification

        Display a desktop notification.

        var redirect

        Redirect the page to a new URL.

        var refresh

        Refresh rate in seconds. A value of 0 turns off live-updates. Values != 0 are currently ignored (reserved for future use).

        var title

        The title of the page.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        NavCard

        class NavCard(box: str, items: List[NavGroup], value: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card containing a navigation pane.

        Static methods

        load

        def load(_NavCard__d: Dict) ‑> NavCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var items

        The navigation groups contained in this pane.

        var value

        The name of the active (highlighted) navigation item.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        NavGroup

        class NavGroup(label: str, items: List[NavItem], collapsed: Union[bool, NoneType] = None)

        Create a group of navigation items.

        Static methods

        load

        def load(_NavGroup__d: Dict) ‑> NavGroup

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var collapsed

        Indicates whether nav groups should be rendered as collapsed initially

        var items

        The navigation items contained in this group.

        var label

        The label to display for this group.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        NavItem

        class NavItem(name: str, label: str, icon: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None)

        Create a navigation item.

        Static methods

        load

        def load(_NavItem__d: Dict) ‑> NavItem

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if this item should be disabled.

        var icon

        An optional icon to display next to the label.

        var label

        The label to display.

        var name

        The name of this item. Prefix the name with a '#' to trigger hash-change navigation.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Picker

        class Picker(name: str, choices: List[Choice], label: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, max_choices: Union[int, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a picker. Pickers are used to select one or more choices, such as tags or files, from a list. Use a picker to allow the user to quickly search for or manage a few tags or files.

        Static methods

        load

        def load(_Picker__d: Dict) ‑> Picker

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var choices

        The choices to be presented.

        var disabled

        Controls whether the picker should be disabled or not.

        var label

        Text to be displayed above the component.

        var max_choices

        Maximum number of selectable choices. Defaults to no limit.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the picker value changes.

        var values

        The names of the selected choices.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        PixelArtCard

        class PixelArtCard(box: str, title: str, data: Union[dict, str], commands: Union[List[Command], NoneType] = None)

        Create a card displaying a collaborative Pixel art tool, just for kicks.

        Static methods

        load

        def load(_PixelArtCard__d: Dict) ‑> PixelArtCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        The data for this card.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Plot

        class Plot(marks: List[Mark])

        Create a plot. A plot is composed of one or more graphical mark layers.

        Static methods

        load

        def load(_Plot__d: Dict) ‑> Plot

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var marks

        The graphical mark layers contained in this plot.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        PlotCard

        class PlotCard(box: str, title: str, data: Union[dict, str], plot: Plot, events: Union[List[str], NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card displaying a plot.

        Static methods

        load

        def load(_PlotCard__d: Dict) ‑> PlotCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var events

        The events to capture on this card.

        var plot

        The plot to be displayed in this card.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Progress

        class Progress(label: str, caption: Union[str, NoneType] = None, value: Union[float, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create a progress bar.

        Progress bars are used to show the completion status of an operation lasting more than 2 seconds. If the state of progress cannot be determined, do not set a value. Progress bars feature a bar showing total units to completion, and total units finished. The label appears above the bar, and the caption appears below. The label should tell someone exactly what the operation is doing.

        Examples of formatting include: [Object] is being [operation name], or [Object] is being [operation name] to [destination name] or [Object] is being [operation name] from [source name] to [destination name]

        Status text is generally in units elapsed and total units. Real-world examples include copying files to a storage location, saving edits to a file, and more. Use units that are informative and relevant to give the best idea to users of how long the operation will take to complete. Avoid time units as they are rarely accurate enough to be trustworthy. Also, combine steps of a complex operation into one total bar to avoid “rewinding” the bar. Instead change the label to reflect the change if necessary. Bars moving backwards reduce confidence in the service.

        Static methods

        load

        def load(_Progress__d: Dict) ‑> Progress

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var caption

        The text displayed below the bar.

        var label

        The text displayed above the bar.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var value

        The progress, between 0.0 and 1.0, or -1 (default) if indeterminate.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ProgressTableCellType

        class ProgressTableCellType(color: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create a cell type that renders a column's cells as progress bars instead of plain text. If set on a column, the cell value must be between 0.0 and 1.0.

        Static methods

        load

        def load(_ProgressTableCellType__d: Dict) ‑> ProgressTableCellType

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var color

        Color of the progress arc.

        var name

        An identifying name for this component.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        RangeSlider

        class RangeSlider(name: str, label: Union[str, NoneType] = None, min: Union[float, NoneType] = None, max: Union[float, NoneType] = None, step: Union[float, NoneType] = None, min_value: Union[float, NoneType] = None, max_value: Union[float, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a range slider.

        A range slider is an element used to select a value range. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. Knobs or levers are dragged to one end or the other to make the choice, indicating the current max and min value.

        Static methods

        load

        def load(_RangeSlider__d: Dict) ‑> RangeSlider

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if this field is disabled.

        var label

        Text to be displayed alongside the component.

        var max

        The maximum value of the slider. Defaults to 100.

        var max_value

        The upper bound of the selected range.

        var min

        The minimum value of the slider. Defaults to 0.

        var min_value

        The lower bound of the selected range.

        var name

        An identifying name for this component.

        var step

        The difference between two adjacent values of the slider.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the slider value changes.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        RepeatCard

        class RepeatCard(box: str, item_view: str, item_props: Union[dict, str], data: Union[Data, str], commands: Union[List[Command], NoneType] = None)

        EXPERIMENTAL. DO NOT USE. Create a card containing other cards.

        Static methods

        load

        def load(_RepeatCard__d: Dict) ‑> RepeatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var item_props

        The child card properties.

        var item_view

        EXPERIMENTAL. DO NOT USE.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        SectionCard

        class SectionCard(box: str, title: str, subtitle: str, items: Union[List[Component], str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Render a card displaying a title, a subtitle, and optional components. Section cards are typically used to demarcate different sections on a page.

        Static methods

        load

        def load(_SectionCard__d: Dict) ‑> SectionCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var items

        The components to display in this card

        var subtitle

        The subtitle, displayed below the title. Supports Markdown.

        var title

        The title.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Separator

        class Separator(label: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Create a separator.

        A separator visually separates content into groups.

        Static methods

        load

        def load(_Separator__d: Dict) ‑> Separator

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var label

        The text displayed on the separator.

        var name

        An identifying name for this component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Slider

        class Slider(name: str, label: Union[str, NoneType] = None, min: Union[float, NoneType] = None, max: Union[float, NoneType] = None, step: Union[float, NoneType] = None, value: Union[float, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a slider.

        A slider is an element used to set a value. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. A knob or lever is dragged to one end or the other to make the choice, indicating the current value. Marks on the slider bar can show values and users can choose where they want to drag the knob or lever to set the value.

        A slider is a good choice when you know that users think of the value as a relative quantity, not a numeric value. For example, users think about setting their audio volume to low or medium — not about setting the value to two or five.

        The default value of the slider will be zero or be constrained to the min and max values. The min will be returned if the value is set under the min and the max will be returned if set higher than the max value.

        Static methods

        load

        def load(_Slider__d: Dict) ‑> Slider

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if this field is disabled.

        var label

        Text to be displayed alongside the component.

        var max

        The maximum value of the slider.

        var min

        The minimum value of the slider.

        var name

        An identifying name for this component.

        var step

        The difference between two adjacent values of the slider.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the slider value changes.

        var value

        The current value of the slider.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        SmallSeriesStatCard

        class SmallSeriesStatCard(box: str, title: str, value: str, plot_data: Union[Data, str], plot_value: str, plot_zero_value: Union[float, NoneType] = None, plot_category: Union[str, NoneType] = None, plot_type: Union[str, NoneType] = None, plot_curve: Union[str, NoneType] = None, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a small stat card displaying a primary value and a series plot.

        Static methods

        load

        def load(_SmallSeriesStatCard__d: Dict) ‑> SmallSeriesStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_category

        The data field to use for x-axis values (ignored if plot_type is area; must be provided if plot_type is interval). Defaults to 'x'.

        var plot_color

        The plot's color.

        var plot_curve

        The plot's curve style. Defaults to linear. One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.SmallSeriesStatCardPlotCurve.

        var plot_data

        The plot's data.

        var plot_type

        The type of plot. Defaults to area. One of 'area', 'interval'. See enum h2o_wave.ui.SmallSeriesStatCardPlotType.

        var plot_value

        The data field to use for y-axis values.

        var plot_zero_value

        The base value to use for each y-axis mark. Set this to 0 if you want to pin the x-axis at y=0. If not provided, the minimum value from the data is used.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        SmallSeriesStatCardPlotCurve

        class SmallSeriesStatCardPlotCurve

        Class variables

        var LINEAR
        var SMOOTH
        var STEP
        var STEP_AFTER
        var STEP_BEFORE

        SmallSeriesStatCardPlotType

        class SmallSeriesStatCardPlotType

        Class variables

        var AREA
        var INTERVAL

        SmallStatCard

        class SmallStatCard(box: str, title: str, value: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a stat card displaying a single value.

        Static methods

        load

        def load(_SmallStatCard__d: Dict) ‑> SmallStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Spinbox

        class Spinbox(name: str, label: Union[str, NoneType] = None, min: Union[float, NoneType] = None, max: Union[float, NoneType] = None, step: Union[float, NoneType] = None, value: Union[float, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a spinbox.

        A spinbox allows the user to incrementally adjust a value in small steps. It is mainly used for numeric values, but other values are supported too.

        Static methods

        load

        def load(_Spinbox__d: Dict) ‑> Spinbox

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if this field is disabled.

        var label

        Text to be displayed alongside the component.

        var max

        The maximum value of the spinbox.

        var min

        The minimum value of the spinbox.

        var name

        An identifying name for this component.

        var step

        The difference between two adjacent values of the spinbox.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var value

        The current value of the spinbox.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Stat

        class Stat(label: str, value: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, icon_color: Union[str, NoneType] = None)

        Create a stat (a label-value pair) for displaying a metric.

        Static methods

        load

        def load(_Stat__d: Dict) ‑> Stat

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var caption

        The caption displayed below the primary value.

        var icon

        An optional icon, displayed next to the label.

        var icon_color

        The color of the icon.

        var label

        The label for the metric.

        var value

        The value of the metric.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        StatListCard

        class StatListCard(box: str, title: str, items: List[StatListItem], name: Union[str, NoneType] = None, subtitle: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Render a card displaying a list of stats.

        Static methods

        load

        def load(_StatListCard__d: Dict) ‑> StatListCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var items

        The individual stats to be displayed.

        var name

        An optional name for this item.

        var subtitle

        The subtitle, displayed below the title.

        var title

        The title.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        StatListItem

        class StatListItem(label: str, name: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, value: Union[str, NoneType] = None, value_color: Union[str, NoneType] = None, aux_value: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, icon_color: Union[str, NoneType] = None)

        Create a stat item (a label-value pair) for stat_list_card.

        Static methods

        load

        def load(_StatListItem__d: Dict) ‑> StatListItem

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value, displayed below the primary value.

        var caption

        The caption for the metric, displayed below the label.

        var icon

        An optional icon, displayed next to the label.

        var icon_color

        The color of the icon.

        var label

        The label for the metric.

        var name

        An optional name for this item (required only if this item is clickable).

        var value

        The primary value of the metric.

        var value_color

        The font color of the primary value.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        StatTableCard

        class StatTableCard(box: str, title: str, columns: List[str], items: List[StatTableItem], name: Union[str, NoneType] = None, subtitle: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Render a card displaying a table of stats.

        Static methods

        load

        def load(_StatTableCard__d: Dict) ‑> StatTableCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var columns

        The names of this table's columns.

        var commands

        Contextual menu commands for this component.

        var items

        The rows displayed in this table.

        var name

        An optional name for this item.

        var subtitle

        The subtitle, displayed below the title.

        var title

        The title.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        StatTableItem

        class StatTableItem(label: str, values: List[str], name: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, icon_color: Union[str, NoneType] = None)

        Create a stat item (a label and a set of values) for stat_table_card.

        Static methods

        load

        def load(_StatTableItem__d: Dict) ‑> StatTableItem

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var caption

        The caption for the metric, displayed below the label.

        var icon

        An optional icon, displayed next to the label.

        var icon_color

        The color of the icon.

        var label

        The label for the row.

        var name

        An optional name for this row (required only if this row is clickable).

        var values

        The values displayed in the row.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Stats

        class Stats(items: List[Stat], justify: Union[str, NoneType] = None, inset: Union[bool, NoneType] = None)

        Create a set of stats laid out horizontally.

        Static methods

        load

        def load(_Stats__d: Dict) ‑> Stats

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var inset

        Whether to display the stats with a contrasting background.

        var items

        The individual stats to be displayed.

        var justify

        Specifies how to lay out the individual stats. Defaults to 'start'. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.StatsJustify.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        StatsJustify

        class StatsJustify

        Class variables

        var AROUND
        var BETWEEN
        var CENTER
        var END
        var START

        Step

        class Step(label: str, icon: Union[str, NoneType] = None, done: Union[bool, NoneType] = None)

        Create a step for a stepper.

        Static methods

        load

        def load(_Step__d: Dict) ‑> Step

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var done

        Indicates whether this step has already been completed.

        var icon

        Icon to be displayed.

        var label

        Text displayed below icon.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Stepper

        class Stepper(name: str, items: List[Step], visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a component that displays a sequence of steps in a process. The steps keep users informed about where they are in the process and how much is left to complete.

        Static methods

        load

        def load(_Stepper__d: Dict) ‑> Stepper

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var items

        The sequence of steps to be displayed.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Tab

        class Tab(name: str, label: Union[str, NoneType] = None, icon: Union[str, NoneType] = None)

        Create a tab.

        Static methods

        load

        def load(_Tab__d: Dict) ‑> Tab

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var icon

        The icon displayed on the tab.

        var label

        The text displayed on the tab.

        var name

        An identifying name for this component.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TabCard

        class TabCard(box: str, items: List[Tab], value: Union[str, NoneType] = None, link: Union[bool, NoneType] = None, name: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card containing tabs for navigation.

        Static methods

        load

        def load(_TabCard__d: Dict) ‑> TabCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var items

        The tabs to display in this card

        True if tabs should be rendered as links instead of buttons.

        var name

        An optional name for the card. If provided, the selected tab can be accessed using the name of the card.

        var value

        The name of the tab to select.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Table

        class Table(name: str, columns: List[TableColumn], rows: List[TableRow], multiple: Union[bool, NoneType] = None, groupable: Union[bool, NoneType] = None, downloadable: Union[bool, NoneType] = None, resettable: Union[bool, NoneType] = None, height: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create an interactive table.

        This table differs from a markdown table in that it supports clicking or selecting rows. If you simply want to display a non-interactive table of information, use a markdown table.

        If multiple is set to False (default), each row in the table is clickable. When a row is clicked, the form is submitted automatically, and q.args.table_name is set to [row_name], where table_name is the name of the table, and row_name is the name of the row that was clicked on.

        If multiple is set to True, each row in the table is selectable. A row can be selected by clicking on it. Multiple rows can be selected either by shift+clicking or using marquee selection. When the form is submitted,q.args.table_name is set to [row1_name, row2_name, …] where table_name is the name of the table, and row1_name, row2_name are the name of the rows that were selected. Note that if multiple is set to True, the form is not submitted automatically, and one or more buttons are required in the form to trigger submission.

        Static methods

        load

        def load(_Table__d: Dict) ‑> Table

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var columns

        The columns in this table.

        var downloadable

        Indicates whether the contents of this table can be downloaded and saved as a CSV file. Defaults to False.

        var groupable

        True to allow group by feature.

        var height

        The height of the table, e.g. '400px', '50%', etc.

        var multiple

        True to allow multiple rows to be selected.

        var name

        An identifying name for this component.

        var resettable

        Indicates whether a Reset button should be displayed to reset search / filter / group-by values to their defaults. Defaults to False.

        var rows

        The rows in this table.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var values

        The names of the selected rows. If this parameter is set, multiple selections will be allowed (multiple is assumed to be True).

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TableCellType

        class TableCellType(progress: Union[ProgressTableCellType, NoneType] = None, icon: Union[IconTableCellType, NoneType] = None)

        Defines cell content to be rendered instead of a simple text.

        Static methods

        load

        def load(_TableCellType__d: Dict) ‑> TableCellType

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var icon

        No documentation available.

        var progress

        No documentation available.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TableColumn

        class TableColumn(name: str, label: str, min_width: Union[str, NoneType] = None, max_width: Union[str, NoneType] = None, sortable: Union[bool, NoneType] = None, searchable: Union[bool, NoneType] = None, filterable: Union[bool, NoneType] = None, link: Union[bool, NoneType] = None, data_type: Union[str, NoneType] = None, cell_type: Union[TableCellType, NoneType] = None)

        Create a table column.

        Static methods

        load

        def load(_TableColumn__d: Dict) ‑> TableColumn

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var cell_type

        Defines how to render each cell in this column. Defaults to plain text.

        var data_type

        Defines the data type of this column. Defaults to string. One of 'string', 'number', 'time'. See enum h2o_wave.ui.TableColumnDataType.

        var filterable

        Indicates whether the contents of this column are displayed as filters in a dropdown.

        var label

        The text displayed on the column header.

        Indicates whether each cell in this column should be displayed as a clickable link.

        var max_width

        The maximum width of this column, e.g. '100px'. Only px units are supported at this time.

        var min_width

        The minimum width of this column, e.g. '50px'. Only px units are supported at this time.

        var name

        An identifying name for this column.

        var searchable

        Indicates whether the contents of this column can be searched through. Enables a search box for the table if true.

        var sortable

        Indicates whether the column is sortable.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TableColumnDataType

        class TableColumnDataType

        Class variables

        var NUMBER
        var STRING
        var TIME

        TableRow

        class TableRow(name: str, cells: List[str])

        Create a table row.

        Static methods

        load

        def load(_TableRow__d: Dict) ‑> TableRow

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var cells

        The cells in this row (displayed left to right).

        var name

        An identifying name for this row.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Tabs

        class Tabs(name: str, value: Union[str, NoneType] = None, items: Union[List[Tab], NoneType] = None, visible: Union[bool, NoneType] = None, link: Union[bool, NoneType] = None)

        Create a tab bar.

        Static methods

        load

        def load(_Tabs__d: Dict) ‑> Tabs

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var items

        The tabs in this tab bar.

        True if tabs should be rendered as links instead of buttons.

        var name

        An identifying name for this component.

        var value

        The name of the tab to select.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TallGaugeStatCard

        class TallGaugeStatCard(box: str, title: str, value: str, aux_value: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a tall stat card displaying a primary value, an auxiliary value and a progress gauge.

        Static methods

        load

        def load(_TallGaugeStatCard__d: Dict) ‑> TallGaugeStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value displayed next to the primary value.

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_color

        The color of the progress gauge.

        var progress

        The value of the progress gauge, between 0 and 1.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TallSeriesStatCard

        class TallSeriesStatCard(box: str, title: str, value: str, aux_value: str, plot_data: Union[Data, str], plot_value: str, plot_zero_value: Union[float, NoneType] = None, plot_category: Union[str, NoneType] = None, plot_type: Union[str, NoneType] = None, plot_curve: Union[str, NoneType] = None, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a tall stat card displaying a primary value, an auxiliary value and a series plot.

        Static methods

        load

        def load(_TallSeriesStatCard__d: Dict) ‑> TallSeriesStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value displayed below the primary value.

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_category

        The data field to use for x-axis values (ignored if plot_type is area; must be provided if plot_type is interval). Defaults to 'x'.

        var plot_color

        The plot's color.

        var plot_curve

        The plot's curve style. Defaults to linear. One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.TallSeriesStatCardPlotCurve.

        var plot_data

        The plot's data.

        var plot_type

        The type of plot. Defaults to area. One of 'area', 'interval'. See enum h2o_wave.ui.TallSeriesStatCardPlotType.

        var plot_value

        The data field to use for y-axis values.

        var plot_zero_value

        The base value to use for each y-axis mark. Set this to 0 if you want to pin the x-axis at y=0. If not provided, the minimum value from the data is used.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TallSeriesStatCardPlotCurve

        class TallSeriesStatCardPlotCurve

        Class variables

        var LINEAR
        var SMOOTH
        var STEP
        var STEP_AFTER
        var STEP_BEFORE

        TallSeriesStatCardPlotType

        class TallSeriesStatCardPlotType

        Class variables

        var AREA
        var INTERVAL

        Template

        class Template(content: str, data: Union[dict, str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Render dynamic content using an HTML template.

        Static methods

        load

        def load(_Template__d: Dict) ‑> Template

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The Handlebars template. https://handlebarsjs.com/guide/

        var data

        Data for the Handlebars template

        var name

        An identifying name for this component.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TemplateCard

        class TemplateCard(box: str, title: str, content: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Render dynamic content using an HTML template.

        Static methods

        load

        def load(_TemplateCard__d: Dict) ‑> TemplateCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var content

        The Handlebars template. https://handlebarsjs.com/guide/

        var data

        Data for the Handlebars template.

        var title

        The title for this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Text

        class Text(content: str, size: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create text content.

        Static methods

        load

        def load(_Text__d: Dict) ‑> Text

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The text content.

        var name

        An identifying name for this component.

        var size

        The font size of the text content. One of 'xl', 'l', 'm', 's', 'xs'. See enum h2o_wave.ui.TextSize.

        var tooltip

        Tooltip message.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TextL

        class TextL(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None, name: Union[str, NoneType] = None)

        Create large sized text content.

        Static methods

        load

        def load(_TextL__d: Dict) ‑> TextL

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var commands

        Contextual menu commands for this component.

        var content

        The text content.

        var name

        An identifying name for this component.

        var tooltip

        Tooltip message.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TextM

        class TextM(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create medium sized text content.

        Static methods

        load

        def load(_TextM__d: Dict) ‑> TextM

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The text content.

        var name

        An identifying name for this component.

        var tooltip

        Tooltip message.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TextS

        class TextS(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create small sized text content.

        Static methods

        load

        def load(_TextS__d: Dict) ‑> TextS

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The text content.

        var name

        An identifying name for this component.

        var tooltip

        Tooltip message.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TextSize

        class TextSize

        Class variables

        var L
        var M
        var S
        var XL
        var XS

        TextXl

        class TextXl(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None, name: Union[str, NoneType] = None)

        Create extra-large sized text content.

        Static methods

        load

        def load(_TextXl__d: Dict) ‑> TextXl

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var commands

        Contextual menu commands for this component.

        var content

        The text content.

        var name

        An identifying name for this component.

        var tooltip

        Tooltip message.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        TextXs

        class TextXs(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None)

        Create extra-small sized text content.

        Static methods

        load

        def load(_TextXs__d: Dict) ‑> TextXs

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var content

        The text content.

        var name

        An identifying name for this component.

        var tooltip

        Tooltip message.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Textbox

        class Textbox(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, mask: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, prefix: Union[str, NoneType] = None, suffix: Union[str, NoneType] = None, error: Union[str, NoneType] = None, required: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, readonly: Union[bool, NoneType] = None, multiline: Union[bool, NoneType] = None, password: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, height: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a text box.

        The text box component enables a user to type text into an app. It's typically used to capture a single line of text, but can be configured to capture multiple lines of text. The text displays on the screen in a simple, uniform format.

        Static methods

        load

        def load(_Textbox__d: Dict) ‑> Textbox

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if the text box is disabled.

        var error

        Text to be displayed as an error below the text box.

        var height

        The height of the text box, e.g. '100px'. Applicable only if multiline is true.

        var icon

        Icon displayed in the far right end of the text field.

        var label

        The text displayed above the field.

        var mask

        The masking string that defines the mask's behavior. A backslash will escape any character. Special format characters are: '9': [0-9] 'a': [a-zA-Z] '*': [a-zA-Z0-9].

        var multiline

        True if the text box should allow multi-line text entry.

        var name

        An identifying name for this component.

        var password

        True if the text box should hide text content.

        var placeholder

        A string that provides a brief hint to the user as to what kind of information is expected in the field. It should be a word or short phrase that demonstrates the expected type of data, rather than an explanatory message.

        var prefix

        Text to be displayed before the text box contents.

        var readonly

        True if the text box is a read-only field.

        var required

        True if the text box is a required field.

        var suffix

        Text to be displayed after the text box contents.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the text value changes.

        var value

        Text to be displayed inside the text box.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Toggle

        class Toggle(name: str, label: Union[str, NoneType] = None, value: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None)

        Create a toggle. Toggles represent a physical switch that allows users to turn things on or off. Use toggles to present users with two mutually exclusive options (like on/off), where choosing an option results in an immediate action.

        Use a toggle for binary operations that take effect right after the user flips the Toggle. For example, use a Toggle to turn services or hardware components on or off. In other words, if a physical switch would work for the action, a Toggle is probably the best component to use.

        Static methods

        load

        def load(_Toggle__d: Dict) ‑> Toggle

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var disabled

        True if the checkbox is disabled.

        var label

        Text to be displayed alongside the component.

        var name

        An identifying name for this component.

        var tooltip

        An optional tooltip message displayed when a user clicks the help icon to the right of the component.

        var trigger

        True if the form should be submitted when the toggle value changes.

        var value

        True if selected, False if unselected.

        var visible

        True if the component should be visible. Defaults to true.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ToolbarCard

        class ToolbarCard(box: str, items: List[Command], secondary_items: Union[List[Command], NoneType] = None, overflow_items: Union[List[Command], NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card containing a toolbar.

        Static methods

        load

        def load(_ToolbarCard__d: Dict) ‑> ToolbarCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var items

        Items to render.

        var overflow_items

        Items to render in an overflow menu.

        var secondary_items

        Items to render on the right side (or left, in RTL).

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        VegaCard

        class VegaCard(box: str, title: str, specification: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a card containing a Vega-lite plot.

        Static methods

        load

        def load(_VegaCard__d: Dict) ‑> VegaCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for the plot, if any.

        var specification

        The Vega-lite specification.

        var title

        The title of this card.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        VegaVisualization

        class VegaVisualization(specification: str, data: Union[dict, str, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None)

        Create a Vega-lite plot for display inside a form.

        Static methods

        load

        def load(_VegaVisualization__d: Dict) ‑> VegaVisualization

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var data

        Data for the plot, if any.

        var height

        The height of the visualization. Defaults to 300px.

        var name

        An identifying name for this component.

        var specification

        The Vega-lite specification.

        var visible

        True if the component should be visible. Defaults to true.

        var width

        The width of the visualization. Defaults to 100%.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        Visualization

        class Visualization(plot: Plot, data: Union[dict, str], width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, events: Union[List[str], NoneType] = None)

        Create a visualization for display inside a form.

        Static methods

        load

        def load(_Visualization__d: Dict) ‑> Visualization

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var data

        Data for this visualization.

        var events

        The events to capture on this visualization.

        var height

        The hight of the visualization. Defaults to 300px.

        var name

        An identifying name for this component.

        var plot

        The plot to be rendered in this visualization.

        var visible

        True if the component should be visible. Defaults to true.

        var width

        The width of the visualization. Defaults to 100%.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        WideBarStatCard

        class WideBarStatCard(box: str, title: str, value: str, aux_value: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a wide stat card displaying a primary value, an auxiliary value and a progress bar.

        Static methods

        load

        def load(_WideBarStatCard__d: Dict) ‑> WideBarStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value displayed next to the primary value.

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_color

        The color of the progress bar.

        var progress

        The value of the progress bar, between 0 and 1.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        WideGaugeStatCard

        class WideGaugeStatCard(box: str, title: str, value: str, aux_value: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a wide stat card displaying a primary value, an auxiliary value and a progress gauge.

        Static methods

        load

        def load(_WideGaugeStatCard__d: Dict) ‑> WideGaugeStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value displayed next to the primary value.

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_color

        The color of the progress gauge.

        var progress

        The value of the progress gauge, between 0 and 1.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        WideSeriesStatCard

        class WideSeriesStatCard(box: str, title: str, value: str, aux_value: str, plot_data: Union[Data, str], plot_value: str, plot_zero_value: Union[float, NoneType] = None, plot_category: Union[str, NoneType] = None, plot_type: Union[str, NoneType] = None, plot_curve: Union[str, NoneType] = None, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None)

        Create a wide stat card displaying a primary value, an auxiliary value and a series plot.

        Static methods

        load

        def load(_WideSeriesStatCard__d: Dict) ‑> WideSeriesStatCard

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var aux_value

        The auxiliary value displayed below the primary value.

        var box

        A string indicating how to place this component on the page.

        var commands

        Contextual menu commands for this component.

        var data

        Data for this card.

        var plot_category

        The data field to use for x-axis values (ignored if plot_type is area; must be provided if plot_type is interval). Defaults to 'x'.

        var plot_color

        The plot's color.

        var plot_curve

        The plot's curve style. Defaults to linear. One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.WideSeriesStatCardPlotCurve.

        var plot_data

        The plot's data.

        var plot_type

        The type of plot. Defaults to area. One of 'area', 'interval'. See enum h2o_wave.ui.WideSeriesStatCardPlotType.

        var plot_value

        The data field to use for y-axis values.

        var plot_zero_value

        The base value to use for each y-axis mark. Set this to 0 if you want to pin the x-axis at y=0. If not provided, the minimum value from the data is used.

        var title

        The card's title.

        var value

        The primary value displayed.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        WideSeriesStatCardPlotCurve

        class WideSeriesStatCardPlotCurve

        Class variables

        var LINEAR
        var SMOOTH
        var STEP
        var STEP_AFTER
        var STEP_BEFORE

        WideSeriesStatCardPlotType

        class WideSeriesStatCardPlotType

        Class variables

        var AREA
        var INTERVAL

        Zone

        class Zone(name: str, size: Union[str, NoneType] = None, direction: Union[str, NoneType] = None, justify: Union[str, NoneType] = None, align: Union[str, NoneType] = None, wrap: Union[str, NoneType] = None, zones: Union[List[_ForwardRef('Zone')], NoneType] = None)

        Represents an zone within a page layout.

        Static methods

        load

        def load(_Zone__d: Dict) ‑> Zone

        Creates an instance of this class using the contents of a dict.

        Instance variables

        var align

        Layout strategy for cross axis. One of 'start', 'end', 'center', 'stretch'. See enum h2o_wave.ui.ZoneAlign.

        var direction

        Layout direction. One of 'row', 'column'. See enum h2o_wave.ui.ZoneDirection.

        var justify

        Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ZoneJustify.

        var name

        An identifying name for this zone.

        var size

        The size of this zone.

        var wrap

        Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.ZoneWrap.

        var zones

        The sub-zones contained inside this zone.

        Methods

        dump

        def dump(self) ‑> Dict

        Returns the contents of this object as a dict.

        ZoneAlign

        class ZoneAlign

        Class variables

        var CENTER
        var END
        var START
        var STRETCH

        ZoneDirection

        class ZoneDirection

        Class variables

        var COLUMN
        var ROW

        ZoneJustify

        class ZoneJustify

        Class variables

        var AROUND
        var BETWEEN
        var CENTER
        var END
        var START

        ZoneWrap

        class ZoneWrap

        Class variables

        var AROUND
        var BETWEEN
        var CENTER
        var END
        var START
        var STRETCH
        + + + + + + + + + + diff --git a/docs/docs/api/ui/index.html b/docs/docs/api/ui/index.html index 5e93a3bb9b..e92bc4a490 100644 --- a/docs/docs/api/ui/index.html +++ b/docs/docs/api/ui/index.html @@ -4,45 +4,34 @@ + - Module h2o_wave.ui | H2O Wave - - - - - - - - - - - - - - - - + Module h2o_wave.ui | H2O Wave + + + + + + + + + +
        -

        Module h2o_wave.ui

        Functions

        breadcrumb

        def breadcrumb(name: str, label: str) ‑> Breadcrumb

        Create a breadcrumb for a BreadcrumbsCard.

        Args
        name
        The name of this item. Prefix the name with a '#' to trigger hash-change navigation.
        label
        The label to display.
        Returns

        A Breadcrumb instance.

        breadcrumbs_card

        def breadcrumbs_card(box: str, items: List[Breadcrumb], commands: Union[List[Command], NoneType] = None) ‑> BreadcrumbsCard

        Create a card containing breadcrumbs. Breadcrumbs should be used as a navigational aid in your app or site. They indicate the current page’s location within a hierarchy and help the user understand where they are in relation to the rest of that hierarchy. They also afford one-click access to higher levels of that hierarchy. Breadcrumbs are typically placed, in horizontal form, under the masthead or navigation of an experience, above the primary content area.

        Args
        box
        A string indicating how to place this component on the page.
        items
        A list of Breadcrumb instances to display. See breadcrumb()
        commands
        Contextual menu commands for this component.
        Returns

        A BreadcrumbsCard instance.

        button

        def button(name: str, label: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, value: Union[str, NoneType] = None, primary: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, link: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a button.

        Buttons are best used to enable a user to commit a change or complete steps in a task. They are typically found inside forms, dialogs, panels or pages. An example of their usage is confirming the deletion of a file in a confirmation dialog.

        When considering their place in a layout, contemplate the order in which a user will flow through the UI. As an example, in a form, the individual will need to read and interact with the form fields before submitting the form. Therefore, as a general rule, the button should be placed at the bottom of the UI container which holds the related UI elements.

        Buttons may be placed within a "buttons" component which will lay out the buttons horizontally, or used individually and they will be stacked vertically.

        While buttons can technically be used to navigate a user to another part of the experience, this is not recommended unless that navigation is part of an action or their flow.

        Args
        name
        An identifying name for this component. If the name is prefixed with a '#', the button sets the location hash to the name when clicked.
        label
        The text displayed on the button.
        caption
        The caption displayed below the label. Setting a caption renders a compound button.
        value
        A value for this button. If a value is set, it is used for the button's submitted instead of a boolean True.
        primary
        True if the button should be rendered as the primary button in the set.
        disabled
        True if the button should be disabled.
        link
        True if the button should be rendered as link text and not a standard button.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Button instance.

        buttons

        def buttons(items: List[Component], justify: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Create a set of buttons to be layed out horizontally.

        Args
        items
        The button in this set.
        justify
        Specifies how to lay out buttons horizontally. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ButtonsJustify.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Buttons instance.

        checkbox

        def checkbox(name: str, label: Union[str, NoneType] = None, value: Union[bool, NoneType] = None, indeterminate: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a checkbox.

        A checkbox allows users to switch between two mutually exclusive options (checked or unchecked, on or off) through a single click or tap. It can also be used to indicate a subordinate setting or preference when paired with another component.

        A checkbox is used to select or deselect action items. It can be used for a single item or for a list of multiple items that a user can choose from. The component has two selection states: unselected and selected.

        For a binary choice, the main difference between a checkbox and a toggle switch is that the checkbox is for status and the toggle switch is for action.

        Use multiple checkboxes for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the checkbox.
        value
        True if selected, False if unselected.
        indeterminate
        True if the selection is indeterminate (neither selected nor unselected).
        disabled
        True if the checkbox is disabled.
        trigger
        True if the form should be submitted when the checkbox value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Checkbox instance.

        checklist

        def checklist(name: str, label: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, choices: Union[List[Choice], NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a set of checkboxes. Use this for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed above the component.
        values
        The names of the selected choices.
        choices
        The choices to be presented.
        trigger
        True if the form should be submitted when the checklist value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Checklist instance.

        choice

        def choice(name: str, label: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None) ‑> Choice

        Create a choice for a checklist, choice group or dropdown.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        disabled
        True if the checkbox is disabled.
        Returns

        A Choice instance.

        choice_group

        def choice_group(name: str, label: Union[str, NoneType] = None, value: Union[str, NoneType] = None, choices: Union[List[Choice], NoneType] = None, required: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a choice group. The choice group component, also known as radio buttons, let users select one option from two or more choices. Each option is represented by one choice group button; a user can select only one choice group in a button group.

        Choice groups emphasize all options equally, and that may draw more attention to the options than necessary. Consider using other components, unless the options deserve extra attention from the user. For example, if the default option is recommended for most users in most situations, use a dropdown instead.

        If there are only two mutually exclusive options, combine them into a single Checkbox or Toggle switch. For example, use a checkbox for "I agree" instead of choice group buttons for "I agree" and "I don't agree."

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        value
        The name of the selected choice.
        choices
        The choices to be presented.
        required
        True if this field is required.
        trigger
        True if the form should be submitted when the selection changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A ChoiceGroup instance.

        color_picker

        def color_picker(name: str, label: Union[str, NoneType] = None, value: Union[str, NoneType] = None, choices: Union[List[str], NoneType] = None, visible: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a color picker.

        A date picker allows a user to pick a color value. If the 'choices' parameter is set, a swatch picker is displayed instead of the standard color picker.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        value
        The selected color (CSS-compatible string).
        choices
        A list of colors (CSS-compatible strings) to limit color choices to.
        visible
        True if the component should be visible. Defaults to true.
        trigger
        True if the form should be submitted when the color picker value changes.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A ColorPicker instance.

        combobox

        def combobox(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, choices: Union[List[str], NoneType] = None, error: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a combobox.

        A combobox is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button or by typing in the input. They are used to simplify the design and make a choice within the UI.

        When closed, only the selected item is visible. When users click the drop-down button, all the options become visible. To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value. When collapsed the user can select a new value by typing.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        placeholder
        A string that provides a brief hint to the user as to what kind of information is expected in the field.
        value
        The name of the selected choice.
        choices
        The choices to be presented.
        error
        Text to be displayed as an error below the text box.
        disabled
        True if this field is disabled.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Combobox instance.

        command

        def command(name: str, label: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, items: Union[List[Command], NoneType] = None, value: Union[str, NoneType] = None, data: Union[str, NoneType] = None) ‑> Command

        Create a command.

        Commands are typically displayed as context menu items or toolbar button.

        Args
        name
        An identifying name for this component. If the name is prefixed with a '#', the command sets the location hash to the name when executed.
        label
        The text displayed for this command.
        caption
        The caption for this command (typically a tooltip).
        icon
        The icon to be displayed for this command.
        items
        Sub-commands, if any
        value
        Data associated with this command, if any.
        data
        DEPRECATED. Use value instead. Data associated with this command, if any.
        Returns

        A Command instance.

        date_picker

        def date_picker(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a date picker.

        A date picker allows a user to pick a date value.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        placeholder
        A string that provides a brief hint to the user as to what kind of information is expected in the field.
        value
        The date value in YYYY-MM-DD format.
        disabled
        True if this field is disabled.
        trigger
        True if the form should be submitted when the datepicker value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A DatePicker instance.

        dialog

        def dialog(title: str, items: List[Component], width: Union[str, NoneType] = None, closable: Union[bool, NoneType] = None, blocking: Union[bool, NoneType] = None, primary: Union[bool, NoneType] = None) ‑> Dialog

        A dialog box (Dialog) is a temporary pop-up that takes focus from the page or app and requires people to interact with it. It’s primarily used for confirming actions, such as deleting a file, or asking people to make a choice.

        Args
        title
        The dialog's title.
        items
        The components displayed in this dialog.
        width
        The width of the dialog, e.g. '400px', defaults to '600px'.
        closable
        True if the dialog should have a closing 'X' button at the top right corner.
        blocking
        True to disable all actions and commands behind the dialog. Blocking dialogs should be used very sparingly, only when it is critical that the user makes a choice or provides information before they can proceed. Blocking dialogs are generally used for irreversible or potentially destructive tasks. Defaults to false.
        primary
        Dialog with large header banner, mutually exclusive with closable prop. Defaults to false.
        Returns

        A Dialog instance.

        dropdown

        def dropdown(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, choices: Union[List[Choice], NoneType] = None, required: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a dropdown.

        A dropdown is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button. They are used to simplify the design and make a choice within the UI. When closed, only the selected item is visible. When users click the drop-down button, all the options become visible.

        To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value.

        Note: Use either the 'value' parameter or the 'values' parameter. Setting the 'values' parameter renders a multi-select dropdown.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        placeholder
        A string that provides a brief hint to the user as to what kind of information is expected in the field.
        value
        The name of the selected choice.
        values
        The names of the selected choices. If this parameter is set, multiple selections will be allowed.
        choices
        The choices to be presented.
        required
        True if this is a required field.
        disabled
        True if this field is disabled.
        trigger
        True if the form should be submitted when the dropdown value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Dropdown instance.

        expander

        def expander(name: str, label: Union[str, NoneType] = None, expanded: Union[bool, NoneType] = None, items: Union[List[Component], NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Creates a new expander.

        Expanders can be used to show or hide a group of related components.

        Args
        name
        An identifying name for this component.
        label
        The text displayed on the expander.
        expanded
        True if expanded, False if collapsed.
        items
        List of components to be hideable by the expander.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Expander instance.

        file_upload

        def file_upload(name: str, label: Union[str, NoneType] = None, multiple: Union[bool, NoneType] = None, file_extensions: Union[List[str], NoneType] = None, max_file_size: Union[float, NoneType] = None, max_size: Union[float, NoneType] = None, height: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a file upload component. A file upload component allows a user to browse, select and upload one or more files.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        multiple
        True if the component should allow multiple files to be uploaded.
        file_extensions
        List of allowed file extensions, e.g. pdf, docx, etc.
        max_file_size
        Maximum allowed size (Mb) per file. Defaults to no limit.
        max_size
        Maximum allowed size (Mb) for all files combined. Defaults to no limit.
        height
        The height of the file upload, e.g. '400px', '50%', etc.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A FileUpload instance.

        flex_card

        def flex_card(box: str, item_view: str, item_props: Union[dict, str], data: Union[Data, str], direction: Union[str, NoneType] = None, justify: Union[str, NoneType] = None, align: Union[str, NoneType] = None, wrap: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> FlexCard

        EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out using a one-dimensional model with flexible alignemnt and wrapping capabilities.

        Args
        box
        A string indicating how to place this component on the page.
        item_view
        The child card type.
        item_props
        The child card properties.
        data
        Data for this card.
        direction
        Layout direction. One of 'horizontal', 'vertical'. See enum h2o_wave.ui.FlexCardDirection.
        justify
        Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.FlexCardJustify.
        align
        Layout strategy for cross axis. One of 'start', 'end', 'center', 'baseline', 'stretch'. See enum h2o_wave.ui.FlexCardAlign.
        wrap
        Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.FlexCardWrap.
        commands
        Contextual menu commands for this component.
        Returns

        A FlexCard instance.

        form_card

        def form_card(box: str, items: Union[List[Component], str], commands: Union[List[Command], NoneType] = None) ‑> FormCard

        Create a form.

        Args
        box
        A string indicating how to place this component on the page.
        items
        The components in this form.
        commands
        Contextual menu commands for this component.
        Returns

        A FormCard instance.

        frame

        def frame(path: Union[str, NoneType] = None, content: Union[str, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Create a new inline frame (an iframe).

        Args
        path
        The path or URL of the web page, e.g. /foo.html or http://example.com/foo.html
        content
        The HTML content of the page. A string containing <html>...</html>.
        width
        The width of the frame, e.g. 200px, 50%, etc. Defaults to 100%.
        height
        The height of the frame, e.g. 200px, 50%, etc. Defaults to 150px.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Frame instance.

        frame_card

        def frame_card(box: str, title: str, path: Union[str, NoneType] = None, content: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> FrameCard

        Render a card containing a HTML page inside an inline frame (an iframe).

        Either a path or content can be provided as arguments.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        path
        The path or URL of the web page, e.g. /foo.html or http://example.com/foo.html
        content
        The HTML content of the page. A string containing <html>...</html>
        commands
        Contextual menu commands for this component.
        Returns

        A FrameCard instance.

        graphics_card

        def graphics_card(box: str, view_box: str, stage: Union[List[dict], str, NoneType] = None, scene: Union[Data, str, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> GraphicsCard

        Create a card for displaying vector graphics.

        Args
        box
        A string indicating how to place this component on the page.
        view_box
        The position and dimension of the SVG viewport, in user space. A space-separated list of four numbers: min-x, min-y, width and height. For example, '0 0 400 300'. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox
        stage
        Background layer for rendering static SVG elements. Must be packed to conserve memory.
        scene
        Foreground layer for rendering dynamic SVG elements.
        width
        The displayed width of the rectangular viewport. (Not the width of its coordinate system.)
        height
        The displayed height of the rectangular viewport. (Not the height of its coordinate system.)
        commands
        Contextual menu commands for this component.
        Returns

        A GraphicsCard instance.

        grid_card

        def grid_card(box: str, title: str, cells: Union[Data, str], data: Union[Data, str], commands: Union[List[Command], NoneType] = None) ‑> GridCard

        EXPERIMENTAL. DO NOT USE.

        Args
        box
        A string indicating how to place this component on the page.
        title
        EXPERIMENTAL. DO NOT USE.
        cells
        EXPERIMENTAL. DO NOT USE.
        data
        EXPERIMENTAL. DO NOT USE.
        commands
        Contextual menu commands for this component.
        Returns

        A GridCard instance.

        header_card

        def header_card(box: str, title: str, subtitle: str, icon: Union[str, NoneType] = None, icon_color: Union[str, NoneType] = None, nav: Union[List[NavGroup], NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> HeaderCard

        Render a card containing a HTML page inside an inline frame (iframe).

        Either a path or content can be provided as arguments.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title.
        subtitle
        The subtitle, displayed below the title.
        icon
        The icon type, displayed to the left.
        icon_color
        The icon's color.
        nav
        The navigation menu to display when the header's icon is clicked.
        commands
        Contextual menu commands for this component.
        Returns

        A HeaderCard instance.

        icon_table_cell_type

        def icon_table_cell_type(color: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> TableCellType

        Create a cell type that renders a column's cells as icons instead of plain text. If set on a column, the cell value is interpreted as the name of the icon to be displayed.

        Args
        color
        Icon color.
        name
        An identifying name for this component.
        Returns

        A IconTableCellType instance.

        image_card

        def image_card(box: str, title: str, type: str, image: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> ImageCard

        Create a card that displays a base64-encoded image.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        type
        The image MIME subtype. One of apng, bmp, gif, x-icon, jpeg, png, webp.
        image
        Image data, base64-encoded.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A ImageCard instance.

        label

        def label(label: str, required: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create a label.

        Labels give a name or title to a component or group of components. Labels should be in close proximity to the component or group they are paired with. Some components, such as textboxes, dropdowns, or toggles, already have labels incorporated, but other components may optionally add a Label if it helps inform the user of the component’s purpose.

        Args
        label
        The text displayed on the label.
        required
        True if the field is required.
        disabled
        True if the label should be disabled.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        name
        An identifying name for this component.
        Returns

        A Label instance.

        large_bar_stat_card

        def large_bar_stat_card(box: str, title: str, caption: str, value: str, aux_value: str, value_caption: str, aux_value_caption: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> LargeBarStatCard

        Create a large captioned card displaying a primary value, an auxiliary value and a progress bar, with captions for each value.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        caption
        The card's caption.
        value
        The primary value displayed.
        aux_value
        The auxiliary value, typically a target value.
        value_caption
        The caption displayed below the primary value.
        aux_value_caption
        The caption displayed below the auxiliary value.
        progress
        The value of the progress bar, between 0 and 1.
        plot_color
        The color of the progress bar.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A LargeBarStatCard instance.

        large_stat_card

        def large_stat_card(box: str, title: str, value: str, aux_value: str, caption: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> LargeStatCard

        Create a stat card displaying a primary value, an auxiliary value and a caption.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        aux_value
        The auxiliary value displayed next to the primary value.
        caption
        The caption displayed below the primary value.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A LargeStatCard instance.

        layout

        def layout(breakpoint: str, zones: List[Zone], width: Union[str, NoneType] = None, min_width: Union[str, NoneType] = None, max_width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, min_height: Union[str, NoneType] = None, max_height: Union[str, NoneType] = None) ‑> Layout

        Represents the layout structure for a page.

        Args
        breakpoint
        The minimum viewport width at which to use this layout. Values must be pixel widths (e.g. '0px', '576px', '768px') or a named preset. The named presets are: 'xs': '0px' for extra small devices (portrait phones), 's': '576px' for small devices (landscape phones), 'm': '768px' for medium devices (tablets), 'l': '992px' for large devices (desktops), 'xl': '1200px' for extra large devices (large desktops). A breakpoint value of 'xs' (or '0') matches all viewport widths, unless other breakpoints are set.
        zones
        The zones in this layout. Each zones can in turn contain sub-zones.
        width
        The width of the layout. Defaults to 100%.
        min_width
        The minimum width of the layout.
        max_width
        The maximum width of the layout.
        height
        The height of the layout. Defaults to auto.
        min_height
        The minimum height of the layout.
        max_height
        The maximum height of the layout.
        Returns

        A Layout instance.

        link

        def link(label: Union[str, NoneType] = None, path: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None, download: Union[bool, NoneType] = None, button: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, target: Union[str, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create a hyperlink.

        Hyperlinks can be internal or external. Internal hyperlinks have paths that begin with a / and point to URLs within the Wave UI. All other kinds of paths are treated as external hyperlinks.

        Args
        label
        The text to be displayed. If blank, the path is used as the label.
        path
        The path or URL to link to.
        disabled
        True if the link should be disabled.
        download
        True if the link should be used for file download.
        button
        True if the link should be rendered as a button.
        visible
        True if the component should be visible. Defaults to true.
        target
        Where to display the link. Setting this to an empty string or '_blank' opens the link in a new tab or window.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        name
        An identifying name for this component.
        Returns

        A Link instance.

        list_card

        def list_card(box: str, title: str, item_view: str, item_props: Union[dict, str], data: Union[Data, str], commands: Union[List[Command], NoneType] = None) ‑> ListCard

        EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out in the form of a list (vertically, top-to-bottom).

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        item_view
        The child card type.
        item_props
        The child card properties.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A ListCard instance.

        list_item1_card

        def list_item1_card(box: str, title: str, caption: str, value: str, aux_value: str, data: Union[dict, str], commands: Union[List[Command], NoneType] = None) ‑> ListItem1Card

        EXPERIMENTAL. DO NOT USE.

        Args
        box
        A string indicating how to place this component on the page.
        title
        EXPERIMENTAL. DO NOT USE.
        caption
        EXPERIMENTAL. DO NOT USE.
        value
        EXPERIMENTAL. DO NOT USE.
        aux_value
        EXPERIMENTAL. DO NOT USE.
        data
        EXPERIMENTAL. DO NOT USE.
        commands
        Contextual menu commands for this component.
        Returns

        A ListItem1Card instance.

        mark

        def mark(coord: Union[str, NoneType] = None, type: Union[str, NoneType] = None, x: Union[str, float, int, NoneType] = None, x0: Union[str, float, int, NoneType] = None, x1: Union[str, float, int, NoneType] = None, x2: Union[str, float, int, NoneType] = None, x_min: Union[float, NoneType] = None, x_max: Union[float, NoneType] = None, x_nice: Union[bool, NoneType] = None, x_scale: Union[str, NoneType] = None, x_title: Union[str, NoneType] = None, y: Union[str, float, int, NoneType] = None, y0: Union[str, float, int, NoneType] = None, y1: Union[str, float, int, NoneType] = None, y2: Union[str, float, int, NoneType] = None, y_min: Union[float, NoneType] = None, y_max: Union[float, NoneType] = None, y_nice: Union[bool, NoneType] = None, y_scale: Union[str, NoneType] = None, y_title: Union[str, NoneType] = None, color: Union[str, NoneType] = None, color_range: Union[str, NoneType] = None, color_domain: Union[List[str], NoneType] = None, shape: Union[str, NoneType] = None, shape_range: Union[str, NoneType] = None, size: Union[str, float, int, NoneType] = None, size_range: Union[str, NoneType] = None, stack: Union[str, NoneType] = None, dodge: Union[str, NoneType] = None, curve: Union[str, NoneType] = None, fill_color: Union[str, NoneType] = None, fill_opacity: Union[float, NoneType] = None, stroke_color: Union[str, NoneType] = None, stroke_opacity: Union[float, NoneType] = None, stroke_size: Union[float, NoneType] = None, stroke_dash: Union[str, NoneType] = None, label: Union[str, NoneType] = None, label_offset: Union[float, NoneType] = None, label_offset_x: Union[float, NoneType] = None, label_offset_y: Union[float, NoneType] = None, label_rotation: Union[str, NoneType] = None, label_position: Union[str, NoneType] = None, label_overlap: Union[str, NoneType] = None, label_fill_color: Union[str, NoneType] = None, label_fill_opacity: Union[float, NoneType] = None, label_stroke_color: Union[str, NoneType] = None, label_stroke_opacity: Union[float, NoneType] = None, label_stroke_size: Union[float, NoneType] = None, label_font_size: Union[float, NoneType] = None, label_font_weight: Union[str, NoneType] = None, label_line_height: Union[float, NoneType] = None, label_align: Union[str, NoneType] = None, ref_stroke_color: Union[str, NoneType] = None, ref_stroke_opacity: Union[float, NoneType] = None, ref_stroke_size: Union[float, NoneType] = None, ref_stroke_dash: Union[str, NoneType] = None) ‑> Mark

        Create a specification for a layer of graphical marks such as bars, lines, points for a plot. A plot can contain multiple such layers of marks.

        Args
        coord
        Coordinate system. rect is synonymous to cartesian. theta is transposed polar. One of 'rect', 'cartesian', 'polar', 'theta', 'helix'. See enum h2o_wave.ui.MarkCoord.
        type
        Graphical geometry. One of 'interval', 'line', 'path', 'point', 'area', 'polygon', 'schema', 'edge', 'heatmap'. See enum h2o_wave.ui.MarkType.
        x
        X field or value.
        x0
        X base field or value.
        x1
        X bin lower bound field or value. For histograms.
        x2
        X bin upper bound field or value. For histograms.
        x_min
        X axis scale minimum.
        x_max
        X axis scale maximum.
        x_nice
        Whether to nice X axis scale ticks.
        x_scale
        X axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkXScale.
        x_title
        X axis title.
        y
        Y field or value.
        y0
        Y base field or value.
        y1
        Y bin lower bound field or value. For histograms.
        y2
        Y bin upper bound field or value. For histograms.
        y_min
        Y axis scale minimum.
        y_max
        Y axis scale maximum.
        y_nice
        Whether to nice Y axis scale ticks.
        y_scale
        Y axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkYScale.
        y_title
        Y axis title.
        color
        Mark color field or value.
        color_range
        Mark color range for multi-series plots. A string containing space-separated colors, e.g. '#fee8c8 #fdbb84 #e34a33'
        color_domain
        The unique values in the data (labels or categories or classes) to map colors to, e.g. ['high', 'medium', 'low']. If this is not provided, the unique values are automatically inferred from the color attribute.
        shape
        Mark shape field or value for point mark types. Possible values are 'circle', 'square', 'bowtie', 'diamond', 'hexagon', 'triangle', 'triangle-down', 'cross', 'tick', 'plus', 'hyphen', 'line'.
        shape_range
        Mark shape range for multi-series plots using point mark types. A string containing space-separated shapes, e.g. 'circle square diamond'
        size
        Mark size field or value.
        size_range
        Mark size range. A string containing space-separated integers, e.g. '4 30'
        stack
        Field to stack marks by, or 'auto' to infer.
        dodge
        Field to dodge marks by, or 'auto' to infer.
        curve
        Curve type for line and area mark types. One of 'none', 'smooth', 'step-before', 'step', 'step-after'. See enum h2o_wave.ui.MarkCurve.
        fill_color
        Mark fill color.
        fill_opacity
        Mark fill opacity.
        stroke_color
        Mark stroke color.
        stroke_opacity
        Mark stroke opacity.
        stroke_size
        Mark stroke size.
        stroke_dash
        Mark stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].
        label
        Label field or value.
        label_offset
        Distance between label and mark.
        label_offset_x
        Horizontal distance between label and mark.
        label_offset_y
        Vertical distance between label and mark.
        label_rotation
        Label rotation angle, in degrees, or 'none' to disable automatic rotation. The default behavior is 'auto' for automatic rotation.
        label_position
        Label position relative to the mark. One of 'top', 'bottom', 'middle', 'left', 'right'. See enum h2o_wave.ui.MarkLabelPosition.
        label_overlap
        Strategy to use if labels overlap. One of 'hide', 'overlap', 'constrain'. See enum h2o_wave.ui.MarkLabelOverlap.
        label_fill_color
        Label fill color.
        label_fill_opacity
        Label fill opacity.
        label_stroke_color
        Label stroke color.
        label_stroke_opacity
        Label stroke opacity.
        label_stroke_size
        Label stroke size (line width or pen thickness).
        label_font_size
        Label font size.
        label_font_weight
        Label font weight.
        label_line_height
        Label line height.
        label_align
        Label text alignment. One of 'left', 'right', 'center', 'start', 'end'. See enum h2o_wave.ui.MarkLabelAlign.
        ref_stroke_color
        Reference line stroke color.
        ref_stroke_opacity
        Reference line stroke opacity.
        ref_stroke_size
        Reference line stroke size (line width or pen thickness).
        ref_stroke_dash
        Reference line stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].
        Returns

        A Mark instance.

        markdown_card

        def markdown_card(box: str, title: str, content: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> MarkdownCard

        Create a card that renders Markdown content.

        Github-flavored markdown is supported. HTML markup is allowed in markdown content. URLs, if found, are displayed as hyperlinks. Copyright, reserved, trademark, quotes, etc. are replaced with language-neutral symbols.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        content
        The markdown content. Supports Github Flavored Markdown (GFM): https://guides.github.com/features/mastering-markdown/
        data
        Additional data for the card.
        commands
        Contextual menu commands for this component.
        Returns

        A MarkdownCard instance.

        markup

        def markup(content: str, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Render HTML content.

        Args
        content
        The HTML content.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Markup instance.

        markup_card

        def markup_card(box: str, title: str, content: str, commands: Union[List[Command], NoneType] = None) ‑> MarkupCard

        Render HTML content.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        content
        The HTML content.
        commands
        Contextual menu commands for this component.
        Returns

        A MarkupCard instance.

        message_bar

        def message_bar(type: Union[str, NoneType] = None, text: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Create a message bar.

        A message bar is an area at the top of a primary view that displays relevant status information. You can use a message bar to tell the user about a situation that does not require their immediate attention and therefore does not need to block other activities.

        Args
        type
        The icon and color of the message bar. One of 'info', 'error', 'warning', 'success', 'danger', 'blocked'. See enum h2o_wave.ui.MessageBarType.
        text
        The text displayed on the message bar.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A MessageBar instance.

        meta_card

        def meta_card(box: str, title: Union[str, NoneType] = None, refresh: Union[int, NoneType] = None, notification: Union[str, NoneType] = None, redirect: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, layouts: Union[List[Layout], NoneType] = None, dialog: Union[Dialog, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> MetaCard

        Represents page-global state.

        This card is invisible. It is used to control attributes of the active page.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title of the page.
        refresh
        Refresh rate in seconds. A value of 0 turns off live-updates. Values != 0 are currently ignored (reserved for future use).
        notification
        Display a desktop notification.
        redirect
        Redirect the page to a new URL.
        icon
        Shortcut icon path. Preferably a .png file (.ico files may not work in mobile browsers).
        layouts
        The layouts supported by this page.
        dialog
        Display a dialog on the page.
        commands
        Contextual menu commands for this component.
        Returns

        A MetaCard instance.

        nav_card

        def nav_card(box: str, items: List[NavGroup], value: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> NavCard

        Create a card containing a navigation pane.

        Args
        box
        A string indicating how to place this component on the page.
        items
        The navigation groups contained in this pane.
        value
        The name of the active (highlighted) navigation item.
        commands
        Contextual menu commands for this component.
        Returns

        A NavCard instance.

        nav_group

        def nav_group(label: str, items: List[NavItem], collapsed: Union[bool, NoneType] = None) ‑> NavGroup

        Create a group of navigation items.

        Args
        label
        The label to display for this group.
        items
        The navigation items contained in this group.
        collapsed
        Indicates whether nav groups should be rendered as collapsed initially
        Returns

        A NavGroup instance.

        nav_item

        def nav_item(name: str, label: str, icon: Union[str, NoneType] = None) ‑> NavItem

        Create a navigation item.

        Args
        name
        The name of this item. Prefix the name with a '#' to trigger hash-change navigation.
        label
        The label to display.
        icon
        An optional icon to display next to the label.
        Returns

        A NavItem instance.

        picker

        def picker(name: str, choices: List[Choice], label: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, max_choices: Union[int, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a picker. Pickers are used to select one or more choices, such as tags or files, from a list. Use a picker to allow the user to quickly search for or manage a few tags or files.

        Args
        name
        An identifying name for this component.
        choices
        The choices to be presented.
        label
        Text to be displayed above the component.
        values
        The names of the selected choices.
        max_choices
        Maximum number of selectable choices. Defaults to no limit.
        disabled
        Controls whether the picker should be disabled or not.
        visible
        True if the component should be visible. Defaults to true.
        trigger
        True if the form should be submitted when the picker value changes.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Picker instance.

        pixel_art_card

        def pixel_art_card(box: str, title: str, data: Union[dict, str], commands: Union[List[Command], NoneType] = None) ‑> PixelArtCard

        Create a card displaying a collaborative Pixel art tool, just for kicks.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        data
        The data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A PixelArtCard instance.

        plot

        def plot(marks: List[Mark]) ‑> Plot

        Create a plot. A plot is composed of one or more graphical mark layers.

        Args
        marks
        The graphical mark layers contained in this plot.
        Returns

        A Plot instance.

        plot_card

        def plot_card(box: str, title: str, data: Union[dict, str], plot: Plot, events: Union[List[str], NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> PlotCard

        Create a card displaying a plot.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        data
        Data for this card.
        plot
        The plot to be displayed in this card.
        events
        The events to capture on this card.
        commands
        Contextual menu commands for this component.
        Returns

        A PlotCard instance.

        progress

        def progress(label: str, caption: Union[str, NoneType] = None, value: Union[float, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create a progress bar.

        Progress bars are used to show the completion status of an operation lasting more than 2 seconds. If the state of progress cannot be determined, do not set a value. Progress bars feature a bar showing total units to completion, and total units finished. The label appears above the bar, and the caption appears below. The label should tell someone exactly what the operation is doing.

        Examples of formatting include: [Object] is being [operation name], or [Object] is being [operation name] to [destination name] or [Object] is being [operation name] from [source name] to [destination name]

        Status text is generally in units elapsed and total units. Real-world examples include copying files to a storage location, saving edits to a file, and more. Use units that are informative and relevant to give the best idea to users of how long the operation will take to complete. Avoid time units as they are rarely accurate enough to be trustworthy. Also, combine steps of a complex operation into one total bar to avoid “rewinding” the bar. Instead change the label to reflect the change if necessary. Bars moving backwards reduce confidence in the service.

        Args
        label
        The text displayed above the bar.
        caption
        The text displayed below the bar.
        value
        The progress, between 0.0 and 1.0, or -1 (default) if indeterminate.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        name
        An identifying name for this component.
        Returns

        A Progress instance.

        progress_table_cell_type

        def progress_table_cell_type(color: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> TableCellType

        Create a cell type that renders a column's cells as progress bars instead of plain text. If set on a column, the cell value must be between 0.0 and 1.0.

        Args
        color
        Color of the progress arc.
        name
        An identifying name for this component.
        Returns

        A ProgressTableCellType instance.

        range_slider

        def range_slider(name: str, label: Union[str, NoneType] = None, min: Union[float, NoneType] = None, max: Union[float, NoneType] = None, step: Union[float, NoneType] = None, min_value: Union[float, NoneType] = None, max_value: Union[float, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a range slider.

        A range slider is an element used to select a value range. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. Knobs or levers are dragged to one end or the other to make the choice, indicating the current max and min value.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        min
        The minimum value of the slider. Defaults to 0.
        max
        The maximum value of the slider. Defaults to 100.
        step
        The difference between two adjacent values of the slider.
        min_value
        The lower bound of the selected range.
        max_value
        The upper bound of the selected range.
        disabled
        True if this field is disabled.
        trigger
        True if the form should be submitted when the slider value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A RangeSlider instance.

        repeat_card

        def repeat_card(box: str, item_view: str, item_props: Union[dict, str], data: Union[Data, str], commands: Union[List[Command], NoneType] = None) ‑> RepeatCard

        EXPERIMENTAL. DO NOT USE. Create a card containing other cards.

        Args
        box
        A string indicating how to place this component on the page.
        item_view
        EXPERIMENTAL. DO NOT USE.
        item_props
        The child card properties.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A RepeatCard instance.

        separator

        def separator(label: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Create a separator.

        A separator visually separates content into groups.

        Args
        label
        The text displayed on the separator.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Separator instance.

        slider

        def slider(name: str, label: Union[str, NoneType] = None, min: Union[float, NoneType] = None, max: Union[float, NoneType] = None, step: Union[float, NoneType] = None, value: Union[float, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a slider.

        A slider is an element used to set a value. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. A knob or lever is dragged to one end or the other to make the choice, indicating the current value. Marks on the slider bar can show values and users can choose where they want to drag the knob or lever to set the value.

        A slider is a good choice when you know that users think of the value as a relative quantity, not a numeric value. For example, users think about setting their audio volume to low or medium — not about setting the value to two or five.

        The default value of the slider will be zero or be constrained to the min and max values. The min will be returned if the value is set under the min and the max will be returned if set higher than the max value.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        min
        The minimum value of the slider.
        max
        The maximum value of the slider.
        step
        The difference between two adjacent values of the slider.
        value
        The current value of the slider.
        disabled
        True if this field is disabled.
        trigger
        True if the form should be submitted when the slider value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Slider instance.

        small_series_stat_card

        def small_series_stat_card(box: str, title: str, value: str, plot_data: Union[Data, str], plot_value: str, plot_zero_value: Union[float, NoneType] = None, plot_category: Union[str, NoneType] = None, plot_type: Union[str, NoneType] = None, plot_curve: Union[str, NoneType] = None, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> SmallSeriesStatCard

        Create a small stat card displaying a primary value and a series plot.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        plot_data
        The plot's data.
        plot_value
        The data field to use for y-axis values.
        plot_zero_value
        The base value to use for each y-axis mark. Set this to 0 if you want to pin the x-axis at y=0. If not provided, the minimum value from the data is used.
        plot_category
        The data field to use for x-axis values (ignored if plot_type is area; must be provided if plot_type is interval). Defaults to 'x'.
        plot_type
        The type of plot. Defaults to area. One of 'area', 'interval'. See enum h2o_wave.ui.SmallSeriesStatCardPlotType.
        plot_curve
        The plot's curve style. Defaults to linear. One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.SmallSeriesStatCardPlotCurve.
        plot_color
        The plot's color.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A SmallSeriesStatCard instance.

        small_stat_card

        def small_stat_card(box: str, title: str, value: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> SmallStatCard

        Create a stat card displaying a single value.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A SmallStatCard instance.

        spinbox

        def spinbox(name: str, label: Union[str, NoneType] = None, min: Union[float, NoneType] = None, max: Union[float, NoneType] = None, step: Union[float, NoneType] = None, value: Union[float, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a spinbox.

        A spinbox allows the user to incrementally adjust a value in small steps. It is mainly used for numeric values, but other values are supported too.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        min
        The minimum value of the spinbox.
        max
        The maximum value of the spinbox.
        step
        The difference between two adjacent values of the spinbox.
        value
        The current value of the spinbox.
        disabled
        True if this field is disabled.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Spinbox instance.

        step

        def step(label: str, icon: Union[str, NoneType] = None, done: Union[bool, NoneType] = None) ‑> Step

        Create a step for a stepper.

        Args
        label
        Text displayed below icon.
        icon
        Icon to be displayed.
        done
        Indicates whether this step has already been completed.
        Returns

        A Step instance.

        stepper

        def stepper(name: str, items: List[Step], visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a component that displays a sequence of steps in a process. The steps keep users informed about where they are in the process and how much is left to complete.

        Args
        name
        An identifying name for this component.
        items
        The sequence of steps to be displayed.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Stepper instance.

        tab

        def tab(name: str, label: Union[str, NoneType] = None, icon: Union[str, NoneType] = None) ‑> Tab

        Create a tab.

        Args
        name
        An identifying name for this component.
        label
        The text displayed on the tab.
        icon
        The icon displayed on the tab.
        Returns

        A Tab instance.

        tab_card

        def tab_card(box: str, items: List[Tab], value: Union[str, NoneType] = None, link: Union[bool, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> TabCard

        Create a card containing tabs for navigation.

        Args
        box
        A string indicating how to place this component on the page.
        items
        Items to render.
        value
        The name of the tab to select.
        link
        True if tabs should be rendered as links and not a standard tab.
        commands
        Contextual menu commands for this component.
        Returns

        A TabCard instance.

        table

        def table(name: str, columns: List[TableColumn], rows: List[TableRow], multiple: Union[bool, NoneType] = None, groupable: Union[bool, NoneType] = None, downloadable: Union[bool, NoneType] = None, resettable: Union[bool, NoneType] = None, height: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create an interactive table.

        This table differs from a markdown table in that it supports clicking or selecting rows. If you simply want to display a non-interactive table of information, use a markdown table.

        If multiple is set to False (default), each row in the table is clickable. When a row is clicked, the form is submitted automatically, and q.args.table_name is set to [row_name], where table_name is the name of the table, and row_name is the name of the row that was clicked on.

        If multiple is set to True, each row in the table is selectable. A row can be selected by clicking on it. Multiple rows can be selected either by shift+clicking or using marquee selection. When the form is submitted,q.args.table_name is set to [row1_name, row2_name, …] where table_name is the name of the table, and row1_name, row2_name are the name of the rows that were selected. Note that if multiple is set to True, the form is not submitted automatically, and one or more buttons are required in the form to trigger submission.

        Args
        name
        An identifying name for this component.
        columns
        The columns in this table.
        rows
        The rows in this table.
        multiple
        True to allow multiple rows to be selected.
        groupable
        True to allow group by feature.
        downloadable
        Indicates whether the contents of this table can be downloaded and saved as a CSV file. Defaults to False.
        resettable
        Indicates whether a Reset button should be displayed to reset search / filter / group-by values to their defaults. Defaults to False.
        height
        The height of the table, e.g. '400px', '50%', etc.
        values
        The names of the selected rows. If this parameter is set, multiple selections will be allowed (multiple is assumed to be True).
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Table instance.

        table_column

        def table_column(name: str, label: str, min_width: Union[str, NoneType] = None, max_width: Union[str, NoneType] = None, sortable: Union[bool, NoneType] = None, searchable: Union[bool, NoneType] = None, filterable: Union[bool, NoneType] = None, link: Union[bool, NoneType] = None, data_type: Union[str, NoneType] = None, cell_type: Union[TableCellType, NoneType] = None) ‑> TableColumn

        Create a table column.

        Args
        name
        An identifying name for this column.
        label
        The text displayed on the column header.
        min_width
        The minimum width of this column, e.g. '50px'. Only px units are supported at this time.
        max_width
        The maximum width of this column, e.g. '100px'. Only px units are supported at this time.
        sortable
        Indicates whether the column is sortable.
        searchable
        Indicates whether the contents of this column can be searched through. Enables a search box for the table if true.
        filterable
        Indicates whether the contents of this column are displayed as filters in a dropdown.
        link
        Indicates whether each cell in this column should be displayed as a clickable link.
        data_type
        Defines the data type of this column. Defaults to string. One of 'string', 'number', 'time'. See enum h2o_wave.ui.TableColumnDataType.
        cell_type
        Defines how to render each cell in this column. Defaults to plain text.
        Returns

        A TableColumn instance.

        table_row

        def table_row(name: str, cells: List[str]) ‑> TableRow

        Create a table row.

        Args
        name
        An identifying name for this row.
        cells
        The cells in this row (displayed left to right).
        Returns

        A TableRow instance.

        tabs

        def tabs(name: str, value: Union[str, NoneType] = None, items: Union[List[Tab], NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Create a tab bar.

        Args
        name
        An identifying name for this component.
        value
        The name of the tab to select.
        items
        The tabs in this tab bar.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Tabs instance.

        tall_gauge_stat_card

        def tall_gauge_stat_card(box: str, title: str, value: str, aux_value: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> TallGaugeStatCard

        Create a tall stat card displaying a primary value, an auxiliary value and a progress gauge.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        aux_value
        The auxiliary value displayed next to the primary value.
        progress
        The value of the progress gauge, between 0 and 1.
        plot_color
        The color of the progress gauge.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A TallGaugeStatCard instance.

        tall_series_stat_card

        def tall_series_stat_card(box: str, title: str, value: str, aux_value: str, plot_data: Union[Data, str], plot_value: str, plot_zero_value: Union[float, NoneType] = None, plot_category: Union[str, NoneType] = None, plot_type: Union[str, NoneType] = None, plot_curve: Union[str, NoneType] = None, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> TallSeriesStatCard

        Create a tall stat card displaying a primary value, an auxiliary value and a series plot.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        aux_value
        The auxiliary value displayed below the primary value.
        plot_data
        The plot's data.
        plot_value
        The data field to use for y-axis values.
        plot_zero_value
        The base value to use for each y-axis mark. Set this to 0 if you want to pin the x-axis at y=0. If not provided, the minimum value from the data is used.
        plot_category
        The data field to use for x-axis values (ignored if plot_type is area; must be provided if plot_type is interval). Defaults to 'x'.
        plot_type
        The type of plot. Defaults to area. One of 'area', 'interval'. See enum h2o_wave.ui.TallSeriesStatCardPlotType.
        plot_curve
        The plot's curve style. Defaults to linear. One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.TallSeriesStatCardPlotCurve.
        plot_color
        The plot's color.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A TallSeriesStatCard instance.

        template

        def template(content: str, data: Union[dict, str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Render dynamic content using an HTML template.

        Args
        content
        The Handlebars template. https://handlebarsjs.com/guide/
        data
        Data for the Handlebars template
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Template instance.

        template_card

        def template_card(box: str, title: str, content: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> TemplateCard

        Render dynamic content using an HTML template.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        content
        The Handlebars template. https://handlebarsjs.com/guide/
        data
        Data for the Handlebars template.
        commands
        Contextual menu commands for this component.
        Returns

        A TemplateCard instance.

        text

        def text(content: str, size: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create text content.

        Args
        content
        The text content.
        size
        The font size of the text content. One of 'xl', 'l', 'm', 's', 'xs'. See enum h2o_wave.ui.TextSize.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        Tooltip message.
        name
        An identifying name for this component.
        Returns

        A Text instance.

        text_l

        def text_l(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create large sized text content.

        Args
        content
        The text content.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        Tooltip message.
        commands
        Contextual menu commands for this component.
        name
        An identifying name for this component.
        Returns

        A TextL instance.

        text_m

        def text_m(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create medium sized text content.

        Args
        content
        The text content.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        Tooltip message.
        name
        An identifying name for this component.
        Returns

        A TextM instance.

        text_s

        def text_s(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create small sized text content.

        Args
        content
        The text content.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        Tooltip message.
        name
        An identifying name for this component.
        Returns

        A TextS instance.

        text_xl

        def text_xl(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create extra-large sized text content.

        Args
        content
        The text content.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        Tooltip message.
        commands
        Contextual menu commands for this component.
        name
        An identifying name for this component.
        Returns

        A TextXl instance.

        text_xs

        def text_xs(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create extra-small sized text content.

        Args
        content
        The text content.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        Tooltip message.
        name
        An identifying name for this component.
        Returns

        A TextXs instance.

        textbox

        def textbox(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, mask: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, prefix: Union[str, NoneType] = None, suffix: Union[str, NoneType] = None, error: Union[str, NoneType] = None, required: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, readonly: Union[bool, NoneType] = None, multiline: Union[bool, NoneType] = None, password: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, height: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a text box.

        The text box component enables a user to type text into an app. It's typically used to capture a single line of text, but can be configured to capture multiple lines of text. The text displays on the screen in a simple, uniform format.

        Args
        name
        An identifying name for this component.
        label
        The text displayed above the field.
        placeholder
        A string that provides a brief hint to the user as to what kind of information is expected in the field. It should be a word or short phrase that demonstrates the expected type of data, rather than an explanatory message.
        value
        Text to be displayed inside the text box.
        mask
        The masking string that defines the mask's behavior. A backslash will escape any character. Special format characters are: '9': [0-9] 'a': [a-zA-Z] '*': [a-zA-Z0-9].
        icon
        Icon displayed in the far right end of the text field.
        prefix
        Text to be displayed before the text box contents.
        suffix
        Text to be displayed after the text box contents.
        error
        Text to be displayed as an error below the text box.
        required
        True if the text box is a required field.
        disabled
        True if the text box is disabled.
        readonly
        True if the text box is a read-only field.
        multiline
        True if the text box should allow multi-line text entry.
        password
        True if the text box should hide text content.
        trigger
        True if the form should be submitted when the text value changes.
        height
        The height of the text box, e.g. '100px'. Applicable only if multiline is true.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Textbox instance.

        toggle

        def toggle(name: str, label: Union[str, NoneType] = None, value: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a toggle. Toggles represent a physical switch that allows users to turn things on or off. Use toggles to present users with two mutually exclusive options (like on/off), where choosing an option results in an immediate action.

        Use a toggle for binary operations that take effect right after the user flips the Toggle. For example, use a Toggle to turn services or hardware components on or off. In other words, if a physical switch would work for the action, a Toggle is probably the best component to use.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        value
        True if selected, False if unselected.
        disabled
        True if the checkbox is disabled.
        trigger
        True if the form should be submitted when the toggle value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Toggle instance.

        toolbar_card

        def toolbar_card(box: str, items: List[Command], secondary_items: Union[List[Command], NoneType] = None, overflow_items: Union[List[Command], NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> ToolbarCard

        Create a card containing a toolbar.

        Args
        box
        A string indicating how to place this component on the page.
        items
        Items to render.
        secondary_items
        Items to render on the right side (or left, in RTL).
        overflow_items
        Items to render in an overflow menu.
        commands
        Contextual menu commands for this component.
        Returns

        A ToolbarCard instance.

        vega_card

        def vega_card(box: str, title: str, specification: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> VegaCard

        Create a card containing a Vega-lite plot.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title of this card.
        specification
        The Vega-lite specification.
        data
        Data for the plot, if any.
        commands
        Contextual menu commands for this component.
        Returns

        A VegaCard instance.

        vega_visualization

        def vega_visualization(specification: str, data: Union[dict, str, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Create a Vega-lite plot for display inside a form.

        Args
        specification
        The Vega-lite specification.
        data
        Data for the plot, if any.
        width
        The width of the visualization. Defaults to 100%.
        height
        The height of the visualization. Defaults to 300px.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A VegaVisualization instance.

        visualization

        def visualization(plot: Plot, data: Union[dict, str], width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, events: Union[List[str], NoneType] = None) ‑> Component

        Create a visualization for display inside a form.

        Args
        plot
        The plot to be rendered in this visualization.
        data
        Data for this visualization.
        width
        The width of the visualization. Defaults to 100%.
        height
        The hight of the visualization. Defaults to 300px.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        events
        The events to capture on this visualization.
        Returns

        A Visualization instance.

        wide_bar_stat_card

        def wide_bar_stat_card(box: str, title: str, value: str, aux_value: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> WideBarStatCard

        Create a wide stat card displaying a primary value, an auxiliary value and a progress bar.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        aux_value
        The auxiliary value displayed next to the primary value.
        progress
        The value of the progress bar, between 0 and 1.
        plot_color
        The color of the progress bar.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A WideBarStatCard instance.

        wide_gauge_stat_card

        def wide_gauge_stat_card(box: str, title: str, value: str, aux_value: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> WideGaugeStatCard

        Create a wide stat card displaying a primary value, an auxiliary value and a progress gauge.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        aux_value
        The auxiliary value displayed next to the primary value.
        progress
        The value of the progress gauge, between 0 and 1.
        plot_color
        The color of the progress gauge.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A WideGaugeStatCard instance.

        wide_series_stat_card

        def wide_series_stat_card(box: str, title: str, value: str, aux_value: str, plot_data: Union[Data, str], plot_value: str, plot_zero_value: Union[float, NoneType] = None, plot_category: Union[str, NoneType] = None, plot_type: Union[str, NoneType] = None, plot_curve: Union[str, NoneType] = None, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> WideSeriesStatCard

        Create a wide stat card displaying a primary value, an auxiliary value and a series plot.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        aux_value
        The auxiliary value displayed below the primary value.
        plot_data
        The plot's data.
        plot_value
        The data field to use for y-axis values.
        plot_zero_value
        The base value to use for each y-axis mark. Set this to 0 if you want to pin the x-axis at y=0. If not provided, the minimum value from the data is used.
        plot_category
        The data field to use for x-axis values (ignored if plot_type is area; must be provided if plot_type is interval). Defaults to 'x'.
        plot_type
        The type of plot. Defaults to area. One of 'area', 'interval'. See enum h2o_wave.ui.WideSeriesStatCardPlotType.
        plot_curve
        The plot's curve style. Defaults to linear. One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.WideSeriesStatCardPlotCurve.
        plot_color
        The plot's color.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A WideSeriesStatCard instance.

        zone

        def zone(name: str, size: Union[str, NoneType] = None, direction: Union[str, NoneType] = None, justify: Union[str, NoneType] = None, align: Union[str, NoneType] = None, wrap: Union[str, NoneType] = None, zones: Union[List[Zone], NoneType] = None) ‑> Zone

        Represents an zone within a page layout.

        Args
        name
        An identifying name for this zone.
        size
        The size of this zone.
        direction
        Layout direction. One of 'row', 'column'. See enum h2o_wave.ui.ZoneDirection.
        justify
        Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ZoneJustify.
        align
        Layout strategy for cross axis. One of 'start', 'end', 'center', 'stretch'. See enum h2o_wave.ui.ZoneAlign.
        wrap
        Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.ZoneWrap.
        zones
        The sub-zones contained inside this zone.
        Returns

        A Zone instance.

        - - - - - - - - - - - - - - - - +

        Module h2o_wave.ui

        Functions

        breadcrumb

        def breadcrumb(name: str, label: str) ‑> Breadcrumb

        Create a breadcrumb for a BreadcrumbsCard.

        Args
        name
        The name of this item. Prefix the name with a '#' to trigger hash-change navigation.
        label
        The label to display.
        Returns

        A Breadcrumb instance.

        breadcrumbs_card

        def breadcrumbs_card(box: str, items: List[Breadcrumb], commands: Union[List[Command], NoneType] = None) ‑> BreadcrumbsCard

        Create a card containing breadcrumbs. Breadcrumbs should be used as a navigational aid in your app or site. They indicate the current page’s location within a hierarchy and help the user understand where they are in relation to the rest of that hierarchy. They also afford one-click access to higher levels of that hierarchy. Breadcrumbs are typically placed, in horizontal form, under the masthead or navigation of an experience, above the primary content area.

        Args
        box
        A string indicating how to place this component on the page.
        items
        A list of Breadcrumb instances to display. See breadcrumb()
        commands
        Contextual menu commands for this component.
        Returns

        A BreadcrumbsCard instance.

        button

        def button(name: str, label: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, value: Union[str, NoneType] = None, primary: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, link: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a button.

        Buttons are best used to enable a user to commit a change or complete steps in a task. They are typically found inside forms, dialogs, panels or pages. An example of their usage is confirming the deletion of a file in a confirmation dialog.

        When considering their place in a layout, contemplate the order in which a user will flow through the UI. As an example, in a form, the individual will need to read and interact with the form fields before submitting the form. Therefore, as a general rule, the button should be placed at the bottom of the UI container which holds the related UI elements.

        Buttons may be placed within a "buttons" component which will lay out the buttons horizontally, or used individually and they will be stacked vertically.

        While buttons can technically be used to navigate a user to another part of the experience, this is not recommended unless that navigation is part of an action or their flow.

        Args
        name
        An identifying name for this component. If the name is prefixed with a '#', the button sets the location hash to the name when clicked.
        label
        The text displayed on the button.
        caption
        The caption displayed below the label. Setting a caption renders a compound button.
        value
        A value for this button. If a value is set, it is used for the button's submitted instead of a boolean True.
        primary
        True if the button should be rendered as the primary button in the set.
        disabled
        True if the button should be disabled.
        link
        True if the button should be rendered as link text and not a standard button.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Button instance.

        buttons

        def buttons(items: List[Component], justify: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Create a set of buttons laid out horizontally.

        Args
        items
        The button in this set.
        justify
        Specifies how to lay out buttons horizontally. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ButtonsJustify.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Buttons instance.

        checkbox

        def checkbox(name: str, label: Union[str, NoneType] = None, value: Union[bool, NoneType] = None, indeterminate: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a checkbox.

        A checkbox allows users to switch between two mutually exclusive options (checked or unchecked, on or off) through a single click or tap. It can also be used to indicate a subordinate setting or preference when paired with another component.

        A checkbox is used to select or deselect action items. It can be used for a single item or for a list of multiple items that a user can choose from. The component has two selection states: unselected and selected.

        For a binary choice, the main difference between a checkbox and a toggle switch is that the checkbox is for status and the toggle switch is for action.

        Use multiple checkboxes for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the checkbox.
        value
        True if selected, False if unselected.
        indeterminate
        True if the selection is indeterminate (neither selected nor unselected).
        disabled
        True if the checkbox is disabled.
        trigger
        True if the form should be submitted when the checkbox value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Checkbox instance.

        checklist

        def checklist(name: str, label: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, choices: Union[List[Choice], NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a set of checkboxes. Use this for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed above the component.
        values
        The names of the selected choices.
        choices
        The choices to be presented.
        trigger
        True if the form should be submitted when the checklist value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Checklist instance.

        choice

        def choice(name: str, label: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None) ‑> Choice

        Create a choice for a checklist, choice group or dropdown.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        disabled
        True if the checkbox is disabled.
        Returns

        A Choice instance.

        choice_group

        def choice_group(name: str, label: Union[str, NoneType] = None, value: Union[str, NoneType] = None, choices: Union[List[Choice], NoneType] = None, required: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a choice group. The choice group component, also known as radio buttons, let users select one option from two or more choices. Each option is represented by one choice group button; a user can select only one choice group in a button group.

        Choice groups emphasize all options equally, and that may draw more attention to the options than necessary. Consider using other components, unless the options deserve extra attention from the user. For example, if the default option is recommended for most users in most situations, use a dropdown instead.

        If there are only two mutually exclusive options, combine them into a single Checkbox or Toggle switch. For example, use a checkbox for "I agree" instead of choice group buttons for "I agree" and "I don't agree."

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        value
        The name of the selected choice.
        choices
        The choices to be presented.
        required
        True if this field is required.
        trigger
        True if the form should be submitted when the selection changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A ChoiceGroup instance.

        color_picker

        def color_picker(name: str, label: Union[str, NoneType] = None, value: Union[str, NoneType] = None, choices: Union[List[str], NoneType] = None, visible: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a color picker.

        A date picker allows a user to pick a color value. If the 'choices' parameter is set, a swatch picker is displayed instead of the standard color picker.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        value
        The selected color (CSS-compatible string).
        choices
        A list of colors (CSS-compatible strings) to limit color choices to.
        visible
        True if the component should be visible. Defaults to true.
        trigger
        True if the form should be submitted when the color picker value changes.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A ColorPicker instance.

        combobox

        def combobox(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, choices: Union[List[str], NoneType] = None, error: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a combobox.

        A combobox is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button or by typing in the input. They are used to simplify the design and make a choice within the UI.

        When closed, only the selected item is visible. When users click the drop-down button, all the options become visible. To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value. When collapsed the user can select a new value by typing.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        placeholder
        A string that provides a brief hint to the user as to what kind of information is expected in the field.
        value
        The name of the selected choice.
        choices
        The choices to be presented.
        error
        Text to be displayed as an error below the text box.
        disabled
        True if this field is disabled.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Combobox instance.

        command

        def command(name: str, label: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, items: Union[List[Command], NoneType] = None, value: Union[str, NoneType] = None, data: Union[str, NoneType] = None) ‑> Command

        Create a command.

        Commands are typically displayed as context menu items or toolbar button.

        Args
        name
        An identifying name for this component. If the name is prefixed with a '#', the command sets the location hash to the name when executed.
        label
        The text displayed for this command.
        caption
        The caption for this command (typically a tooltip).
        icon
        The icon to be displayed for this command.
        items
        Sub-commands, if any
        value
        Data associated with this command, if any.
        data
        DEPRECATED. Use value instead. Data associated with this command, if any.
        Returns

        A Command instance.

        date_picker

        def date_picker(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a date picker.

        A date picker allows a user to pick a date value.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        placeholder
        A string that provides a brief hint to the user as to what kind of information is expected in the field.
        value
        The date value in YYYY-MM-DD format.
        disabled
        True if this field is disabled.
        trigger
        True if the form should be submitted when the datepicker value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A DatePicker instance.

        dialog

        def dialog(title: str, items: List[Component], width: Union[str, NoneType] = None, closable: Union[bool, NoneType] = None, blocking: Union[bool, NoneType] = None, primary: Union[bool, NoneType] = None) ‑> Dialog

        A dialog box (Dialog) is a temporary pop-up that takes focus from the page or app and requires people to interact with it. It’s primarily used for confirming actions, such as deleting a file, or asking people to make a choice.

        Args
        title
        The dialog's title.
        items
        The components displayed in this dialog.
        width
        The width of the dialog, e.g. '400px', defaults to '600px'.
        closable
        True if the dialog should have a closing 'X' button at the top right corner.
        blocking
        True to disable all actions and commands behind the dialog. Blocking dialogs should be used very sparingly, only when it is critical that the user makes a choice or provides information before they can proceed. Blocking dialogs are generally used for irreversible or potentially destructive tasks. Defaults to false.
        primary
        Dialog with large header banner, mutually exclusive with closable prop. Defaults to false.
        Returns

        A Dialog instance.

        dropdown

        def dropdown(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, choices: Union[List[Choice], NoneType] = None, required: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a dropdown.

        A dropdown is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button. They are used to simplify the design and make a choice within the UI. When closed, only the selected item is visible. When users click the drop-down button, all the options become visible.

        To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value.

        Note: Use either the 'value' parameter or the 'values' parameter. Setting the 'values' parameter renders a multi-select dropdown.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        placeholder
        A string that provides a brief hint to the user as to what kind of information is expected in the field.
        value
        The name of the selected choice.
        values
        The names of the selected choices. If this parameter is set, multiple selections will be allowed.
        choices
        The choices to be presented.
        required
        True if this is a required field.
        disabled
        True if this field is disabled.
        trigger
        True if the form should be submitted when the dropdown value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Dropdown instance.

        expander

        def expander(name: str, label: Union[str, NoneType] = None, expanded: Union[bool, NoneType] = None, items: Union[List[Component], NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Creates a new expander.

        Expanders can be used to show or hide a group of related components.

        Args
        name
        An identifying name for this component.
        label
        The text displayed on the expander.
        expanded
        True if expanded, False if collapsed.
        items
        List of components to be hideable by the expander.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Expander instance.

        file_upload

        def file_upload(name: str, label: Union[str, NoneType] = None, multiple: Union[bool, NoneType] = None, file_extensions: Union[List[str], NoneType] = None, max_file_size: Union[float, NoneType] = None, max_size: Union[float, NoneType] = None, height: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a file upload component. A file upload component allows a user to browse, select and upload one or more files.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        multiple
        True if the component should allow multiple files to be uploaded.
        file_extensions
        List of allowed file extensions, e.g. pdf, docx, etc.
        max_file_size
        Maximum allowed size (Mb) per file. Defaults to no limit.
        max_size
        Maximum allowed size (Mb) for all files combined. Defaults to no limit.
        height
        The height of the file upload, e.g. '400px', '50%', etc.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A FileUpload instance.

        flex_card

        def flex_card(box: str, item_view: str, item_props: Union[dict, str], data: Union[Data, str], direction: Union[str, NoneType] = None, justify: Union[str, NoneType] = None, align: Union[str, NoneType] = None, wrap: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> FlexCard

        EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out using a one-dimensional model with flexible alignemnt and wrapping capabilities.

        Args
        box
        A string indicating how to place this component on the page.
        item_view
        The child card type.
        item_props
        The child card properties.
        data
        Data for this card.
        direction
        Layout direction. One of 'horizontal', 'vertical'. See enum h2o_wave.ui.FlexCardDirection.
        justify
        Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.FlexCardJustify.
        align
        Layout strategy for cross axis. One of 'start', 'end', 'center', 'baseline', 'stretch'. See enum h2o_wave.ui.FlexCardAlign.
        wrap
        Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.FlexCardWrap.
        commands
        Contextual menu commands for this component.
        Returns

        A FlexCard instance.

        footer_card

        def footer_card(box: str, caption: str, commands: Union[List[Command], NoneType] = None) ‑> FooterCard

        Render a page footer displaying a caption. Footer cards are typically displayed at the bottom of a page.

        Args
        box
        A string indicating how to place this component on the page.
        caption
        The caption. Supports markdown.
        commands
        Contextual menu commands for this component.
        Returns

        A FooterCard instance.

        form_card

        def form_card(box: str, items: Union[List[Component], str], title: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> FormCard

        Create a form.

        Args
        box
        A string indicating how to place this component on the page.
        items
        The components in this form.
        title
        The title for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A FormCard instance.

        frame

        def frame(path: Union[str, NoneType] = None, content: Union[str, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Create a new inline frame (an iframe).

        Args
        path
        The path or URL of the web page, e.g. /foo.html or http://example.com/foo.html
        content
        The HTML content of the page. A string containing <html>...</html>.
        width
        The width of the frame, e.g. 200px, 50%, etc. Defaults to 100%.
        height
        The height of the frame, e.g. 200px, 50%, etc. Defaults to 150px.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Frame instance.

        frame_card

        def frame_card(box: str, title: str, path: Union[str, NoneType] = None, content: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> FrameCard

        Render a card containing a HTML page inside an inline frame (an iframe).

        Either a path or content can be provided as arguments.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        path
        The path or URL of the web page, e.g. /foo.html or http://example.com/foo.html
        content
        The HTML content of the page. A string containing <html>...</html>
        commands
        Contextual menu commands for this component.
        Returns

        A FrameCard instance.

        graphics_card

        def graphics_card(box: str, view_box: str, stage: Union[List[dict], str, NoneType] = None, scene: Union[Data, str, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> GraphicsCard

        Create a card for displaying vector graphics.

        Args
        box
        A string indicating how to place this component on the page.
        view_box
        The position and dimension of the SVG viewport, in user space. A space-separated list of four numbers: min-x, min-y, width and height. For example, '0 0 400 300'. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox
        stage
        Background layer for rendering static SVG elements. Must be packed to conserve memory.
        scene
        Foreground layer for rendering dynamic SVG elements.
        width
        The displayed width of the rectangular viewport. (Not the width of its coordinate system.)
        height
        The displayed height of the rectangular viewport. (Not the height of its coordinate system.)
        commands
        Contextual menu commands for this component.
        Returns

        A GraphicsCard instance.

        grid_card

        def grid_card(box: str, title: str, cells: Union[Data, str], data: Union[Data, str], commands: Union[List[Command], NoneType] = None) ‑> GridCard

        EXPERIMENTAL. DO NOT USE.

        Args
        box
        A string indicating how to place this component on the page.
        title
        EXPERIMENTAL. DO NOT USE.
        cells
        EXPERIMENTAL. DO NOT USE.
        data
        EXPERIMENTAL. DO NOT USE.
        commands
        Contextual menu commands for this component.
        Returns

        A GridCard instance.

        header_card

        def header_card(box: str, title: str, subtitle: str, icon: Union[str, NoneType] = None, icon_color: Union[str, NoneType] = None, nav: Union[List[NavGroup], NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> HeaderCard

        Render a page header displaying a title, subtitle and an optional navigation menu. Header cards are typically used for top-level navigation.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title.
        subtitle
        The subtitle, displayed below the title.
        icon
        The icon type, displayed to the left.
        icon_color
        The icon's color.
        nav
        The navigation menu to display when the header's icon is clicked.
        commands
        Contextual menu commands for this component.
        Returns

        A HeaderCard instance.

        icon_table_cell_type

        def icon_table_cell_type(color: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> TableCellType

        Create a cell type that renders a column's cells as icons instead of plain text. If set on a column, the cell value is interpreted as the name of the icon to be displayed.

        Args
        color
        Icon color.
        name
        An identifying name for this component.
        Returns

        A IconTableCellType instance.

        image_card

        def image_card(box: str, title: str, type: str, image: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> ImageCard

        Create a card that displays a base64-encoded image.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        type
        The image MIME subtype. One of apng, bmp, gif, x-icon, jpeg, png, webp.
        image
        Image data, base64-encoded.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A ImageCard instance.

        inline

        def inline(items: List[Component], justify: Union[str, NoneType] = None, inset: Union[bool, NoneType] = None) ‑> Component

        Create an inline (horizontal) list of components.

        Args
        items
        The components laid out inline.
        justify
        Specifies how to lay out the individual components. Defaults to 'start'. One of 'start', 'end'. See enum h2o_wave.ui.InlineJustify.
        inset
        Whether to display the components inset from the parent form, with a contrasting background.
        Returns

        A Inline instance.

        label

        def label(label: str, required: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create a label.

        Labels give a name or title to a component or group of components. Labels should be in close proximity to the component or group they are paired with. Some components, such as textboxes, dropdowns, or toggles, already have labels incorporated, but other components may optionally add a Label if it helps inform the user of the component’s purpose.

        Args
        label
        The text displayed on the label.
        required
        True if the field is required.
        disabled
        True if the label should be disabled.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        name
        An identifying name for this component.
        Returns

        A Label instance.

        large_bar_stat_card

        def large_bar_stat_card(box: str, title: str, caption: str, value: str, aux_value: str, value_caption: str, aux_value_caption: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> LargeBarStatCard

        Create a large captioned card displaying a primary value, an auxiliary value and a progress bar, with captions for each value.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        caption
        The card's caption.
        value
        The primary value displayed.
        aux_value
        The auxiliary value, typically a target value.
        value_caption
        The caption displayed below the primary value.
        aux_value_caption
        The caption displayed below the auxiliary value.
        progress
        The value of the progress bar, between 0 and 1.
        plot_color
        The color of the progress bar.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A LargeBarStatCard instance.

        large_stat_card

        def large_stat_card(box: str, title: str, value: str, aux_value: str, caption: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> LargeStatCard

        Create a stat card displaying a primary value, an auxiliary value and a caption.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        aux_value
        The auxiliary value displayed next to the primary value.
        caption
        The caption displayed below the primary value.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A LargeStatCard instance.

        layout

        def layout(breakpoint: str, zones: List[Zone], width: Union[str, NoneType] = None, min_width: Union[str, NoneType] = None, max_width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, min_height: Union[str, NoneType] = None, max_height: Union[str, NoneType] = None) ‑> Layout

        Represents the layout structure for a page.

        Args
        breakpoint
        The minimum viewport width at which to use this layout. Values must be pixel widths (e.g. '0px', '576px', '768px') or a named preset. The named presets are: 'xs': '0px' for extra small devices (portrait phones), 's': '576px' for small devices (landscape phones), 'm': '768px' for medium devices (tablets), 'l': '992px' for large devices (desktops), 'xl': '1200px' for extra large devices (large desktops). A breakpoint value of 'xs' (or '0') matches all viewport widths, unless other breakpoints are set.
        zones
        The zones in this layout. Each zones can in turn contain sub-zones.
        width
        The width of the layout. Defaults to 100%.
        min_width
        The minimum width of the layout.
        max_width
        The maximum width of the layout.
        height
        The height of the layout. Defaults to auto.
        min_height
        The minimum height of the layout.
        max_height
        The maximum height of the layout.
        Returns

        A Layout instance.

        link

        def link(label: Union[str, NoneType] = None, path: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None, download: Union[bool, NoneType] = None, button: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, target: Union[str, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create a hyperlink.

        Hyperlinks can be internal or external. Internal hyperlinks have paths that begin with a / and point to URLs within the Wave UI. All other kinds of paths are treated as external hyperlinks.

        Args
        label
        The text to be displayed. If blank, the path is used as the label.
        path
        The path or URL to link to.
        disabled
        True if the link should be disabled.
        download
        True if the link should be used for file download.
        button
        True if the link should be rendered as a button.
        visible
        True if the component should be visible. Defaults to true.
        target
        Where to display the link. Setting this to an empty string or '_blank' opens the link in a new tab or window.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        name
        An identifying name for this component.
        Returns

        A Link instance.

        list_card

        def list_card(box: str, title: str, item_view: str, item_props: Union[dict, str], data: Union[Data, str], commands: Union[List[Command], NoneType] = None) ‑> ListCard

        EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out in the form of a list (vertically, top-to-bottom).

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        item_view
        The child card type.
        item_props
        The child card properties.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A ListCard instance.

        list_item1_card

        def list_item1_card(box: str, title: str, caption: str, value: str, aux_value: str, data: Union[dict, str], commands: Union[List[Command], NoneType] = None) ‑> ListItem1Card

        EXPERIMENTAL. DO NOT USE.

        Args
        box
        A string indicating how to place this component on the page.
        title
        EXPERIMENTAL. DO NOT USE.
        caption
        EXPERIMENTAL. DO NOT USE.
        value
        EXPERIMENTAL. DO NOT USE.
        aux_value
        EXPERIMENTAL. DO NOT USE.
        data
        EXPERIMENTAL. DO NOT USE.
        commands
        Contextual menu commands for this component.
        Returns

        A ListItem1Card instance.

        mark

        def mark(coord: Union[str, NoneType] = None, type: Union[str, NoneType] = None, x: Union[str, int, float, NoneType] = None, x0: Union[str, int, float, NoneType] = None, x1: Union[str, int, float, NoneType] = None, x2: Union[str, int, float, NoneType] = None, x_min: Union[float, NoneType] = None, x_max: Union[float, NoneType] = None, x_nice: Union[bool, NoneType] = None, x_scale: Union[str, NoneType] = None, x_title: Union[str, NoneType] = None, y: Union[str, int, float, NoneType] = None, y0: Union[str, int, float, NoneType] = None, y1: Union[str, int, float, NoneType] = None, y2: Union[str, int, float, NoneType] = None, y_min: Union[float, NoneType] = None, y_max: Union[float, NoneType] = None, y_nice: Union[bool, NoneType] = None, y_scale: Union[str, NoneType] = None, y_title: Union[str, NoneType] = None, color: Union[str, NoneType] = None, color_range: Union[str, NoneType] = None, color_domain: Union[List[str], NoneType] = None, shape: Union[str, NoneType] = None, shape_range: Union[str, NoneType] = None, size: Union[str, int, float, NoneType] = None, size_range: Union[str, NoneType] = None, stack: Union[str, NoneType] = None, dodge: Union[str, NoneType] = None, curve: Union[str, NoneType] = None, fill_color: Union[str, NoneType] = None, fill_opacity: Union[float, NoneType] = None, stroke_color: Union[str, NoneType] = None, stroke_opacity: Union[float, NoneType] = None, stroke_size: Union[float, NoneType] = None, stroke_dash: Union[str, NoneType] = None, label: Union[str, NoneType] = None, label_offset: Union[float, NoneType] = None, label_offset_x: Union[float, NoneType] = None, label_offset_y: Union[float, NoneType] = None, label_rotation: Union[str, NoneType] = None, label_position: Union[str, NoneType] = None, label_overlap: Union[str, NoneType] = None, label_fill_color: Union[str, NoneType] = None, label_fill_opacity: Union[float, NoneType] = None, label_stroke_color: Union[str, NoneType] = None, label_stroke_opacity: Union[float, NoneType] = None, label_stroke_size: Union[float, NoneType] = None, label_font_size: Union[float, NoneType] = None, label_font_weight: Union[str, NoneType] = None, label_line_height: Union[float, NoneType] = None, label_align: Union[str, NoneType] = None, ref_stroke_color: Union[str, NoneType] = None, ref_stroke_opacity: Union[float, NoneType] = None, ref_stroke_size: Union[float, NoneType] = None, ref_stroke_dash: Union[str, NoneType] = None) ‑> Mark

        Create a specification for a layer of graphical marks such as bars, lines, points for a plot. A plot can contain multiple such layers of marks.

        Args
        coord
        Coordinate system. rect is synonymous to cartesian. theta is transposed polar. One of 'rect', 'cartesian', 'polar', 'theta', 'helix'. See enum h2o_wave.ui.MarkCoord.
        type
        Graphical geometry. One of 'interval', 'line', 'path', 'point', 'area', 'polygon', 'schema', 'edge', 'heatmap'. See enum h2o_wave.ui.MarkType.
        x
        X field or value.
        x0
        X base field or value.
        x1
        X bin lower bound field or value. For histograms.
        x2
        X bin upper bound field or value. For histograms.
        x_min
        X axis scale minimum.
        x_max
        X axis scale maximum.
        x_nice
        Whether to nice X axis scale ticks.
        x_scale
        X axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkXScale.
        x_title
        X axis title.
        y
        Y field or value.
        y0
        Y base field or value.
        y1
        Y bin lower bound field or value. For histograms.
        y2
        Y bin upper bound field or value. For histograms.
        y_min
        Y axis scale minimum.
        y_max
        Y axis scale maximum.
        y_nice
        Whether to nice Y axis scale ticks.
        y_scale
        Y axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkYScale.
        y_title
        Y axis title.
        color
        Mark color field or value.
        color_range
        Mark color range for multi-series plots. A string containing space-separated colors, e.g. '#fee8c8 #fdbb84 #e34a33'
        color_domain
        The unique values in the data (labels or categories or classes) to map colors to, e.g. ['high', 'medium', 'low']. If this is not provided, the unique values are automatically inferred from the color attribute.
        shape
        Mark shape field or value for point mark types. Possible values are 'circle', 'square', 'bowtie', 'diamond', 'hexagon', 'triangle', 'triangle-down', 'cross', 'tick', 'plus', 'hyphen', 'line'.
        shape_range
        Mark shape range for multi-series plots using point mark types. A string containing space-separated shapes, e.g. 'circle square diamond'
        size
        Mark size field or value.
        size_range
        Mark size range. A string containing space-separated integers, e.g. '4 30'
        stack
        Field to stack marks by, or 'auto' to infer.
        dodge
        Field to dodge marks by, or 'auto' to infer.
        curve
        Curve type for line and area mark types. One of 'none', 'smooth', 'step-before', 'step', 'step-after'. See enum h2o_wave.ui.MarkCurve.
        fill_color
        Mark fill color.
        fill_opacity
        Mark fill opacity.
        stroke_color
        Mark stroke color.
        stroke_opacity
        Mark stroke opacity.
        stroke_size
        Mark stroke size.
        stroke_dash
        Mark stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].
        label
        Label field or value.
        label_offset
        Distance between label and mark.
        label_offset_x
        Horizontal distance between label and mark.
        label_offset_y
        Vertical distance between label and mark.
        label_rotation
        Label rotation angle, in degrees, or 'none' to disable automatic rotation. The default behavior is 'auto' for automatic rotation.
        label_position
        Label position relative to the mark. One of 'top', 'bottom', 'middle', 'left', 'right'. See enum h2o_wave.ui.MarkLabelPosition.
        label_overlap
        Strategy to use if labels overlap. One of 'hide', 'overlap', 'constrain'. See enum h2o_wave.ui.MarkLabelOverlap.
        label_fill_color
        Label fill color.
        label_fill_opacity
        Label fill opacity.
        label_stroke_color
        Label stroke color.
        label_stroke_opacity
        Label stroke opacity.
        label_stroke_size
        Label stroke size (line width or pen thickness).
        label_font_size
        Label font size.
        label_font_weight
        Label font weight.
        label_line_height
        Label line height.
        label_align
        Label text alignment. One of 'left', 'right', 'center', 'start', 'end'. See enum h2o_wave.ui.MarkLabelAlign.
        ref_stroke_color
        Reference line stroke color.
        ref_stroke_opacity
        Reference line stroke opacity.
        ref_stroke_size
        Reference line stroke size (line width or pen thickness).
        ref_stroke_dash
        Reference line stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].
        Returns

        A Mark instance.

        markdown_card

        def markdown_card(box: str, title: str, content: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> MarkdownCard

        Create a card that renders Markdown content.

        Github-flavored markdown is supported. HTML markup is allowed in markdown content. URLs, if found, are displayed as hyperlinks. Copyright, reserved, trademark, quotes, etc. are replaced with language-neutral symbols.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        content
        The markdown content. Supports Github Flavored Markdown (GFM): https://guides.github.com/features/mastering-markdown/
        data
        Additional data for the card.
        commands
        Contextual menu commands for this component.
        Returns

        A MarkdownCard instance.

        markup

        def markup(content: str, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Render HTML content.

        Args
        content
        The HTML content.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Markup instance.

        markup_card

        def markup_card(box: str, title: str, content: str, commands: Union[List[Command], NoneType] = None) ‑> MarkupCard

        Render HTML content.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        content
        The HTML content.
        commands
        Contextual menu commands for this component.
        Returns

        A MarkupCard instance.

        message_bar

        def message_bar(type: Union[str, NoneType] = None, text: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Create a message bar.

        A message bar is an area at the top of a primary view that displays relevant status information. You can use a message bar to tell the user about a situation that does not require their immediate attention and therefore does not need to block other activities.

        Args
        type
        The icon and color of the message bar. One of 'info', 'error', 'warning', 'success', 'danger', 'blocked'. See enum h2o_wave.ui.MessageBarType.
        text
        The text displayed on the message bar.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A MessageBar instance.

        meta_card

        def meta_card(box: str, title: Union[str, NoneType] = None, refresh: Union[int, NoneType] = None, notification: Union[str, NoneType] = None, redirect: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, layouts: Union[List[Layout], NoneType] = None, dialog: Union[Dialog, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> MetaCard

        Represents page-global state.

        This card is invisible. It is used to control attributes of the active page.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title of the page.
        refresh
        Refresh rate in seconds. A value of 0 turns off live-updates. Values != 0 are currently ignored (reserved for future use).
        notification
        Display a desktop notification.
        redirect
        Redirect the page to a new URL.
        icon
        Shortcut icon path. Preferably a .png file (.ico files may not work in mobile browsers).
        layouts
        The layouts supported by this page.
        dialog
        Display a dialog on the page.
        commands
        Contextual menu commands for this component.
        Returns

        A MetaCard instance.

        nav_card

        def nav_card(box: str, items: List[NavGroup], value: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> NavCard

        Create a card containing a navigation pane.

        Args
        box
        A string indicating how to place this component on the page.
        items
        The navigation groups contained in this pane.
        value
        The name of the active (highlighted) navigation item.
        commands
        Contextual menu commands for this component.
        Returns

        A NavCard instance.

        nav_group

        def nav_group(label: str, items: List[NavItem], collapsed: Union[bool, NoneType] = None) ‑> NavGroup

        Create a group of navigation items.

        Args
        label
        The label to display for this group.
        items
        The navigation items contained in this group.
        collapsed
        Indicates whether nav groups should be rendered as collapsed initially
        Returns

        A NavGroup instance.

        nav_item

        def nav_item(name: str, label: str, icon: Union[str, NoneType] = None, disabled: Union[bool, NoneType] = None) ‑> NavItem

        Create a navigation item.

        Args
        name
        The name of this item. Prefix the name with a '#' to trigger hash-change navigation.
        label
        The label to display.
        icon
        An optional icon to display next to the label.
        disabled
        True if this item should be disabled.
        Returns

        A NavItem instance.

        picker

        def picker(name: str, choices: List[Choice], label: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, max_choices: Union[int, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a picker. Pickers are used to select one or more choices, such as tags or files, from a list. Use a picker to allow the user to quickly search for or manage a few tags or files.

        Args
        name
        An identifying name for this component.
        choices
        The choices to be presented.
        label
        Text to be displayed above the component.
        values
        The names of the selected choices.
        max_choices
        Maximum number of selectable choices. Defaults to no limit.
        disabled
        Controls whether the picker should be disabled or not.
        visible
        True if the component should be visible. Defaults to true.
        trigger
        True if the form should be submitted when the picker value changes.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Picker instance.

        pixel_art_card

        def pixel_art_card(box: str, title: str, data: Union[dict, str], commands: Union[List[Command], NoneType] = None) ‑> PixelArtCard

        Create a card displaying a collaborative Pixel art tool, just for kicks.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        data
        The data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A PixelArtCard instance.

        plot

        def plot(marks: List[Mark]) ‑> Plot

        Create a plot. A plot is composed of one or more graphical mark layers.

        Args
        marks
        The graphical mark layers contained in this plot.
        Returns

        A Plot instance.

        plot_card

        def plot_card(box: str, title: str, data: Union[dict, str], plot: Plot, events: Union[List[str], NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> PlotCard

        Create a card displaying a plot.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        data
        Data for this card.
        plot
        The plot to be displayed in this card.
        events
        The events to capture on this card.
        commands
        Contextual menu commands for this component.
        Returns

        A PlotCard instance.

        progress

        def progress(label: str, caption: Union[str, NoneType] = None, value: Union[float, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create a progress bar.

        Progress bars are used to show the completion status of an operation lasting more than 2 seconds. If the state of progress cannot be determined, do not set a value. Progress bars feature a bar showing total units to completion, and total units finished. The label appears above the bar, and the caption appears below. The label should tell someone exactly what the operation is doing.

        Examples of formatting include: [Object] is being [operation name], or [Object] is being [operation name] to [destination name] or [Object] is being [operation name] from [source name] to [destination name]

        Status text is generally in units elapsed and total units. Real-world examples include copying files to a storage location, saving edits to a file, and more. Use units that are informative and relevant to give the best idea to users of how long the operation will take to complete. Avoid time units as they are rarely accurate enough to be trustworthy. Also, combine steps of a complex operation into one total bar to avoid “rewinding” the bar. Instead change the label to reflect the change if necessary. Bars moving backwards reduce confidence in the service.

        Args
        label
        The text displayed above the bar.
        caption
        The text displayed below the bar.
        value
        The progress, between 0.0 and 1.0, or -1 (default) if indeterminate.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        name
        An identifying name for this component.
        Returns

        A Progress instance.

        progress_table_cell_type

        def progress_table_cell_type(color: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> TableCellType

        Create a cell type that renders a column's cells as progress bars instead of plain text. If set on a column, the cell value must be between 0.0 and 1.0.

        Args
        color
        Color of the progress arc.
        name
        An identifying name for this component.
        Returns

        A ProgressTableCellType instance.

        range_slider

        def range_slider(name: str, label: Union[str, NoneType] = None, min: Union[float, NoneType] = None, max: Union[float, NoneType] = None, step: Union[float, NoneType] = None, min_value: Union[float, NoneType] = None, max_value: Union[float, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a range slider.

        A range slider is an element used to select a value range. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. Knobs or levers are dragged to one end or the other to make the choice, indicating the current max and min value.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        min
        The minimum value of the slider. Defaults to 0.
        max
        The maximum value of the slider. Defaults to 100.
        step
        The difference between two adjacent values of the slider.
        min_value
        The lower bound of the selected range.
        max_value
        The upper bound of the selected range.
        disabled
        True if this field is disabled.
        trigger
        True if the form should be submitted when the slider value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A RangeSlider instance.

        repeat_card

        def repeat_card(box: str, item_view: str, item_props: Union[dict, str], data: Union[Data, str], commands: Union[List[Command], NoneType] = None) ‑> RepeatCard

        EXPERIMENTAL. DO NOT USE. Create a card containing other cards.

        Args
        box
        A string indicating how to place this component on the page.
        item_view
        EXPERIMENTAL. DO NOT USE.
        item_props
        The child card properties.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A RepeatCard instance.

        section_card

        def section_card(box: str, title: str, subtitle: str, items: Union[List[Component], str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> SectionCard

        Render a card displaying a title, a subtitle, and optional components. Section cards are typically used to demarcate different sections on a page.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title.
        subtitle
        The subtitle, displayed below the title. Supports Markdown.
        items
        The components to display in this card
        commands
        Contextual menu commands for this component.
        Returns

        A SectionCard instance.

        separator

        def separator(label: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Create a separator.

        A separator visually separates content into groups.

        Args
        label
        The text displayed on the separator.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Separator instance.

        slider

        def slider(name: str, label: Union[str, NoneType] = None, min: Union[float, NoneType] = None, max: Union[float, NoneType] = None, step: Union[float, NoneType] = None, value: Union[float, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a slider.

        A slider is an element used to set a value. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. A knob or lever is dragged to one end or the other to make the choice, indicating the current value. Marks on the slider bar can show values and users can choose where they want to drag the knob or lever to set the value.

        A slider is a good choice when you know that users think of the value as a relative quantity, not a numeric value. For example, users think about setting their audio volume to low or medium — not about setting the value to two or five.

        The default value of the slider will be zero or be constrained to the min and max values. The min will be returned if the value is set under the min and the max will be returned if set higher than the max value.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        min
        The minimum value of the slider.
        max
        The maximum value of the slider.
        step
        The difference between two adjacent values of the slider.
        value
        The current value of the slider.
        disabled
        True if this field is disabled.
        trigger
        True if the form should be submitted when the slider value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Slider instance.

        small_series_stat_card

        def small_series_stat_card(box: str, title: str, value: str, plot_data: Union[Data, str], plot_value: str, plot_zero_value: Union[float, NoneType] = None, plot_category: Union[str, NoneType] = None, plot_type: Union[str, NoneType] = None, plot_curve: Union[str, NoneType] = None, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> SmallSeriesStatCard

        Create a small stat card displaying a primary value and a series plot.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        plot_data
        The plot's data.
        plot_value
        The data field to use for y-axis values.
        plot_zero_value
        The base value to use for each y-axis mark. Set this to 0 if you want to pin the x-axis at y=0. If not provided, the minimum value from the data is used.
        plot_category
        The data field to use for x-axis values (ignored if plot_type is area; must be provided if plot_type is interval). Defaults to 'x'.
        plot_type
        The type of plot. Defaults to area. One of 'area', 'interval'. See enum h2o_wave.ui.SmallSeriesStatCardPlotType.
        plot_curve
        The plot's curve style. Defaults to linear. One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.SmallSeriesStatCardPlotCurve.
        plot_color
        The plot's color.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A SmallSeriesStatCard instance.

        small_stat_card

        def small_stat_card(box: str, title: str, value: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> SmallStatCard

        Create a stat card displaying a single value.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A SmallStatCard instance.

        spinbox

        def spinbox(name: str, label: Union[str, NoneType] = None, min: Union[float, NoneType] = None, max: Union[float, NoneType] = None, step: Union[float, NoneType] = None, value: Union[float, NoneType] = None, disabled: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a spinbox.

        A spinbox allows the user to incrementally adjust a value in small steps. It is mainly used for numeric values, but other values are supported too.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        min
        The minimum value of the spinbox.
        max
        The maximum value of the spinbox.
        step
        The difference between two adjacent values of the spinbox.
        value
        The current value of the spinbox.
        disabled
        True if this field is disabled.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Spinbox instance.

        stat

        def stat(label: str, value: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, icon_color: Union[str, NoneType] = None) ‑> Stat

        Create a stat (a label-value pair) for displaying a metric.

        Args
        label
        The label for the metric.
        value
        The value of the metric.
        caption
        The caption displayed below the primary value.
        icon
        An optional icon, displayed next to the label.
        icon_color
        The color of the icon.
        Returns

        A Stat instance.

        stat_list_card

        def stat_list_card(box: str, title: str, items: List[StatListItem], name: Union[str, NoneType] = None, subtitle: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> StatListCard

        Render a card displaying a list of stats.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title.
        items
        The individual stats to be displayed.
        name
        An optional name for this item.
        subtitle
        The subtitle, displayed below the title.
        commands
        Contextual menu commands for this component.
        Returns

        A StatListCard instance.

        stat_list_item

        def stat_list_item(label: str, name: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, value: Union[str, NoneType] = None, value_color: Union[str, NoneType] = None, aux_value: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, icon_color: Union[str, NoneType] = None) ‑> StatListItem

        Create a stat item (a label-value pair) for stat_list_card.

        Args
        label
        The label for the metric.
        name
        An optional name for this item (required only if this item is clickable).
        caption
        The caption for the metric, displayed below the label.
        value
        The primary value of the metric.
        value_color
        The font color of the primary value.
        aux_value
        The auxiliary value, displayed below the primary value.
        icon
        An optional icon, displayed next to the label.
        icon_color
        The color of the icon.
        Returns

        A StatListItem instance.

        stat_table_card

        def stat_table_card(box: str, title: str, columns: List[str], items: List[StatTableItem], name: Union[str, NoneType] = None, subtitle: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> StatTableCard

        Render a card displaying a table of stats.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title.
        columns
        The names of this table's columns.
        items
        The rows displayed in this table.
        name
        An optional name for this item.
        subtitle
        The subtitle, displayed below the title.
        commands
        Contextual menu commands for this component.
        Returns

        A StatTableCard instance.

        stat_table_item

        def stat_table_item(label: str, values: List[str], name: Union[str, NoneType] = None, caption: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, icon_color: Union[str, NoneType] = None) ‑> StatTableItem

        Create a stat item (a label and a set of values) for stat_table_card.

        Args
        label
        The label for the row.
        values
        The values displayed in the row.
        name
        An optional name for this row (required only if this row is clickable).
        caption
        The caption for the metric, displayed below the label.
        icon
        An optional icon, displayed next to the label.
        icon_color
        The color of the icon.
        Returns

        A StatTableItem instance.

        stats

        def stats(items: List[Stat], justify: Union[str, NoneType] = None, inset: Union[bool, NoneType] = None) ‑> Component

        Create a set of stats laid out horizontally.

        Args
        items
        The individual stats to be displayed.
        justify
        Specifies how to lay out the individual stats. Defaults to 'start'. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.StatsJustify.
        inset
        Whether to display the stats with a contrasting background.
        Returns

        A Stats instance.

        step

        def step(label: str, icon: Union[str, NoneType] = None, done: Union[bool, NoneType] = None) ‑> Step

        Create a step for a stepper.

        Args
        label
        Text displayed below icon.
        icon
        Icon to be displayed.
        done
        Indicates whether this step has already been completed.
        Returns

        A Step instance.

        stepper

        def stepper(name: str, items: List[Step], visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a component that displays a sequence of steps in a process. The steps keep users informed about where they are in the process and how much is left to complete.

        Args
        name
        An identifying name for this component.
        items
        The sequence of steps to be displayed.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Stepper instance.

        tab

        def tab(name: str, label: Union[str, NoneType] = None, icon: Union[str, NoneType] = None) ‑> Tab

        Create a tab.

        Args
        name
        An identifying name for this component.
        label
        The text displayed on the tab.
        icon
        The icon displayed on the tab.
        Returns

        A Tab instance.

        tab_card

        def tab_card(box: str, items: List[Tab], value: Union[str, NoneType] = None, link: Union[bool, NoneType] = None, name: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> TabCard

        Create a card containing tabs for navigation.

        Args
        box
        A string indicating how to place this component on the page.
        items
        The tabs to display in this card
        value
        The name of the tab to select.
        link
        True if tabs should be rendered as links instead of buttons.
        name
        An optional name for the card. If provided, the selected tab can be accessed using the name of the card.
        commands
        Contextual menu commands for this component.
        Returns

        A TabCard instance.

        table

        def table(name: str, columns: List[TableColumn], rows: List[TableRow], multiple: Union[bool, NoneType] = None, groupable: Union[bool, NoneType] = None, downloadable: Union[bool, NoneType] = None, resettable: Union[bool, NoneType] = None, height: Union[str, NoneType] = None, values: Union[List[str], NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create an interactive table.

        This table differs from a markdown table in that it supports clicking or selecting rows. If you simply want to display a non-interactive table of information, use a markdown table.

        If multiple is set to False (default), each row in the table is clickable. When a row is clicked, the form is submitted automatically, and q.args.table_name is set to [row_name], where table_name is the name of the table, and row_name is the name of the row that was clicked on.

        If multiple is set to True, each row in the table is selectable. A row can be selected by clicking on it. Multiple rows can be selected either by shift+clicking or using marquee selection. When the form is submitted,q.args.table_name is set to [row1_name, row2_name, …] where table_name is the name of the table, and row1_name, row2_name are the name of the rows that were selected. Note that if multiple is set to True, the form is not submitted automatically, and one or more buttons are required in the form to trigger submission.

        Args
        name
        An identifying name for this component.
        columns
        The columns in this table.
        rows
        The rows in this table.
        multiple
        True to allow multiple rows to be selected.
        groupable
        True to allow group by feature.
        downloadable
        Indicates whether the contents of this table can be downloaded and saved as a CSV file. Defaults to False.
        resettable
        Indicates whether a Reset button should be displayed to reset search / filter / group-by values to their defaults. Defaults to False.
        height
        The height of the table, e.g. '400px', '50%', etc.
        values
        The names of the selected rows. If this parameter is set, multiple selections will be allowed (multiple is assumed to be True).
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Table instance.

        table_column

        def table_column(name: str, label: str, min_width: Union[str, NoneType] = None, max_width: Union[str, NoneType] = None, sortable: Union[bool, NoneType] = None, searchable: Union[bool, NoneType] = None, filterable: Union[bool, NoneType] = None, link: Union[bool, NoneType] = None, data_type: Union[str, NoneType] = None, cell_type: Union[TableCellType, NoneType] = None) ‑> TableColumn

        Create a table column.

        Args
        name
        An identifying name for this column.
        label
        The text displayed on the column header.
        min_width
        The minimum width of this column, e.g. '50px'. Only px units are supported at this time.
        max_width
        The maximum width of this column, e.g. '100px'. Only px units are supported at this time.
        sortable
        Indicates whether the column is sortable.
        searchable
        Indicates whether the contents of this column can be searched through. Enables a search box for the table if true.
        filterable
        Indicates whether the contents of this column are displayed as filters in a dropdown.
        link
        Indicates whether each cell in this column should be displayed as a clickable link.
        data_type
        Defines the data type of this column. Defaults to string. One of 'string', 'number', 'time'. See enum h2o_wave.ui.TableColumnDataType.
        cell_type
        Defines how to render each cell in this column. Defaults to plain text.
        Returns

        A TableColumn instance.

        table_row

        def table_row(name: str, cells: List[str]) ‑> TableRow

        Create a table row.

        Args
        name
        An identifying name for this row.
        cells
        The cells in this row (displayed left to right).
        Returns

        A TableRow instance.

        tabs

        def tabs(name: str, value: Union[str, NoneType] = None, items: Union[List[Tab], NoneType] = None, visible: Union[bool, NoneType] = None, link: Union[bool, NoneType] = None) ‑> Component

        Create a tab bar.

        Args
        name
        An identifying name for this component.
        value
        The name of the tab to select.
        items
        The tabs in this tab bar.
        visible
        True if the component should be visible. Defaults to true.
        link
        True if tabs should be rendered as links instead of buttons.
        Returns

        A Tabs instance.

        tall_gauge_stat_card

        def tall_gauge_stat_card(box: str, title: str, value: str, aux_value: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> TallGaugeStatCard

        Create a tall stat card displaying a primary value, an auxiliary value and a progress gauge.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        aux_value
        The auxiliary value displayed next to the primary value.
        progress
        The value of the progress gauge, between 0 and 1.
        plot_color
        The color of the progress gauge.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A TallGaugeStatCard instance.

        tall_series_stat_card

        def tall_series_stat_card(box: str, title: str, value: str, aux_value: str, plot_data: Union[Data, str], plot_value: str, plot_zero_value: Union[float, NoneType] = None, plot_category: Union[str, NoneType] = None, plot_type: Union[str, NoneType] = None, plot_curve: Union[str, NoneType] = None, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> TallSeriesStatCard

        Create a tall stat card displaying a primary value, an auxiliary value and a series plot.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        aux_value
        The auxiliary value displayed below the primary value.
        plot_data
        The plot's data.
        plot_value
        The data field to use for y-axis values.
        plot_zero_value
        The base value to use for each y-axis mark. Set this to 0 if you want to pin the x-axis at y=0. If not provided, the minimum value from the data is used.
        plot_category
        The data field to use for x-axis values (ignored if plot_type is area; must be provided if plot_type is interval). Defaults to 'x'.
        plot_type
        The type of plot. Defaults to area. One of 'area', 'interval'. See enum h2o_wave.ui.TallSeriesStatCardPlotType.
        plot_curve
        The plot's curve style. Defaults to linear. One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.TallSeriesStatCardPlotCurve.
        plot_color
        The plot's color.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A TallSeriesStatCard instance.

        template

        def template(content: str, data: Union[dict, str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Render dynamic content using an HTML template.

        Args
        content
        The Handlebars template. https://handlebarsjs.com/guide/
        data
        Data for the Handlebars template
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A Template instance.

        template_card

        def template_card(box: str, title: str, content: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> TemplateCard

        Render dynamic content using an HTML template.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title for this card.
        content
        The Handlebars template. https://handlebarsjs.com/guide/
        data
        Data for the Handlebars template.
        commands
        Contextual menu commands for this component.
        Returns

        A TemplateCard instance.

        text

        def text(content: str, size: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create text content.

        Args
        content
        The text content.
        size
        The font size of the text content. One of 'xl', 'l', 'm', 's', 'xs'. See enum h2o_wave.ui.TextSize.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        Tooltip message.
        name
        An identifying name for this component.
        Returns

        A Text instance.

        text_l

        def text_l(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create large sized text content.

        Args
        content
        The text content.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        Tooltip message.
        commands
        Contextual menu commands for this component.
        name
        An identifying name for this component.
        Returns

        A TextL instance.

        text_m

        def text_m(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create medium sized text content.

        Args
        content
        The text content.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        Tooltip message.
        name
        An identifying name for this component.
        Returns

        A TextM instance.

        text_s

        def text_s(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create small sized text content.

        Args
        content
        The text content.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        Tooltip message.
        name
        An identifying name for this component.
        Returns

        A TextS instance.

        text_xl

        def text_xl(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, commands: Union[List[Command], NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create extra-large sized text content.

        Args
        content
        The text content.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        Tooltip message.
        commands
        Contextual menu commands for this component.
        name
        An identifying name for this component.
        Returns

        A TextXl instance.

        text_xs

        def text_xs(content: str, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None, name: Union[str, NoneType] = None) ‑> Component

        Create extra-small sized text content.

        Args
        content
        The text content.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        Tooltip message.
        name
        An identifying name for this component.
        Returns

        A TextXs instance.

        textbox

        def textbox(name: str, label: Union[str, NoneType] = None, placeholder: Union[str, NoneType] = None, value: Union[str, NoneType] = None, mask: Union[str, NoneType] = None, icon: Union[str, NoneType] = None, prefix: Union[str, NoneType] = None, suffix: Union[str, NoneType] = None, error: Union[str, NoneType] = None, required: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, readonly: Union[bool, NoneType] = None, multiline: Union[bool, NoneType] = None, password: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, height: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a text box.

        The text box component enables a user to type text into an app. It's typically used to capture a single line of text, but can be configured to capture multiple lines of text. The text displays on the screen in a simple, uniform format.

        Args
        name
        An identifying name for this component.
        label
        The text displayed above the field.
        placeholder
        A string that provides a brief hint to the user as to what kind of information is expected in the field. It should be a word or short phrase that demonstrates the expected type of data, rather than an explanatory message.
        value
        Text to be displayed inside the text box.
        mask
        The masking string that defines the mask's behavior. A backslash will escape any character. Special format characters are: '9': [0-9] 'a': [a-zA-Z] '*': [a-zA-Z0-9].
        icon
        Icon displayed in the far right end of the text field.
        prefix
        Text to be displayed before the text box contents.
        suffix
        Text to be displayed after the text box contents.
        error
        Text to be displayed as an error below the text box.
        required
        True if the text box is a required field.
        disabled
        True if the text box is disabled.
        readonly
        True if the text box is a read-only field.
        multiline
        True if the text box should allow multi-line text entry.
        password
        True if the text box should hide text content.
        trigger
        True if the form should be submitted when the text value changes.
        height
        The height of the text box, e.g. '100px'. Applicable only if multiline is true.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Textbox instance.

        toggle

        def toggle(name: str, label: Union[str, NoneType] = None, value: Union[bool, NoneType] = None, disabled: Union[bool, NoneType] = None, trigger: Union[bool, NoneType] = None, visible: Union[bool, NoneType] = None, tooltip: Union[str, NoneType] = None) ‑> Component

        Create a toggle. Toggles represent a physical switch that allows users to turn things on or off. Use toggles to present users with two mutually exclusive options (like on/off), where choosing an option results in an immediate action.

        Use a toggle for binary operations that take effect right after the user flips the Toggle. For example, use a Toggle to turn services or hardware components on or off. In other words, if a physical switch would work for the action, a Toggle is probably the best component to use.

        Args
        name
        An identifying name for this component.
        label
        Text to be displayed alongside the component.
        value
        True if selected, False if unselected.
        disabled
        True if the checkbox is disabled.
        trigger
        True if the form should be submitted when the toggle value changes.
        visible
        True if the component should be visible. Defaults to true.
        tooltip
        An optional tooltip message displayed when a user clicks the help icon to the right of the component.
        Returns

        A Toggle instance.

        toolbar_card

        def toolbar_card(box: str, items: List[Command], secondary_items: Union[List[Command], NoneType] = None, overflow_items: Union[List[Command], NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> ToolbarCard

        Create a card containing a toolbar.

        Args
        box
        A string indicating how to place this component on the page.
        items
        Items to render.
        secondary_items
        Items to render on the right side (or left, in RTL).
        overflow_items
        Items to render in an overflow menu.
        commands
        Contextual menu commands for this component.
        Returns

        A ToolbarCard instance.

        vega_card

        def vega_card(box: str, title: str, specification: str, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> VegaCard

        Create a card containing a Vega-lite plot.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The title of this card.
        specification
        The Vega-lite specification.
        data
        Data for the plot, if any.
        commands
        Contextual menu commands for this component.
        Returns

        A VegaCard instance.

        vega_visualization

        def vega_visualization(specification: str, data: Union[dict, str, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None) ‑> Component

        Create a Vega-lite plot for display inside a form.

        Args
        specification
        The Vega-lite specification.
        data
        Data for the plot, if any.
        width
        The width of the visualization. Defaults to 100%.
        height
        The height of the visualization. Defaults to 300px.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        Returns

        A VegaVisualization instance.

        visualization

        def visualization(plot: Plot, data: Union[dict, str], width: Union[str, NoneType] = None, height: Union[str, NoneType] = None, name: Union[str, NoneType] = None, visible: Union[bool, NoneType] = None, events: Union[List[str], NoneType] = None) ‑> Component

        Create a visualization for display inside a form.

        Args
        plot
        The plot to be rendered in this visualization.
        data
        Data for this visualization.
        width
        The width of the visualization. Defaults to 100%.
        height
        The hight of the visualization. Defaults to 300px.
        name
        An identifying name for this component.
        visible
        True if the component should be visible. Defaults to true.
        events
        The events to capture on this visualization.
        Returns

        A Visualization instance.

        wide_bar_stat_card

        def wide_bar_stat_card(box: str, title: str, value: str, aux_value: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> WideBarStatCard

        Create a wide stat card displaying a primary value, an auxiliary value and a progress bar.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        aux_value
        The auxiliary value displayed next to the primary value.
        progress
        The value of the progress bar, between 0 and 1.
        plot_color
        The color of the progress bar.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A WideBarStatCard instance.

        wide_gauge_stat_card

        def wide_gauge_stat_card(box: str, title: str, value: str, aux_value: str, progress: float, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> WideGaugeStatCard

        Create a wide stat card displaying a primary value, an auxiliary value and a progress gauge.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        aux_value
        The auxiliary value displayed next to the primary value.
        progress
        The value of the progress gauge, between 0 and 1.
        plot_color
        The color of the progress gauge.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A WideGaugeStatCard instance.

        wide_series_stat_card

        def wide_series_stat_card(box: str, title: str, value: str, aux_value: str, plot_data: Union[Data, str], plot_value: str, plot_zero_value: Union[float, NoneType] = None, plot_category: Union[str, NoneType] = None, plot_type: Union[str, NoneType] = None, plot_curve: Union[str, NoneType] = None, plot_color: Union[str, NoneType] = None, data: Union[dict, str, NoneType] = None, commands: Union[List[Command], NoneType] = None) ‑> WideSeriesStatCard

        Create a wide stat card displaying a primary value, an auxiliary value and a series plot.

        Args
        box
        A string indicating how to place this component on the page.
        title
        The card's title.
        value
        The primary value displayed.
        aux_value
        The auxiliary value displayed below the primary value.
        plot_data
        The plot's data.
        plot_value
        The data field to use for y-axis values.
        plot_zero_value
        The base value to use for each y-axis mark. Set this to 0 if you want to pin the x-axis at y=0. If not provided, the minimum value from the data is used.
        plot_category
        The data field to use for x-axis values (ignored if plot_type is area; must be provided if plot_type is interval). Defaults to 'x'.
        plot_type
        The type of plot. Defaults to area. One of 'area', 'interval'. See enum h2o_wave.ui.WideSeriesStatCardPlotType.
        plot_curve
        The plot's curve style. Defaults to linear. One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.WideSeriesStatCardPlotCurve.
        plot_color
        The plot's color.
        data
        Data for this card.
        commands
        Contextual menu commands for this component.
        Returns

        A WideSeriesStatCard instance.

        zone

        def zone(name: str, size: Union[str, NoneType] = None, direction: Union[str, NoneType] = None, justify: Union[str, NoneType] = None, align: Union[str, NoneType] = None, wrap: Union[str, NoneType] = None, zones: Union[List[Zone], NoneType] = None) ‑> Zone

        Represents an zone within a page layout.

        Args
        name
        An identifying name for this zone.
        size
        The size of this zone.
        direction
        Layout direction. One of 'row', 'column'. See enum h2o_wave.ui.ZoneDirection.
        justify
        Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ZoneJustify.
        align
        Layout strategy for cross axis. One of 'start', 'end', 'center', 'stretch'. See enum h2o_wave.ui.ZoneAlign.
        wrap
        Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.ZoneWrap.
        zones
        The sub-zones contained inside this zone.
        Returns

        A Zone instance.

        + + + + + + + + + + diff --git a/docs/docs/api/ui_ext/index.html b/docs/docs/api/ui_ext/index.html index b31ab89dcf..2d944ba711 100644 --- a/docs/docs/api/ui_ext/index.html +++ b/docs/docs/api/ui_ext/index.html @@ -4,45 +4,34 @@ + - Module h2o_wave.ui_ext | H2O Wave - - - - - - - - - - - - - - - - + Module h2o_wave.ui_ext | H2O Wave + + + + + + + + + +
        -

        Module h2o_wave.ui_ext

        Functions

        box

        def box(zone: str, order: Union[int, NoneType] = None, size: Union[str, int, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None) ‑> str

        Create a specification for card's box() attribute. Indicates where and how to position a card.

        Args
        zone
        The name of the zone to place the card in.
        order
        An number that determines the position of this card relative to other cards in the same zone. Cards in the same zone are sorted in ascending order and then placed left to right (or top to bottom).
        size
        A number that indicates the ratio of available width or height occupied by this card.
        width
        The width of this card, e.g. 200px, 50%, etc.
        height
        The height of this card, e.g. 200px, 50%, etc.
        Returns

        A string intended to be used as a card's box() attribute.

        boxes

        def boxes(*args: str) ‑> str

        Create a specification for card's box() attribute. Indicates where and how to position a card for various layouts.

        Args
        args
        Either the name of the zone to place the card in, or a specification created using the box() function.
        Returns

        A string intended to be used as a card's box() attribute.

        - - - - - - - - - - - - - - - - +

        Module h2o_wave.ui_ext

        Functions

        box

        def box(zone: str, order: Union[int, NoneType] = None, size: Union[str, int, NoneType] = None, width: Union[str, NoneType] = None, height: Union[str, NoneType] = None) ‑> str

        Create a specification for card's box() attribute. Indicates where and how to position a card.

        Args
        zone
        The name of the zone to place the card in.
        order
        An number that determines the position of this card relative to other cards in the same zone. Cards in the same zone are sorted in ascending order and then placed left to right (or top to bottom).
        size
        A number that indicates the ratio of available width or height occupied by this card. Defaults to 1 if size, width and height are not provided.
        width
        The width of this card, e.g. 200px, 50%, etc.
        height
        The height of this card, e.g. 200px, 50%, etc.
        Returns

        A string intended to be used as a card's box() attribute.

        boxes

        def boxes(*args: str) ‑> str

        Create a specification for card's box() attribute. Indicates where and how to position a card for various layouts.

        Args
        args
        Either the name of the zone to place the card in, or a specification created using the box() function.
        Returns

        A string intended to be used as a card's box() attribute.

        + + + + + + + + + + diff --git a/docs/docs/apps/index.html b/docs/docs/apps/index.html index b5108cb861..65a5b93008 100644 --- a/docs/docs/apps/index.html +++ b/docs/docs/apps/index.html @@ -4,50 +4,39 @@ + - Wave Apps | H2O Wave - - - - - - - - - - - - - - - - + Wave Apps | H2O Wave + + + + + + + + + +
        -

        Wave Apps

        A Wave app is the primary mechanism to publish interactive web content in Wave.

        A Wave app can publish content and handle user interactions, unlike a Wave script, which can publish content but not handle user interactions.

        Structure

        Here is the skeleton of a Wave app:

        app.py
        from h2o_wave import main, app, Q, ui
        +

        Wave Apps

        A Wave app is the primary mechanism to publish interactive web content in Wave.

        A Wave app can publish content and handle user interactions, unlike a Wave script, which can publish content but not handle user interactions.

        Structure

        Here is the skeleton of a Wave app:

        app.py
        from h2o_wave import main, app, Q, ui
        @app('/foo')
        async def serve(q: Q):
        # Modify the page
        q.page['qux'] = ui.some_card()
        # Save the page
        await q.page.save()

        An app typically imports four symbols from h2o_wave:

        • main: An ASGI-compatible function. See Deployment.
        • app: A decorator for your query handler (or request handler).
        • Q: A class that represents the query sent to your query handler.
        • ui: The module containing the API for drawing UI elements.

        @app() has one required argument - the route your app is interested in (in this case /foo). Whenever a user performs any action at /foo - access the page, reload it, click a button, access a menu, enter text, and so on - the query handler serve() is called. The details about what action was performed, and who performed the action, are available in the argument passed to serve(), the query context q (of type Q).

        Wave apps are run using the wave run command, which accepts the name of the Python module in which main is imported from h2o_wave.

        If your app is contained in app.py, run it like this:

        wave run app

        Or,

        wave run app.py

        If your app is contained in path/to/app.py, run it like this:

        wave run path.to.app

        Or,

        wave run path/to/app.py

        When run, the app starts an event loop listening for user interaction events, and announces itself to the Wave server. The Wave server then starts routing any user actions happening at /foo to your app.

        Runtime context

        The query context q carries the following attributes:

        • route: The route at which the action was performed (in this case, /foo).
        • page: A reference to the current page (in this case, the page hosted at /foo).
        • site: A reference to the page's parent site, from which you can grab references to other pages.
        • args: The event arguments, a dictionary-like object containing information about the user action.
        • app, user, client: Dictionary-like objects holding server-side state, at the app-level, the user-level and the client-level, respectively. Here, 'client' refers to the browser tab.
        • username: The username of the user who performed the action.
        • mode: The app's realtime mode, one of unicast, multicast, or broadcast.

        Lifecycle

        To perform actions at application startup and shutdown, pass on_startup and on_shutdown functions to @app, like this:

        from h2o_wave import main, app, Q, ui
        def on_startup():
        print('App started!')
        def on_shutdown():
        print('App stopped!')
        -
        @app('/foo', on_startup=on_startup, on_shutdown=on_shutdown)
        async def serve(q: Q):
        pass

        The on_startup and on_shutdown functions can also be async.

        - - - - - - - - - - - - - - - - +
        @app('/foo', on_startup=on_startup, on_shutdown=on_shutdown)
        async def serve(q: Q):
        pass

        The on_startup and on_shutdown functions can also be async.

        + + + + + + + + + + diff --git a/docs/docs/architecture/index.html b/docs/docs/architecture/index.html index 7a71b30924..c74fd28c4b 100644 --- a/docs/docs/architecture/index.html +++ b/docs/docs/architecture/index.html @@ -4,45 +4,34 @@ + - Architecture | H2O Wave - - - - - - - - - - - - - - - - + Architecture | H2O Wave + + + + + + + + + +
        -

        Architecture

        H2O Wave is a software stack for building beautiful, low-latency, realtime, browser-based applications and dashboards entirely in Python without using HTML, Javascript or CSS.

        It excels at capturing data, visualizations, and graphics from multiple sources, and broadcasting them live over the web.

        The stack is engineered from the ground-up for low-latency, realtime information display, and is usable on its own (not only a programming framework, but a programmable content server).

        Overview

        The Wave runtime operates over three tiers:

        • A content server. The Wave server, a ~10MB static binary executable that runs anywhere1.
        • A language driver. The h2o-wave PyPI package used by Wave scripts and apps.
        • A browser-based client. The user interface and components.
        +---------+ +---------+
        | Browser +---------+ +------>+ app1.py |
        +---------+ | | +---------+
        v |
        +---------+ +-+------+-+ +---------+
        | Browser +------>+ Server +---->+ app2.py |
        +---------+ +-+------+-+ +---------+
        ^ |
        +---------+ | | +---------+
        | Browser +---------+ +------>+ app3.py |
        +---------+ +---------+

        The Wave server has three main functions:

        • Store site content
        • Transmit content changes to browsers.
        • Transmit browser events to apps.

        In other words, the Wave server is comparable to a in-memory realtime database, a HTTP web server and a proxy server, all rolled into one, with browsers (clients) downstream, and Wave apps (or scripts) upstream.

        The language driver (the h2o-wave PyPI package) provides the ability to manage content on the Wave server. It's similar in function to a database driver, but unlike typical database drivers (which use SQL as a protocol), the Wave driver provides an API closely integrated with the Python language that feels natural and idiomatic in practice.

        The browser-based client's job is to render content on the user interface, and transmit user actions in the form of events back to the Wave server.

        How does it work?

        The Wave server stores all content in a page cache called a site. A site is a collection of pages. Each page has an address, called its route. A page is composed of cards. A card holds content, and any tabular data associated with the content, called data buffers.

        When a browser is pointed to a route, it pulls a copy of the page, creates a replica locally, and renders the content on the user interface.

        The language driver (the h2o-wave PyPI package) maintains an illusion that server-side content is available locally. Local updates to pages and cards are transmitted in the form of operations to the server. The server applies those updates to the master copy of the content. If any browser is currently displaying that content, the server forwards updates to the browser, causing the browser to update its replica and re-render its user interface.

        Python
        +------------+
        | app.py |
        | + |
        | | |
        | v |
        | +---+----+ |
        +-+ Driver +-+
        +---+----+
        |
        |Operations
        |
        v
        +-----+------+
        | Server |
        | |
        | +------+ |
        | | Page | |
        | +------+ |
        | |
        +-----+------+
        |
        |Replication
        |
        +-------------+
        | +---------+ |
        | | Replica | |
        | +---------+ |
        | |
        | UI |
        +-------------+
        Browser

        The language driver can be used by two kinds of Python programs: Wave apps and Wave scripts.

        • Wave apps are interactive programs that can update content and respond to user actions.
        • Wave scripts are simpler, non-interactive (batch) programs: they can update content, but not respond to user actions.

        Wave apps are ASGI servers under the hood. When a Wave app is launched, it announces its existence to the Wave server, and the Wave server establishes a relay with the Wave app. When a browser tries to connect to an app, the Wave server acts as a hub, relaying information back and forth between the browser and the app.

        How is it different?

        The Wave server retains content. This is an important concept to understand, and the primary reason why Wave is different from a typical web framework. A Wave script can update content and exit, and the Wave server will happily continue serving that content. In other words, no Python process needs to be around if a new user arrives after you script has exited.

        Different parts of the same page can be updated by different scripts running on different devices. Also, all content is live (or reactive) all the time: browsers always display up-to-date content without the need to reload.


        1 Linux, Windows, Darwin, BSD, Solaris, Android on amd64, arm, 386, ppc, mips; almost everywhere.

        - - - - - - - - - - - - - - - - +

        Architecture

        H2O Wave is a software stack for building beautiful, low-latency, realtime, browser-based applications and dashboards entirely in Python without using HTML, Javascript or CSS.

        It excels at capturing data, visualizations, and graphics from multiple sources, and broadcasting them live over the web.

        The stack is engineered from the ground-up for low-latency, realtime information display, and is usable on its own (not only a programming framework, but a programmable content server).

        Overview

        The Wave runtime operates over three tiers:

        • A content server. The Wave server, a ~10MB static binary executable that runs anywhere1.
        • A language driver. The h2o-wave PyPI package used by Wave scripts and apps.
        • A browser-based client. The user interface and components.
        +---------+ +---------+
        | Browser +---------+ +------>+ app1.py |
        +---------+ | | +---------+
        v |
        +---------+ +-+------+-+ +---------+
        | Browser +------>+ Server +---->+ app2.py |
        +---------+ +-+------+-+ +---------+
        ^ |
        +---------+ | | +---------+
        | Browser +---------+ +------>+ app3.py |
        +---------+ +---------+

        The Wave server has three main functions:

        • Store site content
        • Transmit content changes to browsers.
        • Transmit browser events to apps.

        In other words, the Wave server is comparable to a in-memory realtime database, a HTTP web server and a proxy server, all rolled into one, with browsers (clients) downstream, and Wave apps (or scripts) upstream.

        The language driver (the h2o-wave PyPI package) provides the ability to manage content on the Wave server. It's similar in function to a database driver, but unlike typical database drivers (which use SQL as a protocol), the Wave driver provides an API closely integrated with the Python language that feels natural and idiomatic in practice.

        The browser-based client's job is to render content on the user interface, and transmit user actions in the form of events back to the Wave server.

        How does it work?

        The Wave server stores all content in a page cache called a site. A site is a collection of pages. Each page has an address, called its route. A page is composed of cards. A card holds content, and any tabular data associated with the content, called data buffers.

        When a browser is pointed to a route, it pulls a copy of the page, creates a replica locally, and renders the content on the user interface.

        The language driver (the h2o-wave PyPI package) maintains an illusion that server-side content is available locally. Local updates to pages and cards are transmitted in the form of operations to the server. The server applies those updates to the master copy of the content. If any browser is currently displaying that content, the server forwards updates to the browser, causing the browser to update its replica and re-render its user interface.

        Python
        +------------+
        | app.py |
        | + |
        | | |
        | v |
        | +---+----+ |
        +-+ Driver +-+
        +---+----+
        |
        |Operations
        |
        v
        +-----+------+
        | Server |
        | |
        | +------+ |
        | | Page | |
        | +------+ |
        | |
        +-----+------+
        |
        |Replication
        |
        +-------------+
        | +---------+ |
        | | Replica | |
        | +---------+ |
        | |
        | UI |
        +-------------+
        Browser

        The language driver can be used by two kinds of Python programs: Wave apps and Wave scripts.

        • Wave apps are interactive programs that can update content and respond to user actions.
        • Wave scripts are simpler, non-interactive (batch) programs: they can update content, but not respond to user actions.

        Wave apps are ASGI servers under the hood. When a Wave app is launched, it announces its existence to the Wave server, and the Wave server establishes a relay with the Wave app. When a browser tries to connect to an app, the Wave server acts as a hub, relaying information back and forth between the browser and the app.

        How is it different?

        The Wave server retains content. This is an important concept to understand, and the primary reason why Wave is different from a typical web framework. A Wave script can update content and exit, and the Wave server will happily continue serving that content. In other words, no Python process needs to be around if a new user arrives after you script has exited.

        Different parts of the same page can be updated by different scripts running on different devices. Also, all content is live (or reactive) all the time: browsers always display up-to-date content without the need to reload.


        1 Linux, Windows, Darwin, BSD, Solaris, Android on amd64, arm, 386, ppc, mips; almost everywhere.

        + + + + + + + + + + diff --git a/docs/docs/arguments/index.html b/docs/docs/arguments/index.html index ce0fb6df70..b788492185 100644 --- a/docs/docs/arguments/index.html +++ b/docs/docs/arguments/index.html @@ -4,46 +4,35 @@ + - Query Arguments | H2O Wave - - - - - - - - - - - - - - - - + Query Arguments | H2O Wave + + + + + + + + + +
        -

        Query Arguments

        When a user interacts with components on a page - like typing in text, making choices, clicking buttons, and so on - that information is available to your app in the form of query arguments.

        The query arguments can be read from q.args, a read-only dictionary-like object passed to your @app() handler:

        from h2o_wave import Q, main, app
        -
        @app('/foo')
        async def serve(q: Q):
        print(q.args.foo)
        print(q.args.bar)
        print(q.args.qux)
        tip

        q.args is an Expando instance, which means it behaves both like a dictionary and an object: q.args['foo'] is the same as q.args.foo. q.args.foo is easier to read.

        Interpreting arguments

        The table below summarizes how to interpret inputs from various components.

        ComponentIf the component is named foo, the value of q.args.foo is...
        ui.button()value if provided, else True.
        ui.checkbox()True if checked, False if unchecked, None if indeterminate.
        ui.checklist()A list of names of all the selected choices (a list of strings).
        ui.choice_group()The name of the selected choice (a string).
        ui.color_picker()The selected color (a string).
        ui.combobox()Either the name of the selected choice or the value typed in (a string).
        ui.command()value if provided, else True.
        ui.date_picker()The selected date in YYYY-MM-DD format (a string).
        ui.dropdown()If multi-valued, a list of names of all the selected choices (a list of strings), otherwise the name of the selected choice (a string).
        ui.expander()True if expanded, else False.
        ui.file_upload()A list of paths to the uploaded files (a list of strings).
        ui.nav_item()True if clicked.
        ui.picker()A list of names of all the selected choices (a list of strings).
        ui.range_slider()[min, max] (a list of two numbers).
        ui.slider()The selected value (a number).
        ui.spinbox()The selected value (a number).
        ui.table()A list of names of all the selected rows (a list of strings).
        ui.tabs()The name of the active tab (a string).
        ui.textbox()The value typed in (a string).
        ui.toggle()True if checked, False if unchecked.
        - - - - - - - - - - - - - - - - +

        Query Arguments

        When a user interacts with components on a page - like typing in text, making choices, clicking buttons, and so on - that information is available to your app in the form of query arguments.

        The query arguments can be read from q.args, a read-only dictionary-like object passed to your @app() handler:

        from h2o_wave import Q, main, app
        +
        @app('/foo')
        async def serve(q: Q):
        print(q.args.foo)
        print(q.args.bar)
        print(q.args.qux)
        tip

        q.args is an Expando instance, which means it behaves both like a dictionary and an object: q.args['foo'] is the same as q.args.foo. q.args.foo is easier to read.

        Interpreting arguments

        The table below summarizes how to interpret inputs from various components.

        ComponentIf the component is named foo, the value of q.args.foo is...
        ui.button()value if provided, else True.
        ui.checkbox()True if checked, False if unchecked, None if indeterminate.
        ui.checklist()A list of names of all the selected choices (a list of strings).
        ui.choice_group()The name of the selected choice (a string).
        ui.color_picker()The selected color (a string).
        ui.combobox()Either the name of the selected choice or the value typed in (a string).
        ui.command()value if provided, else True.
        ui.date_picker()The selected date in YYYY-MM-DD format (a string).
        ui.dropdown()If multi-valued, a list of names of all the selected choices (a list of strings), otherwise the name of the selected choice (a string).
        ui.expander()True if expanded, else False.
        ui.file_upload()A list of paths to the uploaded files (a list of strings).
        ui.nav_item()True if clicked.
        ui.picker()A list of names of all the selected choices (a list of strings).
        ui.range_slider()[min, max] (a list of two numbers).
        ui.slider()The selected value (a number).
        ui.spinbox()The selected value (a number).
        ui.table()A list of names of all the selected rows (a list of strings).
        ui.tabs()The name of the active tab (a string).
        ui.textbox()The value typed in (a string).
        ui.toggle()True if checked, False if unchecked.
        + + + + + + + + + + diff --git a/docs/docs/background/index.html b/docs/docs/background/index.html index 2e1663763a..5405600cce 100644 --- a/docs/docs/background/index.html +++ b/docs/docs/background/index.html @@ -4,47 +4,36 @@ + - Background Tasks | H2O Wave - - - - - - - - - - - - - - - - + Background Tasks | H2O Wave + + + + + + + + + +
        -

        Background Tasks

        Wave apps are servers based on asyncio, Python's library for Asynchronous I/O, and lets you develop and deploy high-performance applications.

        Your @app query handler is invoked every time a user performs some action in your app's UI - access the page, reload it, click a button, access a menu, enter text, and so on. Performing blocking operations in your handler will hang your app's server and make your app's UI appear unresponsive until the blocking operation completes.

        In some cases, blocking calls can be pushed to the background to improve concurrency. To achieve this, the Wave API provides two lightweight wrappers over asyncio.run_in_executor(): q.run() and q.exec().

        Here is an example of a function that blocks:

        import time
        +

        Background Tasks

        Wave apps are servers based on asyncio, Python's library for Asynchronous I/O, and lets you develop and deploy high-performance applications.

        Your @app query handler is invoked every time a user performs some action in your app's UI - access the page, reload it, click a button, access a menu, enter text, and so on. Performing blocking operations in your handler will hang your app's server and make your app's UI appear unresponsive until the blocking operation completes.

        In some cases, blocking calls can be pushed to the background to improve concurrency. To achieve this, the Wave API provides two lightweight wrappers over asyncio.run_in_executor(): q.run() and q.exec().

        Here is an example of a function that blocks:

        import time
        def blocking_function(seconds) -> str:
        time.sleep(seconds) # Blocks!
        return f'Done!'

        To call the above function from an app, don't do this:

        @app('/demo')
        async def serve(q: Q):
        # ...
        message = blocking_function(42)
        # ...

        Instead, do this:

        @app('/demo')
        async def serve(q: Q):
        # ...
        message = await q.run(blocking_function, 42)
        # ...

        q.run() runs the blocking function in the background, in-process.

        Depending on your use case, you might want to use a separate process pool or thread pool from Python's multiprocessing library, like this:

        import concurrent.futures
        -
        @app('/demo')
        async def serve(q: Q):
        # ...
        with concurrent.futures.ThreadPoolExecutor() as pool:
        message = await q.exec(pool, blocking_function, 42)
        # ...

        q.exec() accepts a custom process pool or thread pool to run the blocking function.

        tip

        Apps that make calls to external services or APIs are better off replacing blocking HTTP clients like requests with non-blocking clients like HTTPX.

        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        # ...
        with concurrent.futures.ThreadPoolExecutor() as pool:
        message = await q.exec(pool, blocking_function, 42)
        # ...

        q.exec() accepts a custom process pool or thread pool to run the blocking function.

        tip

        Apps that make calls to external services or APIs are better off replacing blocking HTTP clients like requests with non-blocking clients like HTTPX.

        + + + + + + + + + + diff --git a/docs/docs/backup/index.html b/docs/docs/backup/index.html index 750c664532..796d39fd19 100644 --- a/docs/docs/backup/index.html +++ b/docs/docs/backup/index.html @@ -4,45 +4,34 @@ + - Backup and Recovery | H2O Wave - - - - - - - - - - - - - - - - + Backup and Recovery | H2O Wave + + + + + + + + + +
        -

        Backup and Recovery

        caution

        This feature is experimental. Do not rely on this in production!

        The Wave server logs all content changes to stderr. The changes are written in a format that can be read back in. This means that you can replay the log from beginning to end to recover the server's state (content, pages, everything). The log is, literally, a change log.

        To capture the log, redirect stderr to a file when you launch the server:

        ./waved 2> backup.log

        To recover state, feed the log file back in the next time you launch the server:

        ./waved -init backup.log

        To recover state and continue capturing the log, use:

        ./waved -init backup.log 2> other.log

        If you end up with a big log file, you can compact it like this:

        ./waved -compact big.log 2> small.log
        - - - - - - - - - - - - - - - - +

        Backup and Recovery

        caution

        This feature is experimental. Do not rely on this in production!

        The Wave server logs all content changes to stderr. The changes are written in a format that can be read back in. This means that you can replay the log from beginning to end to recover the server's state (content, pages, everything). The log is, literally, a change log.

        To capture the log, redirect stderr to a file when you launch the server:

        ./waved 2> backup.log

        To recover state, feed the log file back in the next time you launch the server:

        ./waved -init backup.log

        To recover state and continue capturing the log, use:

        ./waved -init backup.log 2> other.log

        If you end up with a big log file, you can compact it like this:

        ./waved -compact big.log 2> small.log
        + + + + + + + + + + diff --git a/docs/docs/browser-testing/index.html b/docs/docs/browser-testing/index.html index be24028746..ddfb975cc4 100644 --- a/docs/docs/browser-testing/index.html +++ b/docs/docs/browser-testing/index.html @@ -4,47 +4,36 @@ + - Browser Testing | H2O Wave - - - - - - - - - - - - - - - - + Browser Testing | H2O Wave + + + + + + + + + +
        -

        Browser Testing

        Wave supports authoring functional tests in Python for the Cypress test framework. This feature lets you automate browser-based point-and-click tests for your app.

        Installation

        Step 1: Install Node.js

        Install a recent version of Node.js.

        Step 2: Set up Cypress

        Using your terminal, go to your Wave installation's test directory and install Cypress

        $ cd $HOME/wave/test
        $ npm install

        Writing a test

        See the Wizard example to understand how to author tests for your interactive app. Specifically, note how the @cypress attribute is used. Refer to the Cypress API to learn how to author assertions.

        from h2o_wave import cypress
        +

        Browser Testing

        Wave supports authoring functional tests in Python for the Cypress test framework. This feature lets you automate browser-based point-and-click tests for your app.

        Installation

        Step 1: Install Node.js

        Install a recent version of Node.js.

        Step 2: Set up Cypress

        Using your terminal, go to your Wave installation's test directory and install Cypress

        $ cd $HOME/wave/test
        $ npm install

        Writing a test

        See the Wizard example to understand how to author tests for your interactive app. Specifically, note how the @cypress attribute is used. Refer to the Cypress API to learn how to author assertions.

        from h2o_wave import cypress
        @cypress('Walk through the wizard')
        def test_wizard(cy):
        cy.visit('/demo')
        cy.locate('step1').click()
        cy.locate('text').should('contain.text', 'What is your name?')
        cy.locate('nickname').clear().type('Fred')
        cy.locate('step2').click()
        cy.locate('text').should('contain.text', 'Hi Fred! How do you feel right now?')
        cy.locate('feeling').clear().type('quirky')
        cy.locate('step3').click()
        cy.locate('text').should('contain.text', 'What a coincidence, Fred! I feel quirky too!')
        -
        tip

        To escape Cypress function names that overlap with Python's reserved keywords, prefix the name with an underscore _. For example, use cy._as() instead of cy.as().

        Running your test

        Step 1: Start the Cypress test runner

        $ cd $HOME/wave/test
        $ ./node_modules/.bin/cypress open

        Step 2: Start the Wave server as usual

        $ ./waved

        Step 3: Translate your Python tests to Javascript

        To translate your Python tests to Javascript, execute the Python module or file containing your tests like this:

        $ CYPRESS_INTEGRATION_TEST_DIR=$HOME/wave/test/cypress/integration ./venv/bin/python examples/wizard.py

        The CYPRESS_INTEGRATION_TEST_DIR environment variable indicates where the Wave SDK should write translated files to. This must be set to the cypress/integration directory.

        Alternatively, you can set the CYPRESS_INTEGRATION_TEST_DIR environment variable in your shell (or IDE) to simplify running your test file:

        $ export CYPRESS_INTEGRATION_TEST_DIR=$HOME/wave/test/cypress/integration
        $ ./venv/bin/python examples/wizard.py

        Step 4: Run your tests

        At this point, you should find all your tests displayed in the Cypress UI. Simply click on a test to run it. Happy testing!

        - - - - - - - - - - - - - - - - +
        tip

        To escape Cypress function names that overlap with Python's reserved keywords, prefix the name with an underscore _. For example, use cy._as() instead of cy.as().

        Running your test

        Step 1: Start the Cypress test runner

        $ cd $HOME/wave/test
        $ ./node_modules/.bin/cypress open

        Step 2: Start the Wave server as usual

        $ ./waved

        Step 3: Translate your Python tests to Javascript

        To translate your Python tests to Javascript, execute the Python module or file containing your tests like this:

        $ CYPRESS_INTEGRATION_TEST_DIR=$HOME/wave/test/cypress/integration ./venv/bin/python examples/wizard.py

        The CYPRESS_INTEGRATION_TEST_DIR environment variable indicates where the Wave SDK should write translated files to. This must be set to the cypress/integration directory.

        Alternatively, you can set the CYPRESS_INTEGRATION_TEST_DIR environment variable in your shell (or IDE) to simplify running your test file:

        $ export CYPRESS_INTEGRATION_TEST_DIR=$HOME/wave/test/cypress/integration
        $ ./venv/bin/python examples/wizard.py

        Step 4: Run your tests

        At this point, you should find all your tests displayed in the Cypress UI. Simply click on a test to run it. Happy testing!

        + + + + + + + + + + diff --git a/docs/docs/buffers/index.html b/docs/docs/buffers/index.html index 27031ee819..0356dc8eb1 100644 --- a/docs/docs/buffers/index.html +++ b/docs/docs/buffers/index.html @@ -4,29 +4,24 @@ + - Data Buffers | H2O Wave - - - - - - - - - - - - - - - - + Data Buffers | H2O Wave + + + + + + + + + +
        -

        Data Buffers

        Data buffers are in-memory data structures designed to hold a card's tabular data.

        Data buffers make it convenient to separate data (what is displayed) from presentation (how it is displayed). You can declare a card once, and update its underlying data buffer multiple times. A card can hold zero or more data buffers.

        Cards and buffers

        Data buffers are tabular data structures containing columns and rows. Different cards utilize data buffers in different ways. For example, the plot in the ui.small_series_stat_card() uses a data buffer called plot_data to hold time series data.

        CPU Usage

        card = ui.small_series_stat_card(
        box=f'1 1 1 1',
        title='CPU',
        value='10%',
        plot_data=data('time usage', -15),
        plot_category='time',
        plot_value='usage',
        ))

        In the above snippet, data('time usage', -15) defines a placeholder for a table with two columns (time and usage) and 15 rows (we'll get to why the 15 is negative shortly), and the card's plot_category and plot_value point to the two columns time and usage, respectively.

        Appending rows (tuples or records) to the data buffer make the card plot those rows.

        while True:
        card.plot_data[-1] = [get_time(), get_usage()]
        time.sleep(1)

        The while loop above does something like this:

        card.plot_data[-1] = ['2020-10-05T02:10:20Z', 42.5]
        card.plot_data[-1] = ['2020-10-05T02:10:21Z', 43.1]
        card.plot_data[-1] = ['2020-10-05T02:10:22Z', 39.2]
        card.plot_data[-1] = ['2020-10-05T02:10:23Z', 38.7]

        Types of buffers

        There are three types of data buffers:

        • Array buffers hold tabular data with a fixed number of rows, and allow random access to rows using 0-based integers as keys.
        • Cyclic buffers also hold tabular data with a fixed number of rows, but do not allow random access to rows. They can only be appended to. Rows are first-in first-out (FIFO), and adding rows beyond its capacity overwrites the oldest rows.
        • Map buffers (or dictionary buffers) hold tabular data with a variable number of rows, and allow random access to rows using string keys.
        caution

        Map buffers are convenient to use, but use more memory on the server compared to array buffers and cyclic buffers, so use them sparingly.

        The data function

        Use the data() function to declare a data buffer. The Wave server uses this declaration to allocate memory for the data buffer.

        data() takes multiple arguments:

        • fields: The names of columns, in order; a space-separated string or a list or a tuple ('foo bar' or ['foo', 'bar'] or ('foo', 'bar').
        • size: The number of rows to allocate.
          • A positive row count creates an array buffer.
          • A negative row count creates a cyclic buffer.
          • A zero row count (or None) creates a map buffer.
        • rows: A dict or list of rows to initialize the data buffer with. Each row can be a list or tuple.
          • For array or cyclic buffers, pass a list of rows.
          • For map buffers, pass a dict with strings as keys and rows as values.
        • columns: A list of columns to initialize the data buffer with. All columns must be of the same length. The columns are automatically transposed to rows.
        • pack: True to pack (compress) the provided rows or columns, use less memory on the server-side, and improve performance. Set pack=True if you intend to never make any changes to the data buffer once created. Defaults to False.

        Buffers in practice

        Declare a 5-row buffer with columns donut and price.

        # Array buffer
        b = data(fields='donut price', size=5)
        +

        Data Buffers

        Data buffers are in-memory data structures designed to hold a card's tabular data.

        Data buffers make it convenient to separate data (what is displayed) from presentation (how it is displayed). You can declare a card once, and update its underlying data buffer multiple times. A card can hold zero or more data buffers.

        Cards and buffers

        Data buffers are tabular data structures containing columns and rows. Different cards utilize data buffers in different ways. For example, the plot in the ui.small_series_stat_card() uses a data buffer called plot_data to hold time series data.

        CPU Usage

        card = ui.small_series_stat_card(
        box=f'1 1 1 1',
        title='CPU',
        value='10%',
        plot_data=data('time usage', -15),
        plot_category='time',
        plot_value='usage',
        ))

        In the above snippet, data('time usage', -15) defines a placeholder for a table with two columns (time and usage) and 15 rows (we'll get to why the 15 is negative shortly), and the card's plot_category and plot_value point to the two columns time and usage, respectively.

        Appending rows (tuples or records) to the data buffer make the card plot those rows.

        while True:
        card.plot_data[-1] = [get_time(), get_usage()]
        time.sleep(1)

        The while loop above does something like this:

        card.plot_data[-1] = ['2020-10-05T02:10:20Z', 42.5]
        card.plot_data[-1] = ['2020-10-05T02:10:21Z', 43.1]
        card.plot_data[-1] = ['2020-10-05T02:10:22Z', 39.2]
        card.plot_data[-1] = ['2020-10-05T02:10:23Z', 38.7]

        Types of buffers

        There are three types of data buffers:

        • Array buffers hold tabular data with a fixed number of rows, and allow random access to rows using 0-based integers as keys.
        • Cyclic buffers also hold tabular data with a fixed number of rows, but do not allow random access to rows. They can only be appended to. Rows are first-in first-out (FIFO), and adding rows beyond its capacity overwrites the oldest rows.
        • Map buffers (or dictionary buffers) hold tabular data with a variable number of rows, and allow random access to rows using string keys.
        caution

        Map buffers are convenient to use, but use more memory on the server compared to array buffers and cyclic buffers, so use them sparingly.

        The data function

        Use the data() function to declare a data buffer. The Wave server uses this declaration to allocate memory for the data buffer.

        data() takes multiple arguments:

        • fields: The names of columns, in order; a space-separated string or a list or a tuple ('foo bar' or ['foo', 'bar'] or ('foo', 'bar').
        • size: The number of rows to allocate.
          • A positive row count creates an array buffer.
          • A negative row count creates a cyclic buffer.
          • A zero row count (or None) creates a map buffer.
        • rows: A dict or list of rows to initialize the data buffer with. Each row can be a list or tuple.
          • For array or cyclic buffers, pass a list of rows.
          • For map buffers, pass a dict with strings as keys and rows as values.
        • columns: A list of columns to initialize the data buffer with. All columns must be of the same length. The columns are automatically transposed to rows.
        • pack: True to pack (compress) the provided rows or columns, use less memory on the server-side, and improve performance. Set pack=True if you intend to never make any changes to the data buffer once created. Defaults to False.

        Buffers in practice

        Declare a 5-row buffer with columns donut and price.

        # Array buffer
        b = data(fields='donut price', size=5)
        # Cyclic buffer
        b = data(fields='donut price', size=-5)
        # Map buffer
        b = data(fields='donut price')

        Declare and initialize a 5-row buffer with columns donut and price.

        # Array buffer
        b = data(fields='donut price', size=5, rows=[
        ['cream', 3.99],
        ['custard', 2.99],
        ['cinnamon', 2.49],
        ['sprinkles', 2.49],
        ['sugar', 1.99],
        ])
        # Cyclic buffer
        b = data(fields='donut price', size=-5, rows=[
        ['cream', 3.99],
        ['custard', 2.99],
        ['cinnamon', 2.49],
        ['sprinkles', 2.49],
        ['sugar', 1.99],
        ])
        @@ -34,23 +29,17 @@
        # Cyclic buffer
        b[-1] = ['fruit', 2.99] # replaces ['sugar', 1.99]
        # Map buffer (the following two forms are equivalent)
        b['cin'] = ['cinnamon', 2.99]
        b.cin = ['cinnamon', 2.99]

        Modify a buffer value:

        # Array buffer (the following two forms are equivalent)
        b[2]['price'] = 2.99
        b[2].price = 2.99
        # Cyclic buffer (the following two forms are equivalent)
        b[-1]['price'] = 2.99 # last donut on menu now costs 2.99
        b[-1].price = 2.99
        -
        # Map buffer (the following three forms are equivalent)
        b['cin']['price'] = 2.99
        b['cin'].price = 2.99
        b.cin.price = 2.99

        Packed buffers

        If you intend to create tabular data once and never change individual rows or values, it is better to avoid allocating memory on the server by using a packed buffer. Packed buffers use less memory on the server and improve performance. To create a packed buffer, use data(..., pack=True). Note that size is not required, and is ignored if provided.

        b = data(fields='donut price', rows=[
        ['cream', 3.99],
        ['custard', 2.99],
        ['cinnamon', 2.49],
        ['sprinkles', 2.49],
        ['sugar', 1.99],
        ], pack=True)
        b = data(fields='donut price', columns=[
        ['cream', 'custard', 'cinnamon', 'sprinkles', 'sugar'],
        [3.99 , 2.99, 2.49, 2.49, 1.99],
        ], pack=True)
        - - - - - - - - - - - - - - - - +
        # Map buffer (the following three forms are equivalent)
        b['cin']['price'] = 2.99
        b['cin'].price = 2.99
        b.cin.price = 2.99

        Packed buffers

        If you intend to create tabular data once and never change individual rows or values, it is better to avoid allocating memory on the server by using a packed buffer. Packed buffers use less memory on the server and improve performance. To create a packed buffer, use data(..., pack=True). Note that size is not required, and is ignored if provided.

        b = data(fields='donut price', rows=[
        ['cream', 3.99],
        ['custard', 2.99],
        ['cinnamon', 2.49],
        ['sprinkles', 2.49],
        ['sugar', 1.99],
        ], pack=True)
        b = data(fields='donut price', columns=[
        ['cream', 'custard', 'cinnamon', 'sprinkles', 'sugar'],
        [3.99 , 2.99, 2.49, 2.49, 1.99],
        ], pack=True)
        + + + + + + + + + + diff --git a/docs/docs/cards/index.html b/docs/docs/cards/index.html index 05a0f0e467..b3945d2945 100644 --- a/docs/docs/cards/index.html +++ b/docs/docs/cards/index.html @@ -4,45 +4,34 @@ + - Cards | H2O Wave - - - - - - - - - - - - - - - - + Cards | H2O Wave + + + + + + + + + +
        -

        Cards

        A card represents a block of content on a Page. This section lists the different kinds of cards available to you. Each of the cards below serve a different purpose.

        info

        To learn how to add, update or remove cards from a page, see Pages.

        Inputs

        Forms

        The form card is the most versatile and commonly used card in Wave apps.

        Use a form card to display input components like textboxes, dropdowns, date-pickers, and so on. The form card displays its components one below the other, stacked vertically. You can lay out several form cards on a page to build out intricate user interfaces.

        See ui.form_card().

        Content

        Use content cards to display formatted text, images or HTML.

        tip

        You can also display each of the following types of content using a form card. Use a content card if you want to display only that specific type of content. Use a form card if you want to display content intermingled with other types of content and input components.

        Markdown

        Use a markdown card to display content authored in markdown.

        See ui.markdown_card().

        Template

        Use a template card to display content authored using Handlebars templates.

        See ui.template_card().

        Markup (HTML)

        Use a markup card to display raw HTML content.

        See ui.markup_card().

        Inline Frame

        Use a frame card to display embed external HTML content your page.

        See ui.frame_card().

        Image

        Use an image card to display an image on your page, either by specifying the image's path or by providing base64-encoded image data.

        See ui.image_card().

        Control

        Use control cards to provide links or commands to allow users to navigate between different sections, or surface top-level actions applicable across your user interface.

        Header

        Use a header card to display your app's title and icon.

        See ui.header_card().

        Breadcrumbs

        Use a breadcrumbs card to display breadcrumbs, a navigational aid that indicates the current page's location withing a hierarchy, and help the user understand where they are in relation to the hierarchy.

        See ui.breadcrumbs_card().

        Navigation Pane

        Use a navigation pane to provide links to the main content areas of your app.

        See ui.nav_card().

        Tabs

        Use tabs to allow navigation between two or more views of content.

        See ui.tab_card().

        Toolbar

        Use a toolbar to display top-level commands that operate on the content of your app.

        See ui.toolbar_card().

        Graphics

        Use these cards to display plots (or charts or graphs), or draw custom graphics.

        Plot

        Use a plot card to display visualizations defined using Wave's native plot() API, based on the Grammar of Graphics.

        See ui.plot_card().

        Vega-lite

        Use this card to display visualizations defined using Vega-Lite.

        See ui.vega_card().

        Graphics

        Use a graphics card to render vector graphics and turtle graphics backed by data buffers.

        See ui.graphics_card().

        Stats

        Use stats cards for a quick and easy way to display live values and graphics (or sparklines). These cards are backed by data buffers, and provide an efficient mechanism to display values that change rapidly over time.

        CardUse
        ui.small_series_stat_card()Small stat card; displays a primary value and a series plot.
        ui.small_stat_card()Stat card; displays a single value.
        ui.large_bar_stat_card()Large captioned card; displays a primary value, an auxiliary value and a progress bar, with captions for each value.
        ui.large_stat_card()Stat card; displays a primary value, an auxiliary value and a caption.
        ui.tall_gauge_stat_card()Tall stat card; displays a primary value, an auxiliary value and a progress gauge.
        ui.tall_series_stat_card()Tall stat card; displays a primary value, an auxiliary value and a series plot.
        ui.wide_bar_stat_card()Wide stat card; displays a primary value, an auxiliary value and a progress bar.
        ui.wide_gauge_stat_card()Wide stat card; displays a primary value, an auxiliary value and a progress gauge.
        ui.wide_series_stat_card()Wide stat card; displays a primary value, an auxiliary value and a series plot.

        Meta

        The meta card is an invisible card, primarily used to control the behavior of the page it's placed on, like displaying a desktop notification, redirecting to a different page, or turning off realtime updates.

        See ui.meta_card().

        - - - - - - - - - - - - - - - - +

        Cards

        A card represents a block of content on a Page. This section lists the different kinds of cards available to you. Each of the cards below serve a different purpose.

        info

        To learn how to add, update or remove cards from a page, see Pages.

        Inputs

        Forms

        The form card is the most versatile and commonly used card in Wave apps.

        Use a form card to display input components like textboxes, dropdowns, date-pickers, and so on. The form card displays its components one below the other, stacked vertically. You can lay out several form cards on a page to build out intricate user interfaces.

        See ui.form_card().

        Content

        Use content cards to display formatted text, images or HTML.

        tip

        You can also display each of the following types of content using a form card. Use a content card if you want to display only that specific type of content. Use a form card if you want to display content intermingled with other types of content and input components.

        Markdown

        Use a markdown card to display content authored in markdown.

        See ui.markdown_card().

        Template

        Use a template card to display content authored using Handlebars templates.

        See ui.template_card().

        Markup (HTML)

        Use a markup card to display raw HTML content.

        See ui.markup_card().

        Inline Frame

        Use a frame card to display embed external HTML content your page.

        See ui.frame_card().

        Image

        Use an image card to display an image on your page, either by specifying the image's path or by providing base64-encoded image data.

        See ui.image_card().

        Control

        Use control cards to provide links or commands to allow users to navigate between different sections, or surface top-level actions applicable across your user interface.

        Header

        Use a header card to display your app's title and icon.

        See ui.header_card().

        Breadcrumbs

        Use a breadcrumbs card to display breadcrumbs, a navigational aid that indicates the current page's location withing a hierarchy, and help the user understand where they are in relation to the hierarchy.

        See ui.breadcrumbs_card().

        Navigation Pane

        Use a navigation pane to provide links to the main content areas of your app.

        See ui.nav_card().

        Tabs

        Use tabs to allow navigation between two or more views of content.

        See ui.tab_card().

        Toolbar

        Use a toolbar to display top-level commands that operate on the content of your app.

        See ui.toolbar_card().

        Graphics

        Use these cards to display plots (or charts or graphs), or draw custom graphics.

        Plot

        Use a plot card to display visualizations defined using Wave's native plot() API, based on the Grammar of Graphics.

        See ui.plot_card().

        Vega-lite

        Use this card to display visualizations defined using Vega-Lite.

        See ui.vega_card().

        Graphics

        Use a graphics card to render vector graphics and turtle graphics backed by data buffers.

        See ui.graphics_card().

        Stats

        Use stats cards for a quick and easy way to display live values and graphics (or sparklines). These cards are backed by data buffers, and provide an efficient mechanism to display values that change rapidly over time.

        CardUse
        ui.small_series_stat_card()Small stat card; displays a primary value and a series plot.
        ui.small_stat_card()Stat card; displays a single value.
        ui.large_bar_stat_card()Large captioned card; displays a primary value, an auxiliary value and a progress bar, with captions for each value.
        ui.large_stat_card()Stat card; displays a primary value, an auxiliary value and a caption.
        ui.tall_gauge_stat_card()Tall stat card; displays a primary value, an auxiliary value and a progress gauge.
        ui.tall_series_stat_card()Tall stat card; displays a primary value, an auxiliary value and a series plot.
        ui.wide_bar_stat_card()Wide stat card; displays a primary value, an auxiliary value and a progress bar.
        ui.wide_gauge_stat_card()Wide stat card; displays a primary value, an auxiliary value and a progress gauge.
        ui.wide_series_stat_card()Wide stat card; displays a primary value, an auxiliary value and a series plot.

        Meta

        The meta card is an invisible card, primarily used to control the behavior of the page it's placed on, like displaying a desktop notification, redirecting to a different page, or turning off realtime updates.

        See ui.meta_card().

        + + + + + + + + + + diff --git a/docs/docs/change-log/index.html b/docs/docs/change-log/index.html index a5bd03d65e..bd0413af54 100644 --- a/docs/docs/change-log/index.html +++ b/docs/docs/change-log/index.html @@ -4,45 +4,34 @@ + - Change Log | H2O Wave - - - - - - - - - - - - - - - - + Change Log | H2O Wave + + + + + + + + + +
        -

        Change Log

        Versioning

        H2O Wave and its Python driver follow Semantic Versioning. Major releases ship every six months (~February and ~August), while minor and patch releases may ship as often as every week. Minor and patch releases should never contain breaking changes.

        When referencing the h2o-wave package from your requirements.txt or setup.py, you should always use a version constraint such as >=4.2, <5 (any version 4.2 or greater, but less than 5), since major releases of H2O Wave do include breaking changes.

        Support Policy

        For LTS releases, bug fixes are provided for 2 years and security fixes are provided for 3 years. These releases provide the longest window of support and maintenance. For general releases, bug fixes are provided for 6 months and security fixes are provided for 1 year.

        v0.10.0

        Nov 29, 2020 - Download

        • Added

          • Add support for responsive layouts.
          • Add support for modal dialogs.
          • Add ability to handle events from UI (q.events).
          • Allow handling mark selection events on plots.
          • Allow apps to handle server startup/shutdown events via on_startup and on_shutdown hooks.
          • Allow color picker to submit values immediately when changed (trigger attribute).
          • Allow collapsing nav items during initialization.
          • Handle display and sorting of numeric and time valued columns in ui.table().
          • Allow links/link-buttons to open links in new windows/tabs.
          • API now ships with enums for functions expecting predefined constants as parameters.
          • Read OIDC flags from env vars when available.
          • Automatically refresh OAuth2 access token in the background if expired.
          • Allow accessing OIDC access tokens in Python client.
          • Allow icons on navigation items.
          • Automatically transpose columns to rows in data() if not packed.
          • Allow adjust multiline textbox height.
          • Allow picker to submit values immediately when changed (trigger attribute).
          • Treat wave run foo/bar/baz.py as wave run foo.bar.baz.
          • Allow selecting nav links during initialization.
        • Changed

          • Cards display a "raised" effect on mouse over; Header, tab, toolbar and navbar have alternate styles.
          • Display loading spinner automatically when a request is in flight.
          • Mark ui.command(data=...) as deprecated (use ui.command(value=...) instead, similar to ui.button(...).)
          • Remove redundant ui.* API for discriminated unions (ui.component(), etc.),
          • Add column headers to CSVs downloaded from ui.table(); remove row names.
          • Change default Wave server port from 55555 to 10101 (55555 is special on OSX Big Sur).
          • Center image in image card and preserve aspect ratio.
        • Fixed

          • Improve ability of ui.frame() and ui.frame_card() to handle large HTML content.
          • Fix tour on Windows.
          • Use ellipsis on long column labels in ui.table().

        v0.9.1

        Oct 28, 2020 - Download

        • Fixed
          • Make wave run behave identical to python -m h2o_wave run.

        v0.9.0

        Oct 28, 2020 - Download

        • Added
          • ASGI compatibility: Wave apps can now be run using an ASGI server.
          • @app decorator to identify primary query handler in an app.
          • Live-reload for apps.
          • New wave CLI and wave run command.
          • q.run() and q.exec() APIs for running background tasks.
          • Display server version/build at startup.
          • AsyncSite for updating other pages from an app without blocking the main thread.
          • Drop or clear pages from a site using del site[route].
        • Changed
          • All HTTP calls now use non-blocking asyncio using the httpx library.
          • listen() is deprecated.
          • H2O_WAVE_INTERNAL_ADDRESS and H2O_WAVE_EXTERNAL_ADDRESS are deprecated.
          • An app's UI is now cleared when an app crashes or is terminated.
          • All examples migrated to use @app instead of listen().
          • Server binary renamed to waved (as in wave daemon).
          • Apps using @app must be run using wave run.
        • Fixed
          • Performance and concurrency improvements across the board.
          • Stability improvements to the Wave Tour.

        v0.8.1

        Oct 26, 2020 - Download

        • Fixed
          • Enable visible properly on text_* components.
          • Fix checkbox value unchecking.
          • Improve stepper component layout.

        v0.8.0

        Oct 20, 2020 - Download

        • Added
          • Escape Cypress test functions using leading underscore _ if they overlap with Python reserved keywords.
          • Add data-test attribute to all form components for browser testing.
          • Add trigger property to the date picker component.
          • Allow pre-selecting rows in the table component.
          • Add visible property to all components to show/hide them on demand.
          • Add support for OpenID Connect (OIDC).
          • Add documentation on security.
        • Fixed
          • Default HTML page title set to Wave.
          • Make % heights work properly for frames inside forms.

        v0.7.0

        Oct 15, 2020 - Download

        • Added
          • Hash navigation using context menus.
          • Allow handling location hash when an open app page is reloaded.
          • Allow pre-selecting a tab in a tab_card.
          • Allow setting a height on the file upload component.
          • Allow justifying buttons left/center/right/spread.
          • Add data-test attribute to all cards for browser testing.
          • New documentation website, gallery, guides and tutorials.
        • Changed
          • Fit table height to content height whenever possible.
          • Improve spacing between form components.
          • data-test attribute is set based on the names of cards.
        • Fixed
          • Quote CSV data properly while downloading a table component's data.
          • Don't auto-hide axis labels in plots when data is missing.
          • Display labels instead of names when a pickers initial values are set.
          • Handle numeric column sorting in the table component.
          • Handle icon column sorting in the table component.

        v0.6.0

        Sep 23, 2020 - Download

        • Added
          • Apps when launched now automatically use an available free port instead of 55556.
          • Client-side redirects to URLs and hashes using meta_card.redirect.
          • Context menus inside forms: ui.text_xl() and ui.text_l() now support optional context menus.
          • Plots now support specifying data values for predictable color encoding and legends.
          • ui.markup component for rendering HTML inline in forms.
          • ui.template component for rendering templated HTML inline in forms.
          • The height of tables can now be controlled using the height attribute.
          • Both sorting and group-by now work on the same table column if specified.
          • Lots of examples on how to use ui.table sorting, grouping, search, download, etc.
          • Ability to specify which column in a ui.table is the primary column, or disable altogether.
        • Changed
          • ui.text() now unconditionally allows embedded HTML tags.
          • App host now defaults to 127.0.0.1 instead of localhost.
          • Footer display in ui.table is now inferred from usage and displayed automatically.
          • The min_width and max_width attributes for table columns are now strings (consistency).
        • Fixed
          • Background color rendering bug when page overflows after loading.
          • Render tooltip properly on toolbar command buttons.
          • ui.table() rendering bug: remove stray 0.
          • Python error stack trace, if any, is displayed on top of all other cards on page.

        v0.5.0

        Sep 18, 2020 - Download

        • Added
          • Example for controlling cards with tabs.
          • Cypress test runner for CI.
          • Search, sort, filter, group-by, export and custom cell types for table component.
        • Changed
          • Remove semantic validation for stepper component.
        • Fixed
          • Value synchronization bug in textbox component.

        v0.4.0

        Sep 16, 2020 - Download

        • Added
          • Trigger attribute to checklist component.
        • Changed
          • Allow same min and max values for the range slider component.
          • App tests are now automatically and directly translated to Cypress tests when loaded.
        • Fixed
          • Allow removing selected options from the picker component.
          • Render axis title properly when specified.
          • Raise informative error message if attempting to use Numpy objects in components.
        • Removed
          • Cypress test bridge removed from server.
          • run_tests API.

        v0.3.1

        Sep 8, 2020 - Download

        • Fixed
          • Multiselect dropdown checkboxes do not respond when clicked.

        v0.3.0

        Sep 8, 2020 - Download

        • Added
          • Native plots inside form cards - ui.visualization().
          • Vega plots inside form cards - ui.vega_visualization().

        v0.2.0

        Sep 4, 2020 - Download

        • Added
          • Picker component.
          • Breadcrumbs component.
          • Range slider component.
          • Stepper component.
          • Allow backend to handle changes to textboxes as you type.
          • Select / deselect all controls for multivalued dropdown component.
          • Examples for using plotly plots.
          • Example for updating vega plots.
          • OS-specific installations instructions.
          • Cypress test framework support.
        • Fixed
          • Add .exe extension o Windows executable.
          • Percentage formatting in Safari.

        v0.1.4

        Aug 10, 2020 - Download

        • Fixed
          • Frame heights are not respected with total height of frames exceeds containing card size

        v0.1.3

        Aug 10, 2020 - Download

        • Fixed
          • h2o_wave.ui.link() now has a download attribute to work around a Firefox bug.
          • Race condition in the interactive tour that caused some examples to not preview properly.

        v0.1.2

        Aug 7, 2020 - Download

        • Added
          • API for h2o_wave.core.Expando copy, clone and item/attribute deletion.
          • Migration guide.
          • Example for setting browser window title.
          • API and example for Header card: h2o_wave.ui.header_card().
          • Export h2o_wave.core.Ref from h2o_wave.
          • API and examples for inline frames inside form cards: h2o_wave.ui.frame().
        • Changed
          • Renamed env var prefix for settings to H2O_Q_.
        • Fixed
          • Plot X/Y axis transpose bug.

        v0.1.1

        Jul 27, 2020 - Download

        • Added
          • Options for file type and size to file upload component.
          • API for displaying desktop notifications.
          • Buttons can now submit specific values instead of only True/False.
          • Examples for layout and card sizing.
          • Image card for displaying base64-encoded images.
          • Example for image card.
          • Vector graphics API.
          • Turtle graphics based path generator.
          • Examples for graphics card.
        • Fixed
          • Re-rendering performance improvements.

        v0.1.0

        Jul 13, 2020 - Download

        • Added
          • Example for displaying iframe content > 2MB.
          • Example for plotting using matplotlib.
          • Example for plotting using Altair.
          • Example for plotting using Vega.
          • Example for plotting using Bokeh.
          • Example for plotting using custom D3.js Javascript.
          • Example for live dashboard with stats cards.
          • Example for master-detail user interfaces using ui.table().
          • Example for authoring multi-step wizard user interfaces.
          • Unload API: q.unload() to delete uploaded files.

        v0.0.7

        Jul 12, 2020 - Download

        • Added
          • Download API: q.download().
          • Vega-lite support: ui.vega_card().
          • Context menu support to all cards.
          • refresh attribute on meta_card allows static pages to stop receiving live updates.
          • Passing -debug when starting server displays site stats at /_d/site.
          • Drag and drop support for file upload component.
          • Template expression support for markdown cards.
          • All APIs and examples documented.
          • All 110 examples now ship with the Sphinx documentation.
          • Documentation now ships with release download.
        • Changed
          • API consistency: ui.vis() renamed to ui.plot().
          • All stats cards now have descriptive names.
          • API consistency: ui.mark.mark renamed to ui.mark.type.
          • API consistency: page.sync() and page.push() renamed to page.save().
        • Removed
          • ui.dashboard_card() and ui.notebook_card().

        v0.0.6

        Jul 6, 2020 - Download

        • Added
          • Log network traffic when logging is set to debug mode.
          • Capture and display unhandled exceptions on the UI.
          • Routing using location hash.
          • Toolbar component.
          • Tabs component.
          • Nav component.
          • Upload API: q.upload().
        • Changed
          • q.session renamed to q.user

        v0.0.5

        Jun 29, 2020 - Download

        • Added
          • Add configure() API to configure environment before launching.

        v0.0.4

        Jun 26, 2020 - Download

        • Added
          • Multi-user and multi-client support: launch apps in multicast or unicast modes in addition to broadcast mode.
          • Client-specific data can now be stored and accessed via q.client, similar to q.session and q.app.
          • Simpler page referencing: import site can be used instead of site = Site().
        • Changed
          • Apps now lauch in unicast mode by default instead of broadcast mode.

        v0.0.3

        Jun 19, 2020 - Download

        • Added
          • Make Expando data structure available for apps.

        v0.0.2

        Jun 17, 2020 - Download

        • Initial version
        • v0.0.1
        • Package stub
        - - - - - - - - - - - - - - - - +

        Change Log

        Versioning

        H2O Wave and its Python driver follow Semantic Versioning. Major releases ship every six months (~February and ~August), while minor and patch releases may ship as often as every week. Minor and patch releases should never contain breaking changes.

        When referencing the h2o-wave package from your requirements.txt or setup.py, you should always use a version constraint such as >=4.2, <5 (any version 4.2 or greater, but less than 5), since major releases of H2O Wave do include breaking changes.

        Support Policy

        For LTS releases, bug fixes are provided for 2 years and security fixes are provided for 3 years. These releases provide the longest window of support and maintenance. For general releases, bug fixes are provided for 6 months and security fixes are provided for 1 year.

        v0.11.0

        Jan 15, 2021 - Download

        • Added
          • Make all cards render responsively in both grid and flex layouts.
          • Add demo application that showcases various dashboards using flexible/responsive layouts.
          • Add ui.stats() and ui.stat() for displaying metrics inline in forms.
          • Add ui.section_card() to demarcate sections on a page, with optional nested components.
          • Add ui.stat_list_card() to display lists of metrics, with optional icons and links.
          • Add ui.stat_table_card() to display tables of metrics, with optional icons and links.
          • Add ui.inline() to nest and display components horizontally inside a form.
          • Add ui.footer_card() to display footers at the bottom of pages.
          • Allow form cards to have titles.
          • Allow disabling nav items.
          • Add support for color variable in plot color ranges.
          • Add support for color variable in plot shape/text fills and strokes.
          • Allow tabs inside forms to trigger hash change navigation.
          • Allow a tab card's selected tab to be accessed using the card's name.
          • Publish h2o-wave package to Conda.
          • Example for displaying background task completion using a progress bar.
          • Example for displaying Pandas frames as markdown tables.
          • Example for plotting Pandas frames.
          • OIDC refresh token is now accessible in the Python client.
          • Make documentation searchable.
          • Add table of contents for all Wave examples.
          • Add tags to all examples; show tag on an index page.
        • Changed
          • Stats cards now dynamically resize to fit card size.
          • Picker now displays suggestion list in advance.
          • Center breadcrumbs vertically in flex layouts.
          • Plot cards now dynamically resize to fit.
          • Improve markdown rendering consistency across components.
          • Center tabs vertically when used in flex layouts.
          • Display tab cards without a background/padding.
          • Display toolbar cards without a background/padding.
          • Vega cards now dynamically resize to fit.
          • Improve spacing between components contained in an expander.
        • Fixed
          • Fix Wave tour on Windows.
          • Fix responsive layout in Safari.
          • Fix bug where --no-reload of apps was using incorrect port.
          • Fix client-side warnings when using components nested recursively.
          • Close dialogs properly when the top X button is clicked.

        v0.10.0

        Nov 29, 2020 - Download

        • Added

          • Add support for responsive layouts.
          • Add support for modal dialogs.
          • Add ability to handle events from UI (q.events).
          • Allow handling mark selection events on plots.
          • Allow apps to handle server startup/shutdown events via on_startup and on_shutdown hooks.
          • Allow color picker to submit values immediately when changed (trigger attribute).
          • Allow collapsing nav items during initialization.
          • Handle display and sorting of numeric and time valued columns in ui.table().
          • Allow links/link-buttons to open links in new windows/tabs.
          • API now ships with enums for functions expecting predefined constants as parameters.
          • Read OIDC flags from env vars when available.
          • Automatically refresh OAuth2 access token in the background if expired.
          • Allow accessing OIDC access tokens in Python client.
          • Allow icons on navigation items.
          • Automatically transpose columns to rows in data() if not packed.
          • Allow adjust multiline textbox height.
          • Allow picker to submit values immediately when changed (trigger attribute).
          • Treat wave run foo/bar/baz.py as wave run foo.bar.baz.
          • Allow selecting nav links during initialization.
        • Changed

          • Cards display a "raised" effect on mouse over; Header, tab, toolbar and navbar have alternate styles.
          • Display loading spinner automatically when a request is in flight.
          • Mark ui.command(data=...) as deprecated (use ui.command(value=...) instead, similar to ui.button(...).)
          • Remove redundant ui.* API for discriminated unions (ui.component(), etc.),
          • Add column headers to CSVs downloaded from ui.table(); remove row names.
          • Change default Wave server port from 55555 to 10101 (55555 is special on OSX Big Sur).
          • Center image in image card and preserve aspect ratio.
        • Fixed

          • Improve ability of ui.frame() and ui.frame_card() to handle large HTML content.
          • Fix tour on Windows.
          • Use ellipsis on long column labels in ui.table().

        v0.9.1

        Oct 28, 2020 - Download

        • Fixed
          • Make wave run behave identical to python -m h2o_wave run.

        v0.9.0

        Oct 28, 2020 - Download

        • Added
          • ASGI compatibility: Wave apps can now be run using an ASGI server.
          • @app decorator to identify primary query handler in an app.
          • Live-reload for apps.
          • New wave CLI and wave run command.
          • q.run() and q.exec() APIs for running background tasks.
          • Display server version/build at startup.
          • AsyncSite for updating other pages from an app without blocking the main thread.
          • Drop or clear pages from a site using del site[route].
        • Changed
          • All HTTP calls now use non-blocking asyncio using the httpx library.
          • listen() is deprecated.
          • H2O_WAVE_INTERNAL_ADDRESS and H2O_WAVE_EXTERNAL_ADDRESS are deprecated.
          • An app's UI is now cleared when an app crashes or is terminated.
          • All examples migrated to use @app instead of listen().
          • Server binary renamed to waved (as in wave daemon).
          • Apps using @app must be run using wave run.
        • Fixed
          • Performance and concurrency improvements across the board.
          • Stability improvements to the Wave Tour.

        v0.8.1

        Oct 26, 2020 - Download

        • Fixed
          • Enable visible properly on text_* components.
          • Fix checkbox value unchecking.
          • Improve stepper component layout.

        v0.8.0

        Oct 20, 2020 - Download

        • Added
          • Escape Cypress test functions using leading underscore _ if they overlap with Python reserved keywords.
          • Add data-test attribute to all form components for browser testing.
          • Add trigger property to the date picker component.
          • Allow pre-selecting rows in the table component.
          • Add visible property to all components to show/hide them on demand.
          • Add support for OpenID Connect (OIDC).
          • Add documentation on security.
        • Fixed
          • Default HTML page title set to Wave.
          • Make % heights work properly for frames inside forms.

        v0.7.0

        Oct 15, 2020 - Download

        • Added
          • Hash navigation using context menus.
          • Allow handling location hash when an open app page is reloaded.
          • Allow pre-selecting a tab in a tab_card.
          • Allow setting a height on the file upload component.
          • Allow justifying buttons left/center/right/spread.
          • Add data-test attribute to all cards for browser testing.
          • New documentation website, gallery, guides and tutorials.
        • Changed
          • Fit table height to content height whenever possible.
          • Improve spacing between form components.
          • data-test attribute is set based on the names of cards.
        • Fixed
          • Quote CSV data properly while downloading a table component's data.
          • Don't auto-hide axis labels in plots when data is missing.
          • Display labels instead of names when a pickers initial values are set.
          • Handle numeric column sorting in the table component.
          • Handle icon column sorting in the table component.

        v0.6.0

        Sep 23, 2020 - Download

        • Added
          • Apps when launched now automatically use an available free port instead of 55556.
          • Client-side redirects to URLs and hashes using meta_card.redirect.
          • Context menus inside forms: ui.text_xl() and ui.text_l() now support optional context menus.
          • Plots now support specifying data values for predictable color encoding and legends.
          • ui.markup component for rendering HTML inline in forms.
          • ui.template component for rendering templated HTML inline in forms.
          • The height of tables can now be controlled using the height attribute.
          • Both sorting and group-by now work on the same table column if specified.
          • Lots of examples on how to use ui.table sorting, grouping, search, download, etc.
          • Ability to specify which column in a ui.table is the primary column, or disable altogether.
        • Changed
          • ui.text() now unconditionally allows embedded HTML tags.
          • App host now defaults to 127.0.0.1 instead of localhost.
          • Footer display in ui.table is now inferred from usage and displayed automatically.
          • The min_width and max_width attributes for table columns are now strings (consistency).
        • Fixed
          • Background color rendering bug when page overflows after loading.
          • Render tooltip properly on toolbar command buttons.
          • ui.table() rendering bug: remove stray 0.
          • Python error stack trace, if any, is displayed on top of all other cards on page.

        v0.5.0

        Sep 18, 2020 - Download

        • Added
          • Example for controlling cards with tabs.
          • Cypress test runner for CI.
          • Search, sort, filter, group-by, export and custom cell types for table component.
        • Changed
          • Remove semantic validation for stepper component.
        • Fixed
          • Value synchronization bug in textbox component.

        v0.4.0

        Sep 16, 2020 - Download

        • Added
          • Trigger attribute to checklist component.
        • Changed
          • Allow same min and max values for the range slider component.
          • App tests are now automatically and directly translated to Cypress tests when loaded.
        • Fixed
          • Allow removing selected options from the picker component.
          • Render axis title properly when specified.
          • Raise informative error message if attempting to use Numpy objects in components.
        • Removed
          • Cypress test bridge removed from server.
          • run_tests API.

        v0.3.1

        Sep 8, 2020 - Download

        • Fixed
          • Multiselect dropdown checkboxes do not respond when clicked.

        v0.3.0

        Sep 8, 2020 - Download

        • Added
          • Native plots inside form cards - ui.visualization().
          • Vega plots inside form cards - ui.vega_visualization().

        v0.2.0

        Sep 4, 2020 - Download

        • Added
          • Picker component.
          • Breadcrumbs component.
          • Range slider component.
          • Stepper component.
          • Allow backend to handle changes to textboxes as you type.
          • Select / deselect all controls for multivalued dropdown component.
          • Examples for using plotly plots.
          • Example for updating vega plots.
          • OS-specific installations instructions.
          • Cypress test framework support.
        • Fixed
          • Add .exe extension o Windows executable.
          • Percentage formatting in Safari.

        v0.1.4

        Aug 10, 2020 - Download

        • Fixed
          • Frame heights are not respected with total height of frames exceeds containing card size

        v0.1.3

        Aug 10, 2020 - Download

        • Fixed
          • h2o_wave.ui.link() now has a download attribute to work around a Firefox bug.
          • Race condition in the interactive tour that caused some examples to not preview properly.

        v0.1.2

        Aug 7, 2020 - Download

        • Added
          • API for h2o_wave.core.Expando copy, clone and item/attribute deletion.
          • Migration guide.
          • Example for setting browser window title.
          • API and example for Header card: h2o_wave.ui.header_card().
          • Export h2o_wave.core.Ref from h2o_wave.
          • API and examples for inline frames inside form cards: h2o_wave.ui.frame().
        • Changed
          • Renamed env var prefix for settings to H2O_Q_.
        • Fixed
          • Plot X/Y axis transpose bug.

        v0.1.1

        Jul 27, 2020 - Download

        • Added
          • Options for file type and size to file upload component.
          • API for displaying desktop notifications.
          • Buttons can now submit specific values instead of only True/False.
          • Examples for layout and card sizing.
          • Image card for displaying base64-encoded images.
          • Example for image card.
          • Vector graphics API.
          • Turtle graphics based path generator.
          • Examples for graphics card.
        • Fixed
          • Re-rendering performance improvements.

        v0.1.0

        Jul 13, 2020 - Download

        • Added
          • Example for displaying iframe content > 2MB.
          • Example for plotting using matplotlib.
          • Example for plotting using Altair.
          • Example for plotting using Vega.
          • Example for plotting using Bokeh.
          • Example for plotting using custom D3.js Javascript.
          • Example for live dashboard with stats cards.
          • Example for master-detail user interfaces using ui.table().
          • Example for authoring multi-step wizard user interfaces.
          • Unload API: q.unload() to delete uploaded files.

        v0.0.7

        Jul 12, 2020 - Download

        • Added
          • Download API: q.download().
          • Vega-lite support: ui.vega_card().
          • Context menu support to all cards.
          • refresh attribute on meta_card allows static pages to stop receiving live updates.
          • Passing -debug when starting server displays site stats at /_d/site.
          • Drag and drop support for file upload component.
          • Template expression support for markdown cards.
          • All APIs and examples documented.
          • All 110 examples now ship with the Sphinx documentation.
          • Documentation now ships with release download.
        • Changed
          • API consistency: ui.vis() renamed to ui.plot().
          • All stats cards now have descriptive names.
          • API consistency: ui.mark.mark renamed to ui.mark.type.
          • API consistency: page.sync() and page.push() renamed to page.save().
        • Removed
          • ui.dashboard_card() and ui.notebook_card().

        v0.0.6

        Jul 6, 2020 - Download

        • Added
          • Log network traffic when logging is set to debug mode.
          • Capture and display unhandled exceptions on the UI.
          • Routing using location hash.
          • Toolbar component.
          • Tabs component.
          • Nav component.
          • Upload API: q.upload().
        • Changed
          • q.session renamed to q.user

        v0.0.5

        Jun 29, 2020 - Download

        • Added
          • Add configure() API to configure environment before launching.

        v0.0.4

        Jun 26, 2020 - Download

        • Added
          • Multi-user and multi-client support: launch apps in multicast or unicast modes in addition to broadcast mode.
          • Client-specific data can now be stored and accessed via q.client, similar to q.session and q.app.
          • Simpler page referencing: import site can be used instead of site = Site().
        • Changed
          • Apps now lauch in unicast mode by default instead of broadcast mode.

        v0.0.3

        Jun 19, 2020 - Download

        • Added
          • Make Expando data structure available for apps.

        v0.0.2

        Jun 17, 2020 - Download

        • Initial version
        • v0.0.1
        • Package stub
        + + + + + + + + + + diff --git a/docs/docs/cli/index.html b/docs/docs/cli/index.html index fe6f1be38f..51fd2a83bd 100644 --- a/docs/docs/cli/index.html +++ b/docs/docs/cli/index.html @@ -4,47 +4,36 @@ + - Command Line Interface | H2O Wave - - - - - - - - - - - - - - - - + Command Line Interface | H2O Wave + + + + + + + + + +
        -

        Command Line Interface

        The CLI is accessible using the wave command, available once you pip install h2o-wave.

        To view a list of sub-commands, simply run wave:

        $ wave
        Usage: wave [OPTIONS] COMMAND [ARGS]...
        +

        Command Line Interface

        The CLI is accessible using the wave command, available once you pip install h2o-wave.

        To view a list of sub-commands, simply run wave:

        $ wave
        Usage: wave [OPTIONS] COMMAND [ARGS]...
        Options:
        --help Show this message and exit.
        -
        Commands:
        run Run an app.

        Get help on a sub-command:

        $ wave <command> --help

        wave run

        wave run runs an app.

        Run app.py with auto reload:

        $ wave run app

        Run path/to/app.py with auto reload:

        $ wave run path.to.app

        Run path/to/app.py without auto reload:

        $ wave run --no-reload path.to.app
        - - - - - - - - - - - - - - - - +
        Commands:
        run Run an app.

        Get help on a sub-command:

        $ wave <command> --help

        wave run

        wave run runs an app.

        Run app.py with auto reload:

        $ wave run app

        Run path/to/app.py with auto reload:

        $ wave run path.to.app

        Run path/to/app.py without auto reload:

        $ wave run --no-reload path.to.app
        + + + + + + + + + + diff --git a/docs/docs/components/index.html b/docs/docs/components/index.html index 185bed8345..d1aa4951fd 100644 --- a/docs/docs/components/index.html +++ b/docs/docs/components/index.html @@ -4,46 +4,35 @@ + - Components | H2O Wave - - - - - - - - - - - - - - - - + Components | H2O Wave + + + + + + + + + +
        -

        Components

        Components are blocks of interactive content (inputs, commands, notifications, graphics) contained in a form card.

        info

        Several of the components below allow users to input information or interact with them in some way. To know what the user did, see event arguments.

        In places where a component accepts an icon argument, you can specify any of the Office UI Fabric Icons. For example,

        ui.command(name="close", label='Close', icon='ChromeClose')])

        Content

        Text

        Use text() or one of its variants to display text content. Markdown works, too. text_xl() and text_l() support context menus.

        See ui.text() ui.text_l() ui.text_m() ui.text_s() ui.text_xl() ui.text_xs()

        Label

        Use a label to give a name or title to other components.

        See ui.label()

        Link

        Use link() to display a hyperlink.

        See ui.link()

        Template

        Use template() to render dynamic content using HTML.

        See ui.template()

        HTML

        Use markup() to display raw HTML.

        See ui.markup()

        Inline frame

        Use frame() to embed external HTML content using an inline frame.

        See ui.frame()

        Table

        Use a table to display tabular data. A table also functions as an input element, and can report row(s) selection, useful for building master-detail views.

        See ui.table()

        Inputs

        Checkbox

        Use a checkbox to allow switching between two mutually exclusive options (checked/unchecked or on/off).

        See ui.checkbox()

        Checklist

        Use a checklist to display a list of checkboxes.

        See ui.checklist()

        Choice Group

        Use a choice group (also called radio buttons) to allow switching between more than two mutually exclusive options.

        See ui.choice_group()

        Color Picker

        Use a color picker to allow pick colors or swatches.

        See ui.color_picker()

        Combo Box

        Use a combo box to allow picking from a list of choices, or typing in custom values.

        See ui.combobox()

        Date Picker

        Use a date picker to allow picking a date.

        See ui.date_picker()

        Dropdown

        Use a dropdown to allow picking from a list of choices.

        See ui.dropdown()

        File Upload

        Use a file upload component to allow uploading files.

        See ui.file_upload()

        Picker

        Use a picker component to allow picking multiple tags or labels from a list.

        See ui.picker()

        Range Slider

        Use a range slider to allow selecting a range of values within another range.

        See ui.range_slider()

        Slider

        Use a slider to allow selecting a value from a range of values.

        See ui.slider()

        Spin Box

        Use a spin box to allow incrementally adjusting a value in small steps.

        See ui.spinbox()

        Table

        Use a table to display tabular data, or allow selecting one or more rows.

        See ui.table()

        Textbox

        Use a textbox to allow typing in text.

        See ui.textbox()

        Toggle

        Use a toggle to allow switching between two mutually exclusive options (checked/unchecked or on/off), while producing an immediate result. -See ui.toggle()

        Commands

        Command

        Use a command to define menu items for cards and components that support menus and context-menus.

        See ui.command()

        Button

        Use button() to display a clickable button.

        See ui.button()

        Button Set

        Use buttons() to display two or more buttons side by side.

        See ui.buttons()

        Tabs

        Use tabs() to display a set of tabs.

        See ui.tabs()

        Engagement

        Message Bar

        Use a message bar to display information, warning and error notifications.

        See ui.message_bar()

        Progress Bar

        Use a progress bar to display progress information for tasks or operations.

        See ui.progress()

        Stepper

        Use a stepper to display a sequence of steps in a process, and how many have been completed.

        See ui.stepper()

        Graphics

        Visualization

        Use visualization() to display visualizations defined using Q's native plot() API, based on the Grammar of Graphics.

        See ui.visualization()

        Vega-lite Visualization

        Use vega_visualization() to display visualization defined using Vega-Lite.

        See ui.vega_visualization()

        Utilities

        Expander

        Use an expander to show or hider a group of related components.

        See ui.expander()

        Separator

        Use a separator to visually separate components in to groups.

        See ui.separator()

        - - - - - - - - - - - - - - - - +

        Components

        Components are blocks of interactive content (inputs, commands, notifications, graphics) contained in a form card.

        info

        Several of the components below allow users to input information or interact with them in some way. To know what the user did, see event arguments.

        In places where a component accepts an icon argument, you can specify any of the Office UI Fabric Icons. For example,

        ui.command(name="close", label='Close', icon='ChromeClose')])

        Content

        Text

        Use text() or one of its variants to display text content. Markdown works, too. text_xl() and text_l() support context menus.

        See ui.text() ui.text_l() ui.text_m() ui.text_s() ui.text_xl() ui.text_xs()

        Label

        Use a label to give a name or title to other components.

        See ui.label()

        Link

        Use link() to display a hyperlink.

        See ui.link()

        Template

        Use template() to render dynamic content using HTML.

        See ui.template()

        HTML

        Use markup() to display raw HTML.

        See ui.markup()

        Inline frame

        Use frame() to embed external HTML content using an inline frame.

        See ui.frame()

        Table

        Use a table to display tabular data. A table also functions as an input element, and can report row(s) selection, useful for building master-detail views.

        See ui.table()

        Inputs

        Checkbox

        Use a checkbox to allow switching between two mutually exclusive options (checked/unchecked or on/off).

        See ui.checkbox()

        Checklist

        Use a checklist to display a list of checkboxes.

        See ui.checklist()

        Choice Group

        Use a choice group (also called radio buttons) to allow switching between more than two mutually exclusive options.

        See ui.choice_group()

        Color Picker

        Use a color picker to allow pick colors or swatches.

        See ui.color_picker()

        Combo Box

        Use a combo box to allow picking from a list of choices, or typing in custom values.

        See ui.combobox()

        Date Picker

        Use a date picker to allow picking a date.

        See ui.date_picker()

        Dropdown

        Use a dropdown to allow picking from a list of choices.

        See ui.dropdown()

        File Upload

        Use a file upload component to allow uploading files.

        See ui.file_upload()

        Picker

        Use a picker component to allow picking multiple tags or labels from a list.

        See ui.picker()

        Range Slider

        Use a range slider to allow selecting a range of values within another range.

        See ui.range_slider()

        Slider

        Use a slider to allow selecting a value from a range of values.

        See ui.slider()

        Spin Box

        Use a spin box to allow incrementally adjusting a value in small steps.

        See ui.spinbox()

        Table

        Use a table to display tabular data, or allow selecting one or more rows.

        See ui.table()

        Textbox

        Use a textbox to allow typing in text.

        See ui.textbox()

        Toggle

        Use a toggle to allow switching between two mutually exclusive options (checked/unchecked or on/off), while producing an immediate result. +See ui.toggle()

        Commands

        Command

        Use a command to define menu items for cards and components that support menus and context-menus.

        See ui.command()

        Button

        Use button() to display a clickable button.

        See ui.button()

        Button Set

        Use buttons() to display two or more buttons side by side.

        See ui.buttons()

        Tabs

        Use tabs() to display a set of tabs.

        See ui.tabs()

        Engagement

        Message Bar

        Use a message bar to display information, warning and error notifications.

        See ui.message_bar()

        Progress Bar

        Use a progress bar to display progress information for tasks or operations.

        See ui.progress()

        Stepper

        Use a stepper to display a sequence of steps in a process, and how many have been completed.

        See ui.stepper()

        Graphics

        Visualization

        Use visualization() to display visualizations defined using Q's native plot() API, based on the Grammar of Graphics.

        See ui.visualization()

        Vega-lite Visualization

        Use vega_visualization() to display visualization defined using Vega-Lite.

        See ui.vega_visualization()

        Utilities

        Expander

        Use an expander to show or hider a group of related components.

        See ui.expander()

        Separator

        Use a separator to visually separate components in to groups.

        See ui.separator()

        + + + + + + + + + + diff --git a/docs/docs/configuration/index.html b/docs/docs/configuration/index.html index aef8815a7e..5f1a4f5b78 100644 --- a/docs/docs/configuration/index.html +++ b/docs/docs/configuration/index.html @@ -4,45 +4,34 @@ + - Configuration | H2O Wave - - - - - - - - - - - - - - - - + Configuration | H2O Wave + + + + + + + + + +
        -

        Configuration

        Configuring the server

        Command line options

        Execute waved -help to see all available command line options:

        $ ./waved -help
        Usage of ./waved:
        -access-key-id string
        default access key ID (default "access_key_id")
        -access-key-secret string
        default access key secret (default "access_key_secret")
        -compact string
        compact AOF log
        -data-dir string
        directory to store site data (default "./data")
        -debug
        enable debug mode (profiling, inspection, etc.)
        -init string
        initialize site content from AOF log
        -listen string
        listen on this address (default ":10101")
        -oidc-client-id string
        OIDC client ID
        -oidc-client-secret string
        OIDC client secret
        -oidc-end-session-url string
        OIDC end session URL
        -oidc-provider-url string
        OIDC provider URL
        -oidc-redirect-url string
        OIDC redirect URL
        -tls-cert-file string
        path to certificate file (TLS only)
        -tls-key-file string
        path to private key file (TLS only)
        -version
        print version and exit
        -web-dir string
        directory to serve web assets from (default "./www")

        Configuring your app

        Your Wave application is an ASGI server. When you run your app during development, the app server runs at http://127.0.0.1:8000/ by default (localhost, port 8000), and assumes that your Wave server is running at http://127.0.0.1:10101/ (localhost, port 10101). The wave run command automatically picks another available port if 8000 is not available.

        The Wave server and apps communicate with each other using RPC over persistent HTTP connections.

        For production deployments, you'll want to configure which port your app listens to, how it can access the Wave server, and how the Wave server can access your app.

        You can use the following environment variables to configure your app's server's behavior:

        H2O_APP_ADDRESS

        The public host/port of the app server. Defaults to http://127.0.0.1:8000. Set this variable if you are running your Wave server and your app on different machines or containers.

        H2O_WAVE_ADDRESS

        The public host/port of the Wave server. Defaults to http://127.0.0.1:10101. Set this variable if you are running the Wave server on a remote machine or container.

        H2O_WAVE_ACCESS_KEY_ID

        The API access key ID to use for communicating with the Wave server.

        H2O_WAVE_ACCESS_KEY_SECRET

        The API access key secret to use for communicating with the Wave server.

        H2O_WAVE_INTERNAL_ADDRESS

        Deprecated

        This environment variable will be removed in v1.0.

        The local host/port on which the app server should listen. Defaults to http://127.0.0.1:8000. For example, if you want your app to listen on a specific port, execute your app as follows (replace 66666 with a port number of your choice):

        $ H2O_WAVE_INTERNAL_ADDRESS=ws://127.0.0.1:66666 ./venv/bin/python my_app.py

        H2O_WAVE_EXTERNAL_ADDRESS

        Deprecated

        Specify H2O_APP_ADDRESS instead.

        The public host/port of the app server. Defaults to http://127.0.0.1:8000. Set this variable if you are running your Wave server and your app on different machines or containers.

        - - - - - - - - - - - - - - - - +

        Configuration

        Configuring the server

        Command line options

        Execute waved -help to see all available command line options:

        $ ./waved -help
        Usage of ./waved:
        -access-key-id string
        default access key ID (default "access_key_id")
        -access-key-secret string
        default access key secret (default "access_key_secret")
        -compact string
        compact AOF log
        -data-dir string
        directory to store site data (default "./data")
        -debug
        enable debug mode (profiling, inspection, etc.)
        -init string
        initialize site content from AOF log
        -listen string
        listen on this address (default ":10101")
        -oidc-client-id string
        OIDC client ID
        -oidc-client-secret string
        OIDC client secret
        -oidc-end-session-url string
        OIDC end session URL
        -oidc-provider-url string
        OIDC provider URL
        -oidc-redirect-url string
        OIDC redirect URL
        -tls-cert-file string
        path to certificate file (TLS only)
        -tls-key-file string
        path to private key file (TLS only)
        -version
        print version and exit
        -web-dir string
        directory to serve web assets from (default "./www")

        Configuring your app

        Your Wave application is an ASGI server. When you run your app during development, the app server runs at http://127.0.0.1:8000/ by default (localhost, port 8000), and assumes that your Wave server is running at http://127.0.0.1:10101/ (localhost, port 10101). The wave run command automatically picks another available port if 8000 is not available.

        The Wave server and apps communicate with each other using RPC over persistent HTTP connections.

        For production deployments, you'll want to configure which port your app listens to, how it can access the Wave server, and how the Wave server can access your app.

        You can use the following environment variables to configure your app's server's behavior:

        H2O_WAVE_APP_ADDRESS

        The public host/port of the app server. Defaults to http://127.0.0.1:8000. Set this variable if you are running your Wave server and your app on different machines or containers.

        H2O_WAVE_ADDRESS

        The public host/port of the Wave server. Defaults to http://127.0.0.1:10101. Set this variable if you are running the Wave server on a remote machine or container.

        H2O_WAVE_ACCESS_KEY_ID

        The API access key ID to use for communicating with the Wave server.

        H2O_WAVE_ACCESS_KEY_SECRET

        The API access key secret to use for communicating with the Wave server.

        H2O_WAVE_INTERNAL_ADDRESS

        Deprecated

        This environment variable will be removed in v1.0.

        The local host/port on which the app server should listen. Defaults to http://127.0.0.1:8000. For example, if you want your app to listen on a specific port, execute your app as follows (replace 66666 with a port number of your choice):

        $ H2O_WAVE_INTERNAL_ADDRESS=ws://127.0.0.1:66666 ./venv/bin/python my_app.py

        H2O_WAVE_EXTERNAL_ADDRESS

        Deprecated

        Specify H2O_WAVE_APP_ADDRESS instead.

        The public host/port of the app server. Defaults to http://127.0.0.1:8000. Set this variable if you are running your Wave server and your app on different machines or containers.

        + + + + + + + + + + diff --git a/docs/docs/contributing/index.html b/docs/docs/contributing/index.html index 7b02b89d29..292a786541 100644 --- a/docs/docs/contributing/index.html +++ b/docs/docs/contributing/index.html @@ -4,51 +4,40 @@ + - Contributing | H2O Wave - - - - - - - - - - - - - - - - + Contributing | H2O Wave + + + + + + + + + +
        -

        Contributing

        We appreciate all contributions. If you are planning to contribute back bug-fixes, please do so without any further discussion.

        If you plan to contribute new features, please first open an issue and discuss the feature with us. Sending a PR without discussion might end up resulting in a rejected PR because we might be taking the software in a different direction than you might be aware of.

        (Based on the PyTorch Contribution Guide.)

        About open source development

        If this is your first time contributing to an open source project, some aspects of the development process may seem unusual to you.

        • There is no way to "claim" issues. People often want to "claim" an issue when they decide to work on it, to ensure that there isn’t wasted work when someone else ends up working on it. This doesn’t really work too well in open source, since someone may decide to work on something, and end up not having time to do it. Feel free to give information in an advisory fashion, but at the end of the day, we will take running code and rough consensus.

        • There is a high bar for new functionality that is added. Unlike in a corporate environment, where the person who wrote code implicitly "owns" it and can be expected to take care of it in the beginning of its lifetime, once a pull request is merged into an open source project, it immediately becomes the collective responsibility of all maintainers on the project. When we merge code, we are saying that we, the maintainers, are able to review subsequent changes and make a bugfix to the code. This naturally leads to a higher standard of contribution.

        Proposing new features

        New feature ideas are best discussed on a specific issue. Please include as much information as you can, any accompanying data, and your proposed solution. The H2O Wave team and community frequently reviews new issues and comments where they think they can help. If you feel confident in your solution, go ahead and implement it.

        Reporting issues

        If you’ve identified an issue, first search through the list of existing issues on the repo. If you are unable to find a similar issue, then create a new one. Supply as much information you can to reproduce the problematic behavior. Also, include any additional insights like the behavior you expect.

        Implementing features

        If you want to fix a specific issue, it’s best to comment on the individual issue with your intent. However, we do not lock or assign issues except in cases where we have worked with the developer before. It’s best to strike up a conversation on the issue and discuss your proposed solution. The H2O Wave team can provide guidance that saves you time.

        Issues that are labeled good first issue, low or medium priority are great places to start. Only issues that have assigned a milestone or are tagged with help needed / good first issue will be merged.

        Improving documentation and tutorials

        We aim to produce high quality documentation and tutorials. On rare occasions that content includes typos or bugs. If you find something you can fix, send us a pull request for consideration.

        Submitting pull requests

        You can view a list of all open issues. Commenting on an issue is a great way to get the attention of the team. From here you can share your ideas and how you plan to resolve the issue.

        For more challenging issues, the team will provide feedback and direction for how to best solve the issue.

        If you’re not able to fix the issue yourself, commenting and sharing whether you can reproduce the issue can be useful for helping the team identify problem areas.

        Improving code readability

        Improved code readability helps everyone. It is often better to submit a small number of pull requests that touch few files versus a large pull request that touches many files. Opening an issue related to your improvement is the best way to get started.

        Adding test cases

        Additional test coverage is appreciated. Help us make the codebase more robust.

        Security vulnerabilities

        If you discover a security vulnerability within H2O Wave, please send an email to Prithvi Prabhu at prithvi@h2o.ai. All security vulnerabilities will be promptly addressed.

        Code of Conduct

        This Code of Conduct provides community guidelines for a safe, respectful, productive, and collaborative place for any person who is willing to contribute to the H2O Wave community. It applies to all "collaborative space", which is defined as community communications channels (such as mailing lists, submitted patches, commit comments, etc.).

        • Participants will be tolerant of opposing views.
        • Participants must ensure that their language and actions are free of personal attacks and disparaging personal remarks.
        • When interpreting the words and actions of others, participants should always assume good intentions.
        • Behaviour which can be reasonably considered harassment will not be tolerated.

        (Based on the Ruby Code of Conduct.)

        Development Setup

        You will need Node.js version 10+, Go version 1.13.10+, Python version 3.7 +

        Contributing

        We appreciate all contributions. If you are planning to contribute back bug-fixes, please do so without any further discussion.

        If you plan to contribute new features, please first open an issue and discuss the feature with us. Sending a PR without discussion might end up resulting in a rejected PR because we might be taking the software in a different direction than you might be aware of.

        (Based on the PyTorch Contribution Guide.)

        About open source development

        If this is your first time contributing to an open source project, some aspects of the development process may seem unusual to you.

        • There is no way to "claim" issues. People often want to "claim" an issue when they decide to work on it, to ensure that there isn’t wasted work when someone else ends up working on it. This doesn’t really work too well in open source, since someone may decide to work on something, and end up not having time to do it. Feel free to give information in an advisory fashion, but at the end of the day, we will take running code and rough consensus.

        • There is a high bar for new functionality that is added. Unlike in a corporate environment, where the person who wrote code implicitly "owns" it and can be expected to take care of it in the beginning of its lifetime, once a pull request is merged into an open source project, it immediately becomes the collective responsibility of all maintainers on the project. When we merge code, we are saying that we, the maintainers, are able to review subsequent changes and make a bugfix to the code. This naturally leads to a higher standard of contribution.

        Proposing new features

        New feature ideas are best discussed on a specific issue. Please include as much information as you can, any accompanying data, and your proposed solution. The H2O Wave team and community frequently reviews new issues and comments where they think they can help. If you feel confident in your solution, go ahead and implement it.

        Reporting issues

        If you’ve identified an issue, first search through the list of existing issues on the repo. If you are unable to find a similar issue, then create a new one. Supply as much information you can to reproduce the problematic behavior. Also, include any additional insights like the behavior you expect.

        Implementing features

        If you want to fix a specific issue, it’s best to comment on the individual issue with your intent. However, we do not lock or assign issues except in cases where we have worked with the developer before. It’s best to strike up a conversation on the issue and discuss your proposed solution. The H2O Wave team can provide guidance that saves you time.

        Issues that are labeled good first issue, low or medium priority are great places to start. Only issues that have assigned a milestone or are tagged with help needed / good first issue will be merged.

        Improving documentation and tutorials

        We aim to produce high quality documentation and tutorials. On rare occasions that content includes typos or bugs. If you find something you can fix, send us a pull request for consideration.

        Submitting pull requests

        You can view a list of all open issues. Commenting on an issue is a great way to get the attention of the team. From here you can share your ideas and how you plan to resolve the issue.

        For more challenging issues, the team will provide feedback and direction for how to best solve the issue.

        If you’re not able to fix the issue yourself, commenting and sharing whether you can reproduce the issue can be useful for helping the team identify problem areas.

        Improving code readability

        Improved code readability helps everyone. It is often better to submit a small number of pull requests that touch few files versus a large pull request that touches many files. Opening an issue related to your improvement is the best way to get started.

        Adding test cases

        Additional test coverage is appreciated. Help us make the codebase more robust.

        Security vulnerabilities

        If you discover a security vulnerability within H2O Wave, please send an email to Prithvi Prabhu at prithvi@h2o.ai. All security vulnerabilities will be promptly addressed.

        Code of Conduct

        This Code of Conduct provides community guidelines for a safe, respectful, productive, and collaborative place for any person who is willing to contribute to the H2O Wave community. It applies to all "collaborative space", which is defined as community communications channels (such as mailing lists, submitted patches, commit comments, etc.).

        • Participants will be tolerant of opposing views.
        • Participants must ensure that their language and actions are free of personal attacks and disparaging personal remarks.
        • When interpreting the words and actions of others, participants should always assume good intentions.
        • Behaviour which can be reasonably considered harassment will not be tolerated.

        (Based on the Ruby Code of Conduct.)

        Development Setup

        You will need Node.js version 10+, Go version 1.13.10+, Python version 3.7 After cloning the repo, run:

        make all

        ⚠️ This project is best developed on OSX or Linux at the moment. If you develop on Windows, we suggest using WSL.

        After successful setup, you need to run:

        • Wave server (Go server) with command
        make run
        • Wave app (this will run tour.py, but can be any app)
        cd py && ./venv/bin/python examples/tour.py
        • Hot reload webpack server (for easier UI development)
        make run-ui

        After that you can go to http://localhost:10101/tour (http://localhost:3000/tour if you enabled hot reload server).

        Committing Changes

        Commit messages must follow Conventional commits. After commit, we have hooks in place that will:

        • Lint commit message format.
        • Lint staged files based on their extension. Linting supported for .ts, .tsx, .go, .py, .md files.
        • Run accompanying unit tests if found.

        If any of these checks fails, the commit is aborted and you have to fix the errors first.

        Make sure your commit message also ends with an issue number e.g. fix: Typo #11. (Tip: If you name your branch name in format something-#GITHUB_ISSUE_NUM, the issue number will get appended automatically to your commit message.)

        Commonly used make targets

        # Compiles Typescript API to Python API.
        $ make generate
        # Starts Wave server.
        $ make run
        # Starts hot reload dev server for UI.
        $ make run-ui
        # Starts jest UI unit tests in watch mode.
        $ make test-ui-watch
        # Starts Cypress e2e server for python tests.
        $ make run-cypress-bridge

        Project Structure

        • data: contains data created by a Wave-app itself (e.g. file upload files)

        • docs: contains documentation page related files

        • website: documentation page source files

        • py: contains Python lib that is exported as a package

        • r: contains R lib that is exported as a package

        • tools: contains Typescript to Python generator

        • ui: contains UI components written in React + Typescript that are later translated to Python

          • config contains webpack configuration
          • eslint contains custom eslint rules for ts and tsx files -It is required to run npm ci after changing linter.js in order for changes to take effect.
        - - - - - - - - - - - - - - - - +It is required to run npm ci after changing linter.js in order for changes to take effect.
        + + + + + + + + + + diff --git a/docs/docs/deployment/index.html b/docs/docs/deployment/index.html index 0b6478e4f4..f41be329f8 100644 --- a/docs/docs/deployment/index.html +++ b/docs/docs/deployment/index.html @@ -4,45 +4,34 @@ + - Deployment | H2O Wave - - - - - - - - - - - - - - - - + Deployment | H2O Wave + + + + + + + + + +
        -

        Deployment

        Deploying Wave scripts

        Wave scripts are regular Python scripts. Deploy them as you would any Python script.

        Deploying Wave apps

        Wave apps are ASGI-compatible, based on Uvicorn / Starlette, a high-performance Python server.

        You can run Wave apps behind any ASGI server, like uvicorn, gunicorn, daphne, hypercorn, etc.

        To run your app using an ASGI server, append :main to the app argument. For example, if you were normally executing your app foo.py using wave run foo, and want to run your app using Uvicorn, use uvicorn foo:main.

        These commands are equivalent:

        (venv) $ wave run --no-reload foo
        (venv) $ uvicorn foo:main

        For more information, see uvicorn.org/deployment and starlette.io/#performance.

        - - - - - - - - - - - - - - - - +

        Deployment

        Deploying Wave scripts

        Wave scripts are regular Python scripts. Deploy them as you would any Python script.

        Deploying Wave apps

        Wave apps are ASGI-compatible, based on Uvicorn / Starlette, a high-performance Python server.

        You can run Wave apps behind any ASGI server, like uvicorn, gunicorn, daphne, hypercorn, etc.

        To run your app using an ASGI server, append :main to the app argument. For example, if you were normally executing your app foo.py using wave run foo, and want to run your app using Uvicorn, use uvicorn foo:main.

        These commands are equivalent:

        (venv) $ wave run --no-reload foo
        (venv) $ uvicorn foo:main

        For more information, see uvicorn.org/deployment and starlette.io/#performance.

        + + + + + + + + + + diff --git a/docs/docs/development/index.html b/docs/docs/development/index.html index 9f32f0df65..7fc2e8201c 100644 --- a/docs/docs/development/index.html +++ b/docs/docs/development/index.html @@ -4,45 +4,34 @@ + - Development | H2O Wave - - - - - - - - - - - - - - - - + Development | H2O Wave + + + + + + + + + +
        -

        Development

        Wave scripts are plain Python programs. Wave apps are ASGI programs. You can develop, debug and test them from the command-line, from the Python REPL, or from your favorite text editor.

        Both PyCharm Community Edition and Visual Studio Code are excellent for Python programming.

        tip

        At the time of writing, PyCharm's type-checking and error-detection is superior to Visual Studio Code's Python plugin.

        Getting started

        The simplest way to get started in either PyCharm or Visual Studio Code is the same:

        1. Create a working directory.
        2. Set up a Python virtual environment.
        3. Install the h2o-wave package.
        4. Open the directory in your IDE.
        mkdir $HOME/wave-apps
        cd $HOME/wave-apps
        python3 -m venv venv
        ./venv/bin/pip install h2o-wave

        Using PyCharm

        1. Launch PyCharm
        2. Click "File" -> "Open...", then choose $HOME/wave-apps.
        3. Right-click on wave-apps in the "Project" tree, then click "New" -> "Python File".
        4. Enter a file name, say, foo.py.
        5. Write some code (see sample below).
        6. Right-click anywhere inside the file and choose "Run foo" or "Debug foo".

        Using Visual Studio Code

        1. Launch Visual Studio Code
        2. Click "File" -> "Open...", then choose $HOME/wave-apps.
        3. Click "File" -> "New File"; save the file as, say, foo.py.
        4. You should now get a prompt asking if you want to install extensions for Python. Click "Install".
        5. Write some code (see sample below).
        6. Hit Ctrl+F5 to run, or F5 to debug.

        Debugging Apps

        To debug Wave apps, set your IDE or editor's configuration to execute the command python -m h2o_wave run --no-reload foo instead of python foo.py.

        tip

        The command wave run --no-reload foo is equivalent to python -m h2o_wave run --no-reload foo.

        Using PyCharm

        • Open the "Run/Debug Configurations" dialog for your script.
        • Under "Configuration", change the "Script path" dropdown to "Module name".
        • Set "Module name" to h2o_wave.
        • Set "Parameters" to run foo (assuming your app's source code is in foo.py)
        - - - - - - - - - - - - - - - - +

        Development

        Wave scripts are plain Python programs. Wave apps are ASGI programs. You can develop, debug and test them from the command-line, from the Python REPL, or from your favorite text editor.

        Both PyCharm Community Edition and Visual Studio Code are excellent for Python programming.

        tip

        At the time of writing, PyCharm's type-checking and error-detection is superior to Visual Studio Code's Python plugin.

        Getting started

        The simplest way to get started in either PyCharm or Visual Studio Code is the same:

        1. Create a working directory.
        2. Set up a Python virtual environment.
        3. Install the h2o-wave package.
        4. Open the directory in your IDE.
        mkdir $HOME/wave-apps
        cd $HOME/wave-apps
        python3 -m venv venv
        ./venv/bin/pip install h2o-wave

        Using PyCharm

        1. Launch PyCharm
        2. Click "File" -> "Open...", then choose $HOME/wave-apps.
        3. Right-click on wave-apps in the "Project" tree, then click "New" -> "Python File".
        4. Enter a file name, say, foo.py.
        5. Write some code (see sample below).
        6. Right-click anywhere inside the file and choose "Run foo" or "Debug foo".

        Using Visual Studio Code

        1. Launch Visual Studio Code
        2. Click "File" -> "Open...", then choose $HOME/wave-apps.
        3. Click "File" -> "New File"; save the file as, say, foo.py.
        4. You should now get a prompt asking if you want to install extensions for Python. Click "Install".
        5. Write some code (see sample below).
        6. Hit Ctrl+F5 to run, or F5 to debug.

        Debugging Apps

        To debug Wave apps, set your IDE or editor's configuration to execute the command python -m h2o_wave run --no-reload foo instead of python foo.py.

        tip

        The command wave run --no-reload foo is equivalent to python -m h2o_wave run --no-reload foo.

        Using PyCharm

        • Open the "Run/Debug Configurations" dialog for your script.
        • Under "Configuration", change the "Script path" dropdown to "Module name".
        • Set "Module name" to h2o_wave.
        • Set "Parameters" to run foo (assuming your app's source code is in foo.py)
        + + + + + + + + + + diff --git a/docs/docs/enterprise/basic-concepts/index.html b/docs/docs/enterprise/basic-concepts/index.html deleted file mode 100644 index 1e7776621c..0000000000 --- a/docs/docs/enterprise/basic-concepts/index.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - Basic Concepts | H2O Wave - - - - - - - - - - - - - - - - - - -
        -

        Basic Concepts

        H2O AI Cloud platform recognizes three actors:

        • App Developer: creates and publishes apps
        • App User: browses and runs apps, can be either user with "full access" or visitor
        • Admin: manages the platform

        over three resource types:

        • App: runnable Wave app package
        • App instance: running instance of an app
        • App tag: label for categorizing apps withing the platform

        App

        App is a runnable Wave app package with metadata, such as (grouped into categories):

        • Identity
          • a unique name and version identifier
        • Display/search
          • a title and description
          • icon and screenshots
          • search category and keywords
        • Authorization
          • owner (i.e., the person who imported it into H2O AI Cloud)
          • visibility (PRIVATE, ALL_USERS)
        • Runtime
          • RAM/disk requirements
          • other runtime settings (e.g., pointers to dependencies and secrets to be injected at startup time)

        Users can start/run multiple instances of each app (subject to authorization, see below).

        Apps are mostly immutable, meaning once uploaded, they cannot be changed (except for visibility). -To "update" an app, one has to upload a new version. This is to simplify the app lifecycle -and remove the need for developers to address app upgrade/downgrade.

        note

        Internally, H2O AI Cloud treats every app name/version combination as a separate entity. -The UI then uses the app name to link several versions together; however each can have different -title, description, owner, instances, etc.

        App Instance

        App instance is a running instance of an app with the following metadata:

        • pointer to the corresponding app
        • owner (the person who started it)
        • visibility (PRIVATE, ALL_USERS, PUBLIC)

        H2O AI Cloud fully manages the app instance lifecycle on behalf of its users.

        Instances can be stateless or stateful (depending on the app configuration) -and can use external dependencies (e.g., AWS S3, Driverless AI).

        Under the hood, each instance consists of several k8s resources, specifically, each instance is running in its -own k8s pod, under its own k8s service, accessible via a H2O AI Cloud subdomain (e.g., https://1234.wave.h2o.ai). -It can optionally include other resources, such as PVCs, Configmaps, etc.

        App Tag

        Tags are means of annotating apps in the platform (similar to -GitHub issue labels). -Beyond visually categorizing apps, tags also act as a mechanism by which apps are exposed to "visitors" (i.e., users without "full access"); -see Authorization for Visitors for details.

        Tags are standalone resources with the following metadata (grouped into categories):

        • Display/search properties
          • name, title, color, description
        • ACLs
          • admin roles (i.e., the users that can manage the tag)
          • visitor roles (i.e., the visitors that can view apps with this tag)

        Tags are assigned to apps individually, each tag can be assigned to multiple apps, each app can -have multiple tags assigned.

        Authorization

        Authorization rules differ depending on the role of a user, distinguishing between users with "full access", -visitors (users without "full access"), and admins.

        App Authorization for Users with Full Access

        Access to apps is governed by the following rules:

        • PRIVATE apps are only visible to/runnable by the owner; -these are typically experimental versions created via h2o bundle deploy
        • ALL_USERS apps are visible to/runnable by all signed-in users with "full access"; they are also visible on the "Catalog" page; -these are typically created via h2o bundle import
        • The app owner can manage (view, update, delete) her apps via h2o app ... or via the "My Apps" page
        • Any user with "full access" can import new apps into the platform via h2o ...

        See Developer Guide for details on managing apps.

        Instance Authorization for Users with Full Access

        Access to app instances is governed by the following rules:

        • PRIVATE instances are only visible to the owner (and to an extent to the owner of the corresponding app, see below for details)
        • ALL_USERS instances are visible to all signed-in users with "full access"
        • PUBLIC instances are visible to anyone on the Internet
        • The instance owner can manage (view, update, terminate, see status/logs of) her instances via h2o instance or via the "My instances" page
        • App owner can see metadata, status, and logs of her app's instances via h2o instance or via the app detail page -regardless of instance visibility; this is to facilitate troubleshooting; -note that this does not include access to the app UI itself or any write access

        Note that app/instance visibility can be modified by the owner, e.g., using h2o (app|instance) update <id> -v <visibility> -or via the "My Apps"/"My Instances" page.

        See Developer Guide for details on managing app instances.

        Tag Authorization for Users with Full Access

        Access to tags is governed by the following rules:

        • All users with "full access" can see all tags and tag assignments
        • A tag can only be assigned/removed/updated by users having a role (as determined by the auth provider) -that is present in the tag's Admin Roles list; empty means any user with "full access" is allowed
        • Currently, tags can only be created by admins

        See Developer Guide for details on managing tags.

        Authorization for Visitors

        Visitors, a.k.a., users without "full access", have limited permissions within the platform:

        • Visitors can only ever see their own instances, regardless of instance visibility (technically, -they can also access UI of the PUBLIC instances, if given the URL)
        • Visitors cannot see app logs, not even for their own instances
        • Visitors cannot import apps into the platform
        • Visitors can only see/run ALL_USERS apps that have a tag which includes one of the visitor's roles -(as determined by the auth provider) in the tag's Visitor Roles; empty means no visitors are allowed
          • Example: Visitor UA has role RA, visitor UB has role RB, tag TA has Visitor Roles RA, RC, tag -TB has Visitor Roles RB, app A1 has no tags, app A2 has tag TA, app A3 has tags TA, TB but is PRIVATE. -In this case, user UA can see and run app A2, while UB cannot see or run any apps.
        • Visitors cannot see tags or tag assignments

        Authorization for Admins

        The admin API gives admins read/write access to all apps/instances/tags. -Note that the admin API does not allow access to the app UI itself, meaning admins cannot access UI of PRIVATE instances. -Similarly, admins cannot impersonate another user, e.g., for the purposes of importing/running an app.

        - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/docs/enterprise/developer-guide/index.html b/docs/docs/enterprise/developer-guide/index.html deleted file mode 100644 index c2f8157091..0000000000 --- a/docs/docs/enterprise/developer-guide/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - Developer Guide | H2O Wave - - - - - - - - - - - - - - - - - - -
        -

        Developer Guide

        App Bundle Structure

        Each app has to be bundled as a zip archive (commonly used with suffix .wave) -consisting of:

        • app.toml - required; the platform configuration file
        • static/ - static asset directory, including the app icon (a png file starting with icon) -and screenshots (files starting with screenshot)
        • requirements.txt - pip-managed dependencies of the app (can contain references to .whl files -included in the .wave using paths relative to the archive root)
        • packages.txt - OS-managed dependencies of the app
        • app source code

        You can quickly create a .wave archive by running h2o bundle in your app git repository -(see the CLI section)

        app.toml

        Each app archive has to contain a app.toml configuration file in the TOML format, -placed in the root of the .wave archive, example:

        [App]
        Name = "ai.h2o.wave.my-app"
        Version = "0.0.1"
        Title = "My awesome app"
        Description = "This is my awesome app"
        LongDescription = "LongDescription.md"
        Category = "Other"
        Keywords = ["awesome"]
        -
        [Runtime]
        Module = "app.run"
        VolumeMount = "/data"
        VolumeSize = "1Gi"
        ResourceVolumeSize = "2Gi"
        MemoryLimit = "500Mi"
        MemoryReservation = "400Mi"
        -
        [[Env]]
        Name = "ENVIRONMENT_VARIABLE_NAME"
        Secret = "SecretName"
        SecretKey = "SecretKeyName"
        -
        [[Env]]
        Name = "ANOTHER_ENVIRONMENT_VARIABLE_NAME"
        Value = "some value"
        -
        [[File]]
        Path = "some/path.file"
        Secret = "FileSecretName"
        SecretKey = "FileSecretKeyName"
        -
        [[File]]
        Path = "/another/path.file"
        Value = '''
        some
        string
        '''

        Required attributes:

        • App
          • Name - a machine-oriented unique identifier of the app (links different app versions together)
          • Version - a https://semver.org version of the app
        • Runtime
          • Module - the name of the main Python module of the app, i.e., the app should be started -via python3 -m $module_name

        Optional attributes:

        • App
          • Title - a human-oriented name of the app for presentation in UI/CLI; string
          • Description - a single-line description of the app for presentation in UI/CLI; string
          • LongDescription - a path to a file, relative to the archive root, containing additional -multi-line markdown description of the app; string; -although there is no actual restriction of the Markdown format, it is recommended to limit -it to bullet-point lists (*), H3 headings (###), and hyperlinks ([]())
          • Category - category for organizing apps into groups, string -(UI recognizes All, Data Science, Financial Services, Healthcare, Insurance, -Manufacturing, Marketing, Retail, Sales, Telecommunications, and Other)
          • Keywords - keywords for search in the UI/CLI, list of strings
        • Runtime
          • VolumeMount and VolumeSize - request for a volume to persist app instance data across -restarts, VolumeMount has to be an absolute path, VolumeSize needs to conform to the -k8s resource model.
          • ResourceVolumeSize - request for a volume to persist internal app resources (such as Python venv) -across restarts, only recommended for production-quality apps with sizeable resources due -to cluster node limits, needs to conform to the -k8s resource model.
          • MemoryLimit and MemoryReservation - memory requirements for an instance of the app -(default to service-wide settings managed by Admins); be conservative with these limits; -MemoryLimit is a hard limit on the maximum amount of memory an instance can use before it is OOM-killed; -MemoryReservation is how much memory is required to schedule an instance of the app.
        • Env - request for a literal value/secret to be injected into an instance at startup-time as an Env variable; -repeated; see Utilizing Secrets.
          • Name - name of the Env variable to the injected into the Python process; -names prefixed with H2O_CLOUD are disallowed.
          • Secret - name of the shared secret to use; each secret can contain multiple key-value pairs; -cannot be used together with Value.
          • SecretKey - name of the key within the secret to use; cannot be used together with Value.
          • Value - the literal value of the Env variable; cannot be used together with Secret/SecretKey.
        • File - request for a literal value/secret to be injected into an instance at startup-time as a file; -repeated; see Utilizing Secrets.
          • Path - path to inject the file to; relative path means relative to the directory with the app code -as determined by the platform; path dir cannot be / or . (only subdirs are allowed); -path dir has to be unique across all other File configurations; path dir /resources is -disallowed.
          • Secret - name of the shared secret to use; each secret can contain multiple key-value pairs; -cannot be used together with Value.
          • SecretKey - name of the key within the secret to use; cannot be used together with Value.
          • Value - the literal value of the file; cannot be used together with Secret/SecretKey.

        Runtime Environment

        The platform sets the app instance runtime environment, i.e., OS, Wave/Python version, location of the app code/venv, etc.

        Developers can specify the pip-managed dependencies of the app via standard requirements.txt (can contain -references to .whl files included in the .wave using paths relative to the archive root)

        Developers can also specify the OS-managed dependencies of the app via packages.txt in a format -similar to requirements.txt: one package name per line. -These will be installed as given using the native package manager of the platform OS -(e.g., apt-get install for Debian).

        Developers can further customize the runtime environment by Utilizing Secrets.

        note

        At this moment, the platform does not provide any provisions for developers to customize the OS, -Python, or Wave versions.

        We are actively working on improving this.

        CLI

        As a developer, you will need the h2o binary to interact with the platform.

        Configuring the CLI

        First you need to configure the CLI by running h2o config setup so that it knows how to talk -to a particular platform deployment.

        Be aware, currently the CLI launches a browser to complete the user authentication, and due to this -we currently unable to support remote use of the CLI over SSH without provisions for X forwarding.

        Listing existing apps

        The h2o app list -a command will list all apps available for launch.

        $ h2o app list -a
        ID TITLE OWNER CREATED CATEGORY VISIBILITY TAGS
        abc543210-0000-0000-0000-1234567890ab Peak 0.1.1 user1@h2o.ai 18d Healthcare ALL_USERS Beta
        bcd543210-1111-1111-1111-0123456789ab Tour 0.0.15-20200922162859 user2@h2o.ai 20d Other ALL_USERS
        ...

        Launching existing apps

        To launch an app, the h2o app run <appId> command can be used to launch a new instance of that app. -The -v flag can be used with app run to specify app instance visibility settings.

        $ h2o app run bcd543210-1111-1111-1111-0123456789ab
        ID 22222222-3333-4444-5555-666666666666
        URL https://22222222-3333-4444-5555-666666666666.wave.h2o.ai

        Publishing an app for others to see and launch

        Just run h2o bundle import in your app git repository. This will automatically package your -current directory into a .wave package and import it into the platform.

        If you set the visibility to ALL_USERS (via the -v flag), others will be able use h2o app run -or the UI to launch the app.

        Note: the name-version combination from your app.toml has to be unique and the platform will reject -the request if such combination already exists. Therefore, you need to update the version in app.toml -before each run.

        $ h2o bundle import -v ALL_USERS
        ID bcd543210-1111-1111-1111-0123456789ab
        Title Peak
        Version 0.1.2
        Category Healthcare
        Created At 2020-10-13 06:28:03.050226 +0000 UTC
        Updated At 2020-10-13 06:28:03.050226 +0000 UTC
        Owner user1@h2o.ai
        Visibility ALL_USERS
        Description Forecast of COVID-19 spread
        Tags

        Running an app under development

        Just run h2o bundle deploy in your app git repository. This will automatically package your -current directory into a .wave package, import it into the platform, and run it.

        In the output you will be able to find a URL where you can reach the instance, or visit -the "My Instances" in the UI.

        Note: the CLI will auto-generate the version so that you can keep executing this without worrying about -version conflicts, just don't forget to clean up old instances/versions.

        $ h2o bundle deploy
        ID bcd543210-1111-1111-1111-0123456789ab
        Title Peak
        Version 0.1.2-20201013062803
        Category Healthcare
        Created At 2020-10-13 06:28:03.050226 +0000 UTC
        Updated At 2020-10-13 06:28:03.050226 +0000 UTC
        Owner user1@h2o.ai
        Visibility PRIVATE
        Description Forecast of COVID-19 spread
        Tags
        ID 22222222-3333-4444-5555-666666666666
        URL https://22222222-3333-4444-5555-666666666666.wave.h2o.ai

        Getting the logs of a running app instance

        Just run h2o instance logs, use the flag -f (--follow) to tail the log.

        $ h2o instance logs c22222222-3333-4444-5555-666666666666
        ...
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # ┌─────────────────────────┐
        2020/10/27 16:16:34 # │ ┌ ┌ ┌──┐ ┌ ┌ ┌──┐ │ H2O Wave
        2020/10/27 16:16:34 # │ │ ┌──┘ │──│ │ │ └┐ │ (version) (build)
        2020/10/27 16:16:34 # │ └─┘ ┘ ┘ └──┘ └─┘ │ © 2020 H2O.ai, Inc.
        2020/10/27 16:16:34 # └─────────────────────────┘
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # {"address":":10101","t":"listen","webroot":"/wave/www"}
        2020/10/27 16:16:34 # {"host":"ws://127.0.0.1:10102","route":"/","t":"relay"}
        ...

        Running the app in cloud-like environment locally

        Just run h2o exec. This will bundle the app in a temporary .wave and launch it locally -using our platform docker image.

        Note that this requires that you have docker installed and that you have access to the docker image.

        Then navigate to http://localhost:10101/<your main route>.

        $ h2o exec
        {"level":"info","log_level":"debug","url":"file:///wave_bundle/q-peak.0.1.2.wave","app_root":"/app","venv_root":"/resources","server_path":"/wave/wave","py_module":"peak","tmp":"/tmp","startup_server":true,"version":"latest-20200929","time":"2020-10-13T06:42:21Z","message":"configuration"}
        {"level":"info","port":":10101","time":"2020-10-13T06:42:21Z","message":"starting launcher server"}
        {"level":"info","executable":"/wave/wave","time":"2020-10-13T06:42:21Z","message":"wave executable found"}
        ...

        Updating App Visibility

        The h2o app update <appId> -v <visbility> command can be used to modify an existing app's visibility.

        Authors who publish a new version of an app may want to de-list the old version. It is not possible -to remove an app if there are instances running, as the data may still need to be available. -The preferred method to de-list previous versions is to modify the visibility setting to PRIVATE.

        Updating Instance Visibility

        The h2o instance update <instanceId> -v <visbility> command, much like the app version, -can be used to modify an existing running instance's visibility setting.

        Managing App Tags

        The h2o tag [assign, get, list, remove, update] commands let users see and, when authorized, -manage available app tags. -App tag configuration includes of name/title, RGB color, description, and ACLs -(see Authorization for details on ACLs and semantics of the related -tag attributes).

        How-To

        Updating App To a Newer Version

        The "Catalog" page shows apps with visibility ALL_USERS, so rolling out a new app version is done by:

        1. importing a new version of the app as PRIVATE
        2. testing the new version
        3. changing the visibility of the new version to ALL USERS
        4. (optional) changing the visibility of the old version to PRIVATE

        This is based on the Basic Concepts:

        Apps are mostly immutable, meaning once uploaded, they cannot be changed (except for visibility). -To "update" an app, one has to upload a new version.

        and:

        Internally, H2O AI Cloud treats every app name/version combination as a separate entity. -The UI then uses the app name to link several versions together; however each can have different -title, description, owner, instances, etc.

        An important corollary is that instances of the old app version are not affected by the update -(as they are completely separate from the new app version). The update only prevents users from -starting new instances of the old version.

        Utilizing Secrets

        Developers can pass secrets registered with the platform to apps, exposed as environment variables -using the [[Env]] section within the app.toml or as files using the [[File]] section.

        This allows developers to link their apps with external dependencies (e.g., S3, Driverless AI) -securely, while allowing easy overrides for local development or deployments outside the platform.

        note

        There is currently not a self-service option for developers to add their own secrets, -nor is there an API for listing the available secrets. -Secrets are currently managed by Admins. -Contact your admins for the available secrets or for adding a new one.

        We are actively working on improving this.

        App Route

        While it is not a strict requirement, since the platform deploys each app with its own Wave server, -we advise that apps use / as their main route:

        @app('/')
        async def serve(q: Q):
        pass
        - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/docs/enterprise/index.html b/docs/docs/enterprise/index.html deleted file mode 100644 index 9f198d20c8..0000000000 --- a/docs/docs/enterprise/index.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - Introduction | H2O Wave - - - - - - - - - - - - - - - - - - -
        -

        Introduction

        H2O AI Cloud is the best way to operationalize AI/ML applications built with H2O Wave.

        Rationale

        The end goal of data science projects is to produce analytical software applications to facilitate decision-support and automated decision making.

        The primary purpose of such applications is to help stakeholders make better decisions by giving them relevant information in an easily understandable format. Most of the heavy lifting is already taken care of by an app’s authors: what data to use, which algorithms to apply, what information to present, and how to present it.

        Developing and deploying such applications presents some unique problems:

        • Infrastructure. AI/ML modeling is storage and compute intensive. Incorporating machine learning into the software development process and integrating machine learning models into software applications is significantly more complicated compared to conventional software development.
        • Talent. Building applications requires a cross-disciplinary team with specialized skills - data scientists, data engineers, backend/frontend engineers and IT/operations - working in close collaboration with stakeholders.
        • Time to market. Application requirements are rarely set in stone. Market conditions, competitor offerings, and customer expectations change all the time. Software development teams no longer have months or years to develop and deploy applications. There is an intense need to prototype quickly, gather early feedback from stakeholders, and improve iteratively or fail fast.

        In other words, it requires extraordinary effort from a diverse team to wire up data, libraries, tooling and infrastructure before we can focus on what matters most: getting decision-support into the hands of stakeholders.

        What is H2O AI Cloud?

        H2O’s AI Cloud is a turnkey platform that streamlines this entire process: one platform and one API.

        • Turnkey Infrastructure. Provides all the building blocks and services necessary to develop and deploy analytical applications in one install. Combines data connectors, data storage, automatic machine learning, model operations and rapid web application development into a single, scalable, vendor-neutral platform with a coherent, end-to-end API.
        • Empowers Python programmers. The Wave SDK makes it easy for data scientists and data engineers to develop beautiful, polished, low-latency, real-time analytical web applications using pure Python and publish them directly to end-users. No Javascript/HTML/CSS required.
        • Faster time to market. Makes it easy to train models and immediately use them in interactive web applications for rapid prototyping and sharing with end-users. Dramatically simplifies and speeds up the iterative develop-deploy-feedback cycle.
        - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/docs/examples/all/index.html b/docs/docs/examples/all/index.html new file mode 100644 index 0000000000..4854ad96e8 --- /dev/null +++ b/docs/docs/examples/all/index.html @@ -0,0 +1,38 @@ + + + + + + + + + + All Examples | H2O Wave + + + + + + + + + + + + +
        +

        All Examples

        + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/docs/examples/background-executor/index.html b/docs/docs/examples/background-executor/index.html index f0236f8e79..e1d83c92a3 100644 --- a/docs/docs/examples/background-executor/index.html +++ b/docs/docs/examples/background-executor/index.html @@ -4,29 +4,24 @@ + - Background Tasks / Executor | H2O Wave - - - - - - - - - - - - - - - - + Background Tasks / Executor | H2O Wave + + + + + + + + + +
        -

        Background Tasks / Executor

        Use q.exec() to execute background functions using a thread-pool or process-pool.

        import time
        import random
        import concurrent.futures
        from h2o_wave import main, app, Q, ui
        +

        Background Tasks / Executor

        Use q.exec() to execute background functions using a thread-pool or process-pool.

        import time
        import random
        import concurrent.futures
        from h2o_wave import main, app, Q, ui
        def blocking_function(secs) -> str:
        time.sleep(secs) # Blocks!
        return f'Done waiting for {secs} seconds!'
        @@ -35,23 +30,17 @@
        # DON'T DO THIS!
        # This will make your app unresponsive for some time:
        # message = blocking_function(seconds)
        # Do this instead:
        with concurrent.futures.ThreadPoolExecutor() as pool:
        message = await q.exec(pool, blocking_function, seconds)
        # You can also pass a ProcessPoolExecutor, like this:
        # with concurrent.futures.ProcessPoolExecutor() as pool:
        # message = await q.exec(pool, blocking_function, seconds)
        -
        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[ui.message_bar('info', message)])
        await q.page.save()
        else:
        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[ui.button(name='start', label='Start')])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[ui.message_bar('info', message)])
        await q.page.save()
        else:
        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[ui.button(name='start', label='Start')])
        await q.page.save()

        Tags:  background_tasksexecutor

        + + + + + + + + + + diff --git a/docs/docs/examples/background-progress/index.html b/docs/docs/examples/background-progress/index.html index f80a97311b..7ccd685476 100644 --- a/docs/docs/examples/background-progress/index.html +++ b/docs/docs/examples/background-progress/index.html @@ -4,31 +4,26 @@ + - Background Tasks / Progress | H2O Wave - - - - - - - - - - - - - - - - + Background Tasks / Progress | H2O Wave + + + + + + + + + +
        -

        Background Tasks / Progress

        Execute background functions while incrementing a progress bar

        import time
        import asyncio
        import concurrent.futures
        from h2o_wave import main, app, Q, ui
        +

        Background Tasks / Progress

        Execute background functions while incrementing a progress bar.

        import time
        import asyncio
        import concurrent.futures
        from h2o_wave import main, app, Q, ui
        -
        # A long-running that performs a blocking operation, in this case time.sleep()
        def blocking_function(secs) -> str:
        time.sleep(secs) # Blocks!
        return f'Download completed!'
        +
        # A long-running that performs a blocking operation, in this case time.sleep()
        def blocking_function(secs) -> str:
        time.sleep(secs) # Blocks!
        return 'Download completed!'
        # An async function that displays a progress bar
        async def display_progress_bar(q: Q, form, seconds: int):
        for i in range(seconds):
        progress_value = (i + 1.0) / seconds
        form.items = [
        ui.progress(
        label='Downloading the interwebs...',
        caption=f'{int(progress_value * 100)}%',
        value=progress_value,
        )
        ]
        await q.page.save()
        await q.sleep(1)
        @@ -37,23 +32,17 @@
        # Start incrementing the progress bar in the background
        future = asyncio.ensure_future(display_progress_bar(q, form, seconds))
        # Execute our long-running function in the background
        with concurrent.futures.ThreadPoolExecutor() as pool:
        message = await q.exec(pool, blocking_function, seconds)
        # Stop the progress bar (optional unless we used a infinite while loop in display_progress_bar()).
        future.cancel()
        -
        # At this point, we're done with the long-running function; so display a completion message
        form.items = [ui.message_bar('info', message)]
        await q.page.save()
        else:
        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[ui.button(name='start', label='Start')])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        # At this point, we're done with the long-running function; so display a completion message
        form.items = [ui.message_bar('info', message)]
        await q.page.save()
        else:
        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[ui.button(name='start', label='Start')])
        await q.page.save()

        Tags:  background_tasksprogress

        + + + + + + + + + + diff --git a/docs/docs/examples/background/index.html b/docs/docs/examples/background/index.html index 18779e5a54..3333c8074f 100644 --- a/docs/docs/examples/background/index.html +++ b/docs/docs/examples/background/index.html @@ -4,29 +4,24 @@ + - Background Tasks | H2O Wave - - - - - - - - - - - - - - - - + Background Tasks | H2O Wave + + + + + + + + + +
        -

        Background Tasks

        Use q.run() to execute functions in the background, in-process.

        import time
        import random
        from h2o_wave import main, app, Q, ui
        +

        Background Tasks

        Use q.run() to execute functions in the background, in-process.

        import time
        import random
        from h2o_wave import main, app, Q, ui
        def blocking_function(secs) -> str:
        time.sleep(secs) # Blocks!
        return f'Done waiting for {secs} seconds!'
        @@ -34,23 +29,17 @@
        seconds = random.randint(1, 6)
        # DON'T DO THIS!
        # This will make your app unresponsive for some time:
        # message = blocking_function(seconds)
        # Do this instead:
        message = await q.run(blocking_function, seconds)
        -
        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[ui.message_bar('info', message)])
        await q.page.save()
        else:
        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[ui.button(name='start', label='Start')])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[ui.message_bar('info', message)])
        await q.page.save()
        else:
        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[ui.button(name='start', label='Start')])
        await q.page.save()

        Tags:  background_tasks

        + + + + + + + + + + diff --git a/docs/docs/examples/breadcrumbs/index.html b/docs/docs/examples/breadcrumbs/index.html index dbb5b8f8d6..e09fc859f7 100644 --- a/docs/docs/examples/breadcrumbs/index.html +++ b/docs/docs/examples/breadcrumbs/index.html @@ -4,52 +4,41 @@ + - Breadcrumbs | H2O Wave - - - - - - - - - - - - - - - - + Breadcrumbs | H2O Wave + + + + + + + + + +
        -

        Breadcrumbs

        Breadcrumbs should be used as a navigational aid in your app or site. +

        Breadcrumbs

        Breadcrumbs should be used as a navigational aid in your app or site. They indicate the current page’s location within a hierarchy and help the user understand where they are in relation to the rest of that hierarchy. They also afford one-click access to higher levels of that hierarchy. Breadcrumbs are typically placed, in horizontal form, under the masthead or navigation of an experience, above the primary content area.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if '#' in q.args:
        hash_ = q.args['#']
        q.page['breadcrumbs'] = ui.form_card(box='1 1 2 5', items=[
        ui.text(f'#={hash_}'),
        ui.button(name='show_breadcrumbs', label='Back', primary=True),
        ])
        else:
        q.page['breadcrumbs'] = ui.breadcrumbs_card(
        box='1 1 4 -1',
        items=[
        ui.breadcrumb(name='#menu1', label='Menu 1'),
        ui.breadcrumb(name='#menu2', label='Menu 2'),
        ui.breadcrumb(name='#menu3', label='Menu 3'),
        ],
        )
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if '#' in q.args:
        hash_ = q.args['#']
        q.page['breadcrumbs'] = ui.form_card(box='1 1 2 5', items=[
        ui.text(f'#={hash_}'),
        ui.button(name='show_breadcrumbs', label='Back', primary=True),
        ])
        else:
        q.page['breadcrumbs'] = ui.breadcrumbs_card(
        box='1 1 4 1',
        items=[
        ui.breadcrumb(name='#menu1', label='Menu 1'),
        ui.breadcrumb(name='#menu2', label='Menu 2'),
        ui.breadcrumb(name='#menu3', label='Menu 3'),
        ],
        )
        await q.page.save()

        Tags:  breadcrumbsnavigation

        + + + + + + + + + + diff --git a/docs/docs/examples/button/index.html b/docs/docs/examples/button/index.html index 2182cc832b..7193c609f7 100644 --- a/docs/docs/examples/button/index.html +++ b/docs/docs/examples/button/index.html @@ -4,47 +4,36 @@ + - Form / Button | H2O Wave - - - - - - - - - - - - - - - - + Form / Button | H2O Wave + + + + + + + + + +
        -

        Form / Button

        Use buttons to enable a user to commit a change or complete steps in a task.

        from h2o_wave import main, app, Q, ui
        +

        Form / Button

        Use buttons to enable a user to commit a change or complete steps in a task.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if 'basic_button' in q.args:
        q.page['example'].items = [
        ui.text(f'basic_button={q.args.basic_button}'),
        ui.text(f'primary_button={q.args.primary_button}'),
        ui.text(f'link_button={q.args.link_button}'),
        ui.text(f'basic_disabled_button={q.args.basic_disabled_button}'),
        ui.text(f'primary_disabled_button={q.args.primary_disabled_button}'),
        ui.text(f'link_disabled_button={q.args.link_disabled_button}'),
        ui.text(f'basic_compound_button={q.args.basic_compound_button}'),
        ui.text(f'primary_compound_button={q.args.primary_compound_button}'),
        ui.text(f'basic_compound_disabled_button={q.args.basic_compound_disabled_button}'),
        ui.text(f'primary_compound_disabled_button={q.args.primary_compound_disabled_button}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.button(name='basic_button', label='Basic'),
        ui.button(name='primary_button', label='Primary', primary=True),
        ui.button(name='link_button', label='Link', link=True),
        ui.button(name='basic_disabled_button', label='Basic (Disabled)', disabled=True),
        ui.button(name='primary_disabled_button', label='Primary (Disabled)', primary=True, disabled=True),
        ui.button(name='link_disabled_button', label='Link (Disabled)', link=True, disabled=True),
        ui.button(name='basic_compound_button', label='Basic', caption='Compound Button.'),
        ui.button(name='primary_compound_button', label='Primary', caption='Compound Button', primary=True),
        ui.button(name='basic_compound_disabled_button', label='Basic (Disabled)', caption='Compound Button',
        disabled=True),
        ui.button(name='primary_compound_disabled_button', label='Primary (Disabled)', caption='Compound Button',
        primary=True, disabled=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if 'basic_button' in q.args:
        q.page['example'].items = [
        ui.text(f'basic_button={q.args.basic_button}'),
        ui.text(f'primary_button={q.args.primary_button}'),
        ui.text(f'link_button={q.args.link_button}'),
        ui.text(f'basic_disabled_button={q.args.basic_disabled_button}'),
        ui.text(f'primary_disabled_button={q.args.primary_disabled_button}'),
        ui.text(f'link_disabled_button={q.args.link_disabled_button}'),
        ui.text(f'basic_compound_button={q.args.basic_compound_button}'),
        ui.text(f'primary_compound_button={q.args.primary_compound_button}'),
        ui.text(f'basic_compound_disabled_button={q.args.basic_compound_disabled_button}'),
        ui.text(f'primary_compound_disabled_button={q.args.primary_compound_disabled_button}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.button(name='basic_button', label='Basic'),
        ui.button(name='primary_button', label='Primary', primary=True),
        ui.button(name='link_button', label='Link', link=True),
        ui.button(name='basic_disabled_button', label='Basic (Disabled)', disabled=True),
        ui.button(name='primary_disabled_button', label='Primary (Disabled)', primary=True, disabled=True),
        ui.button(name='link_disabled_button', label='Link (Disabled)', link=True, disabled=True),
        ui.button(name='basic_compound_button', label='Basic', caption='Compound Button.'),
        ui.button(name='primary_compound_button', label='Primary', caption='Compound Button', primary=True),
        ui.button(name='basic_compound_disabled_button', label='Basic (Disabled)', caption='Compound Button',
        disabled=True),
        ui.button(name='primary_compound_disabled_button', label='Primary (Disabled)', caption='Compound Button',
        primary=True, disabled=True),
        ])
        await q.page.save()

        Tags:  buttonsform

        + + + + + + + + + + diff --git a/docs/docs/examples/buttons/index.html b/docs/docs/examples/buttons/index.html index 66c2529e0c..1f84694afe 100644 --- a/docs/docs/examples/buttons/index.html +++ b/docs/docs/examples/buttons/index.html @@ -4,47 +4,36 @@ + - Form / Buttons | H2O Wave - - - - - - - - - - - - - - - - + Form / Buttons | H2O Wave + + + + + + + + + +
        -

        Form / Buttons

        Use the ui.buttons() function to group related buttons.

        from h2o_wave import main, app, Q, ui
        +

        Form / Buttons

        Use the ui.buttons() function to group related buttons.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if 'standard_button' in q.args:
        q.page['example'].items = [
        ui.text(f'primary_button={q.args.primary_button}'),
        ui.text(f'standard_button={q.args.standard_button}'),
        ui.text(f'standard_disabled_button={q.args.standard_disabled_button}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.buttons([
        ui.button(name='primary_button', label='Primary', primary=True),
        ui.button(name='standard_button', label='Standard'),
        ui.button(name='standard_disabled_button', label='Standard', disabled=True),
        ]),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if 'standard_button' in q.args:
        q.page['example'].items = [
        ui.text(f'primary_button={q.args.primary_button}'),
        ui.text(f'standard_button={q.args.standard_button}'),
        ui.text(f'standard_disabled_button={q.args.standard_disabled_button}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.buttons([
        ui.button(name='primary_button', label='Primary', primary=True),
        ui.button(name='standard_button', label='Standard'),
        ui.button(name='standard_disabled_button', label='Standard', disabled=True),
        ]),
        ])
        await q.page.save()

        Tags:  buttonsform

        + + + + + + + + + + diff --git a/docs/docs/examples/card-menu/index.html b/docs/docs/examples/card-menu/index.html index 4cffc01838..ec40b34cc9 100644 --- a/docs/docs/examples/card-menu/index.html +++ b/docs/docs/examples/card-menu/index.html @@ -4,52 +4,41 @@ + - Context Menu | H2O Wave - - - - - - - - - - - - - - - - + Context Menu | H2O Wave + + + + + + + + + +
        -

        Context Menu

        Display a context menu on a card.

        import json
        from h2o_wave import main, app, Q, ui, data
        +

        Context Menu

        Display a context menu on a card.

        import json
        from h2o_wave import main, app, Q, ui, data
        # Vega lite spec for a bar plot, defaults to linear scale.
        spec_linear_scale = json.dumps(dict(
        mark='bar',
        encoding=dict(
        x=dict(field='a', type='ordinal'),
        y=dict(field='b', type='quantitative')
        )
        ))
        # Vega lite spec for a bar plot, log scaled.
        spec_log_scale = json.dumps(dict(
        mark='bar',
        encoding=dict(
        x=dict(field='a', type='ordinal'),
        y=dict(field='b', type='quantitative', scale=dict(type='log'))
        )
        ))
        # Data for our plot.
        plot_data = data(fields=["a", "b"], rows=[
        ["A", 28], ["B", 55], ["C", 43],
        ["D", 91], ["E", 81], ["F", 53],
        ["G", 19], ["H", 87], ["I", 52]
        ])
        # Create a couple of context menu commands.
        log_scale_command = ui.command(
        name='to_log_scale',
        label='Log Scale',
        icon='LineChart',
        )
        linear_scale_command = ui.command(
        name='to_linear_scale',
        label='Linear Scale',
        icon='LineChart',
        )
        @app('/demo')
        async def serve(q: Q):
        if q.client.plot_added: # Have we already added a plot?
        example = q.page['example']
        if q.args.to_log_scale:
        # Change to log scale
        example.title = 'Plot (Log Scale)',
        example.specification = spec_log_scale
        example.commands = [linear_scale_command]
        else:
        # Change to linear scale
        example.title = 'Plot (Linear Scale)',
        example.specification = spec_linear_scale
        example.commands = [log_scale_command]
        else: # Add a new plot
        q.page['example'] = ui.vega_card(
        box='1 1 2 4',
        title='Plot (Linear Scale)',
        specification=spec_linear_scale,
        data=plot_data,
        commands=[log_scale_command],
        )
        # Flag to indicate that we've added a plot
        q.client.plot_added = True
        -
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        await q.page.save()

        Tags:  context_menu

        + + + + + + + + + + diff --git a/docs/docs/examples/checkbox/index.html b/docs/docs/examples/checkbox/index.html index ef546fd761..33b008b878 100644 --- a/docs/docs/examples/checkbox/index.html +++ b/docs/docs/examples/checkbox/index.html @@ -4,47 +4,36 @@ + - Form / Checkbox | H2O Wave - - - - - - - - - - - - - - - - + Form / Checkbox | H2O Wave + + + + + + + + + +
        -

        Form / Checkbox

        Use checkboxes to switch between two mutually exclusive options.

        from h2o_wave import main, app, Q, ui
        +

        Form / Checkbox

        Use checkboxes to switch between two mutually exclusive options.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'checkbox_unchecked={q.args.checkbox_unchecked}'),
        ui.text(f'checkbox_checked={q.args.checkbox_checked}'),
        ui.text(f'checkbox_indeterminate={q.args.checkbox_indeterminate}'),
        ui.text(f'checkbox_unchecked_disabled={q.args.checkbox_unchecked_disabled}'),
        ui.text(f'checkbox_checked_disabled={q.args.checkbox_checked_disabled}'),
        ui.text(f'checkbox_indeterminate_disabled={q.args.checkbox_indeterminate_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.checkbox(name='checkbox_unchecked', label='Not checked'),
        ui.checkbox(name='checkbox_checked', label='Checked', value=True),
        ui.checkbox(name='checkbox_indeterminate', label='Indeterminate', indeterminate=True),
        ui.checkbox(name='checkbox_unchecked_disabled', label='Not checked (Disabled)', disabled=True),
        ui.checkbox(name='checkbox_checked_disabled', label='Checked (Disabled)', value=True, disabled=True),
        ui.checkbox(name='checkbox_indeterminate_disabled', label='Indeterminate (Disabled)', indeterminate=True,
        disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'checkbox_unchecked={q.args.checkbox_unchecked}'),
        ui.text(f'checkbox_checked={q.args.checkbox_checked}'),
        ui.text(f'checkbox_indeterminate={q.args.checkbox_indeterminate}'),
        ui.text(f'checkbox_unchecked_disabled={q.args.checkbox_unchecked_disabled}'),
        ui.text(f'checkbox_checked_disabled={q.args.checkbox_checked_disabled}'),
        ui.text(f'checkbox_indeterminate_disabled={q.args.checkbox_indeterminate_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.checkbox(name='checkbox_unchecked', label='Not checked'),
        ui.checkbox(name='checkbox_checked', label='Checked', value=True),
        ui.checkbox(name='checkbox_indeterminate', label='Indeterminate', indeterminate=True),
        ui.checkbox(name='checkbox_unchecked_disabled', label='Not checked (Disabled)', disabled=True),
        ui.checkbox(name='checkbox_checked_disabled', label='Checked (Disabled)', value=True, disabled=True),
        ui.checkbox(name='checkbox_indeterminate_disabled', label='Indeterminate (Disabled)', indeterminate=True,
        disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  checkboxform

        + + + + + + + + + + diff --git a/docs/docs/examples/checklist/index.html b/docs/docs/examples/checklist/index.html index 09e619bbdc..2bdcbe07df 100644 --- a/docs/docs/examples/checklist/index.html +++ b/docs/docs/examples/checklist/index.html @@ -4,47 +4,36 @@ + - Form / Checklist | H2O Wave - - - - - - - - - - - - - - - - + Form / Checklist | H2O Wave + + + + + + + + + +
        -

        Form / Checklist

        Use a checklist to group a set of related checkboxes.

        from h2o_wave import main, app, Q, ui
        +

        Form / Checklist

        Use a checklist to group a set of related checkboxes.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'selected={q.args.checklist}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.checklist(name='checklist', label='Choices',
        choices=[ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']]),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'selected={q.args.checklist}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.checklist(name='checklist', label='Choices',
        choices=[ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']]),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  checklistform

        + + + + + + + + + + diff --git a/docs/docs/examples/choice-group/index.html b/docs/docs/examples/choice-group/index.html index 700ffcb4e8..cfa6219b5a 100644 --- a/docs/docs/examples/choice-group/index.html +++ b/docs/docs/examples/choice-group/index.html @@ -4,48 +4,37 @@ + - Form / Choice Group | H2O Wave - - - - - - - - - - - - - - - - + Form / Choice Group | H2O Wave + + + + + + + + + +
        -

        Form / Choice Group

        Use choice groups to let users select one option from two or more choices.

        from h2o_wave import main, app, Q, ui
        +

        Form / Choice Group

        Use choice groups to let users select one option from two or more choices.

        from h2o_wave import main, app, Q, ui
        choices = [
        ui.choice('A', 'Option A'),
        ui.choice('B', 'Option B'),
        ui.choice('C', 'Option C', disabled=True),
        ui.choice('D', 'Option D'),
        ]
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'selected={q.args.choice_group}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.choice_group(name='choice_group', label='Pick one', value='B', required=True, choices=choices),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'selected={q.args.choice_group}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.choice_group(name='choice_group', label='Pick one', value='B', required=True, choices=choices),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  choicechoice_groupform

        + + + + + + + + + + diff --git a/docs/docs/examples/color-picker/index.html b/docs/docs/examples/color-picker/index.html index b92381ba63..7ef2612733 100644 --- a/docs/docs/examples/color-picker/index.html +++ b/docs/docs/examples/color-picker/index.html @@ -4,47 +4,36 @@ + - Form / Color Picker | H2O Wave - - - - - - - - - - - - - - - - + Form / Color Picker | H2O Wave + + + + + + + + + +
        -

        Form / Color Picker

        Use a color picker to allow a user to select a color.

        from h2o_wave import main, app, Q, ui
        +

        Form / Color Picker

        Use a color picker to allow a user to select a color.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'color={q.args.color}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.color_picker(name='color', label='Pick a color', value='#F25F5C'),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'color={q.args.color}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.color_picker(name='color', label='Pick a color', value='#F25F5C'),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  color_pickerform

        + + + + + + + + + + diff --git a/docs/docs/examples/combobox/index.html b/docs/docs/examples/combobox/index.html index 57a6bbb181..6e256b0555 100644 --- a/docs/docs/examples/combobox/index.html +++ b/docs/docs/examples/combobox/index.html @@ -4,48 +4,37 @@ + - Form / Combobox | H2O Wave - - - - - - - - - - - - - - - - + Form / Combobox | H2O Wave + + + + + + + + + +
        -

        Form / Combobox

        Use comboboxes to allow users to either choose between available choices or indicate a choice by free-form editing.

        from h2o_wave import main, app, Q, ui
        +

        Form / Combobox

        Use comboboxes to allow users to either choose between available choices or indicate a choice by free-form editing.

        from h2o_wave import main, app, Q, ui
        combobox_choices = ['Cyan', 'Magenta', 'Yellow', 'Black']
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'combobox={q.args.combobox}'),
        ui.text(f'combobox_disabled={q.args.combobox_disabled}'),
        ui.text(f'combobox_error={q.args.combobox_error}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.combobox(name='combobox', label='Enter or choose a color', placeholder='Color...', value='Blue',
        choices=combobox_choices),
        ui.combobox(name='combobox_disabled', label='Enter or choose a color', placeholder='Color...', value='Blue',
        choices=combobox_choices, disabled=True),
        ui.combobox(name='combobox_error', label='Enter or choose a color', placeholder='Color...', value='Blue',
        choices=combobox_choices, error='This combobox has an error!'),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'combobox={q.args.combobox}'),
        ui.text(f'combobox_disabled={q.args.combobox_disabled}'),
        ui.text(f'combobox_error={q.args.combobox_error}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.combobox(name='combobox', label='Enter or choose a color', placeholder='Color...', value='Blue',
        choices=combobox_choices),
        ui.combobox(name='combobox_disabled', label='Enter or choose a color', placeholder='Color...', value='Blue',
        choices=combobox_choices, disabled=True),
        ui.combobox(name='combobox_error', label='Enter or choose a color', placeholder='Color...', value='Blue',
        choices=combobox_choices, error='This combobox has an error!'),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  comboboxform

        + + + + + + + + + + diff --git a/docs/docs/examples/counter-broadcast/index.html b/docs/docs/examples/counter-broadcast/index.html index 9d1b3b6504..c72d098796 100644 --- a/docs/docs/examples/counter-broadcast/index.html +++ b/docs/docs/examples/counter-broadcast/index.html @@ -4,51 +4,40 @@ + - Mode / Broadcast | H2O Wave - - - - - - - - - - - - - - - - + Mode / Broadcast | H2O Wave + + + + + + + + + +
        -

        Mode / Broadcast

        Launch the server in broadcast mode to synchronize browser state across users. +

        Mode / Broadcast

        Launch the server in broadcast mode to synchronize browser state across users. Open /demo in multiple browsers and watch them synchronize in realtime.

        from h2o_wave import main, app, Q, ui, pack
        @app('/demo', mode='broadcast')
        async def serve(q: Q):
        count = q.app.count or 0
        if 'increment' in q.args:
        count += 1
        q.app.count = count
        items = pack([ui.button(name='increment', label=f'Count={count}')])
        if count > 0:
        form = q.page['example']
        form.items = items
        else:
        q.page['example'] = ui.form_card(box='1 1 12 10', items=items)
        -
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        await q.page.save()

        Tags:  broadcastmode

        + + + + + + + + + + diff --git a/docs/docs/examples/counter-global/index.html b/docs/docs/examples/counter-global/index.html index d5bf4993cc..8c9fbdf80c 100644 --- a/docs/docs/examples/counter-global/index.html +++ b/docs/docs/examples/counter-global/index.html @@ -4,52 +4,42 @@ + - Mode / Broadcast / Global | H2O Wave - - - - - - - - - - - - - - - - + Mode / Broadcast / Global | H2O Wave + + + + + + + + + +
        -

        Mode / Broadcast / Global

        Launch the server in broadcast mode to synchronize browser state across users. Global variables can be used to manage state. +

        Mode / Broadcast / Global

        Launch the server in broadcast mode to synchronize browser state across users. +Global variables can be used to manage state. Open /demo in multiple browsers and watch them synchronize in realtime.

        from h2o_wave import main, app, Q, ui, pack
        count = 0
        @app('/demo', mode='broadcast')
        async def serve(q: Q):
        global count
        if 'increment' in q.args:
        count += 1
        items = pack([ui.button(name='increment', label=f'Count={count}')])
        if count > 0:
        form = q.page['example']
        form.items = items
        else:
        q.page['example'] = ui.form_card(box='1 1 12 10', items=items)
        -
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        await q.page.save()

        Tags:  broadcastmode

        + + + + + + + + + + diff --git a/docs/docs/examples/counter-multicast/index.html b/docs/docs/examples/counter-multicast/index.html index f605182739..1ad538c3c6 100644 --- a/docs/docs/examples/counter-multicast/index.html +++ b/docs/docs/examples/counter-multicast/index.html @@ -4,51 +4,40 @@ + - Mode / Multicast | H2O Wave - - - - - - - - - - - - - - - - + Mode / Multicast | H2O Wave + + + + + + + + + +
        -

        Mode / Multicast

        Launch the server in multicast mode to synchronize browser state across a user's clients. +

        Mode / Multicast

        Launch the server in multicast mode to synchronize browser state across a user's clients. Open /demo in multiple browsers and watch them synchronize in realtime.

        from h2o_wave import main, app, Q, ui, pack
        @app('/demo', mode='multicast')
        async def serve(q: Q):
        count = q.user.count or 0
        if 'increment' in q.args:
        count += 1
        q.user.count = count
        items = pack([ui.button(name='increment', label=f'Count={count}')])
        if count > 0:
        form = q.page['example']
        form.items = items
        else:
        q.page['example'] = ui.form_card(box='1 1 12 10', items=items)
        -
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        await q.page.save()

        Tags:  modemulticast

        + + + + + + + + + + diff --git a/docs/docs/examples/counter-unicast/index.html b/docs/docs/examples/counter-unicast/index.html index 9105a22a75..ac2352941b 100644 --- a/docs/docs/examples/counter-unicast/index.html +++ b/docs/docs/examples/counter-unicast/index.html @@ -4,50 +4,39 @@ + - Mode / Unicast | H2O Wave - - - - - - - - - - - - - - - - + Mode / Unicast | H2O Wave + + + + + + + + + +
        -

        Mode / Unicast

        Launch the server in unicast mode and use q.client to manage client-local state.

        from h2o_wave import main, app, Q, ui
        +

        Mode / Unicast

        Launch the server in unicast mode and use q.client to manage client-local state.

        from h2o_wave import main, app, Q, ui
        @app('/demo')
        async def serve(q: Q):
        count = q.client.count or 0
        if not q.client.initialized:
        q.page['example'] = ui.form_card(box='1 1 -1 -1', items=[
        ui.button(name='increment', label=f'Count={count}')
        ])
        q.client.initialized = True
        if q.args.increment:
        q.client.count = count = count + 1
        q.page['example'].items[0].button.label = f'Count={count}'
        -
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        await q.page.save()

        Tags:  modeunicast

        + + + + + + + + + + diff --git a/docs/docs/examples/dashboard/index.html b/docs/docs/examples/dashboard/index.html index 77cac3438d..914d155b7a 100644 --- a/docs/docs/examples/dashboard/index.html +++ b/docs/docs/examples/dashboard/index.html @@ -4,31 +4,26 @@ + - Dashboard | H2O Wave - - - - - - - - - - - - - - - - + Dashboard | H2O Wave + + + + + + + + + +
        -

        Dashboard

        Make a dashboard using a multitude of cards and update them live.

        from faker import Faker
        import time
        from h2o_wave import site, data, ui
        from synth import FakePercent, FakeCategoricalSeries
        +

        Dashboard

        Make a dashboard using a multitude of cards and update them live.

        from faker import Faker
        import time
        from h2o_wave import site, data, ui
        from synth import FakePercent, FakeCategoricalSeries
        fake = Faker()
        -
        light_theme_colors = '$red $pink $purple $violet $indigo $blue $azure $cyan $teal $mint $green $amber $orange $tangerine'.split()
        dark_theme_colors = '$red $pink $blue $azure $cyan $teal $mint $green $lime $yellow $amber $orange $tangerine'.split()
        +
        light_theme_colors = '$red $pink $purple $violet $indigo $blue $azure $cyan $teal $mint $green $amber $orange $tangerine'.split() # noqa: E501
        dark_theme_colors = '$red $pink $blue $azure $cyan $teal $mint $green $lime $yellow $amber $orange $tangerine'.split()
        _color_index = -1
        colors = dark_theme_colors
        def next_color():
        global _color_index
        _color_index += 1
        return colors[_color_index % len(colors)]
        @@ -62,23 +57,17 @@
        for f, c in large_pbs:
        val, pc = f.next()
        c.data.foo = val
        c.data.bar = pc
        c.progress = pc
        page.save()
        -
        create_dashboard(update_freq=0.25)
        - - - - - - - - - - - - - - - - +
        create_dashboard(update_freq=0.25)

        Tags:  dashboard

        + + + + + + + + + + diff --git a/docs/docs/examples/date-picker-trigger/index.html b/docs/docs/examples/date-picker-trigger/index.html index af52ec5452..d46bb173fc 100644 --- a/docs/docs/examples/date-picker-trigger/index.html +++ b/docs/docs/examples/date-picker-trigger/index.html @@ -4,47 +4,36 @@ + - Form / Date Picker / Trigger | H2O Wave - - - - - - - - - - - - - - - - + Form / Date Picker / Trigger | H2O Wave + + + + + + + + + +
        -

        Form / Date Picker / Trigger

        To handle live changes to a date picker, enable the trigger attribute.

        from h2o_wave import main, app, Q, ui
        +

        Form / Date Picker / Trigger

        To handle live changes to a date picker, enable the trigger attribute.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if not q.client.initialized:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text(f'date_trigger={q.args.date_trigger}'),
        ui.date_picker(name='date_trigger', label='Pick a date', trigger=True),
        ])
        q.client.initialized = True
        else:
        q.page['example'].items[0].text.content = f'Selected date: {q.args.date_trigger}'
        q.page['example'].items[1].date_picker.value = q.args.date_trigger
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if not q.client.initialized:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text(f'date_trigger={q.args.date_trigger}'),
        ui.date_picker(name='date_trigger', label='Pick a date', trigger=True),
        ])
        q.client.initialized = True
        else:
        q.page['example'].items[0].text.content = f'Selected date: {q.args.date_trigger}'
        q.page['example'].items[1].date_picker.value = q.args.date_trigger
        await q.page.save()

        Tags:  date_pickerformtrigger

        + + + + + + + + + + diff --git a/docs/docs/examples/date-picker/index.html b/docs/docs/examples/date-picker/index.html index 8ff2aa3dd2..fec8cd2429 100644 --- a/docs/docs/examples/date-picker/index.html +++ b/docs/docs/examples/date-picker/index.html @@ -4,47 +4,36 @@ + - Form / Date Picker | H2O Wave - - - - - - - - - - - - - - - - + Form / Date Picker | H2O Wave + + + + + + + + + +
        -

        Form / Date Picker

        Use date pickers to allow users to pick dates.

        from h2o_wave import main, app, Q, ui
        +

        Form / Date Picker

        Use date pickers to allow users to pick dates.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'date={q.args.date}'),
        ui.text(f'date_placeholder={q.args.date_placeholder}'),
        ui.text(f'date_disabled={q.args.date_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.date_picker(name='date', label='Standard date picker', value='2017-10-19'),
        ui.date_picker(name='date_placeholder', label='Date picker with placeholder', placeholder='Pick a date'),
        ui.date_picker(name='date_disabled', label='Disabled date picker', value='2017-10-19', disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'date={q.args.date}'),
        ui.text(f'date_placeholder={q.args.date_placeholder}'),
        ui.text(f'date_disabled={q.args.date_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.date_picker(name='date', label='Standard date picker', value='2017-10-19'),
        ui.date_picker(name='date_placeholder', label='Date picker with placeholder', placeholder='Pick a date'),
        ui.date_picker(name='date_disabled', label='Disabled date picker', value='2017-10-19', disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  date_pickerform

        + + + + + + + + + + diff --git a/docs/docs/examples/dropdown/index.html b/docs/docs/examples/dropdown/index.html index efc7bacc3a..e96d2a98dc 100644 --- a/docs/docs/examples/dropdown/index.html +++ b/docs/docs/examples/dropdown/index.html @@ -4,48 +4,37 @@ + - Form / Dropdown | H2O Wave - - - - - - - - - - - - - - - - + Form / Dropdown | H2O Wave + + + + + + + + + +
        -

        Form / Dropdown

        Use dropdowns to allow users to choose between available choices.

        from h2o_wave import main, app, Q, ui
        +

        Form / Dropdown

        Use dropdowns to allow users to choose between available choices.

        from h2o_wave import main, app, Q, ui
        choices = [
        ui.choice('A', 'Option A'),
        ui.choice('B', 'Option B'),
        ui.choice('C', 'Option C', disabled=True),
        ui.choice('D', 'Option D'),
        ]
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'dropdown={q.args.dropdown}'),
        ui.text(f'dropdown_multi={q.args.dropdown_multi}'),
        ui.text(f'dropdown_disabled={q.args.dropdown_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.dropdown(name='dropdown', label='Pick one', value='B', required=True, choices=choices),
        ui.dropdown(name='dropdown_multi', label='Pick multiple', values=['B', 'D'], required=True,
        choices=choices),
        ui.dropdown(name='dropdown_disabled', label='Pick one (Disabled)', value='B', choices=choices,
        disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'dropdown={q.args.dropdown}'),
        ui.text(f'dropdown_multi={q.args.dropdown_multi}'),
        ui.text(f'dropdown_disabled={q.args.dropdown_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.dropdown(name='dropdown', label='Pick one', value='B', required=True, choices=choices),
        ui.dropdown(name='dropdown_multi', label='Pick multiple', values=['B', 'D'], required=True,
        choices=choices),
        ui.dropdown(name='dropdown_disabled', label='Pick one (Disabled)', value='B', choices=choices,
        disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  choicedropdownform

        + + + + + + + + + + diff --git a/docs/docs/examples/file-upload/index.html b/docs/docs/examples/file-upload/index.html index eb3b0de70b..5345168209 100644 --- a/docs/docs/examples/file-upload/index.html +++ b/docs/docs/examples/file-upload/index.html @@ -4,47 +4,36 @@ + - Form / File Upload | H2O Wave - - - - - - - - - - - - - - - - + Form / File Upload | H2O Wave + + + + + + + + + +
        -

        Form / File Upload

        Use a file upload component to allow users to upload files.

        from h2o_wave import main, app, Q, ui
        +

        Form / File Upload

        Use a file upload component to allow users to upload files.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if 'file_upload' in q.args:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text(f'file_upload={q.args.file_upload}'),
        ui.button(name='show_upload', label='Back', primary=True),
        ])
        else:
        q.page['example'] = ui.form_card(
        box='1 1 4 10',
        items=[
        ui.file_upload(name='file_upload', label='Upload!', multiple=True,
        file_extensions=['csv', 'gz'], max_file_size=10, max_size=15)
        ]
        )
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if 'file_upload' in q.args:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text(f'file_upload={q.args.file_upload}'),
        ui.button(name='show_upload', label='Back', primary=True),
        ])
        else:
        q.page['example'] = ui.form_card(
        box='1 1 4 10',
        items=[
        ui.file_upload(name='file_upload', label='Upload!', multiple=True,
        file_extensions=['csv', 'gz'], max_file_size=10, max_size=15)
        ]
        )
        await q.page.save()

        Tags:  file_uploadformupload

        + + + + + + + + + + diff --git a/docs/docs/examples/form-frame-path/index.html b/docs/docs/examples/form-frame-path/index.html index 0ea7afb6b7..f566e3361c 100644 --- a/docs/docs/examples/form-frame-path/index.html +++ b/docs/docs/examples/form-frame-path/index.html @@ -4,48 +4,37 @@ + - Form / Frame / Path | H2O Wave - - - - - - - - - - - - - - - - + Form / Frame / Path | H2O Wave + + + + + + + + + +
        -

        Form / Frame / Path

        Use a frame component in a form card to display external web pages.

        from h2o_wave import site, ui
        +

        Form / Frame / Path

        Use a frame component in a form card to display external web pages.

        from h2o_wave import site, ui
        page = site['/demo']
        page['example'] = ui.form_card(
        box='1 1 6 5',
        items=[
        ui.frame(path='https://example.com', height='400px')
        ]
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  formframe

        + + + + + + + + + + diff --git a/docs/docs/examples/form-frame/index.html b/docs/docs/examples/form-frame/index.html index 26c0f567dc..a62706a088 100644 --- a/docs/docs/examples/form-frame/index.html +++ b/docs/docs/examples/form-frame/index.html @@ -4,49 +4,38 @@ + - Form / Frame | H2O Wave - - - - - - - - - - - - - - - - + Form / Frame | H2O Wave + + + + + + + + + +
        -

        Form / Frame

        Use a frame component in a form card to display HTML content inline.

        from h2o_wave import site, ui
        +

        Form / Frame

        Use a frame component in a form card to display HTML content inline.

        from h2o_wave import site, ui
        html = '''
        <!DOCTYPE html>
        <html>
        <body>
        <h1>Hello World!</h1>
        </body>
        </html>
        '''
        page = site['/demo']
        page['example'] = ui.form_card(
        box='1 1 2 2',
        items=[
        ui.frame(content=html, height='100px')
        ]
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  formframehtml

        + + + + + + + + + + diff --git a/docs/docs/examples/form-markup/index.html b/docs/docs/examples/form-markup/index.html index 56f937c739..cc2597bcbc 100644 --- a/docs/docs/examples/form-markup/index.html +++ b/docs/docs/examples/form-markup/index.html @@ -4,48 +4,37 @@ + - Form / Markup | H2O Wave - - - - - - - - - - - - - - - - + Form / Markup | H2O Wave + + + + + + + + + +
        -

        Form / Markup

        Use a markup component to display formatted content using HTML.

        from h2o_wave import site, ui
        +

        Form / Markup

        Use a markup component to display formatted content using HTML.

        from h2o_wave import site, ui
        page = site['/demo']
        menu = '''
        <ol>
        <li>Spam</li>
        <li>Ham</li>
        <li>Eggs</li>
        </ol>
        '''
        -
        page['example'] = ui.form_card(
        box='1 1 2 2',
        items=[
        ui.markup(content=menu)
        ]
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        page['example'] = ui.form_card(
        box='1 1 2 2',
        items=[
        ui.markup(content=menu)
        ]
        )
        page.save()

        Tags:  formhtmlmarkup

        + + + + + + + + + + diff --git a/docs/docs/examples/form-menu/index.html b/docs/docs/examples/form-menu/index.html index 3a077d42ab..78c9c8d155 100644 --- a/docs/docs/examples/form-menu/index.html +++ b/docs/docs/examples/form-menu/index.html @@ -4,52 +4,41 @@ + - Form / Menu | H2O Wave - - - - - - - - - - - - - - - - + Form / Menu | H2O Wave + + + + + + + + + +
        -

        Form / Menu

        Display context menus inside forms.

        import json
        from h2o_wave import main, app, Q, ui, data
        +

        Form / Menu

        Display context menus inside forms.

        import json
        from h2o_wave import main, app, Q, ui, data
        # Vega lite spec for a bar plot, defaults to linear scale.
        spec_linear_scale = json.dumps(dict(
        mark='bar',
        encoding=dict(
        x=dict(field='a', type='ordinal'),
        y=dict(field='b', type='quantitative')
        )
        ))
        # Vega lite spec for a bar plot, log scaled.
        spec_log_scale = json.dumps(dict(
        mark='bar',
        encoding=dict(
        x=dict(field='a', type='ordinal'),
        y=dict(field='b', type='quantitative', scale=dict(type='log'))
        )
        ))
        # Data for our plot.
        plot_data = data(fields=["a", "b"], rows=[
        ["A", 28], ["B", 55], ["C", 43],
        ["D", 91], ["E", 81], ["F", 53],
        ["G", 19], ["H", 87], ["I", 52]
        ], pack=True)
        # Create a couple of context menu commands.
        log_scale_command = ui.command(
        name='to_log_scale',
        label='Log Scale',
        icon='LineChart',
        )
        linear_scale_command = ui.command(
        name='to_linear_scale',
        label='Linear Scale',
        icon='LineChart',
        )
        @app('/demo')
        async def serve(q: Q):
        if q.client.plot_added: # Have we already added a plot?
        example = q.page['example']
        if q.args.to_log_scale:
        # Change to log scale
        example.items[0].text_l.content = 'Plot (Log Scale)'
        example.items[0].text_l.commands = [linear_scale_command]
        example.items[1].vega_visualization.specification = spec_log_scale
        else:
        # Change to linear scale
        example.items[0].text_l.content = 'Plot (Linear Scale)'
        example.items[0].text_l.commands = [log_scale_command]
        example.items[1].vega_visualization.specification = spec_linear_scale
        else: # Add a new plot
        q.page['example'] = ui.form_card(
        box='1 1 2 8',
        items=[
        ui.text_l(content='Plot (Linear Scale)', commands=[log_scale_command]),
        ui.vega_visualization(specification=spec_linear_scale, data=plot_data, height='300px'),
        ],
        )
        # Flag to indicate that we've added a plot
        q.client.plot_added = True
        -
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        await q.page.save()

        Tags:  context_menuform

        + + + + + + + + + + diff --git a/docs/docs/examples/form-template/index.html b/docs/docs/examples/form-template/index.html index 11a1560751..6120f8d907 100644 --- a/docs/docs/examples/form-template/index.html +++ b/docs/docs/examples/form-template/index.html @@ -4,48 +4,37 @@ + - Form / Template | H2O Wave - - - - - - - - - - - - - - - - + Form / Template | H2O Wave + + + + + + + + + +
        -

        Form / Template

        Use a template component to render dynamic content using a HTML template.

        from h2o_wave import site, pack, ui
        +

        Form / Template

        Use a template component to render dynamic content using a HTML template.

        from h2o_wave import site, pack, ui
        page = site['/demo']
        page.drop()
        menu = '''
        <ol>
        {{#each dishes}}
        <li><strong>{{name}}</strong> costs {{price}}</li>
        {{/each}}
        </ol
        '''
        -
        c = page.add('template_example', ui.form_card(
        box=f'1 1 2 2',
        items=[
        ui.template(
        content=menu,
        data=pack(dict(dishes=[
        dict(name='Spam', price='$2.00'),
        dict(name='Ham', price='$3.45'),
        dict(name='Eggs', price='$1.75'),
        ]))
        )
        ]))
        page.save()
        - - - - - - - - - - - - - - - - +
        c = page.add('template_example', ui.form_card(
        box='1 1 2 2',
        items=[
        ui.template(
        content=menu,
        data=pack(dict(dishes=[
        dict(name='Spam', price='$2.00'),
        dict(name='Ham', price='$3.45'),
        dict(name='Eggs', price='$1.75'),
        ]))
        )
        ]))
        page.save()

        Tags:  formhtmltemplate

        + + + + + + + + + + diff --git a/docs/docs/examples/form/index.html b/docs/docs/examples/form/index.html index 06c54daa82..479152332a 100644 --- a/docs/docs/examples/form/index.html +++ b/docs/docs/examples/form/index.html @@ -4,50 +4,39 @@ + - Form | H2O Wave - - - - - - - - - - - - - - - - + Form | H2O Wave + + + + + + + + + +
        -

        Form

        Use a form to collect data or show textual information.

        from synth import FakeCategoricalSeries
        from h2o_wave import main, app, Q, ui, pack, data
        import random
        +

        Form

        Use a form to collect data or show textual information.

        from .synth import FakeCategoricalSeries
        from h2o_wave import main, app, Q, ui, pack, data
        import random
        html = '''
        <ol>
        <li>Spam</li>
        <li>Ham</li>
        <li>Eggs</li>
        </ol>
        '''
        menu = '''
        <ol>
        {{#each dishes}}
        <li><strong>{{name}}</strong> costs {{price}}</li>
        {{/each}}
        </ol
        '''
        spec = '''
        {
        "description": "A simple bar plot with embedded data.",
        "mark": "bar",
        "encoding": {
        "x": {"field": "a", "type": "ordinal"},
        "y": {"field": "b", "type": "quantitative"}
        }
        }
        '''
        f = FakeCategoricalSeries()
        n = 20
        -
        # Generate random datum between 1 and 100
        def rnd(): return random.randint(1, 100)
        +
        # Generate random datum between 1 and 100
        def rnd():
        return random.randint(1, 100)
        -
        @app('/demo')
        async def serve(q: Q):
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text_xl(content='Extra-large text, for headings.'),
        ui.text_l(content='Large text, for sub-headings.'),
        ui.text_m(content='Body text, for paragraphs and other content.'),
        ui.text_s(content='Small text, for small print.'),
        ui.text_xs(content='Extra-small text, for really small print.'),
        ui.separator(label='A separator sections forms'),
        ui.progress(label='A progress bar'),
        ui.progress(label='A progress bar'),
        ui.message_bar(type='success', text='Message bar'),
        ui.textbox(name='textbox', label='Textbox'),
        ui.label(label='Checkboxes'),
        ui.checkbox(name='checkbox1', label='A checkbox'),
        ui.checkbox(name='checkbox1', label='Another checkbox'),
        ui.checkbox(name='checkbox1', label='Yet another checkbox'),
        ui.toggle(name='toggle', label='Toggle'),
        ui.choice_group(name='choice_group', label='Choice group', choices=[
        ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
        ]),
        ui.checklist(name='checklist', label='Checklist', choices=[
        ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
        ]),
        ui.dropdown(name='dropdown', label='Dropdown', choices=[
        ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
        ]),
        ui.dropdown(name='dropdown', label='Multi-valued Dropdown', values=[], choices=[
        ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
        ]),
        ui.combobox(name='combobox', label='Combobox', choices=['Choice 1', 'Choice 2', 'Choice 3']),
        ui.slider(name='slider', label='Slider'),
        ui.range_slider(name='range_slider', label='Range slider', max=99),
        ui.spinbox(name='spinbox', label='Spinbox'),
        ui.date_picker(name='date_picker', label='Date picker'),
        ui.color_picker(name='color_picker', label='Color picker'),
        ui.buttons([
        ui.button(name='primary_button', label='Primary', primary=True),
        ui.button(name='standard_button', label='Standard'),
        ui.button(name='standard_disabled_button', label='Standard', disabled=True),
        ]),
        ui.file_upload(name='file_upload', label='File upload'),
        ui.table(name='table', columns=[
        ui.table_column(name='col1', label='Column 1'),
        ui.table_column(name='col2', label='Column 2'),
        ], rows=[
        ui.table_row(name='row1', cells=['Text A', 'Text B']),
        ui.table_row(name='row2', cells=['Text C', 'Text D']),
        ui.table_row(name='row3', cells=['Text E', 'Text F']),
        ]),
        ui.link(label='Link'),
        ui.tabs(name='tabs', items=[
        ui.tab(name='email', label='Mail', icon='Mail'),
        ui.tab(name='events', label='Events', icon='Calendar'),
        ui.tab(name='spam', label='Spam'),
        ]),
        ui.expander(name='expander', label='Expander'),
        ui.frame(path='https://example.com'),
        ui.markup(content=html),
        ui.template(
        content=menu,
        data=pack(dict(dishes=[
        dict(name='Spam', price='$2.00'),
        dict(name='Ham', price='$3.45'),
        dict(name='Eggs', price='$1.75'),
        ]))
        ),
        ui.picker(name='picker', label='Picker', choices=[
        ui.choice('choice1', label='Choice 1'),
        ui.choice('choice2', label='Choice 2'),
        ui.choice('choice3', label='Choice 3'),
        ]),
        ui.stepper(name='stepper', items=[
        ui.step(label='Step 1', icon='MailLowImportance'),
        ui.step(label='Step 2', icon='TaskManagerMirrored'),
        ui.step(label='Step 3', icon='Cafe'),
        ]),
        ui.visualization(
        plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', y_min=0)]),
        data=data(fields='product price', rows=[(c, x) for c, x, _ in [f.next() for _ in range(n)]], pack=True),
        ),
        ui.vega_visualization(
        specification=spec,
        data=data(fields=["a", "b"], rows=[
        ["A", rnd()], ["B", rnd()], ["C", rnd()],
        ["D", rnd()], ["E", rnd()], ["F", rnd()],
        ["G", rnd()], ["H", rnd()], ["I", rnd()]
        ], pack=True),
        ),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text_xl(content='Extra-large text, for headings.'),
        ui.text_l(content='Large text, for sub-headings.'),
        ui.text_m(content='Body text, for paragraphs and other content.'),
        ui.text_s(content='Small text, for small print.'),
        ui.text_xs(content='Extra-small text, for really small print.'),
        ui.separator(label='A separator sections forms'),
        ui.progress(label='A progress bar'),
        ui.progress(label='A progress bar'),
        ui.message_bar(type='success', text='Message bar'),
        ui.textbox(name='textbox', label='Textbox'),
        ui.label(label='Checkboxes'),
        ui.checkbox(name='checkbox1', label='A checkbox'),
        ui.checkbox(name='checkbox1', label='Another checkbox'),
        ui.checkbox(name='checkbox1', label='Yet another checkbox'),
        ui.toggle(name='toggle', label='Toggle'),
        ui.choice_group(name='choice_group', label='Choice group', choices=[
        ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
        ]),
        ui.checklist(name='checklist', label='Checklist', choices=[
        ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
        ]),
        ui.dropdown(name='dropdown', label='Dropdown', choices=[
        ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
        ]),
        ui.dropdown(name='dropdown', label='Multi-valued Dropdown', values=[], choices=[
        ui.choice(name=x, label=x) for x in ['Egg', 'Bacon', 'Spam']
        ]),
        ui.combobox(name='combobox', label='Combobox', choices=['Choice 1', 'Choice 2', 'Choice 3']),
        ui.slider(name='slider', label='Slider'),
        ui.range_slider(name='range_slider', label='Range slider', max=99),
        ui.spinbox(name='spinbox', label='Spinbox'),
        ui.date_picker(name='date_picker', label='Date picker'),
        ui.color_picker(name='color_picker', label='Color picker'),
        ui.buttons([
        ui.button(name='primary_button', label='Primary', primary=True),
        ui.button(name='standard_button', label='Standard'),
        ui.button(name='standard_disabled_button', label='Standard', disabled=True),
        ]),
        ui.file_upload(name='file_upload', label='File upload'),
        ui.table(name='table', columns=[
        ui.table_column(name='col1', label='Column 1'),
        ui.table_column(name='col2', label='Column 2'),
        ], rows=[
        ui.table_row(name='row1', cells=['Text A', 'Text B']),
        ui.table_row(name='row2', cells=['Text C', 'Text D']),
        ui.table_row(name='row3', cells=['Text E', 'Text F']),
        ]),
        ui.link(label='Link'),
        ui.tabs(name='tabs', items=[
        ui.tab(name='email', label='Mail', icon='Mail'),
        ui.tab(name='events', label='Events', icon='Calendar'),
        ui.tab(name='spam', label='Spam'),
        ]),
        ui.expander(name='expander', label='Expander', items=[
        ui.combobox(name='combobox', label='Combobox', choices=['Choice 1', 'Choice 2', 'Choice 3']),
        ui.slider(name='slider', label='Slider'),
        ui.range_slider(name='range_slider', label='Range slider', max=99),
        ui.spinbox(name='spinbox', label='Spinbox'),
        ]),
        ui.frame(path='https://example.com'),
        ui.markup(content=html),
        ui.template(
        content=menu,
        data=pack(dict(dishes=[
        dict(name='Spam', price='$2.00'),
        dict(name='Ham', price='$3.45'),
        dict(name='Eggs', price='$1.75'),
        ]))
        ),
        ui.picker(name='picker', label='Picker', choices=[
        ui.choice('choice1', label='Choice 1'),
        ui.choice('choice2', label='Choice 2'),
        ui.choice('choice3', label='Choice 3'),
        ]),
        ui.stepper(name='stepper', items=[
        ui.step(label='Step 1', icon='MailLowImportance'),
        ui.step(label='Step 2', icon='TaskManagerMirrored'),
        ui.step(label='Step 3', icon='Cafe'),
        ]),
        ui.visualization(
        plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', y_min=0)]),
        data=data(fields='product price', rows=[(c, x) for c, x, _ in [f.next() for _ in range(n)]], pack=True),
        ),
        ui.vega_visualization(
        specification=spec,
        data=data(fields=["a", "b"], rows=[
        ["A", rnd()], ["B", rnd()], ["C", rnd()],
        ["D", rnd()], ["E", rnd()], ["F", rnd()],
        ["G", rnd()], ["H", rnd()], ["I", rnd()]
        ], pack=True),
        ),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  form

        + + + + + + + + + + diff --git a/docs/docs/examples/frame-path/index.html b/docs/docs/examples/frame-path/index.html index e0f9e8a1a3..1168bfdecf 100644 --- a/docs/docs/examples/frame-path/index.html +++ b/docs/docs/examples/frame-path/index.html @@ -4,48 +4,37 @@ + - Frame / Path | H2O Wave - - - - - - - - - - - - - - - - + Frame / Path | H2O Wave + + + + + + + + + +
        -

        Frame / Path

        Use a frame card to display external web pages.

        from h2o_wave import site, ui
        +

        Frame / Path

        Use a frame card to display external web pages.

        from h2o_wave import site, ui
        page = site['/demo']
        page['example'] = ui.frame_card(
        box='1 1 6 5',
        title='Example',
        path='https://example.com',
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  frame

        + + + + + + + + + + diff --git a/docs/docs/examples/frame/index.html b/docs/docs/examples/frame/index.html index b80a8ff977..56e76c99ff 100644 --- a/docs/docs/examples/frame/index.html +++ b/docs/docs/examples/frame/index.html @@ -4,49 +4,38 @@ + - Frame | H2O Wave - - - - - - - - - - - - - - - - + Frame | H2O Wave + + + + + + + + + +
        -

        Frame

        Use a frame card to display HTML content.

        from h2o_wave import site, ui
        +

        Frame

        Use a frame card to display HTML content.

        from h2o_wave import site, ui
        html = '''
        <!DOCTYPE html>
        <html>
        <body>
        <h1>Hello World!</h1>
        </body>
        </html>
        '''
        page = site['/demo']
        page['example'] = ui.frame_card(
        box='1 1 2 2',
        title='Example',
        content=html,
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  formframehtml

        + + + + + + + + + + diff --git a/docs/docs/examples/glider-gun/index.html b/docs/docs/examples/glider-gun/index.html index b0ea77cd9f..85cf63e7cc 100644 --- a/docs/docs/examples/glider-gun/index.html +++ b/docs/docs/examples/glider-gun/index.html @@ -4,29 +4,24 @@ + - Graphics / Glider Gun | H2O Wave - - - - - - - - - - - - - - - - + Graphics / Glider Gun | H2O Wave + + + + + + + + + +
        -

        Graphics / Glider Gun

        Use the graphics API to play Conway's Game of Life - Gosper's Glider Gun +

        Graphics / Glider Gun

        Use the graphics API to play Conway's Game of Life - Gosper's Glider Gun https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

        import time
        from copy import deepcopy
        from h2o_wave import site, ui, graphics as g
        def get_neighbors(row, col):
        neighbors = [
        (r, c) for r in range(row - 1, row + 2) for c in range(col - 1, col + 2)
        ]
        neighbors.remove((row, col))
        return neighbors
        @@ -58,23 +53,17 @@
        def make_glider_gun(r, c):
        return [
        (r, c + 24),
        (r + 1, c + 22),
        (r + 1, c + 24),
        (r + 2, c + 12),
        (r + 2, c + 13),
        (r + 2, c + 20),
        (r + 2, c + 21),
        (r + 2, c + 34),
        (r + 2, c + 35),
        (r + 3, c + 11),
        (r + 3, c + 15),
        (r + 3, c + 20),
        (r + 3, c + 21),
        (r + 3, c + 34),
        (r + 3, c + 35),
        (r + 4, c + 0),
        (r + 4, c + 1),
        (r + 4, c + 10),
        (r + 4, c + 16),
        (r + 4, c + 20),
        (r + 4, c + 21),
        (r + 5, c + 0),
        (r + 5, c + 1),
        (r + 5, c + 10),
        (r + 5, c + 14),
        (r + 5, c + 16),
        (r + 5, c + 17),
        (r + 5, c + 22),
        (r + 5, c + 24),
        (r + 6, c + 10),
        (r + 6, c + 16),
        (r + 6, c + 24),
        (r + 7, c + 11),
        (r + 7, c + 15),
        (r + 8, c + 12),
        (r + 8, c + 13),
        ]
        -
        render(make_glider_gun(2, 2))
        - - - - - - - - - - - - - - - - +
        render(make_glider_gun(2, 2))

        Tags:  graphics

        + + + + + + + + + + diff --git a/docs/docs/examples/graphics-clock/index.html b/docs/docs/examples/graphics-clock/index.html index 2fc02c61c3..8224251269 100644 --- a/docs/docs/examples/graphics-clock/index.html +++ b/docs/docs/examples/graphics-clock/index.html @@ -4,52 +4,41 @@ + - Graphics / Clock | H2O Wave - - - - - - - - - - - - - - - - + Graphics / Clock | H2O Wave + + + + + + + + + +
        -

        Graphics / Clock

        Use the graphics API to make a clock. +

        Graphics / Clock

        Use the graphics API to make a clock. Source: https://codepen.io/dudleystorey/pen/HLBki

        import time
        import datetime
        from h2o_wave import site, ui, graphics as g
        page = site['/demo']
        page['example'] = ui.graphics_card(
        box='1 1 2 3', view_box='0 0 100 100', width='100%', height='100%',
        stage=g.stage(
        face=g.circle(cx='50', cy='50', r='45', fill='#111', stroke_width='2px', stroke='#f55'),
        ),
        scene=g.scene(
        hour=g.rect(x='47.5', y='12.5', width='5', height='40', rx='2.5', fill='#333', stroke='#555'),
        min=g.rect(x='48.5', y='12.5', width='3', height='40', rx='2', fill='#333', stroke='#555'),
        sec=g.line(x1='50', y1='50', x2='50', y2='16', stroke='#f55', stroke_width='1px'),
        ),
        )
        page.save()
        -
        def rotate(deg): return f'rotate({deg} 50 50)'
        +
        def rotate(deg):
        return f'rotate({deg} 50 50)'
        -
        scene = page['example'].scene
        while True:
        time.sleep(1)
        now = datetime.datetime.now()
        g.draw(scene.hour, transform=rotate(30 * (now.hour % 12) + now.minute / 2))
        g.draw(scene.min, transform=rotate(6 * now.minute))
        g.draw(scene.sec, transform=rotate(6 * now.second))
        page.save()
        - - - - - - - - - - - - - - - - +
        scene = page['example'].scene
        while True:
        time.sleep(1)
        now = datetime.datetime.now()
        g.draw(scene.hour, transform=rotate(30 * (now.hour % 12) + now.minute / 2))
        g.draw(scene.min, transform=rotate(6 * now.minute))
        g.draw(scene.sec, transform=rotate(6 * now.second))
        page.save()

        Tags:  graphics

        + + + + + + + + + + diff --git a/docs/docs/examples/graphics-hilbert/index.html b/docs/docs/examples/graphics-hilbert/index.html index eadbfbf2f0..940742d8d4 100644 --- a/docs/docs/examples/graphics-hilbert/index.html +++ b/docs/docs/examples/graphics-hilbert/index.html @@ -4,29 +4,24 @@ + - Graphics / Hilbert | H2O Wave - - - - - - - - - - - - - - - - + Graphics / Hilbert | H2O Wave + + + + + + + + + +
        -

        Graphics / Hilbert

        Use turtle graphics recursively to draw Hilbert curves.

        from h2o_wave import ui, main, app, Q, graphics as g
        +

        Graphics / Hilbert

        Use turtle graphics recursively to draw Hilbert curves.

        from h2o_wave import ui, main, app, Q, graphics as g
        def hilbert(t: g.Turtle, width: float, depth: int, reverse=False): # recursive
        angle = -90 if reverse else 90
        if depth == 0:
        t.f(width).r(angle).f(width).r(angle).f(width)
        return
        @@ -37,23 +32,17 @@
        @app('/demo')
        async def serve(q: Q):
        hilbert_curve = make_hilbert_curve(300, q.args.depth or 5)
        if not q.client.initialized:
        q.page['curve'] = ui.graphics_card(
        box='1 1 4 6', view_box='0 0 300 300', width='100%', height='100%',
        scene=g.scene(
        hilbert_curve=g.path(d=hilbert_curve, fill='none', stroke='#333')
        ),
        )
        q.page['form'] = ui.form_card(
        box='1 7 4 1', items=[
        ui.slider(name='depth', label='Play with this Hilbert curve!', min=1, max=6, value=5, trigger=True),
        ],
        )
        q.client.initialized = True
        else:
        g.draw(q.page['curve'].scene.hilbert_curve, d=hilbert_curve)
        -
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        await q.page.save()

        Tags:  graphics

        + + + + + + + + + + diff --git a/docs/docs/examples/graphics-path/index.html b/docs/docs/examples/graphics-path/index.html index f630335a54..dbd1c84d25 100644 --- a/docs/docs/examples/graphics-path/index.html +++ b/docs/docs/examples/graphics-path/index.html @@ -4,48 +4,37 @@ + - Graphics / Path | H2O Wave - - - - - - - - - - - - - - - - + Graphics / Path | H2O Wave + + + + + + + + + +
        -

        Graphics / Path

        Use the graphics API to draw a red square.

        from h2o_wave import site, ui, graphics as g
        +

        Graphics / Path

        Use the graphics API to draw a red square.

        from h2o_wave import site, ui, graphics as g
        # Use relative coords to draw a square, sort of like Python's turtle package.
        red_square = g.p().m(25, 25).h(50).v(50).h(-50).z().path(fill='red')
        page = site['/demo']
        page['example'] = ui.graphics_card(
        box='1 1 2 3', view_box='0 0 100 100', width='100%', height='100%',
        scene=g.scene(foo=red_square),
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  graphics

        + + + + + + + + + + diff --git a/docs/docs/examples/graphics-primitives/index.html b/docs/docs/examples/graphics-primitives/index.html index 1dee989209..a0706ae490 100644 --- a/docs/docs/examples/graphics-primitives/index.html +++ b/docs/docs/examples/graphics-primitives/index.html @@ -4,51 +4,40 @@ + - Graphics / Primitives | H2O Wave - - - - - - - - - - - - - - - - + Graphics / Primitives | H2O Wave + + + + + + + + + +
        -

        Graphics / Primitives

        Use the graphics module to render and update shapes.

        from h2o_wave import site, ui, graphics as g
        +

        Graphics / Primitives

        Use the graphics module to render and update shapes.

        from h2o_wave import site, ui, graphics as g
        # Create some shapes
        arc = g.arc(r1=25, r2=50, a1=90, a2=180)
        circle = g.circle(cx=25, cy=25, r=25)
        ellipse = g.ellipse(cx=25, cy=25, rx=25, ry=20)
        image = g.image(width=50, height=50, href='https://www.python.org/static/community_logos/python-powered-h-140x182.png')
        line = g.line(x1=0, y1=0, x2=50, y2=50)
        path = g.path(d='M 0,0 L 50,50 L 50,0 L 0,50 z')
        path2 = g.path(d=g.p().M(0, 0).L(50, 50).L(50, 0).L(0, 50).z().d()) # same effect as above, but programmable.
        path3 = g.p().M(0, 0).L(50, 50).L(50, 0).L(0, 50).z().path() # same effect as above, but a tad more concise.
        polygon = g.polygon(points='0,0 50,50 50,0 0,50')
        polyline = g.polyline(points='0,0 50,50 50,0 0,50')
        rect = g.rect(x=0, y=0, width=50, height=50)
        rounded_rect = g.rect(x=0, y=0, width=50, height=50, rx=10)
        text = g.text(x=0, y=48, text='Z', font_size='4em')
        # Collect 'em all
        shapes = [arc, circle, ellipse, image, line, path, path2, path3, polygon, polyline, rect, rounded_rect, text]
        # Apply fill/stroke for each shape
        for shape in shapes:
        shape.fill = 'none' if g.type_of(shape) == 'polyline' else 'crimson'
        shape.stroke = 'darkred'
        shape.stroke_width = 5
        # Lay out shapes vertically
        y = 10
        for shape in shapes:
        shape.transform = f'translate(10,{y})'
        y += 60
        # Add shapes to the graphics card
        page = site['/demo']
        page['example'] = ui.graphics_card(
        box='1 1 1 10', view_box='0 0 70 800', width='100%', height='100%',
        stage=g.stage(
        arc=arc,
        circle=circle,
        ellipse=ellipse,
        image=image,
        line=line,
        path=path,
        path2=path2,
        path3=path3,
        polygon=polygon,
        polyline=polyline,
        rect=rect,
        rounded_rect=rounded_rect,
        text=text,
        ),
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  graphics

        + + + + + + + + + + diff --git a/docs/docs/examples/graphics-spline/index.html b/docs/docs/examples/graphics-spline/index.html index 8461192178..e15ad90de0 100644 --- a/docs/docs/examples/graphics-spline/index.html +++ b/docs/docs/examples/graphics-spline/index.html @@ -4,50 +4,39 @@ + - Graphics / Spline | H2O Wave - - - - - - - - - - - - - - - - + Graphics / Spline | H2O Wave + + + + + + + + + +
        -

        Graphics / Spline

        Use the graphics module to render splines.

        import random
        from h2o_wave import site, ui, graphics as g
        +

        Graphics / Spline

        Use the graphics module to render splines.

        import random
        from h2o_wave import site, ui, graphics as g
        x = [i * 20 for i in range(50)]
        y = [
        88, 100, 116, 128, 126, 128, 118, 108, 121, 120, 99, 113, 117, 103, 98, 90, 104, 98, 82, 102, 104, 89, 87, 69,
        88, 97, 91, 105, 98, 86, 90, 107, 97, 107, 108, 128, 144, 148, 126, 106, 89, 99, 78, 70, 69, 64, 45, 29, 27, 38
        ]
        y0 = [v - random.randint(5, min(y)) for v in y]
        line_style = dict(fill='none', stroke='crimson', stroke_width=4)
        area_style = dict(fill='crimson')
        splines = [
        # Lines
        g.spline(x=x, y=y, **line_style), # same as curve='linear'
        g.spline(x=x, y=y, curve='basis', **line_style),
        g.spline(x=x, y=y, curve='basis-closed', **line_style),
        g.spline(x=x, y=y, curve='basis-open', **line_style),
        g.spline(x=x, y=y, curve='cardinal', **line_style),
        g.spline(x=x, y=y, curve='cardinal-closed', **line_style),
        g.spline(x=x, y=y, curve='cardinal-open', **line_style),
        g.spline(x=x, y=y, curve='smooth', **line_style),
        g.spline(x=x, y=y, curve='smooth-closed', **line_style),
        g.spline(x=x, y=y, curve='smooth-open', **line_style),
        g.spline(x=x, y=y, curve='linear', **line_style),
        g.spline(x=x, y=y, curve='linear-closed', **line_style),
        g.spline(x=x, y=y, curve='monotone-x', **line_style),
        g.spline(x=x, y=y, curve='monotone-y', **line_style),
        g.spline(x=x, y=y, curve='natural', **line_style),
        g.spline(x=x, y=y, curve='step', **line_style),
        g.spline(x=x, y=y, curve='step-after', **line_style),
        g.spline(x=x, y=y, curve='step-before', **line_style),
        # Areas
        g.spline(x=x, y=y, y0=y0, **area_style), # same as curve='linear'
        g.spline(x=x, y=y, y0=y0, curve='basis', **area_style),
        g.spline(x=x, y=y, y0=[], curve='basis', **area_style),
        g.spline(x=x, y=y, y0=y0, curve='basis-open', **area_style),
        g.spline(x=x, y=y, y0=y0, curve='cardinal', **area_style),
        g.spline(x=x, y=y, y0=[], curve='cardinal', **area_style),
        g.spline(x=x, y=y, y0=y0, curve='cardinal-open', **area_style),
        g.spline(x=x, y=y, y0=y0, curve='smooth', **area_style),
        g.spline(x=x, y=y, y0=[], curve='smooth', **area_style),
        g.spline(x=x, y=y, y0=y0, curve='smooth-open', **area_style),
        g.spline(x=x, y=y, y0=y0, curve='linear', **area_style),
        g.spline(x=x, y=y, y0=[], curve='linear', **area_style),
        g.spline(x=x, y=y, y0=y0, curve='monotone-x', **area_style),
        g.spline(x=x, y=y, y0=y0, curve='monotone-y', **area_style),
        g.spline(x=x, y=y, y0=y0, curve='natural', **area_style),
        g.spline(x=x, y=y, y0=y0, curve='step', **area_style),
        g.spline(x=x, y=y, y0=y0, curve='step-after', **area_style),
        g.spline(x=x, y=y, y0=y0, curve='step-before', **area_style),
        ]
        page = site['/demo']
        row, col = 1, 1
        for spline in splines:
        page[f'spline_{col}_{row}'] = ui.graphics_card(
        box=f'{col} {row} 3 1', view_box='0 0 1000 150', width='100%', height='100%',
        stage=g.stage(
        text=g.text(text=spline.curve or '', y=40, font_size=40),
        spline=spline,
        ),
        )
        col += 3
        if col > 11:
        row, col = row + 1, 1
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  graphics

        + + + + + + + + + + diff --git a/docs/docs/examples/graphics-turtle/index.html b/docs/docs/examples/graphics-turtle/index.html index f9b62244e4..332e6f2439 100644 --- a/docs/docs/examples/graphics-turtle/index.html +++ b/docs/docs/examples/graphics-turtle/index.html @@ -4,49 +4,38 @@ + - Graphics / Turtle | H2O Wave - - - - - - - - - - - - - - - - + Graphics / Turtle | H2O Wave + + + + + + + + + +
        -

        Graphics / Turtle

        Use turtle graphics to draw paths. +

        Graphics / Turtle

        Use turtle graphics to draw paths. Original example: https://docs.python.org/3/library/turtle.html

        from h2o_wave import site, ui, graphics as g
        t = g.turtle().f(100).r(90).pd()
        for _ in range(36):
        t.f(200).l(170)
        spirograph = t.pu(1).path(stroke='red', fill='yellow')
        page = site['/demo']
        page['example'] = ui.graphics_card(
        box='1 1 2 3', view_box='0 0 220 220', width='100%', height='100%',
        scene=g.scene(foo=spirograph),
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  graphics

        + + + + + + + + + + diff --git a/docs/docs/examples/hash-routing/index.html b/docs/docs/examples/hash-routing/index.html index e8b82bb015..f0a8a6f70d 100644 --- a/docs/docs/examples/hash-routing/index.html +++ b/docs/docs/examples/hash-routing/index.html @@ -4,47 +4,37 @@ + - Routing | H2O Wave - - - - - - - - - - - - - - - - + Routing | H2O Wave + + + + + + + + + +
        -

        Routing

        Use the browser's location hash for routing using URLs.

        The location hash can be accessed using q.args['#'].

        from h2o_wave import main, app, Q, ui
        +

        Routing

        Use the browser's location hash +for routing using URLs.

        The location hash can be accessed using q.args['#'].

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        hash = q.args['#']
        if hash:
        blurb = q.page['blurb']
        if hash == 'menu/spam':
        blurb.content = "Sorry, we're out of spam!"
        elif hash == 'menu/ham':
        blurb.content = "Sorry, we're out of ham!"
        elif hash == 'menu/eggs':
        blurb.content = "Sorry, we're out of eggs!"
        elif hash == 'about':
        blurb.content = 'Everything here is gluten-free!'
        else:
        q.page['nav'] = ui.markdown_card(
        box='1 1 4 1',
        title='Links!',
        content='[Spam](#menu/spam) | [Ham](#menu/ham) | [Eggs](#menu/eggs) | [About](#about)',
        )
        q.page['blurb'] = ui.markdown_card(
        box='1 2 4 2',
        title='Store',
        content='Welcome to our store!',
        )
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        hash = q.args['#']
        if hash:
        blurb = q.page['blurb']
        if hash == 'menu/spam':
        blurb.content = "Sorry, we're out of spam!"
        elif hash == 'menu/ham':
        blurb.content = "Sorry, we're out of ham!"
        elif hash == 'menu/eggs':
        blurb.content = "Sorry, we're out of eggs!"
        elif hash == 'about':
        blurb.content = 'Everything here is gluten-free!'
        else:
        q.page['nav'] = ui.markdown_card(
        box='1 1 4 2',
        title='Links!',
        content='[Spam](#menu/spam) / [Ham](#menu/ham) / [Eggs](#menu/eggs) / [About](#about)',
        )
        q.page['blurb'] = ui.markdown_card(
        box='1 3 4 2',
        title='Store',
        content='Welcome to our store!',
        )
        await q.page.save()

        Tags:  location_hashrouting

        + + + + + + + + + + diff --git a/docs/docs/examples/header/index.html b/docs/docs/examples/header/index.html index c597709ca2..e7572d5188 100644 --- a/docs/docs/examples/header/index.html +++ b/docs/docs/examples/header/index.html @@ -4,46 +4,35 @@ + - Header | H2O Wave - - - - - - - - - - - - - - - - + Header | H2O Wave + + + + + + + + + +
        -

        Header

        Use a header card to display a page header.

        from h2o_wave import site, ui
        -
        page = site['/demo']
        page['header1'] = ui.header_card(
        box='1 1 3 1',
        title='The Amazing Gonkulator',
        subtitle='And now for something completely different!',
        )
        page['header2'] = ui.header_card(
        box='1 2 3 1',
        title='The Amazing Gonkulator',
        subtitle='And now for something completely different!',
        icon='Design',
        )
        page['header3'] = ui.header_card(
        box='1 3 3 1',
        title='The Amazing Gonkulator',
        subtitle='And now for something completely different!',
        icon='Cycling',
        icon_color='$violet',
        )
        page['header4'] = ui.header_card(
        box='1 4 3 1',
        title='The Amazing Gonkulator',
        subtitle='And now for something completely different!',
        icon='ExploreData',
        icon_color='$red',
        )
        page.save()
        - - - - - - - - - - - - - - - - +

        Header

        Use a header card to display a page header.

        from h2o_wave import site, ui
        +
        page = site['/demo']
        page['header1'] = ui.header_card(
        box='1 1 3 1',
        title='The Amazing Gonkulator',
        subtitle='And now for something completely different!',
        )
        page['header2'] = ui.header_card(
        box='1 2 3 1',
        title='The Amazing Gonkulator',
        subtitle='And now for something completely different!',
        icon='Design',
        )
        page['header3'] = ui.header_card(
        box='1 3 3 1',
        title='The Amazing Gonkulator',
        subtitle='And now for something completely different!',
        icon='Cycling',
        icon_color='$violet',
        )
        page['header4'] = ui.header_card(
        box='1 4 3 1',
        title='The Amazing Gonkulator',
        subtitle='And now for something completely different!',
        icon='ExploreData',
        icon_color='$red',
        )
        page.save()

        Tags:  header

        + + + + + + + + + + diff --git a/docs/docs/examples/hello-world/index.html b/docs/docs/examples/hello-world/index.html index c4d6e6f9b3..c87adabffe 100644 --- a/docs/docs/examples/hello-world/index.html +++ b/docs/docs/examples/hello-world/index.html @@ -4,48 +4,37 @@ + - Hello World! | H2O Wave - - - - - - - - - - - - - - - - + Hello World! | H2O Wave + + + + + + + + + +
        -

        Hello World!

        A simple example to get you started with Wave.

        # Import `Site` and the `ui` module from the `h2o_wave` package
        from h2o_wave import site, ui
        +

        Hello World!

        A simple example to get you started with Wave.

        # Import `Site` and the `ui` module from the `h2o_wave` package
        from h2o_wave import site, ui
        # Get the web page at route '/demo'.
        # If you're running this example on your local machine,
        # this page will refer to http://localhost:10101/demo.
        page = site['/demo']
        # Add a Markdown card named `hello` to the page.
        page['hello'] = ui.markdown_card(
        box='1 1 2 2',
        title='Hello World!',
        content='And now for something completely different!',
        )
        -
        # Finally, sync the page to send our changes to the server.
        page.save()
        - - - - - - - - - - - - - - - - +
        # Finally, sync the page to send our changes to the server.
        page.save()

        Tags:  hello_world

        + + + + + + + + + + diff --git a/docs/docs/examples/image/index.html b/docs/docs/examples/image/index.html index 7e88ba9af1..93d386abab 100644 --- a/docs/docs/examples/image/index.html +++ b/docs/docs/examples/image/index.html @@ -4,49 +4,38 @@ + - Image | H2O Wave - - - - - - - - - - - - - - - - + Image | H2O Wave + + + + + + + + + +
        -

        Image

        Use an image card to display a base64-encoded image.

        from h2o_wave import site, ui
        import io
        import base64
        import numpy as np
        import matplotlib.pyplot as plt
        +

        Image

        Use an image card to display a base64-encoded image.

        from h2o_wave import site, ui
        import io
        import base64
        import numpy as np
        import matplotlib.pyplot as plt
        np.random.seed(19680801)
        n = 25
        plt.figure(figsize=(3, 3))
        plt.scatter(
        np.random.rand(n), np.random.rand(n),
        s=(30 * np.random.rand(n)) ** 2,
        c=np.random.rand(n),
        alpha=0.5,
        )
        buf = io.BytesIO()
        plt.savefig(buf, format='png')
        buf.seek(0)
        image = base64.b64encode(buf.read()).decode('utf-8')
        -
        page = site['/demo']
        page['example'] = ui.image_card(
        box='1 1 3 5',
        title='An image',
        type='png',
        image=image,
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        page = site['/demo']
        page['example'] = ui.image_card(
        box='1 1 3 5',
        title='An image',
        type='png',
        image=image,
        )
        page.save()

        Tags:  image

        + + + + + + + + + + diff --git a/docs/docs/examples/index.html b/docs/docs/examples/index.html index c5459b6541..9587635ab9 100644 --- a/docs/docs/examples/index.html +++ b/docs/docs/examples/index.html @@ -4,45 +4,34 @@ + - Gallery | H2O Wave - - - - - - - - - - - - - - - - + Gallery | H2O Wave + + + + + + + + + +
        -

        Gallery

        Hello World!
        To-do List App
        Wizard
        Issue Tracker
        Dashboard
        Stat / Small
        Stat / Large
        Stat / Gauge / Wide
        Stat / Gauge / Tall
        Stat / Bar / Wide
        Stat / Bar / Large
        Stat / Series / Small / Area
        Stat / Series / Small / Interval
        Stat / Series / Wide / Area
        Stat / Series / Wide / Interval
        Stat / Series / Tall / Area
        Stat / Series / Tall / Interval
        Layout / Position
        Layout / Size
        Layout / Responsive
        Form
        Form / Text
        Form / Text / Sizes
        Form / Label
        Form / Link
        Form / Progress
        Form / Progress / Updating
        Form / Message Bar
        Form / Textbox
        Form / Textbox / Trigger
        Form / Button
        Form / Buttons
        Form / Checkbox
        Form / Checklist
        Form / Picker
        Form / Picker / Selection
        Form / Dropdown
        Form / Choice Group
        Form / Combobox
        Form / Toggle
        Form / Spinbox
        Form / Slider
        Form / Range Slider
        Form / Date Picker
        Form / Date Picker / Trigger
        Form / Color Picker
        Form / Swatch Picker
        Form / Tabs
        Form / Separator
        Form / File Upload
        Form / Frame
        Form / Frame / Path
        Form / Menu
        Form / Template
        Form / Markup
        Form / Stepper
        Table / Markdown
        Table / Markdown / Pandas
        Table
        Table / Sort
        Table / Search
        Table / Filter
        Table / Filter / Backend
        Table / Download
        Table / Group by
        Table / Preselection
        Image
        Frame
        Frame / Path
        Template
        Template / Data
        Markdown
        Markdown / Data
        Markup
        Nav
        Toolbar
        Tab
        Tab / Links
        Tabs / Navigation
        Breadcrumbs
        Header
        Routing
        Routing / Toolbar
        Routing / Tabs
        Context Menu
        Plot / Point
        Plot / Point / Shapes
        Plot / Point / Sizes
        Plot / Point / Map
        Plot / Point / Groups
        Plot / Point / Annotation
        Plot / Point / Custom
        Plot / Interval
        Plot / Interval / Transpose
        Plot / Interval / Groups
        Plot / Interval / Groups / Transpose
        Plot / Interval / Labels
        Plot / Interval / Range
        Plot / Interval / Range / Transpose
        Plot / Interval / Stacked
        Plot / Interval / Stacked / Transpose
        Plot / Interval / Stacked / Grouped
        Plot / Interval / Stacked / Grouped / Transpose
        Plot / Interval / Polar
        Plot / Interval / Polar / Stacked
        Plot / Interval / Theta
        Plot / Interval / Helix
        Plot / Interval / Annotation
        Plot / Interval / Annotation / Transpose
        Plot / Line
        Plot / Line / Groups
        Plot / Line / Smooth
        Plot / Line / Step
        Plot / Line / Step / After
        Plot / Line / Step / Before
        Plot / Line / Labels
        Plot / Line / Labels/ Stroked
        Plot / Line / Labels / Occlusion
        Plot / Line / Annotation
        Plot / Path
        Plot / Path / Point
        Plot / Path / Smooth
        Plot / Area
        Plot / Area / Groups
        Plot / Area / Negative
        Plot / Area / Range
        Plot / Area / Smooth
        Plot / Area / Stacked
        Plot / Area + Line
        Plot / Area + Line / Smooth
        Plot / Area + Line / Groups
        Plot / Polygon
        Plot / Histogram
        Plot / Axis Titles
        Plot / Form
        Plot / App
        Plot / Events
        Plot / Vega-lite
        Plot / Vega-lite / Update
        Plot / Vega-lite / Form
        Plot / Altair
        Plot / Bokeh
        Plot / Matplotlib
        Plot / Plotly
        Plot / D3.js
        Pixel Art
        Uploads
        Uploads / Async
        Uploads / UI
        Uploads / Download
        Meta / Dialog
        Meta / Title
        Meta / Icon
        Meta / Notification
        Meta / Refresh
        Meta / Redirect
        Mode / Broadcast / Global
        Mode / Broadcast
        Mode / Multicast
        Mode / Unicast
        Background Tasks
        Background Tasks / Executor
        Background Tasks / Progress
        Site / Async
        Graphics / Primitives
        Graphics / Spline
        Graphics / Clock
        Graphics / Path
        Graphics / Turtle
        Graphics / Hilbert
        Graphics / Glider Gun
        - - - - - - - - - - - - - - - - +

        Gallery

        Hello World!
        To-do List App
        Wizard
        Issue Tracker
        Dashboard
        Stat / Small
        Stat / Large
        Stat / Gauge / Wide
        Stat / Gauge / Tall
        Stat / Bar / Wide
        Stat / Bar / Large
        Stat / Series / Small / Area
        Stat / Series / Small / Interval
        Stat / Series / Wide / Area
        Stat / Series / Wide / Interval
        Stat / Series / Tall / Area
        Stat / Series / Tall / Interval
        Layout / Position
        Layout / Size
        Layout / Responsive
        Form
        Form / Text
        Form / Text / Sizes
        Form / Label
        Form / Link
        Form / Progress
        Form / Progress / Updating
        Form / Message Bar
        Form / Textbox
        Form / Textbox / Trigger
        Form / Button
        Form / Buttons
        Form / Checkbox
        Form / Checklist
        Form / Picker
        Form / Picker / Selection
        Form / Dropdown
        Form / Choice Group
        Form / Combobox
        Form / Toggle
        Form / Spinbox
        Form / Slider
        Form / Range Slider
        Form / Date Picker
        Form / Date Picker / Trigger
        Form / Color Picker
        Form / Swatch Picker
        Form / Tabs
        Form / Separator
        Form / File Upload
        Form / Frame
        Form / Frame / Path
        Form / Menu
        Form / Template
        Form / Markup
        Form / Stepper
        Table / Markdown
        Table / Markdown / Pandas
        Table
        Table / Sort
        Table / Search
        Table / Filter
        Table / Filter / Backend
        Table / Download
        Table / Group by
        Table / Preselection
        Image
        Frame
        Frame / Path
        Template
        Template / Data
        Markdown
        Markdown / Data
        Markup
        Nav
        Toolbar
        Tab
        Tab / Links
        Tabs / Navigation
        Breadcrumbs
        Header
        Routing
        Routing / Toolbar
        Routing / Tabs
        Context Menu
        Plot / Point
        Plot / Point / Shapes
        Plot / Point / Sizes
        Plot / Point / Map
        Plot / Point / Groups
        Plot / Point / Annotation
        Plot / Point / Custom
        Plot / Interval
        Plot / Interval / Transpose
        Plot / Interval / Groups
        Plot / Interval / Groups / Transpose
        Plot / Interval / Labels
        Plot / Interval / Range
        Plot / Interval / Range / Transpose
        Plot / Interval / Stacked
        Plot / Interval / Stacked / Transpose
        Plot / Interval / Stacked / Grouped
        Plot / Interval / Stacked / Grouped / Transpose
        Plot / Interval / Polar
        Plot / Interval / Polar / Stacked
        Plot / Interval / Theta
        Plot / Interval / Helix
        Plot / Interval / Annotation
        Plot / Interval / Annotation / Transpose
        Plot / Line
        Plot / Line / Groups
        Plot / Line / Smooth
        Plot / Line / Step
        Plot / Line / Step / After
        Plot / Line / Step / Before
        Plot / Line / Labels
        Plot / Line / Labels/ Stroked
        Plot / Line / Labels / Occlusion
        Plot / Line / Annotation
        Plot / Path
        Plot / Path / Point
        Plot / Path / Smooth
        Plot / Area
        Plot / Area / Groups
        Plot / Area / Negative
        Plot / Area / Range
        Plot / Area / Smooth
        Plot / Area / Stacked
        Plot / Area + Line
        Plot / Area + Line / Smooth
        Plot / Area + Line / Groups
        Plot / Polygon
        Plot / Histogram
        Plot / Axis Titles
        Plot / Form
        Plot / App
        Plot / Events
        Plot / Pandas
        Plot / Vega-lite
        Plot / Vega-lite / Update
        Plot / Vega-lite / Form
        Plot / Altair
        Plot / Bokeh
        Plot / Matplotlib
        Plot / Plotly
        Plot / D3.js
        Pixel Art
        Uploads
        Uploads / Async
        Uploads / UI
        Uploads / Download
        Meta / Dialog
        Meta / Title
        Meta / Icon
        Meta / Notification
        Meta / Refresh
        Meta / Redirect
        Mode / Broadcast / Global
        Mode / Broadcast
        Mode / Multicast
        Mode / Unicast
        Background Tasks
        Background Tasks / Executor
        Background Tasks / Progress
        Site / Async
        Graphics / Primitives
        Graphics / Spline
        Graphics / Clock
        Graphics / Path
        Graphics / Turtle
        Graphics / Hilbert
        Graphics / Glider Gun
        + + + + + + + + + + diff --git a/docs/docs/examples/issue-tracker/index.html b/docs/docs/examples/issue-tracker/index.html index 0869e47c81..8371da6b24 100644 --- a/docs/docs/examples/issue-tracker/index.html +++ b/docs/docs/examples/issue-tracker/index.html @@ -4,29 +4,24 @@ + - Issue Tracker | H2O Wave - - - - - - - - - - - - - - - - + Issue Tracker | H2O Wave + + + + + + + + + +
        -

        Issue Tracker

        Implement a simple issue tracker using a table to create master-detail views.

        from h2o_wave import main, app, Q, ui
        from faker import Faker
        +

        Issue Tracker

        Implement a simple issue tracker using a table to create master-detail views.

        from h2o_wave import main, app, Q, ui
        from faker import Faker
        fake = Faker()
        _id = 0
        @@ -55,23 +50,17 @@
        async def reopen_issues(q: Q):
        for issue_id in q.args.issues:
        issue = issue_lookup[issue_id]
        issue.status = 'Open'
        await show_issues(q)
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.edit_multiple:
        await edit_multiple(q)
        elif q.args.reopen_issues:
        await reopen_issues(q)
        elif q.args.close_issues:
        await close_issues(q)
        elif q.args.reopen_issue:
        await reopen_issue(q)
        elif q.args.close_issue:
        await close_issue(q)
        elif q.args.issues: # An issue was clicked on
        await show_issue(q, q.args.issues[0])
        else:
        await show_issues(q)
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.edit_multiple:
        await edit_multiple(q)
        elif q.args.reopen_issues:
        await reopen_issues(q)
        elif q.args.close_issues:
        await close_issues(q)
        elif q.args.reopen_issue:
        await reopen_issue(q)
        elif q.args.close_issue:
        await close_issue(q)
        elif q.args.issues: # An issue was clicked on
        await show_issue(q, q.args.issues[0])
        else:
        await show_issues(q)

        Tags:  table

        + + + + + + + + + + diff --git a/docs/docs/examples/label/index.html b/docs/docs/examples/label/index.html index 6d1e5fe1d8..9b93a331d7 100644 --- a/docs/docs/examples/label/index.html +++ b/docs/docs/examples/label/index.html @@ -4,47 +4,36 @@ + - Form / Label | H2O Wave - - - - - - - - - - - - - - - - + Form / Label | H2O Wave + + + + + + + + + +
        -

        Form / Label

        Use labels to give a name to a component or a group of components in a form.

        from h2o_wave import site, ui
        +

        Form / Label

        Use labels to give a name to a component or a group of components in a form.

        from h2o_wave import site, ui
        page = site['/demo']
        -
        page['example'] = ui.form_card(
        box='1 1 4 -1',
        items=[
        ui.label(label='Standard Label'),
        ui.label(label='Required Label', required=True),
        ui.label(label='Disabled Label', disabled=True),
        ]
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        page['example'] = ui.form_card(
        box='1 1 4 -1',
        items=[
        ui.label(label='Standard Label'),
        ui.label(label='Required Label', required=True),
        ui.label(label='Disabled Label', disabled=True),
        ]
        )
        page.save()

        Tags:  formlabel

        + + + + + + + + + + diff --git a/docs/docs/examples/layout-responsive/index.html b/docs/docs/examples/layout-responsive/index.html index 5b0ea8b274..f30eea2f55 100644 --- a/docs/docs/examples/layout-responsive/index.html +++ b/docs/docs/examples/layout-responsive/index.html @@ -4,49 +4,39 @@ + - Layout / Responsive | H2O Wave - - - - - - - - - - - - - - - - + Layout / Responsive | H2O Wave + + + + + + + + + +
        -

        Layout / Responsive

        How to create a responsive layout.

        from h2o_wave import site, ui
        +

        Layout / Responsive

        How to create a responsive layout.

        from h2o_wave import site, ui
        page = site['/demo']
        page.drop()
        -
        # The meta card's 'zones' attribute defines placeholder zones to lay out cards for different viewport sizes.
        # We define three layout schemes here.
        page['meta'] = ui.meta_card(box='', layouts=[
        ui.layout(
        # If the viewport width >= 0:
        breakpoint='xs',
        zones=[
        # 80px high header
        ui.zone('header', size='80px'),
        # Use remaining space for content
        ui.zone('content')
        ]
        ),
        ui.layout(
        # If the viewport width >= 768:
        breakpoint='m',
        zones=[
        # 80px high header
        ui.zone('header', size='80px'),
        # Use remaining space for body
        ui.zone('body', direction=ui.ZoneDirection.ROW, zones=[
        # 250px wide sidebar
        ui.zone('sidebar', size='250px'),
        # Use remaining space for content
        ui.zone('content'),
        ]),
        ]
        ),
        ui.layout(
        # If the viewport width >= 1200:
        breakpoint='xl',
        width='1200px',
        zones=[
        # 80px high header
        ui.zone('header', size='80px'),
        # Use remaining space for body
        ui.zone('body', direction=ui.ZoneDirection.ROW, zones=[
        # 300px wide sidebar
        ui.zone('sidebar', size='300px'),
        # Use remaining space for other widgets
        ui.zone('other', zones=[
        # Use one half for charts
        ui.zone('charts', direction=ui.ZoneDirection.ROW),
        # Use other half for content
        ui.zone('content'),
        ]),
        ])
        ]
        )
        ])
        -
        page['header'] = ui.header_card(
        # Place card in the header zone, regardless of viewport size.
        box='header',
        title='Lorem Ipsum',
        subtitle='Excepteur sint occaecat cupidatat',
        nav=[
        ui.nav_group('Menu', items=[
        ui.nav_item(name='#menu/spam', label='Spam'),
        ui.nav_item(name='#menu/ham', label='Ham'),
        ui.nav_item(name='#menu/eggs', label='Eggs'),
        ]),
        ui.nav_group('Help', items=[
        ui.nav_item(name='#about', label='About'),
        ui.nav_item(name='#support', label='Support'),
        ])
        ],
        )
        page['controls'] = ui.markdown_card(
        # If the viewport width >= 0, place in content zone.
        # If the viewport width >= 768, place in sidebar zone.
        # If the viewport width >= 1200, place in sidebar zone.
        box=ui.boxes('content', 'sidebar', 'sidebar'),
        title='Controls',
        content='',
        )
        page['chart1'] = ui.markdown_card(
        box=ui.boxes(
        # If the viewport width >= 0, place as second item in content zone.
        ui.box(zone='content', order=2),
        # If the viewport width >= 768, place in content zone.
        'content',
        # If the viewport width >= 1200, place as first item in charts zone, use 2 parts of available space.
        ui.box(zone='charts', order=1, size=2),
        ),
        title='Chart 1',
        content='',
        )
        page['chart2'] = ui.markdown_card(
        box=ui.boxes(
        # If the viewport width >= 0, place as third item in content zone.
        ui.box(zone='content', order=3),
        # If the viewport width >= 768, place as second item in content zone.
        ui.box(zone='content', order=2),
        # If the viewport width >= 1200, place as second item in charts zone, use 1 part of available space.
        ui.box(zone='charts', order=2, size=1),
        ),
        title='Chart 2',
        content='',
        )
        page['content'] = ui.markdown_card(
        box=ui.boxes(
        # If the viewport width >= 0, place as fourth item in content zone.
        ui.box(zone='content', order=4),
        # If the viewport width >= 768, place as third item in content zone.
        ui.box(zone='content', order=3),
        # If the viewport width >= 1200, place in content zone.
        'content',
        ),
        title='Content',
        content='',
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        content = '![Fill Murray](https://www.fillmurray.com/640/360)'
        +
        # The meta card's 'zones' attribute defines placeholder zones to lay out cards for different viewport sizes.
        # We define three layout schemes here.
        page['meta'] = ui.meta_card(box='', layouts=[
        ui.layout(
        # If the viewport width >= 0:
        breakpoint='xs',
        zones=[
        # 80px high header
        ui.zone('header', size='80px'),
        # Use remaining space for content
        ui.zone('content')
        ]
        ),
        ui.layout(
        # If the viewport width >= 768:
        breakpoint='m',
        zones=[
        # 80px high header
        ui.zone('header', size='80px'),
        # Use remaining space for body
        ui.zone('body', direction=ui.ZoneDirection.ROW, zones=[
        # 250px wide sidebar
        ui.zone('sidebar', size='250px'),
        # Use remaining space for content
        ui.zone('content'),
        ]),
        ui.zone('footer'),
        ]
        ),
        ui.layout(
        # If the viewport width >= 1200:
        breakpoint='xl',
        width='1200px',
        zones=[
        # 80px high header
        ui.zone('header', size='80px'),
        # Use remaining space for body
        ui.zone('body', direction=ui.ZoneDirection.ROW, zones=[
        # 300px wide sidebar
        ui.zone('sidebar', size='300px'),
        # Use remaining space for other widgets
        ui.zone('other', zones=[
        # Use one half for charts
        ui.zone('charts', direction=ui.ZoneDirection.ROW),
        # Use other half for content
        ui.zone('content'),
        ]),
        ]),
        ui.zone('footer'),
        ]
        )
        ])
        +
        page['header'] = ui.header_card(
        # Place card in the header zone, regardless of viewport size.
        box='header',
        title='Lorem Ipsum',
        subtitle='Excepteur sint occaecat cupidatat',
        nav=[
        ui.nav_group('Menu', items=[
        ui.nav_item(name='#menu/spam', label='Spam'),
        ui.nav_item(name='#menu/ham', label='Ham'),
        ui.nav_item(name='#menu/eggs', label='Eggs'),
        ]),
        ui.nav_group('Help', items=[
        ui.nav_item(name='#about', label='About'),
        ui.nav_item(name='#support', label='Support'),
        ])
        ],
        )
        page['controls'] = ui.markdown_card(
        # If the viewport width >= 0, place in content zone.
        # If the viewport width >= 768, place in sidebar zone.
        # If the viewport width >= 1200, place in sidebar zone.
        box=ui.boxes('content', 'sidebar', 'sidebar'),
        title='Controls',
        content=content,
        )
        page['chart1'] = ui.markdown_card(
        box=ui.boxes(
        # If the viewport width >= 0, place as second item in content zone.
        ui.box(zone='content', order=2),
        # If the viewport width >= 768, place in content zone.
        'content',
        # If the viewport width >= 1200, place as first item in charts zone, use 2 parts of available space.
        ui.box(zone='charts', order=1, size=2),
        ),
        title='Chart 1',
        content=content,
        )
        page['chart2'] = ui.markdown_card(
        box=ui.boxes(
        # If the viewport width >= 0, place as third item in content zone.
        ui.box(zone='content', order=3),
        # If the viewport width >= 768, place as second item in content zone.
        ui.box(zone='content', order=2),
        # If the viewport width >= 1200, place as second item in charts zone, use 1 part of available space.
        ui.box(zone='charts', order=2, size=1),
        ),
        title='Chart 2',
        content=content,
        )
        page['content'] = ui.markdown_card(
        box=ui.boxes(
        # If the viewport width >= 0, place as fourth item in content zone.
        ui.box(zone='content', order=4),
        # If the viewport width >= 768, place as third item in content zone.
        ui.box(zone='content', order=3),
        # If the viewport width >= 1200, place in content zone.
        'content',
        ),
        title='Content',
        content=content,
        )
        page['footer'] = ui.footer_card(box='footer', caption='(c) 2020 Lowest Common Denominator, Inc. ')
        +
        page.save()

        Tags:  layoutresponsive

        + + + + + + + + + + diff --git a/docs/docs/examples/layout-size/index.html b/docs/docs/examples/layout-size/index.html index 9aa4722ce2..2e6a025e98 100644 --- a/docs/docs/examples/layout-size/index.html +++ b/docs/docs/examples/layout-size/index.html @@ -4,51 +4,40 @@ + - Layout / Size | H2O Wave - - - - - - - - - - - - - - - - + Layout / Size | H2O Wave + + + + + + + + + +
        -

        Layout / Size

        How to adjust the size of cards on a page.

        from h2o_wave import site, ui
        +

        Layout / Size

        How to adjust the size of cards on a page.

        from h2o_wave import site, ui
        # Every page has a grid system in place.
        # The grid has 12 columns and 10 rows.
        # A column is 134 pixels wide.
        # A row is 76 pixels high.
        # The gap between rows and columns is set to 15 pixels.
        # Cards have a `box` attribute that specifies its column, row, width and height.
        # box = 'column row width height'
        # They indicate the 1-based column/row to position the top-left corner of the card.
        # In this example, we place multiple cards on a page to demonstrate their `box` values.
        page = site['/demo']
        boxes = [
        '1 1 1 1',
        '2 1 2 1',
        '4 1 3 1',
        '7 1 4 1',
        '11 1 2 2',
        '1 2 1 9',
        '2 2 1 4',
        '3 2 1 2',
        '2 6 1 5',
        '3 4 1 7',
        '4 2 7 9',
        '11 9 2 2',
        '11 3 2 6',
        ]
        for box in boxes:
        page[f'card_{box.replace(" ", "_")}'] = ui.markdown_card(box=box, title=box, content='')
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  layout

        + + + + + + + + + + diff --git a/docs/docs/examples/layout/index.html b/docs/docs/examples/layout/index.html index 05f1653615..03870f593f 100644 --- a/docs/docs/examples/layout/index.html +++ b/docs/docs/examples/layout/index.html @@ -4,51 +4,40 @@ + - Layout / Position | H2O Wave - - - - - - - - - - - - - - - - + Layout / Position | H2O Wave + + + + + + + + + +
        -

        Layout / Position

        How to adjust the position of cards on a page.

        from h2o_wave import site, ui
        +

        Layout / Position

        How to adjust the position of cards on a page.

        from h2o_wave import site, ui
        # Every page has a grid system in place.
        # The grid has 12 columns and 10 rows.
        # A column is 134 pixels wide.
        # A row is 76 pixels high.
        # The gap between rows and columns is set to 15 pixels.
        # Cards have a `box` attribute that specifies its column, row, width and height.
        # box = 'column row width height'
        # They indicate the 1-based column/row to position the top-left corner of the card.
        # In this example, we place a 1x1 card in each column/row on a page
        # to demonstrate their column/row values.
        page = site['/demo']
        columns = 12
        rows = 10
        for column in range(1, columns + 1):
        for row in range(1, rows + 1):
        box = f'{column} {row} 1 1'
        page[f'card_{column}_{row}'] = ui.markdown_card(box=box, title=box, content='')
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  layout

        + + + + + + + + + + diff --git a/docs/docs/examples/link/index.html b/docs/docs/examples/link/index.html index 35317fbce9..b81dc9d3df 100644 --- a/docs/docs/examples/link/index.html +++ b/docs/docs/examples/link/index.html @@ -4,47 +4,36 @@ + - Form / Link | H2O Wave - - - - - - - - - - - - - - - - + Form / Link | H2O Wave + + + + + + + + + +
        -

        Form / Link

        Use links to allow navigation to internal and external URLs.

        from h2o_wave import site, ui
        +

        Form / Link

        Use links to allow navigation to internal and external URLs.

        from h2o_wave import site, ui
        page = site['/demo']
        -
        page['example'] = ui.form_card(
        box='1 1 4 -1',
        items=[
        ui.link(label='Internal link', path='/starred'),
        ui.link(label='Internal link, new tab', path='/starred', target=''),
        ui.link(label='Internal link, new tab', path='/starred', target='_blank'), # same as target=''
        ui.link(label='Internal link, disabled', path='/starred', disabled=True),
        ui.link(label='External link', path='https://h2o.ai'),
        ui.link(label='External link, new tab', path='https://h2o.ai', target=''),
        ui.link(label='External link, new tab', path='https://h2o.ai', target='_blank'), # same as target=''
        ui.link(label='External link, disabled', path='https://h2o.ai', disabled=True),
        ]
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        page['example'] = ui.form_card(
        box='1 1 4 -1',
        items=[
        ui.link(label='Internal link', path='/starred'),
        ui.link(label='Internal link, new tab', path='/starred', target=''),
        ui.link(label='Internal link, new tab', path='/starred', target='_blank'), # same as target=''
        ui.link(label='Internal link, disabled', path='/starred', disabled=True),
        ui.link(label='External link', path='https://h2o.ai'),
        ui.link(label='External link, new tab', path='https://h2o.ai', target=''),
        ui.link(label='External link, new tab', path='https://h2o.ai', target='_blank'), # same as target=''
        ui.link(label='External link, disabled', path='https://h2o.ai', disabled=True),
        ]
        )
        page.save()

        Tags:  formlinknavigation

        + + + + + + + + + + diff --git a/docs/docs/examples/markdown-data/index.html b/docs/docs/examples/markdown-data/index.html index aa34b68637..d60ec4f8fc 100644 --- a/docs/docs/examples/markdown-data/index.html +++ b/docs/docs/examples/markdown-data/index.html @@ -4,51 +4,40 @@ + - Markdown / Data | H2O Wave - - - - - - - - - - - - - - - - + Markdown / Data | H2O Wave + + + + + + + + + +
        -

        Markdown / Data

        Display dynamic formatted content using markdown.

        import time
        from h2o_wave import site, ui
        +

        Markdown / Data

        Display dynamic formatted content using markdown.

        import time
        from h2o_wave import site, ui
        page = site['/demo']
        beer_verse = '''
        {{before}} bottles of beer on the wall, {{before}} bottles of beer.
        Take one down, pass it around, {{after}} bottles of beer on the wall...
        '''
        beer_card = page.add('example', ui.markdown_card(
        box='1 1 4 2',
        title='99 Bottles of Beer',
        content='=' + beer_verse, # Make the verse a template expression by prefixing a '='.
        data=dict(before='99', after='98'),
        ))
        page.save()
        -
        for i in range(98, 2, -1):
        time.sleep(1)
        beer_card.data.before = str(i)
        beer_card.data.after = str(i - 1)
        page.save()
        - - - - - - - - - - - - - - - - +
        for i in range(98, 2, -1):
        time.sleep(1)
        beer_card.data.before = str(i)
        beer_card.data.after = str(i - 1)
        page.save()

        Tags:  markdown

        + + + + + + + + + + diff --git a/docs/docs/examples/markdown/index.html b/docs/docs/examples/markdown/index.html index 058ec772ac..43c6925775 100644 --- a/docs/docs/examples/markdown/index.html +++ b/docs/docs/examples/markdown/index.html @@ -4,29 +4,24 @@ + - Markdown | H2O Wave - - - - - - - - - - - - - - - - + Markdown | H2O Wave + + + + + + + + + +
        -

        Markdown

        Use a markdown card to display formatted content using markdown.

        from h2o_wave import site, ui
        +

        Markdown

        Use a markdown card to display formatted content using markdown.

        from h2o_wave import site, ui
        page = site['/demo']
        sample_markdown = '''=
        The **quick** _brown_ fox jumped over the lazy dog.
        Block quote:
        @@ -40,23 +35,17 @@
        Table:
        | Column 1 | Column 2 | Column 3 |
        | -------- | -------- | -------- |
        | Item 1 | Item 2 | Item 3 |
        | Item 1 | Item 2 | Item 3 |
        | Item 1 | Item 2 | Item 3 |
        '''
        -
        page['example'] = ui.markdown_card(
        box='1 1 3 -1',
        title='I was made using markdown!',
        content=sample_markdown,
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        page['example'] = ui.markdown_card(
        box='1 1 3 -1',
        title='I was made using markdown!',
        content=sample_markdown,
        )
        page.save()

        Tags:  markdown

        + + + + + + + + + + diff --git a/docs/docs/examples/markup/index.html b/docs/docs/examples/markup/index.html index f306fa4288..fdfaba3d22 100644 --- a/docs/docs/examples/markup/index.html +++ b/docs/docs/examples/markup/index.html @@ -4,48 +4,37 @@ + - Markup | H2O Wave - - - - - - - - - - - - - - - - + Markup | H2O Wave + + + + + + + + + +
        -

        Markup

        Use a markup card to display formatted content using HTML.

        from h2o_wave import site, ui
        +

        Markup

        Use a markup card to display formatted content using HTML.

        from h2o_wave import site, ui
        page = site['/demo']
        menu = '''
        <ol>
        <li>Spam</li>
        <li>Ham</li>
        <li>Eggs</li>
        </ol>
        '''
        -
        page['example'] = ui.markup_card(
        box='1 1 2 2',
        title='Menu',
        content=menu,
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        page['example'] = ui.markup_card(
        box='1 1 2 2',
        title='Menu',
        content=menu,
        )
        page.save()

        Tags:  htmlmarkup

        + + + + + + + + + + diff --git a/docs/docs/examples/message-bar/index.html b/docs/docs/examples/message-bar/index.html index 32bd1a8b67..dfde68ee06 100644 --- a/docs/docs/examples/message-bar/index.html +++ b/docs/docs/examples/message-bar/index.html @@ -4,47 +4,36 @@ + - Form / Message Bar | H2O Wave - - - - - - - - - - - - - - - - + Form / Message Bar | H2O Wave + + + + + + + + + +
        -

        Form / Message Bar

        Use message bars to indicate relevant status information.

        from h2o_wave import site, ui
        +

        Form / Message Bar

        Use message bars to indicate relevant status information.

        from h2o_wave import site, ui
        page = site['/demo']
        -
        page['example'] = ui.form_card(
        box='1 1 4 -1',
        items=[
        ui.message_bar(type='blocked', text='This action is blocked.'),
        ui.message_bar(type='error', text='This is an error message'),
        ui.message_bar(type='warning', text='This is a warning message.'),
        ui.message_bar(type='info', text='This is an information message.'),
        ui.message_bar(type='success', text='This is an success message.'),
        ui.message_bar(type='danger', text='This is a danger message.'),
        ]
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        page['example'] = ui.form_card(
        box='1 1 4 -1',
        items=[
        ui.message_bar(type='blocked', text='This action is blocked.'),
        ui.message_bar(type='error', text='This is an error message'),
        ui.message_bar(type='warning', text='This is a warning message.'),
        ui.message_bar(type='info', text='This is an information message.'),
        ui.message_bar(type='success', text='This is an success message.'),
        ui.message_bar(type='danger', text='This is a danger message.'),
        ]
        )
        page.save()

        Tags:  formmessage_bar

        + + + + + + + + + + diff --git a/docs/docs/examples/meta-dialog/index.html b/docs/docs/examples/meta-dialog/index.html index 0386bbe51a..6277b801e9 100644 --- a/docs/docs/examples/meta-dialog/index.html +++ b/docs/docs/examples/meta-dialog/index.html @@ -4,49 +4,38 @@ + - Meta / Dialog | H2O Wave - - - - - - - - - - - - - - - - + Meta / Dialog | H2O Wave + + + + + + + + + +
        -

        Meta / Dialog

        Display a dialog.

        from h2o_wave import main, app, Q, ui
        +

        Meta / Dialog

        Display a dialog.

        from h2o_wave import main, app, Q, ui
        @app('/demo')
        async def serve(q: Q):
        if not q.client.initialized:
        q.page['meta'] = ui.meta_card(box='')
        q.page['example'] = ui.form_card(box='1 1 -1 -1', items=[
        ui.button(name='show_dialog', label='Order donuts', primary=True)
        ])
        q.client.initialized = True
        else:
        if q.args.show_dialog:
        q.page['meta'].dialog = ui.dialog(title='Order Donuts', items=[
        ui.text('Donuts cost $1.99. Proceed?'),
        ui.buttons([ui.button(name='next_step', label='Next', primary=True)])
        ])
        elif q.args.next_step:
        q.page['meta'].dialog.items = [
        ui.text('You will be charged $1.99. Proceed?'),
        ui.buttons([
        ui.button(name='cancel', label='Back to safety'),
        ui.button(name='submit', label='Place order', primary=True),
        ])
        ]
        elif q.args.submit:
        q.page['example'].items = [ui.message_bar('success', 'Order placed!')]
        q.page['meta'].dialog = None
        elif q.args.cancel:
        q.page['example'].items = [ui.message_bar('info', 'Order canceled!')]
        q.page['meta'].dialog = None
        -
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        await q.page.save()

        Tags:  dialogmeta

        + + + + + + + + + + diff --git a/docs/docs/examples/meta-icon/index.html b/docs/docs/examples/meta-icon/index.html index c187b016b1..bc808656dc 100644 --- a/docs/docs/examples/meta-icon/index.html +++ b/docs/docs/examples/meta-icon/index.html @@ -4,50 +4,39 @@ + - Meta / Icon | H2O Wave - - - - - - - - - - - - - - - - + Meta / Icon | H2O Wave + + + + + + + + + +
        -

        Meta / Icon

        Set the browser window icon for a page

        from h2o_wave import site, ui
        +

        Meta / Icon

        Set the browser window icon for a page.

        from h2o_wave import site, ui
        page = site['/demo']
        page['meta'] = ui.meta_card(box='', icon='https://en.wikipedia.org/static/apple-touch/wikipedia.png')
        # You can also upload and assign an icon, like this:
        # icon_path, = site.upload(['path/to/my/icon.png'])
        # page['meta'] = ui.meta_card(box='', icon=icon_path)
        page['example'] = ui.markdown_card(
        box='1 1 2 2',
        title='',
        content='<a href="/demo" target="_blank">Open this page in a new window</a> to view its icon.',
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  iconmeta

        + + + + + + + + + + diff --git a/docs/docs/examples/meta-notification/index.html b/docs/docs/examples/meta-notification/index.html index 72f03cb265..22fba48734 100644 --- a/docs/docs/examples/meta-notification/index.html +++ b/docs/docs/examples/meta-notification/index.html @@ -4,51 +4,40 @@ + - Meta / Notification | H2O Wave - - - - - - - - - - - - - - - - + Meta / Notification | H2O Wave + + + + + + + + + +
        -

        Meta / Notification

        Display a desktop notification.

        import time
        +

        Meta / Notification

        Display a desktop notification.

        import time
        from h2o_wave import site, ui
        page = site['/demo']
        page['meta'] = ui.meta_card(box='')
        page['example'] = ui.markdown_card(
        box='1 1 2 2',
        title='Desktop Notifications',
        content='This page should display a desktop notification in a few seconds. Wait for it...',
        )
        page.save()
        time.sleep(5)
        page['meta'].notification = 'And now for something completely different!'
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  metanotification

        + + + + + + + + + + diff --git a/docs/docs/examples/meta-redirect/index.html b/docs/docs/examples/meta-redirect/index.html index 1ca199a3f6..6e0f319083 100644 --- a/docs/docs/examples/meta-redirect/index.html +++ b/docs/docs/examples/meta-redirect/index.html @@ -4,51 +4,40 @@ + - Meta / Redirect | H2O Wave - - - - - - - - - - - - - - - - + Meta / Redirect | H2O Wave + + + + + + + + + +
        -

        Meta / Redirect

        Redirect the page to a new URL or hash.

        import time
        +

        Meta / Redirect

        Redirect the page to a new URL or hash.

        import time
        from h2o_wave import site, ui
        page = site['/demo']
        page['meta'] = ui.meta_card(box='')
        page['example'] = ui.markdown_card(
        box='1 1 2 2',
        title='Redirect a page',
        content='This page should redirect to Wikipedia in a few seconds. Wait for it...',
        )
        page.save()
        time.sleep(3)
        # Redirect to a hash.
        page['meta'].redirect = '#widgets'
        page.save()
        -
        time.sleep(3)
        # Redirect to a URL.
        page['meta'].redirect = 'https://www.wikipedia.org'
        page.save()
        - - - - - - - - - - - - - - - - +
        time.sleep(3)
        # Redirect to a URL.
        page['meta'].redirect = 'https://www.wikipedia.org'
        page.save()

        Tags:  metaredirect

        + + + + + + + + + + diff --git a/docs/docs/examples/meta-refresh/index.html b/docs/docs/examples/meta-refresh/index.html index 3e14b2006a..1ea2465c8b 100644 --- a/docs/docs/examples/meta-refresh/index.html +++ b/docs/docs/examples/meta-refresh/index.html @@ -4,49 +4,38 @@ + - Meta / Refresh | H2O Wave - - - - - - - - - - - - - - - - + Meta / Refresh | H2O Wave + + + + + + + + + +
        -

        Meta / Refresh

        Turn off live updates for static pages to conserve server resources.

        from h2o_wave import site, ui
        +

        Meta / Refresh

        Turn off live updates for static pages to conserve server resources.

        from h2o_wave import site, ui
        page = site['/demo']
        # Set refresh rate to zero ("no updates")
        page['meta'] = ui.meta_card(box='', refresh=0)
        page['example'] = ui.markdown_card(
        box='1 1 2 2',
        title='No updates for you',
        content='This page stops receiving updates once loaded.',
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  metarefresh

        + + + + + + + + + + diff --git a/docs/docs/examples/meta-title/index.html b/docs/docs/examples/meta-title/index.html index 2aa983dfb5..7cd957b15e 100644 --- a/docs/docs/examples/meta-title/index.html +++ b/docs/docs/examples/meta-title/index.html @@ -4,49 +4,38 @@ + - Meta / Title | H2O Wave - - - - - - - - - - - - - - - - + Meta / Title | H2O Wave + + + + + + + + + +
        -

        Meta / Title

        Set the browser window title for a page

        from h2o_wave import site, ui
        +

        Meta / Title

        Set the browser window title for a page.

        from h2o_wave import site, ui
        page = site['/demo']
        page['meta'] = ui.meta_card(box='', title='And now for something completely different!')
        page['example'] = ui.markdown_card(
        box='1 1 2 2',
        title='',
        content='<a href="/demo" target="_blank">Open this page in a new window</a> to view its title.',
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  meta

        + + + + + + + + + + diff --git a/docs/docs/examples/nav/index.html b/docs/docs/examples/nav/index.html index b7dc967283..25d8469cb5 100644 --- a/docs/docs/examples/nav/index.html +++ b/docs/docs/examples/nav/index.html @@ -4,47 +4,36 @@ + - Nav | H2O Wave - - - - - - - - - - - - - - - - + Nav | H2O Wave + + + + + + + + + +
        -

        Nav

        Use nav cards to display sidebar navigation.

        from h2o_wave import main, app, Q, ui
        +

        Nav

        Use nav cards to display sidebar navigation.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if '#' in q.args:
        hash_ = q.args['#']
        q.page['nav'] = ui.form_card(box='1 1 2 5', items=[
        ui.text(f'#={hash_}'),
        ui.button(name='show_nav', label='Back', primary=True),
        ])
        else:
        q.page['nav'] = ui.nav_card(
        box='1 1 2 5',
        value='#menu/spam',
        items=[
        ui.nav_group('Menu', items=[
        ui.nav_item(name='#menu/spam', label='Spam'),
        ui.nav_item(name='#menu/ham', label='Ham'),
        ui.nav_item(name='#menu/eggs', label='Eggs'),
        ]),
        ui.nav_group('Help', items=[
        ui.nav_item(name='#about', label='About', icon='Info'),
        ui.nav_item(name='#support', label='Support', icon='Help'),
        ])
        ],
        )
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if '#' in q.args:
        hash_ = q.args['#']
        q.page['nav'] = ui.form_card(box='1 1 2 5', items=[
        ui.text(f'#={hash_}'),
        ui.button(name='show_nav', label='Back', primary=True),
        ])
        else:
        q.page['nav'] = ui.nav_card(
        box='1 1 2 5',
        value='#menu/spam',
        items=[
        ui.nav_group('Menu', items=[
        ui.nav_item(name='#menu/spam', label='Spam'),
        ui.nav_item(name='#menu/ham', label='Ham'),
        ui.nav_item(name='#menu/eggs', label='Eggs'),
        ui.nav_item(name='#menu/toast', label='Toast', disabled=True),
        ]),
        ui.nav_group('Help', items=[
        ui.nav_item(name='#about', label='About', icon='Info'),
        ui.nav_item(name='#support', label='Support', icon='Help'),
        ])
        ],
        )
        await q.page.save()

        Tags:  navigationsidebar

        + + + + + + + + + + diff --git a/docs/docs/examples/picker-selection/index.html b/docs/docs/examples/picker-selection/index.html index 984b91361f..966464ef2a 100644 --- a/docs/docs/examples/picker-selection/index.html +++ b/docs/docs/examples/picker-selection/index.html @@ -4,47 +4,36 @@ + - Form / Picker / Selection | H2O Wave - - - - - - - - - - - - - - - - + Form / Picker / Selection | H2O Wave + + + + + + + + + +
        -

        Form / Picker / Selection

        Pre-select choices while displaying a picker.

        from h2o_wave import main, app, Q, ui
        +

        Form / Picker / Selection

        Pre-select choices while displaying a picker.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'selected={q.args.picker}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.picker(name='picker', label='Picker with initial values', choices=[
        ui.choice(name='spam', label='Spam'),
        ui.choice(name='eggs', label='Eggs'),
        ui.choice(name='ham', label='Ham'),
        ui.choice(name='cheese', label='Cheese'),
        ui.choice(name='beans', label='Beans'),
        ui.choice(name='toast', label='Toast'),
        ], values=['spam', 'eggs']),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'selected={q.args.picker}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.picker(name='picker', label='Picker with initial values', choices=[
        ui.choice(name='spam', label='Spam'),
        ui.choice(name='eggs', label='Eggs'),
        ui.choice(name='ham', label='Ham'),
        ui.choice(name='cheese', label='Cheese'),
        ui.choice(name='beans', label='Beans'),
        ui.choice(name='toast', label='Toast'),
        ], values=['spam', 'eggs']),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  choiceformpickerselection

        + + + + + + + + + + diff --git a/docs/docs/examples/picker/index.html b/docs/docs/examples/picker/index.html index a146724dad..9817284a00 100644 --- a/docs/docs/examples/picker/index.html +++ b/docs/docs/examples/picker/index.html @@ -4,47 +4,36 @@ + - Form / Picker | H2O Wave - - - - - - - - - - - - - - - - + Form / Picker | H2O Wave + + + + + + + + + +
        -

        Form / Picker

        Use pickers to allow users to select one or more choices, such as tags or files, from a list.

        from h2o_wave import main, app, Q, ui
        +

        Form / Picker

        Use pickers to allow users to select one or more choices, such as tags or files, from a list.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'selected={q.args.picker}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.picker(name='picker', label='Place an order (try Spam, Eggs or Ham):', choices=[
        ui.choice(name='spam', label='Spam'),
        ui.choice(name='eggs', label='Eggs'),
        ui.choice(name='ham', label='Ham'),
        ui.choice(name='cheese', label='Cheese'),
        ui.choice(name='beans', label='Beans'),
        ui.choice(name='toast', label='Toast'),
        ], values='eggs'),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'selected={q.args.picker}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.picker(name='picker', label='Place an order (try Spam, Eggs or Ham):', choices=[
        ui.choice(name='spam', label='Spam'),
        ui.choice(name='eggs', label='Eggs'),
        ui.choice(name='ham', label='Ham'),
        ui.choice(name='cheese', label='Cheese'),
        ui.choice(name='beans', label='Beans'),
        ui.choice(name='toast', label='Toast'),
        ], values='eggs'),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  choiceformpicker

        + + + + + + + + + + diff --git a/docs/docs/examples/pixel-art/index.html b/docs/docs/examples/pixel-art/index.html index 7b80520573..437f554335 100644 --- a/docs/docs/examples/pixel-art/index.html +++ b/docs/docs/examples/pixel-art/index.html @@ -4,48 +4,37 @@ + - Pixel Art | H2O Wave - - - - - - - - - - - - - - - - + Pixel Art | H2O Wave + + + + + + + + + +
        -

        Pixel Art

        A card that demonstrates collaborative editing in Q. +

        Pixel Art

        A card that demonstrates collaborative editing in Wave. Open /demo in multiple browsers and watch them synchronize in realtime.

        from h2o_wave import site, data, ui
        page = site['/demo']
        page.drop()
        -
        page.add('example', ui.pixel_art_card(
        box='1 1 4 6',
        title='Art',
        data=data('color', 16 * 16),
        ))
        page.save()
        - - - - - - - - - - - - - - - - +
        page.add('example', ui.pixel_art_card(
        box='1 1 4 6',
        title='Art',
        data=data('color', 16 * 16),
        ))
        page.save()

        Tags:  collaboration

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-altair/index.html b/docs/docs/examples/plot-altair/index.html index 356f1aaec1..d6d184d987 100644 --- a/docs/docs/examples/plot-altair/index.html +++ b/docs/docs/examples/plot-altair/index.html @@ -4,49 +4,38 @@ + - Plot / Altair | H2O Wave - - - - - - - - - - - - - - - - + Plot / Altair | H2O Wave + + + + + + + + + +
        -

        Plot / Altair

        Use Altair to create plot specifications for the Vega card.

        import altair
        from vega_datasets import data
        from h2o_wave import site, ui
        +

        Plot / Altair

        Use Altair to create plot specifications for the Vega card.

        import altair
        from vega_datasets import data
        from h2o_wave import site, ui
        spec = altair.Chart(data.cars()).mark_circle(size=60).encode(
        x='Horsepower',
        y='Miles_per_Gallon',
        color='Origin',
        tooltip=['Name', 'Origin', 'Horsepower', 'Miles_per_Gallon']
        ).properties(width='container', height='container').interactive().to_json()
        page = site['/demo']
        page['example'] = ui.vega_card(
        box='1 1 4 5',
        title='Altair Example',
        specification=spec,
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  altairplotvega

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-app/index.html b/docs/docs/examples/plot-app/index.html index 3e6aca291b..6ebb4a0cda 100644 --- a/docs/docs/examples/plot-app/index.html +++ b/docs/docs/examples/plot-app/index.html @@ -4,48 +4,37 @@ + - Plot / App | H2O Wave - - - - - - - - - - - - - - - - + Plot / App | H2O Wave + + + + + + + + + +
        -

        Plot / App

        Make a plot from an app.

        from .synth import FakeMultiCategoricalSeries as F
        from h2o_wave import main, app, data, Q, ui
        +

        Plot / App

        Make a plot from an app.

        from .synth import FakeMultiCategoricalSeries as F
        from h2o_wave import main, app, data, Q, ui
        n = 10
        k = 5
        f = F(groups=k)
        values = [(g, t, x) for x in [f.next() for _ in range(n)] for g, t, x, dx in x]
        -
        @app('/demo')
        async def serve(q: Q):
        v = q.page.add('example', ui.plot_card(
        box='1 1 4 6',
        title='Intervals, stacked',
        data=data('country product price', n * k),
        plot=ui.plot([ui.mark(
        coord='rect',
        type='interval',
        x='=product',
        y='=price',
        y_min=0,
        color='=country',
        stack='auto',
        )]),
        ))
        v.data = values
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        v = q.page.add('example', ui.plot_card(
        box='1 1 4 6',
        title='Intervals, stacked',
        data=data('country product price', n * k),
        plot=ui.plot([ui.mark(
        coord='rect',
        type='interval',
        x='=product',
        y='=price',
        y_min=0,
        color='=country',
        stack='auto',
        )]),
        ))
        v.data = values
        await q.page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-area-groups/index.html b/docs/docs/examples/plot-area-groups/index.html index b6394ed523..fc9b1fff00 100644 --- a/docs/docs/examples/plot-area-groups/index.html +++ b/docs/docs/examples/plot-area-groups/index.html @@ -4,49 +4,38 @@ + - Plot / Area / Groups | H2O Wave - - - - - - - - - - - - - - - - + Plot / Area / Groups | H2O Wave + + + + + + + + + +
        -

        Plot / Area / Groups

        Make an area plot showing multiple categories.

        from synth import FakeMultiTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Area / Groups

        Make an area plot showing multiple categories.

        from synth import FakeMultiTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeMultiTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Area, groups',
        data=data('product date price', n * 5),
        plot=ui.plot([ui.mark(type='area', x_scale='time', x='=date', y='=price', color='=product', y_min=0)])
        ))
        v.data = [(g, t, x) for x in [f.next() for _ in range(n)] for g, t, x, dx in x]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-area-line-groups/index.html b/docs/docs/examples/plot-area-line-groups/index.html index 590551370b..3d85384792 100644 --- a/docs/docs/examples/plot-area-line-groups/index.html +++ b/docs/docs/examples/plot-area-line-groups/index.html @@ -4,49 +4,38 @@ + - Plot / Area + Line / Groups | H2O Wave - - - - - - - - - - - - - - - - + Plot / Area + Line / Groups | H2O Wave + + + + + + + + + +
        -

        Plot / Area + Line / Groups

        Make an combined area + line plot showing multiple categories.

        from synth import FakeMultiTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Area + Line / Groups

        Make an combined area + line plot showing multiple categories.

        from synth import FakeMultiTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeMultiTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Area + Line, groups',
        data=data('product date price', n * 5),
        plot=ui.plot([
        ui.mark(type='area', x_scale='time', x='=date', y='=price', color='=product', y_min=0),
        ui.mark(type='line', x='=date', y='=price', color='=product')
        ])
        ))
        v.data = [(g, t, x) for x in [f.next() for _ in range(n)] for g, t, x, dx in x]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-area-line-smooth/index.html b/docs/docs/examples/plot-area-line-smooth/index.html index f76ac632f0..1018b218e7 100644 --- a/docs/docs/examples/plot-area-line-smooth/index.html +++ b/docs/docs/examples/plot-area-line-smooth/index.html @@ -4,48 +4,37 @@ + - Plot / Area + Line / Smooth | H2O Wave - - - - - - - - - - - - - - - - + Plot / Area + Line / Smooth | H2O Wave + + + + + + + + + +
        -

        Plot / Area + Line / Smooth

        Make a combined area + line plot using a smooth curve.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Area + Line / Smooth

        Make a combined area + line plot using a smooth curve.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Area + Line, smooth',
        data=data('date price', n),
        plot=ui.plot([
        ui.mark(type='area', x_scale='time', x='=date', y='=price', curve='smooth', y_min=0),
        ui.mark(type='line', x='=date', y='=price', curve='smooth')
        ])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-area-line/index.html b/docs/docs/examples/plot-area-line/index.html index 0b958ed265..84b4ea1894 100644 --- a/docs/docs/examples/plot-area-line/index.html +++ b/docs/docs/examples/plot-area-line/index.html @@ -4,48 +4,37 @@ + - Plot / Area + Line | H2O Wave - - - - - - - - - - - - - - - - + Plot / Area + Line | H2O Wave + + + + + + + + + +
        -

        Plot / Area + Line

        Make an area plot with an additional line layer on top.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Area + Line

        Make an area plot with an additional line layer on top.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Area + Line',
        data=data('date price', n),
        plot=ui.plot([
        ui.mark(type='area', x_scale='time', x='=date', y='=price', y_min=0),
        ui.mark(type='line', x='=date', y='=price')
        ])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-area-negative/index.html b/docs/docs/examples/plot-area-negative/index.html index 804314be45..f009b2cf9b 100644 --- a/docs/docs/examples/plot-area-negative/index.html +++ b/docs/docs/examples/plot-area-negative/index.html @@ -4,48 +4,37 @@ + - Plot / Area / Negative | H2O Wave - - - - - - - - - - - - - - - - + Plot / Area / Negative | H2O Wave + + + + + + + + + +
        -

        Plot / Area / Negative

        Make an area plot showing positive and negative values.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Area / Negative

        Make an area plot showing positive and negative values.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries(min=-50, max=50, start=0)
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Area, negative values',
        data=data('date price', n),
        plot=ui.plot([ui.mark(type='area', x_scale='time', x='=date', y='=price')])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-area-range/index.html b/docs/docs/examples/plot-area-range/index.html index b1000dc014..f29ff8b82f 100644 --- a/docs/docs/examples/plot-area-range/index.html +++ b/docs/docs/examples/plot-area-range/index.html @@ -4,49 +4,38 @@ + - Plot / Area / Range | H2O Wave - - - - - - - - - - - - - - - - + Plot / Area / Range | H2O Wave + + + + + + + + + +
        -

        Plot / Area / Range

        Make an area plot representing a range (band) of values.

        import random
        +

        Plot / Area / Range

        Make an area plot representing a range (band) of values.

        import random
        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Area, range',
        data=data('date low high', n),
        plot=ui.plot([ui.mark(type='area', x_scale='time', x='=date', y0='=low', y='=high')])
        ))
        v.data = [(t, x - random.randint(3, 8), x + random.randint(3, 8)) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-area-smooth/index.html b/docs/docs/examples/plot-area-smooth/index.html index 53ec7b99ec..381b809cc1 100644 --- a/docs/docs/examples/plot-area-smooth/index.html +++ b/docs/docs/examples/plot-area-smooth/index.html @@ -4,48 +4,37 @@ + - Plot / Area / Smooth | H2O Wave - - - - - - - - - - - - - - - - + Plot / Area / Smooth | H2O Wave + + + + + + + + + +
        -

        Plot / Area / Smooth

        Make an area plot with a smooth curve.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Area / Smooth

        Make an area plot with a smooth curve.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Area, smooth',
        data=data('date price', n),
        plot=ui.plot([ui.mark(type='area', x_scale='time', x='=date', y='=price', curve='smooth', y_min=0)])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-area-stacked/index.html b/docs/docs/examples/plot-area-stacked/index.html index 1940849848..88c75a4aee 100644 --- a/docs/docs/examples/plot-area-stacked/index.html +++ b/docs/docs/examples/plot-area-stacked/index.html @@ -4,49 +4,38 @@ + - Plot / Area / Stacked | H2O Wave - - - - - - - - - - - - - - - - + Plot / Area / Stacked | H2O Wave + + + + + + + + + +
        -

        Plot / Area / Stacked

        Make a stacked area plot.

        from synth import FakeMultiTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Area / Stacked

        Make a stacked area plot.

        from synth import FakeMultiTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeMultiTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Area, stacked',
        data=data('product date price', n * 5),
        plot=ui.plot(
        [ui.mark(type='area', x_scale='time', x='=date', y='=price', color='=product', stack='auto', y_min=0)])
        ))
        v.data = [(g, t, x) for x in [f.next() for _ in range(n)] for g, t, x, dx in x]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plotstacked

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-area/index.html b/docs/docs/examples/plot-area/index.html index 0d122ed2bb..c92b0e4a5d 100644 --- a/docs/docs/examples/plot-area/index.html +++ b/docs/docs/examples/plot-area/index.html @@ -4,48 +4,37 @@ + - Plot / Area | H2O Wave - - - - - - - - - - - - - - - - + Plot / Area | H2O Wave + + + + + + + + + +
        -

        Plot / Area

        Make an area plot.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Area

        Make an area plot.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Area',
        data=data('date price', n),
        plot=ui.plot([ui.mark(type='area', x_scale='time', x='=date', y='=price', y_min=0)])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-axis-title/index.html b/docs/docs/examples/plot-axis-title/index.html index 547f395071..49d93d1d0f 100644 --- a/docs/docs/examples/plot-axis-title/index.html +++ b/docs/docs/examples/plot-axis-title/index.html @@ -4,48 +4,37 @@ + - Plot / Axis Titles | H2O Wave - - - - - - - - - - - - - - - - + Plot / Axis Titles | H2O Wave + + + + + + + + + +
        -

        Plot / Axis Titles

        Display custom axis titles on a plot.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Axis Titles

        Display custom axis titles on a plot.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Line',
        data=data('date price', n),
        plot=ui.plot(
        [ui.mark(type='line', x_scale='time', x='=date', y='=price', y_min=0, x_title='Date', y_title='Price')])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-bokeh/index.html b/docs/docs/examples/plot-bokeh/index.html index f92b3879d1..1f46ddf5e5 100644 --- a/docs/docs/examples/plot-bokeh/index.html +++ b/docs/docs/examples/plot-bokeh/index.html @@ -4,49 +4,38 @@ + - Plot / Bokeh | H2O Wave - - - - - - - - - - - - - - - - + Plot / Bokeh | H2O Wave + + + + + + + + + +
        -

        Plot / Bokeh

        Use Bokeh to create plots.

        import numpy as np
        from bokeh.models import HoverTool
        from bokeh.plotting import figure
        from bokeh.resources import CDN
        from bokeh.embed import file_html
        +

        Plot / Bokeh

        Use Bokeh to create plots.

        import numpy as np
        from bokeh.models import HoverTool
        from bokeh.plotting import figure
        from bokeh.resources import CDN
        from bokeh.embed import file_html
        from h2o_wave import site, ui
        n = 500
        x = 2 + 2 * np.random.standard_normal(n)
        y = 2 + 2 * np.random.standard_normal(n)
        p = figure(
        match_aspect=True,
        tools="wheel_zoom,reset",
        background_fill_color='#440154',
        sizing_mode='stretch_both'
        )
        p.grid.visible = False
        r, bins = p.hexbin(x, y, size=0.5, hover_color="pink", hover_alpha=0.8)
        p.circle(x, y, color="white", size=1)
        p.add_tools(HoverTool(
        tooltips=[("count", "@c"), ("(q,r)", "(@q, @r)")],
        mode="mouse",
        point_policy="follow_mouse",
        renderers=[r]
        ))
        # Export html for our frame card
        html = file_html(p, CDN, "plot")
        -
        page = site['/demo']
        page['example'] = ui.frame_card(
        box='1 1 5 8',
        title='Hexbin for 500 points',
        content=html,
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        page = site['/demo']
        page['example'] = ui.frame_card(
        box='1 1 5 8',
        title='Hexbin for 500 points',
        content=html,
        )
        page.save()

        Tags:  bokehplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-d3/index.html b/docs/docs/examples/plot-d3/index.html index 60c3a25ae4..94891e1827 100644 --- a/docs/docs/examples/plot-d3/index.html +++ b/docs/docs/examples/plot-d3/index.html @@ -4,51 +4,40 @@ + - Plot / D3.js | H2O Wave - - - - - - - - - - - - - - - - + Plot / D3.js | H2O Wave + + + + + + + + + +
        -

        Plot / D3.js

        Create custom plots using D3.js.

        import json
        import os.path
        from h2o_wave import site, ui
        +

        Plot / D3.js

        Create custom plots using D3.js.

        import json
        import os.path
        from h2o_wave import site, ui
        # The example D3 Javascript file is located in the same directory as this example; get its path
        d3_js_script_filename = os.path.join(os.path.dirname(__file__), 'plot_d3.js')
        # Upload the script to the server. Typically, you'd do this only once, when your app is installed.
        d3_js_script_path, = site.upload([d3_js_script_filename])
        html_template = '''
        <!DOCTYPE html>
        <html>
        <head>
        <script src="https://d3js.org/d3.v5.min.js"></script>
        </head>
        <body style="margin:0; padding:0">
        <script src="{script_path}"></script>
        <script>render({data})</script>
        </body>
        </html>
        '''
        # This data is hard-coded here for simplicity.
        # During production use, this data would be the output of some compute routine.
        data = [
        [11975, 5871, 8916, 2868],
        [1951, 10048, 2060, 6171],
        [8010, 16145, 8090, 8045],
        [1013, 990, 940, 6907],
        ]
        # Plug JSON-serialized data into our html template
        html = html_template.format(script_path=d3_js_script_path, data=json.dumps(data))
        -
        page = site['/demo']
        page['example'] = ui.frame_card(
        box='1 1 5 8',
        title='D3 Chord Diagram',
        content=html,
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        page = site['/demo']
        page['example'] = ui.frame_card(
        box='1 1 5 8',
        title='D3 Chord Diagram',
        content=html,
        )
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-events/index.html b/docs/docs/examples/plot-events/index.html index 689a47edef..28e86b17d1 100644 --- a/docs/docs/examples/plot-events/index.html +++ b/docs/docs/examples/plot-events/index.html @@ -4,48 +4,37 @@ + - Plot / Events | H2O Wave - - - - - - - - - - - - - - - - + Plot / Events | H2O Wave + + + + + + + + + +
        -

        Plot / Events

        Handle events on a plot card

        from h2o_wave import main, app, Q, ui, data
        +

        Plot / Events

        Handle events on a plot card.

        from h2o_wave import main, app, Q, ui, data
        @app('/demo')
        async def serve(q: Q):
        if not q.client.initialized:
        q.client.initialized = True
        q.page['pricing'] = ui.plot_card(
        box='1 1 4 5',
        title='Interval',
        data=data(fields='product price', rows=[
        ['spam', 1.49],
        ['eggs', 2.49],
        ['ham', 1.99],
        ], pack=True),
        plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', y_min=0)]),
        events=['select_marks']
        )
        q.page['details'] = ui.markdown_card(
        box='1 6 4 2',
        title='Selected Product',
        content='Nothing selected.',
        )
        else:
        if q.events.pricing:
        q.page['details'].content = f'You selected {q.events.pricing.select_marks}'
        -
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        await q.page.save()

        Tags:  eventsplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-form/index.html b/docs/docs/examples/plot-form/index.html index 40ac51d5bd..fd1fd89468 100644 --- a/docs/docs/examples/plot-form/index.html +++ b/docs/docs/examples/plot-form/index.html @@ -4,48 +4,37 @@ + - Plot / Form | H2O Wave - - - - - - - - - - - - - - - - + Plot / Form | H2O Wave + + + + + + + + + +
        -

        Plot / Form

        Display a plot inside a form.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Form

        Display a plot inside a form.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 20
        f = FakeCategoricalSeries()
        v = page.add('example', ui.form_card(
        box='1 1 4 5',
        items=[
        ui.text_xl('Example 1'),
        ui.visualization(
        plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', y_min=0)]),
        data=data(fields='product price', rows=[(c, x) for c, x, _ in [f.next() for _ in range(n)]], pack=True),
        ),
        ui.text_xl('Example 2'),
        ui.visualization(
        plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', y_min=0)]),
        data=data(fields='product price', rows=[(c, x) for c, x, _ in [f.next() for _ in range(n)]], pack=True),
        ),
        ],
        ))
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  formplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-histogram/index.html b/docs/docs/examples/plot-histogram/index.html index b49f90d5a5..c72667f5d3 100644 --- a/docs/docs/examples/plot-histogram/index.html +++ b/docs/docs/examples/plot-histogram/index.html @@ -4,48 +4,37 @@ + - Plot / Histogram | H2O Wave - - - - - - - - - - - - - - - - + Plot / Histogram | H2O Wave + + + + + + + + + +
        -

        Plot / Histogram

        Make a histogram.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Histogram

        Make a histogram.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 10
        f = FakeCategoricalSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Histogram',
        data=data('lo hi price', n),
        plot=ui.plot([ui.mark(type='interval', y='=price', x1='=lo', x2='=hi', y_min=0)])
        ))
        v.data = [(i * 10, i * 10 + 10, x) for i, (c, x, dx) in enumerate([f.next() for _ in range(n)])]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  histogramplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-annotation-transpose/index.html b/docs/docs/examples/plot-interval-annotation-transpose/index.html index 46fc7e4daf..3592400e14 100644 --- a/docs/docs/examples/plot-interval-annotation-transpose/index.html +++ b/docs/docs/examples/plot-interval-annotation-transpose/index.html @@ -4,48 +4,37 @@ + - Plot / Interval / Annotation / Transpose | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Annotation / Transpose | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Annotation / Transpose

        Add annotations to a bar plot.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Annotation / Transpose

        Add annotations to a bar plot.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 20
        f = FakeCategoricalSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Categorical-Numeric',
        data=data('product price', n),
        plot=ui.plot([
        ui.mark(type='interval', y='=product', x='=price', x_min=0, x_max=100),
        ui.mark(y='C10', x=80, label='point'),
        ui.mark(y='C13', label='vertical line'),
        ui.mark(x=40, label='horizontal line'),
        ui.mark(y='C6', y0='C3', label='vertical region'),
        ui.mark(x=70, x0=60, label='horizontal region')
        ])
        ))
        v.data = [(c, x) for c, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  annotationintervalplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-annotation/index.html b/docs/docs/examples/plot-interval-annotation/index.html index f53864c748..618e85c85a 100644 --- a/docs/docs/examples/plot-interval-annotation/index.html +++ b/docs/docs/examples/plot-interval-annotation/index.html @@ -4,48 +4,37 @@ + - Plot / Interval / Annotation | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Annotation | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Annotation

        Add annotations to a column plot.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Annotation

        Add annotations to a column plot.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 20
        f = FakeCategoricalSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Categorical-Numeric',
        data=data('product price', n),
        plot=ui.plot([
        ui.mark(type='interval', x='=product', y='=price', y_min=0, y_max=100),
        ui.mark(x='C10', y=80, label='point'),
        ui.mark(x='C13', label='vertical line'),
        ui.mark(y=40, label='horizontal line'),
        ui.mark(x='C6', x0='C3', label='vertical region'),
        ui.mark(y=70, y0=60, label='horizontal region')
        ])
        ))
        v.data = [(c, x) for c, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  annotationintervalplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-groups-transpose/index.html b/docs/docs/examples/plot-interval-groups-transpose/index.html index c7c08d9971..b953805b08 100644 --- a/docs/docs/examples/plot-interval-groups-transpose/index.html +++ b/docs/docs/examples/plot-interval-groups-transpose/index.html @@ -4,49 +4,38 @@ + - Plot / Interval / Groups / Transpose | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Groups / Transpose | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Groups / Transpose

        Make a grouped bar plot.

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Groups / Transpose

        Make a grouped bar plot.

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 10
        k = 3
        f = FakeMultiCategoricalSeries(groups=k)
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Intervals, groups',
        data=data('country product price', n * k),
        plot=ui.plot([ui.mark(type='interval', x='=price', y='=product', color='=country', dodge='auto', y_min=0)])
        ))
        v.data = [(g, t, x) for x in [f.next() for _ in range(n)] for g, t, x, dx in x]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-groups/index.html b/docs/docs/examples/plot-interval-groups/index.html index 34a0d62fc6..4680864b85 100644 --- a/docs/docs/examples/plot-interval-groups/index.html +++ b/docs/docs/examples/plot-interval-groups/index.html @@ -4,49 +4,38 @@ + - Plot / Interval / Groups | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Groups | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Groups

        Make a grouped column plot.

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Groups

        Make a grouped column plot.

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 10
        k = 3
        f = FakeMultiCategoricalSeries(groups=k)
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Intervals, groups',
        data=data('country product price', n * k),
        plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', color='=country', dodge='auto', y_min=0)])
        ))
        v.data = [(g, t, x) for x in [f.next() for _ in range(n)] for g, t, x, dx in x]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-helix/index.html b/docs/docs/examples/plot-interval-helix/index.html index b9812a013e..c73adcf158 100644 --- a/docs/docs/examples/plot-interval-helix/index.html +++ b/docs/docs/examples/plot-interval-helix/index.html @@ -4,48 +4,37 @@ + - Plot / Interval / Helix | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Helix | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Helix

        Make a bar plot in helical coordinates.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Helix

        Make a bar plot in helical coordinates.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 200
        f = FakeCategoricalSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Interval, helix',
        data=data('product price', n),
        plot=ui.plot([ui.mark(coord='helix', type='interval', x='=product', y='=price', y_min=0)])
        ))
        v.data = [(c, x) for c, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-labels/index.html b/docs/docs/examples/plot-interval-labels/index.html index 5cba7e44e0..db709701d3 100644 --- a/docs/docs/examples/plot-interval-labels/index.html +++ b/docs/docs/examples/plot-interval-labels/index.html @@ -4,48 +4,37 @@ + - Plot / Interval / Labels | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Labels | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Labels

        Make a column plot with labels on each bar.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Labels

        Make a column plot with labels on each bar.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 20
        f = FakeCategoricalSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Label Customization',
        data=data('product price', n),
        plot=ui.plot([
        ui.mark(type='interval', x='=product',
        y='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}', y_min=0,
        color='#333333',
        label='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        label_offset=0, label_position='middle', label_rotation='-90', label_fill_color='#fff',
        label_font_weight='bold')])
        ))
        v.data = [(c, x) for c, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-polar-stacked/index.html b/docs/docs/examples/plot-interval-polar-stacked/index.html index fe6f139351..c90999db7d 100644 --- a/docs/docs/examples/plot-interval-polar-stacked/index.html +++ b/docs/docs/examples/plot-interval-polar-stacked/index.html @@ -4,49 +4,38 @@ + - Plot / Interval / Polar / Stacked | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Polar / Stacked | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Polar / Stacked

        Make a stacked rose plot (a stacked bar plot in polar coordinates).

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Polar / Stacked

        Make a stacked rose plot (a stacked bar plot in polar coordinates).

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 10
        k = 5
        f = FakeMultiCategoricalSeries(groups=k)
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Intervals, polar, stacked',
        data=data('country product price', n * k),
        plot=ui.plot([
        ui.mark(coord='polar', type='interval', x='=product', y='=price', color='=country', stack='auto', y_min=0)])
        ))
        v.data = [(g, t, x) for x in [f.next() for _ in range(n)] for g, t, x, dx in x]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplotstacked

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-polar/index.html b/docs/docs/examples/plot-interval-polar/index.html index 32cd5c863a..da4494893d 100644 --- a/docs/docs/examples/plot-interval-polar/index.html +++ b/docs/docs/examples/plot-interval-polar/index.html @@ -4,48 +4,37 @@ + - Plot / Interval / Polar | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Polar | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Polar

        Make a rose plot (a bar plot in polar coordinates).

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Polar

        Make a rose plot (a bar plot in polar coordinates).

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 24
        f = FakeCategoricalSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Interval, polar',
        data=data('product price', n),
        plot=ui.plot([ui.mark(coord='polar', type='interval', x='=product', y='=price', y_min=0)])
        ))
        v.data = [(c, x) for c, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-range-transpose/index.html b/docs/docs/examples/plot-interval-range-transpose/index.html index 3ad792add5..9f987c248b 100644 --- a/docs/docs/examples/plot-interval-range-transpose/index.html +++ b/docs/docs/examples/plot-interval-range-transpose/index.html @@ -4,49 +4,38 @@ + - Plot / Interval / Range / Transpose | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Range / Transpose | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Range / Transpose

        Make a bar plot with each bar representing high/low (or start/end) values. Transposing this produces a gantt plot.

        import random
        +

        Plot / Interval / Range / Transpose

        Make a bar plot with each bar representing high/low (or start/end) values. Transposing this produces a gantt plot.

        import random
        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 20
        f = FakeCategoricalSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Interval, range',
        data=data('product low high', n),
        plot=ui.plot([ui.mark(type='interval', x0='=low', x='=high', y='=product', )])
        ))
        v.data = [(c, x - random.randint(3, 10), x + random.randint(3, 10)) for c, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-range/index.html b/docs/docs/examples/plot-interval-range/index.html index aa3f1fe0e3..285cb35ca7 100644 --- a/docs/docs/examples/plot-interval-range/index.html +++ b/docs/docs/examples/plot-interval-range/index.html @@ -4,49 +4,39 @@ + - Plot / Interval / Range | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Range | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Range

        Make a column plot with each bar representing high/low (or start/end) values. Transposing this produces a gantt plot.

        import random
        +

        Plot / Interval / Range

        Make a column plot with each bar representing high/low (or start/end) values. +Transposing this produces a gantt plot.

        import random
        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 20
        f = FakeCategoricalSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Interval, range',
        data=data('product low high', n),
        plot=ui.plot([ui.mark(type='interval', x='=product', y0='=low', y='=high')])
        ))
        v.data = [(c, x - random.randint(3, 10), x + random.randint(3, 10)) for c, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplotrange

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-stacked-grouped-transpose/index.html b/docs/docs/examples/plot-interval-stacked-grouped-transpose/index.html index 2e9f21e0eb..e85ea94b99 100644 --- a/docs/docs/examples/plot-interval-stacked-grouped-transpose/index.html +++ b/docs/docs/examples/plot-interval-stacked-grouped-transpose/index.html @@ -4,49 +4,38 @@ + - Plot / Interval / Stacked / Grouped / Transpose | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Stacked / Grouped / Transpose | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Stacked / Grouped / Transpose

        Make a bar plot with both stacked and grouped bars.

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Stacked / Grouped / Transpose

        Make a bar plot with both stacked and grouped bars.

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 5
        k = 5
        f1 = FakeMultiCategoricalSeries(groups=k)
        f2 = FakeMultiCategoricalSeries(groups=k)
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Intervals, stacked and dodged',
        data=data('category country product price', n * k * 2),
        plot=ui.plot([
        ui.mark(type='interval', x='=price', y='=product', color='=country', stack='auto', dodge='=category', x_min=0)])
        ))
        data1 = [('A', g, t, x) for x in [f1.next() for _ in range(n)] for g, t, x, _ in x]
        data2 = [('B', g, t, x) for x in [f2.next() for _ in range(n)] for g, t, x, _ in x]
        v.data = data1 + data2
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplotstacked

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-stacked-grouped/index.html b/docs/docs/examples/plot-interval-stacked-grouped/index.html index 9e20557c4f..644193c34a 100644 --- a/docs/docs/examples/plot-interval-stacked-grouped/index.html +++ b/docs/docs/examples/plot-interval-stacked-grouped/index.html @@ -4,49 +4,38 @@ + - Plot / Interval / Stacked / Grouped | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Stacked / Grouped | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Stacked / Grouped

        Make a column plot with both stacked and grouped bars.

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Stacked / Grouped

        Make a column plot with both stacked and grouped bars.

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 5
        k = 5
        f1 = FakeMultiCategoricalSeries(groups=k)
        f2 = FakeMultiCategoricalSeries(groups=k)
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Intervals, stacked and dodged',
        data=data('category country product price', n * k * 2),
        plot=ui.plot([
        ui.mark(type='interval', x='=product', y='=price', color='=country', stack='auto', dodge='=category', y_min=0)])
        ))
        data1 = [('A', g, t, x) for x in [f1.next() for _ in range(n)] for g, t, x, _ in x]
        data2 = [('B', g, t, x) for x in [f2.next() for _ in range(n)] for g, t, x, _ in x]
        v.data = data1 + data2
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplotstacked

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-stacked-transpose/index.html b/docs/docs/examples/plot-interval-stacked-transpose/index.html index 081e3d5f7c..f0f59fcdde 100644 --- a/docs/docs/examples/plot-interval-stacked-transpose/index.html +++ b/docs/docs/examples/plot-interval-stacked-transpose/index.html @@ -4,49 +4,38 @@ + - Plot / Interval / Stacked / Transpose | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Stacked / Transpose | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Stacked / Transpose

        Make a stacked bar plot.

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Stacked / Transpose

        Make a stacked bar plot.

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 10
        k = 5
        f = FakeMultiCategoricalSeries(groups=k)
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Intervals, stacked',
        data=data('country product price', n * k),
        plot=ui.plot([ui.mark(type='interval', x='=price', y='=product', color='=country', stack='auto', y_min=0)])
        ))
        v.data = [(g, t, x) for x in [f.next() for _ in range(n)] for g, t, x, dx in x]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplotstacked

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-stacked/index.html b/docs/docs/examples/plot-interval-stacked/index.html index dfb6e576b5..e1804ed244 100644 --- a/docs/docs/examples/plot-interval-stacked/index.html +++ b/docs/docs/examples/plot-interval-stacked/index.html @@ -4,49 +4,38 @@ + - Plot / Interval / Stacked | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Stacked | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Stacked

        Make a stacked column plot.

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Stacked

        Make a stacked column plot.

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 10
        k = 5
        f = FakeMultiCategoricalSeries(groups=k)
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Intervals, stacked',
        data=data('country product price', n * k),
        plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', color='=country', stack='auto', y_min=0)])
        ))
        v.data = [(g, t, x) for x in [f.next() for _ in range(n)] for g, t, x, dx in x]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplotstacked

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-theta/index.html b/docs/docs/examples/plot-interval-theta/index.html index 5fae2e74c3..fd83118f9f 100644 --- a/docs/docs/examples/plot-interval-theta/index.html +++ b/docs/docs/examples/plot-interval-theta/index.html @@ -4,48 +4,37 @@ + - Plot / Interval / Theta | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Theta | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Theta

        Make a "racetrack" plot (a bar plot in polar coordinates, transposed).

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Theta

        Make a "racetrack" plot (a bar plot in polar coordinates, transposed).

        from synth import FakeMultiCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 10
        k = 5
        f = FakeMultiCategoricalSeries(groups=k)
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Intervals, theta, stacked',
        data=data('country product price', n * k),
        plot=ui.plot([
        ui.mark(coord='theta', type='interval', x='=product', y='=price', color='=country', stack='auto', y_min=0)])
        ))
        v.data = [(g, t, x) for x in [f.next() for _ in range(n)] for g, t, x, dx in x]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval-transpose/index.html b/docs/docs/examples/plot-interval-transpose/index.html index cea5332663..3efdd751ff 100644 --- a/docs/docs/examples/plot-interval-transpose/index.html +++ b/docs/docs/examples/plot-interval-transpose/index.html @@ -4,48 +4,37 @@ + - Plot / Interval / Transpose | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval / Transpose | H2O Wave + + + + + + + + + +
        -

        Plot / Interval / Transpose

        Make a bar plot.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval / Transpose

        Make a bar plot.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 20
        f = FakeCategoricalSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Interval',
        data=data('product price', n),
        plot=ui.plot([ui.mark(type='interval', x='=price', y='=product', y_min=0)])
        ))
        v.data = [(c, x) for c, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-interval/index.html b/docs/docs/examples/plot-interval/index.html index 9643b1eabf..f270571f8f 100644 --- a/docs/docs/examples/plot-interval/index.html +++ b/docs/docs/examples/plot-interval/index.html @@ -4,48 +4,37 @@ + - Plot / Interval | H2O Wave - - - - - - - - - - - - - - - - + Plot / Interval | H2O Wave + + + + + + + + + +
        -

        Plot / Interval

        Make a column plot.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        +

        Plot / Interval

        Make a column plot.

        from synth import FakeCategoricalSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 20
        f = FakeCategoricalSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Interval',
        data=data('product price', n),
        plot=ui.plot([ui.mark(type='interval', x='=product', y='=price', y_min=0)])
        ))
        v.data = [(c, x) for c, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  intervalplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-line-annotation/index.html b/docs/docs/examples/plot-line-annotation/index.html index 21977def5d..1da2599cc4 100644 --- a/docs/docs/examples/plot-line-annotation/index.html +++ b/docs/docs/examples/plot-line-annotation/index.html @@ -4,48 +4,37 @@ + - Plot / Line / Annotation | H2O Wave - - - - - - - - - - - - - - - - + Plot / Line / Annotation | H2O Wave + + + + + + + + + +
        -

        Plot / Line / Annotation

        Add annotations to a line plot.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Line / Annotation

        Add annotations to a line plot.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Time-Numeric',
        data=data('date price', n),
        plot=ui.plot([
        ui.mark(type='line', x_scale='time', x='=date', y='=price', y_min=0, y_max=100),
        ui.mark(x=50, y=50, label='point'),
        ui.mark(x='2010-05-15T19:59:21.000000Z', label='vertical line'),
        ui.mark(y=40, label='horizontal line'),
        ui.mark(x='2010-05-24T19:59:21.000000Z', x0='2010-05-20T19:59:21.000000Z', label='vertical region'),
        ui.mark(y=70, y0=60, label='horizontal region'),
        ui.mark(x='2010-05-10T19:59:21.000000Z', x0='2010-05-05T19:59:21.000000Z', y=30, y0=20,
        label='rectangular region')
        ])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  annotationplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-line-groups/index.html b/docs/docs/examples/plot-line-groups/index.html index bac628b730..68c243c055 100644 --- a/docs/docs/examples/plot-line-groups/index.html +++ b/docs/docs/examples/plot-line-groups/index.html @@ -4,49 +4,38 @@ + - Plot / Line / Groups | H2O Wave - - - - - - - - - - - - - - - - + Plot / Line / Groups | H2O Wave + + + + + + + + + +
        -

        Plot / Line / Groups

        Make a multi-series line plot.

        from synth import FakeMultiTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Line / Groups

        Make a multi-series line plot.

        from synth import FakeMultiTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeMultiTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Line, groups',
        data=data('product date price', n * 5),
        plot=ui.plot([ui.mark(type='line', x_scale='time', x='=date', y='=price', color='=product', y_min=0)])
        ))
        v.data = [(g, t, x) for x in [f.next() for _ in range(n)] for g, t, x, dx in x]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  multi_seriesplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-line-labels-no-overlap/index.html b/docs/docs/examples/plot-line-labels-no-overlap/index.html index cc2e5bf628..a7ced5f4ce 100644 --- a/docs/docs/examples/plot-line-labels-no-overlap/index.html +++ b/docs/docs/examples/plot-line-labels-no-overlap/index.html @@ -4,48 +4,37 @@ + - Plot / Line / Labels / Occlusion | H2O Wave - - - - - - - - - - - - - - - - + Plot / Line / Labels / Occlusion | H2O Wave + + + + + + + + + +
        -

        Plot / Line / Labels / Occlusion

        Make a line plot with non-overlapping labels.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Line / Labels / Occlusion

        Make a line plot with non-overlapping labels.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Remove overlapping labels',
        data=data('date price', n),
        plot=ui.plot([ui.mark(type='line', x_scale='time', x='=date', y='=price', y_min=0,
        label='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        label_overlap='hide')])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-line-labels-stroked/index.html b/docs/docs/examples/plot-line-labels-stroked/index.html index be3a6576c6..bb6cc3a820 100644 --- a/docs/docs/examples/plot-line-labels-stroked/index.html +++ b/docs/docs/examples/plot-line-labels-stroked/index.html @@ -4,48 +4,37 @@ + - Plot / Line / Labels/ Stroked | H2O Wave - - - - - - - - - - - - - - - - + Plot / Line / Labels/ Stroked | H2O Wave + + + + + + + + + +
        -

        Plot / Line / Labels/ Stroked

        Customize label rendering: add a subtle outline to labels to improve readability.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Line / Labels/ Stroked

        Customize label rendering: add a subtle outline to labels to improve readability.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Labels, less messy',
        data=data('date price', n),
        plot=ui.plot([ui.mark(type='line', x_scale='time', x='=date', y='=price', y_min=0,
        label='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        label_fill_color='rgba(0,0,0,0.65)', label_stroke_color='#fff', label_stroke_size=2)])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-line-labels/index.html b/docs/docs/examples/plot-line-labels/index.html index 178068cc9a..882cb847ed 100644 --- a/docs/docs/examples/plot-line-labels/index.html +++ b/docs/docs/examples/plot-line-labels/index.html @@ -4,48 +4,37 @@ + - Plot / Line / Labels | H2O Wave - - - - - - - - - - - - - - - - + Plot / Line / Labels | H2O Wave + + + + + + + + + +
        -

        Plot / Line / Labels

        Add labels to a line plot.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Line / Labels

        Add labels to a line plot.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Labels',
        data=data('date price', n),
        plot=ui.plot([ui.mark(type='line', x_scale='time', x='=date', y='=price', y_min=0,
        label='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}')])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-line-smooth/index.html b/docs/docs/examples/plot-line-smooth/index.html index 946b420c3a..d54b69500a 100644 --- a/docs/docs/examples/plot-line-smooth/index.html +++ b/docs/docs/examples/plot-line-smooth/index.html @@ -4,48 +4,37 @@ + - Plot / Line / Smooth | H2O Wave - - - - - - - - - - - - - - - - + Plot / Line / Smooth | H2O Wave + + + + + + + + + +
        -

        Plot / Line / Smooth

        Make a line plot using a smooth curve.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Line / Smooth

        Make a line plot using a smooth curve.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Line, smooth',
        data=data('date price', n),
        plot=ui.plot([ui.mark(type='line', x_scale='time', x='=date', y='=price', curve='smooth', y_min=0)])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-line/index.html b/docs/docs/examples/plot-line/index.html index 628c526de2..c3bd0deccf 100644 --- a/docs/docs/examples/plot-line/index.html +++ b/docs/docs/examples/plot-line/index.html @@ -4,48 +4,37 @@ + - Plot / Line | H2O Wave - - - - - - - - - - - - - - - - + Plot / Line | H2O Wave + + + + + + + + + +
        -

        Plot / Line

        Make a line plot.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Line

        Make a line plot.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Line',
        data=data('date price', n),
        plot=ui.plot([ui.mark(type='line', x_scale='time', x='=date', y='=price', y_min=0)])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-matplotlib/index.html b/docs/docs/examples/plot-matplotlib/index.html index 19e7ec4353..9a67ed6a94 100644 --- a/docs/docs/examples/plot-matplotlib/index.html +++ b/docs/docs/examples/plot-matplotlib/index.html @@ -4,29 +4,24 @@ + - Plot / Matplotlib | H2O Wave - - - - - - - - - - - - - - - - + Plot / Matplotlib | H2O Wave + + + + + + + + + +
        -

        Plot / Matplotlib

        Use matplotlib to create plots. Also demonstrates how to provide live control over plots.

        import uuid
        import os
        import numpy as np
        import matplotlib.pyplot as plt
        +

        Plot / Matplotlib

        Use matplotlib to create plots. Also demonstrates how to provide live control over plots.

        import uuid
        import os
        import numpy as np
        import matplotlib.pyplot as plt
        from h2o_wave import ui, main, app, Q
        np.random.seed(19680801)
        @@ -39,23 +34,17 @@
        # Upload
        image_path, = await q.site.upload([image_filename])
        # Clean up
        os.remove(image_filename)
        # Display our plot in our markdown card
        q.page['plot'].content = f'![plot]({image_path})'
        -
        # Save page
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        # Save page
        await q.page.save()

        Tags:  matplotlibplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-pandas/index.html b/docs/docs/examples/plot-pandas/index.html new file mode 100644 index 0000000000..96564a6573 --- /dev/null +++ b/docs/docs/examples/plot-pandas/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + Plot / Pandas | H2O Wave + + + + + + + + + + + + +
        +

        Plot / Pandas

        Plot Pandas dataframes.

        from h2o_wave import site, data, ui
        import pandas as pd
        import numpy as np
        +
        page = site['/demo']
        +
        n = 100
        df = pd.DataFrame(dict(
        length=np.random.rand(n),
        width=np.random.rand(n),
        data_type=np.random.choice(a=['Train', 'Test'], size=n, p=[0.8, 0.2])
        ))
        +
        # Plot two numeric columns by each other and color based on a third, categorical column
        page['scatter'] = ui.plot_card(
        box='1 1 4 5',
        title='Scatter Plot from Dataframe',
        data=data(
        fields=df.columns.tolist(),
        rows=df.values.tolist(),
        pack=True,
        ),
        plot=ui.plot(marks=[ui.mark(
        type='point',
        x='=length', x_title='Length',
        y='=width', y_title='Width',
        color='=data_type', shape='circle',
        )])
        )
        +
        # Aggregate the data in pandas and plot a bar chart of the average value of one column by some other column
        df_agg = df.groupby(['data_type']).mean().reset_index()
        page['bar'] = ui.plot_card(
        box='1 6 4 5',
        title='Bar Plot from Aggregated Dataframe',
        data=data(
        fields=df_agg.columns.tolist(),
        rows=df_agg.values.tolist(),
        pack=True,
        ),
        plot=ui.plot(marks=[ui.mark(
        type='interval',
        x='=data_type', x_title='Modeling Data Type',
        y='=length', y_title='Length',
        )])
        )
        +
        page.save()
        + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/docs/examples/plot-path-point/index.html b/docs/docs/examples/plot-path-point/index.html index 171db5b52a..71de1ea212 100644 --- a/docs/docs/examples/plot-path-point/index.html +++ b/docs/docs/examples/plot-path-point/index.html @@ -4,48 +4,37 @@ + - Plot / Path / Point | H2O Wave - - - - - - - - - - - - - - - - + Plot / Path / Point | H2O Wave + + + + + + + + + +
        -

        Plot / Path / Point

        Make a path plot with an additional layer of points.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        +

        Plot / Path / Point

        Make a path plot with an additional layer of points.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeScatter()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Path + Point',
        data=data('profit sales', n),
        plot=ui.plot([
        ui.mark(type='path', x='=profit', y='=sales'),
        ui.mark(type='point', x='=profit', y='=sales'),
        ])
        ))
        v.data = [(x, y) for x, y in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-path-smooth/index.html b/docs/docs/examples/plot-path-smooth/index.html index dfc5739dc5..aa91fcc286 100644 --- a/docs/docs/examples/plot-path-smooth/index.html +++ b/docs/docs/examples/plot-path-smooth/index.html @@ -4,48 +4,37 @@ + - Plot / Path / Smooth | H2O Wave - - - - - - - - - - - - - - - - + Plot / Path / Smooth | H2O Wave + + + + + + + + + +
        -

        Plot / Path / Smooth

        Make a path plot with a smooth curve.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        +

        Plot / Path / Smooth

        Make a path plot with a smooth curve.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeScatter()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Path, smooth',
        data=data('profit sales', n),
        plot=ui.plot([ui.mark(type='path', x='=profit', y='=sales', curve='smooth')])
        ))
        v.data = [(x, y) for x, y in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-path/index.html b/docs/docs/examples/plot-path/index.html index a2c9153a88..7097907a50 100644 --- a/docs/docs/examples/plot-path/index.html +++ b/docs/docs/examples/plot-path/index.html @@ -4,48 +4,37 @@ + - Plot / Path | H2O Wave - - - - - - - - - - - - - - - - + Plot / Path | H2O Wave + + + + + + + + + +
        -

        Plot / Path

        Make a path plot.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        +

        Plot / Path

        Make a path plot.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeScatter()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Path',
        data=data('profit sales', n),
        plot=ui.plot([ui.mark(type='path', x='=profit', y='=sales')])
        ))
        v.data = [(x, y) for x, y in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-plotly/index.html b/docs/docs/examples/plot-plotly/index.html index 14ab5db39c..53f4d5d1cf 100644 --- a/docs/docs/examples/plot-plotly/index.html +++ b/docs/docs/examples/plot-plotly/index.html @@ -4,29 +4,24 @@ + - Plot / Plotly | H2O Wave - - - - - - - - - - - - - - - - + Plot / Plotly | H2O Wave + + + + + + + + + +
        -

        Plot / Plotly

        Use plotly to create plots. Also demonstrates how to provide live control over plots.

        import numpy as np
        from plotly import graph_objects as go
        from plotly import io as pio
        +

        Plot / Plotly

        Use plotly to create plots. Also demonstrates how to provide live control over plots.

        import numpy as np
        from plotly import graph_objects as go
        from plotly import io as pio
        from h2o_wave import ui, main, app, Q
        np.random.seed(19680801)
        @@ -37,23 +32,17 @@
        n = q.client.points
        # Create plot with plotly
        fig = go.Figure(data=go.Scatter(
        x=np.random.rand(n),
        y=np.random.rand(n),
        mode='markers',
        marker=dict(size=(8 * np.random.rand(n)) ** 2,
        color=np.random.rand(n)),
        opacity=0.8,
        ))
        _ = fig.update_layout(
        margin=dict(l=10, r=10, t=10, b=10),
        paper_bgcolor='rgb(255, 255, 255)',
        plot_bgcolor='rgb(255, 255, 255)',
        )
        config = {'scrollZoom': q.client.plotly_controls,
        'showLink': q.client.plotly_controls,
        'displayModeBar': q.client.plotly_controls}
        html = pio.to_html(fig, validate=False, include_plotlyjs='cdn', config=config)
        q.page['plot'].content = html
        -
        # Save page
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        # Save page
        await q.page.save()

        Tags:  plotplotly

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-point-annotation/index.html b/docs/docs/examples/plot-point-annotation/index.html index df2203b442..fc378b10a6 100644 --- a/docs/docs/examples/plot-point-annotation/index.html +++ b/docs/docs/examples/plot-point-annotation/index.html @@ -4,48 +4,37 @@ + - Plot / Point / Annotation | H2O Wave - - - - - - - - - - - - - - - - + Plot / Point / Annotation | H2O Wave + + + + + + + + + +
        -

        Plot / Point / Annotation

        Add annotations (points, lines and regions) to a plot.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        +

        Plot / Point / Annotation

        Add annotations (points, lines and regions) to a plot.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeScatter()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Numeric-Numeric',
        data=data('price performance', n),
        plot=ui.plot([
        ui.mark(type='point', x='=price', y='=performance', x_min=0, x_max=100, y_min=0, y_max=100), # the plot
        ui.mark(x=50, y=50, label='point'), # A single reference point
        ui.mark(x=40, label='vertical line'),
        ui.mark(y=40, label='horizontal line'),
        ui.mark(x=70, x0=60, label='vertical region'),
        ui.mark(y=70, y0=60, label='horizontal region'),
        ui.mark(x=30, x0=20, y=30, y0=20, label='rectangular region')
        ])
        ))
        v.data = [f.next() for _ in range(n)]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  annotationplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-point-custom/index.html b/docs/docs/examples/plot-point-custom/index.html index aca285f2eb..ba77334458 100644 --- a/docs/docs/examples/plot-point-custom/index.html +++ b/docs/docs/examples/plot-point-custom/index.html @@ -4,49 +4,38 @@ + - Plot / Point / Custom | H2O Wave - - - - - - - - - - - - - - - - + Plot / Point / Custom | H2O Wave + + + + + + + + + +
        -

        Plot / Point / Custom

        Customize a plot's fill/stroke color, size and opacity.

        import random
        +

        Plot / Point / Custom

        Customize a plot's fill/stroke color, size and opacity.

        import random
        from synth import FakeScatter
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 40
        f = FakeScatter()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Point, custom',
        data=data('price performance discount', n),
        plot=ui.plot([ui.mark(type='point', x='=price', y='=performance', size='=discount', size_range='4 30',
        fill_color='#eb4559', stroke_color='#eb4559', stroke_size=1, fill_opacity=0.3,
        stroke_opacity=1)])
        ))
        v.data = [(x, y, random.randint(1, 10)) for x, y in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-point-groups/index.html b/docs/docs/examples/plot-point-groups/index.html index 8680ca8b05..5729ab374d 100644 --- a/docs/docs/examples/plot-point-groups/index.html +++ b/docs/docs/examples/plot-point-groups/index.html @@ -4,51 +4,40 @@ + - Plot / Point / Groups | H2O Wave - - - - - - - - - - - - - - - - + Plot / Point / Groups | H2O Wave + + + + + + + + + +
        -

        Plot / Point / Groups

        Make a scatterplot with categories encoded as colors.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        +

        Plot / Point / Groups

        Make a scatterplot with categories encoded as colors.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        page = site['/demo']
        def create_fake_row(g, f, n):
        return [(g, x, y) for x, y in [f.next() for _ in range(n)]]
        n = 30
        f1, f2, f3 = FakeScatter(), FakeScatter(), FakeScatter()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Point, groups',
        data=data('product price performance', n * 3),
        plot=ui.plot([ui.mark(type='point', x='=price', y='=performance', color='=product', shape='circle')])
        ))
        v.data = create_fake_row('G1', f1, n) + create_fake_row('G2', f1, n) + create_fake_row('G3', f1, n)
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-point-map/index.html b/docs/docs/examples/plot-point-map/index.html index 1faaeddc3d..1b1dad4a8e 100644 --- a/docs/docs/examples/plot-point-map/index.html +++ b/docs/docs/examples/plot-point-map/index.html @@ -4,48 +4,38 @@ + - Plot / Point / Map | H2O Wave - - - - - - - - - - - - - - - - + Plot / Point / Map | H2O Wave + + + + + + + + + +
        -

        Plot / Point / Map

        Make a plot to compare quantities across categories. Similar to a heatmap, but using size-encoding instead of color-encoding.

        from synth import FakeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Point / Map

        Make a plot to compare quantities across categories. Similar to a heatmap, +but using size-encoding instead of color-encoding.

        from synth import FakeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        k1, k2 = 20, 10
        f = FakeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Points, size-encoded',
        data=data('country product profit', k1 * k2),
        plot=ui.plot([ui.mark(type='point', x='=country', y='=product', size='=profit', shape='circle')])
        ))
        rows = []
        for i in range(k1):
        for j in range(k2):
        x, dx = f.next()
        rows.append((f'A{i + 1}', f'B{j + 1}', x))
        v.data = rows
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  mapplot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-point-shapes/index.html b/docs/docs/examples/plot-point-shapes/index.html index 859f49dc88..80b1ce5e53 100644 --- a/docs/docs/examples/plot-point-shapes/index.html +++ b/docs/docs/examples/plot-point-shapes/index.html @@ -4,51 +4,40 @@ + - Plot / Point / Shapes | H2O Wave - - - - - - - - - - - - - - - - + Plot / Point / Shapes | H2O Wave + + + + + + + + + +
        -

        Plot / Point / Shapes

        Make a scatterplot with categories encoded as mark shapes.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        +

        Plot / Point / Shapes

        Make a scatterplot with categories encoded as mark shapes.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        page = site['/demo']
        def create_fake_row(g, f, n):
        return [(g, x, y) for x, y in [f.next() for _ in range(n)]]
        n = 30
        f1, f2 = FakeScatter(), FakeScatter()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Point, shapes',
        data=data('product price performance', n * 2),
        plot=ui.plot([ui.mark(type='point', x='=price', y='=performance', shape='=product', shape_range='circle square')])
        ))
        v.data = create_fake_row('G1', f1, n) + create_fake_row('G2', f1, n)
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-point-sizes/index.html b/docs/docs/examples/plot-point-sizes/index.html index 049291bd44..678537a8a6 100644 --- a/docs/docs/examples/plot-point-sizes/index.html +++ b/docs/docs/examples/plot-point-sizes/index.html @@ -4,49 +4,38 @@ + - Plot / Point / Sizes | H2O Wave - - - - - - - - - - - - - - - - + Plot / Point / Sizes | H2O Wave + + + + + + + + + +
        -

        Plot / Point / Sizes

        Make a scatterplot with mark sizes mapped to a continuous variable (a "bubble plot").

        import random
        +

        Plot / Point / Sizes

        Make a scatterplot with mark sizes mapped to a continuous variable (a "bubble plot").

        import random
        from synth import FakeScatter
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 40
        f = FakeScatter()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Point, sized',
        data=data('price performance discount', n),
        plot=ui.plot([ui.mark(type='point', x='=price', y='=performance', size='=discount')])
        ))
        v.data = [(x, y, random.randint(1, 10)) for x, y in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-point/index.html b/docs/docs/examples/plot-point/index.html index 9ef2b1a12b..1b2bdf575e 100644 --- a/docs/docs/examples/plot-point/index.html +++ b/docs/docs/examples/plot-point/index.html @@ -4,48 +4,37 @@ + - Plot / Point | H2O Wave - - - - - - - - - - - - - - - - + Plot / Point | H2O Wave + + + + + + + + + +
        -

        Plot / Point

        Make a scatterplot.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        +

        Plot / Point

        Make a scatterplot.

        from synth import FakeScatter
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeScatter()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Point',
        data=data('price performance', n),
        plot=ui.plot([
        ui.mark(type='point', x='=price', y='=performance')
        ])
        ))
        v.data = [f.next() for i in range(n)]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-polygon/index.html b/docs/docs/examples/plot-polygon/index.html index a4f2922e03..ce6cc31cf7 100644 --- a/docs/docs/examples/plot-polygon/index.html +++ b/docs/docs/examples/plot-polygon/index.html @@ -4,48 +4,37 @@ + - Plot / Polygon | H2O Wave - - - - - - - - - - - - - - - - + Plot / Polygon | H2O Wave + + + + + + + + + +
        -

        Plot / Polygon

        Make a heatmap.

        from synth import FakeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Polygon

        Make a heatmap.

        from synth import FakeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        k1, k2 = 20, 10
        f = FakeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Heatmap',
        data=data('country product profit', k1 * k2),
        plot=ui.plot([
        ui.mark(type='polygon', x='=country', y='=product', color='=profit',
        color_range='#fee8c8 #fdbb84 #e34a33')])
        ))
        rows = []
        for i in range(k1):
        for j in range(k2):
        x, dx = f.next()
        rows.append((f'A{i + 1}', f'B{j + 1}', x))
        v.data = rows
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-step-after/index.html b/docs/docs/examples/plot-step-after/index.html index 266506c9fe..e6dd4a8883 100644 --- a/docs/docs/examples/plot-step-after/index.html +++ b/docs/docs/examples/plot-step-after/index.html @@ -4,48 +4,37 @@ + - Plot / Line / Step / After | H2O Wave - - - - - - - - - - - - - - - - + Plot / Line / Step / After | H2O Wave + + + + + + + + + +
        -

        Plot / Line / Step / After

        Make a line plot with a step-after curve.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Line / Step / After

        Make a line plot with a step-after curve.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Line, step-right',
        data=data('date price', n),
        plot=ui.plot([ui.mark(type='line', x_scale='time', x='=date', y='=price', curve='step-after', y_min=0)])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-step-before/index.html b/docs/docs/examples/plot-step-before/index.html index 01ee17cf20..48d3c13cd9 100644 --- a/docs/docs/examples/plot-step-before/index.html +++ b/docs/docs/examples/plot-step-before/index.html @@ -4,48 +4,37 @@ + - Plot / Line / Step / Before | H2O Wave - - - - - - - - - - - - - - - - + Plot / Line / Step / Before | H2O Wave + + + + + + + + + +
        -

        Plot / Line / Step / Before

        Make a line plot with a step-before curve.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Line / Step / Before

        Make a line plot with a step-before curve.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Line, step-left',
        data=data('date price', n),
        plot=ui.plot([ui.mark(type='line', x_scale='time', x='=date', y='=price', curve='step-before', y_min=0)])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-step/index.html b/docs/docs/examples/plot-step/index.html index 615f73ff02..158de0be39 100644 --- a/docs/docs/examples/plot-step/index.html +++ b/docs/docs/examples/plot-step/index.html @@ -4,49 +4,38 @@ + - Plot / Line / Step | H2O Wave - - - - - - - - - - - - - - - - + Plot / Line / Step | H2O Wave + + + + + + + + + +
        -

        Plot / Line / Step

        Make a line plot with a step curve.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        +

        Plot / Line / Step

        Make a line plot with a step curve.

        from synth import FakeTimeSeries
        from h2o_wave import site, data, ui
        page = site['/demo']
        n = 50
        f = FakeTimeSeries()
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Line, step',
        data=data('date price', n),
        plot=ui.plot([ui.mark(type='line', x_scale='time', x='=date', y='=price', curve='step', y_min=0)])
        ))
        v.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plot

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-vegalite-form/index.html b/docs/docs/examples/plot-vegalite-form/index.html index 09679ccb9a..96c3540c40 100644 --- a/docs/docs/examples/plot-vegalite-form/index.html +++ b/docs/docs/examples/plot-vegalite-form/index.html @@ -4,54 +4,43 @@ + - Plot / Vega-lite / Form | H2O Wave - - - - - - - - - - - - - - - - + Plot / Vega-lite / Form | H2O Wave + + + + + + + + + +
        -

        Plot / Vega-lite / Form

        Display a Vega-lite plot inside a form card

        from h2o_wave import site, data, ui
        import random
        import time
        +

        Plot / Vega-lite / Form

        Display a Vega-lite plot inside a form card.

        from h2o_wave import site, data, ui
        import random
        import time
        page = site['/demo']
        spec = '''
        {
        "description": "A simple bar plot with embedded data.",
        "mark": "bar",
        "encoding": {
        "x": {"field": "a", "type": "ordinal"},
        "y": {"field": "b", "type": "quantitative"}
        }
        }
        '''
        # Get data rows for our plot.
        # Typically, this data would be read from some external data source.
        def poll():
        return [
        ["A", rnd()], ["B", rnd()], ["C", rnd()],
        ["D", rnd()], ["E", rnd()], ["F", rnd()],
        ["G", rnd()], ["H", rnd()], ["I", rnd()]
        ]
        -
        # Generate random datum between 1 and 100
        def rnd(): return random.randint(1, 100)
        +
        # Generate random datum between 1 and 100
        def rnd():
        return random.randint(1, 100)
        page['example'] = ui.form_card(
        box='1 1 2 -1',
        items=[
        ui.text_xl('Example 1'),
        ui.vega_visualization(
        specification=spec,
        data=data(fields=["a", "b"], rows=poll(), pack=True),
        ),
        ui.text_xl('Example 2'),
        ui.vega_visualization(
        specification=spec,
        data=data(fields=["a", "b"], rows=poll(), pack=True),
        ),
        ui.text_xl('Example 3'),
        ui.vega_visualization(
        specification=spec,
        data=data(fields=["a", "b"], rows=poll(), pack=True),
        ),
        ],
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  formplotvega

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-vegalite-update/index.html b/docs/docs/examples/plot-vegalite-update/index.html index b69d1d9fc2..0d0f51e79b 100644 --- a/docs/docs/examples/plot-vegalite-update/index.html +++ b/docs/docs/examples/plot-vegalite-update/index.html @@ -4,55 +4,44 @@ + - Plot / Vega-lite / Update | H2O Wave - - - - - - - - - - - - - - - - + Plot / Vega-lite / Update | H2O Wave + + + + + + + + + +
        -

        Plot / Vega-lite / Update

        Periodically update a Vega-lite plot.

        from h2o_wave import site, data, ui
        import random
        import time
        +

        Plot / Vega-lite / Update

        Periodically update a Vega-lite plot.

        from h2o_wave import site, data, ui
        import random
        import time
        page = site['/demo']
        spec = '''
        {
        "description": "A simple bar plot with embedded data.",
        "mark": "bar",
        "encoding": {
        "x": {"field": "a", "type": "ordinal"},
        "y": {"field": "b", "type": "quantitative"}
        }
        }
        '''
        -
        # Generate random datum between 1 and 100
        def rnd(): return random.randint(1, 100)
        +
        # Generate random datum between 1 and 100
        def rnd():
        return random.randint(1, 100)
        # Get data rows for our plot.
        # Typically, this data would be read from some external data source.
        def poll():
        return [
        ["A", rnd()], ["B", rnd()], ["C", rnd()],
        ["D", rnd()], ["E", rnd()], ["F", rnd()],
        ["G", rnd()], ["H", rnd()], ["I", rnd()]
        ]
        vis = page.add('external', ui.vega_card(
        box='1 1 2 4',
        title='Plot with external data',
        specification=spec,
        data=data(fields=["a", "b"], rows=poll()),
        ))
        page.save()
        -
        while True:
        time.sleep(1)
        # Update the plot's data rows
        vis.data = poll()
        page.save()
        - - - - - - - - - - - - - - - - +
        while True:
        time.sleep(1)
        # Update the plot's data rows
        vis.data = poll()
        page.save()

        Tags:  plotvega

        + + + + + + + + + + diff --git a/docs/docs/examples/plot-vegalite/index.html b/docs/docs/examples/plot-vegalite/index.html index 4cf752b6a1..512b7b0f32 100644 --- a/docs/docs/examples/plot-vegalite/index.html +++ b/docs/docs/examples/plot-vegalite/index.html @@ -4,52 +4,41 @@ + - Plot / Vega-lite | H2O Wave - - - - - - - - - - - - - - - - + Plot / Vega-lite | H2O Wave + + + + + + + + + +
        -

        Plot / Vega-lite

        Make a plot using Vega-lite.

        from h2o_wave import site, data, ui
        +

        Plot / Vega-lite

        Make a plot using Vega-lite.

        from h2o_wave import site, data, ui
        page = site['/demo']
        spec1 = '''
        {
        "description": "A simple bar plot with embedded data.",
        "data": {
        "values": [
        {"a": "A","b": 28}, {"a": "B","b": 55}, {"a": "C","b": 43},
        {"a": "D","b": 91}, {"a": "E","b": 81}, {"a": "F","b": 53},
        {"a": "G","b": 19}, {"a": "H","b": 87}, {"a": "I","b": 52}
        ]
        },
        "mark": "bar",
        "encoding": {
        "x": {"field": "a", "type": "ordinal"},
        "y": {"field": "b", "type": "quantitative"}
        }
        }
        '''
        page.add('embedded', ui.vega_card(
        box='1 1 2 4',
        title='Plot with embedded data',
        specification=spec1,
        ))
        # The following produces the same plot as above, but separates the
        # Vega-lite spec from the data. This allows you to create a plot once
        # and update data multiple times.
        spec2 = '''
        {
        "description": "A simple bar plot with embedded data.",
        "mark": "bar",
        "encoding": {
        "x": {"field": "a", "type": "ordinal"},
        "y": {"field": "b", "type": "quantitative"}
        }
        }
        '''
        data2 = data(fields=["a", "b"], rows=[
        ["A", 28], ["B", 55], ["C", 43],
        ["D", 91], ["E", 81], ["F", 53],
        ["G", 19], ["H", 87], ["I", 52]
        ])
        page.add('external', ui.vega_card(
        box='1 5 2 4',
        title='Plot with external data',
        specification=spec2,
        data=data2,
        ))
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  plotvega

        + + + + + + + + + + diff --git a/docs/docs/examples/progress-update/index.html b/docs/docs/examples/progress-update/index.html index 95e2086bd0..d09497d91a 100644 --- a/docs/docs/examples/progress-update/index.html +++ b/docs/docs/examples/progress-update/index.html @@ -4,51 +4,40 @@ + - Form / Progress / Updating | H2O Wave - - - - - - - - - - - - - - - - + Form / Progress / Updating | H2O Wave + + + + + + + + + +
        -

        Form / Progress / Updating

        Update a progress bar's completion status periodically.

        import time
        +

        Form / Progress / Updating

        Update a progress bar's completion status periodically.

        import time
        from h2o_wave import site, ui
        page = site['/demo']
        page['example'] = ui.form_card(
        box='1 1 4 -1',
        items=[
        ui.progress(label='Basic Progress'),
        ]
        )
        page.save()
        for i in range(1, 11):
        time.sleep(1)
        page['example'].items = [
        ui.progress(label='Basic Progress', caption=f'{i * 10}% complete', value=i / 10),
        ]
        # This will work, too:
        # page['example'].items[0].progress.value = i/10
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  formprogress

        + + + + + + + + + + diff --git a/docs/docs/examples/progress/index.html b/docs/docs/examples/progress/index.html index d22453a451..faa55c325c 100644 --- a/docs/docs/examples/progress/index.html +++ b/docs/docs/examples/progress/index.html @@ -4,47 +4,36 @@ + - Form / Progress | H2O Wave - - - - - - - - - - - - - - - - + Form / Progress | H2O Wave + + + + + + + + + +
        -

        Form / Progress

        Use a progress bar to indicate completion status of an operation.

        from h2o_wave import site, ui
        +

        Form / Progress

        Use a progress bar to indicate completion status of an operation.

        from h2o_wave import site, ui
        page = site['/demo']
        -
        page['example'] = ui.form_card(
        box='1 1 4 -1',
        items=[
        ui.progress(label='Indeterminate Progress', caption='Goes on forever'),
        ui.progress(label='Standard Progress', caption='Downloading the interwebs...', value=0.25),
        ]
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        page['example'] = ui.form_card(
        box='1 1 4 -1',
        items=[
        ui.progress(label='Indeterminate Progress', caption='Goes on forever'),
        ui.progress(label='Standard Progress', caption='Downloading the interwebs...', value=0.25),
        ]
        )
        page.save()

        Tags:  formprogress

        + + + + + + + + + + diff --git a/docs/docs/examples/range-slider/index.html b/docs/docs/examples/range-slider/index.html index 3553588568..e9e64fe444 100644 --- a/docs/docs/examples/range-slider/index.html +++ b/docs/docs/examples/range-slider/index.html @@ -4,47 +4,36 @@ + - Form / Range Slider | H2O Wave - - - - - - - - - - - - - - - - + Form / Range Slider | H2O Wave + + + + + + + + + +
        -

        Form / Range Slider

        Use a range slider to allow users to select a value range (from, to).

        from h2o_wave import main, app, Q, ui
        +

        Form / Range Slider

        Use a range slider to allow users to select a value range (from, to).

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'range_slider={q.args.range_slider}'),
        ui.text(f'range_slider_step={q.args.range_slider_step}'),
        ui.text(f'range_slider_disabled={q.args.range_slider_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.range_slider(name='range_slider', label='Default slider'),
        ui.range_slider(name='range_slider_step', label='Step slider', min=0, max=1000, step=100, min_value=0,
        max_value=100),
        ui.range_slider(name='range_slider_disabled', label='Disabled slider', min=0, max=100, step=10, min_value=0,
        max_value=70, disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'range_slider={q.args.range_slider}'),
        ui.text(f'range_slider_step={q.args.range_slider_step}'),
        ui.text(f'range_slider_disabled={q.args.range_slider_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.range_slider(name='range_slider', label='Default slider'),
        ui.range_slider(name='range_slider_step', label='Step slider', min=0, max=1000, step=100, min_value=0,
        max_value=100),
        ui.range_slider(name='range_slider_disabled', label='Disabled slider', min=0, max=100, step=10, min_value=0,
        max_value=70, disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  formrangeslider

        + + + + + + + + + + diff --git a/docs/docs/examples/separator/index.html b/docs/docs/examples/separator/index.html index ac7e10fca4..a4d6260ab2 100644 --- a/docs/docs/examples/separator/index.html +++ b/docs/docs/examples/separator/index.html @@ -4,48 +4,37 @@ + - Form / Separator | H2O Wave - - - - - - - - - - - - - - - - + Form / Separator | H2O Wave + + + + + + + + + +
        -

        Form / Separator

        Use a separator to visually separate content into groups.

        from h2o_wave import site, ui
        +

        Form / Separator

        Use a separator to visually separate content into groups.

        from h2o_wave import site, ui
        page = site['/demo']
        page['example'] = ui.form_card(
        box='1 1 2 5',
        items=[
        ui.separator(label='Separator 1'),
        ui.text('The quick brown fox jumps over the lazy dog.'),
        ui.separator(label='Separator 2'),
        ui.text('The quick brown fox jumps over the lazy dog.'),
        ui.separator(label='Separator 3'),
        ui.text('The quick brown fox jumps over the lazy dog.'),
        ]
        )
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  formseparator

        + + + + + + + + + + diff --git a/docs/docs/examples/site-async/index.html b/docs/docs/examples/site-async/index.html index 0b8468d0ad..2d2aaca96a 100644 --- a/docs/docs/examples/site-async/index.html +++ b/docs/docs/examples/site-async/index.html @@ -4,29 +4,24 @@ + - Site / Async | H2O Wave - - - - - - - - - - - - - - - - + Site / Async | H2O Wave + + + + + + + + + +
        -

        Site / Async

        Update any page on a site from within an app using an AsyncSite instance.

        from .synth import FakePercent
        from h2o_wave import Q, app, main, ui, AsyncSite
        +

        Site / Async

        Update any page on a site from within an app using an AsyncSite instance.

        from .synth import FakePercent
        from h2o_wave import Q, app, main, ui, AsyncSite
        site = AsyncSite()
        # Grab a reference to the /stats page
        stats_page = site['/stats']
        # A flag to indicate whether to pause or resume updating the page at '/stats'
        update_stats = False
        @@ -34,25 +29,19 @@
        async def update_stats_page(q, page):
        f = FakePercent()
        card = page['example']
        while update_stats:
        await q.sleep(1)
        price, percent = f.next()
        card.data.price = price
        card.data.percent = percent
        card.progress = percent
        await page.save()
        @app('/demo')
        async def serve(q: Q):
        if not q.client.initialized:
        # Set up up the page at /stats
        stats_page.drop() # Clear any existing page
        stats_page['example'] = ui.wide_gauge_stat_card(
        box='1 1 2 1',
        title='Stats',
        value='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl percent style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        plot_color='$red',
        progress=0,
        data=dict(price=0, percent=0),
        )
        await stats_page.save()
        -
        # Set up this app's UI
        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
        ui.frame(path='/stats', height='110px'),
        ui.button(name='toggle', label='Toggle Updates', primary=True),
        ])
        await q.page.save()
        +
        # Set up this app's UI
        q.page['form'] = ui.form_card(box='1 1 -1 -1', items=[
        ui.frame(path='/stats', height='110px'),
        ui.button(name='toggle', label='Start updates', primary=True),
        ])
        await q.page.save()
        q.client.initialized = True
        -
        if q.args.toggle:
        global update_stats
        update_stats = not update_stats
        await update_stats_page(q, stats_page)
        - - - - - - - - - - - - - - - - +
        if q.args.toggle:
        global update_stats
        update_stats = not update_stats
        q.page['form'].items[1].button.label = 'Stop updates' if update_stats else 'Start updates'
        await q.page.save()
        await update_stats_page(q, stats_page)

        Tags:  site

        + + + + + + + + + + diff --git a/docs/docs/examples/slider/index.html b/docs/docs/examples/slider/index.html index 5b85af847b..64170ed8a5 100644 --- a/docs/docs/examples/slider/index.html +++ b/docs/docs/examples/slider/index.html @@ -4,47 +4,36 @@ + - Form / Slider | H2O Wave - - - - - - - - - - - - - - - - + Form / Slider | H2O Wave + + + + + + + + + +
        -

        Form / Slider

        Use a slider to allow users to set a value within a specific range.

        from h2o_wave import main, app, Q, ui
        +

        Form / Slider

        Use a slider to allow users to set a value within a specific range.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'slider={q.args.slider}'),
        ui.text(f'slider_zero={q.args.slider_zero}'),
        ui.text(f'slider_disabled={q.args.slider_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.slider(name='slider', label='Standard slider', min=0, max=100, step=10, value=30),
        ui.slider(name='slider_zero', label='Origin from zero', min=-10, max=10, step=1, value=-3),
        ui.slider(name='slider_disabled', label='Disabled slider', min=0, max=100, step=10, value=30,
        disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'slider={q.args.slider}'),
        ui.text(f'slider_zero={q.args.slider_zero}'),
        ui.text(f'slider_disabled={q.args.slider_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.slider(name='slider', label='Standard slider', min=0, max=100, step=10, value=30),
        ui.slider(name='slider_zero', label='Origin from zero', min=-10, max=10, step=1, value=-3),
        ui.slider(name='slider_disabled', label='Disabled slider', min=0, max=100, step=10, value=30,
        disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  formslider

        + + + + + + + + + + diff --git a/docs/docs/examples/spinbox/index.html b/docs/docs/examples/spinbox/index.html index a3fdb531b4..b5618824f8 100644 --- a/docs/docs/examples/spinbox/index.html +++ b/docs/docs/examples/spinbox/index.html @@ -4,47 +4,36 @@ + - Form / Spinbox | H2O Wave - - - - - - - - - - - - - - - - + Form / Spinbox | H2O Wave + + + + + + + + + +
        -

        Form / Spinbox

        Use a spinbox to allow users to incrementally adjust a value in small steps.

        from h2o_wave import main, app, Q, ui
        +

        Form / Spinbox

        Use a spinbox to allow users to incrementally adjust a value in small steps.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'spinbox={q.args.spinbox}'),
        ui.text(f'spinbox_disabled={q.args.spinbox_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.spinbox(name='spinbox', label='Standard spinbox', min=0, max=100, step=10, value=30),
        ui.spinbox(name='spinbox_disabled', label='Disabled spinbox', min=0, max=100, step=10, value=30,
        disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'spinbox={q.args.spinbox}'),
        ui.text(f'spinbox_disabled={q.args.spinbox_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.spinbox(name='spinbox', label='Standard spinbox', min=0, max=100, step=10, value=30),
        ui.spinbox(name='spinbox_disabled', label='Disabled spinbox', min=0, max=100, step=10, value=30,
        disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  formspinbox

        + + + + + + + + + + diff --git a/docs/docs/examples/stat-large-bar/index.html b/docs/docs/examples/stat-large-bar/index.html index 66314c3947..785d8f6fe7 100644 --- a/docs/docs/examples/stat-large-bar/index.html +++ b/docs/docs/examples/stat-large-bar/index.html @@ -4,50 +4,40 @@ + - Stat / Bar / Large | H2O Wave - - - - - - - - - - - - - - - - + Stat / Bar / Large | H2O Wave + + + + + + + + + +
        -

        Stat / Bar / Large

        Create a large captioned card displaying a primary value, an auxiliary value and a progress bar, with captions for each value.

        import time
        +

        Stat / Bar / Large

        Create a large captioned card displaying a primary value, an auxiliary value and a progress bar, +with captions for each value.

        import time
        from faker import Faker
        from synth import FakePercent
        from h2o_wave import site, ui
        page = site['/demo']
        -
        fake = Faker()
        f = FakePercent()
        val, pc = f.next()
        c = page.add(f'example', ui.large_bar_stat_card(
        box='1 1 2 2',
        title=fake.cryptocurrency_name(),
        value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        value_caption='This Month',
        aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value_caption='Previous Month',
        plot_color='$red',
        progress=pc,
        data=dict(foo=val, bar=pc),
        caption=' '.join(fake.sentences(2)),
        ))
        page.save()
        -
        while True:
        time.sleep(1)
        val, pc = f.next()
        c.data.foo = val
        c.data.bar = pc
        c.progress = pc
        page.save()
        - - - - - - - - - - - - - - - - +
        fake = Faker()
        f = FakePercent()
        val, pc = f.next()
        c = page.add('example', ui.large_bar_stat_card(
        box='1 1 2 2',
        title=fake.cryptocurrency_name(),
        value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        value_caption='This Month',
        aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value_caption='Previous Month',
        plot_color='$red',
        progress=pc,
        data=dict(foo=val, bar=pc),
        caption=' '.join(fake.sentences(2)),
        ))
        page.save()
        +
        while True:
        time.sleep(1)
        val, pc = f.next()
        c.data.foo = val
        c.data.bar = pc
        c.progress = pc
        page.save()

        Tags:  progressstat_card

        + + + + + + + + + + diff --git a/docs/docs/examples/stat-large/index.html b/docs/docs/examples/stat-large/index.html index c4820df22e..4c77aae790 100644 --- a/docs/docs/examples/stat-large/index.html +++ b/docs/docs/examples/stat-large/index.html @@ -4,50 +4,39 @@ + - Stat / Large | H2O Wave - - - - - - - - - - - - - - - - + Stat / Large | H2O Wave + + + + + + + + + +
        -

        Stat / Large

        Create a stat card displaying a primary value, an auxiliary value and a caption.

        import time
        +

        Stat / Large

        Create a stat card displaying a primary value, an auxiliary value and a caption.

        import time
        from faker import Faker
        from synth import FakePercent
        from h2o_wave import site, ui
        page = site['/demo']
        -
        fake = Faker()
        f = FakePercent()
        val, pc = f.next()
        c = page.add(f'example', ui.large_stat_card(
        box='1 1 2 2',
        title=fake.cryptocurrency_name(),
        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
        data=dict(qux=val, quux=pc),
        caption=' '.join(fake.sentences()),
        ))
        page.save()
        -
        while True:
        time.sleep(1)
        val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc
        page.save()
        - - - - - - - - - - - - - - - - +
        fake = Faker()
        f = FakePercent()
        val, pc = f.next()
        c = page.add('example', ui.large_stat_card(
        box='1 1 2 2',
        title=fake.cryptocurrency_name(),
        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
        data=dict(qux=val, quux=pc),
        caption=' '.join(fake.sentences()),
        ))
        page.save()
        +
        while True:
        time.sleep(1)
        val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc
        page.save()

        Tags:  stat_card

        + + + + + + + + + + diff --git a/docs/docs/examples/stat-small-series-area/index.html b/docs/docs/examples/stat-small-series-area/index.html index 7acc526b05..d13e5bca06 100644 --- a/docs/docs/examples/stat-small-series-area/index.html +++ b/docs/docs/examples/stat-small-series-area/index.html @@ -4,50 +4,39 @@ + - Stat / Series / Small / Area | H2O Wave - - - - - - - - - - - - - - - - + Stat / Series / Small / Area | H2O Wave + + + + + + + + + +
        -

        Stat / Series / Small / Area

        Create a small stat card displaying a primary value and a series plot.

        import time
        +

        Stat / Series / Small / Area

        Create a small stat card displaying a primary value and a series plot.

        import time
        from faker import Faker
        from synth import FakeCategoricalSeries
        from h2o_wave import site, ui, data
        page = site['/demo']
        colors = '$red $pink $blue $azure $cyan $teal $mint $green $lime $yellow $amber $orange $tangerine'.split()
        curves = 'linear smooth step step-after step-before'.split()
        fake = Faker()
        cards = []
        for i in range(len(curves)):
        f = FakeCategoricalSeries()
        cat, val, pc = f.next()
        c = page.add(f'example{i}', ui.small_series_stat_card(
        box=f'1 {i + 1} 1 1',
        title=fake.cryptocurrency_name(),
        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        data=dict(qux=val, quux=pc),
        plot_category='foo',
        plot_type='area',
        plot_value='qux',
        plot_color=colors[i],
        plot_data=data('foo qux', -15),
        plot_zero_value=0,
        plot_curve=curves[i],
        ))
        cards.append((f, c))
        page.save()
        -
        while True:
        time.sleep(1)
        for f, c in cards:
        cat, val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc
        c.plot_data[-1] = [cat, val]
        page.save()
        - - - - - - - - - - - - - - - - +
        while True:
        time.sleep(1)
        for f, c in cards:
        cat, val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc
        c.plot_data[-1] = [cat, val]
        page.save()

        Tags:  seriesstat_card

        + + + + + + + + + + diff --git a/docs/docs/examples/stat-small-series-interval/index.html b/docs/docs/examples/stat-small-series-interval/index.html index 2843d021c3..618f82f440 100644 --- a/docs/docs/examples/stat-small-series-interval/index.html +++ b/docs/docs/examples/stat-small-series-interval/index.html @@ -4,50 +4,39 @@ + - Stat / Series / Small / Interval | H2O Wave - - - - - - - - - - - - - - - - + Stat / Series / Small / Interval | H2O Wave + + + + + + + + + +
        -

        Stat / Series / Small / Interval

        Create a small stat card displaying a primary value and a series plot.

        import time
        +

        Stat / Series / Small / Interval

        Create a small stat card displaying a primary value and a series plot.

        import time
        from faker import Faker
        from synth import FakeCategoricalSeries
        from h2o_wave import site, ui, data
        page = site['/demo']
        -
        fake = Faker()
        f = FakeCategoricalSeries()
        cat, val, pc = f.next()
        c = page.add(f'example', ui.small_series_stat_card(
        box='1 1 1 1',
        title=fake.cryptocurrency_name(),
        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        data=dict(qux=val, quux=pc),
        plot_category='foo',
        plot_type='interval',
        plot_value='qux',
        plot_color='$red',
        plot_data=data('foo qux', -20),
        plot_zero_value=0,
        ))
        page.save()
        -
        while True:
        time.sleep(1)
        cat, val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc
        c.plot_data[-1] = [cat, val]
        page.save()
        - - - - - - - - - - - - - - - - +
        fake = Faker()
        f = FakeCategoricalSeries()
        cat, val, pc = f.next()
        c = page.add('example', ui.small_series_stat_card(
        box='1 1 1 1',
        title=fake.cryptocurrency_name(),
        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        data=dict(qux=val, quux=pc),
        plot_category='foo',
        plot_type='interval',
        plot_value='qux',
        plot_color='$red',
        plot_data=data('foo qux', -20),
        plot_zero_value=0,
        ))
        page.save()
        +
        while True:
        time.sleep(1)
        cat, val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc
        c.plot_data[-1] = [cat, val]
        page.save()

        Tags:  intervalseriesstat_card

        + + + + + + + + + + diff --git a/docs/docs/examples/stat-small/index.html b/docs/docs/examples/stat-small/index.html index de9696b7a7..053c5c8d86 100644 --- a/docs/docs/examples/stat-small/index.html +++ b/docs/docs/examples/stat-small/index.html @@ -4,50 +4,39 @@ + - Stat / Small | H2O Wave - - - - - - - - - - - - - - - - + Stat / Small | H2O Wave + + + + + + + + + +
        -

        Stat / Small

        Create a stat card displaying a single value.

        import time
        +

        Stat / Small

        Create a stat card displaying a single value.

        import time
        from faker import Faker
        from synth import FakePercent
        from h2o_wave import site, ui
        page = site['/demo']
        fake = Faker()
        f = FakePercent()
        val, _ = f.next()
        c = page.add('example', ui.small_stat_card(
        box='1 1 1 1',
        title=fake.cryptocurrency_name(),
        value=f'${val:.2f}',
        ))
        page.save()
        -
        while True:
        time.sleep(1)
        val, _ = f.next()
        c.value = f'${val:.2f}'
        page.save()
        - - - - - - - - - - - - - - - - +
        while True:
        time.sleep(1)
        val, _ = f.next()
        c.value = f'${val:.2f}'
        page.save()

        Tags:  stat_card

        + + + + + + + + + + diff --git a/docs/docs/examples/stat-tall-gauge/index.html b/docs/docs/examples/stat-tall-gauge/index.html index faaebc38d8..d1784f80fe 100644 --- a/docs/docs/examples/stat-tall-gauge/index.html +++ b/docs/docs/examples/stat-tall-gauge/index.html @@ -4,50 +4,39 @@ + - Stat / Gauge / Tall | H2O Wave - - - - - - - - - - - - - - - - + Stat / Gauge / Tall | H2O Wave + + + + + + + + + +
        -

        Stat / Gauge / Tall

        Create a tall stat card displaying a primary value, an auxiliary value and a progress gauge.

        import time
        +

        Stat / Gauge / Tall

        Create a tall stat card displaying a primary value, an auxiliary value and a progress gauge.

        import time
        from faker import Faker
        from synth import FakePercent
        from h2o_wave import site, ui
        page = site['/demo']
        -
        fake = Faker()
        f = FakePercent()
        val, pc = f.next()
        c = page.add(f'example', ui.tall_gauge_stat_card(
        box='1 1 1 2',
        title=fake.cryptocurrency_name(),
        value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        plot_color='$red',
        progress=pc,
        data=dict(foo=val, bar=pc),
        ))
        page.save()
        -
        while True:
        time.sleep(1)
        val, pc = f.next()
        c.data.foo = val
        c.data.bar = pc
        c.progress = pc
        page.save()
        - - - - - - - - - - - - - - - - +
        fake = Faker()
        f = FakePercent()
        val, pc = f.next()
        c = page.add('example', ui.tall_gauge_stat_card(
        box='1 1 1 2',
        title=fake.cryptocurrency_name(),
        value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        plot_color='$red',
        progress=pc,
        data=dict(foo=val, bar=pc),
        ))
        page.save()
        +
        while True:
        time.sleep(1)
        val, pc = f.next()
        c.data.foo = val
        c.data.bar = pc
        c.progress = pc
        page.save()

        Tags:  progressstat_card

        + + + + + + + + + + diff --git a/docs/docs/examples/stat-tall-series-area/index.html b/docs/docs/examples/stat-tall-series-area/index.html index 084a3f69fe..062499851b 100644 --- a/docs/docs/examples/stat-tall-series-area/index.html +++ b/docs/docs/examples/stat-tall-series-area/index.html @@ -4,50 +4,39 @@ + - Stat / Series / Tall / Area | H2O Wave - - - - - - - - - - - - - - - - + Stat / Series / Tall / Area | H2O Wave + + + + + + + + + +
        -

        Stat / Series / Tall / Area

        Create a tall stat card displaying a primary value, an auxiliary value and a series plot.

        import time
        +

        Stat / Series / Tall / Area

        Create a tall stat card displaying a primary value, an auxiliary value and a series plot.

        import time
        from faker import Faker
        from synth import FakeCategoricalSeries
        from h2o_wave import site, ui, data
        page = site['/demo']
        colors = '$red $pink $blue $azure $cyan $teal $mint $green $lime $yellow $amber $orange $tangerine'.split()
        curves = 'linear smooth step step-after step-before'.split()
        fake = Faker()
        cards = []
        for i in range(len(curves)):
        f = FakeCategoricalSeries()
        cat, val, pc = f.next()
        c = page.add(f'example{i}', ui.tall_series_stat_card(
        box=f'{i + 1} 1 1 2',
        title=fake.cryptocurrency_name(),
        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
        data=dict(qux=val, quux=pc / 100),
        plot_type='area',
        plot_category='foo',
        plot_value='qux',
        plot_color=colors[i],
        plot_data=data('foo qux', -15),
        plot_zero_value=0,
        plot_curve=curves[i],
        ))
        cards.append((f, c))
        page.save()
        -
        while True:
        time.sleep(1)
        for f, c in cards:
        cat, val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc / 100
        c.plot_data[-1] = [cat, val]
        page.save()
        - - - - - - - - - - - - - - - - +
        while True:
        time.sleep(1)
        for f, c in cards:
        cat, val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc / 100
        c.plot_data[-1] = [cat, val]
        page.save()

        Tags:  seriesstat_card

        + + + + + + + + + + diff --git a/docs/docs/examples/stat-tall-series-interval/index.html b/docs/docs/examples/stat-tall-series-interval/index.html index b91a5e3c94..a0be81453b 100644 --- a/docs/docs/examples/stat-tall-series-interval/index.html +++ b/docs/docs/examples/stat-tall-series-interval/index.html @@ -4,50 +4,39 @@ + - Stat / Series / Tall / Interval | H2O Wave - - - - - - - - - - - - - - - - + Stat / Series / Tall / Interval | H2O Wave + + + + + + + + + +
        -

        Stat / Series / Tall / Interval

        Create a tall stat card displaying a primary value, an auxiliary value and a series plot.

        import time
        +

        Stat / Series / Tall / Interval

        Create a tall stat card displaying a primary value, an auxiliary value and a series plot.

        import time
        from faker import Faker
        from synth import FakeCategoricalSeries
        from h2o_wave import site, ui, data
        page = site['/demo']
        -
        fake = Faker()
        f = FakeCategoricalSeries()
        cat, val, pc = f.next()
        c = page.add(f'example', ui.tall_series_stat_card(
        box='1 1 1 2',
        title=fake.cryptocurrency_name(),
        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
        data=dict(qux=val, quux=pc / 100),
        plot_category='foo',
        plot_type='interval',
        plot_value='qux',
        plot_color='$red',
        plot_data=data('foo qux', -20),
        plot_zero_value=0,
        ))
        page.save()
        -
        while True:
        time.sleep(1)
        cat, val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc / 100
        c.plot_data[-1] = [cat, val]
        page.save()
        - - - - - - - - - - - - - - - - +
        fake = Faker()
        f = FakeCategoricalSeries()
        cat, val, pc = f.next()
        c = page.add('example', ui.tall_series_stat_card(
        box='1 1 1 2',
        title=fake.cryptocurrency_name(),
        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
        data=dict(qux=val, quux=pc / 100),
        plot_category='foo',
        plot_type='interval',
        plot_value='qux',
        plot_color='$red',
        plot_data=data('foo qux', -20),
        plot_zero_value=0,
        ))
        page.save()
        +
        while True:
        time.sleep(1)
        cat, val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc / 100
        c.plot_data[-1] = [cat, val]
        page.save()

        Tags:  intervalseriesstat_card

        + + + + + + + + + + diff --git a/docs/docs/examples/stat-wide-bar/index.html b/docs/docs/examples/stat-wide-bar/index.html index adf8ac9f63..c052967428 100644 --- a/docs/docs/examples/stat-wide-bar/index.html +++ b/docs/docs/examples/stat-wide-bar/index.html @@ -4,50 +4,39 @@ + - Stat / Bar / Wide | H2O Wave - - - - - - - - - - - - - - - - + Stat / Bar / Wide | H2O Wave + + + + + + + + + +
        -

        Stat / Bar / Wide

        Create a wide stat card displaying a primary value, an auxiliary value and a progress bar.

        import time
        +

        Stat / Bar / Wide

        Create a wide stat card displaying a primary value, an auxiliary value and a progress bar.

        import time
        from faker import Faker
        from synth import FakePercent
        from h2o_wave import site, ui
        page = site['/demo']
        -
        fake = Faker()
        f = FakePercent()
        val, pc = f.next()
        c = page.add(f'example', ui.wide_bar_stat_card(
        box='1 1 2 1',
        title=fake.cryptocurrency_name(),
        value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        plot_color='$red',
        progress=pc,
        data=dict(foo=val, bar=pc),
        ))
        page.save()
        -
        while True:
        time.sleep(1)
        val, pc = f.next()
        c.data.foo = val
        c.data.bar = pc
        c.progress = pc
        page.save()
        - - - - - - - - - - - - - - - - +
        fake = Faker()
        f = FakePercent()
        val, pc = f.next()
        c = page.add('example', ui.wide_bar_stat_card(
        box='1 1 2 1',
        title=fake.cryptocurrency_name(),
        value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        plot_color='$red',
        progress=pc,
        data=dict(foo=val, bar=pc),
        ))
        page.save()
        +
        while True:
        time.sleep(1)
        val, pc = f.next()
        c.data.foo = val
        c.data.bar = pc
        c.progress = pc
        page.save()

        Tags:  progressstat_card

        + + + + + + + + + + diff --git a/docs/docs/examples/stat-wide-gauge/index.html b/docs/docs/examples/stat-wide-gauge/index.html index b35a1b3035..fc7a1afb1f 100644 --- a/docs/docs/examples/stat-wide-gauge/index.html +++ b/docs/docs/examples/stat-wide-gauge/index.html @@ -4,50 +4,39 @@ + - Stat / Gauge / Wide | H2O Wave - - - - - - - - - - - - - - - - + Stat / Gauge / Wide | H2O Wave + + + + + + + + + +
        -

        Stat / Gauge / Wide

        Create a wide stat card displaying a primary value, an auxiliary value and a progress gauge.

        import time
        +

        Stat / Gauge / Wide

        Create a wide stat card displaying a primary value, an auxiliary value and a progress gauge.

        import time
        from faker import Faker
        from synth import FakePercent
        from h2o_wave import site, ui
        page = site['/demo']
        -
        fake = Faker()
        f = FakePercent()
        val, pc = f.next()
        c = page.add(f'example', ui.wide_gauge_stat_card(
        box='1 1 2 1',
        title=fake.cryptocurrency_name(),
        value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        plot_color='$red',
        progress=pc,
        data=dict(foo=val, bar=pc),
        ))
        page.save()
        -
        while True:
        time.sleep(1)
        val, pc = f.next()
        c.data.foo = val
        c.data.bar = pc
        c.progress = pc
        page.save()
        - - - - - - - - - - - - - - - - +
        fake = Faker()
        f = FakePercent()
        val, pc = f.next()
        c = page.add('example', ui.wide_gauge_stat_card(
        box='1 1 2 1',
        title=fake.cryptocurrency_name(),
        value='=${{intl foo minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl bar style="percent" minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        plot_color='$red',
        progress=pc,
        data=dict(foo=val, bar=pc),
        ))
        page.save()
        +
        while True:
        time.sleep(1)
        val, pc = f.next()
        c.data.foo = val
        c.data.bar = pc
        c.progress = pc
        page.save()

        Tags:  progressstat_card

        + + + + + + + + + + diff --git a/docs/docs/examples/stat-wide-series-area/index.html b/docs/docs/examples/stat-wide-series-area/index.html index bdd4ddc2b1..42f5726735 100644 --- a/docs/docs/examples/stat-wide-series-area/index.html +++ b/docs/docs/examples/stat-wide-series-area/index.html @@ -4,50 +4,39 @@ + - Stat / Series / Wide / Area | H2O Wave - - - - - - - - - - - - - - - - + Stat / Series / Wide / Area | H2O Wave + + + + + + + + + +
        -

        Stat / Series / Wide / Area

        Create a wide stat card displaying a primary value, an auxiliary value and a series plot.

        import time
        +

        Stat / Series / Wide / Area

        Create a wide stat card displaying a primary value, an auxiliary value and a series plot.

        import time
        from faker import Faker
        from synth import FakeCategoricalSeries
        from h2o_wave import site, ui, data
        page = site['/demo']
        colors = '$red $pink $blue $azure $cyan $teal $mint $green $lime $yellow $amber $orange $tangerine'.split()
        curves = 'linear smooth step step-after step-before'.split()
        fake = Faker()
        cards = []
        for i in range(len(curves)):
        f = FakeCategoricalSeries()
        cat, val, pc = f.next()
        c = page.add(f'example{i}', ui.wide_series_stat_card(
        box=f'1 {i + 1} 2 1',
        title=fake.cryptocurrency_name(),
        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
        data=dict(qux=val, quux=pc / 100),
        plot_category='foo',
        plot_type='area',
        plot_value='qux',
        plot_color=colors[i],
        plot_data=data('foo qux', -15),
        plot_zero_value=0,
        plot_curve=curves[i],
        ))
        cards.append((f, c))
        page.save()
        -
        while True:
        time.sleep(1)
        for f, c in cards:
        cat, val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc / 100
        c.plot_data[-1] = [cat, val]
        page.save()
        - - - - - - - - - - - - - - - - +
        while True:
        time.sleep(1)
        for f, c in cards:
        cat, val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc / 100
        c.plot_data[-1] = [cat, val]
        page.save()

        Tags:  seriesstat_card

        + + + + + + + + + + diff --git a/docs/docs/examples/stat-wide-series-interval/index.html b/docs/docs/examples/stat-wide-series-interval/index.html index 4e8be19394..d862f43e56 100644 --- a/docs/docs/examples/stat-wide-series-interval/index.html +++ b/docs/docs/examples/stat-wide-series-interval/index.html @@ -4,50 +4,39 @@ + - Stat / Series / Wide / Interval | H2O Wave - - - - - - - - - - - - - - - - + Stat / Series / Wide / Interval | H2O Wave + + + + + + + + + +
        -

        Stat / Series / Wide / Interval

        Create a wide stat card displaying a primary value, an auxiliary value and a series plot.

        import time
        +

        Stat / Series / Wide / Interval

        Create a wide stat card displaying a primary value, an auxiliary value and a series plot.

        import time
        from faker import Faker
        from synth import FakeCategoricalSeries
        from h2o_wave import site, ui, data
        page = site['/demo']
        -
        fake = Faker()
        f = FakeCategoricalSeries()
        cat, val, pc = f.next()
        c = page.add(f'example', ui.wide_series_stat_card(
        box='1 1 2 1',
        title=fake.cryptocurrency_name(),
        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
        data=dict(qux=val, quux=pc / 100),
        plot_category='foo',
        plot_type='interval',
        plot_value='qux',
        plot_color='$red',
        plot_data=data('foo qux', -15),
        plot_zero_value=0,
        ))
        page.save()
        -
        while True:
        time.sleep(1)
        cat, val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc / 100
        c.plot_data[-1] = [cat, val]
        page.save()
        - - - - - - - - - - - - - - - - +
        fake = Faker()
        f = FakeCategoricalSeries()
        cat, val, pc = f.next()
        c = page.add('example', ui.wide_series_stat_card(
        box='1 1 2 1',
        title=fake.cryptocurrency_name(),
        value='=${{intl qux minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        aux_value='={{intl quux style="percent" minimum_fraction_digits=1 maximum_fraction_digits=1}}',
        data=dict(qux=val, quux=pc / 100),
        plot_category='foo',
        plot_type='interval',
        plot_value='qux',
        plot_color='$red',
        plot_data=data('foo qux', -15),
        plot_zero_value=0,
        ))
        page.save()
        +
        while True:
        time.sleep(1)
        cat, val, pc = f.next()
        c.data.qux = val
        c.data.quux = pc / 100
        c.plot_data[-1] = [cat, val]
        page.save()

        Tags:  intervalseriesstat_card

        + + + + + + + + + + diff --git a/docs/docs/examples/stepper/index.html b/docs/docs/examples/stepper/index.html index 3d0cad2138..92af154854 100644 --- a/docs/docs/examples/stepper/index.html +++ b/docs/docs/examples/stepper/index.html @@ -4,47 +4,36 @@ + - Form / Stepper | H2O Wave - - - - - - - - - - - - - - - - + Form / Stepper | H2O Wave + + + + + + + + + +
        -

        Form / Stepper

        Use Stepper to show progress through numbered steps.

        from h2o_wave import main, app, Q, ui
        +

        Form / Stepper

        Use Stepper to show progress through numbered steps.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        q.page['basic-stepper'] = ui.form_card(
        box='1 1 4 1',
        items=[
        ui.stepper(name='basic-stepper', items=[
        ui.step(label='Step 1'),
        ui.step(label='Step 2'),
        ui.step(label='Step 3'),
        ])
        ]
        )
        q.page['icon-stepper'] = ui.form_card(
        box='1 2 4 1',
        items=[
        ui.stepper(name='icon-stepper', items=[
        ui.step(label='Step 1', icon='MailLowImportance'),
        ui.step(label='Step 2', icon='TaskManagerMirrored'),
        ui.step(label='Step 3', icon='Cafe'),
        ])
        ]
        )
        q.page['almost-done-stepper'] = ui.form_card(
        box='1 3 4 1',
        items=[
        ui.stepper(name='almost-done-stepper', items=[
        ui.step(label='Step 1', done=True),
        ui.step(label='Step 2', done=True),
        ui.step(label='Step 3'),
        ])
        ]
        )
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        q.page['basic-stepper'] = ui.form_card(
        box='1 1 4 2',
        items=[
        ui.stepper(name='basic-stepper', items=[
        ui.step(label='Step 1'),
        ui.step(label='Step 2'),
        ui.step(label='Step 3'),
        ])
        ]
        )
        q.page['icon-stepper'] = ui.form_card(
        box='1 3 4 2',
        items=[
        ui.stepper(name='icon-stepper', items=[
        ui.step(label='Step 1', icon='MailLowImportance'),
        ui.step(label='Step 2', icon='TaskManagerMirrored'),
        ui.step(label='Step 3', icon='Cafe'),
        ])
        ]
        )
        q.page['almost-done-stepper'] = ui.form_card(
        box='1 5 4 2',
        items=[
        ui.stepper(name='almost-done-stepper', items=[
        ui.step(label='Step 1', done=True),
        ui.step(label='Step 2', done=True),
        ui.step(label='Step 3'),
        ])
        ]
        )
        await q.page.save()

        Tags:  formprogressstepper

        + + + + + + + + + + diff --git a/docs/docs/examples/swatch-picker/index.html b/docs/docs/examples/swatch-picker/index.html index 1e0c38194b..100c3c75dc 100644 --- a/docs/docs/examples/swatch-picker/index.html +++ b/docs/docs/examples/swatch-picker/index.html @@ -4,47 +4,36 @@ + - Form / Swatch Picker | H2O Wave - - - - - - - - - - - - - - - - + Form / Swatch Picker | H2O Wave + + + + + + + + + +
        -

        Form / Swatch Picker

        Use a swatch picker to allow users to choose a from a specific set of colors.

        from h2o_wave import main, app, Q, ui
        +

        Form / Swatch Picker

        Use a swatch picker to allow users to choose a from a specific set of colors.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'swatch={q.args.swatch}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.color_picker(
        name='swatch',
        label='Pick a swatch',
        choices=[
        '#011627', '#2EC4B6', '#E71D36', '#FF9F1C', '#50514F',
        '#F25F5C', '#FFE066', '#247BA0', '#70C1B3', '#FDFFFC',
        ]),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'swatch={q.args.swatch}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.color_picker(
        name='swatch',
        label='Pick a swatch',
        choices=[
        '#011627', '#2EC4B6', '#E71D36', '#FF9F1C', '#50514F',
        '#F25F5C', '#FFE066', '#247BA0', '#70C1B3', '#FDFFFC',
        ]),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  formswatch_picker

        + + + + + + + + + + diff --git a/docs/docs/examples/tab-delete/index.html b/docs/docs/examples/tab-delete/index.html index 723c5343bb..72afe69f8a 100644 --- a/docs/docs/examples/tab-delete/index.html +++ b/docs/docs/examples/tab-delete/index.html @@ -4,29 +4,24 @@ + - Tabs / Navigation | H2O Wave - - - - - - - - - - - - - - - - + Tabs / Navigation | H2O Wave + + + + + + + + + +
        -

        Tabs / Navigation

        Navigate between two or more tabs. +

        Tabs / Navigation

        Navigate between two or more tabs. Delete the cards when switching between tabs.

        from h2o_wave import main, app, Q, ui
        TABS = 'abcde'
        @@ -36,23 +31,17 @@
        @app('/demo')
        async def serve(q: Q):
        if not q.client.initialized:
        q.client.tab = 'a'
        q.page['tabs'] = ui.tab_card( # Initialize once
        box='1 1 4 1',
        items=[ui.tab(name=f'#{t}', label=t.upper()) for t in TABS]
        )
        q.client.initialized = True
        if q.args['#']:
        q.client.tab = str(q.args['#'])
        -
        await remove_cards(q)
        await display_tab(q)
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        await remove_cards(q)
        await display_tab(q)
        await q.page.save()

        Tags:  navigationtabs

        + + + + + + + + + + diff --git a/docs/docs/examples/tab-link/index.html b/docs/docs/examples/tab-link/index.html index 1536f3fd6b..a35a8b2063 100644 --- a/docs/docs/examples/tab-link/index.html +++ b/docs/docs/examples/tab-link/index.html @@ -4,48 +4,37 @@ + - Tab / Links | H2O Wave - - - - - - - - - - - - - - - - + Tab / Links | H2O Wave + + + + + + + + + +
        -

        Tab / Links

        Use tab cards to display tabs on a page. +

        Tab / Links

        Use tab cards to display tabs on a page. This examples render tabs styled as links.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if '#' in q.args:
        hash_ = q.args['#']
        q.page['tabs'] = ui.form_card(box='1 1 2 5', items=[
        ui.text(f'#={hash_}'),
        ui.button(name='show_tabs', label='Back', primary=True),
        ])
        else:
        q.page['tabs'] = ui.tab_card(
        box='1 1 4 1',
        items=[
        ui.tab(name='#menu/spam', label='Spam'),
        ui.tab(name='#menu/ham', label='Ham'),
        ui.tab(name='#menu/eggs', label='Eggs'),
        ui.tab(name='#about', label='About'),
        ],
        link=True,
        )
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if '#' in q.args:
        hash_ = q.args['#']
        q.page['tabs'] = ui.form_card(box='1 1 2 5', items=[
        ui.text(f'#={hash_}'),
        ui.button(name='show_tabs', label='Back', primary=True),
        ])
        else:
        q.page['tabs'] = ui.tab_card(
        box='1 1 4 1',
        items=[
        ui.tab(name='#menu/spam', label='Spam'),
        ui.tab(name='#menu/ham', label='Ham'),
        ui.tab(name='#menu/eggs', label='Eggs'),
        ui.tab(name='#about', label='About'),
        ],
        link=True,
        )
        await q.page.save()

        Tags:  linktabs

        + + + + + + + + + + diff --git a/docs/docs/examples/tab-routing/index.html b/docs/docs/examples/tab-routing/index.html index 045282c4e8..1c0d697b1c 100644 --- a/docs/docs/examples/tab-routing/index.html +++ b/docs/docs/examples/tab-routing/index.html @@ -4,48 +4,37 @@ + - Routing / Tabs | H2O Wave - - - - - - - - - - - - - - - - + Routing / Tabs | H2O Wave + + + + + + + + + +
        -

        Routing / Tabs

        This example demonstrates how you can observe and handle changes to the browser's -location hash

        The location hash can be accessed using q.args['#'].

        from h2o_wave import main, app, Q, ui
        +

        Routing / Tabs

        This example demonstrates how you can observe and handle changes to the browser's +location hash.

        The location hash can be accessed using q.args['#'].

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        hash = q.args['#']
        if hash:
        blurb = q.page['blurb']
        if hash == 'menu/spam':
        blurb.content = "Sorry, we're out of spam!"
        elif hash == 'menu/ham':
        blurb.content = "Sorry, we're out of ham!"
        elif hash == 'menu/eggs':
        blurb.content = "Sorry, we're out of eggs!"
        elif hash == 'about':
        blurb.content = 'Everything here is gluten-free!'
        else:
        q.page['nav'] = ui.tab_card(
        box='1 1 4 1',
        items=[
        ui.tab(name='#menu/spam', label='Spam'),
        ui.tab(name='#menu/ham', label='Ham'),
        ui.tab(name='#menu/eggs', label='Eggs'),
        ui.tab(name='#about', label='About'),
        ],
        )
        q.page['blurb'] = ui.markdown_card(
        box='1 2 4 2',
        title='Store',
        content='Welcome to our store!',
        )
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        hash = q.args['#']
        if hash:
        blurb = q.page['blurb']
        if hash == 'menu/spam':
        blurb.content = "Sorry, we're out of spam!"
        elif hash == 'menu/ham':
        blurb.content = "Sorry, we're out of ham!"
        elif hash == 'menu/eggs':
        blurb.content = "Sorry, we're out of eggs!"
        elif hash == 'about':
        blurb.content = 'Everything here is gluten-free!'
        else:
        q.page['nav'] = ui.tab_card(
        box='1 1 4 1',
        items=[
        ui.tab(name='#menu/spam', label='Spam'),
        ui.tab(name='#menu/ham', label='Ham'),
        ui.tab(name='#menu/eggs', label='Eggs'),
        ui.tab(name='#about', label='About'),
        ],
        )
        q.page['blurb'] = ui.markdown_card(
        box='1 2 4 2',
        title='Store',
        content='Welcome to our store!',
        )
        await q.page.save()

        Tags:  routingtabs

        + + + + + + + + + + diff --git a/docs/docs/examples/tab/index.html b/docs/docs/examples/tab/index.html index 5bab002df9..fbcf8231d5 100644 --- a/docs/docs/examples/tab/index.html +++ b/docs/docs/examples/tab/index.html @@ -4,47 +4,36 @@ + - Tab | H2O Wave - - - - - - - - - - - - - - - - + Tab | H2O Wave + + + + + + + + + +
        -

        Tab

        Use tab cards to display tabs on a page.

        from h2o_wave import main, app, Q, ui
        +

        Tab

        Use tab cards to display tabs on a page.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if '#' in q.args:
        hash_ = q.args['#']
        q.page['tabs'] = ui.form_card(box='1 1 2 5', items=[
        ui.text(f'#={hash_}'),
        ui.button(name='show_tabs', label='Back', primary=True),
        ])
        else:
        q.page['tabs'] = ui.tab_card(
        box='1 1 4 1',
        items=[
        ui.tab(name='#menu/spam', label='Spam'),
        ui.tab(name='#menu/ham', label='Ham'),
        ui.tab(name='#menu/eggs', label='Eggs'),
        ui.tab(name='#about', label='About'),
        ],
        )
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if '#' in q.args:
        hash_ = q.args['#']
        q.page['tabs'] = ui.form_card(box='1 1 2 5', items=[
        ui.text(f'#={hash_}'),
        ui.button(name='show_tabs', label='Back', primary=True),
        ])
        else:
        q.page['tabs'] = ui.tab_card(
        box='1 1 4 1',
        items=[
        ui.tab(name='#menu/spam', label='Spam'),
        ui.tab(name='#menu/ham', label='Ham'),
        ui.tab(name='#menu/eggs', label='Eggs'),
        ui.tab(name='#about', label='About'),
        ],
        )
        await q.page.save()

        Tags:  tabs

        + + + + + + + + + + diff --git a/docs/docs/examples/table-download/index.html b/docs/docs/examples/table-download/index.html index 8fc6da551b..103d7e2452 100644 --- a/docs/docs/examples/table-download/index.html +++ b/docs/docs/examples/table-download/index.html @@ -4,29 +4,24 @@ + - Table / Download | H2O Wave - - - - - - - - - - - - - - - - + Table / Download | H2O Wave + + + + + + + + + +
        -

        Table / Download

        Allow downloading a table's data as CSV file.

        import random
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        +

        Table / Download

        Allow downloading a table's data as CSV file.

        import random
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        fake = Faker()
        _id = 0
        @@ -35,23 +30,17 @@
        # Create some issues
        issues = [
        Issue(
        text=fake.sentence(),
        status=('Closed' if i % 2 == 0 else 'Open'),
        progress=random.random(),
        icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'),
        notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)
        ]
        # Create columns for our issue table.
        columns = [
        ui.table_column(name='text', label='Issue'),
        ui.table_column(name='status', label='Status'),
        ui.table_column(name='notifications', label='Notifications'),
        ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),
        ui.table_column(name='views', label='Views'),
        ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),
        ]
        -
        @app('/demo')
        async def serve(q: Q):
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(
        name=issue.id,
        cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for
        issue in issues],
        downloadable=True,
        )
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(
        name=issue.id,
        cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for
        issue in issues],
        downloadable=True,
        )
        ])
        await q.page.save()

        Tags:  downloadtable

        + + + + + + + + + + diff --git a/docs/docs/examples/table-filter-backend/index.html b/docs/docs/examples/table-filter-backend/index.html index a405493499..13e9e3a8d9 100644 --- a/docs/docs/examples/table-filter-backend/index.html +++ b/docs/docs/examples/table-filter-backend/index.html @@ -4,29 +4,24 @@ + - Table / Filter / Backend | H2O Wave - - - - - - - - - - - - - - - - + Table / Filter / Backend | H2O Wave + + + + + + + + + +
        -

        Table / Filter / Backend

        Filter table using Python

        import pandas as pd
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        +

        Table / Filter / Backend

        Filter table using Python.

        import pandas as pd
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        fake = Faker()
        N = 50 # number of rows
        # Make a synthetic data frame
        addresses = pd.DataFrame(dict(
        ID=[i + 1 for i in range(N)],
        Name=[fake.name() for _ in range(N)],
        Language=[fake.language_name() for _ in range(N)],
        Job=[fake.job() for _ in range(N)],
        Address=[fake.address() for _ in range(N)],
        City=[fake.city() for _ in range(N)],
        ))
        @@ -37,23 +32,17 @@
        def search_df(df: pd.DataFrame, term: str):
        str_cols = df.select_dtypes(include=[object])
        return df[str_cols.apply(lambda column: column.str.contains(term, case=False, na=False)).any(axis=1)]
        @app('/demo')
        async def serve(q: Q):
        if not q.client.initialized:
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.textbox(name='search', label='Search', placeholder='Enter a keyword...', trigger=True),
        ui.table(
        name='issues',
        columns=[ui.table_column(name=name, label=name) for name in column_names],
        rows=df_to_rows(addresses)
        )
        ])
        q.client.initialized = True
        else:
        items = q.page['form'].items
        search_box = items[0].textbox
        table = items[1].table
        term: str = q.args.search
        term = term.strip() if term else ''
        search_box.value = term
        table.rows = df_to_rows(search_df(addresses, term) if len(term) else addresses)
        -
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        await q.page.save()

        Tags:  table

        + + + + + + + + + + diff --git a/docs/docs/examples/table-filter/index.html b/docs/docs/examples/table-filter/index.html index 5e47b1fd93..9871683d15 100644 --- a/docs/docs/examples/table-filter/index.html +++ b/docs/docs/examples/table-filter/index.html @@ -4,29 +4,24 @@ + - Table / Filter | H2O Wave - - - - - - - - - - - - - - - - + Table / Filter | H2O Wave + + + + + + + + + +
        -

        Table / Filter

        Enable filtering values for specific columns.

        import random
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        +

        Table / Filter

        Enable filtering values for specific columns.

        import random
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        fake = Faker()
        _id = 0
        @@ -35,23 +30,17 @@
        # Create some issues
        issues = [
        Issue(
        text=fake.sentence(),
        status=('Closed' if i % 2 == 0 else 'Open'),
        progress=random.random(),
        icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'),
        notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)
        ]
        # Create columns for our issue table.
        columns = [
        ui.table_column(name='text', label='Issue'),
        ui.table_column(name='status', label='Status', filterable=True),
        ui.table_column(name='notifications', label='Notifications', filterable=True),
        ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),
        ui.table_column(name='views', label='Views'),
        ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),
        ]
        -
        @app('/demo')
        async def serve(q: Q):
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(
        name=issue.id,
        cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for
        issue in issues]
        )
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(
        name=issue.id,
        cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for
        issue in issues]
        )
        ])
        await q.page.save()

        Tags:  table

        + + + + + + + + + + diff --git a/docs/docs/examples/table-groupby/index.html b/docs/docs/examples/table-groupby/index.html index bc8a3d6bf9..07f2bee091 100644 --- a/docs/docs/examples/table-groupby/index.html +++ b/docs/docs/examples/table-groupby/index.html @@ -4,29 +4,24 @@ + - Table / Group by | H2O Wave - - - - - - - - - - - - - - - - + Table / Group by | H2O Wave + + + + + + + + + +
        -

        Table / Group by

        Allow grouping a table by column values.

        import random
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        +

        Table / Group by

        Allow grouping a table by column values.

        import random
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        fake = Faker()
        _id = 0
        @@ -35,23 +30,17 @@
        # Create some issues
        issues = [
        Issue(
        text=fake.sentence(),
        status=('Closed' if i % 2 == 0 else 'Open'),
        progress=random.random(),
        icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'),
        notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)
        ]
        # Create columns for our issue table.
        columns = [
        ui.table_column(name='text', label='Issue'),
        ui.table_column(name='status', label='Status'),
        ui.table_column(name='notifications', label='Notifications'),
        ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),
        ui.table_column(name='views', label='Views'),
        ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),
        ]
        -
        @app('/demo')
        async def serve(q: Q):
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(
        name=issue.id,
        cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for
        issue in issues],
        groupable=True,
        )])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(
        name=issue.id,
        cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for
        issue in issues],
        groupable=True,
        )])
        await q.page.save()

        Tags:  table

        + + + + + + + + + + diff --git a/docs/docs/examples/table-markdown-pandas/index.html b/docs/docs/examples/table-markdown-pandas/index.html index 6c2ebaf79b..93ba850a0e 100644 --- a/docs/docs/examples/table-markdown-pandas/index.html +++ b/docs/docs/examples/table-markdown-pandas/index.html @@ -4,29 +4,24 @@ + - Table / Markdown / Pandas | H2O Wave - - - - - - - - - - - - - - - - + Table / Markdown / Pandas | H2O Wave + + + + + + + + + +
        -

        Table / Markdown / Pandas

        Display a pandas dataframe as a markdown table.

        from h2o_wave import site, ui
        import pandas as pd
        +

        Table / Markdown / Pandas

        Display a pandas dataframe as a markdown table.

        from h2o_wave import site, ui
        import pandas as pd
        df = pd.DataFrame({'A': 1.,
        'B': pd.Timestamp('20130102'),
        'C': pd.Series(1, index=list(range(4)), dtype='float32'),
        'D': pd.np.array([3] * 4, dtype='int32'),
        'E': pd.Categorical(["test", "train", "test", "train"]),
        'F': 'foo'})
        def make_markdown_row(values):
        return f"| {' | '.join([str(x) for x in values])} |"
        @@ -35,23 +30,17 @@
        page = site['/demo']
        v = page.add('example', ui.form_card(
        box='1 1 4 5',
        items=[
        ui.text(make_markdown_table(
        fields=df.columns.tolist(),
        rows=df.values.tolist(),
        )),
        ],
        ))
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  dataframemarkdownpandastable

        + + + + + + + + + + diff --git a/docs/docs/examples/table-markdown/index.html b/docs/docs/examples/table-markdown/index.html index c84feefba6..7c68da975c 100644 --- a/docs/docs/examples/table-markdown/index.html +++ b/docs/docs/examples/table-markdown/index.html @@ -4,29 +4,24 @@ + - Table / Markdown | H2O Wave - - - - - - - - - - - - - - - - + Table / Markdown | H2O Wave + + + + + + + + + +
        -

        Table / Markdown

        Display a table using markdown.

        from h2o_wave import site, ui
        +

        Table / Markdown

        Display a table using markdown.

        from h2o_wave import site, ui
        air_passengers_fields = ['Year', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
        air_passengers_rows = [
        ['1949', '112', '118', '132', '129', '121', '135'],
        ['1950', '115', '126', '141', '135', '125', '149'],
        ['1951', '145', '150', '178', '163', '172', '178'],
        ['1952', '171', '180', '193', '181', '183', '218'],
        ['1953', '196', '196', '236', '235', '229', '243'],
        ['1954', '204', '188', '235', '227', '234', '264'],
        ['1955', '242', '233', '267', '269', '270', '315'],
        ['1956', '284', '277', '317', '313', '318', '374'],
        ['1957', '315', '301', '356', '348', '355', '422'],
        ['1958', '340', '318', '362', '348', '363', '435'],
        ['1959', '360', '342', '406', '396', '420', '472'],
        ['1960', '417', '391', '419', '461', '472', '535'],
        ]
        def make_markdown_row(values):
        return f"| {' | '.join([str(x) for x in values])} |"
        @@ -35,23 +30,17 @@
        page = site['/demo']
        v = page.add('example', ui.form_card(
        box='1 1 4 5',
        items=[
        ui.text(make_markdown_table(
        fields=air_passengers_fields,
        rows=air_passengers_rows,
        )),
        ],
        ))
        -
        page.save()
        - - - - - - - - - - - - - - - - +
        page.save()

        Tags:  markdowntable

        + + + + + + + + + + diff --git a/docs/docs/examples/table-search/index.html b/docs/docs/examples/table-search/index.html index d448628d9d..adfa1dd4a1 100644 --- a/docs/docs/examples/table-search/index.html +++ b/docs/docs/examples/table-search/index.html @@ -4,29 +4,24 @@ + - Table / Search | H2O Wave - - - - - - - - - - - - - - - - + Table / Search | H2O Wave + + + + + + + + + +
        -

        Table / Search

        Enable searching a table across specific columns.

        import random
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        +

        Table / Search

        Enable searching a table across specific columns.

        import random
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        fake = Faker()
        _id = 0
        @@ -35,23 +30,17 @@
        # Create some issues
        issues = [
        Issue(
        text=fake.sentence(),
        status=('Closed' if i % 2 == 0 else 'Open'),
        progress=random.random(),
        icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'),
        notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)
        ]
        # Create columns for our issue table.
        columns = [
        ui.table_column(name='text', label='Issue', searchable=True),
        ui.table_column(name='status', label='Status'),
        ui.table_column(name='notifications', label='Notifications'),
        ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),
        ui.table_column(name='views', label='Views'),
        ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),
        ]
        -
        @app('/demo')
        async def serve(q: Q):
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(
        name=issue.id,
        cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for
        issue in issues],
        )
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(
        name=issue.id,
        cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for
        issue in issues],
        )
        ])
        await q.page.save()

        Tags:  searchtable

        + + + + + + + + + + diff --git a/docs/docs/examples/table-select/index.html b/docs/docs/examples/table-select/index.html index ac942fa648..1960a03901 100644 --- a/docs/docs/examples/table-select/index.html +++ b/docs/docs/examples/table-select/index.html @@ -4,29 +4,24 @@ + - Table / Preselection | H2O Wave - - - - - - - - - - - - - - - - + Table / Preselection | H2O Wave + + + + + + + + + +
        -

        Table / Preselection

        Use a table as an advanced multi-select. Specify rownames in 'values' for preselection.

        from faker import Faker
        from h2o_wave import main, app, Q, ui
        +

        Table / Preselection

        Use a table as an advanced multi-select. Specify row names in 'values' for selection.

        from faker import Faker
        from h2o_wave import main, app, Q, ui
        fake = Faker()
        _id = 0
        @@ -35,23 +30,17 @@
        # Create some issues
        issues = [Issue(text=fake.sentence()) for i in range(10)]
        # Create columns for our issue table.
        columns = [ui.table_column(name='text', label='Issue', min_width='300px')]
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'selected={q.args.issues}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(name=issue.id, cells=[issue.text]) for issue in issues],
        values=['I1', 'I2', 'I3']
        ),
        ui.button(name='show_inputs', label='Submit', primary=True)
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'selected={q.args.issues}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(name=issue.id, cells=[issue.text]) for issue in issues],
        values=['I1', 'I2', 'I3']
        ),
        ui.button(name='show_inputs', label='Submit', primary=True)
        ])
        await q.page.save()

        Tags:  selectiontable

        + + + + + + + + + + diff --git a/docs/docs/examples/table-sort/index.html b/docs/docs/examples/table-sort/index.html index 81478e70cc..39ca35c8a6 100644 --- a/docs/docs/examples/table-sort/index.html +++ b/docs/docs/examples/table-sort/index.html @@ -4,29 +4,24 @@ + - Table / Sort | H2O Wave - - - - - - - - - - - - - - - - + Table / Sort | H2O Wave + + + + + + + + + +
        -

        Table / Sort

        Allow sorting a table by specific columns.

        import random
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        +

        Table / Sort

        Allow sorting a table by specific columns.

        import random
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        fake = Faker()
        _id = 0
        @@ -35,23 +30,17 @@
        # Create some issues
        issues = [
        Issue(
        text=fake.sentence(),
        status=('Closed' if i % 2 == 0 else 'Open'),
        progress=random.random(),
        icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'),
        notifications=('Off' if random.random() > 0.5 else 'On')) for i in range(100)
        ]
        # Create columns for our issue table.
        columns = [
        ui.table_column(name='text', label='Issue', sortable=True, ),
        ui.table_column(name='status', label='Status'),
        ui.table_column(name='notifications', label='Notifications'),
        ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),
        ui.table_column(name='views', label='Views', sortable=True),
        ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),
        ]
        -
        @app('/demo')
        async def serve(q: Q):
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(
        name=issue.id,
        cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for
        issue in issues],
        )
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(
        name=issue.id,
        cells=[issue.text, issue.status, issue.notifications, issue.icon, str(issue.views), issue.progress]) for
        issue in issues],
        )
        ])
        await q.page.save()

        Tags:  table

        + + + + + + + + + + diff --git a/docs/docs/examples/table/index.html b/docs/docs/examples/table/index.html index 6eed44b23c..05aa613134 100644 --- a/docs/docs/examples/table/index.html +++ b/docs/docs/examples/table/index.html @@ -4,29 +4,26 @@ + - Table | H2O Wave - - - - - - - - - - - - - - - - + Table | H2O Wave + + + + + + + + + +
        -

        Table

        Use a table to display tabular data.

        import random
        from faker import Faker
        from h2o_wave import main, app, Q, ui
        +

        Table

        Use a table to display tabular data.

        import random
        +
        from faker import Faker
        +
        from h2o_wave import main, app, Q, ui
        fake = Faker()
        _id = 0
        @@ -35,23 +32,17 @@
        # Create some issues
        issues = [
        Issue(
        text=fake.sentence(),
        status=('Closed' if i % 2 == 0 else 'Open'),
        progress=random.random(),
        icon=('BoxCheckmarkSolid' if random.random() > 0.5 else 'BoxMultiplySolid'),
        notifications=('Off' if random.random() > 0.5 else 'On'),
        created=fake.iso8601()) for i in range(100)
        ]
        # Create columns for our issue table.
        columns = [
        ui.table_column(name='text', label='Issue', sortable=True, searchable=True, max_width='300'),
        ui.table_column(name='status', label='Status', filterable=True),
        ui.table_column(name='notifications', label='Notifications', filterable=True),
        ui.table_column(name='done', label='Done', cell_type=ui.icon_table_cell_type()),
        ui.table_column(name='views', label='Views', sortable=True, data_type='number'),
        ui.table_column(name='progress', label='Progress', cell_type=ui.progress_table_cell_type()),
        ui.table_column(name='created', label='Created', sortable=True, data_type='time'),
        ]
        -
        @app('/demo')
        async def serve(q: Q):
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(
        name=issue.id,
        cells=[issue.text, issue.status, issue.notifications, issue.icon,
        str(issue.views), issue.progress, issue.created]
        ) for issue in issues],
        groupable=True,
        downloadable=True,
        resettable=True,
        height='800px'
        )
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        q.page['form'] = ui.form_card(box='1 1 -1 11', items=[
        ui.table(
        name='issues',
        columns=columns,
        rows=[ui.table_row(
        name=issue.id,
        cells=[issue.text, issue.status, issue.notifications, issue.icon,
        str(issue.views), issue.progress, issue.created]
        ) for issue in issues],
        groupable=True,
        downloadable=True,
        resettable=True,
        height='800px'
        )
        ])
        await q.page.save()

        Tags:  table

        + + + + + + + + + + diff --git a/docs/docs/examples/tabs/index.html b/docs/docs/examples/tabs/index.html index d59c694a2c..094e6fa9b0 100644 --- a/docs/docs/examples/tabs/index.html +++ b/docs/docs/examples/tabs/index.html @@ -4,50 +4,39 @@ + - Form / Tabs | H2O Wave - - - - - - - - - - - - - - - - + Form / Tabs | H2O Wave + + + + + + + + + +
        -

        Form / Tabs

        Use tabs within a form to navigate between two or more distinct content categories.

        from h2o_wave import main, app, Q, ui
        +

        Form / Tabs

        Use tabs within a form to navigate between two or more distinct content categories.

        from h2o_wave import main, app, Q, ui
        tabs = [
        ui.tab(name='email', label='Mail', icon='Mail'),
        ui.tab(name='events', label='Events', icon='Calendar'),
        ui.tab(name='spam', label='Spam'),
        ]
        @app('/demo')
        async def serve(q: Q):
        if q.args.menu:
        q.page['example'].items = [
        ui.tabs(name='menu', value=q.args.menu, items=tabs),
        get_tab_content(q.args.menu),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.tabs(name='menu', value='email', items=tabs),
        get_tab_content('email'),
        ])
        await q.page.save()
        -
        def get_tab_content(category: str):
        # Return a checklist of dummy items.
        items = [f'{category.title()} {i}' for i in range(1, 11)]
        return ui.checklist(name='items', choices=[ui.choice(name=item, label=item) for item in items])
        - - - - - - - - - - - - - - - - +
        def get_tab_content(category: str):
        # Return a checklist of dummy items.
        items = [f'{category.title()} {i}' for i in range(1, 11)]
        return ui.checklist(name='items', choices=[ui.choice(name=item, label=item) for item in items])

        Tags:  formnavigationtabs

        + + + + + + + + + + diff --git a/docs/docs/examples/tags/index.html b/docs/docs/examples/tags/index.html new file mode 100644 index 0000000000..defa3f4624 --- /dev/null +++ b/docs/docs/examples/tags/index.html @@ -0,0 +1,38 @@ + + + + + + + + + + Examples by Tag | H2O Wave + + + + + + + + + + + + +
        +

        Examples by Tag

        altair

        Plot / Altair

        annotation

        Plot / Interval / AnnotationPlot / Interval / Annotation / TransposePlot / Line / AnnotationPlot / Point / Annotation

        background_tasks

        Background TasksBackground Tasks / ExecutorBackground Tasks / Progress

        bokeh

        Plot / Bokeh

        breadcrumbs

        Breadcrumbs

        broadcast

        Mode / BroadcastMode / Broadcast / Global

        buttons

        Form / ButtonForm / Buttons

        checkbox

        Form / Checkbox

        checklist

        Form / Checklist

        choice

        Form / Choice GroupForm / DropdownForm / PickerForm / Picker / Selection

        choice_group

        Form / Choice Group

        collaboration

        Pixel Art

        color_picker

        Form / Color Picker

        combobox

        Form / Combobox

        command

        Toolbar

        context_menu

        Context MenuForm / Menu

        dashboard

        Dashboard

        dataframe

        Table / Markdown / Pandas

        date_picker

        Form / Date PickerForm / Date Picker / Trigger

        dialog

        Meta / Dialog

        download

        Table / DownloadUploads / Download

        dropdown

        Form / Dropdown

        events

        Plot / Events

        executor

        Background Tasks / Executor

        file_upload

        Form / File Upload

        form

        FormForm / ButtonForm / ButtonsForm / CheckboxForm / ChecklistForm / Choice GroupForm / Color PickerForm / ComboboxForm / Date PickerForm / Date Picker / TriggerForm / DropdownForm / File UploadForm / FrameForm / Frame / PathForm / LabelForm / LinkForm / MarkupForm / MenuForm / Message BarForm / PickerForm / Picker / SelectionForm / ProgressForm / Progress / UpdatingForm / Range SliderForm / SeparatorForm / SliderForm / SpinboxForm / StepperForm / Swatch PickerForm / TabsForm / TemplateForm / TextForm / Text / SizesForm / TextboxForm / Textbox / TriggerForm / ToggleFramePlot / FormPlot / Vega-lite / FormUploads / UIWizard

        frame

        Form / FrameForm / Frame / PathFrameFrame / Path

        graphics

        Graphics / ClockGraphics / Glider GunGraphics / HilbertGraphics / PathGraphics / PrimitivesGraphics / SplineGraphics / Turtle

        header

        Header

        hello_world

        Hello World!

        histogram

        Plot / Histogram

        html

        Form / FrameForm / MarkupForm / TemplateFrameMarkupTemplate

        icon

        Meta / Icon

        image

        Image

        interval

        Plot / IntervalPlot / Interval / AnnotationPlot / Interval / Annotation / TransposePlot / Interval / GroupsPlot / Interval / Groups / TransposePlot / Interval / HelixPlot / Interval / LabelsPlot / Interval / PolarPlot / Interval / Polar / StackedPlot / Interval / RangePlot / Interval / StackedPlot / Interval / Stacked / GroupedPlot / Interval / Stacked / Grouped / TransposePlot / Interval / Stacked / TransposePlot / Interval / ThetaPlot / Interval / TransposeStat / Series / Small / IntervalStat / Series / Tall / IntervalStat / Series / Wide / Interval

        label

        Form / Label

        layout

        Layout / PositionLayout / ResponsiveLayout / Size

        link

        Form / LinkTab / Links

        location_hash

        Routing

        map

        Plot / Point / Map

        markdown

        Form / TextMarkdownMarkdown / DataTable / MarkdownTable / Markdown / Pandas

        markup

        Form / MarkupMarkup

        matplotlib

        Plot / Matplotlib

        message_bar

        Form / Message Bar

        meta

        Meta / DialogMeta / IconMeta / NotificationMeta / RedirectMeta / RefreshMeta / Title

        mode

        Mode / BroadcastMode / Broadcast / GlobalMode / MulticastMode / Unicast

        multi_series

        Plot / Line / Groups

        multicast

        Mode / Multicast

        navigation

        BreadcrumbsForm / LinkForm / TabsNavTabs / Navigation

        notification

        Meta / Notification

        pandas

        Table / Markdown / Pandas

        picker

        Form / PickerForm / Picker / Selection

        plot

        Plot / AltairPlot / AppPlot / AreaPlot / Area + LinePlot / Area + Line / GroupsPlot / Area + Line / SmoothPlot / Area / GroupsPlot / Area / NegativePlot / Area / RangePlot / Area / SmoothPlot / Area / StackedPlot / Axis TitlesPlot / BokehPlot / D3.jsPlot / EventsPlot / FormPlot / HistogramPlot / IntervalPlot / Interval / AnnotationPlot / Interval / Annotation / TransposePlot / Interval / GroupsPlot / Interval / Groups / TransposePlot / Interval / HelixPlot / Interval / LabelsPlot / Interval / PolarPlot / Interval / Polar / StackedPlot / Interval / RangePlot / Interval / Range / TransposePlot / Interval / StackedPlot / Interval / Stacked / GroupedPlot / Interval / Stacked / Grouped / TransposePlot / Interval / Stacked / TransposePlot / Interval / ThetaPlot / Interval / TransposePlot / LinePlot / Line / AnnotationPlot / Line / GroupsPlot / Line / LabelsPlot / Line / Labels / OcclusionPlot / Line / Labels/ StrokedPlot / Line / SmoothPlot / Line / StepPlot / Line / Step / AfterPlot / Line / Step / BeforePlot / MatplotlibPlot / PathPlot / Path / PointPlot / Path / SmoothPlot / PlotlyPlot / PointPlot / Point / AnnotationPlot / Point / CustomPlot / Point / GroupsPlot / Point / MapPlot / Point / ShapesPlot / Point / SizesPlot / PolygonPlot / Vega-litePlot / Vega-lite / FormPlot / Vega-lite / Update

        plotly

        Plot / Plotly

        progress

        Background Tasks / ProgressForm / ProgressForm / Progress / UpdatingForm / StepperStat / Bar / LargeStat / Bar / WideStat / Gauge / TallStat / Gauge / Wide

        range

        Form / Range SliderPlot / Interval / Range

        redirect

        Meta / Redirect

        refresh

        Meta / Refresh

        responsive

        Layout / Responsive

        routing

        RoutingRouting / TabsRouting / Toolbar

        search

        Table / Search

        selection

        Form / Picker / SelectionTable / Preselection

        separator

        Form / Separator

        series

        Stat / Series / Small / AreaStat / Series / Small / IntervalStat / Series / Tall / AreaStat / Series / Tall / IntervalStat / Series / Wide / AreaStat / Series / Wide / Interval

        sidebar

        Nav

        site

        Site / Async

        slider

        Form / Range SliderForm / Slider

        spinbox

        Form / Spinbox

        stacked

        Plot / Area / StackedPlot / Interval / Polar / StackedPlot / Interval / StackedPlot / Interval / Stacked / GroupedPlot / Interval / Stacked / Grouped / TransposePlot / Interval / Stacked / Transpose

        stat_card

        Stat / Bar / LargeStat / Bar / WideStat / Gauge / TallStat / Gauge / WideStat / LargeStat / Series / Small / AreaStat / Series / Small / IntervalStat / Series / Tall / AreaStat / Series / Tall / IntervalStat / Series / Wide / AreaStat / Series / Wide / IntervalStat / Small

        stepper

        Form / Stepper

        swatch_picker

        Form / Swatch Picker

        table

        Issue TrackerTableTable / DownloadTable / FilterTable / Filter / BackendTable / Group byTable / MarkdownTable / Markdown / PandasTable / PreselectionTable / SearchTable / Sort

        tabs

        Form / TabsRouting / TabsTabTab / LinksTabs / Navigation

        template

        Form / TemplateTemplateTemplate / Data

        text

        Form / TextForm / Text / Sizes

        textbox

        Form / TextboxForm / Textbox / Trigger

        toggle

        Form / Toggle

        toolbar

        Routing / ToolbarToolbar

        trigger

        Form / Date Picker / TriggerForm / Textbox / Trigger

        unicast

        Mode / Unicast

        upload

        Form / File UploadUploadsUploads / AsyncUploads / DownloadUploads / UI

        vega

        Plot / AltairPlot / Vega-litePlot / Vega-lite / FormPlot / Vega-lite / Update

        wizard

        Wizard
        + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/docs/examples/template-data/index.html b/docs/docs/examples/template-data/index.html index 05817374d5..65c55cbe50 100644 --- a/docs/docs/examples/template-data/index.html +++ b/docs/docs/examples/template-data/index.html @@ -4,52 +4,41 @@ + - Template / Data | H2O Wave - - - - - - - - - - - - - - - - + Template / Data | H2O Wave + + + + + + + + + +
        -

        Template / Data

        Update a template card's data periodically.

        import time
        import random
        from h2o_wave import site, ui
        +

        Template / Data

        Update a template card's data periodically.

        import time
        import random
        from h2o_wave import site, ui
        page = site['/demo']
        page.drop()
        menu = '''
        <ol>
        {{#each dishes}}
        <li><strong>{{name}}</strong> costs {{price}}</li>
        {{/each}}
        </ol
        '''
        -
        menu_card = page.add('template_example', ui.template_card(
        box=f'1 1 2 2',
        title='Surge-priced Menu',
        content=menu,
        data=dict(dishes=[
        dict(name='Spam', price='$2.00'),
        dict(name='Ham', price='$3.45'),
        dict(name='Eggs', price='$1.75'),
        ]),
        ))
        page.save()
        +
        menu_card = page.add('template_example', ui.template_card(
        box='1 1 2 2',
        title='Surge-priced Menu',
        content=menu,
        data=dict(dishes=[
        dict(name='Spam', price='$2.00'),
        dict(name='Ham', price='$3.45'),
        dict(name='Eggs', price='$1.75'),
        ]),
        ))
        page.save()
        -
        def rand_price(): return f'${random.randrange(0, 4)}.{random.randrange(10, 99)}'
        +
        def rand_price():
        return f'${random.randrange(0, 4)}.{random.randrange(10, 99)}'
        -
        dishes = menu_card.data.dishes
        for i in range(98, 2, -1):
        time.sleep(1)
        dishes[0].price = rand_price()
        dishes[1].price = rand_price()
        dishes[2].price = rand_price()
        page.save()
        - - - - - - - - - - - - - - - - +
        dishes = menu_card.data.dishes
        for i in range(98, 2, -1):
        time.sleep(1)
        dishes[0].price = rand_price()
        dishes[1].price = rand_price()
        dishes[2].price = rand_price()
        page.save()

        Tags:  template

        + + + + + + + + + + diff --git a/docs/docs/examples/template/index.html b/docs/docs/examples/template/index.html index bc632aa7b8..593f943b0f 100644 --- a/docs/docs/examples/template/index.html +++ b/docs/docs/examples/template/index.html @@ -4,48 +4,37 @@ + - Template | H2O Wave - - - - - - - - - - - - - - - - + Template | H2O Wave + + + + + + + + + +
        -

        Template

        Use a template card to render dynamic content using a HTML template.

        from h2o_wave import site, pack, ui
        +

        Template

        Use a template card to render dynamic content using a HTML template.

        from h2o_wave import site, pack, ui
        page = site['/demo']
        page.drop()
        menu = '''
        <ol>
        {{#each dishes}}
        <li><strong>{{name}}</strong> costs {{price}}</li>
        {{/each}}
        </ol
        '''
        -
        c = page.add('template_example', ui.template_card(
        box=f'1 1 2 2',
        title='Menu',
        content=menu,
        data=pack(dict(dishes=[
        dict(name='Spam', price='$2.00'),
        dict(name='Ham', price='$3.45'),
        dict(name='Eggs', price='$1.75'),
        ])),
        ))
        page.save()
        - - - - - - - - - - - - - - - - +
        c = page.add('template_example', ui.template_card(
        box='1 1 2 2',
        title='Menu',
        content=menu,
        data=pack(dict(dishes=[
        dict(name='Spam', price='$2.00'),
        dict(name='Ham', price='$3.45'),
        dict(name='Eggs', price='$1.75'),
        ])),
        ))
        page.save()

        Tags:  htmltemplate

        + + + + + + + + + + diff --git a/docs/docs/examples/text-sizes/index.html b/docs/docs/examples/text-sizes/index.html index e684b3f3d0..7ee3ce692b 100644 --- a/docs/docs/examples/text-sizes/index.html +++ b/docs/docs/examples/text-sizes/index.html @@ -4,48 +4,37 @@ + - Form / Text / Sizes | H2O Wave - - - - - - - - - - - - - - - - + Form / Text / Sizes | H2O Wave + + + + + + + + + +
        -

        Form / Text / Sizes

        Use text size variants to display formatted text using predefined font sizes.

        from h2o_wave import site, ui
        +

        Form / Text / Sizes

        Use text size variants to display formatted text using predefined font sizes.

        from h2o_wave import site, ui
        page = site['/demo']
        page['example'] = ui.form_card(
        box='1 1 4 -1',
        items=[
        ui.separator('Separator'),
        ui.text_xl('Extra large text'),
        ui.text_l('Large text'),
        ui.text('Normal text'),
        ui.text_m('Medium text'),
        ui.text_s('Small text'),
        ui.text_xs('Extra small text'),
        -
        # Using `ui.text()` with a `size` argument produces similar results:
        ui.separator('Separator'),
        ui.text('Extra large text', size=ui.TextSize.XL),
        ui.text('Large text', size=ui.TextSize.L),
        ui.text('Normal text'),
        ui.text('Medium text', size=ui.TextSize.M),
        ui.text('Small text', size=ui.TextSize.S),
        ui.text('Extra small text', size=ui.TextSize.XS),
        ],
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        # Using `ui.text()` with a `size` argument produces similar results:
        ui.separator('Separator'),
        ui.text('Extra large text', size=ui.TextSize.XL),
        ui.text('Large text', size=ui.TextSize.L),
        ui.text('Normal text'),
        ui.text('Medium text', size=ui.TextSize.M),
        ui.text('Small text', size=ui.TextSize.S),
        ui.text('Extra small text', size=ui.TextSize.XS),
        ],
        )
        page.save()

        Tags:  formtext

        + + + + + + + + + + diff --git a/docs/docs/examples/text/index.html b/docs/docs/examples/text/index.html index 1415511aa5..f2e3027ead 100644 --- a/docs/docs/examples/text/index.html +++ b/docs/docs/examples/text/index.html @@ -4,29 +4,24 @@ + - Form / Text | H2O Wave - - - - - - - - - - - - - - - - + Form / Text | H2O Wave + + + + + + + + + +
        -

        Form / Text

        Use markdown in a text component to display formatted content within a form.

        from h2o_wave import site, ui
        +

        Form / Text

        Use markdown in a text component to display formatted content within a form.

        from h2o_wave import site, ui
        page = site['/demo']
        sample_markdown = '''
        The **quick** _brown_ fox jumped over the lazy dog.
        Block quote:
        @@ -41,23 +36,17 @@
        Here's a [link to an image](https://upload.wikimedia.org/wikipedia/en/c/cb/Flyingcircus_2.jpg).
        Table:
        | Column 1 | Column 2 | Column 3 |
        | -------- | -------- | -------- |
        | Item 1 | Item 2 | Item 3 |
        | Item 1 | Item 2 | Item 3 |
        | Item 1 | Item 2 | Item 3 |
        '''
        -
        page['example'] = ui.form_card(
        box='1 1 4 -1',
        items=[ui.text(sample_markdown)]
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        page['example'] = ui.form_card(
        box='1 1 4 -1',
        items=[ui.text(sample_markdown)]
        )
        page.save()

        Tags:  formmarkdowntext

        + + + + + + + + + + diff --git a/docs/docs/examples/textbox-trigger/index.html b/docs/docs/examples/textbox-trigger/index.html index 81760f711a..384cf46a06 100644 --- a/docs/docs/examples/textbox-trigger/index.html +++ b/docs/docs/examples/textbox-trigger/index.html @@ -4,49 +4,38 @@ + - Form / Textbox / Trigger | H2O Wave - - - - - - - - - - - - - - - - + Form / Textbox / Trigger | H2O Wave + + + + + + + + + +
        -

        Form / Textbox / Trigger

        To handle live changes to a textbox, enable the trigger attribute.

        from h2o_wave import main, app, Q, ui
        +

        Form / Textbox / Trigger

        To handle live changes to a textbox, enable the trigger attribute.

        from h2o_wave import main, app, Q, ui
        def to_pig_latin(text: str):
        if text is None:
        return ''
        words = text.lower().strip().split(" ")
        text = []
        for word in words:
        if word[0] in 'aeiou':
        text.append(f'{word}yay')
        else:
        for letter in word:
        if letter in 'aeiou':
        text.append(f'{word[word.index(letter):]}{word[:word.index(letter)]}ay')
        break
        return " ".join(text)
        -
        @app('/demo')
        async def serve(q: Q):
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.textbox(name='text', label='English', value=q.args.text or '', multiline=True, trigger=True),
        ui.label('Pig Latin'),
        ui.text(to_pig_latin(q.args.text) or '*Type in some text above to translate to Pig Latin!*'),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.textbox(name='text', label='English', value=q.args.text or '', multiline=True, trigger=True),
        ui.label('Pig Latin'),
        ui.text(to_pig_latin(q.args.text) or '*Type in some text above to translate to Pig Latin!*'),
        ])
        await q.page.save()

        Tags:  formtextboxtrigger

        + + + + + + + + + + diff --git a/docs/docs/examples/textbox/index.html b/docs/docs/examples/textbox/index.html index 35ff4aa792..775d73e7ce 100644 --- a/docs/docs/examples/textbox/index.html +++ b/docs/docs/examples/textbox/index.html @@ -4,47 +4,36 @@ + - Form / Textbox | H2O Wave - - - - - - - - - - - - - - - - + Form / Textbox | H2O Wave + + + + + + + + + +
        -

        Form / Textbox

        Use a textbox to allow users to provide text inputs.

        from h2o_wave import main, app, Q, ui
        +

        Form / Textbox

        Use a textbox to allow users to provide text inputs.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'textbox={q.args.textbox}'),
        ui.text(f'textbox_disabled={q.args.textbox_disabled}'),
        ui.text(f'textbox_readonly={q.args.textbox_readonly}'),
        ui.text(f'textbox_required={q.args.textbox_required}'),
        ui.text(f'textbox_error={q.args.textbox_error}'),
        ui.text(f'textbox_mask={q.args.textbox_mask}'),
        ui.text(f'textbox_icon={q.args.textbox_icon}'),
        ui.text(f'textbox_prefix={q.args.textbox_prefix}'),
        ui.text(f'textbox_suffix={q.args.textbox_suffix}'),
        ui.text(f'textbox_placeholder={q.args.textbox_placeholder}'),
        ui.text(f'textbox_disabled_placeholder={q.args.textbox_disabled_placeholder}'),
        ui.text(f'textbox_multiline={q.args.textbox_multiline}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.textbox(name='textbox', label='Standard'),
        ui.textbox(name='textbox_disabled', label='Disabled', value='I am disabled', disabled=True),
        ui.textbox(name='textbox_readonly', label='Read-only', value='I am read-only', readonly=True),
        ui.textbox(name='textbox_required', label='Required', required=True),
        ui.textbox(name='textbox_error', label='With error message', error='I have an error'),
        ui.textbox(name='textbox_mask', label='With input mask', mask='(999) 999 - 9999'),
        ui.textbox(name='textbox_icon', label='With icon', icon='Calendar'),
        ui.textbox(name='textbox_prefix', label='With prefix', prefix='http://'),
        ui.textbox(name='textbox_suffix', label='With suffix', suffix='@h2o.ai'),
        ui.textbox(name='textbox_placeholder', label='With placeholder', placeholder='I need some input'),
        ui.textbox(name='textbox_disabled_placeholder', label='Disabled with placeholder', disabled=True,
        placeholder='I am disabled'),
        ui.textbox(name='textbox_multiline', label='Multiline textarea', multiline=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'textbox={q.args.textbox}'),
        ui.text(f'textbox_disabled={q.args.textbox_disabled}'),
        ui.text(f'textbox_readonly={q.args.textbox_readonly}'),
        ui.text(f'textbox_required={q.args.textbox_required}'),
        ui.text(f'textbox_error={q.args.textbox_error}'),
        ui.text(f'textbox_mask={q.args.textbox_mask}'),
        ui.text(f'textbox_icon={q.args.textbox_icon}'),
        ui.text(f'textbox_prefix={q.args.textbox_prefix}'),
        ui.text(f'textbox_suffix={q.args.textbox_suffix}'),
        ui.text(f'textbox_placeholder={q.args.textbox_placeholder}'),
        ui.text(f'textbox_disabled_placeholder={q.args.textbox_disabled_placeholder}'),
        ui.text(f'textbox_multiline={q.args.textbox_multiline}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.textbox(name='textbox', label='Standard'),
        ui.textbox(name='textbox_disabled', label='Disabled', value='I am disabled', disabled=True),
        ui.textbox(name='textbox_readonly', label='Read-only', value='I am read-only', readonly=True),
        ui.textbox(name='textbox_required', label='Required', required=True),
        ui.textbox(name='textbox_error', label='With error message', error='I have an error'),
        ui.textbox(name='textbox_mask', label='With input mask', mask='(999) 999 - 9999'),
        ui.textbox(name='textbox_icon', label='With icon', icon='Calendar'),
        ui.textbox(name='textbox_prefix', label='With prefix', prefix='http://'),
        ui.textbox(name='textbox_suffix', label='With suffix', suffix='@h2o.ai'),
        ui.textbox(name='textbox_placeholder', label='With placeholder', placeholder='I need some input'),
        ui.textbox(name='textbox_disabled_placeholder', label='Disabled with placeholder', disabled=True,
        placeholder='I am disabled'),
        ui.textbox(name='textbox_multiline', label='Multiline textarea', multiline=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  formtextbox

        + + + + + + + + + + diff --git a/docs/docs/examples/todo/index.html b/docs/docs/examples/todo/index.html index 58f5e2d393..ac640b5c29 100644 --- a/docs/docs/examples/todo/index.html +++ b/docs/docs/examples/todo/index.html @@ -4,29 +4,24 @@ + - To-do List App | H2O Wave - - - - - - - - - - - - - - - - + To-do List App | H2O Wave + + + + + + + + + +
        -

        To-do List App

        A simple multi-user To-do list application.

        from h2o_wave import main, app, Q, ui
        from typing import List
        +

        To-do List App

        A simple multi-user To-do list application.

        from h2o_wave import main, app, Q, ui
        from typing import List
        _id = 0
        # A simple class that represents a to-do item.
        class TodoItem:
        def __init__(self, text):
        global _id
        _id += 1
        self.id = f'todo_{_id}'
        self.done = False
        self.text = text
        @@ -42,23 +37,17 @@
        async def add_todo(q: Q):
        # Insert a new item
        q.user.todos.insert(0, TodoItem(q.args.text or 'Untitled'))
        # Go back to our list.
        await show_todos(q)
        -
        async def new_todo(q: Q):
        # Display an input form
        q.page['form'] = ui.form_card(box='1 1 4 10', items=[
        ui.text_l('Add To Do'),
        ui.textbox(name='text', label='What needs to be done?', multiline=True),
        ui.buttons([
        ui.button(name='add_todo', label='Add', primary=True),
        ui.button(name='show_todos', label='Back'),
        ]),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        async def new_todo(q: Q):
        # Display an input form
        q.page['form'] = ui.form_card(box='1 1 4 10', items=[
        ui.text_l('Add To Do'),
        ui.textbox(name='text', label='What needs to be done?', multiline=True),
        ui.buttons([
        ui.button(name='add_todo', label='Add', primary=True),
        ui.button(name='show_todos', label='Back'),
        ]),
        ])
        await q.page.save()
        + + + + + + + + + + diff --git a/docs/docs/examples/toggle/index.html b/docs/docs/examples/toggle/index.html index 69e1430182..726d8a7aa1 100644 --- a/docs/docs/examples/toggle/index.html +++ b/docs/docs/examples/toggle/index.html @@ -4,47 +4,36 @@ + - Form / Toggle | H2O Wave - - - - - - - - - - - - - - - - + Form / Toggle | H2O Wave + + + + + + + + + +
        -

        Form / Toggle

        Use a toggle to present users with two mutually exclusive options (to turn settings on and off).

        from h2o_wave import main, app, Q, ui
        +

        Form / Toggle

        Use a toggle to present users with two mutually exclusive options (to turn settings on and off).

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'toggle_unchecked={q.args.toggle_unchecked}'),
        ui.text(f'toggle_checked={q.args.toggle_checked}'),
        ui.text(f'toggle_unchecked_disabled={q.args.toggle_unchecked_disabled}'),
        ui.text(f'toggle_checked_disabled={q.args.toggle_checked_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.toggle(name='toggle_unchecked', label='Not checked'),
        ui.toggle(name='toggle_checked', label='Checked', value=True),
        ui.toggle(name='toggle_unchecked_disabled', label='Not checked (Disabled)', disabled=True),
        ui.toggle(name='toggle_checked_disabled', label='Checked (Disabled)', value=True, disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.show_inputs:
        q.page['example'].items = [
        ui.text(f'toggle_unchecked={q.args.toggle_unchecked}'),
        ui.text(f'toggle_checked={q.args.toggle_checked}'),
        ui.text(f'toggle_unchecked_disabled={q.args.toggle_unchecked_disabled}'),
        ui.text(f'toggle_checked_disabled={q.args.toggle_checked_disabled}'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.toggle(name='toggle_unchecked', label='Not checked'),
        ui.toggle(name='toggle_checked', label='Checked', value=True),
        ui.toggle(name='toggle_unchecked_disabled', label='Not checked (Disabled)', disabled=True),
        ui.toggle(name='toggle_checked_disabled', label='Checked (Disabled)', value=True, disabled=True),
        ui.button(name='show_inputs', label='Submit', primary=True),
        ])
        await q.page.save()

        Tags:  formtoggle

        + + + + + + + + + + diff --git a/docs/docs/examples/toolbar-routing/index.html b/docs/docs/examples/toolbar-routing/index.html index a13503d56d..0628ebc279 100644 --- a/docs/docs/examples/toolbar-routing/index.html +++ b/docs/docs/examples/toolbar-routing/index.html @@ -4,48 +4,37 @@ + - Routing / Toolbar | H2O Wave - - - - - - - - - - - - - - - - + Routing / Toolbar | H2O Wave + + + + + + + + + +
        -

        Routing / Toolbar

        This example demonstrates how you can observe and handle changes to the browser's -location hash

        The location hash can be accessed using q.args['#'].

        from h2o_wave import main, app, Q, ui
        +

        Routing / Toolbar

        This example demonstrates how you can observe and handle changes to the browser's +location hash.

        The location hash can be accessed using q.args['#'].

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        hash = q.args['#']
        if hash:
        blurb = q.page['blurb']
        if hash == 'menu/spam':
        blurb.content = "Sorry, we're out of spam!"
        elif hash == 'menu/ham':
        blurb.content = "Sorry, we're out of ham!"
        elif hash == 'menu/eggs':
        blurb.content = "Sorry, we're out of eggs!"
        elif hash == 'about':
        blurb.content = 'Everything here is gluten-free!'
        else:
        q.page['nav'] = ui.toolbar_card(
        box='1 1 4 1',
        items=[
        ui.command(name='#menu/spam', label='Spam'),
        ui.command(name='#menu/ham', label='Ham'),
        ui.command(name='#menu/eggs', label='Eggs'),
        ui.command(name='#about', label='About'),
        ],
        )
        q.page['blurb'] = ui.markdown_card(
        box='1 2 4 2',
        title='Store',
        content='Welcome to our store!',
        )
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        hash = q.args['#']
        if hash:
        blurb = q.page['blurb']
        if hash == 'menu/spam':
        blurb.content = "Sorry, we're out of spam!"
        elif hash == 'menu/ham':
        blurb.content = "Sorry, we're out of ham!"
        elif hash == 'menu/eggs':
        blurb.content = "Sorry, we're out of eggs!"
        elif hash == 'about':
        blurb.content = 'Everything here is gluten-free!'
        else:
        q.page['nav'] = ui.toolbar_card(
        box='1 1 4 1',
        items=[
        ui.command(name='#menu/spam', label='Spam'),
        ui.command(name='#menu/ham', label='Ham'),
        ui.command(name='#menu/eggs', label='Eggs'),
        ui.command(name='#about', label='About'),
        ],
        )
        q.page['blurb'] = ui.markdown_card(
        box='1 2 4 2',
        title='Store',
        content='Welcome to our store!',
        )
        await q.page.save()

        Tags:  routingtoolbar

        + + + + + + + + + + diff --git a/docs/docs/examples/toolbar/index.html b/docs/docs/examples/toolbar/index.html index 00693651c7..b4343b5ee8 100644 --- a/docs/docs/examples/toolbar/index.html +++ b/docs/docs/examples/toolbar/index.html @@ -4,47 +4,36 @@ + - Toolbar | H2O Wave - - - - - - - - - - - - - - - - + Toolbar | H2O Wave + + + + + + + + + +
        -

        Toolbar

        Use toolbars to provide commands that operate on the content of a page.

        from h2o_wave import main, app, Q, ui
        +

        Toolbar

        Use toolbars to provide commands that operate on the content of a page.

        from h2o_wave import main, app, Q, ui
        -
        @app('/demo')
        async def serve(q: Q):
        q.page['nav'] = ui.toolbar_card(
        box='1 1 4 1',
        items=[
        ui.command(
        name='new', label='New', icon='Add', items=[
        ui.command(name='email', label='Email Message', icon='Mail'),
        ui.command(name='calendar', label='Calendar Event', icon='Calendar'),
        ]
        ),
        ui.command(name='upload', label='Upload', icon='Upload'),
        ui.command(name='share', label='Share', icon='Share'),
        ui.command(name='download', label='Download', icon='Download'),
        ],
        secondary_items=[
        ui.command(name='tile', caption='Grid View', icon='Tiles'),
        ui.command(name='info', caption='Info', icon='Info'),
        ],
        overflow_items=[
        ui.command(name='move', label='Move to...', icon='MoveToFolder'),
        ui.command(name='copy', label='Copy to...', icon='Copy'),
        ui.command(name='rename', label='Rename', icon='Edit'),
        ],
        )
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        q.page['nav'] = ui.toolbar_card(
        box='1 1 4 1',
        items=[
        ui.command(
        name='new', label='New', icon='Add', items=[
        ui.command(name='email', label='Email Message', icon='Mail'),
        ui.command(name='calendar', label='Calendar Event', icon='Calendar'),
        ]
        ),
        ui.command(name='upload', label='Upload', icon='Upload'),
        ui.command(name='share', label='Share', icon='Share'),
        ui.command(name='download', label='Download', icon='Download'),
        ],
        secondary_items=[
        ui.command(name='tile', caption='Grid View', icon='Tiles'),
        ui.command(name='info', caption='Info', icon='Info'),
        ],
        overflow_items=[
        ui.command(name='move', label='Move to...', icon='MoveToFolder'),
        ui.command(name='copy', label='Copy to...', icon='Copy'),
        ui.command(name='rename', label='Rename', icon='Edit'),
        ],
        )
        await q.page.save()

        Tags:  commandtoolbar

        + + + + + + + + + + diff --git a/docs/docs/examples/upload-async/index.html b/docs/docs/examples/upload-async/index.html index 905b381280..134ab84671 100644 --- a/docs/docs/examples/upload-async/index.html +++ b/docs/docs/examples/upload-async/index.html @@ -4,50 +4,39 @@ + - Uploads / Async | H2O Wave - - - - - - - - - - - - - - - - + Uploads / Async | H2O Wave + + + + + + + + + +
        -

        Uploads / Async

        Upload files from an interactive app.

        import os
        from h2o_wave import main, app, Q, ui
        +

        Uploads / Async

        Upload files from an interactive app.

        import os
        from h2o_wave import main, app, Q, ui
        def write_csv(filename, rows):
        with open(filename, 'w', encoding='utf-8') as f:
        f.write('\n'.join([','.join([str(x) for x in row]) for row in rows]))
        @app('/demo')
        async def serve(q: Q):
        if q.args.generate_csv:
        # Generate
        write_csv('squares.csv', [[x, x * x] for x in range(1, 1 + q.args.row_count)])
        # Upload
        download_path, = await q.site.upload(['squares.csv'])
        # Clean up
        os.remove('squares.csv')
        -
        # Display link
        q.page['example'].items = [
        ui.text_xl('Squares Generated!'),
        ui.text(f'[Download my {q.args.row_count} squares!]({download_path})'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        # Accept a row count from the user
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text_xl('Square Generator'),
        ui.slider(name='row_count', label='Squares to generate', min=0, max=100, step=10, value=30),
        ui.button(name='generate_csv', label='Generate', primary=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        # Display link
        q.page['example'].items = [
        ui.text_xl('Squares Generated!'),
        ui.text(f'[Download my {q.args.row_count} squares!]({download_path})'),
        ui.button(name='show_form', label='Back', primary=True),
        ]
        else:
        # Accept a row count from the user
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text_xl('Square Generator'),
        ui.slider(name='row_count', label='Squares to generate', min=0, max=100, step=10, value=30),
        ui.button(name='generate_csv', label='Generate', primary=True),
        ])
        await q.page.save()

        Tags:  upload

        + + + + + + + + + + diff --git a/docs/docs/examples/upload-download/index.html b/docs/docs/examples/upload-download/index.html index c7ac7adf5e..7956609456 100644 --- a/docs/docs/examples/upload-download/index.html +++ b/docs/docs/examples/upload-download/index.html @@ -4,49 +4,38 @@ + - Uploads / Download | H2O Wave - - - - - - - - - - - - - - - - + Uploads / Download | H2O Wave + + + + + + + + + +
        -

        Uploads / Download

        Accept files from the user and downloads them locally.

        import os
        import os.path
        from h2o_wave import main, app, Q, ui
        +

        Uploads / Download

        Accept files from the user and downloads them locally.

        import os
        import os.path
        from h2o_wave import main, app, Q, ui
        @app('/demo')
        async def serve(q: Q):
        links = q.args.user_files
        if links:
        items = [ui.text_xl('Files uploaded!')]
        for link in links:
        local_path = await q.site.download(link, '.')
        #
        # The file is now available locally; process the file.
        # To keep this example simple, we just read the file size.
        #
        size = os.path.getsize(local_path)
        items.append(ui.link(label=f'{os.path.basename(link)} ({size} bytes)', download=True, path=link))
        # Clean up
        os.remove(local_path)
        -
        items.append(ui.button(name='back', label='Back', primary=True))
        q.page['example'].items = items
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text_xl('Upload some files'),
        ui.file_upload(name='user_files', label='Upload', multiple=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        items.append(ui.button(name='back', label='Back', primary=True))
        q.page['example'].items = items
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text_xl('Upload some files'),
        ui.file_upload(name='user_files', label='Upload', multiple=True),
        ])
        await q.page.save()

        Tags:  downloadupload

        + + + + + + + + + + diff --git a/docs/docs/examples/upload-ui/index.html b/docs/docs/examples/upload-ui/index.html index 7196f00683..5300b98243 100644 --- a/docs/docs/examples/upload-ui/index.html +++ b/docs/docs/examples/upload-ui/index.html @@ -4,49 +4,38 @@ + - Uploads / UI | H2O Wave - - - - - - - - - - - - - - - - + Uploads / UI | H2O Wave + + + + + + + + + +
        -

        Uploads / UI

        Accept files from the user.

        import os
        from h2o_wave import main, app, Q, ui
        import os.path
        +

        Uploads / UI

        Accept files from the user.

        import os
        from h2o_wave import main, app, Q, ui
        import os.path
        def make_link_list(links):
        # Make a markdown list of links.
        return '\n'.join([f'- [{os.path.basename(link)}]({link})' for link in links])
        -
        @app('/demo')
        async def serve(q: Q):
        if q.args.user_files:
        q.page['example'].items = [
        ui.text_xl('Files uploaded!'),
        ui.text(make_link_list(q.args.user_files)),
        ui.button(name='back', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text_xl('Upload some files'),
        ui.file_upload(name='user_files', label='Upload', multiple=True),
        ])
        await q.page.save()
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        if q.args.user_files:
        q.page['example'].items = [
        ui.text_xl('Files uploaded!'),
        ui.text(make_link_list(q.args.user_files)),
        ui.button(name='back', label='Back', primary=True),
        ]
        else:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text_xl('Upload some files'),
        ui.file_upload(name='user_files', label='Upload', multiple=True),
        ])
        await q.page.save()

        Tags:  formupload

        + + + + + + + + + + diff --git a/docs/docs/examples/upload/index.html b/docs/docs/examples/upload/index.html index 499a6bca30..0e25b4fb03 100644 --- a/docs/docs/examples/upload/index.html +++ b/docs/docs/examples/upload/index.html @@ -4,52 +4,41 @@ + - Uploads | H2O Wave - - - - - - - - - - - - - - - - + Uploads | H2O Wave + + + + + + + + + +
        -

        Uploads

        Upload files to the Wave server.

        import os
        from h2o_wave import site, ui
        +

        Uploads

        Upload files to the Wave server.

        import os
        from h2o_wave import site, ui
        def write_csv(filename, rows):
        with open(filename, 'w', encoding='utf-8') as f:
        f.write('\n'.join([','.join([str(x) for x in row]) for row in rows]))
        # Create a couple of fake CSV files
        write_csv('squares.csv', [[x, x * x] for x in range(1, 11)])
        write_csv('cubes.csv', [[x, x * x * x] for x in range(1, 11)])
        # Upload CSVs
        squares_path, cubes_path = site.upload(['squares.csv', 'cubes.csv'])
        # Delete local CSVs
        os.remove('squares.csv')
        os.remove('cubes.csv')
        -
        # Display links to these CSVs
        page = site['/demo']
        page['example'] = ui.markdown_card(
        box='1 1 2 2',
        title='Download CSVs',
        content=f'[Squares]({squares_path}) [Cubes]({cubes_path})',
        )
        page.save()
        - - - - - - - - - - - - - - - - +
        # Display links to these CSVs
        page = site['/demo']
        page['example'] = ui.markdown_card(
        box='1 1 2 2',
        title='Download CSVs',
        content=f'[Squares]({squares_path}) [Cubes]({cubes_path})',
        )
        page.save()

        Tags:  upload

        + + + + + + + + + + diff --git a/docs/docs/examples/wizard/index.html b/docs/docs/examples/wizard/index.html index a9871d20b5..0af4ebb8aa 100644 --- a/docs/docs/examples/wizard/index.html +++ b/docs/docs/examples/wizard/index.html @@ -4,51 +4,40 @@ + - Wizard | H2O Wave - - - - - - - - - - - - - - - - + Wizard | H2O Wave + + + + + + + + + +
        -

        Wizard

        Create a multi-step wizard using form cards.

        from h2o_wave import Q, ui, main, app, cypress, Cypress
        +

        Wizard

        Create a multi-step wizard using form cards.

        from h2o_wave import Q, ui, main, app, cypress, Cypress
        @app('/demo')
        async def serve(q: Q):
        if (
        not q.client.initialized
        ): # First visit, create an empty form card for our wizard
        q.page['wizard'] = ui.form_card(box='1 1 2 4', items=[])
        q.client.initialized = True
        wizard = q.page['wizard'] # Get a reference to the wizard form
        if q.args.step1:
        wizard.items = [
        ui.text_xl('Wizard - Step 1'),
        ui.text('What is your name?', name='text'),
        ui.textbox(name='nickname', label='My name is...', value='Gandalf'),
        ui.buttons([ui.button(name='step2', label='Next', primary=True)]),
        ]
        elif q.args.step2:
        q.client.nickname = q.args.nickname
        wizard.items = [
        ui.text_xl('Wizard - Step 2'),
        ui.text(f'Hi {q.args.nickname}! How do you feel right now?', name='text'),
        ui.textbox(name='feeling', label='I feel...', value='magical'),
        ui.buttons([ui.button(name='step3', label='Next', primary=True)]),
        ]
        elif q.args.step3:
        wizard.items = [
        ui.text_xl('Wizard - Done'),
        ui.text(
        f'What a coincidence, {q.client.nickname}! I feel {q.args.feeling} too!',
        name='text',
        ),
        ui.buttons([ui.button(name='step1', label='Try Again', primary=True)]),
        ]
        else:
        wizard.items = [
        ui.text_xl('Wizard Example'),
        ui.text("Let's have a conversation, shall we?"),
        ui.buttons([ui.button(name='step1', label='Of course!', primary=True)]),
        ]
        await q.page.save()
        -
        @cypress('Walk through the wizard')
        def try_walk_through(cy: Cypress):
        cy.visit('/demo')
        cy.locate('step1').click()
        cy.locate('text').should('contain.text', 'What is your name?')
        cy.locate('nickname').clear().type('Fred')
        cy.locate('step2').click()
        cy.locate('text').should('contain.text', 'Hi Fred! How do you feel right now?')
        cy.locate('feeling').clear().type('quirky')
        cy.locate('step3').click()
        cy.locate('text').should(
        'contain.text', 'What a coincidence, Fred! I feel quirky too!'
        )
        - - - - - - - - - - - - - - - - +
        @cypress('Walk through the wizard')
        def try_walk_through(cy: Cypress):
        cy.visit('/demo')
        cy.locate('step1').click()
        cy.locate('text').should('contain.text', 'What is your name?')
        cy.locate('nickname').clear().type('Fred')
        cy.locate('step2').click()
        cy.locate('text').should('contain.text', 'Hi Fred! How do you feel right now?')
        cy.locate('feeling').clear().type('quirky')
        cy.locate('step3').click()
        cy.locate('text').should(
        'contain.text', 'What a coincidence, Fred! I feel quirky too!'
        )

        Tags:  formwizard

        + + + + + + + + + + diff --git a/docs/docs/expressions/index.html b/docs/docs/expressions/index.html index a0a732d97d..269826e2b1 100644 --- a/docs/docs/expressions/index.html +++ b/docs/docs/expressions/index.html @@ -4,45 +4,34 @@ + - Data-binding | H2O Wave - - - - - - - - - - - - - - - - + Data-binding | H2O Wave + + + + + + + + + +
        -

        Data-binding

        Some cards in the Wave SDK support data-binding expressions, a mini language that allows computing a card's attribute from the card's data.

        Rationale

        A card's attribute can be set directly when created:

        card = page.add(f'donut', ui.small_stat_card(
        box='1 1 2 2',
        title='Donut',
        value='2.99',
        ))

        The attribute can be updated later using:

        card.value = '3.49'

        The above approach works fine, but sometimes it's prudent to separate the data (what is displayed) from the presentation (how it is displayed). This is especially important if you care about internationalization and displaying language-sensitive number, date, and time formatting.

        The above example can be rewritten by pulling the donut price out into data, and pointing the value to the data using an expression:

        card = page.add(f'donut', ui.small_stat_card(
        box='1 1 2 2',
        title='Donut',
        value='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        data=dict(price=2.99),
        ))

        The attribute can be update later using:

        card.data.price = 3.49

        Syntax

        Data-binding expressions are indicated with a leading = (similar to spreadsheet formulae). For example, '={{price}}' is an expression, but '{{price}}' is not.

        Placeholders are enclosed between {{ and }}. The placeholder price in ={{price}} points to data.price. If data.price is 2.99:

        • ={{price}} translates to 2.99.
        • =${{price}} translates to $2.99.
        • =Donuts cost ${{price}} translates to Donuts cost $2.99.

        An expression can have multiple placeholders. For example, ={{product}} costs {{price}}

        If an expression has a placeholder and nothing else, the {{ and }} can be elided. For example, =price is shorthand for ={{price}}.

        Functions can be applied to placeholders using the general form {{function_name placeholder param1=arg1 param2=arg2 ...}}. For example {{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}} applies the formatting function intl to price with arguments minimum_fraction_digits=2 and maximum_fraction_digits=2.

        Functions

        Expressions currently support only one function, intl, which provides language-sensitive number, date, and time formatting using the ECMAScript Internationalization API.

        tip

        Options in the Internationalization API are camelCased, but you can use both camelCased and snake_cased options in data-binding expressions. For example, both maximum_fraction_digits and maximumFractionDigits are valid.

        - - - - - - - - - - - - - - - - +

        Data-binding

        Some cards in the Wave SDK support data-binding expressions, a mini language that allows computing a card's attribute from the card's data.

        Rationale

        A card's attribute can be set directly when created:

        card = page.add(f'donut', ui.small_stat_card(
        box='1 1 2 2',
        title='Donut',
        value='2.99',
        ))

        The attribute can be updated later using:

        card.value = '3.49'

        The above approach works fine, but sometimes it's prudent to separate the data (what is displayed) from the presentation (how it is displayed). This is especially important if you care about internationalization and displaying language-sensitive number, date, and time formatting.

        The above example can be rewritten by pulling the donut price out into data, and pointing the value to the data using an expression:

        card = page.add(f'donut', ui.small_stat_card(
        box='1 1 2 2',
        title='Donut',
        value='=${{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}}',
        data=dict(price=2.99),
        ))

        The attribute can be update later using:

        card.data.price = 3.49

        Syntax

        Data-binding expressions are indicated with a leading = (similar to spreadsheet formulae). For example, '={{price}}' is an expression, but '{{price}}' is not.

        Placeholders are enclosed between {{ and }}. The placeholder price in ={{price}} points to data.price. If data.price is 2.99:

        • ={{price}} translates to 2.99.
        • =${{price}} translates to $2.99.
        • =Donuts cost ${{price}} translates to Donuts cost $2.99.

        An expression can have multiple placeholders. For example, ={{product}} costs {{price}}

        If an expression has a placeholder and nothing else, the {{ and }} can be elided. For example, =price is shorthand for ={{price}}.

        Functions can be applied to placeholders using the general form {{function_name placeholder param1=arg1 param2=arg2 ...}}. For example {{intl price minimum_fraction_digits=2 maximum_fraction_digits=2}} applies the formatting function intl to price with arguments minimum_fraction_digits=2 and maximum_fraction_digits=2.

        Functions

        Expressions currently support only one function, intl, which provides language-sensitive number, date, and time formatting using the ECMAScript Internationalization API.

        tip

        Options in the Internationalization API are camelCased, but you can use both camelCased and snake_cased options in data-binding expressions. For example, both maximum_fraction_digits and maximumFractionDigits are valid.

        + + + + + + + + + + diff --git a/docs/docs/files/index.html b/docs/docs/files/index.html index 3c66549fc9..241460afd9 100644 --- a/docs/docs/files/index.html +++ b/docs/docs/files/index.html @@ -4,47 +4,36 @@ + - Files | H2O Wave - - - - - - - - - - - - - - - - + Files | H2O Wave + + + + + + + + + +
        -

        Files

        Wave provides four functions to manage files from your app:

        • ui.file_upload() allows uploading files from the browser to the Wave server.
        • q.site.upload() uploads files from your app to the Wave server.
        • q.site.download() downloads a file from the Wave server to your app.
        • q.site.unload() deletes a file from the Wave server.

        Accept file uploads

        Use a file upload component (ui.file_upload()) to accept file uploads from the browser. Files get uploaded from the browser and get stored on the Wave server. Use q.site.download() to download files from the Wave server to your app.

        from h2o_wave import Q, main, app, ui
        +

        Files

        Wave provides four functions to manage files from your app:

        • ui.file_upload() allows uploading files from the browser to the Wave server.
        • q.site.upload() uploads files from your app to the Wave server.
        • q.site.download() downloads a file from the Wave server to your app.
        • q.site.unload() deletes a file from the Wave server.

        Accept file uploads

        Use a file upload component (ui.file_upload()) to accept file uploads from the browser. Files get uploaded from the browser and get stored on the Wave server. Use q.site.download() to download files from the Wave server to your app.

        from h2o_wave import Q, main, app, ui
        @app('/uploads')
        async def serve(q: Q):
        paths = q.args.datasets
        if not paths:
        q.page['example'] = ui.form_card(box='1 1 4 10', items=[
        ui.text_xl('Upload datasets'),
        ui.file_upload(name='datasets', label='Upload', multiple=True),
        ])
        else:
        for path in paths:
        local_path = await q.site.download(path, '.')
        # Do something with the file located at local_path
        # ...
        await q.page.save()
        tip

        After a file is uploaded from the browser, it is stored forever on the Wave server. If you don't need the file any longer, use q.site.unload() to delete it from the Wave server.

        Provide file downloads

        Use q.site.upload() to upload files from your app to the Wave server. Use the returned paths to display download links in the browser.

        from h2o_wave import Q, main, app, ui
        -
        @app('/downloads')
        async def serve(q: Q):
        download_path, = await q.site.upload(['results.csv'])
        q.page['download'] = ui.form_card(box='1 1 2 2', items = [
        ui.link(label='Download Results', path=download_path),
        ])
        await q.page.save()
        tip

        q.site.upload() accepts a list of file paths, so you can upload multiple files at a time.

        - - - - - - - - - - - - - - - - +
        @app('/downloads')
        async def serve(q: Q):
        download_path, = await q.site.upload(['results.csv'])
        q.page['download'] = ui.form_card(box='1 1 2 2', items = [
        ui.link(label='Download Results', path=download_path),
        ])
        await q.page.save()
        tip

        q.site.upload() accepts a list of file paths, so you can upload multiple files at a time.

        + + + + + + + + + + diff --git a/docs/docs/getting-started/index.html b/docs/docs/getting-started/index.html index f03deec73d..cb25f3890e 100644 --- a/docs/docs/getting-started/index.html +++ b/docs/docs/getting-started/index.html @@ -4,49 +4,38 @@ + - Introduction | H2O Wave - - - - - - - - - - - - - - - - + Introduction | H2O Wave + + + + + + + + + +
        -

        Introduction

        H2O Wave lets you build and deploy amazing, realtime analytics with dramatically less effort.

        What is H2O Wave?

        H2O Wave is a software stack for building beautiful, low-latency, realtime, browser-based applications and dashboards entirely in Python without using HTML, Javascript, or CSS.

        It excels at capturing data, visualizations, and graphics from multiple sources and broadcasting them live over the web.

        What can I do with it?

        H2O Wave gives your Python programs the ability to push content to connected clients as it happens, in realtime. In other words, it lets your program display up-to-date information without asking your users to hit their browser's reload button.

        You can use H2O Wave for:

        • Dashboards and visualizations for live monitoring.
        • Live information displays: news, tickers, health, or performance data.
        • Apps that require instant notifications, updates, events, or alerts.
        • Apps that involve messaging: chat, bots, etc.
        • Collaborative apps: whiteboards, sharing, etc.

        You can also use H2O Wave when you find yourself reaching for a web application framework - it can handle regular (non-realtime) apps just fine.

        How do I use it?

        H2O Wave's mental model is simple, but powerful1:

        1. Your instance holds a collection of pages.
        2. To change a page, simply grab a reference to a page, change it, and save it.

        That's it. Your changes are now visible to everyone.

        This simplicity makes it fast, fun, and easy to rapidly build and deploy interactive applications without having to reason about client/server, HTTP request/response, browser quirks, or front-end development.

        The API is concise and elegant, freeing you to create in broad strokes, tackling high level ideas first and polishing up the details later.

        Show me some code!

        Here's a bean counter. Clicking the button increments the bean count:

        And here's how it's written:

        from h2o_wave import Q, main, app, ui
        +

        Introduction

        H2O Wave lets you build and deploy amazing, realtime analytics with dramatically less effort.

        What is H2O Wave?

        H2O Wave is a software stack for building beautiful, low-latency, realtime, browser-based applications and dashboards entirely in Python without using HTML, Javascript, or CSS.

        It excels at capturing data, visualizations, and graphics from multiple sources and broadcasting them live over the web.

        What can I do with it?

        H2O Wave gives your Python programs the ability to push content to connected clients as it happens, in realtime. In other words, it lets your program display up-to-date information without asking your users to hit their browser's reload button.

        You can use H2O Wave for:

        • Dashboards and visualizations for live monitoring.
        • Live information displays: news, tickers, health, or performance data.
        • Apps that require instant notifications, updates, events, or alerts.
        • Apps that involve messaging: chat, bots, etc.
        • Collaborative apps: whiteboards, sharing, etc.

        You can also use H2O Wave when you find yourself reaching for a web application framework - it can handle regular (non-realtime) apps just fine.

        How do I use it?

        H2O Wave's mental model is simple, but powerful1:

        1. Your instance holds a collection of pages.
        2. To change a page, simply grab a reference to a page, change it, and save it.

        That's it. Your changes are now visible to everyone.

        This simplicity makes it fast, fun, and easy to rapidly build and deploy interactive applications without having to reason about client/server, HTTP request/response, browser quirks, or front-end development.

        The API is concise and elegant, freeing you to create in broad strokes, tackling high level ideas first and polishing up the details later.

        Show me some code!

        Here's a bean counter. Clicking the button increments the bean count:

        And here's how it's written:

        from h2o_wave import Q, main, app, ui
        bean_count = 0
        @app('/counter')
        async def serve(q: Q):
        global bean_count
        # Was the 'increment' button clicked?
        if q.args.increment:
        bean_count += 1
        # Display a form on the page
        q.page['beans'] = ui.form_card(
        box='1 1 1 2',
        items=[
        ui.text_xl('Beans!'),
        ui.button(name='increment', label=f'{bean_count} beans'),
        ],
        )
        # Save the page
        await q.page.save()

        What's included?

        The SDK ships batteries-included with a wide variety of user interface widgets and charts. You also get to use your favorite Python libraries seamlessly - anything that works in a Jupyter notebook works in H2O Wave - including Altair, Bokeh, H2O, Keras, Matplotlib, Plotly, PyTorch, Seaborn, TensorFlow, Vega-lite, and others. H2O Wave lets you use and broadcast results from all of these libraries, in realtime.

        H2O Wave is not only a programming toolkit but a programmable content server as well: it can capture, retain, and relay information efficiently in realtime. The content server (or Wave server) is written in Go, a ~10MB static executable without runtime dependencies2. It currently ships with a Python language driver, but is language-agnostic (an R language driver is under development).

        The Wave server stores all the content and acts as a hub between your user's web browser and your apps. Therefore, it must be up and running before you launch Wave apps. Typically, you only need one Wave server to serve several apps.

        +---------+
        +------------->+ app1.py |
        | +---------+
        |
        +---------+ +----+-----+ +---------+
        | Browser +------>+ Server +------->+ app2.py |
        +---------+ +----+-----+ +---------+
        |
        | +---------+
        +------------->+ app3.py |
        +---------+
        -

        In Summary

        H2O Wave is rapid application development for a more... civilized age3.

        Also, this page was mostly hyperbole, so let's download it and take it for a spin, shall we.


        1 The model parallels retained mode graphics, with compositing performed on an remote server.

        2 Runs anywhere Go executables run, which is almost everywhere.

        3 Hat tip to xkcd.

        - - - - - - - - - - - - - - - - +

        In Summary

        H2O Wave is rapid application development for a more... civilized age3.

        Also, this page was mostly hyperbole, so let's download it and take it for a spin, shall we.


        1 The model parallels retained mode graphics, with compositing performed on an remote server.

        2 Runs anywhere Go executables run, which is almost everywhere.

        3 Hat tip to xkcd.

        + + + + + + + + + + diff --git a/docs/docs/graphics/index.html b/docs/docs/graphics/index.html index 9911969804..7b44c8e40f 100644 --- a/docs/docs/graphics/index.html +++ b/docs/docs/graphics/index.html @@ -4,49 +4,38 @@ + - Graphics | H2O Wave - - - - - - - - - - - - - - - - + Graphics | H2O Wave + + + + + + + + + +
        -

        Graphics

        Wave provides a versatile API for rendering vector graphics (SVG) backed by data buffers.

        Use the graphics card ui.graphics_card() to render graphics.

        Stages and scenes

        The graphics card has two attributes that control how graphics are rendered: stage and scene:

        • A stage holds static shapes that are rendered as part of the background (literally, behind the scene).
        • A scene holds shapes whose attributes need to be animated (causing a re-render, or, literally, cause a scene).

        Use ui.stage() and ui.scene() to create the stage and the scene:

        • ui.stage() creates a packed, static representation of its shapes (recall that the stage is not supposed to change).
        • ui.scene() declares a data buffer to efficiently update its shapes if changed (recall that the scene is animated).

        Here's an example that draws a clock with a circular face placed on the stage, and hour, min and sec hands placed in the scene:

        from h2o_wave import site, ui, graphics as g
        +

        Graphics

        Wave provides a versatile API for rendering vector graphics (SVG) backed by data buffers.

        Use the graphics card ui.graphics_card() to render graphics.

        Stages and scenes

        The graphics card has two attributes that control how graphics are rendered: stage and scene:

        • A stage holds static shapes that are rendered as part of the background (literally, behind the scene).
        • A scene holds shapes whose attributes need to be animated (causing a re-render, or, literally, cause a scene).

        Use ui.stage() and ui.scene() to create the stage and the scene:

        • ui.stage() creates a packed, static representation of its shapes (recall that the stage is not supposed to change).
        • ui.scene() declares a data buffer to efficiently update its shapes if changed (recall that the scene is animated).

        Here's an example that draws a clock with a circular face placed on the stage, and hour, min and sec hands placed in the scene:

        from h2o_wave import site, ui, graphics as g
        page = site['/demo']
        page['example'] = ui.graphics_card(
        box='1 1 2 3', view_box='0 0 100 100', width='100%', height='100%',
        stage=g.stage(
        face=g.circle(cx='50', cy='50', r='45', fill='#111', stroke_width='2px', stroke='#f55'),
        ),
        scene=g.scene(
        hour=g.rect(x='47.5', y='12.5', width='5', height='40', rx='2.5', fill='#333', stroke='#555'),
        min=g.rect(x='48.5', y='12.5', width='3', height='40', rx='2', fill='#333', stroke='#555'),
        sec=g.line(x1='50', y1='50', x2='50', y2='16', stroke='#f55', stroke_width='1px'),
        ),
        )

        Shapes

        Use drawing functions to add shapes to the stage or scene:

        PrimitiveUse
        arc()Circular or annular sector, as in a pie or donut chart
        circle()Circle
        ellipse()Ellipse
        image()Image
        line()Line
        path()Path
        polygon()Polygon
        polyline()Polyline
        spline()Curves (including radial curves) using various algorithms: basis, cardinal, smooth, linear, monotone, natural, step.
        rect()Rect
        text()Text

        Paths

        The path() function is special: it can draw arbitrary shapes. This is because SVG path elements support an attribute called d which holds drawing commands.

        Here's a path that represents a red square:

        g.path(d='m 25 25 h 50 v 50 h -50 z', fill='red')

        The above snippet produces:

        <path d='m 25 25 h 50 v 50 h -50 z' fill='red'/>

        The drawing commands in the above example work like this:

        1. m 25 25: Move 25px left, 25px down
        2. h 50: Draw a line 50px right
        3. v 50: Draw a line 50px down
        4. h -50: Draw a line 50px left
        5. z: Close the path (going back to where we started)

        The little drawing syntax above is part of the SVG specification, not something unique to Wave.

        Authoring path() drawing commands by hand is tedious, so Wave provides two utilities to make it easier: p() and turtle().

        Drawing with paths

        p() creates a path generator with convenience methods to draw step by step. For example, the following two lines are equivalent:

        red_square = g.path(d='m 25 25 h 50 v 50 h -50 z', fill='red')
        red_square = g.p().m(25, 25).h(50).v(50).h(-50).z().path(fill='red')

        Commands

        MethodUse
        M()Move, absolute
        H()Horizontal line, absolute
        V()Vertical line, absolute
        L()Line, absolute
        A()Elliptical arc, absolute
        C()Cubic Bézier curve, absolute
        S()Cubic Bézier curve, smooth, absolute
        Q()Quadratic Bézier curve, absolute
        T()Quadratic Bézier curve, smooth, absolute
        Z()Close path
        m()Move, relative
        h()Horizontal line, relative
        v()Vertical line, relative
        l()Line, relative
        a()Elliptical arc, relative
        c()Cubic Bézier curve, relative
        s()Cubic Bézier curve, smooth, relative
        q()Quadratic Bézier curve, relative
        t()Quadratic Bézier curve, smooth, relative
        z()Close path
        d()Serialize this path's commands into SVG path data.
        path()Create a SVG path element
        info

        The upper-cased commands use absolute coordinates. The lower-cased commands use relative coordinates. For example, L(4,2) means "draw a line to (4,2)", but l(4,2) means "draw a line 4px right, 2px down from the current position".

        Drawing with a turtle

        turtle() creates a path generator (similar to p()), but using Turtle Geometry.

        Commands

        MethodUse
        pd()Pen down
        pu()Pen up
        p()Set the turtle's position
        a()Set the turtle's orientation
        f()Move forward
        b()Move backward
        l()Turn left
        r()Turn right
        d()Serialize this turtle's movements into SVG path data
        path()Create a SVG path element

        Example

        Here is an example from Python's turtle module:

        star

        Here is the above example recreated in Wave:

        from turtle import *
        color('red', 'yellow')
        begin_fill()
        while True:
        forward(200)
        left(170)
        if abs(pos()) < 1:
        break
        end_fill()
        done()
        from h2o_wave import site, ui, graphics as g
        t = g.turtle().f(100).r(90).pd()
        for _ in range(36):
        t.f(200).l(170)
        spirograph = t.pu(1).path(stroke='red', fill='yellow')
        page = site['/demo']
        page['example'] = ui.graphics_card(
        box='1 1 2 3', view_box='0 0 220 220', width='100%', height='100%',
        scene=g.scene(foo=spirograph),
        )
        -
        page.save()
        info

        Turtle graphics is not just kid stuff: See Turtle Geometry by Harold Abelson and Andrea diSessa.

        - - - - - - - - - - - - - - - - +
        page.save()
        info

        Turtle graphics is not just kid stuff: See Turtle Geometry by Harold Abelson and Andrea diSessa.

        + + + + + + + + + + diff --git a/docs/docs/guide/index.html b/docs/docs/guide/index.html index f6db490e28..09bc335f42 100644 --- a/docs/docs/guide/index.html +++ b/docs/docs/guide/index.html @@ -4,45 +4,34 @@ + - Introduction | H2O Wave - - - - - - - - - - - - - - - - + Introduction | H2O Wave + + + + + + + + + +
        -

        Introduction

        Welcome to the H2O Wave Guide! If you prefer to learn concepts step by step, you've come to the right place.

        info

        If you haven't already, it's worthwhile reading the Getting Started page, which offers a 5-minute overview of what H2O Wave is all about.

        Before you start

        If you prefer to learn by doing, start with our tutorials - they're short and simple, illustrate the most important concepts in a beginner-friendly way, and are the best way to get hands-on with Wave. Like any unfamiliar technology, Wave has a slight learning curve, but you will get the hang of it with practice and patience.

        Who is this for?

        This documentation assumes that you have some familiarity with the Python programming language. You don't have to be an expert, but it might be harder to learn both Wave and Python at the same time.

        If you already know Python, but have no experience authoring web apps, you'll probably find Wave a fun and easy way to get started, without the hassle of learning HTML, CSS, Javascript and client-server programming.

        If you have some experience building web apps using Python (or even other languages), you'll find that Wave offers an approach quite different from traditional client-server or request-reply programming. The mental model is much simpler, functional (in the functional programming sense), and lets you reason about your code in terms of a single tier (server-only) as opposed to two tiers (client and server). Additionally, Wave offers straightforward ways to integrate realtime features into your apps using the same programming model.

        - - - - - - - - - - - - - - - - +

        Introduction

        Welcome to the H2O Wave Guide! If you prefer to learn concepts step by step, you've come to the right place.

        info

        If you haven't already, it's worthwhile reading the Getting Started page, which offers a 5-minute overview of what H2O Wave is all about.

        Before you start

        If you prefer to learn by doing, start with our tutorials - they're short and simple, illustrate the most important concepts in a beginner-friendly way, and are the best way to get hands-on with Wave. Like any unfamiliar technology, Wave has a slight learning curve, but you will get the hang of it with practice and patience.

        Who is this for?

        This documentation assumes that you have some familiarity with the Python programming language. You don't have to be an expert, but it might be harder to learn both Wave and Python at the same time.

        If you already know Python, but have no experience authoring web apps, you'll probably find Wave a fun and easy way to get started, without the hassle of learning HTML, CSS, Javascript and client-server programming.

        If you have some experience building web apps using Python (or even other languages), you'll find that Wave offers an approach quite different from traditional client-server or request-reply programming. The mental model is much simpler, functional (in the functional programming sense), and lets you reason about your code in terms of a single tier (server-only) as opposed to two tiers (client and server). Additionally, Wave offers straightforward ways to integrate realtime features into your apps using the same programming model.

        + + + + + + + + + + diff --git a/docs/docs/installation/index.html b/docs/docs/installation/index.html index 3727aa7832..abf5365b52 100644 --- a/docs/docs/installation/index.html +++ b/docs/docs/installation/index.html @@ -4,45 +4,34 @@ + - Installation | H2O Wave - - - - - - - - - - - - - - - - + Installation | H2O Wave + + + + + + + + + +
        -

        Installation

        To set up H2O Wave, simply download and extract a release (~10MB). The release ships with a precompiled binary executable, so no explicit installation step is necessary.

        Prerequisites

        H2O Wave runs on Linux, macOS, and Windows, having Python 3.6.1 or later.

        Setup

        Step 1: Download

        Download the H2O Wave SDK for your platform.

        Step 2: Extract

        Extract your download.

        tar -xzf wave-x.y.z-linux-amd64.tar.gz

        Step 3: Move

        Move it to a convenient location, say $HOME/wave/.

        mv wave-x.y.z-linux-amd64 $HOME/wave
        note

        If you have a previous version of Wave installed, be sure to remove it before installing another. To remove it, simply delete the previous directory.

        Inspect your $HOME/wave directory. You should see the following content:

        .
        ├── examples/ ... Examples
        ├── test/ ... Browser testing framework
        ├── www/ ... Wave server web root (do not modify!)
        └── waved ... Wave server executable

        Step 4: Run

        Go to your Wave directory.

        cd $HOME/wave

        Start the Wave server.

        ./waved
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # ┌─────────────────────────┐
        2020/10/27 16:16:34 # │ ┌ ┌ ┌──┐ ┌ ┌ ┌──┐ │ H2O Wave
        2020/10/27 16:16:34 # │ │ ┌──┘ │──│ │ │ └┐ │ (version) (build)
        2020/10/27 16:16:34 # │ └─┘ ┘ ┘ └──┘ └─┘ │ © 2020 H2O.ai, Inc.
        2020/10/27 16:16:34 # └─────────────────────────┘
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # {"address":":10101","t":"listen","webroot":"/home/elp/wave/www"}
        info

        On Windows, run waved.exe to start the server.

        Step 5: Verify

        Finally, point your web browser to http://localhost:10101/. You should see an empty page with a spinner that looks like this:

        spinner

        Congratulations! Wave is now running, but doesn't have any content yet (hence the spinner).

        In the next few sections, we'll add some content and see what the fuss is all about.

        - - - - - - - - - - - - - - - - +

        Installation

        To set up H2O Wave, simply download and extract a release (~10MB). The release ships with a precompiled binary executable, so no explicit installation step is necessary.

        Prerequisites

        H2O Wave runs on Linux, macOS, and Windows, having Python 3.6.1 or later.

        Setup

        Step 1: Download

        Download the H2O Wave SDK for your platform.

        Step 2: Extract

        Extract your download.

        tar -xzf wave-x.y.z-linux-amd64.tar.gz

        Step 3: Move

        Move it to a convenient location, say $HOME/wave/.

        mv wave-x.y.z-linux-amd64 $HOME/wave
        note

        If you have a previous version of Wave installed, be sure to remove it before installing another. To remove it, simply delete the previous directory.

        Inspect your $HOME/wave directory. You should see the following content:

        .
        ├── examples/ ... Examples
        ├── test/ ... Browser testing framework
        ├── www/ ... Wave server web root (do not modify!)
        └── waved ... Wave server executable

        Step 4: Run

        Go to your Wave directory.

        cd $HOME/wave

        Start the Wave server.

        ./waved
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # ┌─────────────────────────┐
        2020/10/27 16:16:34 # │ ┌ ┌ ┌──┐ ┌ ┌ ┌──┐ │ H2O Wave
        2020/10/27 16:16:34 # │ │ ┌──┘ │──│ │ │ └┐ │ (version) (build)
        2020/10/27 16:16:34 # │ └─┘ ┘ ┘ └──┘ └─┘ │ © 2020 H2O.ai, Inc.
        2020/10/27 16:16:34 # └─────────────────────────┘
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # {"address":":10101","t":"listen","webroot":"/home/elp/wave/www"}
        info

        On Windows, run waved.exe to start the server.

        Step 5: Verify

        Finally, point your web browser to http://localhost:10101/. You should see an empty page with a spinner that looks like this:

        spinner

        Congratulations! Wave is now running, but doesn't have any content yet (hence the spinner).

        In the next few sections, we'll add some content and see what the fuss is all about.

        + + + + + + + + + + diff --git a/docs/docs/layout/index.html b/docs/docs/layout/index.html index 6bc6386195..1643ca81dc 100644 --- a/docs/docs/layout/index.html +++ b/docs/docs/layout/index.html @@ -4,45 +4,36 @@ + - Layout | H2O Wave - - - - - - - - - - - - - - - - + Layout | H2O Wave + + + + + + + + + +
        -

        Layout

        This section illustrates how to lay out cards on a page.

        Grid system

        By default, every page has a grid system in place, designed to fit HD displays (1920 x 1080 pixels). The grid has 12 columns and 10 rows. A column is 134 pixels wide. A row is 76 pixels high. The gap between rows and columns is set to 15 pixels.

        The box attribute

        Every card has a box attribute that specifies how to position the card on the page, a string of the form 'column row width height', for example '1 1 2 4' or '8 7 3 6'.

        page['quote'] = ui.markdown_card(
        box='1 1 2 2',
        title='Hello World',
        content='"The Internet? Is that thing still around?" - *Homer Simpson*',
        )

        The column and row indicate which column and row to position the top-left corner of the card. The width and height indicate the width and height of the cards, respectively. The column and row are 1-based. The width and height are in spans (units) of columns or rows.

        AttributeValueInterpreted as
        columnNNth column
        rowNNth row
        widthNN columns wide
        heightNN rows high

        For example, a box of 1 2 3 4 is interpreted as:

        AttributeValueInterpreted as
        column11st column
        row22nd row
        width33 columns wide
        height44 rows high

        Why a fixed grid?

        A fixed grid like this ensures that your page layout looks exactly the same on every display, without surprises. That said, the default grid is designed to fit HD displays (1920 x 1080 pixels), so if you want your page to fit smaller displays, don't use up the entire grid. Instead, use up less columns and rows, like 8 columns x 6 rows.

        Other layout options

        A fixed grid system is great for dashboards, but limiting for apps that require more flexibility, including the ability to responsively fit various display sizes.

        We are working on additional layout mechanisms, slated for release by the end of 2020.

        See also

        Positioning and Sizing examples.

        - - - - - - - - - - - - - - - - +

        Layout

        This section illustrates how to lay out cards on a page.

        Wave support two layout systems out of the box: a grid layout and a flex (flexible) layout.

        By default, pages use the grid-based system. The grid-based system is simpler to use, and ensures that your page layout looks exactly the same on every display, without surprises.

        To switch to a flex layout, simply define a page layout using the ui.layout() API, as shown below.

        Flex Layout

        The flex layout system allows you to build user interfaces and dashboards that adapt to various device and screen sizes ("responsive layout").

        info

        To view examples of flex and responsive layouts in actions, see https://github.com/h2oai/wave/tree/master/py/demo

        To define a layout for your page, attach a layout to your page's meta card using ui.layout().

        The following example defines a simple layout consisting of a header, a body and a footer. The body, in turn, is split horizontally into a content area and a sidebar.

        +
        q.page['meta'] = ui.meta_card(box='', layouts=[
        ui.layout(
        breakpoint='xl',
        width='1200px',
        zones=[
        ui.zone('header'),
        ui.zone('body', direction=ui.ZoneDirection.ROW, zones=[
        ui.zone('content', size='75%'),
        ui.zone('sidebar', size='25%'),
        ]),
        ui.zone('footer'),
        ]
        )
        ])
        +

        A layout, at a minimum, consists of a breakpoint and a set of zones.

        Breakpoints

        The breakpoint is the minimum viewport (browser) width at which the layout will be applied to the page. Values must be pixel widths (e.g. 0px, 576px, 768px) or a named preset. The named presets are:

        • xs: 0px for extra small devices (portrait phones)
        • s: 576px for small devices (landscape phones)
        • m: 768px for medium devices (tablets)
        • l: 992px for large devices (desktops)
        • xl: 1200px for extra large devices (large desktops).

        A breakpoint value of xs matches all viewport widths, unless other breakpoints are set.

        Zones

        A zone is a named area inside the layout where cards can be placed. A zone is defined using ui.zone().

        Zones have a direction, either ui.ZoneDirection.COLUMN (with children laid out top to bottom) or ui.ZoneDirection.ROW (with children laid out left to right).

        Zone can define a size, which translates to the zone's width in case the zone is laid out horizontally, or the zone's height in case the zone is laid out vertically.

        Zones can have other zones nested inside them.

        In the above example, the content and sidebar zones are laid out horizontally inside the body, with the content zone taking up 75% of the available width, and the sidebar taking up 25%.

        Responsive Layout

        To make your page adapt to multiple viewport sizes, define multiple layouts using ui.layout().

        q.page['meta'] = ui.meta_card(box='', layouts=[
        ui.layout(
        breakpoint='xs',
        zones=[
        # Add zones here.
        ],
        ),
        ui.layout(
        breakpoint='m',
        zones=[
        # Add zones here.
        ],
        ),
        ui.layout(
        breakpoint='xl',
        width='1200px',
        zones=[
        # Add zones here.
        ]
        )
        ])

        Placing cards

        To place a card inside a zone in your layout, use the card's box attribute.

        The simplest way to assign a card to a zone is to set the box to the name of zone:

        q.page['shopping_cart'] = ui.markdown_card(box='sidebar', ...)

        For more control over how the card is placed, use ui.box():

        # Same as box='sidebar'
        q.page['shopping_cart'] = ui.markdown_card(box=ui.box('sidebar'), ...)

        Make the card the third item in the sidebar:

        q.page['shopping_cart'] = ui.markdown_card(box=ui.box('sidebar', order=3), ...)

        Make the card take up two parts of available space:

        q.page['shopping_cart'] = ui.markdown_card(box=ui.box('sidebar', size=2), ...)

        Make cards take up available space in a 10:5:4 ratio:

        q.page['shopping_cart'] = ui.markdown_card(box=ui.box('sidebar', order=1, size=10), ...)
        q.page['bill'] = ui.markdown_card(box=ui.box('sidebar', order=2, size=5), ...)
        q.page['discounts'] = ui.markdown_card(box=ui.box('sidebar', order=3, size=4), ...)

        Make the card 200px wide:

        q.page['shopping_cart'] = ui.markdown_card(box=ui.box('sidebar', width='200px'), ...)

        Make the card 300px high:

        q.page['shopping_cart'] = ui.markdown_card(box=ui.box('sidebar', height='300px'), ...)

        Make the card 200px wide and 300px high:

        q.page['shopping_cart'] = ui.markdown_card(box=ui.box('sidebar', width='200px', height='300px'), ...)

        For responsive layouts, specify multiple boxes using ui.boxes(). Each ui.box() in ui.boxes() refers to the corresponding ui.layout() specified at the page level.

        q.page['meta'] = ui.meta_card(box='', layouts=[
        ui.layout(breakpoint='xs', zones=[...]),
        ui.layout(breakpoint='m', zones=[...]),
        ui.layout(breakpoint='xl', zones=[...]),
        ])
        q.page['shopping_cart'] = ui.markdown_card(box=ui.boxes(
        ui.box('bottom', height='300px'), # for breakpoint xs, place in the bottom zone.
        ui.box('middle', height='200px'), # for breakpoint m, place in the middle zone.
        ui.box('sidebar', height='2'), # for breakpoint xl, place in the sidebar zone.
        ), ... )

        Grid Layout

        By default, every page has a grid system in place, designed to fit HD displays (1920 x 1080 pixels). The grid has 12 columns and 10 rows. A column is 134 pixels wide. A row is 76 pixels high. The gap between rows and columns is set to 15 pixels.

        Placing cards

        Every card has a box attribute that specifies how to position the card on the page, a string of the form 'column row width height', for example '1 1 2 4' or '8 7 3 6'.

        page['quote'] = ui.markdown_card(
        box='1 1 2 2',
        title='Hello World',
        content='"The Internet? Is that thing still around?" - *Homer Simpson*',
        )

        The column and row indicate which column and row to position the top-left corner of the card. The width and height indicate the width and height of the cards, respectively. The column and row are 1-based. The width and height are in spans (units) of columns or rows.

        AttributeValueInterpreted as
        columnNNth column
        rowNNth row
        widthNN columns wide
        heightNN rows high

        For example, a box of 1 2 3 4 is interpreted as:

        AttributeValueInterpreted as
        column11st column
        row22nd row
        width33 columns wide
        height44 rows high
        tip

        The default grid is designed to fit HD displays (1920 x 1080 pixels), so if you want your page to fit smaller displays, don't use up the entire grid. Instead, use up less columns and rows, like 8 columns x 6 rows.

        See also

        Positioning and Sizing examples.

        + + + + + + + + + + diff --git a/docs/docs/logging/index.html b/docs/docs/logging/index.html index ab9a4caad7..56d777d841 100644 --- a/docs/docs/logging/index.html +++ b/docs/docs/logging/index.html @@ -4,47 +4,36 @@ + - Logging | H2O Wave - - - - - - - - - - - - - - - - + Logging | H2O Wave + + + + + + + + + +
        -

        Logging

        Wave apps are plain Python programs. Use Python's built-in logging module to configure logging.

        Here's a basic configuration that logs a ISO8601 timestamp, log level, and message:

        from h2o_wave import Q, main, app
        +

        Logging

        Wave apps are plain Python programs. Use Python's built-in logging module to configure logging.

        Here's a basic configuration that logs a ISO8601 timestamp, log level, and message:

        from h2o_wave import Q, main, app
        import logging
        logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s')
        -
        @app('/demo')
        async def serve(q: Q):
        logging.warning('All your base are belong to us')

        The above snippet makes the app log a warning every time it is accessed. This is what the logged message look like:

        2010-12-12 11:41:42,612 WARNING All your base are belong to us
        info

        See Python's logging module for more information.

        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        logging.warning('All your base are belong to us')

        The above snippet makes the app log a warning every time it is accessed. This is what the logged message look like:

        2010-12-12 11:41:42,612 WARNING All your base are belong to us
        info

        See Python's logging module for more information.

        + + + + + + + + + + diff --git a/docs/docs/migrating-0-8/index.html b/docs/docs/migrating-0-8/index.html index 5fe2f01644..32c7a2564d 100644 --- a/docs/docs/migrating-0-8/index.html +++ b/docs/docs/migrating-0-8/index.html @@ -4,48 +4,37 @@ + - Migrating from 0.8 | H2O Wave - - - - - - - - - - - - - - - - + Migrating from 0.8 | H2O Wave + + + + + + + + + +
        -

        Migrating from 0.8

        H2O Wave v0.9.0+ introduces significant improvements to application performance and concurrency, and brings us closer to a v1.0 release. v1.0 will include the ability to increase the number of worker processes to scale apps, while preserving the simplicity of the Wave API.

        Among other changes, the Wave server executable wave is now called waved (or waved.exe), and the h2o-wave Python package ships with a new CLI named wave.

        ASGI Compatibility

        Wave apps are now ASGI-compatible, based on the high-performance Uvicorn / Starlette duo.

        You can run Wave apps behind any ASGI server, like uvicorn, gunicorn, daphne, hypercorn, etc.

        Old way

        In versions <= v0.8.0, a skeleton app looked like this:

        foo.py
        from h2o_wave import listen, Q
        +

        Migrating from 0.8

        H2O Wave v0.9.0+ introduces significant improvements to application performance and concurrency, and brings us closer to a v1.0 release. v1.0 will include the ability to increase the number of worker processes to scale apps, while preserving the simplicity of the Wave API.

        Among other changes, the Wave server executable wave is now called waved (or waved.exe), and the h2o-wave Python package ships with a new CLI named wave.

        ASGI Compatibility

        Wave apps are now ASGI-compatible, based on the high-performance Uvicorn / Starlette duo.

        You can run Wave apps behind any ASGI server, like uvicorn, gunicorn, daphne, hypercorn, etc.

        Old way

        In versions <= v0.8.0, a skeleton app looked like this:

        foo.py
        from h2o_wave import listen, Q
        async def serve(q: Q):
        pass
        listen('/demo', serve)

        The above app could be run like this:

        (venv) $ python foo.py

        New way

        In versions v0.9.0+, a skeleton app looks like this:

        foo.py
        from h2o_wave import main, app, Q
        -
        @app('/demo')
        async def serve(q: Q):
        pass

        Notably:

        1. listen(route) has been replaced by an @app(route) decorator on the serve() function.
        2. main needs to be imported into the file (but you don't have to do anything with the symbol main other than simply import it).

        The above app can be run using wave run, built into the new wave command line interface.

        (venv) $ wave run foo

        The wave run command runs your app using live-reload, which means you can view your changes live as you code, without having to refresh your browser manually.

        To run your app without live-reload, simply pass --no-reload:

        (venv) $ wave run --no-reload foo

        To run your app using an ASGI server like uvicorn, append :main to the app argument:

        (venv) $ uvicorn foo:main
        - - - - - - - - - - - - - - - - +
        @app('/demo')
        async def serve(q: Q):
        pass

        Notably:

        1. listen(route) has been replaced by an @app(route) decorator on the serve() function.
        2. main needs to be imported into the file (but you don't have to do anything with the symbol main other than simply import it).

        The above app can be run using wave run, built into the new wave command line interface.

        (venv) $ wave run foo

        The wave run command runs your app using live-reload, which means you can view your changes live as you code, without having to refresh your browser manually.

        To run your app without live-reload, simply pass --no-reload:

        (venv) $ wave run --no-reload foo

        To run your app using an ASGI server like uvicorn, append :main to the app argument:

        (venv) $ uvicorn foo:main
        + + + + + + + + + + diff --git a/docs/docs/migrating-0/index.html b/docs/docs/migrating-0/index.html index 3559937ebc..a4e73fb72e 100644 --- a/docs/docs/migrating-0/index.html +++ b/docs/docs/migrating-0/index.html @@ -4,29 +4,24 @@ + - Migrating from pre-alpha | H2O Wave - - - - - - - - - - - - - - - - + Migrating from pre-alpha | H2O Wave + + + + + + + + + +
        -

        Migrating from pre-alpha

        Before you begin, it is highly recommended that you download a release and run the interactive tour.py that ships with the release to get a feel for what Wave programs look like in practice.

        What has changed?

        From an app-development perspective, the most important change is that Wave is more of a library rather than a framework.

        With the previous framework, the only way to execute an app was via the Q server. This limitation has been removed. The script/app you author is just a regular Python program in which you import h2o_wave and execute via:

        • The command line: python3 my_script.py.
        • In the Python REPL.
        • In a Jupyter notebook.
        • In your favorite IDE (PyCharm, VSCode, etc.).

        This also means that you can apply breakpoints and debug or step-through your program in your debugger of choice.

        From an information architecture perspective, control has been inverted: instead of your app being an extension to Wave's data/prep/search features, Wave's features are now optional additions to your app, and your app takes center stage. Implementation-wise, instead of your app running in a sidebar inside of Wave's UI, your app now occupies the entire UI.

        Breaking changes

        Removed: @Q.app, @Q.ui annotations.

        Instead, define a async request-handling function, say main(), and pass that function to listen(), like this:

        from h2o_wave import Q, listen
        +

        Migrating from pre-alpha

        Before you begin, it is highly recommended that you download a release and run the interactive tour.py that ships with the release to get a feel for what Wave programs look like in practice.

        What has changed?

        From an app-development perspective, the most important change is that Wave is more of a library rather than a framework.

        With the previous framework, the only way to execute an app was via the Q server. This limitation has been removed. The script/app you author is just a regular Python program in which you import h2o_wave and execute via:

        • The command line: python3 my_script.py.
        • In the Python REPL.
        • In a Jupyter notebook.
        • In your favorite IDE (PyCharm, VSCode, etc.).

        This also means that you can apply breakpoints and debug or step-through your program in your debugger of choice.

        From an information architecture perspective, control has been inverted: instead of your app being an extension to Wave's data/prep/search features, Wave's features are now optional additions to your app, and your app takes center stage. Implementation-wise, instead of your app running in a sidebar inside of Wave's UI, your app now occupies the entire UI.

        Breaking changes

        Removed: @Q.app, @Q.ui annotations.

        Instead, define a async request-handling function, say main(), and pass that function to listen(), like this:

        from h2o_wave import Q, listen
        async def main(q: Q):
        pass
        listen('/my/app/route', main)

        Removed: q.wait(), q.show(), q.fail(), q.exit().

        The above four methods were the primary mechanism to make changes to your app's UI. They have all been replaced with a single h2o_wave.core.Page.save() method.

        The new technique is:

        1. Access the page or card you want to modify.
        2. Modify the page or card.
        3. Call h2o_wave.core.Page.save() to save your changes and update the browser page.

        Before:

        q.wait(
        callback_function,
        ui.text('Step 1'),
        ui.button(name='next', label='Next'),
        )

        After:

        q.page['my_card'] = ui.form_card(
        # A card with its top-left corner at column 1, row 5; 2 columns wide and 4 rows high.
        box='1 5 2 4',
        items=[
        ui.text('Step 1'),
        ui.button(name='next', label='Next'),
        ],
        )
        await q.page.save()

        Note that the After example requires a box that specifies where to draw your form. This is because you are not limited to using a sidebar, and can use the entire width/length of the page.

        The same technique can be used to update the UI again (or display intermediate results):

        Before:

        q.wait(
        callback_function,
        ui.text('Step 2'),
        ui.button(name='next', label='Next'),
        )

        After:

        # Don't have to recreate the entire form again; simply replace its items and save the page.
        q.page['my_card'].items = [
        ui.text('Step 2'),
        ui.button(name='next', label='Next'),
        ]
        await q.page.save()

        Removed: callback functions for request-handling.

        Wave apps are 100% push-based, using duplex communication instead of a request/reply paradigm. There is no need to have a tangled mess of callbacks to handle UI events.

        Instead, all requests are routed to a single function, and you can decide how to organize your application logic by branching on q.args.*.

        Before:

        def step1(q: Q):
        q.wait(
        step2,
        ui.text('Step 1'),
        ui.button(name='next', label='Next'),
        )
        def step2(q: Q):
        q.wait(
        step3,
        ui.text('Step 2'),
        ui.button(name='next', label='Next'),
        )
        @@ -34,23 +29,17 @@
        q.page['my_card'].items = items
        await q.page.save()
        listen('/my/app/route', main)

        Removed: q.dashboard() and q.notebook().

        Every page in Wave is a dashboard page. Instead of creating a separate dashboard or notebook, simply add cards to a page and arrange it the way you want. Cards can be created by using one of the several ui.*_card() APIs. Also see the dashboard, layout and sizing examples to learn how to lay out several cards on a page.

        If you want to display a notebook-style vertical stack of markdown, html or other content, use h2o_wave.ui.text() and h2o_wave.ui.frame() contained inside a h2o_wave.ui.form_card(), like this:

        Before:

        ui.notebook([ui.notebook_section([
        ui.markdown_cell(content='Foo'),
        ui.frame_cell(source=html_foo, height='200px'),
        ui.markdown_cell(content='Bar'),
        ui.frame_cell(source=html_bar, height='200px'),
        ])])

        After: Note the parameter name change frame_cell(source=...) to frame(content=...).

        ui.form_card(
        box='1 5 2 4',
        items=[
        ui.text(content='Foo'),
        ui.frame(content=html_foo, height='200px'),
        ui.text(content='Bar'),
        ui.frame(content=html_bar, height='200px'),
        ],
        )

        Changed: ui.buttons(), ui.expander() and ui.tabs() accept a list of items instead of var args *args.

        Before:

        ui.buttons(ui.button(...), ui.button(...), ui.button(...))

        After:

        ui.buttons([ui.button(...), ui.button(...), ui.button(...)]) # Note enclosing [ ]

        Changed: q.upload() changed to q.site.upload().

        The upload() method has been moved to the h2o_wave.core.Site instance, since each h2o_wave.core.Site represents a distinct server, and makes it possible to control multiple sites from a single Python script.

        Changed: q.args.foo= changed to q.client.foo=.

        Setting attributes on q.args (e.g. q.args.foo = 'bar') is no longer preserved between requests. This was the primary mechanism employed previously to preserve data between requests.

        Instead, Wave provides 4 mechanisms for preserving data between requests:

        1. Process-level: Use global variables.
        2. App-level: Use q.app.foo = 'bar' to save; access q.app.foo to read it back again.
        3. User-level: Use q.user.foo = 'bar' to save; access q.user.foo to read it back again.
        4. Client-level: Use q.client.foo = 'bar' to save; access q.client.foo to read it back again.

        Here, Client refers to a distinct tab in a browser.

        If you want to rely on the old behavior of preserving q.args for the lifetime of the application, copy q.args to q.client like this:

        from h2o_wave import copy_expando
        -
        copy_expando(q.args, q.client, exclude_keys=['back2', 'select_target', 'restart'])

        Changed: No need to JSON-serialize values to preserve them between requests.

        q.args.foo= only supported JSON-serialized values. No such restrictions exist for the q.app, q.user and q.client containers. You could, for example, load a Pandas dataframe and set q.user.df = my_df, and the dataframe will be accessible across requests for the lifetime of the app.

        - - - - - - - - - - - - - - - - +
        copy_expando(q.args, q.client, exclude_keys=['back2', 'select_target', 'restart'])

        Changed: No need to JSON-serialize values to preserve them between requests.

        q.args.foo= only supported JSON-serialized values. No such restrictions exist for the q.app, q.user and q.client containers. You could, for example, load a Pandas dataframe and set q.user.df = my_df, and the dataframe will be accessible across requests for the lifetime of the app.

        + + + + + + + + + + diff --git a/docs/docs/pages/index.html b/docs/docs/pages/index.html index 96eb195a41..456e5e2b56 100644 --- a/docs/docs/pages/index.html +++ b/docs/docs/pages/index.html @@ -4,47 +4,36 @@ + - Pages | H2O Wave - - - - - - - - - - - - - - - - + Pages | H2O Wave + + + + + + + + + +
        -

        Pages

        The Wave server stores and manages content. Content is stored in a page cache, called a site. A Wave server contains exactly one site. A site holds a collection of pages. A page is composed of cards. Cards hold content and data buffers.

        To reference a site from within a Wave script, import site.

        from h2o_wave import site

        site is a dictionary-like object.

        To reference the current site from within a Wave app, use q.site.

        async def serve(q: Q):
        site = q.site

        To reference a page hosted at /foo, use site['/foo'].

        page = site['/foo']

        To reference the current page in a Wave app, use q.page.

        async def serve(q: Q):
        page = q.page

        page is also a dictionary-like object. To reference a card named foo, use page['foo'].

        card = page['foo']

        There are two ways to add a card to a page.

        The first way is to assign a new card to page['foo'].

        page['foo'] = card

        The second way is to use page.add(). This is useful when you want to add a card to a page and obtain a reference to the new card.

        card = page.add('foo', card)

        The following two forms are equivalent. The second form is more concise.

        page['foo'] = ui.form_card(...)
        card = page['foo']
        card = page.add('foo', ui.form_card(...)

        To delete a card named foo from a page, use del page['foo']:

        del page['foo']

        Assigning a card to page['foo'] replaces any previously assigned card named foo. Therefore, the following two forms are equivalent. The second form is more concise, hence preferred.

        page['foo'] = card1
        del page['foo']
        page['foo'] = card2
        page['foo'] = card1
        page['foo'] = card2

        To save a page from within a Wave script, use page.save().

        page.save()

        To save the active page from within a Wave app, use q.page.save().

        async def serve(q: Q):
        await q.page.save()
        caution

        q.page.save() is an async function, so you must await while calling it.

        You don't need to explicitly create a new page. A page is automatically created on save if it doesn't exist.

        To delete the page hosted at /foo, use page.drop() or del site['/foo']. The following three forms are equivalent.

        page = site['/foo']
        page.drop()
        site['/foo'].drop()
        del site['/foo']

        Deleting a page automatically drops all cards associated with that page. Conversely, to delete all cards from a page, simply delete the page.

        To clear all cards in the active page from within a Wave app, use q.page.drop():

        async def serve(q: Q):
        await q.page.drop()

        To update other (non-app) pages from within an app, use AsyncSite:

        from h2o_wave import Q, AsyncSite
        +

        Pages

        The Wave server stores and manages content. Content is stored in a page cache, called a site. A Wave server contains exactly one site. A site holds a collection of pages. A page is composed of cards. Cards hold content and data buffers.

        To reference a site from within a Wave script, import site.

        from h2o_wave import site

        site is a dictionary-like object.

        To reference the current site from within a Wave app, use q.site.

        async def serve(q: Q):
        site = q.site

        To reference a page hosted at /foo, use site['/foo'].

        page = site['/foo']

        To reference the current page in a Wave app, use q.page.

        async def serve(q: Q):
        page = q.page

        page is also a dictionary-like object. To reference a card named foo, use page['foo'].

        card = page['foo']

        There are two ways to add a card to a page.

        The first way is to assign a new card to page['foo'].

        page['foo'] = card

        The second way is to use page.add(). This is useful when you want to add a card to a page and obtain a reference to the new card.

        card = page.add('foo', card)

        The following two forms are equivalent. The second form is more concise.

        page['foo'] = ui.form_card(...)
        card = page['foo']
        card = page.add('foo', ui.form_card(...)

        To delete a card named foo from a page, use del page['foo']:

        del page['foo']

        Assigning a card to page['foo'] replaces any previously assigned card named foo. Therefore, the following two forms are equivalent. The second form is more concise, hence preferred.

        page['foo'] = card1
        del page['foo']
        page['foo'] = card2
        page['foo'] = card1
        page['foo'] = card2

        To save a page from within a Wave script, use page.save().

        page.save()

        To save the active page from within a Wave app, use q.page.save().

        async def serve(q: Q):
        await q.page.save()
        caution

        q.page.save() is an async function, so you must await while calling it.

        You don't need to explicitly create a new page. A page is automatically created on save if it doesn't exist.

        To delete the page hosted at /foo, use page.drop() or del site['/foo']. The following three forms are equivalent.

        page = site['/foo']
        page.drop()
        site['/foo'].drop()
        del site['/foo']

        Deleting a page automatically drops all cards associated with that page. Conversely, to delete all cards from a page, simply delete the page.

        To clear all cards in the active page from within a Wave app, use q.page.drop():

        async def serve(q: Q):
        await q.page.drop()

        To update other (non-app) pages from within an app, use AsyncSite:

        from h2o_wave import Q, AsyncSite
        site = AsyncSite()
        -
        async def serve(q: Q):
        page = site['/foo']
        page['bar'] = card
        await page.save()
        - - - - - - - - - - - - - - - - +
        async def serve(q: Q):
        page = site['/foo']
        page['bar'] = card
        await page.save()
        + + + + + + + + + + diff --git a/docs/docs/plotting/index.html b/docs/docs/plotting/index.html index 9a88c155ac..660ab58c47 100644 --- a/docs/docs/plotting/index.html +++ b/docs/docs/plotting/index.html @@ -4,47 +4,36 @@ + - Plots | H2O Wave - - - - - - - - - - - - - - - - + Plots | H2O Wave + + + + + + + + + +
        -

        Plots

        Wave provides a versatile plotting API based on Leland Wilkinson's Grammar of Graphics.

        A plot is a layered graphic, created using ui.plot(). Each layer displays marks, described by ui.mark(). The layers are rendered on top of each other to produce the final plot.

        ui.mark() describes a collection of marks, not one mark. Since each ui.mark() describes one layer in the plot, it follows that all the marks on a layer are of the same type (its geometry). A mark's type can be one of point, interval, line, path, area, polygon, schema, edge.

        There are two ways to add plots to a page:

        • Use a plot card (ui.plot_card()) and set its plot attribute using ui.plot().
        • Use a form card (ui.form_card()), insert a visualization (ui.visualization()) and set its plot attribute using ui.plot().

        Here's a short example that renders a scatterplot of random values between [0, 1].

        import random
        from h2o_wave import site, data, ui
        +

        Plots

        Wave provides a versatile plotting API based on Leland Wilkinson's Grammar of Graphics.

        A plot is a layered graphic, created using ui.plot(). Each layer displays marks, described by ui.mark(). The layers are rendered on top of each other to produce the final plot.

        ui.mark() describes a collection of marks, not one mark. Since each ui.mark() describes one layer in the plot, it follows that all the marks on a layer are of the same type (its geometry). A mark's type can be one of point, interval, line, path, area, polygon, schema, edge.

        There are two ways to add plots to a page:

        • Use a plot card (ui.plot_card()) and set its plot attribute using ui.plot().
        • Use a form card (ui.form_card()), insert a visualization (ui.visualization()) and set its plot attribute using ui.plot().

        Here's a short example that renders a scatterplot of random values between [0, 1].

        import random
        from h2o_wave import site, data, ui
        page = site['/demo']
        -
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Point',
        data=data('price performance', 50, rows=[(random.random(), random.random()) for _ in range(50)]),
        plot=ui.plot([
        ui.mark(type='point', x='=price', y='=performance')
        ])
        ))
        page.save()

        ui.plot() accepts a list of marks. This example renders annotations on top of a scatterplot, like this:

        ui.plot([
        ui.mark(type='point', x='=price', y='=performance', x_min=0, x_max=100, y_min=0, y_max=100), # the plot
        ui.mark(x=50, y=50, label='point'),
        ui.mark(x=40, label='vertical line'),
        ui.mark(y=40, label='horizontal line'),
        ui.mark(x=70, x0=60, label='vertical region'),
        ui.mark(y=70, y0=60, label='horizontal region'),
        ui.mark(x=30, x0=20, y=30, y0=20, label='rectangular region')
        ])

        Point

        • Basic: Make a scatterplot.
        • Shapes: Make a scatterplot with categories encoded as mark shapes.
        • Sizes: Make a scatterplot with mark sizes mapped to a continuous variable (a "bubble plot").
        • Map: Make a plot to compare quantities across categories. Similar to a heatmap, but using size-encoding instead of color-encoding.
        • Groups: Make a scatterplot with categories encoded as colors.
        • Annotation: Add annotations (points, lines and regions) to a plot.
        • Custom: Customize a plot's fill/stroke color, size and opacity.

        Interval

        Columns

        • Basic: Make a column plot.
        • Groups: Make a grouped column plot.
        • Range: Make a column plot with each bar representing high/low (or start/end) values. Transposing this produces a gantt plot.
        • Labels: Make a column plot with labels on each bar.
        • Stacked: Make a stacked column plot.
        • Stacked, Grouped: Make a column plot with both stacked and grouped bars.
        • Annotation: Add annotations to a column plot.
        • Theta: Make a "racetrack" plot (a column plot in polar coordinates).

        Bars

        • Basic: Make a bar plot.
        • Groups: Make a grouped bar plot.
        • Range: Make a bar plot with each bar representing high/low (or start/end) values. Transposing this produces a gantt plot.
        • Stacked: Make a stacked bar plot.
        • Stacked, Grouped: Make a bar plot with both stacked and grouped bars.
        • Annotation: Add annotations to a bar plot.
        • Polar: Make a rose plot (a bar plot in polar coordinates).
        • Polar, Stacked: Make a stacked rose plot (a stacked bar plot in polar coordinates).
        • Helix: Make a bar plot in helical coordinates.

        Line

        • Basic: Make a line plot.
        • Groups: Make a multi-series line plot.
        • Smooth: Make a line plot using a smooth curve.
        • Step: Make a line plot with a step curve.
        • Step, After: Make a line plot with a step-after curve.
        • Step, Before: Make a line plot with a step-before curve.
        • Labels: Add labels to a line plot.
        • Labels, Stroked: Customize label rendering: add a subtle outline to labels to improve readability.
        • Labels, Occlusion: Make a line plot with non-overlapping labels.
        • Annotation: Add annotations to a line plot.

        Path

        • Basic: Make a path plot.
        • Point: Make a path plot with an additional layer of points.
        • Smooth: Make a path plot with a smooth curve.

        Area

        • Basic: Make an area plot.
        • Groups: Make an area plot showing multiple categories.
        • Negative: Make an area plot showing positive and negative values.
        • Range: Make an area plot representing a range (band) of values.
        • Smooth: Make an area plot with a smooth curve.
        • Stacked: Make a stacked area plot.

        Area + Line

        • Area + Line: Make an area plot with an additional line layer on top.
        • Area + Smooth: Make a combined area + line plot using a smooth curve.
        • Area + Groups: Make an combined area + line plot showing multiple categories.

        Polygon

        Schema

        Other

        • Axis Titles: Display custom axis titles on a plot.
        • Form: Display a plot inside a form.
        - - - - - - - - - - - - - - - - +
        v = page.add('example', ui.plot_card(
        box='1 1 4 5',
        title='Point',
        data=data('price performance', 50, rows=[(random.random(), random.random()) for _ in range(50)]),
        plot=ui.plot([
        ui.mark(type='point', x='=price', y='=performance')
        ])
        ))
        page.save()

        ui.plot() accepts a list of marks. This example renders annotations on top of a scatterplot, like this:

        ui.plot([
        ui.mark(type='point', x='=price', y='=performance', x_min=0, x_max=100, y_min=0, y_max=100), # the plot
        ui.mark(x=50, y=50, label='point'),
        ui.mark(x=40, label='vertical line'),
        ui.mark(y=40, label='horizontal line'),
        ui.mark(x=70, x0=60, label='vertical region'),
        ui.mark(y=70, y0=60, label='horizontal region'),
        ui.mark(x=30, x0=20, y=30, y0=20, label='rectangular region')
        ])

        Point

        • Basic: Make a scatterplot.
        • Shapes: Make a scatterplot with categories encoded as mark shapes.
        • Sizes: Make a scatterplot with mark sizes mapped to a continuous variable (a "bubble plot").
        • Map: Make a plot to compare quantities across categories. Similar to a heatmap, but using size-encoding instead of color-encoding.
        • Groups: Make a scatterplot with categories encoded as colors.
        • Annotation: Add annotations (points, lines and regions) to a plot.
        • Custom: Customize a plot's fill/stroke color, size and opacity.

        Interval

        Columns

        • Basic: Make a column plot.
        • Groups: Make a grouped column plot.
        • Range: Make a column plot with each bar representing high/low (or start/end) values. Transposing this produces a gantt plot.
        • Labels: Make a column plot with labels on each bar.
        • Stacked: Make a stacked column plot.
        • Stacked, Grouped: Make a column plot with both stacked and grouped bars.
        • Annotation: Add annotations to a column plot.
        • Theta: Make a "racetrack" plot (a column plot in polar coordinates).

        Bars

        • Basic: Make a bar plot.
        • Groups: Make a grouped bar plot.
        • Range: Make a bar plot with each bar representing high/low (or start/end) values. Transposing this produces a gantt plot.
        • Stacked: Make a stacked bar plot.
        • Stacked, Grouped: Make a bar plot with both stacked and grouped bars.
        • Annotation: Add annotations to a bar plot.
        • Polar: Make a rose plot (a bar plot in polar coordinates).
        • Polar, Stacked: Make a stacked rose plot (a stacked bar plot in polar coordinates).
        • Helix: Make a bar plot in helical coordinates.

        Line

        • Basic: Make a line plot.
        • Groups: Make a multi-series line plot.
        • Smooth: Make a line plot using a smooth curve.
        • Step: Make a line plot with a step curve.
        • Step, After: Make a line plot with a step-after curve.
        • Step, Before: Make a line plot with a step-before curve.
        • Labels: Add labels to a line plot.
        • Labels, Stroked: Customize label rendering: add a subtle outline to labels to improve readability.
        • Labels, Occlusion: Make a line plot with non-overlapping labels.
        • Annotation: Add annotations to a line plot.

        Path

        • Basic: Make a path plot.
        • Point: Make a path plot with an additional layer of points.
        • Smooth: Make a path plot with a smooth curve.

        Area

        • Basic: Make an area plot.
        • Groups: Make an area plot showing multiple categories.
        • Negative: Make an area plot showing positive and negative values.
        • Range: Make an area plot representing a range (band) of values.
        • Smooth: Make an area plot with a smooth curve.
        • Stacked: Make a stacked area plot.

        Area + Line

        • Area + Line: Make an area plot with an additional line layer on top.
        • Area + Smooth: Make a combined area + line plot using a smooth curve.
        • Area + Groups: Make an combined area + line plot showing multiple categories.

        Polygon

        Schema

        Other

        • Axis Titles: Display custom axis titles on a plot.
        • Form: Display a plot inside a form.
        + + + + + + + + + + diff --git a/docs/docs/realtime/index.html b/docs/docs/realtime/index.html index cf226400fc..c6df012c98 100644 --- a/docs/docs/realtime/index.html +++ b/docs/docs/realtime/index.html @@ -4,46 +4,35 @@ + - Realtime Sync | H2O Wave - - - - - - - - - - - - - - - - + Realtime Sync | H2O Wave + + + + + + + + + +
        -

        Realtime Sync

        Wave's realtime sync feature enables all connected users to see up to date content.

        Pages created by Wave scripts are automatically synced across all users.

        Pages created by Wave apps need to explicitly enable realtime sync. This is because apps support multiple users and multiple clients (browser tabs) by default, and, depending on the problem you're trying to solve, it's up to you to decide whether your app's UI should be synced across all users, synced across one user, or not synced at all.

        To enable realtime sync in a Wave app, pass the mode argument to @app():

        • mode='broadcast' syncs across all users.
        • mode='multicast' syncs across one user (in other words, all the clients for that user).
        • mode='unicast' disables sync. This is the default.
        from h2o_wave import Q, main, app, ui
        -
        @app('/foo', mode='broadcast')
        async def serve(q: Q):
        pass

        If you change the mode, make sure you store run-time state appropriate to the mode. Generally:

        modeStore state in
        broadcastq.app
        multicastq.user
        unicastq.client
        - - - - - - - - - - - - - - - - +

        Realtime Sync

        Wave's realtime sync feature enables all connected users to see up to date content.

        Pages created by Wave scripts are automatically synced across all users.

        Pages created by Wave apps need to explicitly enable realtime sync. This is because apps support multiple users and multiple clients (browser tabs) by default, and, depending on the problem you're trying to solve, it's up to you to decide whether your app's UI should be synced across all users, synced across one user, or not synced at all.

        To enable realtime sync in a Wave app, pass the mode argument to @app():

        • mode='broadcast' syncs across all users.
        • mode='multicast' syncs across one user (in other words, all the clients for that user).
        • mode='unicast' disables sync. This is the default.
        from h2o_wave import Q, main, app, ui
        +
        @app('/foo', mode='broadcast')
        async def serve(q: Q):
        pass

        If you change the mode, make sure you store run-time state appropriate to the mode. Generally:

        modeStore state in
        broadcastq.app
        multicastq.user
        unicastq.client
        + + + + + + + + + + diff --git a/docs/docs/routing/index.html b/docs/docs/routing/index.html index 9b60d5cc52..b2a3f9fddc 100644 --- a/docs/docs/routing/index.html +++ b/docs/docs/routing/index.html @@ -4,52 +4,41 @@ + - Routing | H2O Wave - - - - - - - - - - - - - - - - + Routing | H2O Wave + + + + + + + + + +
        -

        Routing

        App routing

        Your Wave app gets hosted at the route you passed to @app().

        from h2o_wave import Q, main, app
        +

        Routing

        App routing

        Your Wave app gets hosted at the route you passed to @app().

        from h2o_wave import Q, main, app
        @app('/foo')
        async def serve(q: Q):
        pass

        To host your app at localhost:10101/foo or www.example.com/foo, pass /foo to @app().

        To host your app at localhost:10101 or www.example.com, pass / to @app(). Do this if you plan to host exactly one app and nothing else.

        You can host multiple apps behind a single Wave server.

        caution

        /foo and /foo/bar are two distinct paths. /foo/bar is not interpreted as a sub-path of /foo.

        Hash routing

        Wave apps support hash routing, a popular client-side mechanism where the location hash (the baz/qux in /foo/bar#baz/qux) can be used to decide which part of the UI to display.

        Setting the location hash

        To set the location hash, prefix # to the name attribute of command-like components. When the command is invoked, the location hash is set to the name of the command.

        For example, if a button is named foo is clicked, q.args.foo is set to True. Instead, if a button named #foo is clicked, the location hash is set to foo (q.args.foo is not set).

        from h2o_wave import Q, main, app, ui
        -
        @app('/toss')
        async def serve(q: Q):
        q.page['sides'] = ui.form_card(
        box='1 1 4 4',
        items=[
        ui.button(name='#heads', label='Heads'),
        ui.button(name='#tails', label='Tails'),
        ],
        )
        q.page.save()

        Names don't have to be alphanumeric, so you can use names with nested sub-paths like #foo/bar, #foo/bar/baz, #foo/bar/baz/qux to make route-handling more manageable.

        The components that support setting a location hash are:

        • ui.button()
        • ui.command()
        • ui.nav_item()
        • ui.tab()
        • ui.breadcrumb()

        Getting the location hash

        To get the location hash, read q.args['#'] (a string). If the route in the browser's address bar is /foo/bar#baz/qux, q.args['#'] is set to baz/qux.

        from h2o_wave import Q, main, app, ui
        +
        @app('/toss')
        async def serve(q: Q):
        q.page['sides'] = ui.form_card(
        box='1 1 4 4',
        items=[
        ui.button(name='#heads', label='Heads'),
        ui.button(name='#tails', label='Tails'),
        ],
        )
        await q.page.save()

        Names don't have to be alphanumeric, so you can use names with nested sub-paths like #foo/bar, #foo/bar/baz, #foo/bar/baz/qux to make route-handling more manageable.

        The components that support setting a location hash are:

        • ui.button()
        • ui.command()
        • ui.nav_item()
        • ui.tab()
        • ui.breadcrumb()

        Getting the location hash

        To get the location hash, read q.args['#'] (a string). If the route in the browser's address bar is /foo/bar#baz/qux, q.args['#'] is set to baz/qux.

        from h2o_wave import Q, main, app, ui
        @app('/toss')
        async def serve(q: Q):
        hash = q.args['#']
        if hash == 'heads':
        print('Heads!')
        elif hash == 'tails':
        print('Tails!')
        q.page.save()

        Hash route switching

        Combining the two examples above gives us a basic pattern for handling routes and updating the user interface:

        from h2o_wave import Q, main, app, ui
        @app('/toss')
        async def serve(q: Q):
        hash = q.args['#']
        if hash == 'heads':
        q.page['sides'].items = [ui.message_bar(text='Heads!')]
        elif hash == 'tails':
        q.page['sides'].items = [ui.message_bar(text='Tails!')]
        else:
        q.page['sides'] = ui.form_card(
        box='1 1 4 4',
        items=[
        ui.button(name='#heads', label='Heads'),
        ui.button(name='#tails', label='Tails'),
        ],
        )
        -
        q.page.save()
        - - - - - - - - - - - - - - - - +
        await q.page.save()
        + + + + + + + + + + diff --git a/docs/docs/scripts/index.html b/docs/docs/scripts/index.html index 3273714bd2..9cce2cebb9 100644 --- a/docs/docs/scripts/index.html +++ b/docs/docs/scripts/index.html @@ -4,29 +4,24 @@ + - Wave Scripts | H2O Wave - - - - - - - - - - - - - - - - + Wave Scripts | H2O Wave + + + + + + + + + +
        -

        Wave Scripts

        A Wave script is the simplest way to publish content in Q, especially live web content:

        • Dashboards and visualizations for live monitoring.
        • Live information displays: news, tickers, health, or performance data.

        A Wave script is one kind of program you can author to interact with Q. The other kind is a Wave App. The primary difference between an app and a script is that apps are interactive (able to handle user interactions) and scripts are not. If you are not interested in handling user interactions, and only want to publish content, use a Wave script.

        Here is the skeleton of a Wave script (example):

        from h2o_wave import site, ui
        +

        Wave Scripts

        A Wave script is the simplest way to publish content with Wave, especially live web content:

        • Dashboards and visualizations for live monitoring.
        • Live information displays: news, tickers, health, or performance data.

        A Wave script is one kind of program you can author to interact with Wave. The other kind is a Wave App. The primary difference between an app and a script is that apps are interactive (able to handle user interactions) and scripts are not. If you are not interested in handling user interactions, and only want to publish content, use a Wave script.

        Here is the skeleton of a Wave script (example):

        from h2o_wave import site, ui
        # Grab a reference to a page
        page = site['/foo']
        # Modify the page
        page['qux'] = ui.some_card()
        # Save the page
        page.save()

        Here is the skeleton of a Wave script that continuously updates a page (example):

        import time
        from h2o_wave import site, ui
        @@ -38,23 +33,17 @@
        # Grab a reference to a card on the page
        card = page['qux']
        # Read data from somewhere
        cpu_percent, mem_usage, disk_usage = read_system_stats()
        # Update card's data
        card.data[-1] = [cpu_percent, mem_usage, disk_usage]
        -
        # Save the page
        page.save()

        Multiple Wave scripts running on multiple devices can update the same Wave page. You can use this capability to publish a single page that displays content originating from multiple sources. For example, a single page that displays stats for all the systems in your network, or a single page that displays tickers from different stock exchanges.

        - - - - - - - - - - - - - - - - +
        # Save the page
        page.save()

        Multiple Wave scripts running on multiple devices can update the same Wave page. You can use this capability to publish a single page that displays content originating from multiple sources. For example, a single page that displays stats for all the systems in your network, or a single page that displays tickers from different stock exchanges.

        + + + + + + + + + + diff --git a/docs/docs/security/index.html b/docs/docs/security/index.html index bbe66bfece..815b20f34b 100644 --- a/docs/docs/security/index.html +++ b/docs/docs/security/index.html @@ -4,46 +4,35 @@ + - Security | H2O Wave - - - - - - - - - - - - - - - - + Security | H2O Wave + + + + + + + + + +
        -

        Security

        HTTPS

        To enable HTTP over TLS to secure your Wave server, pass the following flags when starting the Wave server:

        • -tls-cert-file: path to certificate file.
        • -tls-key-file: path to private key file.

        Self Signed Certificate

        To enable TLS during development, use a self-signed certificate.

        To create a private key and a self-signed certificate from scratch, use openssl:

        openssl req \
        -newkey rsa:2048 -nodes -keyout domain.key \
        -x509 -days 365 -out domain.crt

        The above command creates a 2048-bit private key (domain.key) and a self-signed x509 certificate (domain.crt) valid for 365 days.

        Single Sign On

        Wave has built-in support for OpenID Connect.

        To enable OpenID Connect, pass the following flags when starting the Wave server:

        • -oidc-provider-url: URL for authentication (the identity provider's URL).
        • -oidc-redirect-url: URL to redirect to after authentication.
        • -oidc-end-session-url: URL to log out (or sign out).
        • -oidc-client-id: Client ID (refer to your identity provider's documentation).
        • -oidc-client-secret: Client secret (refer to your identity provider's documentation).

        Once authenticated, you can access user's authentication and authorization information from your app using q.auth (see the Auth class for details):

        from h2o_wave import Q, main, app
        -
        @app('/example')
        async def serve(q: Q):
        print(q.auth.username)
        print(q.auth.subject)
        - - - - - - - - - - - - - - - - +

        Security

        HTTPS

        To enable HTTP over TLS to secure your Wave server, pass the following flags when starting the Wave server:

        • -tls-cert-file: path to certificate file.
        • -tls-key-file: path to private key file.

        Self Signed Certificate

        To enable TLS during development, use a self-signed certificate.

        To create a private key and a self-signed certificate from scratch, use openssl:

        openssl req \
        -newkey rsa:2048 -nodes -keyout domain.key \
        -x509 -days 365 -out domain.crt

        The above command creates a 2048-bit private key (domain.key) and a self-signed x509 certificate (domain.crt) valid for 365 days.

        Single Sign On

        Wave has built-in support for OpenID Connect.

        To enable OpenID Connect, pass the following flags when starting the Wave server:

        • -oidc-provider-url: URL for authentication (the identity provider's URL).
        • -oidc-redirect-url: URL to redirect to after authentication. It's the address of the current instance of the Wave server + /_auth/callback e.g.: http://localhost:10101/_auth/callback.
        • -oidc-end-session-url: URL to log out (refer to your identity provider's documentation). This flag is optional and might not be supported by your identity provider.
        • -oidc-client-id: Client ID (refer to your identity provider's documentation).
        • -oidc-client-secret: Client secret (refer to your identity provider's documentation).

        Once authenticated, you can access user's authentication and authorization information from your app using q.auth (see the Auth class for details):

        from h2o_wave import Q, main, app
        +
        @app('/example')
        async def serve(q: Q):
        print(q.auth.username)
        print(q.auth.subject)
        + + + + + + + + + + diff --git a/docs/docs/state/index.html b/docs/docs/state/index.html index 795ca7db40..24dbbfb427 100644 --- a/docs/docs/state/index.html +++ b/docs/docs/state/index.html @@ -4,46 +4,35 @@ + - State | H2O Wave - - - - - - - - - - - - - - - - + State | H2O Wave + + + + + + + + + +
        -

        State

        How you manage your Wave app's state depends on your app's requirements. In most cases, an app's data is best stored in a database or data store of some kind. But sometimes it's convenient to store run-time information in your app's memory, especially during prototyping when you're trying to iterate quickly and refine ideas.

        In a Wave app, you can store run-time information at three levels:

        • App-level: Information shared across all users.
        • User-level: Information private to a user, but shared across all browser tabs.
        • Client-level: Information private to a browser tab.

        In real world apps, the decision on whether to store information at the client, user, or app level depends on the problem you're trying to solve. For example, if you were building an online store, you'd probably want to store product inventory at the app level and shopping carts at the user level. Most other kinds of information - search results, past orders, or product details - are best stored at the client-level (searching for products in one tab and having search results appear in another tab would drive even your most loyal customers up the wall).

        In other words, your Wave app is multi-user by default, but how your app manages data at the app-level, at the user-level, and at the client-level is up to you.

        The Wave query context q (of type Q) carries q.app, q.user, and q.client, three dictionary-like objects for storing information at the app-level, user-level, and client-level, respectively.

        tip

        q.app, q.user, and q.client are all Expando instances, which means they behave both like dictionaries and objects: q.client['foo'] is the same as q.client.foo. q.client.foo is easier to read.

        In most non-trivial apps, you'll find yourself frequently copying values from q.args into q.client (or q.user, depending on the problem you're solving). If this gets too repetitive for your taste, use copy_expando() to copy everything in q.args to q.client at the beginning of your @app() handler:

        from h2o_wave import Q, main, app, copy_expando
        -
        @app('/foo')
        async def serve(q: Q):
        copy_expando(q.args, q.client)
        # Do something else...
        - - - - - - - - - - - - - - - - +

        State

        How you manage your Wave app's state depends on your app's requirements. In most cases, an app's data is best stored in a database or data store of some kind. But sometimes it's convenient to store run-time information in your app's memory, especially during prototyping when you're trying to iterate quickly and refine ideas.

        In a Wave app, you can store run-time information at three levels:

        • App-level: Information shared across all users.
        • User-level: Information private to a user, but shared across all browser tabs.
        • Client-level: Information private to a browser tab.

        In real world apps, the decision on whether to store information at the client, user, or app level depends on the problem you're trying to solve. For example, if you were building an online store, you'd probably want to store product inventory at the app level and shopping carts at the user level. Most other kinds of information - search results, past orders, or product details - are best stored at the client-level (searching for products in one tab and having search results appear in another tab would drive even your most loyal customers up the wall).

        In other words, your Wave app is multi-user by default, but how your app manages data at the app-level, at the user-level, and at the client-level is up to you.

        The Wave query context q (of type Q) carries q.app, q.user, and q.client, three dictionary-like objects for storing information at the app-level, user-level, and client-level, respectively.

        tip

        q.app, q.user, and q.client are all Expando instances, which means they behave both like dictionaries and objects: q.client['foo'] is the same as q.client.foo. q.client.foo is easier to read.

        In most non-trivial apps, you'll find yourself frequently copying values from q.args into q.client (or q.user, depending on the problem you're solving). If this gets too repetitive for your taste, use copy_expando() to copy everything in q.args to q.client at the beginning of your @app() handler:

        from h2o_wave import Q, main, app, copy_expando
        +
        @app('/foo')
        async def serve(q: Q):
        copy_expando(q.args, q.client)
        # Do something else...
        + + + + + + + + + + diff --git a/docs/docs/testing/index.html b/docs/docs/testing/index.html index 12e58dc0af..5f060c88b2 100644 --- a/docs/docs/testing/index.html +++ b/docs/docs/testing/index.html @@ -4,45 +4,34 @@ + - Testing | H2O Wave - - - - - - - - - - - - - - - - + Testing | H2O Wave + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + diff --git a/docs/docs/tour/index.html b/docs/docs/tour/index.html index 18a2acfa7e..cf61eb42a6 100644 --- a/docs/docs/tour/index.html +++ b/docs/docs/tour/index.html @@ -4,47 +4,36 @@ + - A Tour of Wave | H2O Wave - - - - - - - - - - - - - - - - - + A Tour of Wave | H2O Wave + + + + + + + + + + +
        -

        A Tour of Wave

        Your Wave release download ships with over 150 examples.

        You can play around with these examples in your browser using tour.py, a Python script (itself a Wave app) located in examples/:

        Contents of $HOME/wave
        wave/
        ├── examples/ <-- Examples live here.
        | └── tour.py <-- The Wave Tour.
        ├── test/
        ├── www/
        └── waved

        To run the tour, as with any Wave app, we need to start both the Wave server (waved) and the tour (tour.py). Let's go ahead and do that.

        Step 1: Start the Wave server

        To start the Wave server, simply open a new terminal window and execute waved (or waved.exe on Windows).

        cd $HOME/wave
        ./waved
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # ┌─────────────────────────┐
        2020/10/27 16:16:34 # │ ┌ ┌ ┌──┐ ┌ ┌ ┌──┐ │ H2O Wave
        2020/10/27 16:16:34 # │ │ ┌──┘ │──│ │ │ └┐ │ (version) (build)
        2020/10/27 16:16:34 # │ └─┘ ┘ ┘ └──┘ └─┘ │ © 2020 H2O.ai, Inc.
        2020/10/27 16:16:34 # └─────────────────────────┘
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # {"address":":10101","t":"listen","webroot":"/home/elp/wave/www"}

        The Wave server should now be running at http://localhost:10101.

        Don't close this terminal window!

        To run any Wave app, you need the Wave server up and running at all times. Your web browser communicates with the Wave server, and the Wave server in turn communicates with the Wave app.

        Step 2: Run the tour

        First, create a virtual environment, install the tour's dependencies.

        important

        Do this from a new terminal window!

        cd $HOME/wave
        python3 -m venv venv
        source venv/bin/activate
        pip install -r examples/requirements.txt

        On Windows:

        cd $HOME\wave
        python3 -m venv venv
        venv\Scripts\activate.bat
        pip install -r examples\requirements.txt

        Finally, run the tour:

        wave run --no-reload examples.tour

        Step 3: Enjoy the tour

        Go to http://localhost:10101/tour to access the tour.

        tour

        tour.py is an ordinary Wave app that runs other apps. The tour itself runs at the route /tour, and each of the examples runs at /demo.

        tip

        To play with the tour's active example in isolation, simply open a new browser tab and head to http://localhost:10101/demo.

        Wrapping up

        In this section, we started the Wave server and then launched tour.py to experience the tour. In general, this is how you'd typically launch any app, including your own. There is nothing special about tour.py. In fact, to run any example, all you need to do is repeat the steps above in a new terminal window. For example, to run todo.py, simply run:

        wave run examples.todo

        You can now access the example at http://localhost:10101/demo. Simple!

        - - - - - - - - - - - - - - - - - +

        A Tour of Wave

        Your Wave release download ships with over 150 examples.

        You can play around with these examples in your browser using tour.py, a Python script (itself a Wave app) located in examples/:

        Contents of $HOME/wave
        wave/
        ├── examples/ <-- Examples live here.
        | └── tour.py <-- The Wave Tour.
        ├── test/
        ├── www/
        └── waved

        To run the tour, as with any Wave app, we need to start both the Wave server (waved) and the tour (tour.py). Let's go ahead and do that.

        Step 1: Start the Wave server

        To start the Wave server, simply open a new terminal window and execute waved (or waved.exe on Windows).

        cd $HOME/wave
        ./waved
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # ┌─────────────────────────┐
        2020/10/27 16:16:34 # │ ┌ ┌ ┌──┐ ┌ ┌ ┌──┐ │ H2O Wave
        2020/10/27 16:16:34 # │ │ ┌──┘ │──│ │ │ └┐ │ (version) (build)
        2020/10/27 16:16:34 # │ └─┘ ┘ ┘ └──┘ └─┘ │ © 2020 H2O.ai, Inc.
        2020/10/27 16:16:34 # └─────────────────────────┘
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # {"address":":10101","t":"listen","webroot":"/home/elp/wave/www"}

        The Wave server should now be running at http://localhost:10101.

        Don't close this terminal window!

        To run any Wave app, you need the Wave server up and running at all times. Your web browser communicates with the Wave server, and the Wave server in turn communicates with the Wave app.

        Step 2: Run the tour

        First, create a virtual environment, install the tour's dependencies.

        important

        Do this from a new terminal window!

        cd $HOME/wave
        python3 -m venv venv
        source venv/bin/activate
        pip install -r examples/requirements.txt

        On Windows:

        cd $HOME\wave
        python3 -m venv venv
        venv\Scripts\activate.bat
        pip install -r examples\requirements.txt

        Finally, run the tour:

        wave run --no-reload examples.tour

        Step 3: Enjoy the tour

        Go to http://localhost:10101/tour to access the tour.

        tour

        tour.py is an ordinary Wave app that runs other apps. The tour itself runs at the route /tour, and each of the examples runs at /demo.

        tip

        To play with the tour's active example in isolation, simply open a new browser tab and head to http://localhost:10101/demo.

        Wrapping up

        In this section, we started the Wave server and then launched tour.py to experience the tour. In general, this is how you'd typically launch any app, including your own. There is nothing special about tour.py. In fact, to run any example, all you need to do is repeat the steps above in a new terminal window. For example, to run todo.py, simply run:

        wave run examples.todo

        You can now access the example at http://localhost:10101/demo. Simple!

        + + + + + + + + + + + diff --git a/docs/docs/tutorial-beer/index.html b/docs/docs/tutorial-beer/index.html index 295a45ea52..f9ecae1f8c 100644 --- a/docs/docs/tutorial-beer/index.html +++ b/docs/docs/tutorial-beer/index.html @@ -4,29 +4,24 @@ + - Tutorial: Beer Wall | H2O Wave - - - - - - - - - - - - - - - - + Tutorial: Beer Wall | H2O Wave + + + + + + + + + +
        -

        Tutorial: Beer Wall

        In this tutorial, we'll learn how to update a web page periodically and observe our changes live in the browser. Completing this tutorial should improve your understanding of how easy it is to use Wave to publish information in realtime.

        The program we'll be writing is a verse generator for the runaway mid-20th century smash hit, 99 Bottles of Beer, which looks something like this:

        99 bottles of beer on the wall, 99 bottles of beer.
        +

        Tutorial: Beer Wall

        In this tutorial, we'll learn how to update a web page periodically and observe our changes live in the browser. Completing this tutorial should improve your understanding of how easy it is to use Wave to publish information in realtime.

        The program we'll be writing is a verse generator for the runaway mid-20th century smash hit, 99 Bottles of Beer, which looks something like this:

        99 bottles of beer on the wall, 99 bottles of beer.
        Take one down, pass it around, 98 bottles of beer on the wall...

        98 bottles of beer on the wall, 98 bottles of beer.
        Take one down, pass it around, 97 bottles of beer on the wall...

        ...

        Our program will be analogous to our "Hello, World!" program, with the addition of a loop. We'll generate a verse every second, and observe the verse change in the browser in realtime. After that, we'll take a stab at making our program a bit more efficient, introducing how expressions work.

        (Incidentally, Donald Knuth proved that this song has a complexity of O(log N) in "The Complexity of Songs", but we won't let that little detail deter us for now.)

        Prerequisites

        This tutorial assumes your Wave server is up and running, and you have a working directory for authoring programs. If not, head over to the Hello World tutorial and complete steps 1 and 2.

        Step 1: Write your program

        Our program looks like this. It's mostly similar to the one in the Hello World tutorial, with one exception: we're setting the markdown card's content inside a for loop.

        $HOME/wave-apps/beer_wall.py
        import time
        from h2o_wave import site, ui
        page = site['/beer']
        @@ -38,23 +33,17 @@
        beer_verse = '''={{before}} bottles of beer on the wall, {{before}} bottles of beer.
        Take one down, pass it around, {{after}} bottles of beer on the wall...
        '''
        beer_card = page.add('wall', ui.markdown_card(
        box='1 1 4 2',
        title='99 Bottles of Beer',
        content=beer_verse,
        data=dict(before='99', after='98'),
        ))
        -
        for i in range(99, 0, -1):
        beer_card.data.before = str(i)
        beer_card.data.after = str(i - 1)
        page.save()
        time.sleep(1)

        Run your program again. You should see the same results in your browser as before, but you'll notice that the information flowing through the Wave server is significantly less than before:

        2020/10/02 13:53:11 * /beer {"d":[{"k":"wall data before","v":"98"},{"k":"wall data after","v":"97"}]}
        2020/10/02 13:53:12 * /beer {"d":[{"k":"wall data before","v":"97"},{"k":"wall data after","v":"96"}]}
        2020/10/02 13:53:13 * /beer {"d":[{"k":"wall data before","v":"96"},{"k":"wall data after","v":"95"}]}
        2020/10/02 13:53:14 * /beer {"d":[{"k":"wall data before","v":"95"},{"k":"wall data after","v":"94"}]}
        2020/10/02 13:53:15 * /beer {"d":[{"k":"wall data before","v":"94"},{"k":"wall data after","v":"93"}]}
        2020/10/02 13:53:16 * /beer {"d":[{"k":"wall data before","v":"93"},{"k":"wall data after","v":"92"}]}

        Summary

        In this tutorial, we learned how to send periodic updates to the Wave server and observe changes in realtime.

        In the next tutorial, we'll put these principles to real-world use, popping up charts for a song instead of chart topping pop songs.

        - - - - - - - - - - - - - - - - +
        for i in range(99, 0, -1):
        beer_card.data.before = str(i)
        beer_card.data.after = str(i - 1)
        page.save()
        time.sleep(1)

        Run your program again. You should see the same results in your browser as before, but you'll notice that the information flowing through the Wave server is significantly less than before:

        2020/10/02 13:53:11 * /beer {"d":[{"k":"wall data before","v":"98"},{"k":"wall data after","v":"97"}]}
        2020/10/02 13:53:12 * /beer {"d":[{"k":"wall data before","v":"97"},{"k":"wall data after","v":"96"}]}
        2020/10/02 13:53:13 * /beer {"d":[{"k":"wall data before","v":"96"},{"k":"wall data after","v":"95"}]}
        2020/10/02 13:53:14 * /beer {"d":[{"k":"wall data before","v":"95"},{"k":"wall data after","v":"94"}]}
        2020/10/02 13:53:15 * /beer {"d":[{"k":"wall data before","v":"94"},{"k":"wall data after","v":"93"}]}
        2020/10/02 13:53:16 * /beer {"d":[{"k":"wall data before","v":"93"},{"k":"wall data after","v":"92"}]}

        Summary

        In this tutorial, we learned how to send periodic updates to the Wave server and observe changes in realtime.

        In the next tutorial, we'll put these principles to real-world use, popping up charts for a song instead of chart topping pop songs.

        + + + + + + + + + + diff --git a/docs/docs/tutorial-counter/index.html b/docs/docs/tutorial-counter/index.html index 90d3c52def..d16242e917 100644 --- a/docs/docs/tutorial-counter/index.html +++ b/docs/docs/tutorial-counter/index.html @@ -4,29 +4,24 @@ + - Tutorial: Bean Counter | H2O Wave - - - - - - - - - - - - - - - - + Tutorial: Bean Counter | H2O Wave + + + + + + + + + +
        -

        Tutorial: Bean Counter

        In the previous tutorials, we've been authoring Wave scripts. A Wave script is a perfectly fine and dandy way to modify pages in Wave and build dashboards. However, to build interactive applications in Wave - user interfaces that can dynamically respond to events (the user's actions) - Wave apps are the way to go.

        In the fine tradition of keeping tutorials succinct and useful, we'll author a little app that counts beans of the virtual kind, or, a bean counter, not to be confused with dubiously intentioned financial officers.

        This tutorial outlines the basics of how to handle events, update the UI, manage state and easily add realtime sync capabilities to your app. It's probably the most important tutorial to wrap your head around if you're interesting in authoring interactive applications.

        Prerequisites

        This tutorial assumes your Wave server is up and running, and you have a working directory for authoring programs. If not, head over to the Hello World tutorial and complete steps 1 and 2.

        Step 1: Start listening

        The first step towards listening to events from the UI is to define an @app function:

        $HOME/wave-apps/counter.py
        from h2o_wave import Q, main, app
        +

        Tutorial: Bean Counter

        In the previous tutorials, we've been authoring Wave scripts. A Wave script is a perfectly fine and dandy way to modify pages in Wave and build dashboards. However, to build interactive applications in Wave - user interfaces that can dynamically respond to events (the user's actions) - Wave apps are the way to go.

        In the fine tradition of keeping tutorials succinct and useful, we'll author a little app that counts beans of the virtual kind, or, a bean counter, not to be confused with dubiously intentioned financial officers.

        This tutorial outlines the basics of how to handle events, update the UI, manage state and easily add realtime sync capabilities to your app. It's probably the most important tutorial to wrap your head around if you're interesting in authoring interactive applications.

        Prerequisites

        This tutorial assumes your Wave server is up and running, and you have a working directory for authoring programs. If not, head over to the Hello World tutorial and complete steps 1 and 2.

        Step 1: Start listening

        The first step towards listening to events from the UI is to define an @app function:

        $HOME/wave-apps/counter.py
        from h2o_wave import Q, main, app
        @app('/counter')
        async def serve(q: Q):
        pass

        @app is a decorator that takes one required argument - the route to listen to, in this case /counter (which translates to localhost:10101/counter or www.example.com/counter).

        The @app decorator is applied to a function called serve(), which is called every single time the user interacts with the UI (access the page, reload it, click a button, access a menu, enter text, and so on).

        We named the function serve(), but you can call it anything you please, like shoe_strings().

        Lastly, note that we've imported the symbol main into our .py file. You don't have to do anything with main except import it.

        To run your app, use wave run:

        cd $HOME/wave-apps
        source venv/bin/activate
        wave run counter

        The wave run command runs your app in development mode, and the app is automatically reloaded when edited.

        At this point, your app will be up and running, but it doesn't do anything yet. Let's change that in a second.

        Step 2: Display a button

        Let's add a button to our app. Out goal is to increment and display the bean count each time the button is clicked.

        To do this, we declare a variable called bean_count, and use form_card() to add a form to our page. A form card is a special type of card that displays a vertical stack of components (also called widgets). In this case our form contains a solitary button named increment, with a caption showing the current bean_count. The button is marked as primary, which serves no other purpose than to make it look tall, dark, and handsome.

        $HOME/wave-apps/counter.py
        from h2o_wave import Q, main, app, ui
        @app('/counter')
        async def serve(q: Q):
        bean_count = 0
        q.page['beans'] = ui.form_card(
        box='1 1 1 2',
        items=[
        ui.button(
        name='increment',
        label='Click me!',
        caption=f'{bean_count} beans',
        primary=True,
        ),
        ],
        )
        await q.page.save()

        Notice how the technique to modify and save pages in a Wave app is different from that of a Wave script.

        TaskWave ScriptWave App
        Access page at route /foopage = site['/foo']page = q.page
        Access card named foocard = page['foo']card = q.page['foo']
        Save pagepage.save()await q.page.save()

        In a Wave app, we always access the page using the query context q. The query context carries useful information about the active UI event, including who issued the event, what information was entered, which buttons were clicked, and so on; and q.page always refers to the page located at the route you passed to @app() (in this case).

        Point your browser to http://localhost:10101/counter. You should see a nice big button, waiting to be clicked on:

        Button

        If you click on the button, you'll notice that it doesn't do anything. This is because we haven't handled button clicks yet. Instead, when you click the button, the events are sent to your serve() function, but the serve() function blindly adds the form (with the button) to the page all over again and saves it, causing the page to display the same form all over again. Let's fix this next.

        Step 3: Handle button clicks

        Add a condition to check if the button is clicked, and if so, increment the bean count.

        $HOME/wave-apps/counter.py
        from h2o_wave import Q, main, app, ui
        @@ -39,23 +34,17 @@
        @app('/counter', mode='multicast')
        async def serve(q: Q):
        bean_count = q.user.bean_count or 0
        if q.args.increment:
        q.user.bean_count = bean_count = bean_count + 1
        if not q.client.initialized:
        q.client.initialized = True
        q.page['beans'] = ui.form_card(
        box='1 1 1 2',
        items=[
        ui.button(
        name='increment',
        label='Click me!',
        caption=f'{bean_count} beans',
        primary=True,
        ),
        ],
        )
        else:
        q.page['beans'].items[0].button.caption = f'{bean_count} beans'
        await q.page.save()
        info

        The default app mode is unicast, which means "don't sync across clients". On the other hand, multicast means "sync across clients". There's also a third mode, broadcast, which means "sync across users", which we'll see in the next step.

        If you play with your app now, you'll see that the user-level bean count indeed syncs across tabs:

        Step 6: App-level realtime sync

        Going from user-level bean counting to app-level bean counting is easy: simply store bean_count on q.app instead of q.user, and switch the app mode to broadcast:

        $HOME/wave-apps/counter.py
        from h2o_wave import Q, main, app, ui
        @app('/counter', mode='broadcast')
        async def serve(q: Q):
        bean_count = q.app.bean_count or 0
        if q.args.increment:
        q.app.bean_count = bean_count = bean_count + 1
        -
        if not q.client.initialized:
        q.client.initialized = True
        q.page['beans'] = ui.form_card(
        box='1 1 1 2',
        items=[
        ui.button(
        name='increment',
        label='Click me!',
        caption=f'{bean_count} beans',
        primary=True,
        ),
        ],
        )
        else:
        q.page['beans'].items[0].button.caption = f'{bean_count} beans'
        await q.page.save()
        tip

        The broadcast mode can be used to build collaborative apps that need to synchronize state across all users, like group chat or multiplayer games.

        Summary

        In this tutorial, we learned how to author interactive applications, or apps, and easily add realtime sync capabilities to our apps. More importantly, we learned how to deal with events and manage state using four dictionary-like objects:

        AttributeTypeUse
        q.argsRead-onlyStores command arguments
        q.clientRead/WriteStores client-level state
        q.userRead/WriteStores user-level state
        q.appRead/WriteStores app-level state

        Also, we built ourselves a little app that counts beans, and you can now put that knowledge to good use, like build an online voting app for the upcoming elections in the banana republic you're running on your private island (a smidgen of democracy can't hurt).

        In the next section, we'll build something a bit more substantial and useful: a to-do list with realtime sync.

        - - - - - - - - - - - - - - - - +
        if not q.client.initialized:
        q.client.initialized = True
        q.page['beans'] = ui.form_card(
        box='1 1 1 2',
        items=[
        ui.button(
        name='increment',
        label='Click me!',
        caption=f'{bean_count} beans',
        primary=True,
        ),
        ],
        )
        else:
        q.page['beans'].items[0].button.caption = f'{bean_count} beans'
        await q.page.save()
        tip

        The broadcast mode can be used to build collaborative apps that need to synchronize state across all users, like group chat or multiplayer games.

        Summary

        In this tutorial, we learned how to author interactive applications, or apps, and easily add realtime sync capabilities to our apps. More importantly, we learned how to deal with events and manage state using four dictionary-like objects:

        AttributeTypeUse
        q.argsRead-onlyStores command arguments
        q.clientRead/WriteStores client-level state
        q.userRead/WriteStores user-level state
        q.appRead/WriteStores app-level state

        Also, we built ourselves a little app that counts beans, and you can now put that knowledge to good use, like build an online voting app for the upcoming elections in the banana republic you're running on your private island (a smidgen of democracy can't hurt).

        In the next section, we'll build something a bit more substantial and useful: a to-do list with realtime sync.

        + + + + + + + + + + diff --git a/docs/docs/tutorial-hello/index.html b/docs/docs/tutorial-hello/index.html index 99c8d2a6d6..89fc7b0b5c 100644 --- a/docs/docs/tutorial-hello/index.html +++ b/docs/docs/tutorial-hello/index.html @@ -4,50 +4,39 @@ + - Tutorial: Hello World | H2O Wave - - - - - - - - - - - - - - - - - + Tutorial: Hello World | H2O Wave + + + + + + + + + + +
        -

        Tutorial: Hello World

        In this section, we'll learn how to author our first Wave program from scratch, and understand the basics of how to display content in a web browser.

        note

        These tutorials assume that you have some familiarity with the Python programming language. You don't have to be an expert, but it might be harder to learn both Wave and Python at the same time.

        Step 1: Start the Wave server

        To start the Wave server, simply open a new terminal window and execute waved (or waved.exe on Windows).

        cd $HOME/wave
        ./waved
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # ┌─────────────────────────┐
        2020/10/27 16:16:34 # │ ┌ ┌ ┌──┐ ┌ ┌ ┌──┐ │ H2O Wave
        2020/10/27 16:16:34 # │ │ ┌──┘ │──│ │ │ └┐ │ (version) (build)
        2020/10/27 16:16:34 # │ └─┘ ┘ ┘ └──┘ └─┘ │ © 2020 H2O.ai, Inc.
        2020/10/27 16:16:34 # └─────────────────────────┘
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # {"address":":10101","t":"listen","webroot":"/home/elp/wave/www"}

        The Wave server should now be running at http://localhost:10101.

        Don't close this terminal window!

        To run any Wave app, you need the Wave server up and running at all times. Your web browser communicates with the Wave server, and the Wave server in turn communicates with the Wave app.

        Step 2: Set up a working directory

        Next, let's set up a working directory to author our program.

        Create a directory

        mkdir $HOME/wave-apps
        cd $HOME/wave-apps

        Set up a virtual environment

        A virtual environment helps us manage our program's dependencies without interfering with system-wide packages.

        python3 -m venv venv

        Install the Wave Python driver

        ./venv/bin/pip install h2o-wave

        Step 3: Write your program

        Next, open your preferred text editor, create a Python script called hello_world.py in the $HOME/wave-apps directory, and copy-paste the following.

        For now, don't worry too much about what this program is doing. We'll get to that shortly.

        $HOME/wave-apps/hello_world.py
        from h2o_wave import site, ui
        +

        Tutorial: Hello World

        In this section, we'll learn how to author our first Wave program from scratch, and understand the basics of how to display content in a web browser.

        note

        These tutorials assume that you have some familiarity with the Python programming language. You don't have to be an expert, but it might be harder to learn both Wave and Python at the same time.

        Step 1: Start the Wave server

        To start the Wave server, simply open a new terminal window and execute waved (or waved.exe on Windows).

        cd $HOME/wave
        ./waved
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # ┌─────────────────────────┐
        2020/10/27 16:16:34 # │ ┌ ┌ ┌──┐ ┌ ┌ ┌──┐ │ H2O Wave
        2020/10/27 16:16:34 # │ │ ┌──┘ │──│ │ │ └┐ │ (version) (build)
        2020/10/27 16:16:34 # │ └─┘ ┘ ┘ └──┘ └─┘ │ © 2020 H2O.ai, Inc.
        2020/10/27 16:16:34 # └─────────────────────────┘
        2020/10/27 16:16:34 #
        2020/10/27 16:16:34 # {"address":":10101","t":"listen","webroot":"/home/elp/wave/www"}

        The Wave server should now be running at http://localhost:10101.

        Don't close this terminal window!

        To run any Wave app, you need the Wave server up and running at all times. Your web browser communicates with the Wave server, and the Wave server in turn communicates with the Wave app.

        Step 2: Set up a working directory

        Next, let's set up a working directory to author our program.

        Create a directory

        mkdir $HOME/wave-apps
        cd $HOME/wave-apps

        Set up a virtual environment

        A virtual environment helps us manage our program's dependencies without interfering with system-wide packages.

        python3 -m venv venv
        source venv/bin/activate

        If you are using Conda as your package manager,

        conda create -n venv
        conda activate venv

        Install the Wave Python driver

        pip install h2o-wave

        If you are using Conda as your package manager,

        conda install -c h2oai h2o_wave

        Step 3: Write your program

        Next, open your preferred text editor, create a Python script called hello_world.py in the $HOME/wave-apps directory, and copy-paste the following.

        For now, don't worry too much about what this program is doing. We'll get to that shortly.

        $HOME/wave-apps/hello_world.py
        from h2o_wave import site, ui
        # Grab a reference to the page at route '/hello'
        page = site['/hello']
        # Add a markdown card to the page.
        page['quote'] = ui.markdown_card(
        box='1 1 2 2',
        title='Hello World',
        content='"The Internet? Is that thing still around?" - *Homer Simpson*',
        )
        -
        # Finally, save the page.
        page.save()

        Step 4: Run your program

        cd $HOME/wave-apps
        ./venv/bin/python hello_world.py

        Step 5: Admire your creation

        Point your browser to http://localhost:10101/hello, and pause to reflect on a particularly pithy quote from the venerable Homer Simpson.

        Hello World 1

        Step 6: Understand your program

        Let's walk through this program step by step.

        This program (technically a script), illustrates the core of Wave's programming model, or, "How to think in Wave."

        1. Your Wave server instance holds a collection of pages.
        2. To change a page, simply grab a reference to a page, change it, and save it.

        That's it. Your changes are now visible to everyone.

        Let's understand this principle in practice using the little program we just created.

        Grab a reference to a page

        A site represents a dictionary of all the pages on the Wave server. To get a reference to a page hosted at the route /hello (which translates to http://localhost:10101/hello), simply grab the value at key /hello.

        page = site['/hello']

        Change the page

        Similar to how a site represents a collection of pages, a page represents a collection of cards. A card represents a block of content: text, graphics, widgets, or some combination of those.

        page['quote'] = ui.markdown_card(
        box='1 1 2 2',
        title='Hello World',
        content='"The Internet? Is that thing still around?" - *Homer Simpson*',
        )

        Pages support different kinds of cards. In this case, we add a card named quote that displays markdown content (markdown_card()). The position and size of the card on the page is specified by the box attribute. In this case, the card is placed at column 1, row 1, sized 2 x 2 units. The content attribute supports Github Flavored Markdown.

        Save the page

        Finally, we call save() on the page, which broadcasts our changes to all connected web browsers.

        page.save()

        Hello World 1

        So far, so good.

        Step 7: Edit your page from a REPL

        Finally, just for kicks, let's make some changes to our hello world page using a Python REPL and watch our page reflect those changes in realtime.

        Start a Python REPL

        cd $HOME/wave-apps
        ./venv/bin/python

        Grab a reference to our page

        >>>
        from h2o_wave import site
        page = site['/hello']

        Grab a reference to our card

        >>>
        quote = page['quote']

        Change the title

        >>>
        quote.title = 'Hello Again!'
        page.save()

        Hello World 2

        Change the content

        >>>
        quote.content = "D'oh! - *Homer Simpson*"
        page.save()

        Hello World 3

        Quit your REPL

        >>>
        quit()

        Summary

        What we just did - add content from one program and make edits to it from another - illustrates another important aspect of Wave's programming model: The Wave server retains content. Your hello_world.py program did its thing and exited. So did your REPL. But your content was retained for the viewing pleasure of future visitors to /hello.

        Next, we'll take the principles we learned from this tutorial and apply it towards a supposedly spirited folk song involving arithmetic progressions.

        - - - - - - - - - - - - - - - - - +
        # Finally, save the page.
        page.save()

        Step 4: Run your program

        cd $HOME/wave-apps
        ./venv/bin/python hello_world.py

        Step 5: Admire your creation

        Point your browser to http://localhost:10101/hello, and pause to reflect on a particularly pithy quote from the venerable Homer Simpson.

        Hello World 1

        Step 6: Understand your program

        Let's walk through this program step by step.

        This program (technically a script), illustrates the core of Wave's programming model, or, "How to think in Wave."

        1. Your Wave server instance holds a collection of pages.
        2. To change a page, simply grab a reference to a page, change it, and save it.

        That's it. Your changes are now visible to everyone.

        Let's understand this principle in practice using the little program we just created.

        Grab a reference to a page

        A site represents a dictionary of all the pages on the Wave server. To get a reference to a page hosted at the route /hello (which translates to http://localhost:10101/hello), simply grab the value at key /hello.

        page = site['/hello']

        Change the page

        Similar to how a site represents a collection of pages, a page represents a collection of cards. A card represents a block of content: text, graphics, widgets, or some combination of those.

        page['quote'] = ui.markdown_card(
        box='1 1 2 2',
        title='Hello World',
        content='"The Internet? Is that thing still around?" - *Homer Simpson*',
        )

        Pages support different kinds of cards. In this case, we add a card named quote that displays markdown content (markdown_card()). The position and size of the card on the page is specified by the box attribute. In this case, the card is placed at column 1, row 1, sized 2 x 2 units. The content attribute supports Github Flavored Markdown.

        Save the page

        Finally, we call save() on the page, which broadcasts our changes to all connected web browsers.

        page.save()

        Hello World 1

        So far, so good.

        Step 7: Edit your page from a REPL

        Finally, just for kicks, let's make some changes to our hello world page using a Python REPL and watch our page reflect those changes in realtime.

        Start a Python REPL

        cd $HOME/wave-apps
        ./venv/bin/python

        Grab a reference to our page

        >>>
        from h2o_wave import site
        page = site['/hello']

        Grab a reference to our card

        >>>
        quote = page['quote']

        Change the title

        >>>
        quote.title = 'Hello Again!'
        page.save()

        Hello World 2

        Change the content

        >>>
        quote.content = "D'oh! - *Homer Simpson*"
        page.save()

        Hello World 3

        Quit your REPL

        >>>
        quit()

        Summary

        What we just did - add content from one program and make edits to it from another - illustrates another important aspect of Wave's programming model: The Wave server retains content. Your hello_world.py program did its thing and exited. So did your REPL. But your content was retained for the viewing pleasure of future visitors to /hello.

        Next, we'll take the principles we learned from this tutorial and apply it towards a supposedly spirited folk song involving arithmetic progressions.

        + + + + + + + + + + + diff --git a/docs/docs/tutorial-monitor/index.html b/docs/docs/tutorial-monitor/index.html index 7ffab24fa8..0b03bdbe62 100644 --- a/docs/docs/tutorial-monitor/index.html +++ b/docs/docs/tutorial-monitor/index.html @@ -4,29 +4,24 @@ + - Tutorial: System Monitor | H2O Wave - - - - - - - - - - - - - - - - + Tutorial: System Monitor | H2O Wave + + + + + + + + + +
        -

        Tutorial: System Monitor

        In this tutorial, we'll put our learnings from the first and second tutorials to some real-world use: a simple system monitoring tool that displays CPU, memory and network stats on a web page.

        CPU

        For example, if you have a spare 256-node Raspberry Pi cluster lying somewhere, you can run this program to each node and monitor your entire cluster's system utilization from one place. How cool is that?

        We'll also introduce a new concept, called data buffers, which allows you to use the Wave server to store rows (also called tuples or records) of information - much like how you would use tables in a database, or dataframes in Python or R - to deal with structured data.

        Prerequisites

        This tutorial assumes your Wave server is up and running, and you have a working directory for authoring programs. If not, head over to the Hello World tutorial and complete steps 1 and 2.

        Step 1: Install dependencies

        We'll be using the excellent psutil package to read system stats. Let's go ahead and install that in our virtual environment:

        cd $HOME/wave-apps
        ./venv/bin/pip install psutil

        Step 2: Monitor CPU usage

        Here's what our program looks like:

        $HOME/wave-apps/system_monitor.py
        import time
        import psutil
        from h2o_wave import site, ui, data
        +

        Tutorial: System Monitor

        In this tutorial, we'll put our learnings from the first and second tutorials to some real-world use: a simple system monitoring tool that displays CPU, memory and network stats on a web page.

        CPU

        For example, if you have a spare 256-node Raspberry Pi cluster lying somewhere, you can run this program to each node and monitor your entire cluster's system utilization from one place. How cool is that?

        We'll also introduce a new concept, called data buffers, which allows you to use the Wave server to store rows (also called tuples or records) of information - much like how you would use tables in a database, or dataframes in Python or R - to deal with structured data.

        Prerequisites

        This tutorial assumes your Wave server is up and running, and you have a working directory for authoring programs. If not, head over to the Hello World tutorial and complete steps 1 and 2.

        Step 1: Install dependencies

        We'll be using the excellent psutil package to read system stats. Let's go ahead and install that in our virtual environment:

        cd $HOME/wave-apps
        ./venv/bin/pip install psutil

        Step 2: Monitor CPU usage

        Here's what our program looks like:

        $HOME/wave-apps/system_monitor.py
        import time
        import psutil
        from h2o_wave import site, ui, data
        page = site['/monitor']
        cpu_card = page.add('cpu_stats', ui.small_series_stat_card(
        box='1 1 1 1',
        title='CPU',
        value='={{usage}}%',
        data=dict(usage=0.0),
        plot_data=data('tick usage', -15),
        plot_category='tick',
        plot_value='usage',
        plot_zero_value=0,
        plot_color='$red',
        ))
        tick = 0
        while True:
        tick += 1
        @@ -37,23 +32,17 @@
        tick = 0
        while True:
        tick += 1
        cpu_usage = psutil.cpu_percent(interval=1)
        cpu_card.data.usage = cpu_usage
        cpu_card.plot_data[-1] = [tick, cpu_usage]
        mem_usage = psutil.virtual_memory().percent
        mem_card.data.usage = mem_usage
        mem_card.plot_data[-1] = [tick, mem_usage]
        -
        page.save()
        time.sleep(1)

        Step 6: Run your program again

        Terminate your program (^C) and restart it:

        cd $HOME/wave-apps
        ./venv/bin/python system_stats.py

        Point your browser to http://localhost:10101/monitor. You should now see both CPU and memory stats live:

        CPU

        Exercise

        Explore other kinds of cards in the Gallery and display additional stats gleaned from psutil (network, disk, processes, etc.).

        Summary

        In this tutorial, we learned how to use stats cards to display live information. The knowledge you've gained from these first few tutorials should be enough to design and deploy live dashboards using Wave. You will also have noticed that you don't need to keep your Python program running all the time to continue displaying your pages. You can terminate your Python program any time, and the Wave server will happily display the last known state of all your pages.

        The programs you've been authoring till now are one kind of programs, called Wave scripts. Wave scripts are not interactive. They can modify pages on the Wave server, but cannot respond to user actions, like handling button clicks, menu commands, dropdown changes, and so on. To handle user interactions, you need to author Wave Apps, which are long-running programs (servers or services) that are capable of modifying pages in response to user actions. Let's see how to do that in the next tutorial.

        - - - - - - - - - - - - - - - - +
        page.save()
        time.sleep(1)

        Step 6: Run your program again

        Terminate your program (^C) and restart it:

        cd $HOME/wave-apps
        ./venv/bin/python system_monitor.py

        Point your browser to http://localhost:10101/monitor. You should now see both CPU and memory stats live:

        CPU

        Exercise

        Explore other kinds of cards in the Gallery and display additional stats gleaned from psutil (network, disk, processes, etc.).

        Summary

        In this tutorial, we learned how to use stats cards to display live information. The knowledge you've gained from these first few tutorials should be enough to design and deploy live dashboards using Wave. You will also have noticed that you don't need to keep your Python program running all the time to continue displaying your pages. You can terminate your Python program any time, and the Wave server will happily display the last known state of all your pages.

        The programs you've been authoring till now are one kind of programs, called Wave scripts. Wave scripts are not interactive. They can modify pages on the Wave server, but cannot respond to user actions, like handling button clicks, menu commands, dropdown changes, and so on. To handle user interactions, you need to author Wave Apps, which are long-running programs (servers or services) that are capable of modifying pages in response to user actions. Let's see how to do that in the next tutorial.

        + + + + + + + + + + diff --git a/docs/docs/tutorial-todo/index.html b/docs/docs/tutorial-todo/index.html index b6867c6c2b..cdaae09e9a 100644 --- a/docs/docs/tutorial-todo/index.html +++ b/docs/docs/tutorial-todo/index.html @@ -4,29 +4,24 @@ + - Tutorial: Todo List | H2O Wave - - - - - - - - - - - - - - - - + Tutorial: Todo List | H2O Wave + + + + + + + + + +
        -

        Tutorial: Todo List

        In this tutorial, we'll build something a bit more substantial and useful: a to-do list with realtime sync, in under 75 lines of (well-formatted, well-commented) code.

        More importantly, this tutorial will not introduce any new concepts. Everything you need to know about authoring interactive apps using Wave is already covered in the previous tutorial. From this point on, it's mostly a matter of abstraction, which is a fancy term for how you solve the problem at hand using short, simple, clear, elegant, modular functions that do one thing and do it well.

        Above all, prefer brevity and clarity. The best code is no code at all.

        Step 1: Listen

        We'll start with a basic skeleton, and then work our way up from there.

        The first step is to define an @app function. Also, we want the landing page to show a list of to-dos, so we'll throw in an empty show_todos() function for now, and call it from serve().

        $HOME/wave-apps/todo.py
        from h2o_wave import Q, main, app, ui
        +

        Tutorial: Todo List

        In this tutorial, we'll build something a bit more substantial and useful: a to-do list with realtime sync, in under 75 lines of (well-formatted, well-commented) code.

        More importantly, this tutorial will not introduce any new concepts. Everything you need to know about authoring interactive apps using Wave is already covered in the previous tutorial. From this point on, it's mostly a matter of abstraction, which is a fancy term for how you solve the problem at hand using short, simple, clear, elegant, modular functions that do one thing and do it well.

        Above all, prefer brevity and clarity. The best code is no code at all.

        Step 1: Listen

        We'll start with a basic skeleton, and then work our way up from there.

        The first step is to define an @app function. Also, we want the landing page to show a list of to-dos, so we'll throw in an empty show_todos() function for now, and call it from serve().

        $HOME/wave-apps/todo.py
        from h2o_wave import Q, main, app, ui
        @app('/todo')
        async def serve(q: Q):
        show_todos(q)
        await q.page.save()
        @@ -100,23 +95,17 @@
        def add_todo(q: Q):
        # Insert a new item
        q.user.todos.insert(0, TodoItem(q.args.text or 'Untitled'))
        # Go back to our list.
        show_todos(q)
        -
        def new_todo(q: Q):
        # Display an input form
        q.page['form'] = ui.form_card(box='1 1 3 10', items=[
        ui.text_l('New To Do'),
        ui.textbox(name='text', label='What needs to be done?', multiline=True),
        ui.buttons([
        ui.button(name='add_todo', label='Add', primary=True),
        ui.button(name='show_todos', label='Back'),
        ]),
        ])

        You should now be able to add new to-do items to your list. Congratulations!

        Step 9: Make it realtime

        To make your app realtime, simply pass mode='multicast' to @app().

        $HOME/wave-apps/todo.py
        @app('/todo', mode='multicast')

        Now try opening http://localhost:10101/todo from multiple browser tabs:

        Groovy!

        Exercise

        A little housekeeping goes a long way: add a "Clear" button on the main page to clear all completed to-dos.

        Next steps

        Congratulations! You've completed all the tutorials (hopefully). There are three paths you can take from here:

        • Gallery. 150+ examples that cover everything that Wave has to offer.
        • Guide. In-depth look at each of Wave's features.
        • API. Reference-level documentation for the Python API.

        Happy hacking!

        - - - - - - - - - - - - - - - - +
        def new_todo(q: Q):
        # Display an input form
        q.page['form'] = ui.form_card(box='1 1 3 10', items=[
        ui.text_l('New To Do'),
        ui.textbox(name='text', label='What needs to be done?', multiline=True),
        ui.buttons([
        ui.button(name='add_todo', label='Add', primary=True),
        ui.button(name='show_todos', label='Back'),
        ]),
        ])

        You should now be able to add new to-do items to your list. Congratulations!

        Step 9: Make it realtime

        To make your app realtime, simply pass mode='multicast' to @app().

        $HOME/wave-apps/todo.py
        @app('/todo', mode='multicast')

        Now try opening http://localhost:10101/todo from multiple browser tabs:

        Groovy!

        Exercise

        A little housekeeping goes a long way: add a "Clear" button on the main page to clear all completed to-dos.

        Next steps

        Congratulations! You've completed all the tutorials (hopefully). There are three paths you can take from here:

        • Gallery. 150+ examples that cover everything that Wave has to offer.
        • Guide. In-depth look at each of Wave's features.
        • API. Reference-level documentation for the Python API.

        Happy hacking!

        + + + + + + + + + + diff --git a/docs/e013439f.af64d972.js b/docs/e013439f.af64d972.js new file mode 100644 index 0000000000..73b688bf34 --- /dev/null +++ b/docs/e013439f.af64d972.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[212],{266:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return c})),n.d(t,"rightToc",(function(){return u})),n.d(t,"default",(function(){return s}));var r=n(2),a=n(6),o=(n(0),n(302)),i=n(304),l={title:"Plot / Line / Annotation",keywords:["annotation","plot"]},c={unversionedId:"examples/plot-line-annotation",id:"examples/plot-line-annotation",isDocsHomePage:!1,title:"Plot / Line / Annotation",description:"Add annotations to a line plot.",source:"@site/docs/examples/plot-line-annotation.md",slug:"/examples/plot-line-annotation",permalink:"/wave/docs/examples/plot-line-annotation",editUrl:"https://github.com/h2oai/wave/edit/master/website/docs/examples/plot-line-annotation.md",version:"current",sidebar:"someSidebar",previous:{title:"Plot / Line / Labels / Occlusion",permalink:"/wave/docs/examples/plot-line-labels-no-overlap"},next:{title:"Plot / Path",permalink:"/wave/docs/examples/plot-path"}},u=[],p={rightToc:u};function s(e){var t=e.components,l=Object(a.a)(e,["components"]);return Object(o.b)("wrapper",Object(r.a)({},p,l,{components:t,mdxType:"MDXLayout"}),Object(o.b)("p",null,"Add annotations to a line plot."),Object(o.b)("div",{className:"cover",style:{backgroundImage:"url("+n(478).default+")"}}),Object(o.b)("pre",null,Object(o.b)("code",Object(r.a)({parentName:"pre"},{className:"language-py"}),"from synth import FakeTimeSeries\nfrom h2o_wave import site, data, ui\n\npage = site['/demo']\n\nn = 50\nf = FakeTimeSeries()\nv = page.add('example', ui.plot_card(\n box='1 1 4 5',\n title='Time-Numeric',\n data=data('date price', n),\n plot=ui.plot([\n ui.mark(type='line', x_scale='time', x='=date', y='=price', y_min=0, y_max=100),\n ui.mark(x=50, y=50, label='point'),\n ui.mark(x='2010-05-15T19:59:21.000000Z', label='vertical line'),\n ui.mark(y=40, label='horizontal line'),\n ui.mark(x='2010-05-24T19:59:21.000000Z', x0='2010-05-20T19:59:21.000000Z', label='vertical region'),\n ui.mark(y=70, y0=60, label='horizontal region'),\n ui.mark(x='2010-05-10T19:59:21.000000Z', x0='2010-05-05T19:59:21.000000Z', y=30, y0=20,\n label='rectangular region')\n ])\n))\nv.data = [(t, x) for t, x, dx in [f.next() for _ in range(n)]]\n\npage.save()\n")),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(o.b)("a",{href:Object(i.a)("docs/examples/tags#annotation")},"annotation")," \u2002",Object(o.b)("a",{href:Object(i.a)("docs/examples/tags#plot")},"plot")))}s.isMDXComponent=!0},302:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),p=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=p(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),s=p(n),d=r,m=s["".concat(i,".").concat(d)]||s[d]||f[d]||o;return n?a.a.createElement(m,l(l({ref:t},u),{},{components:n})):a.a.createElement(m,l({ref:t},u))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var u=2;u=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=a.a.createContext({}),u=function(e){var n=a.a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},s=function(e){var n=u(e.components);return a.a.createElement(p.Provider,{value:n},e.children)},m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},d=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),s=u(t),d=r,f=s["".concat(i,".").concat(d)]||s[d]||m[d]||o;return t?a.a.createElement(f,l(l({ref:n},p),{},{components:t})):a.a.createElement(f,l({ref:n},p))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=d;var l={};for(var c in n)hasOwnProperty.call(n,c)&&(l[c]=n[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var p=2;p=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=i.a.createContext({}),l=function(e){var t=i.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},p=function(e){var t=l(e.components);return i.a.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},m=i.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,o=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),p=l(r),m=n,d=p["".concat(o,".").concat(m)]||p[m]||f[m]||a;return r?i.a.createElement(d,s(s({ref:t},c),{},{components:r})):i.a.createElement(d,s({ref:t},c))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,o=new Array(a);o[0]=m;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var c=2;c=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=a.a.createContext({}),l=function(e){var t=a.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},p=function(e){var t=l(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},x=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),p=l(r),x=n,f=p["".concat(o,".").concat(x)]||p[x]||m[x]||i;return r?a.a.createElement(f,s(s({ref:t},c),{},{components:r})):a.a.createElement(f,s({ref:t},c))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=x;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var c=2;c\n\n\n

        Hello World!

        \n\n\n'''\n\npage = site['/demo']\n\npage['example'] = ui.form_card(\n box='1 1 2 2',\n items=[\n ui.frame(content=html, height='100px')\n ]\n)\n\npage.save()\n")))}u.isMDXComponent=!0},300:function(e,n,t){"use strict";t.d(n,"a",(function(){return f})),t.d(n,"b",(function(){return A}));var r=t(0),a=t.n(r);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function m(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=a.a.createContext({}),u=function(e){var n=a.a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},f=function(e){var n=u(e.components);return a.a.createElement(p.Provider,{value:n},e.children)},i={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},d=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,m=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),f=u(t),d=r,A=f["".concat(m,".").concat(d)]||f[d]||i[d]||o;return t?a.a.createElement(A,c(c({ref:n},p),{},{components:t})):a.a.createElement(A,c({ref:n},p))}));function A(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,m=new Array(o);m[0]=d;var c={};for(var l in n)hasOwnProperty.call(n,l)&&(c[l]=n[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,m[1]=c;for(var p=2;p\n\n\n

        Hello World!

        \n\n\n'''\n\npage = site['/demo']\n\npage['example'] = ui.form_card(\n box='1 1 2 2',\n items=[\n ui.frame(content=html, height='100px')\n ]\n)\n\npage.save()\n")),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Tags"),": \u2002",Object(o.b)("a",{href:Object(c.a)("docs/examples/tags#form")},"form")," \u2002",Object(o.b)("a",{href:Object(c.a)("docs/examples/tags#frame")},"frame")," \u2002",Object(o.b)("a",{href:Object(c.a)("docs/examples/tags#html")},"html")))}l.isMDXComponent=!0},302:function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return d}));var r=n(0),a=n.n(r);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var i=a.a.createContext({}),f=function(e){var t=a.a.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):m(m({},t),e)),n},l=function(e){var t=f(e.components);return a.a.createElement(i.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},s=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,i=u(e,["components","mdxType","originalType","parentName"]),l=f(n),s=r,d=l["".concat(c,".").concat(s)]||l[s]||p[s]||o;return n?a.a.createElement(d,m(m({ref:t},i),{},{components:n})):a.a.createElement(d,m({ref:t},i))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,c=new Array(o);c[0]=s;var m={};for(var u in t)hasOwnProperty.call(t,u)&&(m[u]=t[u]);m.originalType=e,m.mdxType="string"==typeof e?e:r,c[1]=m;for(var i=2;i=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),p=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=p(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=p(r),d=n,b=s["".concat(i,".").concat(d)]||s[d]||f[d]||o;return r?a.a.createElement(b,c(c({ref:t},u),{},{components:r})):a.a.createElement(b,c({ref:t},u))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var u=2;u=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),p=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=p(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),s=p(r),d=n,b=s["".concat(i,".").concat(d)]||s[d]||f[d]||o;return r?a.a.createElement(b,c(c({ref:t},l),{},{components:r})):a.a.createElement(b,c({ref:t},l))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=a.a.createContext({}),p=function(e){var t=a.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},f=function(e){var t=p(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),f=p(n),m=r,d=f["".concat(i,".").concat(m)]||f[m]||l[m]||o;return n?a.a.createElement(d,c(c({ref:t},u),{},{components:n})):a.a.createElement(d,c({ref:t},u))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=m;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var u=2;u=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),l=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},u=function(e){var t=l(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},m=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),u=l(n),m=r,d=u["".concat(i,".").concat(m)]||u[m]||f[m]||o;return n?a.a.createElement(d,c(c({ref:t},s),{},{components:n})):a.a.createElement(d,c({ref:t},s))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=m;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var s=2;s=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),s=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=s(n),d=r,f=u["".concat(i,".").concat(d)]||u[d]||m[d]||o;return n?a.a.createElement(f,l(l({ref:t},c),{},{components:n})):a.a.createElement(f,l({ref:t},c))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var c=2;c=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),s=function(e){var t=a.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},m=function(e){var t=s(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),m=s(n),d=r,f=m["".concat(i,".").concat(d)]||m[d]||u[d]||o;return n?a.a.createElement(f,l(l({ref:t},c),{},{components:n})):a.a.createElement(f,l({ref:t},c))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var c=2;c=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=r.a.createContext({}),l=function(e){var t=r.a.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},u=function(e){var t=l(e.components);return r.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},m=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=l(a),m=n,b=u["".concat(o,".").concat(m)]||u[m]||d[m]||i;return a?r.a.createElement(b,s(s({ref:t},p),{},{components:a})):r.a.createElement(b,s({ref:t},p))}));function b(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,o=new Array(i);o[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var p=2;p=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=r.a.createContext({}),l=function(e){var t=r.a.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},u=function(e){var t=l(e.components);return r.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},m=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=l(a),m=n,b=u["".concat(o,".").concat(m)]||u[m]||d[m]||i;return a?r.a.createElement(b,s(s({ref:t},p),{},{components:a})):r.a.createElement(b,s({ref:t},p))}));function b(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,o=new Array(i);o[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var p=2;p=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var b=n.a.createContext({}),c=function(e){var a=n.a.useContext(b),t=a;return e&&(t="function"==typeof e?e(a):o(o({},a),e)),t},s=function(e){var a=c(e.components);return n.a.createElement(b.Provider,{value:a},e.children)},m={inlineCode:"code",wrapper:function(e){var a=e.children;return n.a.createElement(n.a.Fragment,{},a)}},u=n.a.forwardRef((function(e,a){var t=e.components,l=e.mdxType,r=e.originalType,i=e.parentName,b=p(e,["components","mdxType","originalType","parentName"]),s=c(t),u=l,O=s["".concat(i,".").concat(u)]||s[u]||m[u]||r;return t?n.a.createElement(O,o(o({ref:a},b),{},{components:t})):n.a.createElement(O,o({ref:a},b))}));function O(e,a){var t=arguments,l=a&&a.mdxType;if("string"==typeof e||l){var r=t.length,i=new Array(r);i[0]=u;var o={};for(var p in a)hasOwnProperty.call(a,p)&&(o[p]=a[p]);o.originalType=e,o.mdxType="string"==typeof e?e:l,i[1]=o;for(var b=2;b=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var b=n.a.createContext({}),c=function(e){var a=n.a.useContext(b),t=a;return e&&(t="function"==typeof e?e(a):o(o({},a),e)),t},s=function(e){var a=c(e.components);return n.a.createElement(b.Provider,{value:a},e.children)},m={inlineCode:"code",wrapper:function(e){var a=e.children;return n.a.createElement(n.a.Fragment,{},a)}},u=n.a.forwardRef((function(e,a){var t=e.components,l=e.mdxType,r=e.originalType,i=e.parentName,b=p(e,["components","mdxType","originalType","parentName"]),s=c(t),u=l,O=s["".concat(i,".").concat(u)]||s[u]||m[u]||r;return t?n.a.createElement(O,o(o({ref:a},b),{},{components:t})):n.a.createElement(O,o({ref:a},b))}));function O(e,a){var t=arguments,l=a&&a.mdxType;if("string"==typeof e||l){var r=t.length,i=new Array(r);i[0]=u;var o={};for(var p in a)hasOwnProperty.call(a,p)&&(o[p]=a[p]);o.originalType=e,o.mdxType="string"==typeof e?e:l,i[1]=o;for(var b=2;b=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),u=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=u(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),s=u(n),f=r,m=s["".concat(i,".").concat(f)]||s[f]||d[f]||o;return n?a.a.createElement(m,l(l({ref:t},p),{},{components:n})):a.a.createElement(m,l({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=f;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var p=2;p=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=a.a.createContext({}),p=function(e){var t=a.a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=p(e.components);return a.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=p(r),d=n,b=s["".concat(i,".").concat(d)]||s[d]||f[d]||o;return r?a.a.createElement(b,c(c({ref:t},u),{},{components:r})):a.a.createElement(b,c({ref:t},u))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var u=2;u=0||(r[t]=A[t]);return r}(A,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(A);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(A,t)&&(r[t]=A[t])}return r}var c=r.a.createContext({}),u=function(A){var e=r.a.useContext(c),t=e;return A&&(t="function"==typeof A?A(e):f(f({},e),A)),t},g=function(A){var e=u(A.components);return r.a.createElement(c.Provider,{value:e},A.children)},v={inlineCode:"code",wrapper:function(A){var e=A.children;return r.a.createElement(r.a.Fragment,{},e)}},w=r.a.forwardRef((function(A,e){var t=A.components,n=A.mdxType,o=A.originalType,a=A.parentName,c=i(A,["components","mdxType","originalType","parentName"]),g=u(t),w=n,b=g["".concat(a,".").concat(w)]||g[w]||v[w]||o;return t?r.a.createElement(b,f(f({ref:e},c),{},{components:t})):r.a.createElement(b,f({ref:e},c))}));function b(A,e){var t=arguments,n=e&&e.mdxType;if("string"==typeof A||n){var o=t.length,a=new Array(o);a[0]=w;var f={};for(var i in e)hasOwnProperty.call(e,i)&&(f[i]=e[i]);f.originalType=A,f.mdxType="string"==typeof A?A:n,a[1]=f;for(var c=2;c=0||(r[t]=A[t]);return r}(A,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(A);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(A,t)&&(r[t]=A[t])}return r}var c=r.a.createContext({}),u=function(A){var e=r.a.useContext(c),t=e;return A&&(t="function"==typeof A?A(e):i(i({},e),A)),t},v=function(A){var e=u(A.components);return r.a.createElement(c.Provider,{value:e},A.children)},g={inlineCode:"code",wrapper:function(A){var e=A.children;return r.a.createElement(r.a.Fragment,{},e)}},b=r.a.forwardRef((function(A,e){var t=A.components,n=A.mdxType,o=A.originalType,a=A.parentName,c=f(A,["components","mdxType","originalType","parentName"]),v=u(t),b=n,d=v["".concat(a,".").concat(b)]||v[b]||g[b]||o;return t?r.a.createElement(d,i(i({ref:e},c),{},{components:t})):r.a.createElement(d,i({ref:e},c))}));function d(A,e){var t=arguments,n=e&&e.mdxType;if("string"==typeof A||n){var o=t.length,a=new Array(o);a[0]=b;var i={};for(var f in e)hasOwnProperty.call(e,f)&&(i[f]=e[f]);i.originalType=A,i.mdxType="string"==typeof A?A:n,a[1]=i;for(var c=2;c=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),p=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},b=function(e){var t=p(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,c=e.originalType,i=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),b=p(n),d=r,m=b["".concat(i,".").concat(d)]||b[d]||u[d]||c;return n?a.a.createElement(m,l(l({ref:t},s),{},{components:n})):a.a.createElement(m,l({ref:t},s))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var c=n.length,i=new Array(c);i[0]=d;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var s=2;s=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=a.a.createContext({}),u=function(e){var t=a.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},b=function(e){var t=u(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),b=u(n),d=r,f=b["".concat(c,".").concat(d)]||b[d]||p[d]||i;return n?a.a.createElement(f,o(o({ref:t},s),{},{components:n})):a.a.createElement(f,o({ref:t},s))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,c=new Array(i);c[0]=d;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:r,c[1]=o;for(var s=2;s=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=o.a.createContext({}),u=function(e){var t=o.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):p(p({},t),e)),n},s=function(e){var t=u(e.components);return o.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},f=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),s=u(n),f=r,d=s["".concat(i,".").concat(f)]||s[f]||m[f]||a;return n?o.a.createElement(d,p(p({ref:t},c),{},{components:n})):o.a.createElement(d,p({ref:t},c))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=f;var p={};for(var l in t)hasOwnProperty.call(t,l)&&(p[l]=t[l]);p.originalType=e,p.mdxType="string"==typeof e?e:r,i[1]=p;for(var c=2;c=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=o.a.createContext({}),p=function(e){var t=o.a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=p(e.components);return o.a.createElement(u.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},m=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=p(n),m=r,d=s["".concat(i,".").concat(m)]||s[m]||f[m]||a;return n?o.a.createElement(d,c(c({ref:t},u),{},{components:n})):o.a.createElement(d,c({ref:t},u))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var u=2;u=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=a.a.createContext({}),u=function(e){var r=a.a.useContext(c),n=r;return e&&(n="function"==typeof e?e(r):l(l({},r),e)),n},p=function(e){var r=u(e.components);return a.a.createElement(c.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},m=a.a.forwardRef((function(e,r){var n=e.components,t=e.mdxType,i=e.originalType,o=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=u(n),m=t,f=p["".concat(o,".").concat(m)]||p[m]||d[m]||i;return n?a.a.createElement(f,l(l({ref:r},c),{},{components:n})):a.a.createElement(f,l({ref:r},c))}));function f(e,r){var n=arguments,t=r&&r.mdxType;if("string"==typeof e||t){var i=n.length,o=new Array(i);o[0]=m;var l={};for(var s in r)hasOwnProperty.call(r,s)&&(l[s]=r[s]);l.originalType=e,l.mdxType="string"==typeof e?e:t,o[1]=l;for(var c=2;c=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=a.a.createContext({}),u=function(e){var r=a.a.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},d=function(e){var r=u(e.components);return a.a.createElement(c.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return a.a.createElement(a.a.Fragment,{},r)}},f=a.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(t),f=n,m=d["".concat(o,".").concat(f)]||d[f]||p[f]||i;return t?a.a.createElement(m,s(s({ref:r},c),{},{components:t})):a.a.createElement(m,s({ref:r},c))}));function m(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=t.length,o=new Array(i);o[0]=f;var s={};for(var l in r)hasOwnProperty.call(r,l)&&(s[l]=r[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var c=2;c=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var f=i.a.createContext({}),l=function(e){var t=i.a.useContext(f),n=t;return e&&(n="function"==typeof e?e(t):u(u({},t),e)),n},d=function(e){var t=l(e.components);return i.a.createElement(f.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},s=i.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,c=e.originalType,a=e.parentName,f=o(e,["components","mdxType","originalType","parentName"]),d=l(n),s=r,b=d["".concat(a,".").concat(s)]||d[s]||p[s]||c;return n?i.a.createElement(b,u(u({ref:t},f),{},{components:n})):i.a.createElement(b,u({ref:t},f))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var c=n.length,a=new Array(c);a[0]=s;var u={};for(var o in t)hasOwnProperty.call(t,o)&&(u[o]=t[o]);u.originalType=e,u.mdxType="string"==typeof e?e:r,a[1]=u;for(var f=2;f=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var o=i.a.createContext({}),f=function(e){var t=i.a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):u(u({},t),e)),n},p=function(e){var t=f(e.components);return i.a.createElement(o.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},d=i.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,c=e.originalType,a=e.parentName,o=l(e,["components","mdxType","originalType","parentName"]),p=f(n),d=r,b=p["".concat(a,".").concat(d)]||p[d]||m[d]||c;return n?i.a.createElement(b,u(u({ref:t},o),{},{components:n})):i.a.createElement(b,u({ref:t},o))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var c=n.length,a=new Array(c);a[0]=d;var u={};for(var l in t)hasOwnProperty.call(t,l)&&(u[l]=t[l]);u.originalType=e,u.mdxType="string"==typeof e?e:r,a[1]=u;for(var o=2;o=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=o.a.createContext({}),l=function(e){var t=o.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=l(e.components);return o.a.createElement(s.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},f=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=l(n),f=r,m=p["".concat(i,".").concat(f)]||p[f]||b[f]||a;return n?o.a.createElement(m,c(c({ref:t},s),{},{components:n})):o.a.createElement(m,c({ref:t},s))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=f;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var s=2;s=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var u=a.a.createContext({}),l=function(e){var n=a.a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},p=function(e){var n=l(e.components);return a.a.createElement(u.Provider,{value:n},e.children)},b={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},m=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(t),m=r,f=p["".concat(i,".").concat(m)]||p[m]||b[m]||o;return t?a.a.createElement(f,c(c({ref:n},u),{},{components:t})):a.a.createElement(f,c({ref:n},u))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=m;var c={};for(var s in n)hasOwnProperty.call(n,s)&&(c[s]=n[s]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var u=2;u',id:"breadcrumb",children:[]},{value:'breadcrumbs_card ',id:"breadcrumbs_card",children:[]},{value:'button ',id:"button",children:[]},{value:'buttons ',id:"buttons",children:[]},{value:'checkbox ',id:"checkbox",children:[]},{value:'checklist ',id:"checklist",children:[]},{value:'choice ',id:"choice",children:[]},{value:'choice_group ',id:"choice_group",children:[]},{value:'color_picker ',id:"color_picker",children:[]},{value:'combobox ',id:"combobox",children:[]},{value:'command ',id:"command",children:[]},{value:'date_picker ',id:"date_picker",children:[]},{value:'dialog ',id:"dialog",children:[]},{value:'dropdown ',id:"dropdown",children:[]},{value:'expander ',id:"expander",children:[]},{value:'file_upload ',id:"file_upload",children:[]},{value:'flex_card ',id:"flex_card",children:[]},{value:'form_card ',id:"form_card",children:[]},{value:'frame ',id:"frame",children:[]},{value:'frame_card ',id:"frame_card",children:[]},{value:'graphics_card ',id:"graphics_card",children:[]},{value:'grid_card ',id:"grid_card",children:[]},{value:'header_card ',id:"header_card",children:[]},{value:'icon_table_cell_type ',id:"icon_table_cell_type",children:[]},{value:'image_card ',id:"image_card",children:[]},{value:'label ',id:"label",children:[]},{value:'large_bar_stat_card ',id:"large_bar_stat_card",children:[]},{value:'large_stat_card ',id:"large_stat_card",children:[]},{value:'layout ',id:"layout",children:[]},{value:'link ',id:"link",children:[]},{value:'list_card ',id:"list_card",children:[]},{value:'list_item1_card ',id:"list_item1_card",children:[]},{value:'mark ',id:"mark",children:[]},{value:'markdown_card ',id:"markdown_card",children:[]},{value:'markup ',id:"markup",children:[]},{value:'markup_card ',id:"markup_card",children:[]},{value:'message_bar ',id:"message_bar",children:[]},{value:'meta_card ',id:"meta_card",children:[]},{value:'nav_card ',id:"nav_card",children:[]},{value:'nav_group ',id:"nav_group",children:[]},{value:'nav_item ',id:"nav_item",children:[]},{value:'picker ',id:"picker",children:[]},{value:'pixel_art_card ',id:"pixel_art_card",children:[]},{value:'plot ',id:"plot",children:[]},{value:'plot_card ',id:"plot_card",children:[]},{value:'progress ',id:"progress",children:[]},{value:'progress_table_cell_type ',id:"progress_table_cell_type",children:[]},{value:'range_slider ',id:"range_slider",children:[]},{value:'repeat_card ',id:"repeat_card",children:[]},{value:'separator ',id:"separator",children:[]},{value:'slider ',id:"slider",children:[]},{value:'small_series_stat_card ',id:"small_series_stat_card",children:[]},{value:'small_stat_card ',id:"small_stat_card",children:[]},{value:'spinbox ',id:"spinbox",children:[]},{value:'step ',id:"step",children:[]},{value:'stepper ',id:"stepper",children:[]},{value:'tab ',id:"tab",children:[]},{value:'tab_card ',id:"tab_card",children:[]},{value:'table ',id:"table",children:[]},{value:'table_column ',id:"table_column",children:[]},{value:'table_row ',id:"table_row",children:[]},{value:'tabs ',id:"tabs",children:[]},{value:'tall_gauge_stat_card ',id:"tall_gauge_stat_card",children:[]},{value:'tall_series_stat_card ',id:"tall_series_stat_card",children:[]},{value:'template ',id:"template",children:[]},{value:'template_card ',id:"template_card",children:[]},{value:'text ',id:"text",children:[]},{value:'text_l ',id:"text_l",children:[]},{value:'text_m ',id:"text_m",children:[]},{value:'text_s ',id:"text_s",children:[]},{value:'text_xl ',id:"text_xl",children:[]},{value:'text_xs ',id:"text_xs",children:[]},{value:'textbox ',id:"textbox",children:[]},{value:'toggle ',id:"toggle",children:[]},{value:'toolbar_card ',id:"toolbar_card",children:[]},{value:'vega_card ',id:"vega_card",children:[]},{value:'vega_visualization ',id:"vega_visualization",children:[]},{value:'visualization ',id:"visualization",children:[]},{value:'wide_bar_stat_card ',id:"wide_bar_stat_card",children:[]},{value:'wide_gauge_stat_card ',id:"wide_gauge_stat_card",children:[]},{value:'wide_series_stat_card ',id:"wide_series_stat_card",children:[]},{value:'zone ',id:"zone",children:[]}]}],d={rightToc:i};function s(e){var t=e.components,l=Object(b.a)(e,["components"]);return Object(a.b)("wrapper",Object(n.a)({},d,l,{components:t,mdxType:"MDXLayout"}),Object(a.b)("h2",{id:"functions"},"Functions"),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"breadcrumb"},"breadcrumb ",Object(a.b)("a",{name:"h2o_wave.ui.breadcrumb"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"breadcrumb"),"(name:\xa0str, label:\xa0str) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"types#h2o_wave.types.Breadcrumb"},"Breadcrumb")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a breadcrumb for a ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.BreadcrumbsCard",href:"types#h2o_wave.types.BreadcrumbsCard"},"BreadcrumbsCard")),"."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"The name of this item. Prefix the name with a '#' to trigger hash-change navigation."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The label to display.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"types#h2o_wave.types.Breadcrumb"},"Breadcrumb"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"breadcrumbs_card"},"breadcrumbs_card ",Object(a.b)("a",{name:"h2o_wave.ui.breadcrumbs_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"breadcrumbs_card"),"(box:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"types#h2o_wave.types.Breadcrumb"},"Breadcrumb"),"], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.BreadcrumbsCard",href:"types#h2o_wave.types.BreadcrumbsCard"},"BreadcrumbsCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card containing breadcrumbs. Breadcrumbs should be used as a navigational aid in your app or site. They indicate the current page\u2019s location within a hierarchy and help the user understand where they are in relation to the rest of that hierarchy. They also afford one-click access to higher levels of that hierarchy. Breadcrumbs are typically placed, in horizontal form, under the masthead or navigation of an experience, above the primary content area."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"A list of ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"types#h2o_wave.types.Breadcrumb"},"Breadcrumb"))," instances to display. See ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.ui.breadcrumb",href:"#h2o_wave.ui.breadcrumb"},"breadcrumb()"))),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.BreadcrumbsCard",href:"types#h2o_wave.types.BreadcrumbsCard"},"BreadcrumbsCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"button"},"button ",Object(a.b)("a",{name:"h2o_wave.ui.button"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"button"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, primary:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a button."),Object(a.b)("p",null,"Buttons are best used to enable a user to commit a change or complete steps in a task. They are typically found inside forms, dialogs, panels or pages. An example of their usage is confirming the deletion of a file in a confirmation dialog."),Object(a.b)("p",null,"When considering their place in a layout, contemplate the order in which a user will flow through the UI. As an example, in a form, the individual will need to read and interact with the form fields before submitting the form. Therefore, as a general rule, the button should be placed at the bottom of the UI container which holds the related UI elements."),Object(a.b)("p",null,'Buttons may be placed within a "buttons" component which will lay out the buttons horizontally, or used individually and they will be stacked vertically.'),Object(a.b)("p",null,"While buttons can technically be used to navigate a user to another part of the experience, this is not recommended unless that navigation is part of an action or their flow."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component. If the name is prefixed with a '#', the button sets the location hash to the name when clicked."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed on the button."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The caption displayed below the label. Setting a caption renders a compound button."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"A value for this button. If a value is set, it is used for the button's submitted instead of a boolean True."),Object(a.b)("dt",null,Object(a.b)("code",null,"primary")),Object(a.b)("dd",null,"True if the button should be rendered as the primary button in the set."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the button should be disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"link")),Object(a.b)("dd",null,"True if the button should be rendered as link text and not a standard button."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Button",href:"types#h2o_wave.types.Button"},"Button"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"buttons"},"buttons ",Object(a.b)("a",{name:"h2o_wave.ui.buttons"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"buttons"),"(items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component"),"], justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a set of buttons to be layed out horizontally."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The button in this set."),Object(a.b)("dt",null,Object(a.b)("code",null,"justify")),Object(a.b)("dd",null,"Specifies how to lay out buttons horizontally. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ButtonsJustify."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Buttons",href:"types#h2o_wave.types.Buttons"},"Buttons"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"checkbox"},"checkbox ",Object(a.b)("a",{name:"h2o_wave.ui.checkbox"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"checkbox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, indeterminate:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a checkbox."),Object(a.b)("p",null,"A checkbox allows users to switch between two mutually exclusive options (checked or unchecked, on or off) through a single click or tap. It can also be used to indicate a subordinate setting or preference when paired with another component."),Object(a.b)("p",null,"A checkbox is used to select or deselect action items. It can be used for a single item or for a list of multiple items that a user can choose from. The component has two selection states: unselected and selected."),Object(a.b)("p",null,"For a binary choice, the main difference between a checkbox and a toggle switch is that the checkbox is for status and the toggle switch is for action."),Object(a.b)("p",null,"Use multiple checkboxes for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the checkbox."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"True if selected, False if unselected."),Object(a.b)("dt",null,Object(a.b)("code",null,"indeterminate")),Object(a.b)("dd",null,"True if the selection is indeterminate (neither selected nor unselected)."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the checkbox is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the checkbox value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Checkbox",href:"types#h2o_wave.types.Checkbox"},"Checkbox"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"checklist"},"checklist ",Object(a.b)("a",{name:"h2o_wave.ui.checklist"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"checklist"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Choice",href:"types#h2o_wave.types.Choice"},"Choice"),"],\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a set of checkboxes. Use this for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed above the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"values")),Object(a.b)("dd",null,"The names of the selected choices."),Object(a.b)("dt",null,Object(a.b)("code",null,"choices")),Object(a.b)("dd",null,"The choices to be presented."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the checklist value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Checklist",href:"types#h2o_wave.types.Checklist"},"Checklist"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"choice"},"choice ",Object(a.b)("a",{name:"h2o_wave.ui.choice"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"choice"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Choice",href:"types#h2o_wave.types.Choice"},"Choice")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a choice for a checklist, choice group or dropdown."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the checkbox is disabled.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Choice",href:"types#h2o_wave.types.Choice"},"Choice"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"choice_group"},"choice_group ",Object(a.b)("a",{name:"h2o_wave.ui.choice_group"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"choice_group"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Choice",href:"types#h2o_wave.types.Choice"},"Choice"),"],\xa0NoneType]\xa0=\xa0None, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a choice group. The choice group component, also known as radio buttons, let users select one option from two or more choices. Each option is represented by one choice group button; a user can select only one choice group in a button group."),Object(a.b)("p",null,"Choice groups emphasize all options equally, and that may draw more attention to the options than necessary. Consider using other components, unless the options deserve extra attention from the user. For example, if the default option is recommended for most users in most situations, use a dropdown instead."),Object(a.b)("p",null,'If there are only two mutually exclusive options, combine them into a single Checkbox or Toggle switch. For example, use a checkbox for "I agree" instead of choice group buttons for "I agree" and "I don\'t agree."'),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The name of the selected choice."),Object(a.b)("dt",null,Object(a.b)("code",null,"choices")),Object(a.b)("dd",null,"The choices to be presented."),Object(a.b)("dt",null,Object(a.b)("code",null,"required")),Object(a.b)("dd",null,"True if this field is required."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the selection changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ChoiceGroup",href:"types#h2o_wave.types.ChoiceGroup"},"ChoiceGroup"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"color_picker"},"color_picker ",Object(a.b)("a",{name:"h2o_wave.ui.color_picker"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"color_picker"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a color picker."),Object(a.b)("p",null,"A date picker allows a user to pick a color value. If the 'choices' parameter is set, a swatch picker is displayed instead of the standard color picker."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The selected color (CSS-compatible string)."),Object(a.b)("dt",null,Object(a.b)("code",null,"choices")),Object(a.b)("dd",null,"A list of colors (CSS-compatible strings) to limit color choices to."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the color picker value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ColorPicker",href:"types#h2o_wave.types.ColorPicker"},"ColorPicker"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"combobox"},"combobox ",Object(a.b)("a",{name:"h2o_wave.ui.combobox"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"combobox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, error:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a combobox."),Object(a.b)("p",null,"A combobox is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button or by typing in the input. They are used to simplify the design and make a choice within the UI."),Object(a.b)("p",null,"When closed, only the selected item is visible. When users click the drop-down button, all the options become visible. To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value. When collapsed the user can select a new value by typing."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"placeholder")),Object(a.b)("dd",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The name of the selected choice."),Object(a.b)("dt",null,Object(a.b)("code",null,"choices")),Object(a.b)("dd",null,"The choices to be presented."),Object(a.b)("dt",null,Object(a.b)("code",null,"error")),Object(a.b)("dd",null,"Text to be displayed as an error below the text box."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this field is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Combobox",href:"types#h2o_wave.types.Combobox"},"Combobox"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"command"},"command ",Object(a.b)("a",{name:"h2o_wave.ui.command"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"command"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a command."),Object(a.b)("p",null,"Commands are typically displayed as context menu items or toolbar button."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component. If the name is prefixed with a '#', the command sets the location hash to the name when executed."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed for this command."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The caption for this command (typically a tooltip)."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"The icon to be displayed for this command."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"Sub-commands, if any"),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"Data associated with this command, if any."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"DEPRECATED. Use ",Object(a.b)("code",null,"value")," instead. Data associated with this command, if any.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"date_picker"},"date_picker ",Object(a.b)("a",{name:"h2o_wave.ui.date_picker"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"date_picker"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a date picker."),Object(a.b)("p",null,"A date picker allows a user to pick a date value."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"placeholder")),Object(a.b)("dd",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The date value in YYYY-MM-DD format."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this field is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the datepicker value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.DatePicker",href:"types#h2o_wave.types.DatePicker"},"DatePicker"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"dialog"},"dialog ",Object(a.b)("a",{name:"h2o_wave.ui.dialog"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"dialog"),"(title:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component"),"], width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, closable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, blocking:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, primary:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Dialog",href:"types#h2o_wave.types.Dialog"},"Dialog")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"A dialog box (Dialog) is a temporary pop-up that takes focus from the page or app and requires people to interact with it. It\u2019s primarily used for confirming actions, such as deleting a file, or asking people to make a choice."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The dialog's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The components displayed in this dialog."),Object(a.b)("dt",null,Object(a.b)("code",null,"width")),Object(a.b)("dd",null,"The width of the dialog, e.g. '400px', defaults to '600px'."),Object(a.b)("dt",null,Object(a.b)("code",null,"closable")),Object(a.b)("dd",null,"True if the dialog should have a closing 'X' button at the top right corner."),Object(a.b)("dt",null,Object(a.b)("code",null,"blocking")),Object(a.b)("dd",null,"True to disable all actions and commands behind the dialog. Blocking dialogs should be used very sparingly, only when it is critical that the user makes a choice or provides information before they can proceed. Blocking dialogs are generally used for irreversible or potentially destructive tasks. Defaults to false."),Object(a.b)("dt",null,Object(a.b)("code",null,"primary")),Object(a.b)("dd",null,"Dialog with large header banner, mutually exclusive with ",Object(a.b)("code",null,"closable")," prop. Defaults to false.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Dialog",href:"types#h2o_wave.types.Dialog"},"Dialog"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"dropdown"},"dropdown ",Object(a.b)("a",{name:"h2o_wave.ui.dropdown"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"dropdown"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Choice",href:"types#h2o_wave.types.Choice"},"Choice"),"],\xa0NoneType]\xa0=\xa0None, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a dropdown."),Object(a.b)("p",null,"A dropdown is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button. They are used to simplify the design and make a choice within the UI. When closed, only the selected item is visible. When users click the drop-down button, all the options become visible."),Object(a.b)("p",null,"To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value."),Object(a.b)("p",null,"Note: Use either the 'value' parameter or the 'values' parameter. Setting the 'values' parameter renders a multi-select dropdown."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"placeholder")),Object(a.b)("dd",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The name of the selected choice."),Object(a.b)("dt",null,Object(a.b)("code",null,"values")),Object(a.b)("dd",null,"The names of the selected choices. If this parameter is set, multiple selections will be allowed."),Object(a.b)("dt",null,Object(a.b)("code",null,"choices")),Object(a.b)("dd",null,"The choices to be presented."),Object(a.b)("dt",null,Object(a.b)("code",null,"required")),Object(a.b)("dd",null,"True if this is a required field."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this field is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the dropdown value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Dropdown",href:"types#h2o_wave.types.Dropdown"},"Dropdown"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"expander"},"expander ",Object(a.b)("a",{name:"h2o_wave.ui.expander"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"expander"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, expanded:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component"),"],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Creates a new expander."),Object(a.b)("p",null,"Expanders can be used to show or hide a group of related components."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed on the expander."),Object(a.b)("dt",null,Object(a.b)("code",null,"expanded")),Object(a.b)("dd",null,"True if expanded, False if collapsed."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"List of components to be hideable by the expander."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Expander",href:"types#h2o_wave.types.Expander"},"Expander"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"file_upload"},"file_upload ",Object(a.b)("a",{name:"h2o_wave.ui.file_upload"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"file_upload"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, multiple:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, file_extensions:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, max_file_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a file upload component. A file upload component allows a user to browse, select and upload one or more files."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"multiple")),Object(a.b)("dd",null,"True if the component should allow multiple files to be uploaded."),Object(a.b)("dt",null,Object(a.b)("code",null,"file_extensions")),Object(a.b)("dd",null,"List of allowed file extensions, e.g. ",Object(a.b)("code",null,"pdf"),", ",Object(a.b)("code",null,"docx"),", etc."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_file_size")),Object(a.b)("dd",null,"Maximum allowed size (Mb) per file. Defaults to no limit."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_size")),Object(a.b)("dd",null,"Maximum allowed size (Mb) for all files combined. Defaults to no limit."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The height of the file upload, e.g. '400px', '50%', etc."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.FileUpload",href:"types#h2o_wave.types.FileUpload"},"FileUpload"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"flex_card"},"flex_card ",Object(a.b)("a",{name:"h2o_wave.ui.flex_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"flex_card"),"(box:\xa0str, item_view:\xa0str, item_props:\xa0Union[dict,\xa0str], data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], direction:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, align:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, wrap:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.FlexCard",href:"types#h2o_wave.types.FlexCard"},"FlexCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out using a one-dimensional model with flexible alignemnt and wrapping capabilities."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"item_view")),Object(a.b)("dd",null,"The child card type."),Object(a.b)("dt",null,Object(a.b)("code",null,"item_props")),Object(a.b)("dd",null,"The child card properties."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"direction")),Object(a.b)("dd",null,"Layout direction. One of 'horizontal', 'vertical'. See enum h2o_wave.ui.FlexCardDirection."),Object(a.b)("dt",null,Object(a.b)("code",null,"justify")),Object(a.b)("dd",null,"Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.FlexCardJustify."),Object(a.b)("dt",null,Object(a.b)("code",null,"align")),Object(a.b)("dd",null,"Layout strategy for cross axis. One of 'start', 'end', 'center', 'baseline', 'stretch'. See enum h2o_wave.ui.FlexCardAlign."),Object(a.b)("dt",null,Object(a.b)("code",null,"wrap")),Object(a.b)("dd",null,"Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.FlexCardWrap."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.FlexCard",href:"types#h2o_wave.types.FlexCard"},"FlexCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"form_card"},"form_card ",Object(a.b)("a",{name:"h2o_wave.ui.form_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"form_card"),"(box:\xa0str, items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component"),"],\xa0str], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.FormCard",href:"types#h2o_wave.types.FormCard"},"FormCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a form."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The components in this form."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.FormCard",href:"types#h2o_wave.types.FormCard"},"FormCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"frame"},"frame ",Object(a.b)("a",{name:"h2o_wave.ui.frame"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"frame"),"(path:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, content:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a new inline frame (an ",Object(a.b)("code",null,"iframe"),")."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"path")),Object(a.b)("dd",null,"The path or URL of the web page, e.g. ",Object(a.b)("code",null,"/foo.html")," or ",Object(a.b)("code",null,"http://example.com/foo.html")),Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The HTML content of the page. A string containing ",Object(a.b)("code",null,"..."),"."),Object(a.b)("dt",null,Object(a.b)("code",null,"width")),Object(a.b)("dd",null,"The width of the frame, e.g. ",Object(a.b)("code",null,"200px"),", ",Object(a.b)("code",null,"50%"),", etc. Defaults to ",Object(a.b)("code",null,"100%"),"."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The height of the frame, e.g. ",Object(a.b)("code",null,"200px"),", ",Object(a.b)("code",null,"50%"),", etc. Defaults to ",Object(a.b)("code",null,"150px"),"."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Frame",href:"types#h2o_wave.types.Frame"},"Frame"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"frame_card"},"frame_card ",Object(a.b)("a",{name:"h2o_wave.ui.frame_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"frame_card"),"(box:\xa0str, title:\xa0str, path:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, content:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.FrameCard",href:"types#h2o_wave.types.FrameCard"},"FrameCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render a card containing a HTML page inside an inline frame (an ",Object(a.b)("code",null,"iframe"),")."),Object(a.b)("p",null,"Either a path or content can be provided as arguments."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"path")),Object(a.b)("dd",null,"The path or URL of the web page, e.g. ",Object(a.b)("code",null,"/foo.html")," or ",Object(a.b)("code",null,"http://example.com/foo.html")),Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The HTML content of the page. A string containing ",Object(a.b)("code",null,"...")),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.FrameCard",href:"types#h2o_wave.types.FrameCard"},"FrameCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"graphics_card"},"graphics_card ",Object(a.b)("a",{name:"h2o_wave.ui.graphics_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"graphics_card"),"(box:\xa0str, view_box:\xa0str, stage:\xa0Union[List[dict],\xa0str,\xa0NoneType]\xa0=\xa0None, scene:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str,\xa0NoneType]\xa0=\xa0None, width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.GraphicsCard",href:"types#h2o_wave.types.GraphicsCard"},"GraphicsCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card for displaying vector graphics."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"view_box")),Object(a.b)("dd",null,"The position and dimension of the SVG viewport, in user space. A space-separated list of four numbers: min-x, min-y, width and height. For example, '0 0 400 300'. See: ",Object(a.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox")),Object(a.b)("dt",null,Object(a.b)("code",null,"stage")),Object(a.b)("dd",null,"Background layer for rendering static SVG elements. Must be packed to conserve memory."),Object(a.b)("dt",null,Object(a.b)("code",null,"scene")),Object(a.b)("dd",null,"Foreground layer for rendering dynamic SVG elements."),Object(a.b)("dt",null,Object(a.b)("code",null,"width")),Object(a.b)("dd",null,"The displayed width of the rectangular viewport. (Not the width of its coordinate system.)"),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The displayed height of the rectangular viewport. (Not the height of its coordinate system.)"),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.GraphicsCard",href:"types#h2o_wave.types.GraphicsCard"},"GraphicsCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"grid_card"},"grid_card ",Object(a.b)("a",{name:"h2o_wave.ui.grid_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"grid_card"),"(box:\xa0str, title:\xa0str, cells:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.GridCard",href:"types#h2o_wave.types.GridCard"},"GridCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"cells")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.GridCard",href:"types#h2o_wave.types.GridCard"},"GridCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"header_card"},"header_card ",Object(a.b)("a",{name:"h2o_wave.ui.header_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"header_card"),"(box:\xa0str, title:\xa0str, subtitle:\xa0str, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, nav:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.NavGroup",href:"types#h2o_wave.types.NavGroup"},"NavGroup"),"],\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.HeaderCard",href:"types#h2o_wave.types.HeaderCard"},"HeaderCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render a card containing a HTML page inside an inline frame (iframe)."),Object(a.b)("p",null,"Either a path or content can be provided as arguments."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title."),Object(a.b)("dt",null,Object(a.b)("code",null,"subtitle")),Object(a.b)("dd",null,"The subtitle, displayed below the title."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"The icon type, displayed to the left."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon_color")),Object(a.b)("dd",null,"The icon's color."),Object(a.b)("dt",null,Object(a.b)("code",null,"nav")),Object(a.b)("dd",null,"The navigation menu to display when the header's icon is clicked."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.HeaderCard",href:"types#h2o_wave.types.HeaderCard"},"HeaderCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"icon_table_cell_type"},"icon_table_cell_type ",Object(a.b)("a",{name:"h2o_wave.ui.icon_table_cell_type"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"icon_table_cell_type"),"(color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TableCellType",href:"types#h2o_wave.types.TableCellType"},"TableCellType")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a cell type that renders a column's cells as icons instead of plain text. If set on a column, the cell value is interpreted as the name of the icon to be displayed."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"color")),Object(a.b)("dd",null,"Icon color."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.IconTableCellType",href:"types#h2o_wave.types.IconTableCellType"},"IconTableCellType"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"image_card"},"image_card ",Object(a.b)("a",{name:"h2o_wave.ui.image_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"image_card"),"(box:\xa0str, title:\xa0str, type:\xa0str, image:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.ImageCard",href:"types#h2o_wave.types.ImageCard"},"ImageCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card that displays a base64-encoded image."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"type")),Object(a.b)("dd",null,"The image MIME subtype. One of ",Object(a.b)("code",null,"apng"),", ",Object(a.b)("code",null,"bmp"),", ",Object(a.b)("code",null,"gif"),", ",Object(a.b)("code",null,"x-icon"),", ",Object(a.b)("code",null,"jpeg"),", ",Object(a.b)("code",null,"png"),", ",Object(a.b)("code",null,"webp"),"."),Object(a.b)("dt",null,Object(a.b)("code",null,"image")),Object(a.b)("dd",null,"Image data, base64-encoded."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ImageCard",href:"types#h2o_wave.types.ImageCard"},"ImageCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"label"},"label ",Object(a.b)("a",{name:"h2o_wave.ui.label"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"label"),"(label:\xa0str, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a label."),Object(a.b)("p",null,"Labels give a name or title to a component or group of components. Labels should be in close proximity to the component or group they are paired with. Some components, such as textboxes, dropdowns, or toggles, already have labels incorporated, but other components may optionally add a Label if it helps inform the user of the component\u2019s purpose."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed on the label."),Object(a.b)("dt",null,Object(a.b)("code",null,"required")),Object(a.b)("dd",null,"True if the field is required."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the label should be disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Label",href:"types#h2o_wave.types.Label"},"Label"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"large_bar_stat_card"},"large_bar_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.large_bar_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"large_bar_stat_card"),"(box:\xa0str, title:\xa0str, caption:\xa0str, value:\xa0str, aux_value:\xa0str, value_caption:\xa0str, aux_value_caption:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.LargeBarStatCard",href:"types#h2o_wave.types.LargeBarStatCard"},"LargeBarStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a large captioned card displaying a primary value, an auxiliary value and a progress bar, with captions for each value."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The card's caption."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value, typically a target value."),Object(a.b)("dt",null,Object(a.b)("code",null,"value_caption")),Object(a.b)("dd",null,"The caption displayed below the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value_caption")),Object(a.b)("dd",null,"The caption displayed below the auxiliary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"progress")),Object(a.b)("dd",null,"The value of the progress bar, between 0 and 1."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The color of the progress bar."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.LargeBarStatCard",href:"types#h2o_wave.types.LargeBarStatCard"},"LargeBarStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"large_stat_card"},"large_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.large_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"large_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, caption:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.LargeStatCard",href:"types#h2o_wave.types.LargeStatCard"},"LargeStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a stat card displaying a primary value, an auxiliary value and a caption."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value displayed next to the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The caption displayed below the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.LargeStatCard",href:"types#h2o_wave.types.LargeStatCard"},"LargeStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"layout"},"layout ",Object(a.b)("a",{name:"h2o_wave.ui.layout"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"layout"),"(breakpoint:\xa0str, zones:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Zone",href:"types#h2o_wave.types.Zone"},"Zone"),"], width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, max_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min_height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, max_height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Layout",href:"types#h2o_wave.types.Layout"},"Layout")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Represents the layout structure for a page."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"breakpoint")),Object(a.b)("dd",null,"The minimum viewport width at which to use this layout. Values must be pixel widths (e.g. '0px', '576px', '768px') or a named preset. The named presets are: 'xs': '0px' for extra small devices (portrait phones), 's': '576px' for small devices (landscape phones), 'm': '768px' for medium devices (tablets), 'l': '992px' for large devices (desktops), 'xl': '1200px' for extra large devices (large desktops). A breakpoint value of 'xs' (or '0') matches all viewport widths, unless other breakpoints are set."),Object(a.b)("dt",null,Object(a.b)("code",null,"zones")),Object(a.b)("dd",null,"The zones in this layout. Each zones can in turn contain sub-zones."),Object(a.b)("dt",null,Object(a.b)("code",null,"width")),Object(a.b)("dd",null,"The width of the layout. Defaults to ",Object(a.b)("code",null,"100%"),"."),Object(a.b)("dt",null,Object(a.b)("code",null,"min_width")),Object(a.b)("dd",null,"The minimum width of the layout."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_width")),Object(a.b)("dd",null,"The maximum width of the layout."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The height of the layout. Defaults to ",Object(a.b)("code",null,"auto"),"."),Object(a.b)("dt",null,Object(a.b)("code",null,"min_height")),Object(a.b)("dd",null,"The minimum height of the layout."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_height")),Object(a.b)("dd",null,"The maximum height of the layout.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Layout",href:"types#h2o_wave.types.Layout"},"Layout"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"link"},"link ",Object(a.b)("a",{name:"h2o_wave.ui.link"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"link"),"(label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, path:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, download:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, button:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, target:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a hyperlink."),Object(a.b)("p",null,"Hyperlinks can be internal or external. Internal hyperlinks have paths that begin with a ",Object(a.b)("code",null,"/")," and point to URLs within the Wave UI. All other kinds of paths are treated as external hyperlinks."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text to be displayed. If blank, the ",Object(a.b)("code",null,"path")," is used as the label."),Object(a.b)("dt",null,Object(a.b)("code",null,"path")),Object(a.b)("dd",null,"The path or URL to link to."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the link should be disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"download")),Object(a.b)("dd",null,"True if the link should be used for file download."),Object(a.b)("dt",null,Object(a.b)("code",null,"button")),Object(a.b)("dd",null,"True if the link should be rendered as a button."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"target")),Object(a.b)("dd",null,"Where to display the link. Setting this to an empty string or ",Object(a.b)("code",null,"'_blank'")," opens the link in a new tab or window."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Link",href:"types#h2o_wave.types.Link"},"Link"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"list_card"},"list_card ",Object(a.b)("a",{name:"h2o_wave.ui.list_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"list_card"),"(box:\xa0str, title:\xa0str, item_view:\xa0str, item_props:\xa0Union[dict,\xa0str], data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.ListCard",href:"types#h2o_wave.types.ListCard"},"ListCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out in the form of a list (vertically, top-to-bottom)."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"item_view")),Object(a.b)("dd",null,"The child card type."),Object(a.b)("dt",null,Object(a.b)("code",null,"item_props")),Object(a.b)("dd",null,"The child card properties."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ListCard",href:"types#h2o_wave.types.ListCard"},"ListCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"list_item1_card"},"list_item1_card ",Object(a.b)("a",{name:"h2o_wave.ui.list_item1_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"list_item1_card"),"(box:\xa0str, title:\xa0str, caption:\xa0str, value:\xa0str, aux_value:\xa0str, data:\xa0Union[dict,\xa0str], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.ListItem1Card",href:"types#h2o_wave.types.ListItem1Card"},"ListItem1Card")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ListItem1Card",href:"types#h2o_wave.types.ListItem1Card"},"ListItem1Card"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"mark"},"mark ",Object(a.b)("a",{name:"h2o_wave.ui.mark"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"mark"),"(coord:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, x:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, x0:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, x1:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, x2:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, x_min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, x_max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, x_nice:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, x_scale:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, x_title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, y:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, y0:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, y1:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, y2:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, y_min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, y_max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, y_nice:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, y_scale:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, y_title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, color_range:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, color_domain:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, shape:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, shape_range:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, size:\xa0Union[str,\xa0float,\xa0int,\xa0NoneType]\xa0=\xa0None, size_range:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, stack:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, dodge:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, fill_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, fill_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, stroke_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, stroke_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, stroke_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, stroke_dash:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_offset:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_offset_x:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_offset_y:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_rotation:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_position:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_overlap:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_fill_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_fill_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_stroke_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_stroke_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_stroke_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_font_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_font_weight:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_line_height:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_align:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, ref_stroke_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, ref_stroke_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, ref_stroke_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, ref_stroke_dash:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Mark",href:"types#h2o_wave.types.Mark"},"Mark")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a specification for a layer of graphical marks such as bars, lines, points for a plot. A plot can contain multiple such layers of marks."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"coord")),Object(a.b)("dd",null,"Coordinate system. ",Object(a.b)("code",null,"rect")," is synonymous to ",Object(a.b)("code",null,"cartesian"),". ",Object(a.b)("code",null,"theta")," is transposed ",Object(a.b)("code",null,"polar"),". One of 'rect', 'cartesian', 'polar', 'theta', 'helix'. See enum h2o_wave.ui.MarkCoord."),Object(a.b)("dt",null,Object(a.b)("code",null,"type")),Object(a.b)("dd",null,"Graphical geometry. One of 'interval', 'line', 'path', 'point', 'area', 'polygon', 'schema', 'edge', 'heatmap'. See enum h2o_wave.ui.MarkType."),Object(a.b)("dt",null,Object(a.b)("code",null,"x")),Object(a.b)("dd",null,"X field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"x0")),Object(a.b)("dd",null,"X base field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"x1")),Object(a.b)("dd",null,"X bin lower bound field or value. For histograms."),Object(a.b)("dt",null,Object(a.b)("code",null,"x2")),Object(a.b)("dd",null,"X bin upper bound field or value. For histograms."),Object(a.b)("dt",null,Object(a.b)("code",null,"x_min")),Object(a.b)("dd",null,"X axis scale minimum."),Object(a.b)("dt",null,Object(a.b)("code",null,"x_max")),Object(a.b)("dd",null,"X axis scale maximum."),Object(a.b)("dt",null,Object(a.b)("code",null,"x_nice")),Object(a.b)("dd",null,"Whether to nice X axis scale ticks."),Object(a.b)("dt",null,Object(a.b)("code",null,"x_scale")),Object(a.b)("dd",null,"X axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkXScale."),Object(a.b)("dt",null,Object(a.b)("code",null,"x_title")),Object(a.b)("dd",null,"X axis title."),Object(a.b)("dt",null,Object(a.b)("code",null,"y")),Object(a.b)("dd",null,"Y field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"y0")),Object(a.b)("dd",null,"Y base field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"y1")),Object(a.b)("dd",null,"Y bin lower bound field or value. For histograms."),Object(a.b)("dt",null,Object(a.b)("code",null,"y2")),Object(a.b)("dd",null,"Y bin upper bound field or value. For histograms."),Object(a.b)("dt",null,Object(a.b)("code",null,"y_min")),Object(a.b)("dd",null,"Y axis scale minimum."),Object(a.b)("dt",null,Object(a.b)("code",null,"y_max")),Object(a.b)("dd",null,"Y axis scale maximum."),Object(a.b)("dt",null,Object(a.b)("code",null,"y_nice")),Object(a.b)("dd",null,"Whether to nice Y axis scale ticks."),Object(a.b)("dt",null,Object(a.b)("code",null,"y_scale")),Object(a.b)("dd",null,"Y axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkYScale."),Object(a.b)("dt",null,Object(a.b)("code",null,"y_title")),Object(a.b)("dd",null,"Y axis title."),Object(a.b)("dt",null,Object(a.b)("code",null,"color")),Object(a.b)("dd",null,"Mark color field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"color_range")),Object(a.b)("dd",null,"Mark color range for multi-series plots. A string containing space-separated colors, e.g. ",Object(a.b)("code",null,"'#fee8c8 #fdbb84 #e34a33'")),Object(a.b)("dt",null,Object(a.b)("code",null,"color_domain")),Object(a.b)("dd",null,"The unique values in the data (labels or categories or classes) to map colors to, e.g. ",Object(a.b)("code",null,"['high', 'medium', 'low']"),". If this is not provided, the unique values are automatically inferred from the ",Object(a.b)("code",null,"color")," attribute."),Object(a.b)("dt",null,Object(a.b)("code",null,"shape")),Object(a.b)("dd",null,"Mark shape field or value for ",Object(a.b)("code",null,"point")," mark types. Possible values are 'circle', 'square', 'bowtie', 'diamond', 'hexagon', 'triangle', 'triangle-down', 'cross', 'tick', 'plus', 'hyphen', 'line'."),Object(a.b)("dt",null,Object(a.b)("code",null,"shape_range")),Object(a.b)("dd",null,"Mark shape range for multi-series plots using ",Object(a.b)("code",null,"point")," mark types. A string containing space-separated shapes, e.g. ",Object(a.b)("code",null,"'circle square diamond'")),Object(a.b)("dt",null,Object(a.b)("code",null,"size")),Object(a.b)("dd",null,"Mark size field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"size_range")),Object(a.b)("dd",null,"Mark size range. A string containing space-separated integers, e.g. ",Object(a.b)("code",null,"'4 30'")),Object(a.b)("dt",null,Object(a.b)("code",null,"stack")),Object(a.b)("dd",null,"Field to stack marks by, or 'auto' to infer."),Object(a.b)("dt",null,Object(a.b)("code",null,"dodge")),Object(a.b)("dd",null,"Field to dodge marks by, or 'auto' to infer."),Object(a.b)("dt",null,Object(a.b)("code",null,"curve")),Object(a.b)("dd",null,"Curve type for ",Object(a.b)("code",null,"line")," and ",Object(a.b)("code",null,"area")," mark types. One of 'none', 'smooth', 'step-before', 'step', 'step-after'. See enum h2o_wave.ui.MarkCurve."),Object(a.b)("dt",null,Object(a.b)("code",null,"fill_color")),Object(a.b)("dd",null,"Mark fill color."),Object(a.b)("dt",null,Object(a.b)("code",null,"fill_opacity")),Object(a.b)("dd",null,"Mark fill opacity."),Object(a.b)("dt",null,Object(a.b)("code",null,"stroke_color")),Object(a.b)("dd",null,"Mark stroke color."),Object(a.b)("dt",null,Object(a.b)("code",null,"stroke_opacity")),Object(a.b)("dd",null,"Mark stroke opacity."),Object(a.b)("dt",null,Object(a.b)("code",null,"stroke_size")),Object(a.b)("dd",null,"Mark stroke size."),Object(a.b)("dt",null,Object(a.b)("code",null,"stroke_dash")),Object(a.b)("dd",null,"Mark stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25]."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Label field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_offset")),Object(a.b)("dd",null,"Distance between label and mark."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_offset_x")),Object(a.b)("dd",null,"Horizontal distance between label and mark."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_offset_y")),Object(a.b)("dd",null,"Vertical distance between label and mark."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_rotation")),Object(a.b)("dd",null,"Label rotation angle, in degrees, or 'none' to disable automatic rotation. The default behavior is 'auto' for automatic rotation."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_position")),Object(a.b)("dd",null,"Label position relative to the mark. One of 'top', 'bottom', 'middle', 'left', 'right'. See enum h2o_wave.ui.MarkLabelPosition."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_overlap")),Object(a.b)("dd",null,"Strategy to use if labels overlap. One of 'hide', 'overlap', 'constrain'. See enum h2o_wave.ui.MarkLabelOverlap."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_fill_color")),Object(a.b)("dd",null,"Label fill color."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_fill_opacity")),Object(a.b)("dd",null,"Label fill opacity."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_stroke_color")),Object(a.b)("dd",null,"Label stroke color."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_stroke_opacity")),Object(a.b)("dd",null,"Label stroke opacity."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_stroke_size")),Object(a.b)("dd",null,"Label stroke size (line width or pen thickness)."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_font_size")),Object(a.b)("dd",null,"Label font size."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_font_weight")),Object(a.b)("dd",null,"Label font weight."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_line_height")),Object(a.b)("dd",null,"Label line height."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_align")),Object(a.b)("dd",null,"Label text alignment. One of 'left', 'right', 'center', 'start', 'end'. See enum h2o_wave.ui.MarkLabelAlign."),Object(a.b)("dt",null,Object(a.b)("code",null,"ref_stroke_color")),Object(a.b)("dd",null,"Reference line stroke color."),Object(a.b)("dt",null,Object(a.b)("code",null,"ref_stroke_opacity")),Object(a.b)("dd",null,"Reference line stroke opacity."),Object(a.b)("dt",null,Object(a.b)("code",null,"ref_stroke_size")),Object(a.b)("dd",null,"Reference line stroke size (line width or pen thickness)."),Object(a.b)("dt",null,Object(a.b)("code",null,"ref_stroke_dash")),Object(a.b)("dd",null,"Reference line stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Mark",href:"types#h2o_wave.types.Mark"},"Mark"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"markdown_card"},"markdown_card ",Object(a.b)("a",{name:"h2o_wave.ui.markdown_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"markdown_card"),"(box:\xa0str, title:\xa0str, content:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.MarkdownCard",href:"types#h2o_wave.types.MarkdownCard"},"MarkdownCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card that renders Markdown content."),Object(a.b)("p",null,"Github-flavored markdown is supported. HTML markup is allowed in markdown content. URLs, if found, are displayed as hyperlinks. Copyright, reserved, trademark, quotes, etc. are replaced with language-neutral symbols."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The markdown content. Supports Github Flavored Markdown (GFM): ",Object(a.b)("a",{href:"https://guides.github.com/features/mastering-markdown/"},"https://guides.github.com/features/mastering-markdown/")),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Additional data for the card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.MarkdownCard",href:"types#h2o_wave.types.MarkdownCard"},"MarkdownCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"markup"},"markup ",Object(a.b)("a",{name:"h2o_wave.ui.markup"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"markup"),"(content:\xa0str, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render HTML content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The HTML content."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Markup",href:"types#h2o_wave.types.Markup"},"Markup"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"markup_card"},"markup_card ",Object(a.b)("a",{name:"h2o_wave.ui.markup_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"markup_card"),"(box:\xa0str, title:\xa0str, content:\xa0str, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.MarkupCard",href:"types#h2o_wave.types.MarkupCard"},"MarkupCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render HTML content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The HTML content."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.MarkupCard",href:"types#h2o_wave.types.MarkupCard"},"MarkupCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"message_bar"},"message_bar ",Object(a.b)("a",{name:"h2o_wave.ui.message_bar"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"message_bar"),"(type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, text:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a message bar."),Object(a.b)("p",null,"A message bar is an area at the top of a primary view that displays relevant status information. You can use a message bar to tell the user about a situation that does not require their immediate attention and therefore does not need to block other activities."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"type")),Object(a.b)("dd",null,"The icon and color of the message bar. One of 'info', 'error', 'warning', 'success', 'danger', 'blocked'. See enum h2o_wave.ui.MessageBarType."),Object(a.b)("dt",null,Object(a.b)("code",null,"text")),Object(a.b)("dd",null,"The text displayed on the message bar."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.MessageBar",href:"types#h2o_wave.types.MessageBar"},"MessageBar"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"meta_card"},"meta_card ",Object(a.b)("a",{name:"h2o_wave.ui.meta_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"meta_card"),"(box:\xa0str, title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, refresh:\xa0Union[int,\xa0NoneType]\xa0=\xa0None, notification:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, redirect:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, layouts:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Layout",href:"types#h2o_wave.types.Layout"},"Layout"),"],\xa0NoneType]\xa0=\xa0None, dialog:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.types.Dialog",href:"types#h2o_wave.types.Dialog"},"Dialog"),",\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.MetaCard",href:"types#h2o_wave.types.MetaCard"},"MetaCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Represents page-global state."),Object(a.b)("p",null,"This card is invisible. It is used to control attributes of the active page."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title of the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"refresh")),Object(a.b)("dd",null,"Refresh rate in seconds. A value of 0 turns off live-updates. Values != 0 are currently ignored (reserved for future use)."),Object(a.b)("dt",null,Object(a.b)("code",null,"notification")),Object(a.b)("dd",null,"Display a desktop notification."),Object(a.b)("dt",null,Object(a.b)("code",null,"redirect")),Object(a.b)("dd",null,"Redirect the page to a new URL."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"Shortcut icon path. Preferably a ",Object(a.b)("code",null,".png")," file (",Object(a.b)("code",null,".ico")," files may not work in mobile browsers)."),Object(a.b)("dt",null,Object(a.b)("code",null,"layouts")),Object(a.b)("dd",null,"The layouts supported by this page."),Object(a.b)("dt",null,Object(a.b)("code",null,"dialog")),Object(a.b)("dd",null,"Display a dialog on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.MetaCard",href:"types#h2o_wave.types.MetaCard"},"MetaCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"nav_card"},"nav_card ",Object(a.b)("a",{name:"h2o_wave.ui.nav_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"nav_card"),"(box:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.NavGroup",href:"types#h2o_wave.types.NavGroup"},"NavGroup"),"], value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.NavCard",href:"types#h2o_wave.types.NavCard"},"NavCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card containing a navigation pane."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The navigation groups contained in this pane."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The name of the active (highlighted) navigation item."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.NavCard",href:"types#h2o_wave.types.NavCard"},"NavCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"nav_group"},"nav_group ",Object(a.b)("a",{name:"h2o_wave.ui.nav_group"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"nav_group"),"(label:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.NavItem",href:"types#h2o_wave.types.NavItem"},"NavItem"),"], collapsed:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.NavGroup",href:"types#h2o_wave.types.NavGroup"},"NavGroup")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a group of navigation items."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The label to display for this group."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The navigation items contained in this group."),Object(a.b)("dt",null,Object(a.b)("code",null,"collapsed")),Object(a.b)("dd",null,"Indicates whether nav groups should be rendered as collapsed initially")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.NavGroup",href:"types#h2o_wave.types.NavGroup"},"NavGroup"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"nav_item"},"nav_item ",Object(a.b)("a",{name:"h2o_wave.ui.nav_item"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"nav_item"),"(name:\xa0str, label:\xa0str, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.NavItem",href:"types#h2o_wave.types.NavItem"},"NavItem")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a navigation item."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"The name of this item. Prefix the name with a '#' to trigger hash-change navigation."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The label to display."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"An optional icon to display next to the label.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.NavItem",href:"types#h2o_wave.types.NavItem"},"NavItem"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"picker"},"picker ",Object(a.b)("a",{name:"h2o_wave.ui.picker"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"picker"),"(name:\xa0str, choices:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Choice",href:"types#h2o_wave.types.Choice"},"Choice"),"], label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, max_choices:\xa0Union[int,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a picker. Pickers are used to select one or more choices, such as tags or files, from a list. Use a picker to allow the user to quickly search for or manage a few tags or files."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"choices")),Object(a.b)("dd",null,"The choices to be presented."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed above the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"values")),Object(a.b)("dd",null,"The names of the selected choices."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_choices")),Object(a.b)("dd",null,"Maximum number of selectable choices. Defaults to no limit."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"Controls whether the picker should be disabled or not."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the picker value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Picker",href:"types#h2o_wave.types.Picker"},"Picker"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"pixel_art_card"},"pixel_art_card ",Object(a.b)("a",{name:"h2o_wave.ui.pixel_art_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"pixel_art_card"),"(box:\xa0str, title:\xa0str, data:\xa0Union[dict,\xa0str], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.PixelArtCard",href:"types#h2o_wave.types.PixelArtCard"},"PixelArtCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card displaying a collaborative Pixel art tool, just for kicks."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"The data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.PixelArtCard",href:"types#h2o_wave.types.PixelArtCard"},"PixelArtCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"plot"},"plot ",Object(a.b)("a",{name:"h2o_wave.ui.plot"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"plot"),"(marks:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Mark",href:"types#h2o_wave.types.Mark"},"Mark"),"]) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Plot",href:"types#h2o_wave.types.Plot"},"Plot")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a plot. A plot is composed of one or more graphical mark layers."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"marks")),Object(a.b)("dd",null,"The graphical mark layers contained in this plot.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Plot",href:"types#h2o_wave.types.Plot"},"Plot"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"plot_card"},"plot_card ",Object(a.b)("a",{name:"h2o_wave.ui.plot_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"plot_card"),"(box:\xa0str, title:\xa0str, data:\xa0Union[dict,\xa0str], plot:\xa0",Object(a.b)("a",{title:"h2o_wave.types.Plot",href:"types#h2o_wave.types.Plot"},"Plot"),", events:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.PlotCard",href:"types#h2o_wave.types.PlotCard"},"PlotCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card displaying a plot."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot")),Object(a.b)("dd",null,"The plot to be displayed in this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"events")),Object(a.b)("dd",null,"The events to capture on this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.PlotCard",href:"types#h2o_wave.types.PlotCard"},"PlotCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"progress"},"progress ",Object(a.b)("a",{name:"h2o_wave.ui.progress"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"progress"),"(label:\xa0str, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a progress bar."),Object(a.b)("p",null,"Progress bars are used to show the completion status of an operation lasting more than 2 seconds. If the state of progress cannot be determined, do not set a value. Progress bars feature a bar showing total units to completion, and total units finished. The label appears above the bar, and the caption appears below. The label should tell someone exactly what the operation is doing."),Object(a.b)("p",null,"Examples of formatting include: [Object] is being [operation name], or [Object] is being [operation name] to [destination name] or [Object] is being [operation name] from [source name] to [destination name]"),Object(a.b)("p",null,"Status text is generally in units elapsed and total units. Real-world examples include copying files to a storage location, saving edits to a file, and more. Use units that are informative and relevant to give the best idea to users of how long the operation will take to complete. Avoid time units as they are rarely accurate enough to be trustworthy. Also, combine steps of a complex operation into one total bar to avoid \u201crewinding\u201d the bar. Instead change the label to reflect the change if necessary. Bars moving backwards reduce confidence in the service."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed above the bar."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The text displayed below the bar."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The progress, between 0.0 and 1.0, or -1 (default) if indeterminate."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Progress",href:"types#h2o_wave.types.Progress"},"Progress"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"progress_table_cell_type"},"progress_table_cell_type ",Object(a.b)("a",{name:"h2o_wave.ui.progress_table_cell_type"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"progress_table_cell_type"),"(color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TableCellType",href:"types#h2o_wave.types.TableCellType"},"TableCellType")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a cell type that renders a column's cells as progress bars instead of plain text. If set on a column, the cell value must be between 0.0 and 1.0."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"color")),Object(a.b)("dd",null,"Color of the progress arc."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ProgressTableCellType",href:"types#h2o_wave.types.ProgressTableCellType"},"ProgressTableCellType"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"range_slider"},"range_slider ",Object(a.b)("a",{name:"h2o_wave.ui.range_slider"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"range_slider"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, step:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, min_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a range slider."),Object(a.b)("p",null,"A range slider is an element used to select a value range. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. Knobs or levers are dragged to one end or the other to make the choice, indicating the current max and min value."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"min")),Object(a.b)("dd",null,"The minimum value of the slider. Defaults to 0."),Object(a.b)("dt",null,Object(a.b)("code",null,"max")),Object(a.b)("dd",null,"The maximum value of the slider. Defaults to 100."),Object(a.b)("dt",null,Object(a.b)("code",null,"step")),Object(a.b)("dd",null,"The difference between two adjacent values of the slider."),Object(a.b)("dt",null,Object(a.b)("code",null,"min_value")),Object(a.b)("dd",null,"The lower bound of the selected range."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_value")),Object(a.b)("dd",null,"The upper bound of the selected range."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this field is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the slider value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.RangeSlider",href:"types#h2o_wave.types.RangeSlider"},"RangeSlider"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"repeat_card"},"repeat_card ",Object(a.b)("a",{name:"h2o_wave.ui.repeat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"repeat_card"),"(box:\xa0str, item_view:\xa0str, item_props:\xa0Union[dict,\xa0str], data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.RepeatCard",href:"types#h2o_wave.types.RepeatCard"},"RepeatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"EXPERIMENTAL. DO NOT USE. Create a card containing other cards."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"item_view")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"item_props")),Object(a.b)("dd",null,"The child card properties."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.RepeatCard",href:"types#h2o_wave.types.RepeatCard"},"RepeatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"separator"},"separator ",Object(a.b)("a",{name:"h2o_wave.ui.separator"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"separator"),"(label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a separator."),Object(a.b)("p",null,"A separator visually separates content into groups."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed on the separator."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Separator",href:"types#h2o_wave.types.Separator"},"Separator"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"slider"},"slider ",Object(a.b)("a",{name:"h2o_wave.ui.slider"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"slider"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, step:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a slider."),Object(a.b)("p",null,"A slider is an element used to set a value. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. A knob or lever is dragged to one end or the other to make the choice, indicating the current value. Marks on the slider bar can show values and users can choose where they want to drag the knob or lever to set the value."),Object(a.b)("p",null,"A slider is a good choice when you know that users think of the value as a relative quantity, not a numeric value. For example, users think about setting their audio volume to low or medium \u2014 not about setting the value to two or five."),Object(a.b)("p",null,"The default value of the slider will be zero or be constrained to the min and max values. The min will be returned if the value is set under the min and the max will be returned if set higher than the max value."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"min")),Object(a.b)("dd",null,"The minimum value of the slider."),Object(a.b)("dt",null,Object(a.b)("code",null,"max")),Object(a.b)("dd",null,"The maximum value of the slider."),Object(a.b)("dt",null,Object(a.b)("code",null,"step")),Object(a.b)("dd",null,"The difference between two adjacent values of the slider."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The current value of the slider."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this field is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the slider value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Slider",href:"types#h2o_wave.types.Slider"},"Slider"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"small_series_stat_card"},"small_series_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.small_series_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"small_series_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, plot_data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], plot_value:\xa0str, plot_zero_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, plot_category:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.SmallSeriesStatCard",href:"types#h2o_wave.types.SmallSeriesStatCard"},"SmallSeriesStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a small stat card displaying a primary value and a series plot."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_data")),Object(a.b)("dd",null,"The plot's data."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_value")),Object(a.b)("dd",null,"The data field to use for y-axis values."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_zero_value")),Object(a.b)("dd",null,"The base value to use for each y-axis mark. Set this to ",Object(a.b)("code",null,"0")," if you want to pin the x-axis at ",Object(a.b)("code",null,"y=0"),". If not provided, the minimum value from the data is used."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_category")),Object(a.b)("dd",null,"The data field to use for x-axis values (ignored if ",Object(a.b)("code",null,"plot_type")," is ",Object(a.b)("code",null,"area"),"; must be provided if ",Object(a.b)("code",null,"plot_type")," is ",Object(a.b)("code",null,"interval"),"). Defaults to 'x'."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_type")),Object(a.b)("dd",null,"The type of plot. Defaults to ",Object(a.b)("code",null,"area"),". One of 'area', 'interval'. See enum h2o_wave.ui.SmallSeriesStatCardPlotType."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_curve")),Object(a.b)("dd",null,"The plot's curve style. Defaults to ",Object(a.b)("code",null,"linear"),". One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.SmallSeriesStatCardPlotCurve."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The plot's color."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.SmallSeriesStatCard",href:"types#h2o_wave.types.SmallSeriesStatCard"},"SmallSeriesStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"small_stat_card"},"small_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.small_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"small_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.SmallStatCard",href:"types#h2o_wave.types.SmallStatCard"},"SmallStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a stat card displaying a single value."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.SmallStatCard",href:"types#h2o_wave.types.SmallStatCard"},"SmallStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"spinbox"},"spinbox ",Object(a.b)("a",{name:"h2o_wave.ui.spinbox"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"spinbox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, step:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a spinbox."),Object(a.b)("p",null,"A spinbox allows the user to incrementally adjust a value in small steps. It is mainly used for numeric values, but other values are supported too."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"min")),Object(a.b)("dd",null,"The minimum value of the spinbox."),Object(a.b)("dt",null,Object(a.b)("code",null,"max")),Object(a.b)("dd",null,"The maximum value of the spinbox."),Object(a.b)("dt",null,Object(a.b)("code",null,"step")),Object(a.b)("dd",null,"The difference between two adjacent values of the spinbox."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The current value of the spinbox."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this field is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Spinbox",href:"types#h2o_wave.types.Spinbox"},"Spinbox"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"step"},"step ",Object(a.b)("a",{name:"h2o_wave.ui.step"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"step"),"(label:\xa0str, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, done:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Step",href:"types#h2o_wave.types.Step"},"Step")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a step for a stepper."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text displayed below icon."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"Icon to be displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"done")),Object(a.b)("dd",null,"Indicates whether this step has already been completed.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Step",href:"types#h2o_wave.types.Step"},"Step"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"stepper"},"stepper ",Object(a.b)("a",{name:"h2o_wave.ui.stepper"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"stepper"),"(name:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Step",href:"types#h2o_wave.types.Step"},"Step"),"], visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a component that displays a sequence of steps in a process. The steps keep users informed about where they are in the process and how much is left to complete."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The sequence of steps to be displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Stepper",href:"types#h2o_wave.types.Stepper"},"Stepper"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"tab"},"tab ",Object(a.b)("a",{name:"h2o_wave.ui.tab"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"tab"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Tab",href:"types#h2o_wave.types.Tab"},"Tab")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a tab."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed on the tab."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"The icon displayed on the tab.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Tab",href:"types#h2o_wave.types.Tab"},"Tab"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"tab_card"},"tab_card ",Object(a.b)("a",{name:"h2o_wave.ui.tab_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"tab_card"),"(box:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Tab",href:"types#h2o_wave.types.Tab"},"Tab"),"], value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TabCard",href:"types#h2o_wave.types.TabCard"},"TabCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card containing tabs for navigation."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"Items to render."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The name of the tab to select."),Object(a.b)("dt",null,Object(a.b)("code",null,"link")),Object(a.b)("dd",null,"True if tabs should be rendered as links and not a standard tab."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TabCard",href:"types#h2o_wave.types.TabCard"},"TabCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"table"},"table ",Object(a.b)("a",{name:"h2o_wave.ui.table"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"table"),"(name:\xa0str, columns:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.TableColumn",href:"types#h2o_wave.types.TableColumn"},"TableColumn"),"], rows:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.TableRow",href:"types#h2o_wave.types.TableRow"},"TableRow"),"], multiple:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, groupable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, downloadable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, resettable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create an interactive table."),Object(a.b)("p",null,"This table differs from a markdown table in that it supports clicking or selecting rows. If you simply want to display a non-interactive table of information, use a markdown table."),Object(a.b)("p",null,"If ",Object(a.b)("code",null,"multiple")," is set to False (default), each row in the table is clickable. When a row is clicked, the form is submitted automatically, and ",Object(a.b)("code",null,"q.args.table_name")," is set to ",Object(a.b)("code",null,"[row_name]"),", where ",Object(a.b)("code",null,"table_name")," is the ",Object(a.b)("code",null,"name")," of the table, and ",Object(a.b)("code",null,"row_name")," is the ",Object(a.b)("code",null,"name")," of the row that was clicked on."),Object(a.b)("p",null,"If ",Object(a.b)("code",null,"multiple")," is set to True, each row in the table is selectable. A row can be selected by clicking on it. Multiple rows can be selected either by shift+clicking or using marquee selection. When the form is submitted,",Object(a.b)("code",null,"q.args.table_name")," is set to ",Object(a.b)("code",null,"[row1_name, row2_name, \u2026]")," where ",Object(a.b)("code",null,"table_name")," is the ",Object(a.b)("code",null,"name")," of the table, and ",Object(a.b)("code",null,"row1_name"),", ",Object(a.b)("code",null,"row2_name")," are the ",Object(a.b)("code",null,"name")," of the rows that were selected. Note that if ",Object(a.b)("code",null,"multiple")," is set to True, the form is not submitted automatically, and one or more buttons are required in the form to trigger submission."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"columns")),Object(a.b)("dd",null,"The columns in this table."),Object(a.b)("dt",null,Object(a.b)("code",null,"rows")),Object(a.b)("dd",null,"The rows in this table."),Object(a.b)("dt",null,Object(a.b)("code",null,"multiple")),Object(a.b)("dd",null,"True to allow multiple rows to be selected."),Object(a.b)("dt",null,Object(a.b)("code",null,"groupable")),Object(a.b)("dd",null,"True to allow group by feature."),Object(a.b)("dt",null,Object(a.b)("code",null,"downloadable")),Object(a.b)("dd",null,"Indicates whether the contents of this table can be downloaded and saved as a CSV file. Defaults to False."),Object(a.b)("dt",null,Object(a.b)("code",null,"resettable")),Object(a.b)("dd",null,"Indicates whether a Reset button should be displayed to reset search / filter / group-by values to their defaults. Defaults to False."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The height of the table, e.g. '400px', '50%', etc."),Object(a.b)("dt",null,Object(a.b)("code",null,"values")),Object(a.b)("dd",null,"The names of the selected rows. If this parameter is set, multiple selections will be allowed (",Object(a.b)("code",null,"multiple")," is assumed to be ",Object(a.b)("code",null,"True"),")."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Table",href:"types#h2o_wave.types.Table"},"Table"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"table_column"},"table_column ",Object(a.b)("a",{name:"h2o_wave.ui.table_column"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"table_column"),"(name:\xa0str, label:\xa0str, min_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, max_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, sortable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, searchable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, filterable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, data_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, cell_type:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.types.TableCellType",href:"types#h2o_wave.types.TableCellType"},"TableCellType"),",\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TableColumn",href:"types#h2o_wave.types.TableColumn"},"TableColumn")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a table column."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this column."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed on the column header."),Object(a.b)("dt",null,Object(a.b)("code",null,"min_width")),Object(a.b)("dd",null,"The minimum width of this column, e.g. '50px'. Only ",Object(a.b)("code",null,"px")," units are supported at this time."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_width")),Object(a.b)("dd",null,"The maximum width of this column, e.g. '100px'. Only ",Object(a.b)("code",null,"px")," units are supported at this time."),Object(a.b)("dt",null,Object(a.b)("code",null,"sortable")),Object(a.b)("dd",null,"Indicates whether the column is sortable."),Object(a.b)("dt",null,Object(a.b)("code",null,"searchable")),Object(a.b)("dd",null,"Indicates whether the contents of this column can be searched through. Enables a search box for the table if true."),Object(a.b)("dt",null,Object(a.b)("code",null,"filterable")),Object(a.b)("dd",null,"Indicates whether the contents of this column are displayed as filters in a dropdown."),Object(a.b)("dt",null,Object(a.b)("code",null,"link")),Object(a.b)("dd",null,"Indicates whether each cell in this column should be displayed as a clickable link."),Object(a.b)("dt",null,Object(a.b)("code",null,"data_type")),Object(a.b)("dd",null,"Defines the data type of this column. Defaults to ",Object(a.b)("code",null,"string"),". One of 'string', 'number', 'time'. See enum h2o_wave.ui.TableColumnDataType."),Object(a.b)("dt",null,Object(a.b)("code",null,"cell_type")),Object(a.b)("dd",null,"Defines how to render each cell in this column. Defaults to plain text.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TableColumn",href:"types#h2o_wave.types.TableColumn"},"TableColumn"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"table_row"},"table_row ",Object(a.b)("a",{name:"h2o_wave.ui.table_row"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"table_row"),"(name:\xa0str, cells:\xa0List[str]) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TableRow",href:"types#h2o_wave.types.TableRow"},"TableRow")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a table row."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this row."),Object(a.b)("dt",null,Object(a.b)("code",null,"cells")),Object(a.b)("dd",null,"The cells in this row (displayed left to right).")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TableRow",href:"types#h2o_wave.types.TableRow"},"TableRow"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"tabs"},"tabs ",Object(a.b)("a",{name:"h2o_wave.ui.tabs"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"tabs"),"(name:\xa0str, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Tab",href:"types#h2o_wave.types.Tab"},"Tab"),"],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a tab bar."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The name of the tab to select."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The tabs in this tab bar."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Tabs",href:"types#h2o_wave.types.Tabs"},"Tabs"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"tall_gauge_stat_card"},"tall_gauge_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.tall_gauge_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"tall_gauge_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TallGaugeStatCard",href:"types#h2o_wave.types.TallGaugeStatCard"},"TallGaugeStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a tall stat card displaying a primary value, an auxiliary value and a progress gauge."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value displayed next to the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"progress")),Object(a.b)("dd",null,"The value of the progress gauge, between 0 and 1."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The color of the progress gauge."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TallGaugeStatCard",href:"types#h2o_wave.types.TallGaugeStatCard"},"TallGaugeStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"tall_series_stat_card"},"tall_series_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.tall_series_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"tall_series_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, plot_data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], plot_value:\xa0str, plot_zero_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, plot_category:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TallSeriesStatCard",href:"types#h2o_wave.types.TallSeriesStatCard"},"TallSeriesStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a tall stat card displaying a primary value, an auxiliary value and a series plot."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value displayed below the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_data")),Object(a.b)("dd",null,"The plot's data."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_value")),Object(a.b)("dd",null,"The data field to use for y-axis values."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_zero_value")),Object(a.b)("dd",null,"The base value to use for each y-axis mark. Set this to ",Object(a.b)("code",null,"0")," if you want to pin the x-axis at ",Object(a.b)("code",null,"y=0"),". If not provided, the minimum value from the data is used."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_category")),Object(a.b)("dd",null,"The data field to use for x-axis values (ignored if ",Object(a.b)("code",null,"plot_type")," is ",Object(a.b)("code",null,"area"),"; must be provided if ",Object(a.b)("code",null,"plot_type")," is ",Object(a.b)("code",null,"interval"),"). Defaults to 'x'."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_type")),Object(a.b)("dd",null,"The type of plot. Defaults to ",Object(a.b)("code",null,"area"),". One of 'area', 'interval'. See enum h2o_wave.ui.TallSeriesStatCardPlotType."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_curve")),Object(a.b)("dd",null,"The plot's curve style. Defaults to ",Object(a.b)("code",null,"linear"),". One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.TallSeriesStatCardPlotCurve."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The plot's color."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TallSeriesStatCard",href:"types#h2o_wave.types.TallSeriesStatCard"},"TallSeriesStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"template"},"template ",Object(a.b)("a",{name:"h2o_wave.ui.template"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"template"),"(content:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render dynamic content using an HTML template."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The Handlebars template. ",Object(a.b)("a",{href:"https://handlebarsjs.com/guide/"},"https://handlebarsjs.com/guide/")),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for the Handlebars template"),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Template",href:"types#h2o_wave.types.Template"},"Template"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"template_card"},"template_card ",Object(a.b)("a",{name:"h2o_wave.ui.template_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"template_card"),"(box:\xa0str, title:\xa0str, content:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TemplateCard",href:"types#h2o_wave.types.TemplateCard"},"TemplateCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render dynamic content using an HTML template."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The Handlebars template. ",Object(a.b)("a",{href:"https://handlebarsjs.com/guide/"},"https://handlebarsjs.com/guide/")),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for the Handlebars template."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TemplateCard",href:"types#h2o_wave.types.TemplateCard"},"TemplateCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"text"},"text ",Object(a.b)("a",{name:"h2o_wave.ui.text"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"text"),"(content:\xa0str, size:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create text content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"size")),Object(a.b)("dd",null,"The font size of the text content. One of 'xl', 'l', 'm', 's', 'xs'. See enum h2o_wave.ui.TextSize."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"Tooltip message."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Text",href:"types#h2o_wave.types.Text"},"Text"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"text_l"},"text_l ",Object(a.b)("a",{name:"h2o_wave.ui.text_l"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"text_l"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create large sized text content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"Tooltip message."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TextL",href:"types#h2o_wave.types.TextL"},"TextL"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"text_m"},"text_m ",Object(a.b)("a",{name:"h2o_wave.ui.text_m"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"text_m"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create medium sized text content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"Tooltip message."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TextM",href:"types#h2o_wave.types.TextM"},"TextM"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"text_s"},"text_s ",Object(a.b)("a",{name:"h2o_wave.ui.text_s"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"text_s"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create small sized text content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"Tooltip message."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TextS",href:"types#h2o_wave.types.TextS"},"TextS"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"text_xl"},"text_xl ",Object(a.b)("a",{name:"h2o_wave.ui.text_xl"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"text_xl"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create extra-large sized text content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"Tooltip message."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TextXl",href:"types#h2o_wave.types.TextXl"},"TextXl"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"text_xs"},"text_xs ",Object(a.b)("a",{name:"h2o_wave.ui.text_xs"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"text_xs"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create extra-small sized text content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"Tooltip message."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TextXs",href:"types#h2o_wave.types.TextXs"},"TextXs"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"textbox"},"textbox ",Object(a.b)("a",{name:"h2o_wave.ui.textbox"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"textbox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, mask:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, prefix:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, suffix:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, error:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, readonly:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, multiline:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, password:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a text box."),Object(a.b)("p",null,"The text box component enables a user to type text into an app. It's typically used to capture a single line of text, but can be configured to capture multiple lines of text. The text displays on the screen in a simple, uniform format."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed above the field."),Object(a.b)("dt",null,Object(a.b)("code",null,"placeholder")),Object(a.b)("dd",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field. It should be a word or short phrase that demonstrates the expected type of data, rather than an explanatory message."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"Text to be displayed inside the text box."),Object(a.b)("dt",null,Object(a.b)("code",null,"mask")),Object(a.b)("dd",null,"The masking string that defines the mask's behavior. A backslash will escape any character. Special format characters are: '9': [0-9] 'a': [a-zA-Z] '*': [a-zA-Z0-9]."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"Icon displayed in the far right end of the text field."),Object(a.b)("dt",null,Object(a.b)("code",null,"prefix")),Object(a.b)("dd",null,"Text to be displayed before the text box contents."),Object(a.b)("dt",null,Object(a.b)("code",null,"suffix")),Object(a.b)("dd",null,"Text to be displayed after the text box contents."),Object(a.b)("dt",null,Object(a.b)("code",null,"error")),Object(a.b)("dd",null,"Text to be displayed as an error below the text box."),Object(a.b)("dt",null,Object(a.b)("code",null,"required")),Object(a.b)("dd",null,"True if the text box is a required field."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the text box is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"readonly")),Object(a.b)("dd",null,"True if the text box is a read-only field."),Object(a.b)("dt",null,Object(a.b)("code",null,"multiline")),Object(a.b)("dd",null,"True if the text box should allow multi-line text entry."),Object(a.b)("dt",null,Object(a.b)("code",null,"password")),Object(a.b)("dd",null,"True if the text box should hide text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the text value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The height of the text box, e.g. '100px'. Applicable only if ",Object(a.b)("code",null,"multiline")," is true."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Textbox",href:"types#h2o_wave.types.Textbox"},"Textbox"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"toggle"},"toggle ",Object(a.b)("a",{name:"h2o_wave.ui.toggle"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"toggle"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a toggle. Toggles represent a physical switch that allows users to turn things on or off. Use toggles to present users with two mutually exclusive options (like on/off), where choosing an option results in an immediate action."),Object(a.b)("p",null,"Use a toggle for binary operations that take effect right after the user flips the Toggle. For example, use a Toggle to turn services or hardware components on or off. In other words, if a physical switch would work for the action, a Toggle is probably the best component to use."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"True if selected, False if unselected."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the checkbox is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the toggle value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Toggle",href:"types#h2o_wave.types.Toggle"},"Toggle"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"toolbar_card"},"toolbar_card ",Object(a.b)("a",{name:"h2o_wave.ui.toolbar_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"toolbar_card"),"(box:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"], secondary_items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, overflow_items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.ToolbarCard",href:"types#h2o_wave.types.ToolbarCard"},"ToolbarCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card containing a toolbar."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"Items to render."),Object(a.b)("dt",null,Object(a.b)("code",null,"secondary_items")),Object(a.b)("dd",null,"Items to render on the right side (or left, in RTL)."),Object(a.b)("dt",null,Object(a.b)("code",null,"overflow_items")),Object(a.b)("dd",null,"Items to render in an overflow menu."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ToolbarCard",href:"types#h2o_wave.types.ToolbarCard"},"ToolbarCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"vega_card"},"vega_card ",Object(a.b)("a",{name:"h2o_wave.ui.vega_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"vega_card"),"(box:\xa0str, title:\xa0str, specification:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.VegaCard",href:"types#h2o_wave.types.VegaCard"},"VegaCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card containing a Vega-lite plot."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title of this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"specification")),Object(a.b)("dd",null,"The Vega-lite specification."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for the plot, if any."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.VegaCard",href:"types#h2o_wave.types.VegaCard"},"VegaCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"vega_visualization"},"vega_visualization ",Object(a.b)("a",{name:"h2o_wave.ui.vega_visualization"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"vega_visualization"),"(specification:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a Vega-lite plot for display inside a form."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"specification")),Object(a.b)("dd",null,"The Vega-lite specification."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for the plot, if any."),Object(a.b)("dt",null,Object(a.b)("code",null,"width")),Object(a.b)("dd",null,"The width of the visualization. Defaults to 100%."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The height of the visualization. Defaults to 300px."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.VegaVisualization",href:"types#h2o_wave.types.VegaVisualization"},"VegaVisualization"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"visualization"},"visualization ",Object(a.b)("a",{name:"h2o_wave.ui.visualization"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"visualization"),"(plot:\xa0",Object(a.b)("a",{title:"h2o_wave.types.Plot",href:"types#h2o_wave.types.Plot"},"Plot"),", data:\xa0Union[dict,\xa0str], width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, events:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a visualization for display inside a form."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"plot")),Object(a.b)("dd",null,"The plot to be rendered in this visualization."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this visualization."),Object(a.b)("dt",null,Object(a.b)("code",null,"width")),Object(a.b)("dd",null,"The width of the visualization. Defaults to 100%."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The hight of the visualization. Defaults to 300px."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"events")),Object(a.b)("dd",null,"The events to capture on this visualization.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Visualization",href:"types#h2o_wave.types.Visualization"},"Visualization"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"wide_bar_stat_card"},"wide_bar_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.wide_bar_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"wide_bar_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.WideBarStatCard",href:"types#h2o_wave.types.WideBarStatCard"},"WideBarStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a wide stat card displaying a primary value, an auxiliary value and a progress bar."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value displayed next to the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"progress")),Object(a.b)("dd",null,"The value of the progress bar, between 0 and 1."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The color of the progress bar."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.WideBarStatCard",href:"types#h2o_wave.types.WideBarStatCard"},"WideBarStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"wide_gauge_stat_card"},"wide_gauge_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.wide_gauge_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"wide_gauge_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.WideGaugeStatCard",href:"types#h2o_wave.types.WideGaugeStatCard"},"WideGaugeStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a wide stat card displaying a primary value, an auxiliary value and a progress gauge."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value displayed next to the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"progress")),Object(a.b)("dd",null,"The value of the progress gauge, between 0 and 1."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The color of the progress gauge."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.WideGaugeStatCard",href:"types#h2o_wave.types.WideGaugeStatCard"},"WideGaugeStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"wide_series_stat_card"},"wide_series_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.wide_series_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"wide_series_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, plot_data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], plot_value:\xa0str, plot_zero_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, plot_category:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.WideSeriesStatCard",href:"types#h2o_wave.types.WideSeriesStatCard"},"WideSeriesStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a wide stat card displaying a primary value, an auxiliary value and a series plot."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value displayed below the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_data")),Object(a.b)("dd",null,"The plot's data."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_value")),Object(a.b)("dd",null,"The data field to use for y-axis values."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_zero_value")),Object(a.b)("dd",null,"The base value to use for each y-axis mark. Set this to ",Object(a.b)("code",null,"0")," if you want to pin the x-axis at ",Object(a.b)("code",null,"y=0"),". If not provided, the minimum value from the data is used."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_category")),Object(a.b)("dd",null,"The data field to use for x-axis values (ignored if ",Object(a.b)("code",null,"plot_type")," is ",Object(a.b)("code",null,"area"),"; must be provided if ",Object(a.b)("code",null,"plot_type")," is ",Object(a.b)("code",null,"interval"),"). Defaults to 'x'."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_type")),Object(a.b)("dd",null,"The type of plot. Defaults to ",Object(a.b)("code",null,"area"),". One of 'area', 'interval'. See enum h2o_wave.ui.WideSeriesStatCardPlotType."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_curve")),Object(a.b)("dd",null,"The plot's curve style. Defaults to ",Object(a.b)("code",null,"linear"),". One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.WideSeriesStatCardPlotCurve."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The plot's color."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.WideSeriesStatCard",href:"types#h2o_wave.types.WideSeriesStatCard"},"WideSeriesStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"zone"},"zone ",Object(a.b)("a",{name:"h2o_wave.ui.zone"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"zone"),"(name:\xa0str, size:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, direction:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, align:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, wrap:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, zones:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Zone",href:"types#h2o_wave.types.Zone"},"Zone"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Zone",href:"types#h2o_wave.types.Zone"},"Zone")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Represents an zone within a page layout."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this zone."),Object(a.b)("dt",null,Object(a.b)("code",null,"size")),Object(a.b)("dd",null,"The size of this zone."),Object(a.b)("dt",null,Object(a.b)("code",null,"direction")),Object(a.b)("dd",null,"Layout direction. One of 'row', 'column'. See enum h2o_wave.ui.ZoneDirection."),Object(a.b)("dt",null,Object(a.b)("code",null,"justify")),Object(a.b)("dd",null,"Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ZoneJustify."),Object(a.b)("dt",null,Object(a.b)("code",null,"align")),Object(a.b)("dd",null,"Layout strategy for cross axis. One of 'start', 'end', 'center', 'stretch'. See enum h2o_wave.ui.ZoneAlign."),Object(a.b)("dt",null,Object(a.b)("code",null,"wrap")),Object(a.b)("dd",null,"Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.ZoneWrap."),Object(a.b)("dt",null,Object(a.b)("code",null,"zones")),Object(a.b)("dd",null,"The sub-zones contained inside this zone.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Zone",href:"types#h2o_wave.types.Zone"},"Zone"))," instance.")))))}s.isMDXComponent=!0},300:function(e,t,l){"use strict";l.d(t,"a",(function(){return r})),l.d(t,"b",(function(){return O}));var n=l(0),b=l.n(n);function a(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function o(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,n)}return l}function c(e){for(var t=1;t=0||(b[l]=e[l]);return b}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(b[l]=e[l])}return b}var d=b.a.createContext({}),s=function(e){var t=b.a.useContext(d),l=t;return e&&(l="function"==typeof e?e(t):c(c({},t),e)),l},r=function(e){var t=s(e.components);return b.a.createElement(d.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return b.a.createElement(b.a.Fragment,{},t)}},p=b.a.forwardRef((function(e,t){var l=e.components,n=e.mdxType,a=e.originalType,o=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),r=s(l),p=n,O=r["".concat(o,".").concat(p)]||r[p]||u[p]||a;return l?b.a.createElement(O,c(c({ref:t},d),{},{components:l})):b.a.createElement(O,c({ref:t},d))}));function O(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=l.length,o=new Array(a);o[0]=p;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var d=2;d',id:"breadcrumb",children:[]},{value:'breadcrumbs_card ',id:"breadcrumbs_card",children:[]},{value:'button ',id:"button",children:[]},{value:'buttons ',id:"buttons",children:[]},{value:'checkbox ',id:"checkbox",children:[]},{value:'checklist ',id:"checklist",children:[]},{value:'choice ',id:"choice",children:[]},{value:'choice_group ',id:"choice_group",children:[]},{value:'color_picker ',id:"color_picker",children:[]},{value:'combobox ',id:"combobox",children:[]},{value:'command ',id:"command",children:[]},{value:'date_picker ',id:"date_picker",children:[]},{value:'dialog ',id:"dialog",children:[]},{value:'dropdown ',id:"dropdown",children:[]},{value:'expander ',id:"expander",children:[]},{value:'file_upload ',id:"file_upload",children:[]},{value:'flex_card ',id:"flex_card",children:[]},{value:'footer_card ',id:"footer_card",children:[]},{value:'form_card ',id:"form_card",children:[]},{value:'frame ',id:"frame",children:[]},{value:'frame_card ',id:"frame_card",children:[]},{value:'graphics_card ',id:"graphics_card",children:[]},{value:'grid_card ',id:"grid_card",children:[]},{value:'header_card ',id:"header_card",children:[]},{value:'icon_table_cell_type ',id:"icon_table_cell_type",children:[]},{value:'image_card ',id:"image_card",children:[]},{value:'inline ',id:"inline",children:[]},{value:'label ',id:"label",children:[]},{value:'large_bar_stat_card ',id:"large_bar_stat_card",children:[]},{value:'large_stat_card ',id:"large_stat_card",children:[]},{value:'layout ',id:"layout",children:[]},{value:'link ',id:"link",children:[]},{value:'list_card ',id:"list_card",children:[]},{value:'list_item1_card ',id:"list_item1_card",children:[]},{value:'mark ',id:"mark",children:[]},{value:'markdown_card ',id:"markdown_card",children:[]},{value:'markup ',id:"markup",children:[]},{value:'markup_card ',id:"markup_card",children:[]},{value:'message_bar ',id:"message_bar",children:[]},{value:'meta_card ',id:"meta_card",children:[]},{value:'nav_card ',id:"nav_card",children:[]},{value:'nav_group ',id:"nav_group",children:[]},{value:'nav_item ',id:"nav_item",children:[]},{value:'picker ',id:"picker",children:[]},{value:'pixel_art_card ',id:"pixel_art_card",children:[]},{value:'plot ',id:"plot",children:[]},{value:'plot_card ',id:"plot_card",children:[]},{value:'progress ',id:"progress",children:[]},{value:'progress_table_cell_type ',id:"progress_table_cell_type",children:[]},{value:'range_slider ',id:"range_slider",children:[]},{value:'repeat_card ',id:"repeat_card",children:[]},{value:'section_card ',id:"section_card",children:[]},{value:'separator ',id:"separator",children:[]},{value:'slider ',id:"slider",children:[]},{value:'small_series_stat_card ',id:"small_series_stat_card",children:[]},{value:'small_stat_card ',id:"small_stat_card",children:[]},{value:'spinbox ',id:"spinbox",children:[]},{value:'stat ',id:"stat",children:[]},{value:'stat_list_card ',id:"stat_list_card",children:[]},{value:'stat_list_item ',id:"stat_list_item",children:[]},{value:'stat_table_card ',id:"stat_table_card",children:[]},{value:'stat_table_item ',id:"stat_table_item",children:[]},{value:'stats ',id:"stats",children:[]},{value:'step ',id:"step",children:[]},{value:'stepper ',id:"stepper",children:[]},{value:'tab ',id:"tab",children:[]},{value:'tab_card ',id:"tab_card",children:[]},{value:'table ',id:"table",children:[]},{value:'table_column ',id:"table_column",children:[]},{value:'table_row ',id:"table_row",children:[]},{value:'tabs ',id:"tabs",children:[]},{value:'tall_gauge_stat_card ',id:"tall_gauge_stat_card",children:[]},{value:'tall_series_stat_card ',id:"tall_series_stat_card",children:[]},{value:'template ',id:"template",children:[]},{value:'template_card ',id:"template_card",children:[]},{value:'text ',id:"text",children:[]},{value:'text_l ',id:"text_l",children:[]},{value:'text_m ',id:"text_m",children:[]},{value:'text_s ',id:"text_s",children:[]},{value:'text_xl ',id:"text_xl",children:[]},{value:'text_xs ',id:"text_xs",children:[]},{value:'textbox ',id:"textbox",children:[]},{value:'toggle ',id:"toggle",children:[]},{value:'toolbar_card ',id:"toolbar_card",children:[]},{value:'vega_card ',id:"vega_card",children:[]},{value:'vega_visualization ',id:"vega_visualization",children:[]},{value:'visualization ',id:"visualization",children:[]},{value:'wide_bar_stat_card ',id:"wide_bar_stat_card",children:[]},{value:'wide_gauge_stat_card ',id:"wide_gauge_stat_card",children:[]},{value:'wide_series_stat_card ',id:"wide_series_stat_card",children:[]},{value:'zone ',id:"zone",children:[]}]}],d={rightToc:i};function s(e){var t=e.components,l=Object(b.a)(e,["components"]);return Object(a.b)("wrapper",Object(n.a)({},d,l,{components:t,mdxType:"MDXLayout"}),Object(a.b)("h2",{id:"functions"},"Functions"),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"breadcrumb"},"breadcrumb ",Object(a.b)("a",{name:"h2o_wave.ui.breadcrumb"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"breadcrumb"),"(name:\xa0str, label:\xa0str) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"types#h2o_wave.types.Breadcrumb"},"Breadcrumb")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a breadcrumb for a ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.BreadcrumbsCard",href:"types#h2o_wave.types.BreadcrumbsCard"},"BreadcrumbsCard")),"."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"The name of this item. Prefix the name with a '#' to trigger hash-change navigation."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The label to display.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"types#h2o_wave.types.Breadcrumb"},"Breadcrumb"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"breadcrumbs_card"},"breadcrumbs_card ",Object(a.b)("a",{name:"h2o_wave.ui.breadcrumbs_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"breadcrumbs_card"),"(box:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"types#h2o_wave.types.Breadcrumb"},"Breadcrumb"),"], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.BreadcrumbsCard",href:"types#h2o_wave.types.BreadcrumbsCard"},"BreadcrumbsCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card containing breadcrumbs. Breadcrumbs should be used as a navigational aid in your app or site. They indicate the current page\u2019s location within a hierarchy and help the user understand where they are in relation to the rest of that hierarchy. They also afford one-click access to higher levels of that hierarchy. Breadcrumbs are typically placed, in horizontal form, under the masthead or navigation of an experience, above the primary content area."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"A list of ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Breadcrumb",href:"types#h2o_wave.types.Breadcrumb"},"Breadcrumb"))," instances to display. See ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.ui.breadcrumb",href:"#h2o_wave.ui.breadcrumb"},"breadcrumb()"))),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.BreadcrumbsCard",href:"types#h2o_wave.types.BreadcrumbsCard"},"BreadcrumbsCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"button"},"button ",Object(a.b)("a",{name:"h2o_wave.ui.button"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"button"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, primary:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a button."),Object(a.b)("p",null,"Buttons are best used to enable a user to commit a change or complete steps in a task. They are typically found inside forms, dialogs, panels or pages. An example of their usage is confirming the deletion of a file in a confirmation dialog."),Object(a.b)("p",null,"When considering their place in a layout, contemplate the order in which a user will flow through the UI. As an example, in a form, the individual will need to read and interact with the form fields before submitting the form. Therefore, as a general rule, the button should be placed at the bottom of the UI container which holds the related UI elements."),Object(a.b)("p",null,'Buttons may be placed within a "buttons" component which will lay out the buttons horizontally, or used individually and they will be stacked vertically.'),Object(a.b)("p",null,"While buttons can technically be used to navigate a user to another part of the experience, this is not recommended unless that navigation is part of an action or their flow."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component. If the name is prefixed with a '#', the button sets the location hash to the name when clicked."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed on the button."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The caption displayed below the label. Setting a caption renders a compound button."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"A value for this button. If a value is set, it is used for the button's submitted instead of a boolean True."),Object(a.b)("dt",null,Object(a.b)("code",null,"primary")),Object(a.b)("dd",null,"True if the button should be rendered as the primary button in the set."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the button should be disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"link")),Object(a.b)("dd",null,"True if the button should be rendered as link text and not a standard button."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Button",href:"types#h2o_wave.types.Button"},"Button"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"buttons"},"buttons ",Object(a.b)("a",{name:"h2o_wave.ui.buttons"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"buttons"),"(items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component"),"], justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a set of buttons laid out horizontally."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The button in this set."),Object(a.b)("dt",null,Object(a.b)("code",null,"justify")),Object(a.b)("dd",null,"Specifies how to lay out buttons horizontally. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ButtonsJustify."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Buttons",href:"types#h2o_wave.types.Buttons"},"Buttons"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"checkbox"},"checkbox ",Object(a.b)("a",{name:"h2o_wave.ui.checkbox"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"checkbox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, indeterminate:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a checkbox."),Object(a.b)("p",null,"A checkbox allows users to switch between two mutually exclusive options (checked or unchecked, on or off) through a single click or tap. It can also be used to indicate a subordinate setting or preference when paired with another component."),Object(a.b)("p",null,"A checkbox is used to select or deselect action items. It can be used for a single item or for a list of multiple items that a user can choose from. The component has two selection states: unselected and selected."),Object(a.b)("p",null,"For a binary choice, the main difference between a checkbox and a toggle switch is that the checkbox is for status and the toggle switch is for action."),Object(a.b)("p",null,"Use multiple checkboxes for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the checkbox."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"True if selected, False if unselected."),Object(a.b)("dt",null,Object(a.b)("code",null,"indeterminate")),Object(a.b)("dd",null,"True if the selection is indeterminate (neither selected nor unselected)."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the checkbox is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the checkbox value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Checkbox",href:"types#h2o_wave.types.Checkbox"},"Checkbox"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"checklist"},"checklist ",Object(a.b)("a",{name:"h2o_wave.ui.checklist"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"checklist"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Choice",href:"types#h2o_wave.types.Choice"},"Choice"),"],\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a set of checkboxes. Use this for multi-select scenarios in which a user chooses one or more items from a group of choices that are not mutually exclusive."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed above the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"values")),Object(a.b)("dd",null,"The names of the selected choices."),Object(a.b)("dt",null,Object(a.b)("code",null,"choices")),Object(a.b)("dd",null,"The choices to be presented."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the checklist value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Checklist",href:"types#h2o_wave.types.Checklist"},"Checklist"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"choice"},"choice ",Object(a.b)("a",{name:"h2o_wave.ui.choice"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"choice"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Choice",href:"types#h2o_wave.types.Choice"},"Choice")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a choice for a checklist, choice group or dropdown."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the checkbox is disabled.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Choice",href:"types#h2o_wave.types.Choice"},"Choice"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"choice_group"},"choice_group ",Object(a.b)("a",{name:"h2o_wave.ui.choice_group"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"choice_group"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Choice",href:"types#h2o_wave.types.Choice"},"Choice"),"],\xa0NoneType]\xa0=\xa0None, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a choice group. The choice group component, also known as radio buttons, let users select one option from two or more choices. Each option is represented by one choice group button; a user can select only one choice group in a button group."),Object(a.b)("p",null,"Choice groups emphasize all options equally, and that may draw more attention to the options than necessary. Consider using other components, unless the options deserve extra attention from the user. For example, if the default option is recommended for most users in most situations, use a dropdown instead."),Object(a.b)("p",null,'If there are only two mutually exclusive options, combine them into a single Checkbox or Toggle switch. For example, use a checkbox for "I agree" instead of choice group buttons for "I agree" and "I don\'t agree."'),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The name of the selected choice."),Object(a.b)("dt",null,Object(a.b)("code",null,"choices")),Object(a.b)("dd",null,"The choices to be presented."),Object(a.b)("dt",null,Object(a.b)("code",null,"required")),Object(a.b)("dd",null,"True if this field is required."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the selection changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ChoiceGroup",href:"types#h2o_wave.types.ChoiceGroup"},"ChoiceGroup"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"color_picker"},"color_picker ",Object(a.b)("a",{name:"h2o_wave.ui.color_picker"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"color_picker"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a color picker."),Object(a.b)("p",null,"A date picker allows a user to pick a color value. If the 'choices' parameter is set, a swatch picker is displayed instead of the standard color picker."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The selected color (CSS-compatible string)."),Object(a.b)("dt",null,Object(a.b)("code",null,"choices")),Object(a.b)("dd",null,"A list of colors (CSS-compatible strings) to limit color choices to."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the color picker value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ColorPicker",href:"types#h2o_wave.types.ColorPicker"},"ColorPicker"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"combobox"},"combobox ",Object(a.b)("a",{name:"h2o_wave.ui.combobox"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"combobox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, error:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a combobox."),Object(a.b)("p",null,"A combobox is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button or by typing in the input. They are used to simplify the design and make a choice within the UI."),Object(a.b)("p",null,"When closed, only the selected item is visible. When users click the drop-down button, all the options become visible. To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value. When collapsed the user can select a new value by typing."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"placeholder")),Object(a.b)("dd",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The name of the selected choice."),Object(a.b)("dt",null,Object(a.b)("code",null,"choices")),Object(a.b)("dd",null,"The choices to be presented."),Object(a.b)("dt",null,Object(a.b)("code",null,"error")),Object(a.b)("dd",null,"Text to be displayed as an error below the text box."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this field is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Combobox",href:"types#h2o_wave.types.Combobox"},"Combobox"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"command"},"command ",Object(a.b)("a",{name:"h2o_wave.ui.command"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"command"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a command."),Object(a.b)("p",null,"Commands are typically displayed as context menu items or toolbar button."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component. If the name is prefixed with a '#', the command sets the location hash to the name when executed."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed for this command."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The caption for this command (typically a tooltip)."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"The icon to be displayed for this command."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"Sub-commands, if any"),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"Data associated with this command, if any."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"DEPRECATED. Use ",Object(a.b)("code",null,"value")," instead. Data associated with this command, if any.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"date_picker"},"date_picker ",Object(a.b)("a",{name:"h2o_wave.ui.date_picker"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"date_picker"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a date picker."),Object(a.b)("p",null,"A date picker allows a user to pick a date value."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"placeholder")),Object(a.b)("dd",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The date value in YYYY-MM-DD format."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this field is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the datepicker value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.DatePicker",href:"types#h2o_wave.types.DatePicker"},"DatePicker"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"dialog"},"dialog ",Object(a.b)("a",{name:"h2o_wave.ui.dialog"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"dialog"),"(title:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component"),"], width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, closable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, blocking:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, primary:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Dialog",href:"types#h2o_wave.types.Dialog"},"Dialog")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"A dialog box (Dialog) is a temporary pop-up that takes focus from the page or app and requires people to interact with it. It\u2019s primarily used for confirming actions, such as deleting a file, or asking people to make a choice."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The dialog's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The components displayed in this dialog."),Object(a.b)("dt",null,Object(a.b)("code",null,"width")),Object(a.b)("dd",null,"The width of the dialog, e.g. '400px', defaults to '600px'."),Object(a.b)("dt",null,Object(a.b)("code",null,"closable")),Object(a.b)("dd",null,"True if the dialog should have a closing 'X' button at the top right corner."),Object(a.b)("dt",null,Object(a.b)("code",null,"blocking")),Object(a.b)("dd",null,"True to disable all actions and commands behind the dialog. Blocking dialogs should be used very sparingly, only when it is critical that the user makes a choice or provides information before they can proceed. Blocking dialogs are generally used for irreversible or potentially destructive tasks. Defaults to false."),Object(a.b)("dt",null,Object(a.b)("code",null,"primary")),Object(a.b)("dd",null,"Dialog with large header banner, mutually exclusive with ",Object(a.b)("code",null,"closable")," prop. Defaults to false.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Dialog",href:"types#h2o_wave.types.Dialog"},"Dialog"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"dropdown"},"dropdown ",Object(a.b)("a",{name:"h2o_wave.ui.dropdown"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"dropdown"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, choices:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Choice",href:"types#h2o_wave.types.Choice"},"Choice"),"],\xa0NoneType]\xa0=\xa0None, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a dropdown."),Object(a.b)("p",null,"A dropdown is a list in which the selected item is always visible, and the others are visible on demand by clicking a drop-down button. They are used to simplify the design and make a choice within the UI. When closed, only the selected item is visible. When users click the drop-down button, all the options become visible."),Object(a.b)("p",null,"To change the value, users open the list and click another value or use the arrow keys (up and down) to select a new value."),Object(a.b)("p",null,"Note: Use either the 'value' parameter or the 'values' parameter. Setting the 'values' parameter renders a multi-select dropdown."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"placeholder")),Object(a.b)("dd",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The name of the selected choice."),Object(a.b)("dt",null,Object(a.b)("code",null,"values")),Object(a.b)("dd",null,"The names of the selected choices. If this parameter is set, multiple selections will be allowed."),Object(a.b)("dt",null,Object(a.b)("code",null,"choices")),Object(a.b)("dd",null,"The choices to be presented."),Object(a.b)("dt",null,Object(a.b)("code",null,"required")),Object(a.b)("dd",null,"True if this is a required field."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this field is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the dropdown value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Dropdown",href:"types#h2o_wave.types.Dropdown"},"Dropdown"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"expander"},"expander ",Object(a.b)("a",{name:"h2o_wave.ui.expander"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"expander"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, expanded:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component"),"],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Creates a new expander."),Object(a.b)("p",null,"Expanders can be used to show or hide a group of related components."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed on the expander."),Object(a.b)("dt",null,Object(a.b)("code",null,"expanded")),Object(a.b)("dd",null,"True if expanded, False if collapsed."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"List of components to be hideable by the expander."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Expander",href:"types#h2o_wave.types.Expander"},"Expander"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"file_upload"},"file_upload ",Object(a.b)("a",{name:"h2o_wave.ui.file_upload"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"file_upload"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, multiple:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, file_extensions:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, max_file_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a file upload component. A file upload component allows a user to browse, select and upload one or more files."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"multiple")),Object(a.b)("dd",null,"True if the component should allow multiple files to be uploaded."),Object(a.b)("dt",null,Object(a.b)("code",null,"file_extensions")),Object(a.b)("dd",null,"List of allowed file extensions, e.g. ",Object(a.b)("code",null,"pdf"),", ",Object(a.b)("code",null,"docx"),", etc."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_file_size")),Object(a.b)("dd",null,"Maximum allowed size (Mb) per file. Defaults to no limit."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_size")),Object(a.b)("dd",null,"Maximum allowed size (Mb) for all files combined. Defaults to no limit."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The height of the file upload, e.g. '400px', '50%', etc."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.FileUpload",href:"types#h2o_wave.types.FileUpload"},"FileUpload"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"flex_card"},"flex_card ",Object(a.b)("a",{name:"h2o_wave.ui.flex_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"flex_card"),"(box:\xa0str, item_view:\xa0str, item_props:\xa0Union[dict,\xa0str], data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], direction:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, align:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, wrap:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.FlexCard",href:"types#h2o_wave.types.FlexCard"},"FlexCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out using a one-dimensional model with flexible alignemnt and wrapping capabilities."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"item_view")),Object(a.b)("dd",null,"The child card type."),Object(a.b)("dt",null,Object(a.b)("code",null,"item_props")),Object(a.b)("dd",null,"The child card properties."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"direction")),Object(a.b)("dd",null,"Layout direction. One of 'horizontal', 'vertical'. See enum h2o_wave.ui.FlexCardDirection."),Object(a.b)("dt",null,Object(a.b)("code",null,"justify")),Object(a.b)("dd",null,"Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.FlexCardJustify."),Object(a.b)("dt",null,Object(a.b)("code",null,"align")),Object(a.b)("dd",null,"Layout strategy for cross axis. One of 'start', 'end', 'center', 'baseline', 'stretch'. See enum h2o_wave.ui.FlexCardAlign."),Object(a.b)("dt",null,Object(a.b)("code",null,"wrap")),Object(a.b)("dd",null,"Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.FlexCardWrap."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.FlexCard",href:"types#h2o_wave.types.FlexCard"},"FlexCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"footer_card"},"footer_card ",Object(a.b)("a",{name:"h2o_wave.ui.footer_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"footer_card"),"(box:\xa0str, caption:\xa0str, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.FooterCard",href:"types#h2o_wave.types.FooterCard"},"FooterCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render a page footer displaying a caption. Footer cards are typically displayed at the bottom of a page."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The caption. Supports markdown."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.FooterCard",href:"types#h2o_wave.types.FooterCard"},"FooterCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"form_card"},"form_card ",Object(a.b)("a",{name:"h2o_wave.ui.form_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"form_card"),"(box:\xa0str, items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component"),"],\xa0str], title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.FormCard",href:"types#h2o_wave.types.FormCard"},"FormCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a form."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The components in this form."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.FormCard",href:"types#h2o_wave.types.FormCard"},"FormCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"frame"},"frame ",Object(a.b)("a",{name:"h2o_wave.ui.frame"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"frame"),"(path:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, content:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a new inline frame (an ",Object(a.b)("code",null,"iframe"),")."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"path")),Object(a.b)("dd",null,"The path or URL of the web page, e.g. ",Object(a.b)("code",null,"/foo.html")," or ",Object(a.b)("code",null,"http://example.com/foo.html")),Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The HTML content of the page. A string containing ",Object(a.b)("code",null,"..."),"."),Object(a.b)("dt",null,Object(a.b)("code",null,"width")),Object(a.b)("dd",null,"The width of the frame, e.g. ",Object(a.b)("code",null,"200px"),", ",Object(a.b)("code",null,"50%"),", etc. Defaults to ",Object(a.b)("code",null,"100%"),"."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The height of the frame, e.g. ",Object(a.b)("code",null,"200px"),", ",Object(a.b)("code",null,"50%"),", etc. Defaults to ",Object(a.b)("code",null,"150px"),"."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Frame",href:"types#h2o_wave.types.Frame"},"Frame"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"frame_card"},"frame_card ",Object(a.b)("a",{name:"h2o_wave.ui.frame_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"frame_card"),"(box:\xa0str, title:\xa0str, path:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, content:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.FrameCard",href:"types#h2o_wave.types.FrameCard"},"FrameCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render a card containing a HTML page inside an inline frame (an ",Object(a.b)("code",null,"iframe"),")."),Object(a.b)("p",null,"Either a path or content can be provided as arguments."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"path")),Object(a.b)("dd",null,"The path or URL of the web page, e.g. ",Object(a.b)("code",null,"/foo.html")," or ",Object(a.b)("code",null,"http://example.com/foo.html")),Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The HTML content of the page. A string containing ",Object(a.b)("code",null,"...")),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.FrameCard",href:"types#h2o_wave.types.FrameCard"},"FrameCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"graphics_card"},"graphics_card ",Object(a.b)("a",{name:"h2o_wave.ui.graphics_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"graphics_card"),"(box:\xa0str, view_box:\xa0str, stage:\xa0Union[List[dict],\xa0str,\xa0NoneType]\xa0=\xa0None, scene:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str,\xa0NoneType]\xa0=\xa0None, width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.GraphicsCard",href:"types#h2o_wave.types.GraphicsCard"},"GraphicsCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card for displaying vector graphics."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"view_box")),Object(a.b)("dd",null,"The position and dimension of the SVG viewport, in user space. A space-separated list of four numbers: min-x, min-y, width and height. For example, '0 0 400 300'. See: ",Object(a.b)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"},"https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox")),Object(a.b)("dt",null,Object(a.b)("code",null,"stage")),Object(a.b)("dd",null,"Background layer for rendering static SVG elements. Must be packed to conserve memory."),Object(a.b)("dt",null,Object(a.b)("code",null,"scene")),Object(a.b)("dd",null,"Foreground layer for rendering dynamic SVG elements."),Object(a.b)("dt",null,Object(a.b)("code",null,"width")),Object(a.b)("dd",null,"The displayed width of the rectangular viewport. (Not the width of its coordinate system.)"),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The displayed height of the rectangular viewport. (Not the height of its coordinate system.)"),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.GraphicsCard",href:"types#h2o_wave.types.GraphicsCard"},"GraphicsCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"grid_card"},"grid_card ",Object(a.b)("a",{name:"h2o_wave.ui.grid_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"grid_card"),"(box:\xa0str, title:\xa0str, cells:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.GridCard",href:"types#h2o_wave.types.GridCard"},"GridCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"cells")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.GridCard",href:"types#h2o_wave.types.GridCard"},"GridCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"header_card"},"header_card ",Object(a.b)("a",{name:"h2o_wave.ui.header_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"header_card"),"(box:\xa0str, title:\xa0str, subtitle:\xa0str, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, nav:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.NavGroup",href:"types#h2o_wave.types.NavGroup"},"NavGroup"),"],\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.HeaderCard",href:"types#h2o_wave.types.HeaderCard"},"HeaderCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render a page header displaying a title, subtitle and an optional navigation menu. Header cards are typically used for top-level navigation."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title."),Object(a.b)("dt",null,Object(a.b)("code",null,"subtitle")),Object(a.b)("dd",null,"The subtitle, displayed below the title."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"The icon type, displayed to the left."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon_color")),Object(a.b)("dd",null,"The icon's color."),Object(a.b)("dt",null,Object(a.b)("code",null,"nav")),Object(a.b)("dd",null,"The navigation menu to display when the header's icon is clicked."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.HeaderCard",href:"types#h2o_wave.types.HeaderCard"},"HeaderCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"icon_table_cell_type"},"icon_table_cell_type ",Object(a.b)("a",{name:"h2o_wave.ui.icon_table_cell_type"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"icon_table_cell_type"),"(color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TableCellType",href:"types#h2o_wave.types.TableCellType"},"TableCellType")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a cell type that renders a column's cells as icons instead of plain text. If set on a column, the cell value is interpreted as the name of the icon to be displayed."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"color")),Object(a.b)("dd",null,"Icon color."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.IconTableCellType",href:"types#h2o_wave.types.IconTableCellType"},"IconTableCellType"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"image_card"},"image_card ",Object(a.b)("a",{name:"h2o_wave.ui.image_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"image_card"),"(box:\xa0str, title:\xa0str, type:\xa0str, image:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.ImageCard",href:"types#h2o_wave.types.ImageCard"},"ImageCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card that displays a base64-encoded image."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"type")),Object(a.b)("dd",null,"The image MIME subtype. One of ",Object(a.b)("code",null,"apng"),", ",Object(a.b)("code",null,"bmp"),", ",Object(a.b)("code",null,"gif"),", ",Object(a.b)("code",null,"x-icon"),", ",Object(a.b)("code",null,"jpeg"),", ",Object(a.b)("code",null,"png"),", ",Object(a.b)("code",null,"webp"),"."),Object(a.b)("dt",null,Object(a.b)("code",null,"image")),Object(a.b)("dd",null,"Image data, base64-encoded."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ImageCard",href:"types#h2o_wave.types.ImageCard"},"ImageCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"inline"},"inline ",Object(a.b)("a",{name:"h2o_wave.ui.inline"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"inline"),"(items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component"),"], justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, inset:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create an inline (horizontal) list of components."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The components laid out inline."),Object(a.b)("dt",null,Object(a.b)("code",null,"justify")),Object(a.b)("dd",null,"Specifies how to lay out the individual components. Defaults to 'start'. One of 'start', 'end'. See enum h2o_wave.ui.InlineJustify."),Object(a.b)("dt",null,Object(a.b)("code",null,"inset")),Object(a.b)("dd",null,"Whether to display the components inset from the parent form, with a contrasting background.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Inline",href:"types#h2o_wave.types.Inline"},"Inline"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"label"},"label ",Object(a.b)("a",{name:"h2o_wave.ui.label"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"label"),"(label:\xa0str, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a label."),Object(a.b)("p",null,"Labels give a name or title to a component or group of components. Labels should be in close proximity to the component or group they are paired with. Some components, such as textboxes, dropdowns, or toggles, already have labels incorporated, but other components may optionally add a Label if it helps inform the user of the component\u2019s purpose."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed on the label."),Object(a.b)("dt",null,Object(a.b)("code",null,"required")),Object(a.b)("dd",null,"True if the field is required."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the label should be disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Label",href:"types#h2o_wave.types.Label"},"Label"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"large_bar_stat_card"},"large_bar_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.large_bar_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"large_bar_stat_card"),"(box:\xa0str, title:\xa0str, caption:\xa0str, value:\xa0str, aux_value:\xa0str, value_caption:\xa0str, aux_value_caption:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.LargeBarStatCard",href:"types#h2o_wave.types.LargeBarStatCard"},"LargeBarStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a large captioned card displaying a primary value, an auxiliary value and a progress bar, with captions for each value."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The card's caption."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value, typically a target value."),Object(a.b)("dt",null,Object(a.b)("code",null,"value_caption")),Object(a.b)("dd",null,"The caption displayed below the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value_caption")),Object(a.b)("dd",null,"The caption displayed below the auxiliary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"progress")),Object(a.b)("dd",null,"The value of the progress bar, between 0 and 1."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The color of the progress bar."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.LargeBarStatCard",href:"types#h2o_wave.types.LargeBarStatCard"},"LargeBarStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"large_stat_card"},"large_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.large_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"large_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, caption:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.LargeStatCard",href:"types#h2o_wave.types.LargeStatCard"},"LargeStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a stat card displaying a primary value, an auxiliary value and a caption."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value displayed next to the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The caption displayed below the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.LargeStatCard",href:"types#h2o_wave.types.LargeStatCard"},"LargeStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"layout"},"layout ",Object(a.b)("a",{name:"h2o_wave.ui.layout"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"layout"),"(breakpoint:\xa0str, zones:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Zone",href:"types#h2o_wave.types.Zone"},"Zone"),"], width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, max_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min_height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, max_height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Layout",href:"types#h2o_wave.types.Layout"},"Layout")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Represents the layout structure for a page."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"breakpoint")),Object(a.b)("dd",null,"The minimum viewport width at which to use this layout. Values must be pixel widths (e.g. '0px', '576px', '768px') or a named preset. The named presets are: 'xs': '0px' for extra small devices (portrait phones), 's': '576px' for small devices (landscape phones), 'm': '768px' for medium devices (tablets), 'l': '992px' for large devices (desktops), 'xl': '1200px' for extra large devices (large desktops). A breakpoint value of 'xs' (or '0') matches all viewport widths, unless other breakpoints are set."),Object(a.b)("dt",null,Object(a.b)("code",null,"zones")),Object(a.b)("dd",null,"The zones in this layout. Each zones can in turn contain sub-zones."),Object(a.b)("dt",null,Object(a.b)("code",null,"width")),Object(a.b)("dd",null,"The width of the layout. Defaults to ",Object(a.b)("code",null,"100%"),"."),Object(a.b)("dt",null,Object(a.b)("code",null,"min_width")),Object(a.b)("dd",null,"The minimum width of the layout."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_width")),Object(a.b)("dd",null,"The maximum width of the layout."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The height of the layout. Defaults to ",Object(a.b)("code",null,"auto"),"."),Object(a.b)("dt",null,Object(a.b)("code",null,"min_height")),Object(a.b)("dd",null,"The minimum height of the layout."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_height")),Object(a.b)("dd",null,"The maximum height of the layout.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Layout",href:"types#h2o_wave.types.Layout"},"Layout"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"link"},"link ",Object(a.b)("a",{name:"h2o_wave.ui.link"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"link"),"(label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, path:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, download:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, button:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, target:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a hyperlink."),Object(a.b)("p",null,"Hyperlinks can be internal or external. Internal hyperlinks have paths that begin with a ",Object(a.b)("code",null,"/")," and point to URLs within the Wave UI. All other kinds of paths are treated as external hyperlinks."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text to be displayed. If blank, the ",Object(a.b)("code",null,"path")," is used as the label."),Object(a.b)("dt",null,Object(a.b)("code",null,"path")),Object(a.b)("dd",null,"The path or URL to link to."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the link should be disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"download")),Object(a.b)("dd",null,"True if the link should be used for file download."),Object(a.b)("dt",null,Object(a.b)("code",null,"button")),Object(a.b)("dd",null,"True if the link should be rendered as a button."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"target")),Object(a.b)("dd",null,"Where to display the link. Setting this to an empty string or ",Object(a.b)("code",null,"'_blank'")," opens the link in a new tab or window."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Link",href:"types#h2o_wave.types.Link"},"Link"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"list_card"},"list_card ",Object(a.b)("a",{name:"h2o_wave.ui.list_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"list_card"),"(box:\xa0str, title:\xa0str, item_view:\xa0str, item_props:\xa0Union[dict,\xa0str], data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.ListCard",href:"types#h2o_wave.types.ListCard"},"ListCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"EXPERIMENTAL. DO NOT USE. Create a card containing other cards laid out in the form of a list (vertically, top-to-bottom)."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"item_view")),Object(a.b)("dd",null,"The child card type."),Object(a.b)("dt",null,Object(a.b)("code",null,"item_props")),Object(a.b)("dd",null,"The child card properties."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ListCard",href:"types#h2o_wave.types.ListCard"},"ListCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"list_item1_card"},"list_item1_card ",Object(a.b)("a",{name:"h2o_wave.ui.list_item1_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"list_item1_card"),"(box:\xa0str, title:\xa0str, caption:\xa0str, value:\xa0str, aux_value:\xa0str, data:\xa0Union[dict,\xa0str], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.ListItem1Card",href:"types#h2o_wave.types.ListItem1Card"},"ListItem1Card")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ListItem1Card",href:"types#h2o_wave.types.ListItem1Card"},"ListItem1Card"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"mark"},"mark ",Object(a.b)("a",{name:"h2o_wave.ui.mark"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"mark"),"(coord:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, x:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, x0:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, x1:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, x2:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, x_min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, x_max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, x_nice:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, x_scale:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, x_title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, y:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, y0:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, y1:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, y2:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, y_min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, y_max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, y_nice:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, y_scale:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, y_title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, color_range:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, color_domain:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, shape:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, shape_range:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, size:\xa0Union[str,\xa0int,\xa0float,\xa0NoneType]\xa0=\xa0None, size_range:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, stack:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, dodge:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, fill_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, fill_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, stroke_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, stroke_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, stroke_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, stroke_dash:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_offset:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_offset_x:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_offset_y:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_rotation:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_position:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_overlap:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_fill_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_fill_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_stroke_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_stroke_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_stroke_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_font_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_font_weight:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, label_line_height:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, label_align:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, ref_stroke_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, ref_stroke_opacity:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, ref_stroke_size:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, ref_stroke_dash:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Mark",href:"types#h2o_wave.types.Mark"},"Mark")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a specification for a layer of graphical marks such as bars, lines, points for a plot. A plot can contain multiple such layers of marks."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"coord")),Object(a.b)("dd",null,"Coordinate system. ",Object(a.b)("code",null,"rect")," is synonymous to ",Object(a.b)("code",null,"cartesian"),". ",Object(a.b)("code",null,"theta")," is transposed ",Object(a.b)("code",null,"polar"),". One of 'rect', 'cartesian', 'polar', 'theta', 'helix'. See enum h2o_wave.ui.MarkCoord."),Object(a.b)("dt",null,Object(a.b)("code",null,"type")),Object(a.b)("dd",null,"Graphical geometry. One of 'interval', 'line', 'path', 'point', 'area', 'polygon', 'schema', 'edge', 'heatmap'. See enum h2o_wave.ui.MarkType."),Object(a.b)("dt",null,Object(a.b)("code",null,"x")),Object(a.b)("dd",null,"X field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"x0")),Object(a.b)("dd",null,"X base field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"x1")),Object(a.b)("dd",null,"X bin lower bound field or value. For histograms."),Object(a.b)("dt",null,Object(a.b)("code",null,"x2")),Object(a.b)("dd",null,"X bin upper bound field or value. For histograms."),Object(a.b)("dt",null,Object(a.b)("code",null,"x_min")),Object(a.b)("dd",null,"X axis scale minimum."),Object(a.b)("dt",null,Object(a.b)("code",null,"x_max")),Object(a.b)("dd",null,"X axis scale maximum."),Object(a.b)("dt",null,Object(a.b)("code",null,"x_nice")),Object(a.b)("dd",null,"Whether to nice X axis scale ticks."),Object(a.b)("dt",null,Object(a.b)("code",null,"x_scale")),Object(a.b)("dd",null,"X axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkXScale."),Object(a.b)("dt",null,Object(a.b)("code",null,"x_title")),Object(a.b)("dd",null,"X axis title."),Object(a.b)("dt",null,Object(a.b)("code",null,"y")),Object(a.b)("dd",null,"Y field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"y0")),Object(a.b)("dd",null,"Y base field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"y1")),Object(a.b)("dd",null,"Y bin lower bound field or value. For histograms."),Object(a.b)("dt",null,Object(a.b)("code",null,"y2")),Object(a.b)("dd",null,"Y bin upper bound field or value. For histograms."),Object(a.b)("dt",null,Object(a.b)("code",null,"y_min")),Object(a.b)("dd",null,"Y axis scale minimum."),Object(a.b)("dt",null,Object(a.b)("code",null,"y_max")),Object(a.b)("dd",null,"Y axis scale maximum."),Object(a.b)("dt",null,Object(a.b)("code",null,"y_nice")),Object(a.b)("dd",null,"Whether to nice Y axis scale ticks."),Object(a.b)("dt",null,Object(a.b)("code",null,"y_scale")),Object(a.b)("dd",null,"Y axis scale type. One of 'linear', 'cat', 'category', 'identity', 'log', 'pow', 'power', 'time', 'time-category', 'quantize', 'quantile'. See enum h2o_wave.ui.MarkYScale."),Object(a.b)("dt",null,Object(a.b)("code",null,"y_title")),Object(a.b)("dd",null,"Y axis title."),Object(a.b)("dt",null,Object(a.b)("code",null,"color")),Object(a.b)("dd",null,"Mark color field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"color_range")),Object(a.b)("dd",null,"Mark color range for multi-series plots. A string containing space-separated colors, e.g. ",Object(a.b)("code",null,"'#fee8c8 #fdbb84 #e34a33'")),Object(a.b)("dt",null,Object(a.b)("code",null,"color_domain")),Object(a.b)("dd",null,"The unique values in the data (labels or categories or classes) to map colors to, e.g. ",Object(a.b)("code",null,"['high', 'medium', 'low']"),". If this is not provided, the unique values are automatically inferred from the ",Object(a.b)("code",null,"color")," attribute."),Object(a.b)("dt",null,Object(a.b)("code",null,"shape")),Object(a.b)("dd",null,"Mark shape field or value for ",Object(a.b)("code",null,"point")," mark types. Possible values are 'circle', 'square', 'bowtie', 'diamond', 'hexagon', 'triangle', 'triangle-down', 'cross', 'tick', 'plus', 'hyphen', 'line'."),Object(a.b)("dt",null,Object(a.b)("code",null,"shape_range")),Object(a.b)("dd",null,"Mark shape range for multi-series plots using ",Object(a.b)("code",null,"point")," mark types. A string containing space-separated shapes, e.g. ",Object(a.b)("code",null,"'circle square diamond'")),Object(a.b)("dt",null,Object(a.b)("code",null,"size")),Object(a.b)("dd",null,"Mark size field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"size_range")),Object(a.b)("dd",null,"Mark size range. A string containing space-separated integers, e.g. ",Object(a.b)("code",null,"'4 30'")),Object(a.b)("dt",null,Object(a.b)("code",null,"stack")),Object(a.b)("dd",null,"Field to stack marks by, or 'auto' to infer."),Object(a.b)("dt",null,Object(a.b)("code",null,"dodge")),Object(a.b)("dd",null,"Field to dodge marks by, or 'auto' to infer."),Object(a.b)("dt",null,Object(a.b)("code",null,"curve")),Object(a.b)("dd",null,"Curve type for ",Object(a.b)("code",null,"line")," and ",Object(a.b)("code",null,"area")," mark types. One of 'none', 'smooth', 'step-before', 'step', 'step-after'. See enum h2o_wave.ui.MarkCurve."),Object(a.b)("dt",null,Object(a.b)("code",null,"fill_color")),Object(a.b)("dd",null,"Mark fill color."),Object(a.b)("dt",null,Object(a.b)("code",null,"fill_opacity")),Object(a.b)("dd",null,"Mark fill opacity."),Object(a.b)("dt",null,Object(a.b)("code",null,"stroke_color")),Object(a.b)("dd",null,"Mark stroke color."),Object(a.b)("dt",null,Object(a.b)("code",null,"stroke_opacity")),Object(a.b)("dd",null,"Mark stroke opacity."),Object(a.b)("dt",null,Object(a.b)("code",null,"stroke_size")),Object(a.b)("dd",null,"Mark stroke size."),Object(a.b)("dt",null,Object(a.b)("code",null,"stroke_dash")),Object(a.b)("dd",null,"Mark stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25]."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Label field or value."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_offset")),Object(a.b)("dd",null,"Distance between label and mark."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_offset_x")),Object(a.b)("dd",null,"Horizontal distance between label and mark."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_offset_y")),Object(a.b)("dd",null,"Vertical distance between label and mark."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_rotation")),Object(a.b)("dd",null,"Label rotation angle, in degrees, or 'none' to disable automatic rotation. The default behavior is 'auto' for automatic rotation."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_position")),Object(a.b)("dd",null,"Label position relative to the mark. One of 'top', 'bottom', 'middle', 'left', 'right'. See enum h2o_wave.ui.MarkLabelPosition."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_overlap")),Object(a.b)("dd",null,"Strategy to use if labels overlap. One of 'hide', 'overlap', 'constrain'. See enum h2o_wave.ui.MarkLabelOverlap."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_fill_color")),Object(a.b)("dd",null,"Label fill color."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_fill_opacity")),Object(a.b)("dd",null,"Label fill opacity."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_stroke_color")),Object(a.b)("dd",null,"Label stroke color."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_stroke_opacity")),Object(a.b)("dd",null,"Label stroke opacity."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_stroke_size")),Object(a.b)("dd",null,"Label stroke size (line width or pen thickness)."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_font_size")),Object(a.b)("dd",null,"Label font size."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_font_weight")),Object(a.b)("dd",null,"Label font weight."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_line_height")),Object(a.b)("dd",null,"Label line height."),Object(a.b)("dt",null,Object(a.b)("code",null,"label_align")),Object(a.b)("dd",null,"Label text alignment. One of 'left', 'right', 'center', 'start', 'end'. See enum h2o_wave.ui.MarkLabelAlign."),Object(a.b)("dt",null,Object(a.b)("code",null,"ref_stroke_color")),Object(a.b)("dd",null,"Reference line stroke color."),Object(a.b)("dt",null,Object(a.b)("code",null,"ref_stroke_opacity")),Object(a.b)("dd",null,"Reference line stroke opacity."),Object(a.b)("dt",null,Object(a.b)("code",null,"ref_stroke_size")),Object(a.b)("dd",null,"Reference line stroke size (line width or pen thickness)."),Object(a.b)("dt",null,Object(a.b)("code",null,"ref_stroke_dash")),Object(a.b)("dd",null,"Reference line stroke dash style. A string containing space-separated integers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example, [5, 15, 25] will become [5, 15, 25, 5, 15, 25].")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Mark",href:"types#h2o_wave.types.Mark"},"Mark"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"markdown_card"},"markdown_card ",Object(a.b)("a",{name:"h2o_wave.ui.markdown_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"markdown_card"),"(box:\xa0str, title:\xa0str, content:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.MarkdownCard",href:"types#h2o_wave.types.MarkdownCard"},"MarkdownCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card that renders Markdown content."),Object(a.b)("p",null,"Github-flavored markdown is supported. HTML markup is allowed in markdown content. URLs, if found, are displayed as hyperlinks. Copyright, reserved, trademark, quotes, etc. are replaced with language-neutral symbols."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The markdown content. Supports Github Flavored Markdown (GFM): ",Object(a.b)("a",{href:"https://guides.github.com/features/mastering-markdown/"},"https://guides.github.com/features/mastering-markdown/")),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Additional data for the card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.MarkdownCard",href:"types#h2o_wave.types.MarkdownCard"},"MarkdownCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"markup"},"markup ",Object(a.b)("a",{name:"h2o_wave.ui.markup"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"markup"),"(content:\xa0str, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render HTML content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The HTML content."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Markup",href:"types#h2o_wave.types.Markup"},"Markup"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"markup_card"},"markup_card ",Object(a.b)("a",{name:"h2o_wave.ui.markup_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"markup_card"),"(box:\xa0str, title:\xa0str, content:\xa0str, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.MarkupCard",href:"types#h2o_wave.types.MarkupCard"},"MarkupCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render HTML content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The HTML content."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.MarkupCard",href:"types#h2o_wave.types.MarkupCard"},"MarkupCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"message_bar"},"message_bar ",Object(a.b)("a",{name:"h2o_wave.ui.message_bar"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"message_bar"),"(type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, text:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a message bar."),Object(a.b)("p",null,"A message bar is an area at the top of a primary view that displays relevant status information. You can use a message bar to tell the user about a situation that does not require their immediate attention and therefore does not need to block other activities."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"type")),Object(a.b)("dd",null,"The icon and color of the message bar. One of 'info', 'error', 'warning', 'success', 'danger', 'blocked'. See enum h2o_wave.ui.MessageBarType."),Object(a.b)("dt",null,Object(a.b)("code",null,"text")),Object(a.b)("dd",null,"The text displayed on the message bar."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.MessageBar",href:"types#h2o_wave.types.MessageBar"},"MessageBar"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"meta_card"},"meta_card ",Object(a.b)("a",{name:"h2o_wave.ui.meta_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"meta_card"),"(box:\xa0str, title:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, refresh:\xa0Union[int,\xa0NoneType]\xa0=\xa0None, notification:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, redirect:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, layouts:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Layout",href:"types#h2o_wave.types.Layout"},"Layout"),"],\xa0NoneType]\xa0=\xa0None, dialog:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.types.Dialog",href:"types#h2o_wave.types.Dialog"},"Dialog"),",\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.MetaCard",href:"types#h2o_wave.types.MetaCard"},"MetaCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Represents page-global state."),Object(a.b)("p",null,"This card is invisible. It is used to control attributes of the active page."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title of the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"refresh")),Object(a.b)("dd",null,"Refresh rate in seconds. A value of 0 turns off live-updates. Values != 0 are currently ignored (reserved for future use)."),Object(a.b)("dt",null,Object(a.b)("code",null,"notification")),Object(a.b)("dd",null,"Display a desktop notification."),Object(a.b)("dt",null,Object(a.b)("code",null,"redirect")),Object(a.b)("dd",null,"Redirect the page to a new URL."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"Shortcut icon path. Preferably a ",Object(a.b)("code",null,".png")," file (",Object(a.b)("code",null,".ico")," files may not work in mobile browsers)."),Object(a.b)("dt",null,Object(a.b)("code",null,"layouts")),Object(a.b)("dd",null,"The layouts supported by this page."),Object(a.b)("dt",null,Object(a.b)("code",null,"dialog")),Object(a.b)("dd",null,"Display a dialog on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.MetaCard",href:"types#h2o_wave.types.MetaCard"},"MetaCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"nav_card"},"nav_card ",Object(a.b)("a",{name:"h2o_wave.ui.nav_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"nav_card"),"(box:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.NavGroup",href:"types#h2o_wave.types.NavGroup"},"NavGroup"),"], value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.NavCard",href:"types#h2o_wave.types.NavCard"},"NavCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card containing a navigation pane."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The navigation groups contained in this pane."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The name of the active (highlighted) navigation item."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.NavCard",href:"types#h2o_wave.types.NavCard"},"NavCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"nav_group"},"nav_group ",Object(a.b)("a",{name:"h2o_wave.ui.nav_group"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"nav_group"),"(label:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.NavItem",href:"types#h2o_wave.types.NavItem"},"NavItem"),"], collapsed:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.NavGroup",href:"types#h2o_wave.types.NavGroup"},"NavGroup")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a group of navigation items."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The label to display for this group."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The navigation items contained in this group."),Object(a.b)("dt",null,Object(a.b)("code",null,"collapsed")),Object(a.b)("dd",null,"Indicates whether nav groups should be rendered as collapsed initially")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.NavGroup",href:"types#h2o_wave.types.NavGroup"},"NavGroup"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"nav_item"},"nav_item ",Object(a.b)("a",{name:"h2o_wave.ui.nav_item"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"nav_item"),"(name:\xa0str, label:\xa0str, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.NavItem",href:"types#h2o_wave.types.NavItem"},"NavItem")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a navigation item."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"The name of this item. Prefix the name with a '#' to trigger hash-change navigation."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The label to display."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"An optional icon to display next to the label."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this item should be disabled.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.NavItem",href:"types#h2o_wave.types.NavItem"},"NavItem"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"picker"},"picker ",Object(a.b)("a",{name:"h2o_wave.ui.picker"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"picker"),"(name:\xa0str, choices:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Choice",href:"types#h2o_wave.types.Choice"},"Choice"),"], label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, max_choices:\xa0Union[int,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a picker. Pickers are used to select one or more choices, such as tags or files, from a list. Use a picker to allow the user to quickly search for or manage a few tags or files."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"choices")),Object(a.b)("dd",null,"The choices to be presented."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed above the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"values")),Object(a.b)("dd",null,"The names of the selected choices."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_choices")),Object(a.b)("dd",null,"Maximum number of selectable choices. Defaults to no limit."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"Controls whether the picker should be disabled or not."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the picker value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Picker",href:"types#h2o_wave.types.Picker"},"Picker"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"pixel_art_card"},"pixel_art_card ",Object(a.b)("a",{name:"h2o_wave.ui.pixel_art_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"pixel_art_card"),"(box:\xa0str, title:\xa0str, data:\xa0Union[dict,\xa0str], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.PixelArtCard",href:"types#h2o_wave.types.PixelArtCard"},"PixelArtCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card displaying a collaborative Pixel art tool, just for kicks."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"The data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.PixelArtCard",href:"types#h2o_wave.types.PixelArtCard"},"PixelArtCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"plot"},"plot ",Object(a.b)("a",{name:"h2o_wave.ui.plot"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"plot"),"(marks:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Mark",href:"types#h2o_wave.types.Mark"},"Mark"),"]) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Plot",href:"types#h2o_wave.types.Plot"},"Plot")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a plot. A plot is composed of one or more graphical mark layers."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"marks")),Object(a.b)("dd",null,"The graphical mark layers contained in this plot.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Plot",href:"types#h2o_wave.types.Plot"},"Plot"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"plot_card"},"plot_card ",Object(a.b)("a",{name:"h2o_wave.ui.plot_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"plot_card"),"(box:\xa0str, title:\xa0str, data:\xa0Union[dict,\xa0str], plot:\xa0",Object(a.b)("a",{title:"h2o_wave.types.Plot",href:"types#h2o_wave.types.Plot"},"Plot"),", events:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.PlotCard",href:"types#h2o_wave.types.PlotCard"},"PlotCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card displaying a plot."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot")),Object(a.b)("dd",null,"The plot to be displayed in this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"events")),Object(a.b)("dd",null,"The events to capture on this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.PlotCard",href:"types#h2o_wave.types.PlotCard"},"PlotCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"progress"},"progress ",Object(a.b)("a",{name:"h2o_wave.ui.progress"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"progress"),"(label:\xa0str, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a progress bar."),Object(a.b)("p",null,"Progress bars are used to show the completion status of an operation lasting more than 2 seconds. If the state of progress cannot be determined, do not set a value. Progress bars feature a bar showing total units to completion, and total units finished. The label appears above the bar, and the caption appears below. The label should tell someone exactly what the operation is doing."),Object(a.b)("p",null,"Examples of formatting include: [Object] is being [operation name], or [Object] is being [operation name] to [destination name] or [Object] is being [operation name] from [source name] to [destination name]"),Object(a.b)("p",null,"Status text is generally in units elapsed and total units. Real-world examples include copying files to a storage location, saving edits to a file, and more. Use units that are informative and relevant to give the best idea to users of how long the operation will take to complete. Avoid time units as they are rarely accurate enough to be trustworthy. Also, combine steps of a complex operation into one total bar to avoid \u201crewinding\u201d the bar. Instead change the label to reflect the change if necessary. Bars moving backwards reduce confidence in the service."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed above the bar."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The text displayed below the bar."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The progress, between 0.0 and 1.0, or -1 (default) if indeterminate."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Progress",href:"types#h2o_wave.types.Progress"},"Progress"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"progress_table_cell_type"},"progress_table_cell_type ",Object(a.b)("a",{name:"h2o_wave.ui.progress_table_cell_type"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"progress_table_cell_type"),"(color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TableCellType",href:"types#h2o_wave.types.TableCellType"},"TableCellType")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a cell type that renders a column's cells as progress bars instead of plain text. If set on a column, the cell value must be between 0.0 and 1.0."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"color")),Object(a.b)("dd",null,"Color of the progress arc."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ProgressTableCellType",href:"types#h2o_wave.types.ProgressTableCellType"},"ProgressTableCellType"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"range_slider"},"range_slider ",Object(a.b)("a",{name:"h2o_wave.ui.range_slider"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"range_slider"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, step:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, min_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a range slider."),Object(a.b)("p",null,"A range slider is an element used to select a value range. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. Knobs or levers are dragged to one end or the other to make the choice, indicating the current max and min value."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"min")),Object(a.b)("dd",null,"The minimum value of the slider. Defaults to 0."),Object(a.b)("dt",null,Object(a.b)("code",null,"max")),Object(a.b)("dd",null,"The maximum value of the slider. Defaults to 100."),Object(a.b)("dt",null,Object(a.b)("code",null,"step")),Object(a.b)("dd",null,"The difference between two adjacent values of the slider."),Object(a.b)("dt",null,Object(a.b)("code",null,"min_value")),Object(a.b)("dd",null,"The lower bound of the selected range."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_value")),Object(a.b)("dd",null,"The upper bound of the selected range."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this field is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the slider value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.RangeSlider",href:"types#h2o_wave.types.RangeSlider"},"RangeSlider"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"repeat_card"},"repeat_card ",Object(a.b)("a",{name:"h2o_wave.ui.repeat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"repeat_card"),"(box:\xa0str, item_view:\xa0str, item_props:\xa0Union[dict,\xa0str], data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.RepeatCard",href:"types#h2o_wave.types.RepeatCard"},"RepeatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"EXPERIMENTAL. DO NOT USE. Create a card containing other cards."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"item_view")),Object(a.b)("dd",null,"EXPERIMENTAL. DO NOT USE."),Object(a.b)("dt",null,Object(a.b)("code",null,"item_props")),Object(a.b)("dd",null,"The child card properties."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.RepeatCard",href:"types#h2o_wave.types.RepeatCard"},"RepeatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"section_card"},"section_card ",Object(a.b)("a",{name:"h2o_wave.ui.section_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"section_card"),"(box:\xa0str, title:\xa0str, subtitle:\xa0str, items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component"),"],\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.SectionCard",href:"types#h2o_wave.types.SectionCard"},"SectionCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render a card displaying a title, a subtitle, and optional components. Section cards are typically used to demarcate different sections on a page."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title."),Object(a.b)("dt",null,Object(a.b)("code",null,"subtitle")),Object(a.b)("dd",null,"The subtitle, displayed below the title. Supports Markdown."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The components to display in this card"),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.SectionCard",href:"types#h2o_wave.types.SectionCard"},"SectionCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"separator"},"separator ",Object(a.b)("a",{name:"h2o_wave.ui.separator"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"separator"),"(label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a separator."),Object(a.b)("p",null,"A separator visually separates content into groups."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed on the separator."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Separator",href:"types#h2o_wave.types.Separator"},"Separator"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"slider"},"slider ",Object(a.b)("a",{name:"h2o_wave.ui.slider"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"slider"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, step:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a slider."),Object(a.b)("p",null,"A slider is an element used to set a value. It provides a visual indication of adjustable content, as well as the current setting in the total range of content. It is displayed as a horizontal track with options on either side. A knob or lever is dragged to one end or the other to make the choice, indicating the current value. Marks on the slider bar can show values and users can choose where they want to drag the knob or lever to set the value."),Object(a.b)("p",null,"A slider is a good choice when you know that users think of the value as a relative quantity, not a numeric value. For example, users think about setting their audio volume to low or medium \u2014 not about setting the value to two or five."),Object(a.b)("p",null,"The default value of the slider will be zero or be constrained to the min and max values. The min will be returned if the value is set under the min and the max will be returned if set higher than the max value."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"min")),Object(a.b)("dd",null,"The minimum value of the slider."),Object(a.b)("dt",null,Object(a.b)("code",null,"max")),Object(a.b)("dd",null,"The maximum value of the slider."),Object(a.b)("dt",null,Object(a.b)("code",null,"step")),Object(a.b)("dd",null,"The difference between two adjacent values of the slider."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The current value of the slider."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this field is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the slider value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Slider",href:"types#h2o_wave.types.Slider"},"Slider"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"small_series_stat_card"},"small_series_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.small_series_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"small_series_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, plot_data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], plot_value:\xa0str, plot_zero_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, plot_category:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.SmallSeriesStatCard",href:"types#h2o_wave.types.SmallSeriesStatCard"},"SmallSeriesStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a small stat card displaying a primary value and a series plot."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_data")),Object(a.b)("dd",null,"The plot's data."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_value")),Object(a.b)("dd",null,"The data field to use for y-axis values."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_zero_value")),Object(a.b)("dd",null,"The base value to use for each y-axis mark. Set this to ",Object(a.b)("code",null,"0")," if you want to pin the x-axis at ",Object(a.b)("code",null,"y=0"),". If not provided, the minimum value from the data is used."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_category")),Object(a.b)("dd",null,"The data field to use for x-axis values (ignored if ",Object(a.b)("code",null,"plot_type")," is ",Object(a.b)("code",null,"area"),"; must be provided if ",Object(a.b)("code",null,"plot_type")," is ",Object(a.b)("code",null,"interval"),"). Defaults to 'x'."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_type")),Object(a.b)("dd",null,"The type of plot. Defaults to ",Object(a.b)("code",null,"area"),". One of 'area', 'interval'. See enum h2o_wave.ui.SmallSeriesStatCardPlotType."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_curve")),Object(a.b)("dd",null,"The plot's curve style. Defaults to ",Object(a.b)("code",null,"linear"),". One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.SmallSeriesStatCardPlotCurve."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The plot's color."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.SmallSeriesStatCard",href:"types#h2o_wave.types.SmallSeriesStatCard"},"SmallSeriesStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"small_stat_card"},"small_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.small_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"small_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.SmallStatCard",href:"types#h2o_wave.types.SmallStatCard"},"SmallStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a stat card displaying a single value."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.SmallStatCard",href:"types#h2o_wave.types.SmallStatCard"},"SmallStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"spinbox"},"spinbox ",Object(a.b)("a",{name:"h2o_wave.ui.spinbox"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"spinbox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, min:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, max:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, step:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a spinbox."),Object(a.b)("p",null,"A spinbox allows the user to incrementally adjust a value in small steps. It is mainly used for numeric values, but other values are supported too."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"min")),Object(a.b)("dd",null,"The minimum value of the spinbox."),Object(a.b)("dt",null,Object(a.b)("code",null,"max")),Object(a.b)("dd",null,"The maximum value of the spinbox."),Object(a.b)("dt",null,Object(a.b)("code",null,"step")),Object(a.b)("dd",null,"The difference between two adjacent values of the spinbox."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The current value of the spinbox."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if this field is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Spinbox",href:"types#h2o_wave.types.Spinbox"},"Spinbox"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"stat"},"stat ",Object(a.b)("a",{name:"h2o_wave.ui.stat"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"stat"),"(label:\xa0str, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Stat",href:"types#h2o_wave.types.Stat"},"Stat")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a stat (a label-value pair) for displaying a metric."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The label for the metric."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The value of the metric."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The caption displayed below the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"An optional icon, displayed next to the label."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon_color")),Object(a.b)("dd",null,"The color of the icon.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Stat",href:"types#h2o_wave.types.Stat"},"Stat"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"stat_list_card"},"stat_list_card ",Object(a.b)("a",{name:"h2o_wave.ui.stat_list_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"stat_list_card"),"(box:\xa0str, title:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.StatListItem",href:"types#h2o_wave.types.StatListItem"},"StatListItem"),"], name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, subtitle:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.StatListCard",href:"types#h2o_wave.types.StatListCard"},"StatListCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render a card displaying a list of stats."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The individual stats to be displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An optional name for this item."),Object(a.b)("dt",null,Object(a.b)("code",null,"subtitle")),Object(a.b)("dd",null,"The subtitle, displayed below the title."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.StatListCard",href:"types#h2o_wave.types.StatListCard"},"StatListCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"stat_list_item"},"stat_list_item ",Object(a.b)("a",{name:"h2o_wave.ui.stat_list_item"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"stat_list_item"),"(label:\xa0str, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, aux_value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.StatListItem",href:"types#h2o_wave.types.StatListItem"},"StatListItem")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a stat item (a label-value pair) for stat_list_card."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The label for the metric."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An optional name for this item (required only if this item is clickable)."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The caption for the metric, displayed below the label."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value of the metric."),Object(a.b)("dt",null,Object(a.b)("code",null,"value_color")),Object(a.b)("dd",null,"The font color of the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value, displayed below the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"An optional icon, displayed next to the label."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon_color")),Object(a.b)("dd",null,"The color of the icon.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.StatListItem",href:"types#h2o_wave.types.StatListItem"},"StatListItem"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"stat_table_card"},"stat_table_card ",Object(a.b)("a",{name:"h2o_wave.ui.stat_table_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"stat_table_card"),"(box:\xa0str, title:\xa0str, columns:\xa0List[str], items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.StatTableItem",href:"types#h2o_wave.types.StatTableItem"},"StatTableItem"),"], name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, subtitle:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.StatTableCard",href:"types#h2o_wave.types.StatTableCard"},"StatTableCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render a card displaying a table of stats."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title."),Object(a.b)("dt",null,Object(a.b)("code",null,"columns")),Object(a.b)("dd",null,"The names of this table's columns."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The rows displayed in this table."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An optional name for this item."),Object(a.b)("dt",null,Object(a.b)("code",null,"subtitle")),Object(a.b)("dd",null,"The subtitle, displayed below the title."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.StatTableCard",href:"types#h2o_wave.types.StatTableCard"},"StatTableCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"stat_table_item"},"stat_table_item ",Object(a.b)("a",{name:"h2o_wave.ui.stat_table_item"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"stat_table_item"),"(label:\xa0str, values:\xa0List[str], name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, caption:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.StatTableItem",href:"types#h2o_wave.types.StatTableItem"},"StatTableItem")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a stat item (a label and a set of values) for stat_table_card."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The label for the row."),Object(a.b)("dt",null,Object(a.b)("code",null,"values")),Object(a.b)("dd",null,"The values displayed in the row."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An optional name for this row (required only if this row is clickable)."),Object(a.b)("dt",null,Object(a.b)("code",null,"caption")),Object(a.b)("dd",null,"The caption for the metric, displayed below the label."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"An optional icon, displayed next to the label."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon_color")),Object(a.b)("dd",null,"The color of the icon.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.StatTableItem",href:"types#h2o_wave.types.StatTableItem"},"StatTableItem"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"stats"},"stats ",Object(a.b)("a",{name:"h2o_wave.ui.stats"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"stats"),"(items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Stat",href:"types#h2o_wave.types.Stat"},"Stat"),"], justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, inset:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a set of stats laid out horizontally."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The individual stats to be displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"justify")),Object(a.b)("dd",null,"Specifies how to lay out the individual stats. Defaults to 'start'. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.StatsJustify."),Object(a.b)("dt",null,Object(a.b)("code",null,"inset")),Object(a.b)("dd",null,"Whether to display the stats with a contrasting background.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Stats",href:"types#h2o_wave.types.Stats"},"Stats"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"step"},"step ",Object(a.b)("a",{name:"h2o_wave.ui.step"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"step"),"(label:\xa0str, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, done:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Step",href:"types#h2o_wave.types.Step"},"Step")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a step for a stepper."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text displayed below icon."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"Icon to be displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"done")),Object(a.b)("dd",null,"Indicates whether this step has already been completed.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Step",href:"types#h2o_wave.types.Step"},"Step"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"stepper"},"stepper ",Object(a.b)("a",{name:"h2o_wave.ui.stepper"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"stepper"),"(name:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Step",href:"types#h2o_wave.types.Step"},"Step"),"], visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a component that displays a sequence of steps in a process. The steps keep users informed about where they are in the process and how much is left to complete."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The sequence of steps to be displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Stepper",href:"types#h2o_wave.types.Stepper"},"Stepper"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"tab"},"tab ",Object(a.b)("a",{name:"h2o_wave.ui.tab"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"tab"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Tab",href:"types#h2o_wave.types.Tab"},"Tab")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a tab."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed on the tab."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"The icon displayed on the tab.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Tab",href:"types#h2o_wave.types.Tab"},"Tab"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"tab_card"},"tab_card ",Object(a.b)("a",{name:"h2o_wave.ui.tab_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"tab_card"),"(box:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Tab",href:"types#h2o_wave.types.Tab"},"Tab"),"], value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TabCard",href:"types#h2o_wave.types.TabCard"},"TabCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card containing tabs for navigation."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The tabs to display in this card"),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The name of the tab to select."),Object(a.b)("dt",null,Object(a.b)("code",null,"link")),Object(a.b)("dd",null,"True if tabs should be rendered as links instead of buttons."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An optional name for the card. If provided, the selected tab can be accessed using the name of the card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TabCard",href:"types#h2o_wave.types.TabCard"},"TabCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"table"},"table ",Object(a.b)("a",{name:"h2o_wave.ui.table"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"table"),"(name:\xa0str, columns:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.TableColumn",href:"types#h2o_wave.types.TableColumn"},"TableColumn"),"], rows:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.TableRow",href:"types#h2o_wave.types.TableRow"},"TableRow"),"], multiple:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, groupable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, downloadable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, resettable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, values:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create an interactive table."),Object(a.b)("p",null,"This table differs from a markdown table in that it supports clicking or selecting rows. If you simply want to display a non-interactive table of information, use a markdown table."),Object(a.b)("p",null,"If ",Object(a.b)("code",null,"multiple")," is set to False (default), each row in the table is clickable. When a row is clicked, the form is submitted automatically, and ",Object(a.b)("code",null,"q.args.table_name")," is set to ",Object(a.b)("code",null,"[row_name]"),", where ",Object(a.b)("code",null,"table_name")," is the ",Object(a.b)("code",null,"name")," of the table, and ",Object(a.b)("code",null,"row_name")," is the ",Object(a.b)("code",null,"name")," of the row that was clicked on."),Object(a.b)("p",null,"If ",Object(a.b)("code",null,"multiple")," is set to True, each row in the table is selectable. A row can be selected by clicking on it. Multiple rows can be selected either by shift+clicking or using marquee selection. When the form is submitted,",Object(a.b)("code",null,"q.args.table_name")," is set to ",Object(a.b)("code",null,"[row1_name, row2_name, \u2026]")," where ",Object(a.b)("code",null,"table_name")," is the ",Object(a.b)("code",null,"name")," of the table, and ",Object(a.b)("code",null,"row1_name"),", ",Object(a.b)("code",null,"row2_name")," are the ",Object(a.b)("code",null,"name")," of the rows that were selected. Note that if ",Object(a.b)("code",null,"multiple")," is set to True, the form is not submitted automatically, and one or more buttons are required in the form to trigger submission."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"columns")),Object(a.b)("dd",null,"The columns in this table."),Object(a.b)("dt",null,Object(a.b)("code",null,"rows")),Object(a.b)("dd",null,"The rows in this table."),Object(a.b)("dt",null,Object(a.b)("code",null,"multiple")),Object(a.b)("dd",null,"True to allow multiple rows to be selected."),Object(a.b)("dt",null,Object(a.b)("code",null,"groupable")),Object(a.b)("dd",null,"True to allow group by feature."),Object(a.b)("dt",null,Object(a.b)("code",null,"downloadable")),Object(a.b)("dd",null,"Indicates whether the contents of this table can be downloaded and saved as a CSV file. Defaults to False."),Object(a.b)("dt",null,Object(a.b)("code",null,"resettable")),Object(a.b)("dd",null,"Indicates whether a Reset button should be displayed to reset search / filter / group-by values to their defaults. Defaults to False."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The height of the table, e.g. '400px', '50%', etc."),Object(a.b)("dt",null,Object(a.b)("code",null,"values")),Object(a.b)("dd",null,"The names of the selected rows. If this parameter is set, multiple selections will be allowed (",Object(a.b)("code",null,"multiple")," is assumed to be ",Object(a.b)("code",null,"True"),")."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Table",href:"types#h2o_wave.types.Table"},"Table"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"table_column"},"table_column ",Object(a.b)("a",{name:"h2o_wave.ui.table_column"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"table_column"),"(name:\xa0str, label:\xa0str, min_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, max_width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, sortable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, searchable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, filterable:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, data_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, cell_type:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.types.TableCellType",href:"types#h2o_wave.types.TableCellType"},"TableCellType"),",\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TableColumn",href:"types#h2o_wave.types.TableColumn"},"TableColumn")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a table column."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this column."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed on the column header."),Object(a.b)("dt",null,Object(a.b)("code",null,"min_width")),Object(a.b)("dd",null,"The minimum width of this column, e.g. '50px'. Only ",Object(a.b)("code",null,"px")," units are supported at this time."),Object(a.b)("dt",null,Object(a.b)("code",null,"max_width")),Object(a.b)("dd",null,"The maximum width of this column, e.g. '100px'. Only ",Object(a.b)("code",null,"px")," units are supported at this time."),Object(a.b)("dt",null,Object(a.b)("code",null,"sortable")),Object(a.b)("dd",null,"Indicates whether the column is sortable."),Object(a.b)("dt",null,Object(a.b)("code",null,"searchable")),Object(a.b)("dd",null,"Indicates whether the contents of this column can be searched through. Enables a search box for the table if true."),Object(a.b)("dt",null,Object(a.b)("code",null,"filterable")),Object(a.b)("dd",null,"Indicates whether the contents of this column are displayed as filters in a dropdown."),Object(a.b)("dt",null,Object(a.b)("code",null,"link")),Object(a.b)("dd",null,"Indicates whether each cell in this column should be displayed as a clickable link."),Object(a.b)("dt",null,Object(a.b)("code",null,"data_type")),Object(a.b)("dd",null,"Defines the data type of this column. Defaults to ",Object(a.b)("code",null,"string"),". One of 'string', 'number', 'time'. See enum h2o_wave.ui.TableColumnDataType."),Object(a.b)("dt",null,Object(a.b)("code",null,"cell_type")),Object(a.b)("dd",null,"Defines how to render each cell in this column. Defaults to plain text.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TableColumn",href:"types#h2o_wave.types.TableColumn"},"TableColumn"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"table_row"},"table_row ",Object(a.b)("a",{name:"h2o_wave.ui.table_row"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"table_row"),"(name:\xa0str, cells:\xa0List[str]) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TableRow",href:"types#h2o_wave.types.TableRow"},"TableRow")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a table row."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this row."),Object(a.b)("dt",null,Object(a.b)("code",null,"cells")),Object(a.b)("dd",null,"The cells in this row (displayed left to right).")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TableRow",href:"types#h2o_wave.types.TableRow"},"TableRow"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"tabs"},"tabs ",Object(a.b)("a",{name:"h2o_wave.ui.tabs"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"tabs"),"(name:\xa0str, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Tab",href:"types#h2o_wave.types.Tab"},"Tab"),"],\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, link:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a tab bar."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The name of the tab to select."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"The tabs in this tab bar."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"link")),Object(a.b)("dd",null,"True if tabs should be rendered as links instead of buttons.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Tabs",href:"types#h2o_wave.types.Tabs"},"Tabs"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"tall_gauge_stat_card"},"tall_gauge_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.tall_gauge_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"tall_gauge_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TallGaugeStatCard",href:"types#h2o_wave.types.TallGaugeStatCard"},"TallGaugeStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a tall stat card displaying a primary value, an auxiliary value and a progress gauge."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value displayed next to the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"progress")),Object(a.b)("dd",null,"The value of the progress gauge, between 0 and 1."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The color of the progress gauge."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TallGaugeStatCard",href:"types#h2o_wave.types.TallGaugeStatCard"},"TallGaugeStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"tall_series_stat_card"},"tall_series_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.tall_series_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"tall_series_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, plot_data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], plot_value:\xa0str, plot_zero_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, plot_category:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TallSeriesStatCard",href:"types#h2o_wave.types.TallSeriesStatCard"},"TallSeriesStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a tall stat card displaying a primary value, an auxiliary value and a series plot."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value displayed below the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_data")),Object(a.b)("dd",null,"The plot's data."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_value")),Object(a.b)("dd",null,"The data field to use for y-axis values."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_zero_value")),Object(a.b)("dd",null,"The base value to use for each y-axis mark. Set this to ",Object(a.b)("code",null,"0")," if you want to pin the x-axis at ",Object(a.b)("code",null,"y=0"),". If not provided, the minimum value from the data is used."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_category")),Object(a.b)("dd",null,"The data field to use for x-axis values (ignored if ",Object(a.b)("code",null,"plot_type")," is ",Object(a.b)("code",null,"area"),"; must be provided if ",Object(a.b)("code",null,"plot_type")," is ",Object(a.b)("code",null,"interval"),"). Defaults to 'x'."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_type")),Object(a.b)("dd",null,"The type of plot. Defaults to ",Object(a.b)("code",null,"area"),". One of 'area', 'interval'. See enum h2o_wave.ui.TallSeriesStatCardPlotType."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_curve")),Object(a.b)("dd",null,"The plot's curve style. Defaults to ",Object(a.b)("code",null,"linear"),". One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.TallSeriesStatCardPlotCurve."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The plot's color."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TallSeriesStatCard",href:"types#h2o_wave.types.TallSeriesStatCard"},"TallSeriesStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"template"},"template ",Object(a.b)("a",{name:"h2o_wave.ui.template"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"template"),"(content:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render dynamic content using an HTML template."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The Handlebars template. ",Object(a.b)("a",{href:"https://handlebarsjs.com/guide/"},"https://handlebarsjs.com/guide/")),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for the Handlebars template"),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Template",href:"types#h2o_wave.types.Template"},"Template"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"template_card"},"template_card ",Object(a.b)("a",{name:"h2o_wave.ui.template_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"template_card"),"(box:\xa0str, title:\xa0str, content:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.TemplateCard",href:"types#h2o_wave.types.TemplateCard"},"TemplateCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Render dynamic content using an HTML template."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The Handlebars template. ",Object(a.b)("a",{href:"https://handlebarsjs.com/guide/"},"https://handlebarsjs.com/guide/")),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for the Handlebars template."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TemplateCard",href:"types#h2o_wave.types.TemplateCard"},"TemplateCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"text"},"text ",Object(a.b)("a",{name:"h2o_wave.ui.text"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"text"),"(content:\xa0str, size:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create text content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"size")),Object(a.b)("dd",null,"The font size of the text content. One of 'xl', 'l', 'm', 's', 'xs'. See enum h2o_wave.ui.TextSize."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"Tooltip message."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Text",href:"types#h2o_wave.types.Text"},"Text"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"text_l"},"text_l ",Object(a.b)("a",{name:"h2o_wave.ui.text_l"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"text_l"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create large sized text content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"Tooltip message."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TextL",href:"types#h2o_wave.types.TextL"},"TextL"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"text_m"},"text_m ",Object(a.b)("a",{name:"h2o_wave.ui.text_m"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"text_m"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create medium sized text content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"Tooltip message."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TextM",href:"types#h2o_wave.types.TextM"},"TextM"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"text_s"},"text_s ",Object(a.b)("a",{name:"h2o_wave.ui.text_s"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"text_s"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create small sized text content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"Tooltip message."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TextS",href:"types#h2o_wave.types.TextS"},"TextS"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"text_xl"},"text_xl ",Object(a.b)("a",{name:"h2o_wave.ui.text_xl"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"text_xl"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create extra-large sized text content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"Tooltip message."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TextXl",href:"types#h2o_wave.types.TextXl"},"TextXl"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"text_xs"},"text_xs ",Object(a.b)("a",{name:"h2o_wave.ui.text_xs"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"text_xs"),"(content:\xa0str, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create extra-small sized text content."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"content")),Object(a.b)("dd",null,"The text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"Tooltip message."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.TextXs",href:"types#h2o_wave.types.TextXs"},"TextXs"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"textbox"},"textbox ",Object(a.b)("a",{name:"h2o_wave.ui.textbox"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"textbox"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, placeholder:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, mask:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, icon:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, prefix:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, suffix:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, error:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, required:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, readonly:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, multiline:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, password:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a text box."),Object(a.b)("p",null,"The text box component enables a user to type text into an app. It's typically used to capture a single line of text, but can be configured to capture multiple lines of text. The text displays on the screen in a simple, uniform format."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"The text displayed above the field."),Object(a.b)("dt",null,Object(a.b)("code",null,"placeholder")),Object(a.b)("dd",null,"A string that provides a brief hint to the user as to what kind of information is expected in the field. It should be a word or short phrase that demonstrates the expected type of data, rather than an explanatory message."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"Text to be displayed inside the text box."),Object(a.b)("dt",null,Object(a.b)("code",null,"mask")),Object(a.b)("dd",null,"The masking string that defines the mask's behavior. A backslash will escape any character. Special format characters are: '9': [0-9] 'a': [a-zA-Z] '*': [a-zA-Z0-9]."),Object(a.b)("dt",null,Object(a.b)("code",null,"icon")),Object(a.b)("dd",null,"Icon displayed in the far right end of the text field."),Object(a.b)("dt",null,Object(a.b)("code",null,"prefix")),Object(a.b)("dd",null,"Text to be displayed before the text box contents."),Object(a.b)("dt",null,Object(a.b)("code",null,"suffix")),Object(a.b)("dd",null,"Text to be displayed after the text box contents."),Object(a.b)("dt",null,Object(a.b)("code",null,"error")),Object(a.b)("dd",null,"Text to be displayed as an error below the text box."),Object(a.b)("dt",null,Object(a.b)("code",null,"required")),Object(a.b)("dd",null,"True if the text box is a required field."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the text box is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"readonly")),Object(a.b)("dd",null,"True if the text box is a read-only field."),Object(a.b)("dt",null,Object(a.b)("code",null,"multiline")),Object(a.b)("dd",null,"True if the text box should allow multi-line text entry."),Object(a.b)("dt",null,Object(a.b)("code",null,"password")),Object(a.b)("dd",null,"True if the text box should hide text content."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the text value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The height of the text box, e.g. '100px'. Applicable only if ",Object(a.b)("code",null,"multiline")," is true."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Textbox",href:"types#h2o_wave.types.Textbox"},"Textbox"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"toggle"},"toggle ",Object(a.b)("a",{name:"h2o_wave.ui.toggle"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"toggle"),"(name:\xa0str, label:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, value:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, disabled:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, trigger:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, tooltip:\xa0Union[str,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a toggle. Toggles represent a physical switch that allows users to turn things on or off. Use toggles to present users with two mutually exclusive options (like on/off), where choosing an option results in an immediate action."),Object(a.b)("p",null,"Use a toggle for binary operations that take effect right after the user flips the Toggle. For example, use a Toggle to turn services or hardware components on or off. In other words, if a physical switch would work for the action, a Toggle is probably the best component to use."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"label")),Object(a.b)("dd",null,"Text to be displayed alongside the component."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"True if selected, False if unselected."),Object(a.b)("dt",null,Object(a.b)("code",null,"disabled")),Object(a.b)("dd",null,"True if the checkbox is disabled."),Object(a.b)("dt",null,Object(a.b)("code",null,"trigger")),Object(a.b)("dd",null,"True if the form should be submitted when the toggle value changes."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"tooltip")),Object(a.b)("dd",null,"An optional tooltip message displayed when a user clicks the help icon to the right of the component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Toggle",href:"types#h2o_wave.types.Toggle"},"Toggle"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"toolbar_card"},"toolbar_card ",Object(a.b)("a",{name:"h2o_wave.ui.toolbar_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"toolbar_card"),"(box:\xa0str, items:\xa0List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"], secondary_items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, overflow_items:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.ToolbarCard",href:"types#h2o_wave.types.ToolbarCard"},"ToolbarCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card containing a toolbar."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"items")),Object(a.b)("dd",null,"Items to render."),Object(a.b)("dt",null,Object(a.b)("code",null,"secondary_items")),Object(a.b)("dd",null,"Items to render on the right side (or left, in RTL)."),Object(a.b)("dt",null,Object(a.b)("code",null,"overflow_items")),Object(a.b)("dd",null,"Items to render in an overflow menu."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.ToolbarCard",href:"types#h2o_wave.types.ToolbarCard"},"ToolbarCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"vega_card"},"vega_card ",Object(a.b)("a",{name:"h2o_wave.ui.vega_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"vega_card"),"(box:\xa0str, title:\xa0str, specification:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.VegaCard",href:"types#h2o_wave.types.VegaCard"},"VegaCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a card containing a Vega-lite plot."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The title of this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"specification")),Object(a.b)("dd",null,"The Vega-lite specification."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for the plot, if any."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.VegaCard",href:"types#h2o_wave.types.VegaCard"},"VegaCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"vega_visualization"},"vega_visualization ",Object(a.b)("a",{name:"h2o_wave.ui.vega_visualization"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"vega_visualization"),"(specification:\xa0str, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a Vega-lite plot for display inside a form."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"specification")),Object(a.b)("dd",null,"The Vega-lite specification."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for the plot, if any."),Object(a.b)("dt",null,Object(a.b)("code",null,"width")),Object(a.b)("dd",null,"The width of the visualization. Defaults to 100%."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The height of the visualization. Defaults to 300px."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.VegaVisualization",href:"types#h2o_wave.types.VegaVisualization"},"VegaVisualization"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"visualization"},"visualization ",Object(a.b)("a",{name:"h2o_wave.ui.visualization"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"visualization"),"(plot:\xa0",Object(a.b)("a",{title:"h2o_wave.types.Plot",href:"types#h2o_wave.types.Plot"},"Plot"),", data:\xa0Union[dict,\xa0str], width:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, height:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, name:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, visible:\xa0Union[bool,\xa0NoneType]\xa0=\xa0None, events:\xa0Union[List[str],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Component",href:"types#h2o_wave.types.Component"},"Component")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a visualization for display inside a form."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"plot")),Object(a.b)("dd",null,"The plot to be rendered in this visualization."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this visualization."),Object(a.b)("dt",null,Object(a.b)("code",null,"width")),Object(a.b)("dd",null,"The width of the visualization. Defaults to 100%."),Object(a.b)("dt",null,Object(a.b)("code",null,"height")),Object(a.b)("dd",null,"The hight of the visualization. Defaults to 300px."),Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this component."),Object(a.b)("dt",null,Object(a.b)("code",null,"visible")),Object(a.b)("dd",null,"True if the component should be visible. Defaults to true."),Object(a.b)("dt",null,Object(a.b)("code",null,"events")),Object(a.b)("dd",null,"The events to capture on this visualization.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Visualization",href:"types#h2o_wave.types.Visualization"},"Visualization"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"wide_bar_stat_card"},"wide_bar_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.wide_bar_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"wide_bar_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.WideBarStatCard",href:"types#h2o_wave.types.WideBarStatCard"},"WideBarStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a wide stat card displaying a primary value, an auxiliary value and a progress bar."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value displayed next to the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"progress")),Object(a.b)("dd",null,"The value of the progress bar, between 0 and 1."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The color of the progress bar."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.WideBarStatCard",href:"types#h2o_wave.types.WideBarStatCard"},"WideBarStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"wide_gauge_stat_card"},"wide_gauge_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.wide_gauge_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"wide_gauge_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, progress:\xa0float, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.WideGaugeStatCard",href:"types#h2o_wave.types.WideGaugeStatCard"},"WideGaugeStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a wide stat card displaying a primary value, an auxiliary value and a progress gauge."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value displayed next to the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"progress")),Object(a.b)("dd",null,"The value of the progress gauge, between 0 and 1."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The color of the progress gauge."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.WideGaugeStatCard",href:"types#h2o_wave.types.WideGaugeStatCard"},"WideGaugeStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"wide_series_stat_card"},"wide_series_stat_card ",Object(a.b)("a",{name:"h2o_wave.ui.wide_series_stat_card"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"wide_series_stat_card"),"(box:\xa0str, title:\xa0str, value:\xa0str, aux_value:\xa0str, plot_data:\xa0Union[",Object(a.b)("a",{title:"h2o_wave.core.Data",href:"core#h2o_wave.core.Data"},"Data"),",\xa0str], plot_value:\xa0str, plot_zero_value:\xa0Union[float,\xa0NoneType]\xa0=\xa0None, plot_category:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_type:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_curve:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, plot_color:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, data:\xa0Union[dict,\xa0str,\xa0NoneType]\xa0=\xa0None, commands:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Command",href:"types#h2o_wave.types.Command"},"Command"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.WideSeriesStatCard",href:"types#h2o_wave.types.WideSeriesStatCard"},"WideSeriesStatCard")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Create a wide stat card displaying a primary value, an auxiliary value and a series plot."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"box")),Object(a.b)("dd",null,"A string indicating how to place this component on the page."),Object(a.b)("dt",null,Object(a.b)("code",null,"title")),Object(a.b)("dd",null,"The card's title."),Object(a.b)("dt",null,Object(a.b)("code",null,"value")),Object(a.b)("dd",null,"The primary value displayed."),Object(a.b)("dt",null,Object(a.b)("code",null,"aux_value")),Object(a.b)("dd",null,"The auxiliary value displayed below the primary value."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_data")),Object(a.b)("dd",null,"The plot's data."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_value")),Object(a.b)("dd",null,"The data field to use for y-axis values."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_zero_value")),Object(a.b)("dd",null,"The base value to use for each y-axis mark. Set this to ",Object(a.b)("code",null,"0")," if you want to pin the x-axis at ",Object(a.b)("code",null,"y=0"),". If not provided, the minimum value from the data is used."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_category")),Object(a.b)("dd",null,"The data field to use for x-axis values (ignored if ",Object(a.b)("code",null,"plot_type")," is ",Object(a.b)("code",null,"area"),"; must be provided if ",Object(a.b)("code",null,"plot_type")," is ",Object(a.b)("code",null,"interval"),"). Defaults to 'x'."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_type")),Object(a.b)("dd",null,"The type of plot. Defaults to ",Object(a.b)("code",null,"area"),". One of 'area', 'interval'. See enum h2o_wave.ui.WideSeriesStatCardPlotType."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_curve")),Object(a.b)("dd",null,"The plot's curve style. Defaults to ",Object(a.b)("code",null,"linear"),". One of 'linear', 'smooth', 'step', 'step-after', 'step-before'. See enum h2o_wave.ui.WideSeriesStatCardPlotCurve."),Object(a.b)("dt",null,Object(a.b)("code",null,"plot_color")),Object(a.b)("dd",null,"The plot's color."),Object(a.b)("dt",null,Object(a.b)("code",null,"data")),Object(a.b)("dd",null,"Data for this card."),Object(a.b)("dt",null,Object(a.b)("code",null,"commands")),Object(a.b)("dd",null,"Contextual menu commands for this component.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.WideSeriesStatCard",href:"types#h2o_wave.types.WideSeriesStatCard"},"WideSeriesStatCard"))," instance.")))),Object(a.b)("div",{className:"api"},Object(a.b)("h3",{id:"zone"},"zone ",Object(a.b)("a",{name:"h2o_wave.ui.zone"})),Object(a.b)("div",{className:"api__body"},Object(a.b)("div",{className:"api__signature"},"def ",Object(a.b)("span",{class:"ident"},"zone"),"(name:\xa0str, size:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, direction:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, justify:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, align:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, wrap:\xa0Union[str,\xa0NoneType]\xa0=\xa0None, zones:\xa0Union[List[",Object(a.b)("a",{title:"h2o_wave.types.Zone",href:"types#h2o_wave.types.Zone"},"Zone"),"],\xa0NoneType]\xa0=\xa0None) \u2011>\xa0",Object(a.b)("a",{title:"h2o_wave.types.Zone",href:"types#h2o_wave.types.Zone"},"Zone")),Object(a.b)("div",{className:"api__description"},Object(a.b)("p",null,"Represents an zone within a page layout."),Object(a.b)("h5",{id:"args"},"Args"),Object(a.b)("dl",null,Object(a.b)("dt",null,Object(a.b)("code",null,"name")),Object(a.b)("dd",null,"An identifying name for this zone."),Object(a.b)("dt",null,Object(a.b)("code",null,"size")),Object(a.b)("dd",null,"The size of this zone."),Object(a.b)("dt",null,Object(a.b)("code",null,"direction")),Object(a.b)("dd",null,"Layout direction. One of 'row', 'column'. See enum h2o_wave.ui.ZoneDirection."),Object(a.b)("dt",null,Object(a.b)("code",null,"justify")),Object(a.b)("dd",null,"Layout strategy for main axis. One of 'start', 'end', 'center', 'between', 'around'. See enum h2o_wave.ui.ZoneJustify."),Object(a.b)("dt",null,Object(a.b)("code",null,"align")),Object(a.b)("dd",null,"Layout strategy for cross axis. One of 'start', 'end', 'center', 'stretch'. See enum h2o_wave.ui.ZoneAlign."),Object(a.b)("dt",null,Object(a.b)("code",null,"wrap")),Object(a.b)("dd",null,"Wrapping strategy. One of 'start', 'end', 'center', 'between', 'around', 'stretch'. See enum h2o_wave.ui.ZoneWrap."),Object(a.b)("dt",null,Object(a.b)("code",null,"zones")),Object(a.b)("dd",null,"The sub-zones contained inside this zone.")),Object(a.b)("h5",{id:"returns"},"Returns"),Object(a.b)("p",null,"A ",Object(a.b)("code",null,Object(a.b)("a",{title:"h2o_wave.types.Zone",href:"types#h2o_wave.types.Zone"},"Zone"))," instance.")))))}s.isMDXComponent=!0},302:function(e,t,l){"use strict";l.d(t,"a",(function(){return r})),l.d(t,"b",(function(){return O}));var n=l(0),b=l.n(n);function a(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function o(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,n)}return l}function c(e){for(var t=1;t=0||(b[l]=e[l]);return b}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(b[l]=e[l])}return b}var d=b.a.createContext({}),s=function(e){var t=b.a.useContext(d),l=t;return e&&(l="function"==typeof e?e(t):c(c({},t),e)),l},r=function(e){var t=s(e.components);return b.a.createElement(d.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return b.a.createElement(b.a.Fragment,{},t)}},p=b.a.forwardRef((function(e,t){var l=e.components,n=e.mdxType,a=e.originalType,o=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),r=s(l),p=n,O=r["".concat(o,".").concat(p)]||r[p]||u[p]||a;return l?b.a.createElement(O,c(c({ref:t},d),{},{components:l})):b.a.createElement(O,c({ref:t},d))}));function O(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=l.length,o=new Array(a);o[0]=p;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var d=2;d=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),l=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=l(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=l(r),f=n,b=p["".concat(c,".").concat(f)]||p[f]||d[f]||o;return r?a.a.createElement(b,i(i({ref:t},s),{},{components:r})):a.a.createElement(b,i({ref:t},s))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=f;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var s=2;s=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),s=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=s(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),u=s(r),f=n,m=u["".concat(c,".").concat(f)]||u[f]||d[f]||o;return r?a.a.createElement(m,i(i({ref:t},l),{},{components:r})):a.a.createElement(m,i({ref:t},l))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=f;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var l=2;l=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=o.a.createContext({}),u=function(e){var t=o.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=u(e.components);return o.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},f=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),s=u(n),f=r,d=s["".concat(i,".").concat(f)]||s[f]||m[f]||a;return n?o.a.createElement(d,l(l({ref:t},c),{},{components:n})):o.a.createElement(d,l({ref:t},c))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=f;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var c=2;c=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=o.a.createContext({}),s=function(e){var t=o.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=s(e.components);return o.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=s(r),d=n,m=p["".concat(i,".").concat(d)]||p[d]||f[d]||a;return r?o.a.createElement(m,c(c({ref:t},l),{},{components:r})):o.a.createElement(m,c({ref:t},l))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=a.a.createContext({}),u=function(e){var t=a.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=u(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=u(r),d=n,f=p["".concat(i,".").concat(d)]||p[d]||m[d]||o;return r?a.a.createElement(f,l(l({ref:t},c),{},{components:r})):a.a.createElement(f,l({ref:t},c))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=d;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var c=2;c=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=a.a.createContext({}),m=function(e){var t=a.a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=m(e.components);return a.a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=m(r),d=n,f=p["".concat(l,".").concat(d)]||p[d]||u[d]||o;return r?a.a.createElement(f,i(i({ref:t},c),{},{components:r})):a.a.createElement(f,i({ref:t},c))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,l=new Array(o);l[0]=d;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,l[1]=i;for(var c=2;c=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var J=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var E=r.a.createContext({}),S=function(e){var n=r.a.useContext(E),t=n;return e&&(t="function"==typeof e?e(n):k(k({},n),e)),t},I=function(e){var n=S(e.components);return r.a.createElement(E.Provider,{value:n},e.children)},o={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},l=r.a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,J=e.originalType,A=e.parentName,E=a(e,["components","mdxType","originalType","parentName"]),I=S(t),l=i,g=I["".concat(A,".").concat(l)]||I[l]||o[l]||J;return t?r.a.createElement(g,k(k({ref:n},E),{},{components:t})):r.a.createElement(g,k({ref:n},E))}));function g(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var J=t.length,A=new Array(J);A[0]=l;var k={};for(var a in n)hasOwnProperty.call(n,a)&&(k[a]=n[a]);k.originalType=e,k.mdxType="string"==typeof e?e:i,A[1]=k;for(var E=2;E=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var k=r.a.createContext({}),E=function(e){var n=r.a.useContext(k),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},S=function(e){var n=E(e.components);return r.a.createElement(k.Provider,{value:n},e.children)},l={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},I=r.a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,J=e.parentName,k=A(e,["components","mdxType","originalType","parentName"]),S=E(t),I=i,g=S["".concat(J,".").concat(I)]||S[I]||l[I]||a;return t?r.a.createElement(g,o(o({ref:n},k),{},{components:t})):r.a.createElement(g,o({ref:n},k))}));function g(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,J=new Array(a);J[0]=I;var o={};for(var A in n)hasOwnProperty.call(n,A)&&(o[A]=n[A]);o.originalType=e,o.mdxType="string"==typeof e?e:i,J[1]=o;for(var k=2;k=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=i.a.createContext({}),u=function(e){var r=i.a.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},p=function(e){var r=u(e.components);return i.a.createElement(l.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return i.a.createElement(i.a.Fragment,{},r)}},f=i.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=u(t),f=n,b=p["".concat(c,".").concat(f)]||p[f]||d[f]||a;return t?i.a.createElement(b,o(o({ref:r},l),{},{components:t})):i.a.createElement(b,o({ref:r},l))}));function b(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var a=t.length,c=new Array(a);c[0]=f;var o={};for(var s in r)hasOwnProperty.call(r,s)&&(o[s]=r[s]);o.originalType=e,o.mdxType="string"==typeof e?e:n,c[1]=o;for(var l=2;l=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var s=i.a.createContext({}),p=function(e){var r=i.a.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):l(l({},r),e)),t},u=function(e){var r=p(e.components);return i.a.createElement(s.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return i.a.createElement(i.a.Fragment,{},r)}},h=i.a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),u=p(t),h=n,b=u["".concat(c,".").concat(h)]||u[h]||d[h]||a;return t?i.a.createElement(b,l(l({ref:r},s),{},{components:t})):i.a.createElement(b,l({ref:r},s))}));function b(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var a=t.length,c=new Array(a);c[0]=h;var l={};for(var o in r)hasOwnProperty.call(r,o)&&(l[o]=r[o]);l.originalType=e,l.mdxType="string"==typeof e?e:n,c[1]=l;for(var s=2;s=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var m=o.a.createContext({}),p=function(e){var n=o.a.useContext(m),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},s=function(e){var n=p(e.components);return o.a.createElement(m.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return o.a.createElement(o.a.Fragment,{},n)}},d=o.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,r=e.originalType,c=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),s=p(t),d=a,b=s["".concat(c,".").concat(d)]||s[d]||u[d]||r;return t?o.a.createElement(b,i(i({ref:n},m),{},{components:t})):o.a.createElement(b,i({ref:n},m))}));function b(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var r=t.length,c=new Array(r);c[0]=d;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var m=2;m=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var u=o.a.createContext({}),s=function(e){var n=o.a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},m=function(e){var n=s(e.components);return o.a.createElement(u.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return o.a.createElement(o.a.Fragment,{},n)}},d=o.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),m=s(t),d=r,b=m["".concat(c,".").concat(d)]||m[d]||p[d]||a;return t?o.a.createElement(b,i(i({ref:n},u),{},{components:t})):o.a.createElement(b,i({ref:n},u))}));function b(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,c=new Array(a);c[0]=d;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i.mdxType="string"==typeof e?e:r,c[1]=i;for(var u=2;u=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var b=n.a.createContext({}),p=function(e){var t=n.a.useContext(b),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},c=function(e){var t=p(e.components);return n.a.createElement(b.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},d=n.a.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,b=s(e,["components","mdxType","originalType","parentName"]),c=p(r),d=a,h=c["".concat(l,".").concat(d)]||c[d]||u[d]||o;return r?n.a.createElement(h,i(i({ref:t},b),{},{components:r})):n.a.createElement(h,i({ref:t},b))}));function h(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,l=new Array(o);l[0]=d;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:a,l[1]=i;for(var b=2;b=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var b=n.a.createContext({}),p=function(e){var t=n.a.useContext(b),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},c=function(e){var t=p(e.components);return n.a.createElement(b.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},d=n.a.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,b=s(e,["components","mdxType","originalType","parentName"]),c=p(r),d=a,h=c["".concat(l,".").concat(d)]||c[d]||u[d]||o;return r?n.a.createElement(h,i(i({ref:t},b),{},{components:r})):n.a.createElement(h,i({ref:t},b))}));function h(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,l=new Array(o);l[0]=d;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:a,l[1]=i;for(var b=2;b=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=i.a.createContext({}),b=function(e){var t=i.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):p(p({},t),e)),n},l=function(e){var t=b(e.components);return i.a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},m=i.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,r=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),l=b(n),m=a,d=l["".concat(r,".").concat(m)]||l[m]||u[m]||o;return n?i.a.createElement(d,p(p({ref:t},s),{},{components:n})):i.a.createElement(d,p({ref:t},s))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,r=new Array(o);r[0]=m;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p.mdxType="string"==typeof e?e:a,r[1]=p;for(var s=2;s=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=i.a.createContext({}),b=function(e){var t=i.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):p(p({},t),e)),n},l=function(e){var t=b(e.components);return i.a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},m=i.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,r=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),l=b(n),m=a,d=l["".concat(r,".").concat(m)]||l[m]||u[m]||o;return n?i.a.createElement(d,p(p({ref:t},s),{},{components:n})):i.a.createElement(d,p({ref:t},s))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,r=new Array(o);r[0]=m;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p.mdxType="string"==typeof e?e:a,r[1]=p;for(var s=2;s=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),s=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},u=function(e){var t=s(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=a.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(n),d=r,f=u["".concat(i,".").concat(d)]||u[d]||m[d]||o;return n?a.a.createElement(f,c(c({ref:t},p),{},{components:n})):a.a.createElement(f,c({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var p=2;p=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=o.a.createContext({}),s=function(e){var t=o.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=s(e.components);return o.a.createElement(l.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},m=o.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=s(r),m=n,d=p["".concat(i,".").concat(m)]||p[m]||f[m]||a;return r?o.a.createElement(d,c(c({ref:t},l),{},{components:r})):o.a.createElement(d,c({ref:t},l))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=m;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=n.a.createContext({}),s=function(e){var t=n.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=s(e.components);return n.a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},m=n.a.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),u=s(r),m=a,b=u["".concat(o,".").concat(m)]||u[m]||d[m]||i;return r?n.a.createElement(b,c(c({ref:t},l),{},{components:r})):n.a.createElement(b,c({ref:t},l))}));function b(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=m;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),p=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=p(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},f=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),l=p(r),f=n,m=l["".concat(o,".").concat(f)]||l[f]||d[f]||i;return r?a.a.createElement(m,c(c({ref:t},s),{},{components:r})):a.a.createElement(m,c({ref:t},s))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=f;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var s=2;s=0||(A[a]=e[a]);return A}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(A[a]=e[a])}return A}var c=A.a.createContext({}),i=function(e){var t=A.a.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=i(e.components);return A.a.createElement(c.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return A.a.createElement(A.a.Fragment,{},t)}},u=A.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,s=e.originalType,r=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),d=i(a),u=n,p=d["".concat(r,".").concat(u)]||d[u]||b[u]||s;return a?A.a.createElement(p,l(l({ref:t},c),{},{components:a})):A.a.createElement(p,l({ref:t},c))}));function p(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=a.length,r=new Array(s);r[0]=u;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l.mdxType="string"==typeof e?e:n,r[1]=l;for(var c=2;c=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=o.a.createContext({}),s=function(e){var t=o.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},l=function(e){var t=s(e.components);return o.a.createElement(p.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,a=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),l=s(n),d=r,m=l["".concat(a,".").concat(d)]||l[d]||f[d]||i;return n?o.a.createElement(m,c(c({ref:t},p),{},{components:n})):o.a.createElement(m,c({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,a[1]=c;for(var p=2;p=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=o.a.createContext({}),s=function(e){var t=o.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},l=function(e){var t=s(e.components);return o.a.createElement(p.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},d=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,a=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),l=s(n),d=r,m=l["".concat(a,".").concat(d)]||l[d]||f[d]||i;return n?o.a.createElement(m,c(c({ref:t},p),{},{components:n})):o.a.createElement(m,c({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=d;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:r,a[1]=c;for(var p=2;p>>"'}),"from h2o_wave import site\npage = site['/hello']\n")),Object(o.b)("h3",{id:"grab-a-reference-to-our-card"},"Grab a reference to our card"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py",metastring:'title=">>>"',title:'">>>"'}),"quote = page['quote']\n")),Object(o.b)("h3",{id:"change-the-title"},"Change the title"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py",metastring:'title=">>>"',title:'">>>"'}),"quote.title = 'Hello Again!'\npage.save()\n")),Object(o.b)("p",null,Object(o.b)("img",{alt:"Hello World 2",src:a(591).default})),Object(o.b)("h3",{id:"change-the-content"},"Change the content"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py",metastring:'title=">>>"',title:'">>>"'}),'quote.content = "D\'oh! - *Homer Simpson*"\npage.save()\n')),Object(o.b)("p",null,Object(o.b)("img",{alt:"Hello World 3",src:a(592).default})),Object(o.b)("h3",{id:"quit-your-repl"},"Quit your REPL"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py",metastring:'title=">>>"',title:'">>>"'}),"quit()\n")),Object(o.b)("h2",{id:"summary"},"Summary"),Object(o.b)("p",null,"What we just did - add content from one program and make edits to it from another - illustrates another important aspect of Wave's programming model: ",Object(o.b)("em",{parentName:"p"},"The Wave server retains content"),". Your ",Object(o.b)("inlineCode",{parentName:"p"},"hello_world.py")," program did its thing and exited. So did your REPL. But your content was retained for the viewing pleasure of future visitors to ",Object(o.b)("inlineCode",{parentName:"p"},"/hello"),"."),Object(o.b)("p",null,"Next, we'll take the principles we learned from this tutorial and apply it towards a supposedly spirited folk song involving arithmetic progressions."))}b.isMDXComponent=!0},302:function(e,t,a){"use strict";a.d(t,"a",(function(){return b})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function c(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=r.a.createContext({}),s=function(e){var t=r.a.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},b=function(e){var t=s(e.components);return r.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},u=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),b=s(a),u=n,m=b["".concat(c,".").concat(u)]||b[u]||d[u]||o;return a?r.a.createElement(m,l(l({ref:t},p),{},{components:a})):r.a.createElement(m,l({ref:t},p))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,c=new Array(o);c[0]=u;var l={};for(var i in t)hasOwnProperty.call(t,i)&&(l[i]=t[i]);l.originalType=e,l.mdxType="string"==typeof e?e:n,c[1]=l;for(var p=2;p>>"'}),"from h2o_wave import site\npage = site['/hello']\n")),Object(o.b)("h3",{id:"grab-a-reference-to-our-card"},"Grab a reference to our card"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py",metastring:'title=">>>"',title:'">>>"'}),"quote = page['quote']\n")),Object(o.b)("h3",{id:"change-the-title"},"Change the title"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py",metastring:'title=">>>"',title:'">>>"'}),"quote.title = 'Hello Again!'\npage.save()\n")),Object(o.b)("p",null,Object(o.b)("img",{alt:"Hello World 2",src:a(533).default})),Object(o.b)("h3",{id:"change-the-content"},"Change the content"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py",metastring:'title=">>>"',title:'">>>"'}),'quote.content = "D\'oh! - *Homer Simpson*"\npage.save()\n')),Object(o.b)("p",null,Object(o.b)("img",{alt:"Hello World 3",src:a(534).default})),Object(o.b)("h3",{id:"quit-your-repl"},"Quit your REPL"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-py",metastring:'title=">>>"',title:'">>>"'}),"quit()\n")),Object(o.b)("h2",{id:"summary"},"Summary"),Object(o.b)("p",null,"What we just did - add content from one program and make edits to it from another - illustrates another important aspect of Wave's programming model: ",Object(o.b)("em",{parentName:"p"},"The Wave server retains content"),". Your ",Object(o.b)("inlineCode",{parentName:"p"},"hello_world.py")," program did its thing and exited. So did your REPL. But your content was retained for the viewing pleasure of future visitors to ",Object(o.b)("inlineCode",{parentName:"p"},"/hello"),"."),Object(o.b)("p",null,"Next, we'll take the principles we learned from this tutorial and apply it towards a supposedly spirited folk song involving arithmetic progressions."))}b.isMDXComponent=!0},300:function(e,t,a){"use strict";a.d(t,"a",(function(){return b})),a.d(t,"b",(function(){return h}));var n=a(0),r=a.n(n);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function c(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=r.a.createContext({}),s=function(e){var t=r.a.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},b=function(e){var t=s(e.components);return r.a.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},u=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),b=s(a),u=n,h=b["".concat(c,".").concat(u)]||b[u]||d[u]||o;return a?r.a.createElement(h,l(l({ref:t},p),{},{components:a})):r.a.createElement(h,l({ref:t},p))}));function h(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,c=new Array(o);c[0]=u;var l={};for(var i in t)hasOwnProperty.call(t,i)&&(l[i]=t[i]);l.originalType=e,l.mdxType="string"==typeof e?e:n,c[1]=l;for(var p=2;p=0||(n[r]=e[r]);return n}(e,o);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var b=n.a.createContext({}),s=function(e){var o=n.a.useContext(b),r=o;return e&&(r="function"==typeof e?e(o):i(i({},o),e)),r},m=function(e){var o=s(e.components);return n.a.createElement(b.Provider,{value:o},e.children)},u={inlineCode:"code",wrapper:function(e){var o=e.children;return n.a.createElement(n.a.Fragment,{},o)}},p=n.a.forwardRef((function(e,o){var r=e.components,t=e.mdxType,a=e.originalType,c=e.parentName,b=l(e,["components","mdxType","originalType","parentName"]),m=s(r),p=t,d=m["".concat(c,".").concat(p)]||m[p]||u[p]||a;return r?n.a.createElement(d,i(i({ref:o},b),{},{components:r})):n.a.createElement(d,i({ref:o},b))}));function d(e,o){var r=arguments,t=o&&o.mdxType;if("string"==typeof e||t){var a=r.length,c=new Array(a);c[0]=p;var i={};for(var l in o)hasOwnProperty.call(o,l)&&(i[l]=o[l]);i.originalType=e,i.mdxType="string"==typeof e?e:t,c[1]=i;for(var b=2;b=0||(n[r]=e[r]);return n}(e,o);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=n.a.createContext({}),u=function(e){var o=n.a.useContext(s),r=o;return e&&(r="function"==typeof e?e(o):i(i({},o),e)),r},l=function(e){var o=u(e.components);return n.a.createElement(s.Provider,{value:o},e.children)},m={inlineCode:"code",wrapper:function(e){var o=e.children;return n.a.createElement(n.a.Fragment,{},o)}},p=n.a.forwardRef((function(e,o){var r=e.components,t=e.mdxType,a=e.originalType,c=e.parentName,s=b(e,["components","mdxType","originalType","parentName"]),l=u(r),p=t,f=l["".concat(c,".").concat(p)]||l[p]||m[p]||a;return r?n.a.createElement(f,i(i({ref:o},s),{},{components:r})):n.a.createElement(f,i({ref:o},s))}));function f(e,o){var r=arguments,t=o&&o.mdxType;if("string"==typeof e||t){var a=r.length,c=new Array(a);c[0]=p;var i={};for(var b in o)hasOwnProperty.call(o,b)&&(i[b]=o[b]);i.originalType=e,i.mdxType="string"==typeof e?e:t,c[1]=i;for(var s=2;s=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=n.a.createContext({}),u=function(e){var t=n.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},f=function(e){var t=u(e.components);return n.a.createElement(s.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},b=n.a.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,o=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),f=u(r),b=i,R=f["".concat(o,".").concat(b)]||f[b]||l[b]||a;return r?n.a.createElement(R,c(c({ref:t},s),{},{components:r})):n.a.createElement(R,c({ref:t},s))}));function R(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=b;var c={};for(var d in t)hasOwnProperty.call(t,d)&&(c[d]=t[d]);c.originalType=e,c.mdxType="string"==typeof e?e:i,o[1]=c;for(var s=2;s=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var s=n.a.createContext({}),R=function(e){var t=n.a.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):d(d({},t),e)),i},l=function(e){var t=R(e.components);return n.a.createElement(s.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.a.createElement(n.a.Fragment,{},t)}},u=n.a.forwardRef((function(e,t){var i=e.components,r=e.mdxType,a=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),l=R(i),u=r,m=l["".concat(o,".").concat(u)]||l[u]||f[u]||a;return i?n.a.createElement(m,d(d({ref:t},s),{},{components:i})):n.a.createElement(m,d({ref:t},s))}));function m(e,t){var i=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=i.length,o=new Array(a);o[0]=u;var d={};for(var c in t)hasOwnProperty.call(t,c)&&(d[c]=t[c]);d.originalType=e,d.mdxType="string"==typeof e?e:r,o[1]=d;for(var s=2;s + - Hello from H2O Wave | H2O Wave - - - - - - - - - - - - + Hello from H2O Wave | H2O Wave + + + + + + + + + + + +
        -

        Make AI Apps

        Screenshot

        Realtime Web Apps and Dashboards for Python

        Know Python?

        No HTML, CSS, Javascript skills required. Build rich, interactive web apps using pure Python.

        Realtime Sync

        Broadcast live information, visualizations and graphics using Wave's low-latency realtime server.

        Collaborative Content

        Instant control over every connected web browser using a simple and intuitive programming model.

        Develop Quickly

        Preview your app live as you code. Dramatically reduce the time and effort to build web apps.

        Deploy Instantly

        Easily share your apps with end-users, get feedback, improve and iterate.

        Run Anywhere

        ~10MB static executables for Linux, Windows, OSX, BSD, Solaris on AMD64, 386, ARM, PPC. Run it on a RPi Zero for great good!

        - - - - - - - - - - - - +

        Make AI Apps

        Screenshot

        Realtime Web Apps and Dashboards for Python

        Know Python?

        No HTML, CSS, Javascript skills required. Build rich, interactive web apps using pure Python.

        Realtime Sync

        Broadcast live information, visualizations and graphics using Wave's low-latency realtime server.

        Collaborative Content

        Instant control over every connected web browser using a simple and intuitive programming model.

        Develop Quickly

        Preview your app live as you code. Dramatically reduce the time and effort to build web apps.

        Deploy Instantly

        Easily share your apps with end-users, get feedback, improve and iterate.

        Run Anywhere

        ~10MB static executables for Linux, Windows, OSX, BSD, Solaris on AMD64, 386, ARM, PPC. Run it on a RPi Zero for great good!

        + + + + + + + + + + + + diff --git a/docs/main.9aa19427.js b/docs/main.9aa19427.js new file mode 100644 index 0000000000..e44e4bcff5 --- /dev/null +++ b/docs/main.9aa19427.js @@ -0,0 +1,2 @@ +/*! For license information please see main.9aa19427.js.LICENSE.txt */ +(window.webpackJsonp=window.webpackJsonp||[]).push([[243],[function(e,t,n){"use strict";e.exports=n(30)},function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return C})),n.d(t,"e",(function(){return g})),n.d(t,"f",(function(){return F})),n.d(t,"g",(function(){return L})),n.d(t,"h",(function(){return v})),n.d(t,"i",(function(){return E})),n.d(t,"j",(function(){return O})),n.d(t,"k",(function(){return M})),n.d(t,"l",(function(){return z})),n.d(t,"m",(function(){return U})),n.d(t,"n",(function(){return $})),n.d(t,"o",(function(){return D}));var a=n(3),o=n(0),r=n.n(o),i=(n(7),n(5)),l=n(17),s=n(4),c=n(2),u=n(18),p=n.n(u),d=(n(24),n(6)),f=n(27),m=n.n(f),h=function(e){var t=Object(l.a)();return t.displayName=e,t}("Router-History"),v=function(e){var t=Object(l.a)();return t.displayName=e,t}("Router"),g=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}Object(a.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return r.a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},r.a.createElement(h.Provider,{children:this.props.children||null,value:this.props.history}))},t}(r.a.Component);var b=function(e){function t(){for(var t,n=arguments.length,a=new Array(n),o=0;o=0;d--){var f=i[d];"."===f?r(i,d):".."===f?(r(i,d),p++):p&&(r(i,d),p--)}if(!c)for(;p--;p)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};function l(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var s=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,a){return e(t,n[a])}));if("object"==typeof t||"object"==typeof n){var a=l(t),o=l(n);return a!==t||o!==n?e(a,o):Object.keys(Object.assign({},t,n)).every((function(a){return e(t[a],n[a])}))}return!1},c=n(4);function u(e){return"/"===e.charAt(0)?e:"/"+e}function p(e){return"/"===e.charAt(0)?e.substr(1):e}function d(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function f(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function m(e){var t=e.pathname,n=e.search,a=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),a&&"#"!==a&&(o+="#"===a.charAt(0)?a:"#"+a),o}function h(e,t,n,o){var r;"string"==typeof e?(r=function(e){var t=e||"/",n="",a="",o=t.indexOf("#");-1!==o&&(a=t.substr(o),t=t.substr(0,o));var r=t.indexOf("?");return-1!==r&&(n=t.substr(r),t=t.substr(0,r)),{pathname:t,search:"?"===n?"":n,hash:"#"===a?"":a}}(e)).state=t:(void 0===(r=Object(a.a)({},e)).pathname&&(r.pathname=""),r.search?"?"!==r.search.charAt(0)&&(r.search="?"+r.search):r.search="",r.hash?"#"!==r.hash.charAt(0)&&(r.hash="#"+r.hash):r.hash="",void 0!==t&&void 0===r.state&&(r.state=t));try{r.pathname=decodeURI(r.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+r.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(r.key=n),o?r.pathname?"/"!==r.pathname.charAt(0)&&(r.pathname=i(r.pathname,o.pathname)):r.pathname=o.pathname:r.pathname||(r.pathname="/"),r}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&s(e.state,t.state)}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,a,o){if(null!=e){var r="function"==typeof e?e(t,n):e;"string"==typeof r?"function"==typeof a?a(r,o):o(!0):o(!1!==r)}else o(!0)},appendListener:function(e){var n=!0;function a(){n&&e.apply(void 0,arguments)}return t.push(a),function(){n=!1,t=t.filter((function(e){return e!==a}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),a=0;at?n.splice(t,n.length-t,o):n.push(o),p({action:a,location:o,index:t,entries:n})}}))},replace:function(e,t){var a="REPLACE",o=h(e,t,d(),w.location);u.confirmTransitionTo(o,a,n,(function(e){e&&(w.entries[w.index]=o,p({action:a,location:o}))}))},go:x,goBack:function(){x(-1)},goForward:function(){x(1)},canGo:function(e){var t=w.index+e;return t>=0&&t=0||(o[n]=e[n]);return o}n.d(t,"a",(function(){return a}))},function(e,t,n){e.exports=n(34)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return s}));var a=n(1),o=n(2),r=n(0),i=n.n(r);function l(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var o=e.path?Object(a.j)(t,e):n.length?n[n.length-1].match:a.e.computeRootMatch(t);return o&&(n.push({route:e,match:o}),e.routes&&l(e.routes,t,n)),o})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?i.a.createElement(a.g,n,e.map((function(e,n){return i.a.createElement(a.d,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render(Object(o.a)({},n,{},t,{route:e})):i.a.createElement(e.component,Object(o.a)({},n,t,{route:e}))}})}))):null}},function(e,t,n){"use strict";n.r(t),t.default={title:"H2O Wave",tagline:"Realtime Web Apps and Dashboards for Python",url:"https://h2oai.github.io/wave/",baseUrl:"/wave/",onBrokenLinks:"throw",favicon:"img/favicon.ico",organizationName:"h2oai",projectName:"wave",plugins:[["/home/runner/work/wave/wave/website/node_modules/docusaurus-gtm-plugin/index.js",{id:"GTM-TTFP7BH"}]],themeConfig:{prism:{additionalLanguages:["toml"]},algolia:{apiKey:"1ff399df2912b1f87d8b235fa995fce6",indexName:"wave",contextualSearch:!0,appId:"BH4D9OD16A"},navbar:{title:"H2O Wave",logo:{alt:"H2O Wave",src:"img/logo.svg"},items:[{to:"docs/examples",label:"Gallery",position:"left"},{to:"docs/getting-started",label:"Get Started",position:"left"},{to:"docs/guide",label:"Guide",position:"left"},{to:"https://h2oai.github.io/h2o-ai-cloud/",label:"Enterprise",position:"left"},{to:"docs/api/index",label:"API",position:"left"},{to:"blog",label:"Blog",position:"left"},{to:"https://github.com/h2oai/wave/releases",label:"Download",position:"right"},{href:"https://github.com/h2oai/wave",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[{title:"Learn",items:[{label:"Gallery",to:"docs/examples"},{label:"Get Started",to:"docs/getting-started",activeBasePath:"docs"},{label:"Guide",to:"docs/guide"},{label:"Enterprise",to:"https://h2oai.github.io/h2o-ai-cloud/"},{label:"API",to:"docs/api/index"}]},{title:"Community",items:[{label:"Discuss",href:"https://h2owave.h2o.ai/"},{label:"Stack Overflow",href:"https://stackoverflow.com/questions/tagged/h2o-wave"},{label:"Twitter",href:"https://twitter.com/h2o_wave"}]},{title:"More",items:[{label:"Blog",to:"blog"},{label:"Download",href:"https://github.com/h2oai/wave/releases"},{label:"GitHub",href:"https://github.com/h2oai/wave"}]}],copyright:"Copyright \xa9 2021 H2O.ai, Inc."},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1,switchConfig:{darkIcon:"\ud83c\udf1c",darkIconStyle:{},lightIcon:"\ud83c\udf1e",lightIconStyle:{}}},metadatas:[]},presets:[["@docusaurus/preset-classic",{docs:{sidebarPath:"/home/runner/work/wave/wave/website/sidebars.js",editUrl:"https://github.com/h2oai/wave/edit/master/website/"},blog:{showReadingTime:!0,editUrl:"https://github.com/facebook/docusaurus/edit/master/website/blog/"},theme:{customCss:"/home/runner/work/wave/wave/website/src/css/custom.css"}}]],onDuplicateRoutes:"warn",customFields:{},themes:[],titleDelimiter:"|"}},function(e,t,n){"use strict";var a=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:a,canUseEventListeners:a&&!(!window.addEventListener&&!window.attachEvent),canUseIntersectionObserver:a&&"IntersectionObserver"in window,canUseViewport:a&&!!window.screen};t.a=o},function(e){e.exports=JSON.parse('{"/wave/-1a9":{"component":"c4f5d8e4","config":"5e9f5e1a"},"/wave/blog-001":{"component":"a6aa9e1f","items":[{"content":"075f21dd"},{"content":"e7ad456d"}],"metadata":"0eb58673"},"/wave/blog/release-0.11.0-d80":{"component":"ccc49370","content":"fb2b0a83"},"/wave/blog/release-0.9.0-282":{"component":"ccc49370","content":"08f25880"},"/wave/blog/tags-f9b":{"component":"01a85c17","tags":"121dd878"},"/wave/blog/tags/release-525":{"component":"6875c492","items":[{"content":"075f21dd"},{"content":"e7ad456d"}],"metadata":"2dd92585"},"/wave/search-086":{"component":"191d5269"},"/wave/docs-b2c":{"component":"1be78505","versionMetadata":"935f2afb"},"/wave/docs/_start_q-1b6":{"component":"17896441","content":"15a78352"},"/wave/docs/api/core-506":{"component":"17896441","content":"36fe3260"},"/wave/docs/api/graphics-576":{"component":"17896441","content":"7f8f4b62"},"/wave/docs/api/index-d57":{"component":"17896441","content":"5e8c322a"},"/wave/docs/api/server-e76":{"component":"17896441","content":"296a8b4f"},"/wave/docs/api/test-5bd":{"component":"17896441","content":"430c4fb3"},"/wave/docs/api/types-82d":{"component":"17896441","content":"b999a6e4"},"/wave/docs/api/ui-1df":{"component":"17896441","content":"f151ab1a"},"/wave/docs/api/ui_ext-612":{"component":"17896441","content":"1e2038c3"},"/wave/docs/apps-b2f":{"component":"17896441","content":"d3f54ca5"},"/wave/docs/architecture-1aa":{"component":"17896441","content":"5281b7a2"},"/wave/docs/arguments-dd1":{"component":"17896441","content":"65b8ef03"},"/wave/docs/background-21e":{"component":"17896441","content":"b4d5475e"},"/wave/docs/backup-06a":{"component":"17896441","content":"1b0f8c91"},"/wave/docs/browser-testing-85e":{"component":"17896441","content":"3713dbfc"},"/wave/docs/buffers-70a":{"component":"17896441","content":"649e08dd"},"/wave/docs/cards-4c7":{"component":"17896441","content":"4f6dabb0"},"/wave/docs/change-log-095":{"component":"17896441","content":"3b64911a"},"/wave/docs/cli-067":{"component":"17896441","content":"1a20bc57"},"/wave/docs/components-2bb":{"component":"17896441","content":"1f7c204c"},"/wave/docs/configuration-e5a":{"component":"17896441","content":"9ed00105"},"/wave/docs/contributing-b63":{"component":"17896441","content":"4d54d076"},"/wave/docs/deployment-b65":{"component":"17896441","content":"a3713279"},"/wave/docs/development-e3f":{"component":"17896441","content":"8f030830"},"/wave/docs/examples-247":{"component":"17896441","content":"bf614533"},"/wave/docs/examples/all-49b":{"component":"17896441","content":"4a8e444b"},"/wave/docs/examples/background-914":{"component":"17896441","content":"3da9dc01"},"/wave/docs/examples/background-executor-bca":{"component":"17896441","content":"2e8e6962"},"/wave/docs/examples/background-progress-332":{"component":"17896441","content":"c246bde7"},"/wave/docs/examples/breadcrumbs-42a":{"component":"17896441","content":"c07c3c71"},"/wave/docs/examples/button-d1c":{"component":"17896441","content":"879fc8a6"},"/wave/docs/examples/buttons-4f3":{"component":"17896441","content":"452608cb"},"/wave/docs/examples/card-menu-52c":{"component":"17896441","content":"9152460a"},"/wave/docs/examples/checkbox-8fd":{"component":"17896441","content":"8c12d624"},"/wave/docs/examples/checklist-35d":{"component":"17896441","content":"7d1cd1c9"},"/wave/docs/examples/choice-group-f4d":{"component":"17896441","content":"82f75f63"},"/wave/docs/examples/color-picker-014":{"component":"17896441","content":"4612f97b"},"/wave/docs/examples/combobox-fe1":{"component":"17896441","content":"fd056868"},"/wave/docs/examples/counter-broadcast-5e7":{"component":"17896441","content":"917fcb62"},"/wave/docs/examples/counter-global-921":{"component":"17896441","content":"dceb90d2"},"/wave/docs/examples/counter-multicast-d7a":{"component":"17896441","content":"bd7ed1d7"},"/wave/docs/examples/counter-unicast-823":{"component":"17896441","content":"47b3e1f7"},"/wave/docs/examples/dashboard-613":{"component":"17896441","content":"0965cdf6"},"/wave/docs/examples/date-picker-1b7":{"component":"17896441","content":"faf81df8"},"/wave/docs/examples/date-picker-trigger-8c1":{"component":"17896441","content":"fe4d4432"},"/wave/docs/examples/dropdown-0e1":{"component":"17896441","content":"b140a32d"},"/wave/docs/examples/file-upload-429":{"component":"17896441","content":"3aa768f5"},"/wave/docs/examples/form-8d7":{"component":"17896441","content":"883d6399"},"/wave/docs/examples/form-frame-078":{"component":"17896441","content":"e4e8fb51"},"/wave/docs/examples/form-frame-path-5e9":{"component":"17896441","content":"77770fc3"},"/wave/docs/examples/form-markup-bf4":{"component":"17896441","content":"41849bc6"},"/wave/docs/examples/form-menu-035":{"component":"17896441","content":"7ca2f128"},"/wave/docs/examples/form-template-6f7":{"component":"17896441","content":"a9331674"},"/wave/docs/examples/frame-6ff":{"component":"17896441","content":"b1e50d5a"},"/wave/docs/examples/frame-path-f9c":{"component":"17896441","content":"746a1919"},"/wave/docs/examples/glider-gun-b5d":{"component":"17896441","content":"18fdb351"},"/wave/docs/examples/graphics-clock-3a3":{"component":"17896441","content":"6ce0e474"},"/wave/docs/examples/graphics-hilbert-ecc":{"component":"17896441","content":"f349fb86"},"/wave/docs/examples/graphics-path-8af":{"component":"17896441","content":"7ecd2c5c"},"/wave/docs/examples/graphics-primitives-169":{"component":"17896441","content":"8954e356"},"/wave/docs/examples/graphics-spline-4c7":{"component":"17896441","content":"b18fb770"},"/wave/docs/examples/graphics-turtle-134":{"component":"17896441","content":"9363aca1"},"/wave/docs/examples/hash-routing-600":{"component":"17896441","content":"f132454a"},"/wave/docs/examples/header-2b4":{"component":"17896441","content":"207f87c1"},"/wave/docs/examples/hello-world-49b":{"component":"17896441","content":"a8b2a833"},"/wave/docs/examples/image-5b5":{"component":"17896441","content":"b81c5e46"},"/wave/docs/examples/issue-tracker-073":{"component":"17896441","content":"549ea605"},"/wave/docs/examples/label-15f":{"component":"17896441","content":"10172759"},"/wave/docs/examples/layout-342":{"component":"17896441","content":"dc705eb8"},"/wave/docs/examples/layout-responsive-a4c":{"component":"17896441","content":"418b096a"},"/wave/docs/examples/layout-size-4bf":{"component":"17896441","content":"f3473c5b"},"/wave/docs/examples/link-bc8":{"component":"17896441","content":"ecdac497"},"/wave/docs/examples/markdown-d09":{"component":"17896441","content":"997fea1d"},"/wave/docs/examples/markdown-data-2ac":{"component":"17896441","content":"b8435c12"},"/wave/docs/examples/markup-180":{"component":"17896441","content":"6d36af6b"},"/wave/docs/examples/message-bar-97f":{"component":"17896441","content":"1ae86ebe"},"/wave/docs/examples/meta-dialog-76d":{"component":"17896441","content":"d5fa3cd3"},"/wave/docs/examples/meta-icon-3a2":{"component":"17896441","content":"ca84abdc"},"/wave/docs/examples/meta-notification-ae1":{"component":"17896441","content":"e7ba74f4"},"/wave/docs/examples/meta-redirect-f63":{"component":"17896441","content":"3584c003"},"/wave/docs/examples/meta-refresh-0b0":{"component":"17896441","content":"b9e4d6e6"},"/wave/docs/examples/meta-title-a2d":{"component":"17896441","content":"f09ebdf1"},"/wave/docs/examples/nav-50d":{"component":"17896441","content":"c1570962"},"/wave/docs/examples/picker-396":{"component":"17896441","content":"4ab7b8a0"},"/wave/docs/examples/picker-selection-015":{"component":"17896441","content":"1a4f1376"},"/wave/docs/examples/pixel-art-588":{"component":"17896441","content":"37382beb"},"/wave/docs/examples/plot-altair-9c7":{"component":"17896441","content":"2673e11f"},"/wave/docs/examples/plot-app-9b2":{"component":"17896441","content":"696d57a8"},"/wave/docs/examples/plot-area-e26":{"component":"17896441","content":"31f8b56c"},"/wave/docs/examples/plot-area-groups-ae1":{"component":"17896441","content":"53da2547"},"/wave/docs/examples/plot-area-line-3a6":{"component":"17896441","content":"bb5446ac"},"/wave/docs/examples/plot-area-line-groups-49e":{"component":"17896441","content":"7d744a8f"},"/wave/docs/examples/plot-area-line-smooth-8df":{"component":"17896441","content":"f846e950"},"/wave/docs/examples/plot-area-negative-5bf":{"component":"17896441","content":"273cfbdf"},"/wave/docs/examples/plot-area-range-5c0":{"component":"17896441","content":"126e0b0e"},"/wave/docs/examples/plot-area-smooth-cb7":{"component":"17896441","content":"718f151f"},"/wave/docs/examples/plot-area-stacked-85c":{"component":"17896441","content":"97d9aba4"},"/wave/docs/examples/plot-axis-title-ebc":{"component":"17896441","content":"c0ac41fc"},"/wave/docs/examples/plot-bokeh-75a":{"component":"17896441","content":"109e456e"},"/wave/docs/examples/plot-d3-d44":{"component":"17896441","content":"1486e3bc"},"/wave/docs/examples/plot-events-a06":{"component":"17896441","content":"8926e245"},"/wave/docs/examples/plot-form-d4d":{"component":"17896441","content":"48786391"},"/wave/docs/examples/plot-histogram-cc7":{"component":"17896441","content":"eb2bb38c"},"/wave/docs/examples/plot-interval-8cf":{"component":"17896441","content":"12e676cf"},"/wave/docs/examples/plot-interval-annotation-977":{"component":"17896441","content":"aa7f648d"},"/wave/docs/examples/plot-interval-annotation-transpose-65e":{"component":"17896441","content":"4e3b2ad1"},"/wave/docs/examples/plot-interval-groups-4cb":{"component":"17896441","content":"c1cf1fe4"},"/wave/docs/examples/plot-interval-groups-transpose-646":{"component":"17896441","content":"97e78655"},"/wave/docs/examples/plot-interval-helix-3ee":{"component":"17896441","content":"e96704c5"},"/wave/docs/examples/plot-interval-labels-5dc":{"component":"17896441","content":"8eaf94d7"},"/wave/docs/examples/plot-interval-polar-aeb":{"component":"17896441","content":"9a52a2f7"},"/wave/docs/examples/plot-interval-polar-stacked-978":{"component":"17896441","content":"2db704cb"},"/wave/docs/examples/plot-interval-range-0da":{"component":"17896441","content":"a8dc7269"},"/wave/docs/examples/plot-interval-range-transpose-0f2":{"component":"17896441","content":"bd0b0bbe"},"/wave/docs/examples/plot-interval-stacked-d35":{"component":"17896441","content":"22188a36"},"/wave/docs/examples/plot-interval-stacked-grouped-4dd":{"component":"17896441","content":"f1ec6cfa"},"/wave/docs/examples/plot-interval-stacked-grouped-transpose-d39":{"component":"17896441","content":"c7b62599"},"/wave/docs/examples/plot-interval-stacked-transpose-5fa":{"component":"17896441","content":"cd329814"},"/wave/docs/examples/plot-interval-theta-035":{"component":"17896441","content":"31c3c419"},"/wave/docs/examples/plot-interval-transpose-aae":{"component":"17896441","content":"ac27f894"},"/wave/docs/examples/plot-line-238":{"component":"17896441","content":"d05981be"},"/wave/docs/examples/plot-line-annotation-27b":{"component":"17896441","content":"e013439f"},"/wave/docs/examples/plot-line-groups-812":{"component":"17896441","content":"f21433ff"},"/wave/docs/examples/plot-line-labels-187":{"component":"17896441","content":"6c3eb428"},"/wave/docs/examples/plot-line-labels-no-overlap-d7f":{"component":"17896441","content":"3f5dd320"},"/wave/docs/examples/plot-line-labels-stroked-1e3":{"component":"17896441","content":"54aab825"},"/wave/docs/examples/plot-line-smooth-e21":{"component":"17896441","content":"c9e5c590"},"/wave/docs/examples/plot-matplotlib-366":{"component":"17896441","content":"e7c32899"},"/wave/docs/examples/plot-pandas-a44":{"component":"17896441","content":"94eea4ff"},"/wave/docs/examples/plot-path-1d1":{"component":"17896441","content":"2fa9e1ff"},"/wave/docs/examples/plot-path-point-b35":{"component":"17896441","content":"de02e8e6"},"/wave/docs/examples/plot-path-smooth-46b":{"component":"17896441","content":"c87c151a"},"/wave/docs/examples/plot-plotly-470":{"component":"17896441","content":"aa9ca283"},"/wave/docs/examples/plot-point-c44":{"component":"17896441","content":"34cd3da4"},"/wave/docs/examples/plot-point-annotation-faf":{"component":"17896441","content":"ed3db3ec"},"/wave/docs/examples/plot-point-custom-fe9":{"component":"17896441","content":"190e4f21"},"/wave/docs/examples/plot-point-groups-3be":{"component":"17896441","content":"1ac8922b"},"/wave/docs/examples/plot-point-map-8f7":{"component":"17896441","content":"38067279"},"/wave/docs/examples/plot-point-shapes-086":{"component":"17896441","content":"4b953dd8"},"/wave/docs/examples/plot-point-sizes-a9d":{"component":"17896441","content":"1cc3ff79"},"/wave/docs/examples/plot-polygon-c78":{"component":"17896441","content":"a814b970"},"/wave/docs/examples/plot-step-c36":{"component":"17896441","content":"17b5adee"},"/wave/docs/examples/plot-step-after-afc":{"component":"17896441","content":"941b9d10"},"/wave/docs/examples/plot-step-before-b83":{"component":"17896441","content":"26907763"},"/wave/docs/examples/plot-vegalite-cf6":{"component":"17896441","content":"b22f7242"},"/wave/docs/examples/plot-vegalite-form-e1b":{"component":"17896441","content":"4104f38c"},"/wave/docs/examples/plot-vegalite-update-e40":{"component":"17896441","content":"3697284d"},"/wave/docs/examples/progress-b94":{"component":"17896441","content":"4784cd26"},"/wave/docs/examples/progress-update-122":{"component":"17896441","content":"c641a4e8"},"/wave/docs/examples/range-slider-82e":{"component":"17896441","content":"eec6e613"},"/wave/docs/examples/separator-daf":{"component":"17896441","content":"cc0ea0cf"},"/wave/docs/examples/site-async-7b7":{"component":"17896441","content":"3ae7008e"},"/wave/docs/examples/slider-ae1":{"component":"17896441","content":"ca622d62"},"/wave/docs/examples/spinbox-309":{"component":"17896441","content":"d8689276"},"/wave/docs/examples/stat-large-5a2":{"component":"17896441","content":"ba1aeef8"},"/wave/docs/examples/stat-large-bar-927":{"component":"17896441","content":"692ea9bc"},"/wave/docs/examples/stat-small-1db":{"component":"17896441","content":"a54511d2"},"/wave/docs/examples/stat-small-series-area-4b9":{"component":"17896441","content":"f21d2ab0"},"/wave/docs/examples/stat-small-series-interval-44e":{"component":"17896441","content":"5e52c414"},"/wave/docs/examples/stat-tall-gauge-1b3":{"component":"17896441","content":"11e3ce2c"},"/wave/docs/examples/stat-tall-series-area-91c":{"component":"17896441","content":"9747bb1a"},"/wave/docs/examples/stat-tall-series-interval-0ac":{"component":"17896441","content":"424c54c2"},"/wave/docs/examples/stat-wide-bar-5f0":{"component":"17896441","content":"4f49ed83"},"/wave/docs/examples/stat-wide-gauge-515":{"component":"17896441","content":"5168cb29"},"/wave/docs/examples/stat-wide-series-area-9bc":{"component":"17896441","content":"79d0d182"},"/wave/docs/examples/stat-wide-series-interval-8d4":{"component":"17896441","content":"360edac9"},"/wave/docs/examples/stepper-394":{"component":"17896441","content":"8c8ea2c1"},"/wave/docs/examples/swatch-picker-6dc":{"component":"17896441","content":"1c59264e"},"/wave/docs/examples/tab-07b":{"component":"17896441","content":"661410ac"},"/wave/docs/examples/tab-delete-9c5":{"component":"17896441","content":"58b13b12"},"/wave/docs/examples/tab-link-478":{"component":"17896441","content":"bdc330a7"},"/wave/docs/examples/tab-routing-6e6":{"component":"17896441","content":"36db7894"},"/wave/docs/examples/table-63d":{"component":"17896441","content":"135cee2a"},"/wave/docs/examples/table-download-667":{"component":"17896441","content":"88c2f924"},"/wave/docs/examples/table-filter-185":{"component":"17896441","content":"600ae505"},"/wave/docs/examples/table-filter-backend-7d8":{"component":"17896441","content":"887b127f"},"/wave/docs/examples/table-groupby-2d7":{"component":"17896441","content":"6eb0e506"},"/wave/docs/examples/table-markdown-c18":{"component":"17896441","content":"0f2a58c8"},"/wave/docs/examples/table-markdown-pandas-ec9":{"component":"17896441","content":"4d5eae90"},"/wave/docs/examples/table-search-cef":{"component":"17896441","content":"c0b6bb44"},"/wave/docs/examples/table-select-2b7":{"component":"17896441","content":"d8aa093c"},"/wave/docs/examples/table-sort-3f0":{"component":"17896441","content":"15837ef3"},"/wave/docs/examples/tabs-2de":{"component":"17896441","content":"8542acf3"},"/wave/docs/examples/tags-cf3":{"component":"17896441","content":"a7eb55a2"},"/wave/docs/examples/template-7a0":{"component":"17896441","content":"2bf08973"},"/wave/docs/examples/template-data-998":{"component":"17896441","content":"d4ee2b4f"},"/wave/docs/examples/text-bf6":{"component":"17896441","content":"50b74c5f"},"/wave/docs/examples/text-sizes-25f":{"component":"17896441","content":"e32c5859"},"/wave/docs/examples/textbox-d9f":{"component":"17896441","content":"7c1cba9e"},"/wave/docs/examples/textbox-trigger-381":{"component":"17896441","content":"35dabcf3"},"/wave/docs/examples/todo-28c":{"component":"17896441","content":"bbdd3825"},"/wave/docs/examples/toggle-75f":{"component":"17896441","content":"b9f028e1"},"/wave/docs/examples/toolbar-7fe":{"component":"17896441","content":"f60be60c"},"/wave/docs/examples/toolbar-routing-1ae":{"component":"17896441","content":"948118d6"},"/wave/docs/examples/upload-d1b":{"component":"17896441","content":"0923c366"},"/wave/docs/examples/upload-async-476":{"component":"17896441","content":"d145135f"},"/wave/docs/examples/upload-download-70e":{"component":"17896441","content":"c10c720e"},"/wave/docs/examples/upload-ui-550":{"component":"17896441","content":"ce88eaaa"},"/wave/docs/examples/wizard-730":{"component":"17896441","content":"174d8305"},"/wave/docs/expressions-7e5":{"component":"17896441","content":"3b464fa6"},"/wave/docs/files-eb6":{"component":"17896441","content":"854481fc"},"/wave/docs/getting-started-cdc":{"component":"17896441","content":"d589d3a7"},"/wave/docs/graphics-23e":{"component":"17896441","content":"6264312d"},"/wave/docs/guide-de8":{"component":"17896441","content":"a8bb5334"},"/wave/docs/installation-5c8":{"component":"17896441","content":"3b8c55ea"},"/wave/docs/layout-362":{"component":"17896441","content":"472f8a66"},"/wave/docs/logging-63d":{"component":"17896441","content":"3abe8fb9"},"/wave/docs/migrating-0-830":{"component":"17896441","content":"0fd1debb"},"/wave/docs/migrating-0-8-ba0":{"component":"17896441","content":"8caadd29"},"/wave/docs/pages-2dc":{"component":"17896441","content":"a64331b1"},"/wave/docs/plotting-2c7":{"component":"17896441","content":"e8c1c6e8"},"/wave/docs/realtime-374":{"component":"17896441","content":"6405c95c"},"/wave/docs/routing-f63":{"component":"17896441","content":"f811e444"},"/wave/docs/scripts-cee":{"component":"17896441","content":"e833177e"},"/wave/docs/security-c61":{"component":"17896441","content":"db32d859"},"/wave/docs/state-fcc":{"component":"17896441","content":"5a34328a"},"/wave/docs/testing-1ff":{"component":"17896441","content":"fbe93038"},"/wave/docs/tour-6aa":{"component":"17896441","content":"47a365f9"},"/wave/docs/tutorial-beer-f5d":{"component":"17896441","content":"f7ea47c5"},"/wave/docs/tutorial-counter-da3":{"component":"17896441","content":"950656ac"},"/wave/docs/tutorial-hello-0f5":{"component":"17896441","content":"fcfc3752"},"/wave/docs/tutorial-monitor-390":{"component":"17896441","content":"0a6c0f5b"},"/wave/docs/tutorial-todo-762":{"component":"17896441","content":"996e93c8"}}')},function(e,t,n){var a,o;void 0===(o="function"==typeof(a=function(){var e,t,n={version:"0.2.0"},a=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
        '};function o(e,t,n){return en?n:e}function r(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===a.positionUsing?{transform:"translate3d("+r(e)+"%,0,0)"}:"translate"===a.positionUsing?{transform:"translate("+r(e)+"%,0)"}:{"margin-left":r(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(a[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,a.minimum,1),n.status=1===e?null:e;var r=n.render(!t),c=r.querySelector(a.barSelector),u=a.speed,p=a.easing;return r.offsetWidth,l((function(t){""===a.positionUsing&&(a.positionUsing=n.getPositioningCSS()),s(c,i(e,u,p)),1===e?(s(r,{transition:"none",opacity:1}),r.offsetWidth,setTimeout((function(){s(r,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),a.trickleSpeed)};return a.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*a.trickleRate)},e=0,t=0,n.promise=function(a){return a&&"resolved"!==a.state()?(0===t&&n.start(),e++,t++,a.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=a.template;var o,i=t.querySelector(a.barSelector),l=e?"-100":r(n.status||0),c=document.querySelector(a.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),a.showSpinner||(o=t.querySelector(a.spinnerSelector))&&f(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){p(document.documentElement,"nprogress-busy"),p(document.querySelector(a.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function a(t){var n=document.body.style;if(t in n)return t;for(var a,o=e.length,r=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((a=e[o]+r)in n)return a;return t}function o(e){return e=n(e),t[e]||(t[e]=a(e))}function r(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,a,o=arguments;if(2==o.length)for(n in t)void 0!==(a=t[n])&&t.hasOwnProperty(n)&&r(e,n,a);else r(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:d(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=d(e),a=n+t;c(n,t)||(e.className=a.substring(1))}function p(e,t){var n,a=d(e);c(e,t)&&(n=a.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function d(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n})?a.call(t,n,t,e):a)||(e.exports=o)},function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"c",(function(){return b})),n.d(t,"e",(function(){return y}));var a=n(1);n.d(t,"d",(function(){return a.a})),n.d(t,"f",(function(){return a.b})),n.d(t,"g",(function(){return a.c})),n.d(t,"h",(function(){return a.d})),n.d(t,"i",(function(){return a.e})),n.d(t,"j",(function(){return a.f})),n.d(t,"k",(function(){return a.g})),n.d(t,"l",(function(){return a.i})),n.d(t,"m",(function(){return a.j})),n.d(t,"n",(function(){return a.k})),n.d(t,"o",(function(){return a.l})),n.d(t,"p",(function(){return a.m})),n.d(t,"q",(function(){return a.n})),n.d(t,"r",(function(){return a.o}));var o=n(3),r=n(0),i=n.n(r),l=n(5),s=(n(7),n(2)),c=n(6),u=n(4),p=function(e){function t(){for(var t,n=arguments.length,a=new Array(n),o=0;oe.length)return;if(!(y instanceof s)){if(h&&x!=t.length-1){if(d.lastIndex=w,!(O=d.exec(e)))break;for(var k=O.index+(m?O[1].length:0),E=O.index+O[0].length,S=x,T=w,_=t.length;S<_&&(T=(T+=t[S].length)&&(++x,w=T);if(t[x]instanceof s)continue;C=S-x,y=e.slice(w,T),O.index-=w}else{d.lastIndex=0;var O=d.exec(y),C=1}if(O){m&&(v=O[1]?O[1].length:0),E=(k=O.index+v)+(O=O[0].slice(v)).length;var P=y.slice(0,k),A=y.slice(E),N=[x,C];P&&(++x,w+=P.length,N.push(P));var R=new s(c,f?o.tokenize(O,f):O,g,O,h);if(N.push(R),A&&N.push(A),Array.prototype.splice.apply(t,N),1!=C&&o.matchGrammar(e,t,n,x,w,!0,c),i)break}else if(i)break}}}}},hooks:{add:function(){}},tokenize:function(e,t,n){var a=[e],r=t.rest;if(r){for(var i in r)t[i]=r[i];delete t.rest}return o.matchGrammar(e,a,t,0,0,!1),a}},(r=o.Token=function(e,t,n,a,o){this.type=e,this.content=t,this.alias=n,this.length=0|(a||"").length,this.greedy=!!o}).stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===o.util.type(e))return e.map((function(n){return r.stringify(n,t,e)})).join("");var a={type:e.type,content:r.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if(e.alias){var i="Array"===o.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,i)}var l=Object.keys(a.attributes).map((function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'})).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(l?" "+l:"")+">"+a.content+""},o);i.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},i.languages.markup.tag.inside["attr-value"].inside.entity=i.languages.markup.entity,i.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(i.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:i.languages[t]},n.cdata=/^$/i;var a={"included-cdata":{pattern://i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:i.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[\s\S]*?>)(?:\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,e),"i"),lookbehind:!0,greedy:!0,inside:a},i.languages.insertBefore("markup","cdata",o)}}),i.languages.xml=i.languages.extend("markup",{}),i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0},{pattern:/(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/,greedy:!0,inside:n}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}};for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=n.variable[1].inside,r=0;r=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},i.languages.c=i.languages.extend("clike",{"class-name":{pattern:/(\b(?:enum|struct)\s+)\w+/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/,number:/(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i}),i.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+(?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(?:<.+?>|("|')(?:\\?.)+?\2)/,lookbehind:!0},directive:{pattern:/(#\s*)\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/,lookbehind:!0,alias:"keyword"}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete i.languages.c.boolean,i.languages.cpp=i.languages.extend("c",{"class-name":{pattern:/(\b(?:class|enum|struct)\s+)\w+/,lookbehind:!0},keyword:/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+\.?[\da-f']*|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]*/i,greedy:!0},operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),i.languages.insertBefore("cpp","string",{"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/@[\w-]+/}},url:{pattern:RegExp("url\\((?:"+t.source+"|[^\n\r()]*)\\)","i"),inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:e.languages.css}},alias:"language-css"}},n.tag))}(i),i.languages.css.selector={pattern:i.languages.css.selector,inside:{"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-:.\w]+/,id:/#[-:.\w]+/,attribute:{pattern:/\[(?:[^[\]"']|("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1)*\]/,greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)[-*\w\xA0-\uFFFF]*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},attribute:{pattern:/^(\s*)[-\w\xA0-\uFFFF]+/,lookbehind:!0},value:[/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,{pattern:/(=\s*)[-\w\xA0-\uFFFF]+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],punctuation:/[()]/}},i.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*/i,lookbehind:!0}}),i.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:/#[\da-f]{3,8}/i,entity:/\\[\da-f]{1,8}/i,unit:{pattern:/(\d)(?:%|[a-z]+)/,lookbehind:!0},number:/-?[\d.]+/}),i.languages.javascript=i.languages.extend("clike",{"class-name":[i.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),i.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,i.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:i.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:i.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:i.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:i.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),i.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:i.languages.javascript}},string:/[\s\S]+/}}}),i.languages.markup&&i.languages.markup.tag.addInlined("script","javascript"),i.languages.js=i.languages.javascript,function(e){var t=e.util.clone(e.languages.javascript);e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=/<\/?(?:[\w.:-]+\s*(?:\s+(?:[\w.:-]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s{'">=]+|\{(?:\{(?:\{[^}]*\}|[^{}])*\}|[^{}])+\}))?|\{\.{3}[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\}))*\s*\/?)?>/i,e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/i,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">]+)/i,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.insertBefore("inside","attr-name",{spread:{pattern:/\{\.{3}[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\}/,inside:{punctuation:/\.{3}|[{}.]/,"attr-value":/\w+/}}},e.languages.jsx.tag),e.languages.insertBefore("inside","attr-value",{script:{pattern:/=(\{(?:\{(?:\{[^}]*\}|[^}])*\}|[^}])+\})/i,inside:{"script-punctuation":{pattern:/^=(?={)/,alias:"punctuation"},rest:e.languages.jsx},alias:"language-javascript"}},e.languages.jsx.tag);var n=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(n).join(""):""},a=function(t){for(var o=[],r=0;r0&&o[o.length-1].tagName===n(i.content[0].content[1])&&o.pop():"/>"===i.content[i.content.length-1].content||o.push({tagName:n(i.content[0].content[1]),openedBraces:0}):o.length>0&&"punctuation"===i.type&&"{"===i.content?o[o.length-1].openedBraces++:o.length>0&&o[o.length-1].openedBraces>0&&"punctuation"===i.type&&"}"===i.content?o[o.length-1].openedBraces--:l=!0),(l||"string"==typeof i)&&o.length>0&&0===o[o.length-1].openedBraces){var s=n(i);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(s=n(t[r-1])+s,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",s,null,s)}i.content&&"string"!=typeof i.content&&a(i.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||a(e.tokens)}))}(i),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){"string"==typeof t&&(t=[t]),t.forEach((function(t){!function(t,n){var a="doc-comment",o=e.languages[t];if(o){var r=o[a];if(!r){var i={"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,alias:"comment"}};r=(o=e.languages.insertBefore(t,"comment",i))[a]}if(r instanceof RegExp&&(r=o[a]={pattern:r}),Array.isArray(r))for(var l=0,s=r.length;l>>?=?|->|([-+&|])\2|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","class-name",{annotation:{alias:"punctuation",pattern:/(^|[^.])@\w+/,lookbehind:!0},namespace:{pattern:/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)[a-z]\w*(\.[a-z]\w*)+/,lookbehind:!0,inside:{punctuation:/\./}},generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":n,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})}(i),function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,a,o,r){if(n.language===a){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof r&&!r(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(a,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,a){if(n.language===a&&n.tokenStack){n.grammar=e.languages[a];var o=0,r=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=r.length);s++){var c=l[s];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=r[o],p=n.tokenStack[u],d="string"==typeof c?c:c.content,f=t(a,u),m=d.indexOf(f);if(m>-1){++o;var h=d.substring(0,m),v=new e.Token(a,e.tokenize(p,n.grammar),"language-"+a,p),g=d.substring(m+f.length),b=[];h&&b.push.apply(b,i([h])),b.push(v),g&&b.push.apply(b,i([g])),"string"==typeof c?l.splice.apply(l,[s,1].concat(b)):c.content=b}}else c.content&&i(c.content)}return l}(n.tokens)}}}})}(i),function(e){e.languages.php=e.languages.extend("clike",{keyword:/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i,boolean:{pattern:/\b(?:false|true)\b/i,alias:"constant"},constant:[/\b[A-Z_][A-Z0-9_]*\b/,/\b(?:null)\b/i],comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0}}),e.languages.insertBefore("php","string",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),e.languages.insertBefore("php","comment",{delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"}}),e.languages.insertBefore("php","keyword",{variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),e.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}});var t={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[.+?]|->\w+)*)/,lookbehind:!0,inside:{rest:e.languages.php}};e.languages.insertBefore("php","string",{"nowdoc-string":{pattern:/<<<'([^']+)'(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;/,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},"heredoc-string":{pattern:/<<<(?:"([^"]+)"(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;|([a-z_]\w*)(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\2;)/i,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:t}},"single-quoted-string":{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,alias:"string",inside:{interpolation:t}}}),delete e.languages.php.string,e.hooks.add("before-tokenize",(function(t){if(/<\?/.test(t.code)){e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#)(?:[^?\n\r]|\?(?!>))*|\/\*[\s\S]*?(?:\*\/|$))*?(?:\?>|$)/gi)}})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(i),function(e){var t=e.languages.javascript,n=/{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})+}/.source,a="(@(?:param|arg|argument|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(a+/[$\w\xA0-\uFFFF.]+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(a+/\[[$\w\xA0-\uFFFF.]+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{punctuation:/[.,:?=<>|{}()[\]]/}},{pattern:/(@(?:augments|extends|class|interface|memberof!?|this)\s+)[A-Z]\w*(?:\.[A-Z]\w*)*/,lookbehind:!0,inside:{punctuation:/\./}}],example:{pattern:/(@example\s+)[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^(\s*(?:\*\s*)?).+$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(i),i.languages.actionscript=i.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[~?@]/}),i.languages.actionscript["class-name"].alias="function",i.languages.markup&&i.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:{rest:i.languages.markup}}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},rest:e.languages.javascript}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(i),function(e){e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:/(\.\s*)#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*/,lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var t=["function","function-variable","method","method-variable","property-access"],n=0;n))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/,lookbehind:!0})}(i),i.languages.n4js=i.languages.extend("javascript",{keyword:/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),i.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),i.languages.n4jsd=i.languages.n4js,i.languages.typescript=i.languages.extend("javascript",{keyword:/\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),i.languages.ts=i.languages.typescript,function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,a=t.inside.interpolation,o=a.inside["interpolation-punctuation"],r=a.pattern.source;function i(t,a){if(e.languages[t])return{pattern:RegExp("((?:"+a+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function s(t,n,a){var o={code:t,grammar:n,language:a};return e.hooks.run("before-tokenize",o),o.tokens=e.tokenize(o.code,o.grammar),e.hooks.run("after-tokenize",o),o.tokens}function c(t){var n={};n["interpolation-punctuation"]=o;var r=e.tokenize(t,n);if(3===r.length){var i=[1,1];i.push.apply(i,s(r[1],e.languages.javascript,"javascript")),r.splice.apply(r,i)}return new e.Token("interpolation",r,a.alias,t)}function u(t,n,a){var o=e.tokenize(t,{interpolation:{pattern:RegExp(r),lookbehind:!0}}),i=0,u={},p=s(o.map((function(e){if("string"==typeof e)return e;for(var n,o=e.content;-1!==t.indexOf(n=l(i++,a)););return u[n]=o,n})).join(""),n,a),d=Object.keys(u);return i=0,function e(t){for(var n=0;n=d.length)return;var a=t[n];if("string"==typeof a||"string"==typeof a.content){var o=d[i],r="string"==typeof a?a:a.content,l=r.indexOf(o);if(-1!==l){++i;var s=r.substring(0,l),p=c(u[o]),f=r.substring(l+o.length),m=[];if(s&&m.push(s),m.push(p),f){var h=[f];e(h),m.push.apply(m,h)}"string"==typeof a?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):a.content=m}}else{var v=a.content;Array.isArray(v)?e(v):e([v])}}}(p),new e.Token(a,p,"language-"+a,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:md|markdown)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),t].filter(Boolean);var p={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function d(e){return"string"==typeof e?e:Array.isArray(e)?e.map(d).join(""):d(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in p&&function t(n){for(var a=0,o=n.length;a/g,t),n&&(e=e+"|"+e.replace(/_/g,"\\*")),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var a=/(?:\\.|``.+?``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\r?\n|\r)|$)/.source.replace(/__/g,a),r=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\r?\n|\r)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+r+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+r+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(a),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+r+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(a),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/(^[ \t]*(?:\r?\n|\r))(?: {4}|\t).+(?:(?:\r?\n|\r)(?: {4}|\t).+)*/m,lookbehind:!0,alias:"keyword"},{pattern:/``.+?``|`[^`\r\n]+`/,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\r?\n|\r))[\s\S]+?(?=(?:\r?\n|\r)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\r?\n|\r)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#+.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/__(?:(?!_)|_(?:(?!_))+_)+__/.source,!0),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/_(?:(?!_)|__(?:(?!_))+__)+_/.source,!0),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+?\2/.source,!1),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\]))+\])/.source,!1),lookbehind:!0,greedy:!0,inside:{variable:{pattern:/(\[)[^\]]+(?=\]$)/,lookbehind:!0},content:{pattern:/(^!?\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},string:{pattern:/"(?:\\.|[^"\\])*"(?=\)$)/}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,a=t.length;n",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var a=t[n],o=[];/^\w+$/.test(n)||o.push(/\w+/.exec(n)[0]),"diff"===n&&o.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+a+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:o}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(i),i.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/m,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/m}},coord:/^@@.*@@$/m,commit_sha1:/^commit \w{40}$/m},i.languages.go=i.languages.extend("clike",{keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,builtin:/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/,boolean:/\b(?:_|iota|nil|true|false)\b/,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,number:/(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i,string:{pattern:/(["'`])(\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0}}),delete i.languages.go["class-name"],function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/i,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:true|false)\b/,block:{pattern:/^(\s*~?\s*)[#\/]\S+?(?=\s*~?\s*$|\s)/i,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")}))}(i),i.languages.json={property:{pattern:/"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,greedy:!0},comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,number:/-?\d+\.?\d*(e[+-]?\d+)?/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},i.languages.less=i.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-]+?(?:\([^{}]+\)|[^(){};])*?(?=\s*\{)/i,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\([^{}]*\)|[^{};@])*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,operator:/[+\-*\/]/}),i.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/,lookbehind:!0,alias:"function"}}),i.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},builtin:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,symbol:{pattern:/^[^:=\r\n]+(?=\s*:(?!=))/m,inside:{variable:/\$+(?:[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:[/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,{pattern:/(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/,lookbehind:!0}],operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},i.languages.objectivec=i.languages.extend("c",{keyword:/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,string:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|@"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete i.languages.objectivec["class-name"],i.languages.ocaml={comment:/\(\*[\s\S]*?\*\)/,string:[{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:!0},{pattern:/(['`])(?:\\(?:\d+|x[\da-f]+|.)|(?!\1)[^\\\r\n])\1/i,greedy:!0}],number:/\b(?:0x[\da-f][\da-f_]+|(?:0[bo])?\d[\d_]*\.?[\d_]*(?:e[+-]?[\d_]+)?)/i,type:{pattern:/\B['`]\w*/,alias:"variable"},directive:{pattern:/\B#\w+/,alias:"function"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|prefix|private|rec|then|sig|struct|to|try|type|val|value|virtual|where|while|with)\b/,boolean:/\b(?:false|true)\b/,operator:/:=|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lxor|lsl|lsr|mod|nor|or)\b/,punctuation:/[(){}\[\]|_.,:;]/},i.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]+?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/i,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},i.languages.python["string-interpolation"].inside.interpolation.inside.rest=i.languages.python,i.languages.py=i.languages.python,i.languages.reason=i.languages.extend("clike",{comment:{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/}),i.languages.insertBefore("reason","class-name",{character:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,alias:"string"},constructor:{pattern:/\b[A-Z]\w*\b(?!\s*\.)/,alias:"variable"},label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete i.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m,lookbehind:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,inside:{atrule:/(?:@[\w-]+|[+=])/m}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/,{pattern:/(\s+)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/,lookbehind:!0}})}(i),i.languages.scss=i.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),i.languages.insertBefore("scss","atrule",{keyword:[/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i,{pattern:/( +)(?:from|through)(?= )/,lookbehind:!0}]}),i.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),i.languages.insertBefore("scss","function",{placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/,lookbehind:!0}}),i.languages.scss.atrule.inside.rest=i.languages.scss,i.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+\.?\d*|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t={url:/url\((["']?).*?\1\)/i,string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,number:/\b\d+(?:\.\d+)?%?/,boolean:/\b(?:true|false)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.+|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],punctuation:/[{}()\[\];:,]/};t.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^{|}$/,alias:"punctuation"},rest:t}},t.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:t}},e.languages.stylus={comment:{pattern:/(^|[^\\])(\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},"atrule-declaration":{pattern:/(^\s*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:t}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:(?:\{[^}]*\}|.+)|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:t}},statement:{pattern:/(^[ \t]*)(?:if|else|for|return|unless)[ \t]+.+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:t}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)[^{\r\n]*(?:;|[^{\r\n,](?=$)(?!(\r?\n|\r)(?:\{|\2[ \t]+)))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:t.interpolation}},rest:t}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t]+)))/m,lookbehind:!0,inside:{interpolation:t.interpolation,punctuation:/[{},]/}},func:t.func,string:t.string,interpolation:t.interpolation,punctuation:/[{}()\[\];:.]/}}(i);var l=i.util.clone(i.languages.typescript);i.languages.tsx=i.languages.extend("jsx",l),i.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^_`|~]+/i,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/},i.languages.yaml={scalar:{pattern:/([\-:]\s*(?:![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:/(\s*(?:^|[:\-,[{\r\n?])[ \t]*(?:![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/,lookbehind:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[ \t]*(?:$|,|]|}))/m,lookbehind:!0,alias:"number"},boolean:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:true|false)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},null:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:null|~)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},string:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}|\s*#))/m,lookbehind:!0,greedy:!0},number:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im,lookbehind:!0},tag:/![^\s]+/,important:/[&*][\w]+/,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},i.languages.yml=i.languages.yaml,t.a=i},function(e,t,n){"use strict";var a=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach((function(e){a[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},a)).join("")}catch(o){return!1}}()?Object.assign:function(e,t){for(var n,l,s=i(e),c=1;cA.length&&A.push(e)}function I(e,t,n,a){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var l=!1;if(null===e)l=!0;else switch(o){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case r:case i:l=!0}}if(l)return n(a,e,""===t?"."+L(e,0):t),1;if(l=0,t=""===t?".":t+":",Array.isArray(e))for(var s=0;s