@shopify/cli-hydrogen 4.0.0-alpha.1 → 4.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/dist/templates/demo-store/.cache/content-v2/sha512/00/cf/2691ba3b4253dc803282219fc108c6d7b3fb03e318729ee568216e8a13af36614948c5a215992ba7b5222cc1055cf81b6a752c3597e261a8c8095f55eb9d +1 -0
  2. package/dist/templates/demo-store/.cache/content-v2/sha512/02/76/13bbea15bb42b81a204b0dc5f14726e0bfa8d012a7b284f887cc2e3c92195d6b07a78f199f990b311ca5fafa9079563503cdd81808cd9b7e496d86c72732 +1 -0
  3. package/dist/templates/demo-store/.cache/content-v2/sha512/08/3c/f2108d415b1474e3e7fee6684b9f1c4b99249c5d4178686b1632d19209f6782c86d7b04abe3873d955bb9e353cca92d8ae7324f374eb691bfd8729ce8407 +1 -0
  4. package/dist/templates/demo-store/.cache/content-v2/sha512/0c/da/c6f091fb614d96e6d0a533733b487011ab615ad5983823c7085320ec2ea2ee8e020ae2646f4772d350f253abb4f8a2489c843a8b873a90bfed3c27c5fd0b +1 -0
  5. package/dist/templates/demo-store/.cache/content-v2/sha512/11/0c/195071c290a61e22dd825b300c9f93e5315b2effefc3e5545440ac704d629e177bc877333ce73232ac72703bcc69fb425632d84b3caefe7f5c0fd12537ee +1 -0
  6. package/dist/templates/demo-store/.cache/content-v2/sha512/17/08/03dabbacd40d4a2b132018a520d1dbcf29ffb2c659bbe01cb91f700202d5016ab4104831b95a05b98535549be4a6520ddcd6504ba361692549a5cd0458ee +1 -0
  7. package/dist/templates/demo-store/.cache/content-v2/sha512/25/f3/97b4dddda618ca4621d4a8da779269ba2f2eae1fc35cb0cc394e5fb909bb4825e10ca37a4115d69fdd5551be5d64bdb75e0bf0199794f473c25f4ae7aa1a +1 -0
  8. package/dist/templates/demo-store/.cache/content-v2/sha512/27/a0/d277ff364ced6a2d01639f1e2b8675ef95eff3a4aa4d2fda0990392526e0f18def66116a8623096d1bdafabe1dc8efc56ef0956054b3370dfa9ad6596a29 +1 -0
  9. package/dist/templates/demo-store/.cache/content-v2/sha512/28/53/96d2a5c3d4b08a7191e545d4d961f7690f814a331dc8efcc11e45854fbccd04f825ec8d3a1070b05aca51dd63e06c778316395446055cc3cfc90c8b30615 +1 -0
  10. package/dist/templates/demo-store/.cache/content-v2/sha512/28/7c/c71b0c6367bdf7307a8061fe1c4568c9f1e9603d835b6fc917fe8042535a867c37154e35376a01ad6bdb3c2d6f29b88b41902fd6f20b1227e02081682d01 +1 -0
  11. package/dist/templates/demo-store/.cache/content-v2/sha512/29/2e/db501d168869cc6b7d5e51bfbf399e920773ed905b9e2b782ebfb29c5260f05b67d0b7d4599e8c5666253789d545ecfdfdb9e020da8ac262d99d0e69e5b0 +1 -0
  12. package/dist/templates/demo-store/.cache/content-v2/sha512/2b/71/b06448186eeafe74e7e29de9fb188013acc513af9d0d4eeff66650385fce9f77f5f2ccea51806c8449cf25c7825ee4c3ac428822d4e3b8b3f1b010adb7aa +1 -0
  13. package/dist/templates/demo-store/.cache/content-v2/sha512/2d/e9/141465ed1c16a93073fe5602f300dc3d8a5246fe045abffa4ac277550e4b365c30629224f328540a36d470ef4d69d8f80d6aeadfbd4a07872a66c40143df +1 -0
  14. package/dist/templates/demo-store/.cache/content-v2/sha512/2d/ec/a65ff18546d88746d8d74b60cd34137005996ded9afd4877b74cba36e9a4dd1829992dbb37ec13b296f39cfeef462c6f12a4c6913577504fec6d7d5611aa +1 -0
  15. package/dist/templates/demo-store/.cache/content-v2/sha512/30/9f/f03a3dcdd3a5f1116ab710595deb552c1564bd8295bff71f62b3d95be656a6ef53e8ceaee21cbcb880cc06270c3db2327ab1ddef2fc09d6cba4436f470e7 +1 -0
  16. package/dist/templates/demo-store/.cache/content-v2/sha512/35/3c/f46f8adbcf210210bac8ab00267ab16c16393ab4a95920f69c4452b298a83c9785d3d2c2bb4a63937cb4eed028197a18f0d2929024ebae18b0751f07ebf5 +1 -0
  17. package/dist/templates/demo-store/.cache/content-v2/sha512/36/3e/ece5cc6633a23301aa4f05fc1efddd8876aec2d8bf7afe504526e2866ed67263e99bffbb1e0d99a65622a7246f9d662217032aca47f70b6f0f13b75e7df1 +1 -0
  18. package/dist/templates/demo-store/.cache/content-v2/sha512/37/19/de54f68ea7b2a79f86d12ec1107e99d04217817fb6de9a5ba2dc5cdd16d16e1dda4cc9f7cf2b6ece5a6330f47ca20fa27a08aeffc17eb23fd11399e601fd +1 -0
  19. package/dist/templates/demo-store/.cache/content-v2/sha512/46/04/af285aee74d96b28b24f75d7911de65e6c7bb26475ab5219fe5308028fda55060cf45650dfa09c0731ec73ece453c1e24e0c38715e8d4c5c80fd6365a1f4 +1 -0
  20. package/dist/templates/demo-store/.cache/content-v2/sha512/46/1c/c69c5b9150a9f76dff13c0d6a768540636e6569f4f3f56795d1b4c494045d5908674f292815212ac52e6d8a597b4ad35783506113f195a09f1057f09f00c +1 -0
  21. package/dist/templates/demo-store/.cache/content-v2/sha512/4b/48/ca635670e7d1b1a5550d32f51389a5754234da55c6d7c900f348c8bf1ccc84bdcefc620e08979b7aa1d04a49a1138b46346f126d20c0126eb0c3261deb5b +1 -0
  22. package/dist/templates/demo-store/.cache/content-v2/sha512/50/75/609ace481c5e148698b91afca04bd995ab360802c5f8961228eceb891236836cab54c7fddd97a62e4ca19a03e5863fd0999c68849cf37b30a4fe32e1397f +1 -0
  23. package/dist/templates/demo-store/.cache/content-v2/sha512/50/cd/4f809a5b4a52449879ecf0b061e00f36f5e2df284fddb5c9c75e13ab1db6e85931fb82d211f1699eed3fe308ffd5d2e69dc2d261fdea58f8224acc278143 +1 -0
  24. package/dist/templates/demo-store/.cache/content-v2/sha512/51/ab/e165384df6374c7b2d0ebebc8642ecb0e0c14f7c5b57970ec5d2e17f7d1643e0b01eda69e5ffbefde85ecba6d613bcc5175c5564e36bfb73d966c8ea4153 +1 -0
  25. package/dist/templates/demo-store/.cache/content-v2/sha512/54/86/917224aeb3e04e19a51534244f5ed28f3529d85276452f52af9af3657798246c97a0948bcf62c707394ab80f0062a87e7079bd71c05e0d16f927091617d2 +1 -0
  26. package/dist/templates/demo-store/.cache/content-v2/sha512/6a/9d/a99dc2fae7981ecb35b0dadc0acddd23e65ae6590f70743d824c36697fd10610ffafa9aa63c09a7861a701c1d52400050d9b562dc4f6bdba8e0de362b486 +1 -0
  27. package/dist/templates/demo-store/.cache/content-v2/sha512/6b/6d/71211d4cebfd1e1c86788ede5784a53cf366a85f4e2646a300c820958a5219bfa5492b169d1cca1b431e946b41d15a526ee7f77db65a6e730dead281f777 +1 -0
  28. package/dist/templates/demo-store/.cache/content-v2/sha512/6e/25/d2212e576c7d9684f5237bd1ee363dfe5cf0ad5f9acbeeded47a531c7d3444d2144684e310c8d4d4200ee5b142671bc2be887dc8d3244377d645813e048c +1 -0
  29. package/dist/templates/demo-store/.cache/content-v2/sha512/73/40/c822831f11f08a9ceea944d0145b072ba6164a3e2e75f98fda5437cda6dfddf9ca9450445c1f3236228d6259ac95e4cde9bb6e5996490ed00b7b13b06121 +1 -0
  30. package/dist/templates/demo-store/.cache/content-v2/sha512/73/4c/bf7dfa31c1d17f57e5fdabc0bd79ce133d3ea7562f494615c8bd4369b58c29963090577cd70c6ab2bb8af6ae92915ce20bb0bf1925cccb961aeeed9c8703 +1 -0
  31. package/dist/templates/demo-store/.cache/content-v2/sha512/7b/15/d1749be8fa73f2f123e5e9a0807f343cdfa14fd263f9073fe7cd73352b7318b976a43687096a06acbbed2a2f0f86119d45cdd1e9ad6d09208c06b6232db2 +1 -0
  32. package/dist/templates/demo-store/.cache/content-v2/sha512/88/76/d18fdfbb05293909609d42368642fc6da4bd138c5864ec2f721212b52e595b84ae46f48021ed3e6240edf443f78bdea557d56d700e3da848459ea3077a80 +1 -0
  33. package/dist/templates/demo-store/.cache/content-v2/sha512/8a/d1/ca384452cdc8a2fb92fa1c70a4db303dd5f9887475e0e4ddf4bc711b5ebceb684ba5fd8bf596c3d491ab8598bd52ffe20f98564f8110da0730f46f39e790 +1 -0
  34. package/dist/templates/demo-store/.cache/content-v2/sha512/8b/ae/5793cc875f8fa5fe744c72c07b09ead40386e23a89cb2b77957c61413eb4afc993f70eee071a00aeff74bfe63cfcd91385e45094338c0fc05aedaca91917 +1 -0
  35. package/dist/templates/demo-store/.cache/content-v2/sha512/8c/51/88e1fc4d8365cb6ad1a755e8bca81fbb64abb1c8ef08a8314471952910e0e29eadfa283d482233d500893a57b57470171ab98ebacb4b93780b37e7a87c93 +1 -0
  36. package/dist/templates/demo-store/.cache/content-v2/sha512/8f/81/8e238bb1d4654dcc554d661194c9415fe36dc6f20624dd26e47c0043f06ee69d1abd49947b11954508bfd01823fdf97a3ca9196521f05cb471473095c5c5 +1 -0
  37. package/dist/templates/demo-store/.cache/content-v2/sha512/91/39/2d6842760bb34dde16e9aad46162f546e8cab25d2440a69cb01bf4b2ed8fb3122490666d3eb9b70225259f7ed47e182bc6b83fe455647dde30d61cefa07d +1 -0
  38. package/dist/templates/demo-store/.cache/content-v2/sha512/91/ef/9fc44c6b88d8614b31058550efddfc49a43aeef50cf16d7ade5087e6b13c3f5ca743b1a10c72993a806db4ddf093c2216a853e0dbf6c002c61507e60bfee +1 -0
  39. package/dist/templates/demo-store/.cache/content-v2/sha512/93/6b/e60098157f6bff8ba570cab2ffd97a14983109006f7fa87e4432728366f96dfb19e957d28754daa45f1b6cb2421d26ab59bbd5ce5a448d6102e8e662403d +1 -0
  40. package/dist/templates/demo-store/.cache/content-v2/sha512/94/4a/a539de5a6348e4ecc4e05ea18301c0077a30ed452550660f8b13440a40f7e3858a03ef0aad25b559c49dbbe51455cc5d8e2a7b6c2b0c57e31875b5f8e6be +1 -0
  41. package/dist/templates/demo-store/.cache/content-v2/sha512/94/6b/572828348790e114213fd3502aba2781cdb87da48f9a16bc6c407d5e12ec888c3fd144f699f50c26934255feee621b2e81aa9156d1afd4e838698fd7be94 +1 -0
  42. package/dist/templates/demo-store/.cache/content-v2/sha512/9c/93/917e1b17263467c1baa4f0ef3e5f0a24cf28fc88f290532df19a48d5364d0ca64ef4b5296581cec1e94c5b9a896174e7dd67f42c44ab0482ecbbedf46b3a +1 -0
  43. package/dist/templates/demo-store/.cache/content-v2/sha512/9e/2e/945fdc4a4fb8c2186645c71b48ef341e6f0da2a6b3ddd38761210fcf713c2249160f87387ac66547fa30732269fbf9ad6b24b6c6a50ae914284b96be8571 +1 -0
  44. package/dist/templates/demo-store/.cache/content-v2/sha512/9f/e5/f8840af1702b9e2e9005708f2513779d889a88d8d7379d5d93cf28390fd6c0300ba5cac0fe429d67a22ddeb884f85917c73f4ae286328a5cf437f568b73f +1 -0
  45. package/dist/templates/demo-store/.cache/content-v2/sha512/a0/92/dc5bc315864cebde3ccd84e2a2e4228d8f467aa14efdcc3ef13b8815abbf495afeccb531cc4e049fe4d81d0b3e5afc0139b4450fb2cfca2b2c82cdd450ac +1 -0
  46. package/dist/templates/demo-store/.cache/content-v2/sha512/aa/85/daa1447b7715eafed15469bb5fdce67152d71416d2c40db224480ca151019a7ee86ea5b81ddeb85f7bdae453dab2021886ba63e85b0303ab20bc7b712ea4 +1 -0
  47. package/dist/templates/demo-store/.cache/content-v2/sha512/ad/44/f00b1b89c5d7778be4cd40cff421c77e97a937e945491777256fafa6ac80cc334b7118b4248fd13c3cb7fb37d86e1b54afaf688b295542694f276d359082 +1 -0
  48. package/dist/templates/demo-store/.cache/content-v2/sha512/b0/02/9ef55507e114e4391048df8e43101c006d5b3852e33450030d3ba974d438dd3ac489b084b15445ff5e1747e642eda2d969a13c8ba5a778669f9ab019789a +1 -0
  49. package/dist/templates/demo-store/.cache/content-v2/sha512/ba/08/9238d2f1bec0536eed757ab6583e384da966814a1c83896409f032bb673a056d62bb6f3b8a5bef36d61daf0e15617154b106b3bbc721354690bc930bb649 +1 -0
  50. package/dist/templates/demo-store/.cache/content-v2/sha512/bc/33/6e26ece5ac53d9eac9ac8a192ef39faf2a587a5808253c659fb1d371c477fc8074d428c8d1929b0d85dd1fec66fc79ea6b9fcb01507e2efec75fb7fbc2cc +1 -0
  51. package/dist/templates/demo-store/.cache/content-v2/sha512/be/33/7a64881c125a7ff913866bb1818d3fd54d10d837c5a66b6e8f39b9be9e12d352d060f365a62b070414995afb4e90ce70e3d0d31423e6f6fa4e02141e9e9d +1 -0
  52. package/dist/templates/demo-store/.cache/content-v2/sha512/c5/5a/e35359eb2d580bc01b459208e8911fb606223ae88c095db8174d0400824626bc8cf02c869c11d3b751774fafc52555243ed0ea6d6e3c072ef990a4f41461 +1 -0
  53. package/dist/templates/demo-store/.cache/content-v2/sha512/cd/6c/8525b5108666cbe3305a4ad413c0ea863878337b0621eaff9443c170e2f4afe6a0b0ece9ea5ee6777f37b483dede689e86734350430416bde47553bdaf7c +1 -0
  54. package/dist/templates/demo-store/.cache/content-v2/sha512/d4/79/8b69e57b3c37d1b04f2734fef377858aaa753467733fc2545b45556e0ae2d066c0180fa34c3a93b625db353ee070b82ad24f3b8dd2a2513aac4fcdc55154 +1 -0
  55. package/dist/templates/demo-store/.cache/content-v2/sha512/d5/f6/e56af7190da8a8ba31ae458ad2b1cbfc0cd10a449248348eb92dd8a7de2819c284525513e3082fcd3b1bfdddbe2135bda8bf827cef58bc95abb8a3c83278 +1 -0
  56. package/dist/templates/demo-store/.cache/content-v2/sha512/d7/9e/450b29d4cb47831fc3235642c3f4c461d3fb8f8c0ee567aeed2d51d3c0eb6d2e0cfabcf0dbe709ff99d3ba04ead42c75b06efe396aae4939163884cbfec5 +1 -0
  57. package/dist/templates/demo-store/.cache/content-v2/sha512/da/84/b6d27e02f9b109d7cff3095b08e2e2ed1802c8b6829c98f6e297d1c404059f8bacfdc278afd07e2f81cbc487318396a3775037b678ab6aff9a5231c94c0d +1 -0
  58. package/dist/templates/demo-store/.cache/content-v2/sha512/dc/0a/58f1301ab9de7b2c6b01d5d5b3676416048c9a42e4140ce4149d242da4d1d7b009bd9f911cf5860628ede86c7d30f4e827c502b8b4f365de6d7e7378ca94 +1 -0
  59. package/dist/templates/demo-store/.cache/content-v2/sha512/dd/b0/b95c68e126e3b0ceeb4c28f6d9cfd165597001d03c7287a9d2fe632cd166c442a578b55ddbb757b72202dcdd49586de80d54cb98ec439d0bd99c0023d6f6 +1 -0
  60. package/dist/templates/demo-store/.cache/content-v2/sha512/e2/6e/b769bab909900c19709f3779dde41268bd5bad463f233c1a4934aefc4af01ba532b0ec73776e874427e110710069e5c2c0aeb4debeef9827a21cc8d3364d +1 -0
  61. package/dist/templates/demo-store/.cache/content-v2/sha512/e8/ae/9b467e1d23913d4584d9417875b3cdc25f6dfed8b228f3a0c818129010b778aae1af1eb200b015ab428e79afe0ef1061262392fbdb96ed7da95efbe7f758 +1 -0
  62. package/dist/templates/demo-store/.cache/content-v2/sha512/ec/08/68aa37fb6cee7b8ad4e1c4ee9d352d626db39c1f6b1ed71530e5943d1575127e82f636bdab2fa00b90581c3829db9bf4d3ef4130024ef224c8a48b4d7df2 +1 -0
  63. package/dist/templates/demo-store/.cache/content-v2/sha512/ed/74/dda12abc4e0e3d645725a3b240b3874262c153ae37fe7a2991d5b6aa7564b5adf8080d262c0be4f841747ca359db51d58b004b7eed8330f27a739b9e3a46 +1 -0
  64. package/dist/templates/demo-store/.cache/content-v2/sha512/fd/f3/986b7ee5ea5ad1d89af5c08de69d43c025b54381092e0a19fd7e7a1e0352552aa85c056315ce5e11a46ec75a252b1a44e2083abb73cd6df8407dfdb0ac48 +1 -0
  65. package/dist/templates/demo-store/.cache/index-v5/06/7e/7376a38676aa7f0543ab03fc451602dab8ad66e6ddebc44d94ee6f5c1df2 +2 -0
  66. package/dist/templates/demo-store/.cache/index-v5/06/84/719070270981ac7d003eefa98569d499d2d93dd2f1828da9825b87d03160 +2 -0
  67. package/dist/templates/demo-store/.cache/index-v5/08/b4/0d9cf6db265587df0990c07ef4bc1e61fa9fe85d6cfe4d6cbbf839c2313c +2 -0
  68. package/dist/templates/demo-store/.cache/index-v5/09/f6/fe4b05c4157320b8b59b3f84116195be0437d87357d743d21acd638a4606 +2 -0
  69. package/dist/templates/demo-store/.cache/index-v5/0a/75/d3baf53012b62018cb60557f47601d810ec57c564bdc0b24c4990c73a833 +2 -0
  70. package/dist/templates/demo-store/.cache/index-v5/0c/43/721b2c2b054af973286c2ea3c51c612d347365682b5aae5b9e98554f91e1 +2 -0
  71. package/dist/templates/demo-store/.cache/index-v5/12/83/1a44e36774d9014fe186e18a3691e1ec3f37f2c30c22d38787a3cd157d7f +2 -0
  72. package/dist/templates/demo-store/.cache/index-v5/13/bd/14a326bd4cb6fb280eb85ecca60d6519738bf7e80df5285ec626d129baf3 +2 -0
  73. package/dist/templates/demo-store/.cache/index-v5/19/b1/b0877b4141a2ee6f7c173e2407c0b26958c0919238934a89a03049397aec +2 -0
  74. package/dist/templates/demo-store/.cache/index-v5/1b/6a/418ff1309326b48db3963d5ad40eacb0728d138b7f24896390e484b34c50 +2 -0
  75. package/dist/templates/demo-store/.cache/index-v5/24/d9/e0e8006f3c8deb17314475a674698161e207f116d9056bf0e1aabfa6c430 +2 -0
  76. package/dist/templates/demo-store/.cache/index-v5/28/f4/466108ec4c6619222c94f178cc3962ed49f5f9a1e3783ad55335de0cdad3 +2 -0
  77. package/dist/templates/demo-store/.cache/index-v5/2e/ae/45167cd92f49c852d660e05a29b7484c886b3c0579fb9c148162b1a88fb6 +2 -0
  78. package/dist/templates/demo-store/.cache/index-v5/35/95/be51ab071b6bd2259e4acb91185c5e0affeee223c15a822ba226607d5616 +2 -0
  79. package/dist/templates/demo-store/.cache/index-v5/36/74/12368a4a642be74c83dfdb5eaca244dc624ca78c3528edc49262807f9f96 +2 -0
  80. package/dist/templates/demo-store/.cache/index-v5/37/56/4cbfef349acf26ffb05aa7f17742913d7bd956c920a5bb1941ca0dda3a22 +2 -0
  81. package/dist/templates/demo-store/.cache/index-v5/3b/e5/5841b3445af43a34c7b560d6cf329ade1bfb64584b85fbb10ac4a7313ef4 +2 -0
  82. package/dist/templates/demo-store/.cache/index-v5/40/67/0807c50d176836338cf5fe4864622d377a143dc97f0a86a702bf11dd7d72 +2 -0
  83. package/dist/templates/demo-store/.cache/index-v5/45/4b/1a3af253b3e2ef123d3872ad54d71865cc788ff5373a00414d2ae0243421 +2 -0
  84. package/dist/templates/demo-store/.cache/index-v5/4f/8a/4672c73b9b76b90b7b378fbf9bc1a09426d0b5dbe97404e1f1f5a354013c +2 -0
  85. package/dist/templates/demo-store/.cache/index-v5/51/da/70f3331e7c62bab563cf9f86297b1bda6f6215420807d7710aaee0b8ca5d +2 -0
  86. package/dist/templates/demo-store/.cache/index-v5/55/0e/4666f091383137a5168d8052b246b3a7a28e05215dc7d8ff7f6b921f0142 +2 -0
  87. package/dist/templates/demo-store/.cache/index-v5/58/93/287077465c80a2bfba306f218e51893019895137562df4a116326a0b222a +2 -0
  88. package/dist/templates/demo-store/.cache/index-v5/61/d4/edd3f3713e7e144ff99d6920736fddfa8676eb5ab824f3f97cf65fa250ea +2 -0
  89. package/dist/templates/demo-store/.cache/index-v5/68/63/f781b7764101dfe1c192f68e1083513974e2396c9db609adf220a983bd88 +2 -0
  90. package/dist/templates/demo-store/.cache/index-v5/68/f1/4a98caa6e2ab43e78781b99c7833cab4e722cd716bf9718e001a43efb27b +2 -0
  91. package/dist/templates/demo-store/.cache/index-v5/7d/de/0d76288297eecd2ad4b07dd881631b481b19a83f7c9d36cfa4f967332943 +2 -0
  92. package/dist/templates/demo-store/.cache/index-v5/7e/12/528dc5a6aebfe1fb1d5b4b7d56097f25291dd9454e0ab8faa0a26f296815 +2 -0
  93. package/dist/templates/demo-store/.cache/index-v5/7e/bf/17c5f07b52df7946e14e733afa8f3880a40c1032bd3fb307cae4319e0fa8 +2 -0
  94. package/dist/templates/demo-store/.cache/index-v5/81/59/14da935263d86e18f99d2391d6731d29cd2d5c0d8c81c65293816e6ad32a +2 -0
  95. package/dist/templates/demo-store/.cache/index-v5/85/85/0475166b36ce12e75c5a6352b12ea2fa872f696b8161dd08fdfab09a7273 +2 -0
  96. package/dist/templates/demo-store/.cache/index-v5/88/bd/84904435de02c12b5b01c5aadd782e65a48d44006d98b864e01961a109dc +2 -0
  97. package/dist/templates/demo-store/.cache/index-v5/88/f6/729e4bad26ebd2b792dee6d1f96f87546ff9c4fa95518f603627fdd1126f +2 -0
  98. package/dist/templates/demo-store/.cache/index-v5/8a/7c/f5287da63fd3884889fef7019b2679f9a53ce5a268097295682ddad5131b +2 -0
  99. package/dist/templates/demo-store/.cache/index-v5/95/40/bed10ab9e6081915bc6dc1ffb23a589f407c22ab7d254453f0b3ce53e5f5 +2 -0
  100. package/dist/templates/demo-store/.cache/index-v5/96/b8/090abc56d6e9489d08af9564fb75d34477730aa1ece14ad85ba516549f2b +2 -0
  101. package/dist/templates/demo-store/.cache/index-v5/9b/e4/8aa4e95d52644490afdb862c05cb2dccb9f5c1aa45157f3af5c37aad080a +2 -0
  102. package/dist/templates/demo-store/.cache/index-v5/a1/e7/85ee850c85c329791d2123dd8231464fa27317290756b459012830d0f57e +2 -0
  103. package/dist/templates/demo-store/.cache/index-v5/a2/27/f2e299e50a8a3b2b54a89bb3be85f3118081b3c6cfed704bb7d2802e2a49 +2 -0
  104. package/dist/templates/demo-store/.cache/index-v5/a2/88/971871174c14875c70ca7bc9cea8d6b01465c1716d99440b059fa493947c +2 -0
  105. package/dist/templates/demo-store/.cache/index-v5/aa/57/05b67f08f71909d263fe9c357786097f5683394dbd65b0e4da2f9aa25288 +2 -0
  106. package/dist/templates/demo-store/.cache/index-v5/ac/25/d778b282ab78dbafcc1b4fb19695aed368081c76fa680140b89af08b07b1 +2 -0
  107. package/dist/templates/demo-store/.cache/index-v5/ad/f9/09a060689bb686417e37a22fcf4866b6188f58eff7128f7979a4a68a6b2d +2 -0
  108. package/dist/templates/demo-store/.cache/index-v5/af/79/e80586a8b4bd0086246d97823d95bd64c77ad44b1fae591fdcd3883f776e +2 -0
  109. package/dist/templates/demo-store/.cache/index-v5/b8/22/805af62bf21b63052b47f2f85322cb615ee786c214c0abc63b593a9f80ac +2 -0
  110. package/dist/templates/demo-store/.cache/index-v5/b8/67/17d551f86553b2a3a30c80b1d9797cbfcaa3d00f5239f39c1727c4d4fe8e +2 -0
  111. package/dist/templates/demo-store/.cache/index-v5/bc/52/538f70c9e2857f944f17c9121f6018d5c26ba916801b78d75484b130cd78 +2 -0
  112. package/dist/templates/demo-store/.cache/index-v5/c1/77/182e74b8e456fd321a98e8b23f5616eaf2968ccc0dd0eeff016624a89534 +2 -0
  113. package/dist/templates/demo-store/.cache/index-v5/c2/b6/58c9b05294374187ca9a342d46ed1b1f9e0afaf619acf88014f7f1a5dd8b +2 -0
  114. package/dist/templates/demo-store/.cache/index-v5/c6/72/887059f60c91b6fa41fbdab6bc1e1b6f4e3596cadd7a22457466fc1c2f67 +2 -0
  115. package/dist/templates/demo-store/.cache/index-v5/c8/52/09bfbca72b45aec745fc339c27986edefa85e40bd69113275a6ecd6495e9 +2 -0
  116. package/dist/templates/demo-store/.cache/index-v5/cb/f3/c8983d3f6b148ff6b70a42e0c3ccc4ca2f368df0aca086b8f0279d49f5be +2 -0
  117. package/dist/templates/demo-store/.cache/index-v5/d0/c4/d960260ece228d28f70e317741b3f3f3df05c53956d870235837ae2b73b4 +2 -0
  118. package/dist/templates/demo-store/.cache/index-v5/d2/7b/9476cfbc06c75a311a1951bcdea3b843d3f8763c916468901c3cd85ae7a4 +2 -0
  119. package/dist/templates/demo-store/.cache/index-v5/d7/2f/11fb6fd9a383d1edb40e2a774ca2de45a4f4b2c02e3f10d772427ef813d1 +2 -0
  120. package/dist/templates/demo-store/.cache/index-v5/d7/a8/e21243c97a68bff4874453358b21815d4dc4c804b63fce7cba9cc567c3d6 +2 -0
  121. package/dist/templates/demo-store/.cache/index-v5/db/34/e258d66ddeae0e8df2f3a92f0fc0a0472adc9b48c8d2f38087a828da4bc0 +2 -0
  122. package/dist/templates/demo-store/.cache/index-v5/de/8a/31224d2c63a17ccc13c25e35f4e5882c9a5f5553a3ffeb916c84aa73a15d +2 -0
  123. package/dist/templates/demo-store/.cache/index-v5/e0/9c/a50143959e2a05f23db12f6e7f9982a0889c4105004c9f58115f9fdb19e0 +2 -0
  124. package/dist/templates/demo-store/.cache/index-v5/f3/45/ed5a71628f7babbcd96f9d316ba1a9a7cdea5be1ef54d931ed5d6fcbfc21 +2 -0
  125. package/dist/templates/demo-store/.cache/index-v5/f4/20/fefac33b4499a27824ee7ef5a84779df38eca55b00ec3046fcb028efb593 +2 -0
  126. package/dist/templates/demo-store/.cache/index-v5/f6/1d/25c4d10714262d4559d2c43d3e64ebfc038d37b0edbbf02246bdd6dcdacb +2 -0
  127. package/dist/templates/demo-store/.cache/index-v5/f8/f2/017d33a8105299b5a1d72ea80b7cce0d4bafbcd8409437a212735325631a +2 -0
  128. package/dist/templates/demo-store/.cache/index-v5/fd/f2/f7f55dae9bf6b65ea883eb44dc2fd24a2d2a97c5b68cb559255c6574d239 +2 -0
  129. package/dist/templates/demo-store/.hydrogen/routes/[route-manifest.json].tsx +54 -0
  130. package/dist/templates/demo-store/.hydrogen/routes/admin.tsx +15 -0
  131. package/dist/templates/demo-store/_env +6 -0
  132. package/dist/templates/demo-store/_gitignore +14 -0
  133. package/dist/templates/demo-store/app/styles/app.css +4203 -0
  134. package/dist/templates/demo-store/dist/client/build/_.._/.hydrogen/routes/[route-manifest.json]-BIPZTJVN.js +2 -0
  135. package/dist/templates/demo-store/dist/client/build/_.._/.hydrogen/routes/[route-manifest.json]-BIPZTJVN.js.map +7 -0
  136. package/dist/templates/demo-store/dist/client/build/_.._/.hydrogen/routes/admin-G2IKFE47.js +2 -0
  137. package/dist/templates/demo-store/dist/client/build/_.._/.hydrogen/routes/admin-G2IKFE47.js.map +7 -0
  138. package/dist/templates/demo-store/dist/client/build/_assets/app-QCTC5PWY.css +4203 -0
  139. package/dist/templates/demo-store/dist/client/build/_assets/custom-font-COCMVHUB.css +13 -0
  140. package/dist/templates/demo-store/dist/client/build/_assets/favicon-5FIZBM2K.svg +28 -0
  141. package/dist/templates/demo-store/dist/client/build/_shared/chunk-3CERGUQT.js +2 -0
  142. package/dist/templates/demo-store/dist/client/build/_shared/chunk-3CERGUQT.js.map +7 -0
  143. package/dist/templates/demo-store/dist/client/build/_shared/chunk-3RYZL4SD.js +2 -0
  144. package/dist/templates/demo-store/dist/client/build/_shared/chunk-3RYZL4SD.js.map +7 -0
  145. package/dist/templates/demo-store/dist/client/build/_shared/chunk-4GXS2URF.js +2 -0
  146. package/dist/templates/demo-store/dist/client/build/_shared/chunk-4GXS2URF.js.map +7 -0
  147. package/dist/templates/demo-store/dist/client/build/_shared/chunk-4ROFW2VH.js +2 -0
  148. package/dist/templates/demo-store/dist/client/build/_shared/chunk-4ROFW2VH.js.map +7 -0
  149. package/dist/templates/demo-store/dist/client/build/_shared/chunk-63VE24M5.js +133 -0
  150. package/dist/templates/demo-store/dist/client/build/_shared/chunk-63VE24M5.js.map +7 -0
  151. package/dist/templates/demo-store/dist/client/build/_shared/chunk-6IZ7NY57.js +2 -0
  152. package/dist/templates/demo-store/dist/client/build/_shared/chunk-6IZ7NY57.js.map +7 -0
  153. package/dist/templates/demo-store/dist/client/build/_shared/chunk-6RKYTPO7.js +27 -0
  154. package/dist/templates/demo-store/dist/client/build/_shared/chunk-6RKYTPO7.js.map +7 -0
  155. package/dist/templates/demo-store/dist/client/build/_shared/chunk-ALSZP6XO.js +83 -0
  156. package/dist/templates/demo-store/dist/client/build/_shared/chunk-ALSZP6XO.js.map +7 -0
  157. package/dist/templates/demo-store/dist/client/build/_shared/chunk-AOOMA6GB.js +2 -0
  158. package/dist/templates/demo-store/dist/client/build/_shared/chunk-AOOMA6GB.js.map +7 -0
  159. package/dist/templates/demo-store/dist/client/build/_shared/chunk-AYHDHSL7.js +2 -0
  160. package/dist/templates/demo-store/dist/client/build/_shared/chunk-AYHDHSL7.js.map +7 -0
  161. package/dist/templates/demo-store/dist/client/build/_shared/chunk-BY6S7IS7.js +2 -0
  162. package/dist/templates/demo-store/dist/client/build/_shared/chunk-BY6S7IS7.js.map +7 -0
  163. package/dist/templates/demo-store/dist/client/build/_shared/chunk-C4WAPTNR.js +2 -0
  164. package/dist/templates/demo-store/dist/client/build/_shared/chunk-C4WAPTNR.js.map +7 -0
  165. package/dist/templates/demo-store/dist/client/build/_shared/chunk-GV33UIO4.js +2 -0
  166. package/dist/templates/demo-store/dist/client/build/_shared/chunk-GV33UIO4.js.map +7 -0
  167. package/dist/templates/demo-store/dist/client/build/_shared/chunk-HX34UWFZ.js +7 -0
  168. package/dist/templates/demo-store/dist/client/build/_shared/chunk-HX34UWFZ.js.map +7 -0
  169. package/dist/templates/demo-store/dist/client/build/_shared/chunk-JV4GUPYG.js +2 -0
  170. package/dist/templates/demo-store/dist/client/build/_shared/chunk-JV4GUPYG.js.map +7 -0
  171. package/dist/templates/demo-store/dist/client/build/_shared/chunk-KSKV5IK6.js +20 -0
  172. package/dist/templates/demo-store/dist/client/build/_shared/chunk-KSKV5IK6.js.map +7 -0
  173. package/dist/templates/demo-store/dist/client/build/_shared/chunk-LNLOHMUB.js +32 -0
  174. package/dist/templates/demo-store/dist/client/build/_shared/chunk-LNLOHMUB.js.map +7 -0
  175. package/dist/templates/demo-store/dist/client/build/_shared/chunk-LSI6EG4I.js +2 -0
  176. package/dist/templates/demo-store/dist/client/build/_shared/chunk-LSI6EG4I.js.map +7 -0
  177. package/dist/templates/demo-store/dist/client/build/_shared/chunk-LYYN6DNQ.js +2 -0
  178. package/dist/templates/demo-store/dist/client/build/_shared/chunk-LYYN6DNQ.js.map +7 -0
  179. package/dist/templates/demo-store/dist/client/build/_shared/chunk-MIBUUBFO.js +2 -0
  180. package/dist/templates/demo-store/dist/client/build/_shared/chunk-MIBUUBFO.js.map +7 -0
  181. package/dist/templates/demo-store/dist/client/build/_shared/chunk-NJK6XHPK.js +2 -0
  182. package/dist/templates/demo-store/dist/client/build/_shared/chunk-NJK6XHPK.js.map +7 -0
  183. package/dist/templates/demo-store/dist/client/build/_shared/chunk-OC3377HQ.js +105 -0
  184. package/dist/templates/demo-store/dist/client/build/_shared/chunk-OC3377HQ.js.map +7 -0
  185. package/dist/templates/demo-store/dist/client/build/_shared/chunk-RBLOPOSG.js +2 -0
  186. package/dist/templates/demo-store/dist/client/build/_shared/chunk-RBLOPOSG.js.map +7 -0
  187. package/dist/templates/demo-store/dist/client/build/_shared/chunk-RTZIY6AR.js +68 -0
  188. package/dist/templates/demo-store/dist/client/build/_shared/chunk-RTZIY6AR.js.map +7 -0
  189. package/dist/templates/demo-store/dist/client/build/_shared/chunk-S4E36YX5.js +2 -0
  190. package/dist/templates/demo-store/dist/client/build/_shared/chunk-S4E36YX5.js.map +7 -0
  191. package/dist/templates/demo-store/dist/client/build/_shared/chunk-UCP7TDFX.js +24 -0
  192. package/dist/templates/demo-store/dist/client/build/_shared/chunk-UCP7TDFX.js.map +7 -0
  193. package/dist/templates/demo-store/dist/client/build/_shared/chunk-V5EUNG45.js +25 -0
  194. package/dist/templates/demo-store/dist/client/build/_shared/chunk-V5EUNG45.js.map +7 -0
  195. package/dist/templates/demo-store/dist/client/build/_shared/chunk-WYHUKY3H.js +2 -0
  196. package/dist/templates/demo-store/dist/client/build/_shared/chunk-WYHUKY3H.js.map +7 -0
  197. package/dist/templates/demo-store/dist/client/build/_shared/chunk-X2L7EU2T.js +2 -0
  198. package/dist/templates/demo-store/dist/client/build/_shared/chunk-X2L7EU2T.js.map +7 -0
  199. package/dist/templates/demo-store/dist/client/build/_shared/chunk-X4LCECW4.js +2 -0
  200. package/dist/templates/demo-store/dist/client/build/_shared/chunk-X4LCECW4.js.map +7 -0
  201. package/dist/templates/demo-store/dist/client/build/_shared/chunk-XDBJQDOE.js +2 -0
  202. package/dist/templates/demo-store/dist/client/build/_shared/chunk-XDBJQDOE.js.map +7 -0
  203. package/dist/templates/demo-store/dist/client/build/_shared/chunk-XJLYC4WF.js +54 -0
  204. package/dist/templates/demo-store/dist/client/build/_shared/chunk-XJLYC4WF.js.map +7 -0
  205. package/dist/templates/demo-store/dist/client/build/_shared/chunk-YGLSE5Z5.js +2 -0
  206. package/dist/templates/demo-store/dist/client/build/_shared/chunk-YGLSE5Z5.js.map +7 -0
  207. package/dist/templates/demo-store/dist/client/build/_shared/chunk-ZNLABNO4.js +66 -0
  208. package/dist/templates/demo-store/dist/client/build/_shared/chunk-ZNLABNO4.js.map +7 -0
  209. package/dist/templates/demo-store/dist/client/build/entry.client-UGG4BFNY.js +2 -0
  210. package/dist/templates/demo-store/dist/client/build/entry.client-UGG4BFNY.js.map +7 -0
  211. package/dist/templates/demo-store/dist/client/build/manifest-78BD90E6.js +1 -0
  212. package/dist/templates/demo-store/dist/client/build/root-LDM5SSFY.js +32 -0
  213. package/dist/templates/demo-store/dist/client/build/root-LDM5SSFY.js.map +7 -0
  214. package/dist/templates/demo-store/dist/client/build/routes/$-T6CCBQXB.js +2 -0
  215. package/dist/templates/demo-store/dist/client/build/routes/$-T6CCBQXB.js.map +7 -0
  216. package/dist/templates/demo-store/dist/client/build/routes/$lang/$-RML44FPI.js +2 -0
  217. package/dist/templates/demo-store/dist/client/build/routes/$lang/$-RML44FPI.js.map +7 -0
  218. package/dist/templates/demo-store/dist/client/build/routes/$lang/[robots.txt]-Q6A4ELVO.js +2 -0
  219. package/dist/templates/demo-store/dist/client/build/routes/$lang/[robots.txt]-Q6A4ELVO.js.map +7 -0
  220. package/dist/templates/demo-store/dist/client/build/routes/$lang/[sitemap.xml]-XRXAWWFM.js +2 -0
  221. package/dist/templates/demo-store/dist/client/build/routes/$lang/[sitemap.xml]-XRXAWWFM.js.map +7 -0
  222. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__private/address/$id-3CPMYDWB.js +2 -0
  223. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__private/address/$id-3CPMYDWB.js.map +7 -0
  224. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__private/edit-KUSSPNLG.js +2 -0
  225. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__private/edit-KUSSPNLG.js.map +7 -0
  226. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__private/logout-W2VRZWGS.js +2 -0
  227. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__private/logout-W2VRZWGS.js.map +7 -0
  228. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__private/orders.$id-6XB7QE3Z.js +2 -0
  229. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__private/orders.$id-6XB7QE3Z.js.map +7 -0
  230. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__public/activate.$id.$activationToken-XURZGKY5.js +2 -0
  231. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__public/activate.$id.$activationToken-XURZGKY5.js.map +7 -0
  232. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__public/login-ICCBTETC.js +2 -0
  233. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__public/login-ICCBTETC.js.map +7 -0
  234. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__public/recover-NCBS3PRT.js +2 -0
  235. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__public/recover-NCBS3PRT.js.map +7 -0
  236. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__public/register-OQDSIXDB.js +2 -0
  237. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__public/register-OQDSIXDB.js.map +7 -0
  238. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__public/reset.$id.$resetToken-BC773EWT.js +2 -0
  239. package/dist/templates/demo-store/dist/client/build/routes/$lang/account/__public/reset.$id.$resetToken-BC773EWT.js.map +7 -0
  240. package/dist/templates/demo-store/dist/client/build/routes/$lang/account-UCAHSQYN.js +2 -0
  241. package/dist/templates/demo-store/dist/client/build/routes/$lang/account-UCAHSQYN.js.map +7 -0
  242. package/dist/templates/demo-store/dist/client/build/routes/$lang/api/countries-D74K7HOY.js +2 -0
  243. package/dist/templates/demo-store/dist/client/build/routes/$lang/api/countries-D74K7HOY.js.map +7 -0
  244. package/dist/templates/demo-store/dist/client/build/routes/$lang/api/products-LVMWKMBH.js +2 -0
  245. package/dist/templates/demo-store/dist/client/build/routes/$lang/api/products-LVMWKMBH.js.map +7 -0
  246. package/dist/templates/demo-store/dist/client/build/routes/$lang/cart-UVXZT4M5.js +2 -0
  247. package/dist/templates/demo-store/dist/client/build/routes/$lang/cart-UVXZT4M5.js.map +7 -0
  248. package/dist/templates/demo-store/dist/client/build/routes/$lang/collections/$collectionHandle-IXHYLA76.js +2 -0
  249. package/dist/templates/demo-store/dist/client/build/routes/$lang/collections/$collectionHandle-IXHYLA76.js.map +7 -0
  250. package/dist/templates/demo-store/dist/client/build/routes/$lang/collections/all-I3ZQ3MBD.js +2 -0
  251. package/dist/templates/demo-store/dist/client/build/routes/$lang/collections/all-I3ZQ3MBD.js.map +7 -0
  252. package/dist/templates/demo-store/dist/client/build/routes/$lang/collections/index-LFW7EEWJ.js +2 -0
  253. package/dist/templates/demo-store/dist/client/build/routes/$lang/collections/index-LFW7EEWJ.js.map +7 -0
  254. package/dist/templates/demo-store/dist/client/build/routes/$lang/featured-products-UU24CXMU.js +2 -0
  255. package/dist/templates/demo-store/dist/client/build/routes/$lang/featured-products-UU24CXMU.js.map +7 -0
  256. package/dist/templates/demo-store/dist/client/build/routes/$lang/index-C53BLYRE.js +2 -0
  257. package/dist/templates/demo-store/dist/client/build/routes/$lang/index-C53BLYRE.js.map +7 -0
  258. package/dist/templates/demo-store/dist/client/build/routes/$lang/journal/$journalHandle-JIHENEIT.js +2 -0
  259. package/dist/templates/demo-store/dist/client/build/routes/$lang/journal/$journalHandle-JIHENEIT.js.map +7 -0
  260. package/dist/templates/demo-store/dist/client/build/routes/$lang/journal/index-Y3BHQBEG.js +2 -0
  261. package/dist/templates/demo-store/dist/client/build/routes/$lang/journal/index-Y3BHQBEG.js.map +7 -0
  262. package/dist/templates/demo-store/dist/client/build/routes/$lang/og-image-JHBOIC2Z.js +2 -0
  263. package/dist/templates/demo-store/dist/client/build/routes/$lang/og-image-JHBOIC2Z.js.map +7 -0
  264. package/dist/templates/demo-store/dist/client/build/routes/$lang/pages/$pageHandle-UAXAZ3DG.js +2 -0
  265. package/dist/templates/demo-store/dist/client/build/routes/$lang/pages/$pageHandle-UAXAZ3DG.js.map +7 -0
  266. package/dist/templates/demo-store/dist/client/build/routes/$lang/policies/$policyHandle-6OJWYHRC.js +2 -0
  267. package/dist/templates/demo-store/dist/client/build/routes/$lang/policies/$policyHandle-6OJWYHRC.js.map +7 -0
  268. package/dist/templates/demo-store/dist/client/build/routes/$lang/policies/index-NSX5XJI5.js +2 -0
  269. package/dist/templates/demo-store/dist/client/build/routes/$lang/policies/index-NSX5XJI5.js.map +7 -0
  270. package/dist/templates/demo-store/dist/client/build/routes/$lang/products/$productHandle-2Y4OD7YF.js +2 -0
  271. package/dist/templates/demo-store/dist/client/build/routes/$lang/products/$productHandle-2Y4OD7YF.js.map +7 -0
  272. package/dist/templates/demo-store/dist/client/build/routes/$lang/products/index-7DNEY6RA.js +2 -0
  273. package/dist/templates/demo-store/dist/client/build/routes/$lang/products/index-7DNEY6RA.js.map +7 -0
  274. package/dist/templates/demo-store/dist/client/build/routes/$lang/search-FFWHIHND.js +2 -0
  275. package/dist/templates/demo-store/dist/client/build/routes/$lang/search-FFWHIHND.js.map +7 -0
  276. package/dist/templates/demo-store/dist/client/build/routes/[robots.txt]-JOBE7OD7.js +2 -0
  277. package/dist/templates/demo-store/dist/client/build/routes/[robots.txt]-JOBE7OD7.js.map +7 -0
  278. package/dist/templates/demo-store/dist/client/build/routes/[sitemap.xml]-UQB7RN5M.js +2 -0
  279. package/dist/templates/demo-store/dist/client/build/routes/[sitemap.xml]-UQB7RN5M.js.map +7 -0
  280. package/dist/templates/demo-store/dist/client/build/routes/account/__private/address/$id-7UWEFJPQ.js +2 -0
  281. package/dist/templates/demo-store/dist/client/build/routes/account/__private/address/$id-7UWEFJPQ.js.map +7 -0
  282. package/dist/templates/demo-store/dist/client/build/routes/account/__private/edit-P6H3SMMC.js +2 -0
  283. package/dist/templates/demo-store/dist/client/build/routes/account/__private/edit-P6H3SMMC.js.map +7 -0
  284. package/dist/templates/demo-store/dist/client/build/routes/account/__private/logout-MRH6DVPZ.js +2 -0
  285. package/dist/templates/demo-store/dist/client/build/routes/account/__private/logout-MRH6DVPZ.js.map +7 -0
  286. package/dist/templates/demo-store/dist/client/build/routes/account/__private/orders.$id-WRZR7KFX.js +2 -0
  287. package/dist/templates/demo-store/dist/client/build/routes/account/__private/orders.$id-WRZR7KFX.js.map +7 -0
  288. package/dist/templates/demo-store/dist/client/build/routes/account/__public/activate.$id.$activationToken-MQJ7UCXL.js +2 -0
  289. package/dist/templates/demo-store/dist/client/build/routes/account/__public/activate.$id.$activationToken-MQJ7UCXL.js.map +7 -0
  290. package/dist/templates/demo-store/dist/client/build/routes/account/__public/login-PV6QK5VR.js +2 -0
  291. package/dist/templates/demo-store/dist/client/build/routes/account/__public/login-PV6QK5VR.js.map +7 -0
  292. package/dist/templates/demo-store/dist/client/build/routes/account/__public/recover-BPPSDCFU.js +2 -0
  293. package/dist/templates/demo-store/dist/client/build/routes/account/__public/recover-BPPSDCFU.js.map +7 -0
  294. package/dist/templates/demo-store/dist/client/build/routes/account/__public/register-FOWQ2VDD.js +2 -0
  295. package/dist/templates/demo-store/dist/client/build/routes/account/__public/register-FOWQ2VDD.js.map +7 -0
  296. package/dist/templates/demo-store/dist/client/build/routes/account/__public/reset.$id.$resetToken-HEH66LNH.js +2 -0
  297. package/dist/templates/demo-store/dist/client/build/routes/account/__public/reset.$id.$resetToken-HEH66LNH.js.map +7 -0
  298. package/dist/templates/demo-store/dist/client/build/routes/account-OVETQ7UE.js +2 -0
  299. package/dist/templates/demo-store/dist/client/build/routes/account-OVETQ7UE.js.map +7 -0
  300. package/dist/templates/demo-store/dist/client/build/routes/api/countries-FOQSZPCF.js +2 -0
  301. package/dist/templates/demo-store/dist/client/build/routes/api/countries-FOQSZPCF.js.map +7 -0
  302. package/dist/templates/demo-store/dist/client/build/routes/api/products-JQONOX4V.js +2 -0
  303. package/dist/templates/demo-store/dist/client/build/routes/api/products-JQONOX4V.js.map +7 -0
  304. package/dist/templates/demo-store/dist/client/build/routes/cart-CX5DA2OD.js +2 -0
  305. package/dist/templates/demo-store/dist/client/build/routes/cart-CX5DA2OD.js.map +7 -0
  306. package/dist/templates/demo-store/dist/client/build/routes/collections/$collectionHandle-S6W3L6G5.js +2 -0
  307. package/dist/templates/demo-store/dist/client/build/routes/collections/$collectionHandle-S6W3L6G5.js.map +7 -0
  308. package/dist/templates/demo-store/dist/client/build/routes/collections/all-EXLOY5Y6.js +2 -0
  309. package/dist/templates/demo-store/dist/client/build/routes/collections/all-EXLOY5Y6.js.map +7 -0
  310. package/dist/templates/demo-store/dist/client/build/routes/collections/index-LE6BMYRV.js +2 -0
  311. package/dist/templates/demo-store/dist/client/build/routes/collections/index-LE6BMYRV.js.map +7 -0
  312. package/dist/templates/demo-store/dist/client/build/routes/discounts.$code-ORRT2Y6X.js +2 -0
  313. package/dist/templates/demo-store/dist/client/build/routes/discounts.$code-ORRT2Y6X.js.map +7 -0
  314. package/dist/templates/demo-store/dist/client/build/routes/featured-products-ECR7IJXB.js +2 -0
  315. package/dist/templates/demo-store/dist/client/build/routes/featured-products-ECR7IJXB.js.map +7 -0
  316. package/dist/templates/demo-store/dist/client/build/routes/index-DPGHJVAI.js +2 -0
  317. package/dist/templates/demo-store/dist/client/build/routes/index-DPGHJVAI.js.map +7 -0
  318. package/dist/templates/demo-store/dist/client/build/routes/journal/$journalHandle-GK4XP5IH.js +2 -0
  319. package/dist/templates/demo-store/dist/client/build/routes/journal/$journalHandle-GK4XP5IH.js.map +7 -0
  320. package/dist/templates/demo-store/dist/client/build/routes/journal/index-DZH346LQ.js +2 -0
  321. package/dist/templates/demo-store/dist/client/build/routes/journal/index-DZH346LQ.js.map +7 -0
  322. package/dist/templates/demo-store/dist/client/build/routes/og-image-DYICG2WR.js +2 -0
  323. package/dist/templates/demo-store/dist/client/build/routes/og-image-DYICG2WR.js.map +7 -0
  324. package/dist/templates/demo-store/dist/client/build/routes/pages/$pageHandle-FSWWJUZK.js +2 -0
  325. package/dist/templates/demo-store/dist/client/build/routes/pages/$pageHandle-FSWWJUZK.js.map +7 -0
  326. package/dist/templates/demo-store/dist/client/build/routes/policies/$policyHandle-U2LKNOPS.js +2 -0
  327. package/dist/templates/demo-store/dist/client/build/routes/policies/$policyHandle-U2LKNOPS.js.map +7 -0
  328. package/dist/templates/demo-store/dist/client/build/routes/policies/index-OHYNKKT6.js +2 -0
  329. package/dist/templates/demo-store/dist/client/build/routes/policies/index-OHYNKKT6.js.map +7 -0
  330. package/dist/templates/demo-store/dist/client/build/routes/products/$productHandle-UNLU3NW6.js +2 -0
  331. package/dist/templates/demo-store/dist/client/build/routes/products/$productHandle-UNLU3NW6.js.map +7 -0
  332. package/dist/templates/demo-store/dist/client/build/routes/products/index-XFDNNZYK.js +2 -0
  333. package/dist/templates/demo-store/dist/client/build/routes/products/index-XFDNNZYK.js.map +7 -0
  334. package/dist/templates/demo-store/dist/client/build/routes/search-KWI45NMS.js +2 -0
  335. package/dist/templates/demo-store/dist/client/build/routes/search-KWI45NMS.js.map +7 -0
  336. package/dist/templates/demo-store/dist/client/favicon.svg +28 -0
  337. package/dist/templates/demo-store/dist/client/fonts/IBMPlexSerif-Text.woff2 +0 -0
  338. package/dist/templates/demo-store/dist/client/fonts/IBMPlexSerif-TextItalic.woff2 +0 -0
  339. package/dist/templates/demo-store/dist/worker/_assets/app-QCTC5PWY.css +4203 -0
  340. package/dist/templates/demo-store/dist/worker/_assets/custom-font-COCMVHUB.css +13 -0
  341. package/dist/templates/demo-store/dist/worker/_assets/favicon-5FIZBM2K.svg +28 -0
  342. package/dist/templates/demo-store/dist/worker/index.js +1572 -0
  343. package/dist/templates/demo-store/dist/worker/index.js.map +7 -0
  344. package/dist/templates/demo-store/package.json +1 -1
  345. package/dist/templates/demo-store/remix.init/index.mjs +25 -0
  346. package/dist/templates/hello-world/.cache/content-v2/sha512/34/81/da34a44efefe809149ec1298fc4031563cb2702c00c70fbd1d0392afa44e5a6bc535cbe5c34a6f379361a5991327c2023fb915b0f94940d21c42cc38a368 +1 -0
  347. package/dist/templates/hello-world/.cache/content-v2/sha512/fa/dd/9bc10a1cb1f145eabd96bdba509178e20484197fefd8469ace9f53bf277e875751db3c4dddf229807c48cbe8db19494fe2a5aab7d2a4b7ae8bebbd67509c +1 -0
  348. package/dist/templates/hello-world/.cache/index-v5/09/f6/fe4b05c4157320b8b59b3f84116195be0437d87357d743d21acd638a4606 +2 -0
  349. package/dist/templates/hello-world/.cache/index-v5/d0/c4/d960260ece228d28f70e317741b3f3f3df05c53956d870235837ae2b73b4 +2 -0
  350. package/dist/templates/hello-world/_env +6 -0
  351. package/dist/templates/hello-world/_gitignore +8 -0
  352. package/dist/templates/hello-world/dist/client/build/_assets/app-2MJQXVFI.css +38 -0
  353. package/dist/templates/hello-world/dist/client/build/_assets/favicon-5FIZBM2K.svg +28 -0
  354. package/dist/templates/hello-world/dist/client/build/_shared/chunk-P5MXKSMH.js +66 -0
  355. package/dist/templates/hello-world/dist/client/build/_shared/chunk-P5MXKSMH.js.map +7 -0
  356. package/dist/templates/hello-world/dist/client/build/_shared/chunk-UFW4O55J.js +20 -0
  357. package/dist/templates/hello-world/dist/client/build/_shared/chunk-UFW4O55J.js.map +7 -0
  358. package/dist/templates/hello-world/dist/client/build/entry.client-AX7FWGNS.js +27 -0
  359. package/dist/templates/hello-world/dist/client/build/entry.client-AX7FWGNS.js.map +7 -0
  360. package/dist/templates/hello-world/dist/client/build/manifest-7F090344.js +1 -0
  361. package/dist/templates/hello-world/dist/client/build/root-IVDOAS2B.js +2 -0
  362. package/dist/templates/hello-world/dist/client/build/root-IVDOAS2B.js.map +7 -0
  363. package/dist/templates/hello-world/dist/client/build/routes/index-TUNWZ4RV.js +2 -0
  364. package/dist/templates/hello-world/dist/client/build/routes/index-TUNWZ4RV.js.map +7 -0
  365. package/dist/templates/hello-world/dist/client/favicon.svg +28 -0
  366. package/dist/templates/hello-world/dist/worker/_assets/app-2MJQXVFI.css +38 -0
  367. package/dist/templates/hello-world/dist/worker/_assets/favicon-5FIZBM2K.svg +28 -0
  368. package/dist/templates/hello-world/dist/worker/index.js +257 -0
  369. package/dist/templates/hello-world/dist/worker/index.js.map +7 -0
  370. package/dist/templates/hello-world/package.json +1 -1
  371. package/dist/templates/hello-world/remix.init/index.mjs +25 -0
  372. package/dist/templates/hello-world/remix.init/package.json +7 -0
  373. package/package.json +1 -1
  374. package/tmp-create-app.mjs +7 -1
  375. package/dist/templates/demo-store/.turbo/turbo-build.log +0 -13
  376. package/dist/templates/demo-store/package-lock.json +0 -25515
  377. package/dist/templates/demo-store/remix.init/index.ts +0 -15
  378. package/dist/templates/hello-world/.turbo/turbo-build.log +0 -9
  379. package/dist/templates/hello-world/package-lock.json +0 -27641
@@ -0,0 +1,2 @@
1
+ import{Y as d}from"/build/_shared/chunk-HX34UWFZ.js";import{f as o}from"/build/_shared/chunk-WYHUKY3H.js";import{o as c,r as m}from"/build/_shared/chunk-ZNLABNO4.js";import{a as g,b as u}from"/build/_shared/chunk-KSKV5IK6.js";import{b as s}from"/build/_shared/chunk-X4LCECW4.js";var n=s(g());var e=s(u());var A=()=>({title:"Register"});function f(){let i=m(),[a,p]=(0,n.useState)(null),[r,l]=(0,n.useState)(null);return(0,e.jsx)("div",{className:"flex justify-center my-24 px-4",children:(0,e.jsxs)("div",{className:"max-w-md w-full",children:[(0,e.jsx)("h1",{className:"text-4xl",children:"Create an Account."}),(0,e.jsxs)(c,{method:"post",noValidate:!0,className:"pt-6 pb-8 mt-4 mb-4 space-y-3",children:[i?.formError&&(0,e.jsx)("div",{className:"flex items-center justify-center mb-6 bg-zinc-500",children:(0,e.jsx)("p",{className:"m-4 text-s text-contrast",children:i.formError})}),(0,e.jsxs)("div",{children:[(0,e.jsx)("input",{className:`mb-1 ${o(a)}`,id:"email",name:"email",type:"email",autoComplete:"email",required:!0,placeholder:"Email address","aria-label":"Email address",autoFocus:!0,onBlur:t=>{p(t.currentTarget.value.length&&!t.currentTarget.validity.valid?"Invalid email address":null)}}),a&&(0,e.jsxs)("p",{className:"text-red-500 text-xs",children:[a," \xA0"]})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("input",{className:`mb-1 ${o(r)}`,id:"password",name:"password",type:"password",autoComplete:"current-password",placeholder:"Password","aria-label":"Password",minLength:8,required:!0,autoFocus:!0,onBlur:t=>{t.currentTarget.validity.valid||!t.currentTarget.value.length?l(null):l(t.currentTarget.validity.valueMissing?"Please enter a password":"Passwords must be at least 8 characters")}}),r&&(0,e.jsxs)("p",{className:"text-red-500 text-xs",children:[" ",r," \xA0"]})]}),(0,e.jsx)("div",{className:"flex items-center justify-between",children:(0,e.jsx)("button",{className:"bg-primary text-contrast rounded py-2 px-4 focus:shadow-outline block w-full",type:"submit",children:"Create Account"})}),(0,e.jsx)("div",{className:"flex items-center mt-8 border-t border-gray-300",children:(0,e.jsxs)("p",{className:"align-baseline text-sm mt-6",children:["Already have an account? \xA0",(0,e.jsx)(d,{className:"inline underline",to:"/account/login",children:"Sign in"})]})})]})]})})}export{A as a,f as b};
2
+ //# sourceMappingURL=/build/_shared/chunk-JV4GUPYG.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../app/routes/account/__public/register.tsx"],
4
+ "sourcesContent": ["import {\n type MetaFunction,\n redirect,\n json,\n type ActionFunction,\n type LoaderArgs,\n} from '@shopify/remix-oxygen';\nimport {Form, useActionData} from '@remix-run/react';\nimport {useState} from 'react';\nimport {login, registerCustomer} from '~/data';\nimport {getInputStyleClasses} from '~/lib/utils';\nimport {Link} from '~/components';\n\nexport async function loader({context, params}: LoaderArgs) {\n const customerAccessToken = await context.session.get('customerAccessToken');\n\n if (customerAccessToken) {\n return redirect(params.lang ? `${params.lang}/account` : '/account');\n }\n\n return new Response(null);\n}\n\ntype ActionData = {\n formError?: string;\n};\n\nconst badRequest = (data: ActionData) => json(data, {status: 400});\n\nexport const action: ActionFunction = async ({request, context, params}) => {\n const {session, storefront} = context;\n const formData = await request.formData();\n\n const email = formData.get('email');\n const password = formData.get('password');\n\n if (\n !email ||\n !password ||\n typeof email !== 'string' ||\n typeof password !== 'string'\n ) {\n return badRequest({\n formError: 'Please provide both an email and a password.',\n });\n }\n\n try {\n await registerCustomer(context, {email, password});\n const customerAccessToken = await login(context, {email, password});\n session.set('customerAccessToken', customerAccessToken);\n\n return redirect(params.lang ? `${params.lang}/account` : '/account', {\n headers: {\n 'Set-Cookie': await session.commit(),\n },\n });\n } catch (error: any) {\n if (storefront.isApiError(error)) {\n return badRequest({\n formError: 'Something went wrong. Please try again later.',\n });\n }\n\n /**\n * The user did something wrong, but the raw error from the API is not super friendly.\n * Let's make one up.\n */\n return badRequest({\n formError:\n 'Sorry. We could not create an account with this email. User might already exist, try to login instead.',\n });\n }\n};\n\nexport const meta: MetaFunction = () => {\n return {\n title: 'Register',\n };\n};\n\nexport default function Register() {\n const actionData = useActionData<ActionData>();\n const [nativeEmailError, setNativeEmailError] = useState<null | string>(null);\n const [nativePasswordError, setNativePasswordError] = useState<null | string>(\n null,\n );\n\n return (\n <div className=\"flex justify-center my-24 px-4\">\n <div className=\"max-w-md w-full\">\n <h1 className=\"text-4xl\">Create an Account.</h1>\n {/* TODO: Add onSubmit to validate _before_ submission with native? */}\n <Form\n method=\"post\"\n noValidate\n className=\"pt-6 pb-8 mt-4 mb-4 space-y-3\"\n >\n {actionData?.formError && (\n <div className=\"flex items-center justify-center mb-6 bg-zinc-500\">\n <p className=\"m-4 text-s text-contrast\">{actionData.formError}</p>\n </div>\n )}\n <div>\n <input\n className={`mb-1 ${getInputStyleClasses(nativeEmailError)}`}\n id=\"email\"\n name=\"email\"\n type=\"email\"\n autoComplete=\"email\"\n required\n placeholder=\"Email address\"\n aria-label=\"Email address\"\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus\n onBlur={(event) => {\n setNativeEmailError(\n event.currentTarget.value.length &&\n !event.currentTarget.validity.valid\n ? 'Invalid email address'\n : null,\n );\n }}\n />\n {nativeEmailError && (\n <p className=\"text-red-500 text-xs\">{nativeEmailError} &nbsp;</p>\n )}\n </div>\n <div>\n <input\n className={`mb-1 ${getInputStyleClasses(nativePasswordError)}`}\n id=\"password\"\n name=\"password\"\n type=\"password\"\n autoComplete=\"current-password\"\n placeholder=\"Password\"\n aria-label=\"Password\"\n minLength={8}\n required\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus\n onBlur={(event) => {\n if (\n event.currentTarget.validity.valid ||\n !event.currentTarget.value.length\n ) {\n setNativePasswordError(null);\n } else {\n setNativePasswordError(\n event.currentTarget.validity.valueMissing\n ? 'Please enter a password'\n : 'Passwords must be at least 8 characters',\n );\n }\n }}\n />\n {nativePasswordError && (\n <p className=\"text-red-500 text-xs\">\n {' '}\n {nativePasswordError} &nbsp;\n </p>\n )}\n </div>\n <div className=\"flex items-center justify-between\">\n <button\n className=\"bg-primary text-contrast rounded py-2 px-4 focus:shadow-outline block w-full\"\n type=\"submit\"\n >\n Create Account\n </button>\n </div>\n <div className=\"flex items-center mt-8 border-t border-gray-300\">\n <p className=\"align-baseline text-sm mt-6\">\n Already have an account? &nbsp;\n <Link className=\"inline underline\" to=\"/account/login\">\n Sign in\n </Link>\n </p>\n </div>\n </Form>\n </div>\n </div>\n );\n}\n"],
5
+ "mappings": "uRAQA,IAAAA,EAAuB,OARvB,IAAAC,EAAA,OA2EO,IAAMC,EAAqB,KACzB,CACL,MAAO,UACT,GAGa,SAARC,GAA4B,CACjC,IAAMC,EAAaC,EAA0B,EACvC,CAACC,EAAkBC,CAAmB,KAAI,YAAwB,IAAI,EACtE,CAACC,EAAqBC,CAAsB,KAAI,YACpD,IACF,EAEA,SACE,OAAC,OAAI,UAAU,iCACb,oBAAC,OAAI,UAAU,kBACb,oBAAC,MAAG,UAAU,WAAW,8BAAkB,KAE3C,QAACC,EAAA,CACC,OAAO,OACP,WAAU,GACV,UAAU,gCAET,UAAAN,GAAY,cACX,OAAC,OAAI,UAAU,oDACb,mBAAC,KAAE,UAAU,2BAA4B,SAAAA,EAAW,UAAU,EAChE,KAEF,QAAC,OACC,oBAAC,SACC,UAAW,QAAQO,EAAqBL,CAAgB,IACxD,GAAG,QACH,KAAK,QACL,KAAK,QACL,aAAa,QACb,SAAQ,GACR,YAAY,gBACZ,aAAW,gBAEX,UAAS,GACT,OAASM,GAAU,CACjBL,EACEK,EAAM,cAAc,MAAM,QACxB,CAACA,EAAM,cAAc,SAAS,MAC5B,wBACA,IACN,CACF,EACF,EACCN,MACC,QAAC,KAAE,UAAU,uBAAwB,UAAAA,EAAiB,SAAO,GAEjE,KACA,QAAC,OACC,oBAAC,SACC,UAAW,QAAQK,EAAqBH,CAAmB,IAC3D,GAAG,WACH,KAAK,WACL,KAAK,WACL,aAAa,mBACb,YAAY,WACZ,aAAW,WACX,UAAW,EACX,SAAQ,GAER,UAAS,GACT,OAASI,GAAU,CAEfA,EAAM,cAAc,SAAS,OAC7B,CAACA,EAAM,cAAc,MAAM,OAE3BH,EAAuB,IAAI,EAE3BA,EACEG,EAAM,cAAc,SAAS,aACzB,0BACA,yCACN,CAEJ,EACF,EACCJ,MACC,QAAC,KAAE,UAAU,uBACV,cACAA,EAAoB,SACvB,GAEJ,KACA,OAAC,OAAI,UAAU,oCACb,mBAAC,UACC,UAAU,+EACV,KAAK,SACN,0BAED,EACF,KACA,OAAC,OAAI,UAAU,kDACb,oBAAC,KAAE,UAAU,8BAA8B,6CAEzC,OAACK,EAAA,CAAK,UAAU,mBAAmB,GAAG,iBAAiB,mBAEvD,GACF,EACF,GACF,GACF,EACF,CAEJ",
6
+ "names": ["import_react", "import_jsx_runtime", "meta", "Register", "actionData", "useActionData", "nativeEmailError", "setNativeEmailError", "nativePasswordError", "setNativePasswordError", "Form", "getInputStyleClasses", "event", "Link"]
7
+ }
@@ -0,0 +1,20 @@
1
+ import{a as d}from"/build/_shared/chunk-X4LCECW4.js";var N=d(r=>{"use strict";var y=Symbol.for("react.element"),A=Symbol.for("react.portal"),F=Symbol.for("react.fragment"),M=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),z=Symbol.for("react.provider"),H=Symbol.for("react.context"),W=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),G=Symbol.for("react.memo"),J=Symbol.for("react.lazy"),$=Symbol.iterator;function K(e){return e===null||typeof e!="object"?null:(e=$&&e[$]||e["@@iterator"],typeof e=="function"?e:null)}var O={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,x={};function a(e,t,o){this.props=e,this.context=t,this.refs=x,this.updater=o||O}a.prototype.isReactComponent={};a.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};a.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function P(){}P.prototype=a.prototype;function E(e,t,o){this.props=e,this.context=t,this.refs=x,this.updater=o||O}var k=E.prototype=new P;k.constructor=E;C(k,a.prototype);k.isPureReactComponent=!0;var b=Array.isArray,g=Object.prototype.hasOwnProperty,R={current:null},I={key:!0,ref:!0,__self:!0,__source:!0};function q(e,t,o){var n,u={},i=null,s=null;if(t!=null)for(n in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(i=""+t.key),t)g.call(t,n)&&!I.hasOwnProperty(n)&&(u[n]=t[n]);var f=arguments.length-2;if(f===1)u.children=o;else if(1<f){for(var c=Array(f),p=0;p<f;p++)c[p]=arguments[p+2];u.children=c}if(e&&e.defaultProps)for(n in f=e.defaultProps,f)u[n]===void 0&&(u[n]=f[n]);return{$$typeof:y,type:e,key:i,ref:s,props:u,_owner:R.current}}function Q(e,t){return{$$typeof:y,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function w(e){return typeof e=="object"&&e!==null&&e.$$typeof===y}function X(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(o){return t[o]})}var j=/\/+/g;function S(e,t){return typeof e=="object"&&e!==null&&e.key!=null?X(""+e.key):t.toString(36)}function v(e,t,o,n,u){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(i){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case y:case A:s=!0}}if(s)return s=e,u=u(s),e=n===""?"."+S(s,0):n,b(u)?(o="",e!=null&&(o=e.replace(j,"$&/")+"/"),v(u,t,o,"",function(p){return p})):u!=null&&(w(u)&&(u=Q(u,o+(!u.key||s&&s.key===u.key?"":(""+u.key).replace(j,"$&/")+"/")+e)),t.push(u)),1;if(s=0,n=n===""?".":n+":",b(e))for(var f=0;f<e.length;f++){i=e[f];var c=n+S(i,f);s+=v(i,t,o,c,u)}else if(c=K(e),typeof c=="function")for(e=c.call(e),f=0;!(i=e.next()).done;)i=i.value,c=n+S(i,f++),s+=v(i,t,o,c,u);else if(i==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return s}function _(e,t,o){if(e==null)return e;var n=[],u=0;return v(e,n,"","",function(i){return t.call(o,i,u++)}),n}function Z(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(o){(e._status===0||e._status===-1)&&(e._status=1,e._result=o)},function(o){(e._status===0||e._status===-1)&&(e._status=2,e._result=o)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var l={current:null},m={transition:null},ee={ReactCurrentDispatcher:l,ReactCurrentBatchConfig:m,ReactCurrentOwner:R};r.Children={map:_,forEach:function(e,t,o){_(e,function(){t.apply(this,arguments)},o)},count:function(e){var t=0;return _(e,function(){t++}),t},toArray:function(e){return _(e,function(t){return t})||[]},only:function(e){if(!w(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};r.Component=a;r.Fragment=F;r.Profiler=B;r.PureComponent=E;r.StrictMode=M;r.Suspense=Y;r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ee;r.cloneElement=function(e,t,o){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var n=C({},e.props),u=e.key,i=e.ref,s=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,s=R.current),t.key!==void 0&&(u=""+t.key),e.type&&e.type.defaultProps)var f=e.type.defaultProps;for(c in t)g.call(t,c)&&!I.hasOwnProperty(c)&&(n[c]=t[c]===void 0&&f!==void 0?f[c]:t[c])}var c=arguments.length-2;if(c===1)n.children=o;else if(1<c){f=Array(c);for(var p=0;p<c;p++)f[p]=arguments[p+2];n.children=f}return{$$typeof:y,type:e.type,key:u,ref:i,props:n,_owner:s}};r.createContext=function(e){return e={$$typeof:H,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:z,_context:e},e.Consumer=e};r.createElement=q;r.createFactory=function(e){var t=q.bind(null,e);return t.type=e,t};r.createRef=function(){return{current:null}};r.forwardRef=function(e){return{$$typeof:W,render:e}};r.isValidElement=w;r.lazy=function(e){return{$$typeof:J,_payload:{_status:-1,_result:e},_init:Z}};r.memo=function(e,t){return{$$typeof:G,type:e,compare:t===void 0?null:t}};r.startTransition=function(e){var t=m.transition;m.transition={};try{e()}finally{m.transition=t}};r.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")};r.useCallback=function(e,t){return l.current.useCallback(e,t)};r.useContext=function(e){return l.current.useContext(e)};r.useDebugValue=function(){};r.useDeferredValue=function(e){return l.current.useDeferredValue(e)};r.useEffect=function(e,t){return l.current.useEffect(e,t)};r.useId=function(){return l.current.useId()};r.useImperativeHandle=function(e,t,o){return l.current.useImperativeHandle(e,t,o)};r.useInsertionEffect=function(e,t){return l.current.useInsertionEffect(e,t)};r.useLayoutEffect=function(e,t){return l.current.useLayoutEffect(e,t)};r.useMemo=function(e,t){return l.current.useMemo(e,t)};r.useReducer=function(e,t,o){return l.current.useReducer(e,t,o)};r.useRef=function(e){return l.current.useRef(e)};r.useState=function(e){return l.current.useState(e)};r.useSyncExternalStore=function(e,t,o){return l.current.useSyncExternalStore(e,t,o)};r.useTransition=function(){return l.current.useTransition()};r.version="18.2.0"});var T=d((fe,D)=>{"use strict";D.exports=N()});var L=d(h=>{"use strict";var te=T(),re=Symbol.for("react.element"),ne=Symbol.for("react.fragment"),oe=Object.prototype.hasOwnProperty,ue=te.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ie={key:!0,ref:!0,__self:!0,__source:!0};function V(e,t,o){var n,u={},i=null,s=null;o!==void 0&&(i=""+o),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(s=t.ref);for(n in t)oe.call(t,n)&&!ie.hasOwnProperty(n)&&(u[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)u[n]===void 0&&(u[n]=t[n]);return{$$typeof:re,type:e,key:i,ref:s,props:u,_owner:ue.current}}h.Fragment=ne;h.jsx=V;h.jsxs=V});var se=d((pe,U)=>{"use strict";U.exports=L()});export{T as a,se as b};
2
+ /**
3
+ * @license React
4
+ * react-jsx-runtime.production.min.js
5
+ *
6
+ * Copyright (c) Facebook, Inc. and its affiliates.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ */
11
+ /**
12
+ * @license React
13
+ * react.production.min.js
14
+ *
15
+ * Copyright (c) Facebook, Inc. and its affiliates.
16
+ *
17
+ * This source code is licensed under the MIT license found in the
18
+ * LICENSE file in the root directory of this source tree.
19
+ */
20
+ //# sourceMappingURL=/build/_shared/chunk-KSKV5IK6.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../node_modules/react/cjs/react.production.min.js", "../../../../../../node_modules/react/index.js", "../../../../../../node_modules/react/cjs/react-jsx-runtime.production.min.js", "../../../../../../node_modules/react/jsx-runtime.js"],
4
+ "sourcesContent": ["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n", "/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n"],
5
+ "mappings": "qDAAA,IAAAA,EAAAC,EAAAC,GAAA,cASa,IAAIC,EAAE,OAAO,IAAI,eAAe,EAAEC,EAAE,OAAO,IAAI,cAAc,EAAEC,EAAE,OAAO,IAAI,gBAAgB,EAAEC,EAAE,OAAO,IAAI,mBAAmB,EAAEC,EAAE,OAAO,IAAI,gBAAgB,EAAEC,EAAE,OAAO,IAAI,gBAAgB,EAAEC,EAAE,OAAO,IAAI,eAAe,EAAEC,EAAE,OAAO,IAAI,mBAAmB,EAAEC,EAAE,OAAO,IAAI,gBAAgB,EAAEC,EAAE,OAAO,IAAI,YAAY,EAAEC,EAAE,OAAO,IAAI,YAAY,EAAEC,EAAE,OAAO,SAAS,SAASC,EAAEC,EAAE,CAAC,OAAUA,IAAP,MAAqB,OAAOA,GAAlB,SAA2B,MAAKA,EAAEF,GAAGE,EAAEF,IAAIE,EAAE,cAAiC,OAAOA,GAApB,WAAsBA,EAAE,KAAI,CAC1e,IAAIC,EAAE,CAAC,UAAU,UAAU,CAAC,MAAM,EAAE,EAAE,mBAAmB,UAAU,CAAC,EAAE,oBAAoB,UAAU,CAAC,EAAE,gBAAgB,UAAU,CAAC,CAAC,EAAE,EAAE,OAAO,OAAOC,EAAE,CAAC,EAAE,SAASC,EAAEH,EAAEI,EAAEC,EAAE,CAAC,KAAK,MAAML,EAAE,KAAK,QAAQI,EAAE,KAAK,KAAKF,EAAE,KAAK,QAAQG,GAAGJ,CAAC,CAACE,EAAE,UAAU,iBAAiB,CAAC,EACpQA,EAAE,UAAU,SAAS,SAASH,EAAEI,EAAE,CAAC,GAAc,OAAOJ,GAAlB,UAAkC,OAAOA,GAApB,YAA6BA,GAAN,KAAQ,MAAM,MAAM,uHAAuH,EAAE,KAAK,QAAQ,gBAAgB,KAAKA,EAAEI,EAAE,UAAU,CAAC,EAAED,EAAE,UAAU,YAAY,SAASH,EAAE,CAAC,KAAK,QAAQ,mBAAmB,KAAKA,EAAE,aAAa,CAAC,EAAE,SAASM,GAAG,CAAC,CAACA,EAAE,UAAUH,EAAE,UAAU,SAASI,EAAEP,EAAEI,EAAEC,EAAE,CAAC,KAAK,MAAML,EAAE,KAAK,QAAQI,EAAE,KAAK,KAAKF,EAAE,KAAK,QAAQG,GAAGJ,CAAC,CAAC,IAAIO,EAAED,EAAE,UAAU,IAAID,EACrfE,EAAE,YAAYD,EAAE,EAAEC,EAAEL,EAAE,SAAS,EAAEK,EAAE,qBAAqB,GAAG,IAAIC,EAAE,MAAM,QAAQC,EAAE,OAAO,UAAU,eAAeC,EAAE,CAAC,QAAQ,IAAI,EAAEC,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,EAAE,EACxK,SAASC,EAAEb,EAAEI,EAAEC,EAAE,CAAC,IAAIS,EAAEC,EAAE,CAAC,EAAEC,EAAE,KAAKC,EAAE,KAAK,GAASb,GAAN,KAAQ,IAAIU,KAAcV,EAAE,MAAX,SAAiBa,EAAEb,EAAE,KAAcA,EAAE,MAAX,SAAiBY,EAAE,GAAGZ,EAAE,KAAKA,EAAEM,EAAE,KAAKN,EAAEU,CAAC,GAAG,CAACF,EAAE,eAAeE,CAAC,IAAIC,EAAED,GAAGV,EAAEU,IAAI,IAAII,EAAE,UAAU,OAAO,EAAE,GAAOA,IAAJ,EAAMH,EAAE,SAASV,UAAU,EAAEa,EAAE,CAAC,QAAQC,EAAE,MAAMD,CAAC,EAAEE,EAAE,EAAEA,EAAEF,EAAEE,IAAID,EAAEC,GAAG,UAAUA,EAAE,GAAGL,EAAE,SAASI,CAAC,CAAC,GAAGnB,GAAGA,EAAE,aAAa,IAAIc,KAAKI,EAAElB,EAAE,aAAakB,EAAWH,EAAED,KAAX,SAAgBC,EAAED,GAAGI,EAAEJ,IAAI,MAAM,CAAC,SAAS3B,EAAE,KAAKa,EAAE,IAAIgB,EAAE,IAAIC,EAAE,MAAMF,EAAE,OAAOJ,EAAE,OAAO,CAAC,CAC7a,SAASU,EAAErB,EAAEI,EAAE,CAAC,MAAM,CAAC,SAASjB,EAAE,KAAKa,EAAE,KAAK,IAAII,EAAE,IAAIJ,EAAE,IAAI,MAAMA,EAAE,MAAM,OAAOA,EAAE,MAAM,CAAC,CAAC,SAASsB,EAAEtB,EAAE,CAAC,OAAiB,OAAOA,GAAlB,UAA4BA,IAAP,MAAUA,EAAE,WAAWb,CAAC,CAAC,SAASoC,EAAOvB,EAAE,CAAC,IAAII,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,MAAM,IAAIJ,EAAE,QAAQ,QAAQ,SAASA,EAAE,CAAC,OAAOI,EAAEJ,EAAE,CAAC,CAAC,CAAC,IAAIwB,EAAE,OAAO,SAASC,EAAEzB,EAAEI,EAAE,CAAC,OAAiB,OAAOJ,GAAlB,UAA4BA,IAAP,MAAgBA,EAAE,KAAR,KAAYuB,EAAO,GAAGvB,EAAE,GAAG,EAAEI,EAAE,SAAS,EAAE,CAAC,CAC/W,SAASsB,EAAE1B,EAAEI,EAAEC,EAAES,EAAEC,EAAE,CAAC,IAAIC,EAAE,OAAOhB,GAAmBgB,IAAd,aAA6BA,IAAZ,aAAchB,EAAE,MAAK,IAAIiB,EAAE,GAAG,GAAUjB,IAAP,KAASiB,EAAE,OAAQ,QAAOD,OAAQ,aAAc,SAASC,EAAE,GAAG,UAAW,SAAS,OAAOjB,EAAE,eAAeb,OAAOC,EAAE6B,EAAE,IAAI,GAAGA,EAAE,OAAOA,EAAEjB,EAAEe,EAAEA,EAAEE,CAAC,EAAEjB,EAAOc,IAAL,GAAO,IAAIW,EAAER,EAAE,CAAC,EAAEH,EAAEL,EAAEM,CAAC,GAAGV,EAAE,GAASL,GAAN,OAAUK,EAAEL,EAAE,QAAQwB,EAAE,KAAK,EAAE,KAAKE,EAAEX,EAAEX,EAAEC,EAAE,GAAG,SAASL,EAAE,CAAC,OAAOA,CAAC,CAAC,GAASe,GAAN,OAAUO,EAAEP,CAAC,IAAIA,EAAEM,EAAEN,EAAEV,GAAG,CAACU,EAAE,KAAKE,GAAGA,EAAE,MAAMF,EAAE,IAAI,IAAI,GAAGA,EAAE,KAAK,QAAQS,EAAE,KAAK,EAAE,KAAKxB,CAAC,GAAGI,EAAE,KAAKW,CAAC,GAAG,EAAyB,GAAvBE,EAAE,EAAEH,EAAOA,IAAL,GAAO,IAAIA,EAAE,IAAOL,EAAET,CAAC,EAAE,QAAQkB,EAAE,EAAEA,EAAElB,EAAE,OAAOkB,IAAI,CAACF,EACrfhB,EAAEkB,GAAG,IAAIC,EAAEL,EAAEW,EAAET,EAAEE,CAAC,EAAED,GAAGS,EAAEV,EAAEZ,EAAEC,EAAEc,EAAEJ,CAAC,CAAC,SAASI,EAAEpB,EAAEC,CAAC,EAAe,OAAOmB,GAApB,WAAsB,IAAInB,EAAEmB,EAAE,KAAKnB,CAAC,EAAEkB,EAAE,EAAE,EAAEF,EAAEhB,EAAE,KAAK,GAAG,MAAMgB,EAAEA,EAAE,MAAMG,EAAEL,EAAEW,EAAET,EAAEE,GAAG,EAAED,GAAGS,EAAEV,EAAEZ,EAAEC,EAAEc,EAAEJ,CAAC,UAAqBC,IAAX,SAAa,MAAMZ,EAAE,OAAOJ,CAAC,EAAE,MAAM,mDAAuEI,IAApB,kBAAsB,qBAAqB,OAAO,KAAKJ,CAAC,EAAE,KAAK,IAAI,EAAE,IAAII,GAAG,2EAA2E,EAAE,OAAOa,CAAC,CACzZ,SAASU,EAAE3B,EAAEI,EAAEC,EAAE,CAAC,GAASL,GAAN,KAAQ,OAAOA,EAAE,IAAIc,EAAE,CAAC,EAAEC,EAAE,EAAE,OAAAW,EAAE1B,EAAEc,EAAE,GAAG,GAAG,SAASd,EAAE,CAAC,OAAOI,EAAE,KAAKC,EAAEL,EAAEe,GAAG,CAAC,CAAC,EAASD,CAAC,CAAC,SAASc,EAAE5B,EAAE,CAAC,GAAQA,EAAE,UAAP,GAAe,CAAC,IAAII,EAAEJ,EAAE,QAAQI,EAAEA,EAAE,EAAEA,EAAE,KAAK,SAASA,EAAE,EAAQJ,EAAE,UAAN,GAAoBA,EAAE,UAAP,MAAeA,EAAE,QAAQ,EAAEA,EAAE,QAAQI,EAAC,EAAE,SAASA,EAAE,EAAQJ,EAAE,UAAN,GAAoBA,EAAE,UAAP,MAAeA,EAAE,QAAQ,EAAEA,EAAE,QAAQI,EAAC,CAAC,EAAOJ,EAAE,UAAP,KAAiBA,EAAE,QAAQ,EAAEA,EAAE,QAAQI,EAAE,CAAC,GAAOJ,EAAE,UAAN,EAAc,OAAOA,EAAE,QAAQ,QAAQ,MAAMA,EAAE,OAAQ,CAC5Z,IAAI6B,EAAE,CAAC,QAAQ,IAAI,EAAEC,EAAE,CAAC,WAAW,IAAI,EAAEC,GAAE,CAAC,uBAAuBF,EAAE,wBAAwBC,EAAE,kBAAkBnB,CAAC,EAAEzB,EAAQ,SAAS,CAAC,IAAIyC,EAAE,QAAQ,SAAS3B,EAAEI,EAAEC,EAAE,CAACsB,EAAE3B,EAAE,UAAU,CAACI,EAAE,MAAM,KAAK,SAAS,CAAC,EAAEC,CAAC,CAAC,EAAE,MAAM,SAASL,EAAE,CAAC,IAAII,EAAE,EAAE,OAAAuB,EAAE3B,EAAE,UAAU,CAACI,GAAG,CAAC,EAASA,CAAC,EAAE,QAAQ,SAASJ,EAAE,CAAC,OAAO2B,EAAE3B,EAAE,SAASA,EAAE,CAAC,OAAOA,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,SAASA,EAAE,CAAC,GAAG,CAACsB,EAAEtB,CAAC,EAAE,MAAM,MAAM,uEAAuE,EAAE,OAAOA,CAAC,CAAC,EAAEd,EAAQ,UAAUiB,EAAEjB,EAAQ,SAASG,EACneH,EAAQ,SAASK,EAAEL,EAAQ,cAAcqB,EAAErB,EAAQ,WAAWI,EAAEJ,EAAQ,SAASS,EAAET,EAAQ,mDAAmD6C,GAC9I7C,EAAQ,aAAa,SAASc,EAAEI,EAAEC,EAAE,CAAC,GAAUL,GAAP,KAAqB,MAAM,MAAM,iFAAiFA,EAAE,GAAG,EAAE,IAAIc,EAAE,EAAE,CAAC,EAAEd,EAAE,KAAK,EAAEe,EAAEf,EAAE,IAAIgB,EAAEhB,EAAE,IAAIiB,EAAEjB,EAAE,OAAO,GAASI,GAAN,KAAQ,CAAoE,GAA1DA,EAAE,MAAX,SAAiBY,EAAEZ,EAAE,IAAIa,EAAEN,EAAE,SAAkBP,EAAE,MAAX,SAAiBW,EAAE,GAAGX,EAAE,KAAQJ,EAAE,MAAMA,EAAE,KAAK,aAAa,IAAIkB,EAAElB,EAAE,KAAK,aAAa,IAAImB,KAAKf,EAAEM,EAAE,KAAKN,EAAEe,CAAC,GAAG,CAACP,EAAE,eAAeO,CAAC,IAAIL,EAAEK,GAAYf,EAAEe,KAAX,QAAwBD,IAAT,OAAWA,EAAEC,GAAGf,EAAEe,GAAG,CAAC,IAAIA,EAAE,UAAU,OAAO,EAAE,GAAOA,IAAJ,EAAML,EAAE,SAAST,UAAU,EAAEc,EAAE,CAACD,EAAE,MAAMC,CAAC,EACtf,QAAQC,EAAE,EAAEA,EAAED,EAAEC,IAAIF,EAAEE,GAAG,UAAUA,EAAE,GAAGN,EAAE,SAASI,CAAC,CAAC,MAAM,CAAC,SAAS/B,EAAE,KAAKa,EAAE,KAAK,IAAIe,EAAE,IAAIC,EAAE,MAAMF,EAAE,OAAOG,CAAC,CAAC,EAAE/B,EAAQ,cAAc,SAASc,EAAE,CAAC,OAAAA,EAAE,CAAC,SAASP,EAAE,cAAcO,EAAE,eAAeA,EAAE,aAAa,EAAE,SAAS,KAAK,SAAS,KAAK,cAAc,KAAK,YAAY,IAAI,EAAEA,EAAE,SAAS,CAAC,SAASR,EAAE,SAASQ,CAAC,EAASA,EAAE,SAASA,CAAC,EAAEd,EAAQ,cAAc2B,EAAE3B,EAAQ,cAAc,SAASc,EAAE,CAAC,IAAII,EAAES,EAAE,KAAK,KAAKb,CAAC,EAAE,OAAAI,EAAE,KAAKJ,EAASI,CAAC,EAAElB,EAAQ,UAAU,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,EAC9dA,EAAQ,WAAW,SAASc,EAAE,CAAC,MAAM,CAAC,SAASN,EAAE,OAAOM,CAAC,CAAC,EAAEd,EAAQ,eAAeoC,EAAEpC,EAAQ,KAAK,SAASc,EAAE,CAAC,MAAM,CAAC,SAASH,EAAE,SAAS,CAAC,QAAQ,GAAG,QAAQG,CAAC,EAAE,MAAM4B,CAAC,CAAC,EAAE1C,EAAQ,KAAK,SAASc,EAAEI,EAAE,CAAC,MAAM,CAAC,SAASR,EAAE,KAAKI,EAAE,QAAiBI,IAAT,OAAW,KAAKA,CAAC,CAAC,EAAElB,EAAQ,gBAAgB,SAASc,EAAE,CAAC,IAAII,EAAE0B,EAAE,WAAWA,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC9B,EAAE,CAAC,QAAC,CAAQ8B,EAAE,WAAW1B,CAAC,CAAC,EAAElB,EAAQ,aAAa,UAAU,CAAC,MAAM,MAAM,0DAA0D,CAAE,EAC1cA,EAAQ,YAAY,SAASc,EAAEI,EAAE,CAAC,OAAOyB,EAAE,QAAQ,YAAY7B,EAAEI,CAAC,CAAC,EAAElB,EAAQ,WAAW,SAASc,EAAE,CAAC,OAAO6B,EAAE,QAAQ,WAAW7B,CAAC,CAAC,EAAEd,EAAQ,cAAc,UAAU,CAAC,EAAEA,EAAQ,iBAAiB,SAASc,EAAE,CAAC,OAAO6B,EAAE,QAAQ,iBAAiB7B,CAAC,CAAC,EAAEd,EAAQ,UAAU,SAASc,EAAEI,EAAE,CAAC,OAAOyB,EAAE,QAAQ,UAAU7B,EAAEI,CAAC,CAAC,EAAElB,EAAQ,MAAM,UAAU,CAAC,OAAO2C,EAAE,QAAQ,MAAM,CAAC,EAAE3C,EAAQ,oBAAoB,SAASc,EAAEI,EAAEC,EAAE,CAAC,OAAOwB,EAAE,QAAQ,oBAAoB7B,EAAEI,EAAEC,CAAC,CAAC,EAC7bnB,EAAQ,mBAAmB,SAASc,EAAEI,EAAE,CAAC,OAAOyB,EAAE,QAAQ,mBAAmB7B,EAAEI,CAAC,CAAC,EAAElB,EAAQ,gBAAgB,SAASc,EAAEI,EAAE,CAAC,OAAOyB,EAAE,QAAQ,gBAAgB7B,EAAEI,CAAC,CAAC,EAAElB,EAAQ,QAAQ,SAASc,EAAEI,EAAE,CAAC,OAAOyB,EAAE,QAAQ,QAAQ7B,EAAEI,CAAC,CAAC,EAAElB,EAAQ,WAAW,SAASc,EAAEI,EAAEC,EAAE,CAAC,OAAOwB,EAAE,QAAQ,WAAW7B,EAAEI,EAAEC,CAAC,CAAC,EAAEnB,EAAQ,OAAO,SAASc,EAAE,CAAC,OAAO6B,EAAE,QAAQ,OAAO7B,CAAC,CAAC,EAAEd,EAAQ,SAAS,SAASc,EAAE,CAAC,OAAO6B,EAAE,QAAQ,SAAS7B,CAAC,CAAC,EAAEd,EAAQ,qBAAqB,SAASc,EAAEI,EAAEC,EAAE,CAAC,OAAOwB,EAAE,QAAQ,qBAAqB7B,EAAEI,EAAEC,CAAC,CAAC,EAC/enB,EAAQ,cAAc,UAAU,CAAC,OAAO2C,EAAE,QAAQ,cAAc,CAAC,EAAE3C,EAAQ,QAAQ,WCzBnF,IAAA8C,EAAAC,EAAA,CAAAC,GAAAC,IAAA,cAGEA,EAAO,QAAU,MCHnB,IAAAC,EAAAC,EAAAC,GAAA,cASa,IAAIC,GAAE,IAAiBC,GAAE,OAAO,IAAI,eAAe,EAAEC,GAAE,OAAO,IAAI,gBAAgB,EAAEC,GAAE,OAAO,UAAU,eAAeC,GAAEJ,GAAE,mDAAmD,kBAAkBK,GAAE,CAAC,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,EAAE,EAClP,SAASC,EAAEC,EAAEC,EAAEC,EAAE,CAAC,IAAIC,EAAEC,EAAE,CAAC,EAAEC,EAAE,KAAKC,EAAE,KAAcJ,IAAT,SAAaG,EAAE,GAAGH,GAAYD,EAAE,MAAX,SAAiBI,EAAE,GAAGJ,EAAE,KAAcA,EAAE,MAAX,SAAiBK,EAAEL,EAAE,KAAK,IAAIE,KAAKF,EAAEL,GAAE,KAAKK,EAAEE,CAAC,GAAG,CAACL,GAAE,eAAeK,CAAC,IAAIC,EAAED,GAAGF,EAAEE,IAAI,GAAGH,GAAGA,EAAE,aAAa,IAAIG,KAAKF,EAAED,EAAE,aAAaC,EAAWG,EAAED,KAAX,SAAgBC,EAAED,GAAGF,EAAEE,IAAI,MAAM,CAAC,SAAST,GAAE,KAAKM,EAAE,IAAIK,EAAE,IAAIC,EAAE,MAAMF,EAAE,OAAOP,GAAE,OAAO,CAAC,CAACL,EAAQ,SAASG,GAAEH,EAAQ,IAAIO,EAAEP,EAAQ,KAAKO,ICV1W,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,IAAA,cAGEA,EAAO,QAAU",
6
+ "names": ["require_react_production_min", "__commonJSMin", "exports", "l", "n", "p", "q", "r", "t", "u", "v", "w", "x", "y", "z", "A", "a", "B", "D", "E", "b", "e", "F", "G", "H", "I", "J", "K", "L", "M", "d", "c", "k", "h", "g", "f", "m", "N", "O", "escape", "P", "Q", "R", "S", "T", "U", "V", "W", "require_react", "__commonJSMin", "exports", "module", "require_react_jsx_runtime_production_min", "__commonJSMin", "exports", "f", "k", "l", "m", "n", "p", "q", "c", "a", "g", "b", "d", "e", "h", "require_jsx_runtime", "__commonJSMin", "exports", "module"]
7
+ }
@@ -0,0 +1,32 @@
1
+ import{b as m,d as l}from"/build/_shared/chunk-63VE24M5.js";import{a as E}from"/build/_shared/chunk-4ROFW2VH.js";import{M as C,O as p,Z as h,_ as r}from"/build/_shared/chunk-HX34UWFZ.js";import{i as n,q as y}from"/build/_shared/chunk-ZNLABNO4.js";import{a as $,b as f}from"/build/_shared/chunk-KSKV5IK6.js";import{b as a}from"/build/_shared/chunk-X4LCECW4.js";var t=a($());var e=a(f()),q={hydrogen:{resourceType:E.FRONT_PAGE}};function H(){let{primaryHero:u,secondaryHero:i,tertiaryHero:s,featuredCollections:g,featuredProducts:c}=y(),d=C([{},{},{}]);return(0,e.jsxs)(e.Fragment,{children:[u&&(0,e.jsx)(r,{...u,height:"full",top:!0,loading:"eager"}),c&&(0,e.jsx)(t.Suspense,{children:(0,e.jsx)(n,{resolve:c,children:({products:o})=>o?.nodes?(0,e.jsx)(p,{products:o.nodes,title:"Featured Products",count:4}):null})}),i&&(0,e.jsx)(t.Suspense,{fallback:(0,e.jsx)(r,{...d[1]}),children:(0,e.jsx)(n,{resolve:i,children:({hero:o})=>o?(0,e.jsx)(r,{...o}):null})}),g&&(0,e.jsx)(t.Suspense,{children:(0,e.jsx)(n,{resolve:g,children:({collections:o})=>o?.nodes?(0,e.jsx)(h,{collections:o.nodes,title:"Collections"}):null})}),s&&(0,e.jsx)(t.Suspense,{fallback:(0,e.jsx)(r,{...d[2]}),children:(0,e.jsx)(n,{resolve:s,children:({hero:o})=>o?(0,e.jsx)(r,{...o}):null})})]})}var w=`#graphql
2
+ ${l}
3
+ query collectionContent($handle: String, $country: CountryCode, $language: LanguageCode)
4
+ @inContext(country: $country, language: $language) {
5
+ hero: collection(handle: $handle) {
6
+ ...CollectionContent
7
+ }
8
+ shop {
9
+ name
10
+ description
11
+ }
12
+ }
13
+ `,b=`#graphql
14
+ ${l}
15
+ query collectionContent($handle: String, $country: CountryCode, $language: LanguageCode)
16
+ @inContext(country: $country, language: $language) {
17
+ hero: collection(handle: $handle) {
18
+ ...CollectionContent
19
+ }
20
+ }
21
+ `,F=`#graphql
22
+ ${m}
23
+ query homepageFeaturedProducts($country: CountryCode, $language: LanguageCode)
24
+ @inContext(country: $country, language: $language) {
25
+ products(first: 8) {
26
+ nodes {
27
+ ...ProductCard
28
+ }
29
+ }
30
+ }
31
+ `;export{q as a,H as b};
32
+ //# sourceMappingURL=/build/_shared/chunk-LNLOHMUB.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../app/routes/index.tsx"],
4
+ "sourcesContent": ["import {defer, type LoaderArgs} from '@shopify/remix-oxygen';\nimport {RESOURCE_TYPES, notFoundMaybeRedirect} from '@shopify/hydrogen';\nimport {Suspense} from 'react';\nimport {Await, useLoaderData} from '@remix-run/react';\nimport {ProductSwimlane, FeaturedCollections, Hero} from '~/components';\nimport {COLLECTION_CONTENT_FRAGMENT, PRODUCT_CARD_FRAGMENT} from '~/data';\nimport {getHeroPlaceholder} from '~/lib/placeholders';\nimport {getLocaleFromRequest} from '~/lib/utils';\nimport type {\n CollectionConnection,\n Metafield,\n ProductConnection,\n} from '@shopify/hydrogen-react/storefront-api-types';\n\ninterface HomeSeoData {\n shop: {\n name: string;\n description: string;\n };\n}\n\ninterface CollectionHero {\n byline: Metafield;\n cta: Metafield;\n handle: string;\n heading: Metafield;\n height?: 'full';\n loading?: 'eager' | 'lazy';\n spread: Metafield;\n spreadSecondary: Metafield;\n top?: boolean;\n}\n\nexport const handle = {\n hydrogen: {\n resourceType: RESOURCE_TYPES.FRONT_PAGE,\n },\n};\n\nexport async function loader({request, params, context}: LoaderArgs) {\n const {language, country} = getLocaleFromRequest(request);\n\n if (\n params.lang &&\n params.lang.toLowerCase() !== `${language}-${country}`.toLowerCase()\n ) {\n // If the lang URL param is defined, yet we still are on `EN-US`\n // the the lang param must be invalid, send to the 404 page\n throw await notFoundMaybeRedirect(request, context);\n }\n\n const {shop, hero} = await context.storefront.query<{\n hero: CollectionHero;\n shop: HomeSeoData;\n }>(HOMEPAGE_SEO_QUERY, {\n variables: {\n handle: 'freestyle',\n country: context.storefront.i18n?.country,\n language: context.storefront.i18n?.language,\n },\n });\n\n return defer({\n shop,\n primaryHero: hero,\n // @feedback\n // Should these all be deferred? Can any of them be combined?\n // Should there be fallback rendering while deferred?\n featuredProducts: context.storefront.query<{\n products: ProductConnection;\n }>(HOMEPAGE_FEATURED_PRODUCTS_QUERY, {\n variables: {\n /**\n Country and language properties are automatically injected\n into all queries. Passing them is unnecessary unless you\n want to override them from the following default:\n */\n country: context.storefront.i18n?.country,\n language: context.storefront.i18n?.language,\n },\n }),\n secondaryHero: context.storefront.query<{hero: CollectionHero}>(\n COLLECTION_HERO_QUERY,\n {\n variables: {\n handle: 'backcountry',\n country: context.storefront.i18n?.country,\n language: context.storefront.i18n?.language,\n },\n },\n ),\n featuredCollections: context.storefront.query<{\n collections: CollectionConnection;\n }>(FEATURED_COLLECTIONS_QUERY, {\n variables: {\n country: context.storefront.i18n?.country,\n language: context.storefront.i18n?.language,\n },\n }),\n tertiaryHero: context.storefront.query<{hero: CollectionHero}>(\n COLLECTION_HERO_QUERY,\n {\n variables: {\n handle: 'winter-2022',\n country: context.storefront.i18n?.country,\n language: context.storefront.i18n?.language,\n },\n },\n ),\n });\n}\n\nexport default function Homepage() {\n const {\n primaryHero,\n secondaryHero,\n tertiaryHero,\n featuredCollections,\n featuredProducts,\n } = useLoaderData<typeof loader>();\n\n // TODO: skeletons vs placeholders\n const skeletons = getHeroPlaceholder([{}, {}, {}]);\n\n // TODO: analytics\n // useServerAnalytics({\n // shopify: {\n // pageType: ShopifyAnalyticsConstants.pageType.home,\n // },\n // });\n\n return (\n <>\n {primaryHero && (\n <Hero {...primaryHero} height=\"full\" top loading=\"eager\" />\n )}\n\n {featuredProducts && (\n <Suspense>\n <Await resolve={featuredProducts}>\n {({products}) => {\n if (!products?.nodes) return null;\n return (\n <ProductSwimlane\n products={products.nodes}\n title=\"Featured Products\"\n count={4}\n />\n );\n }}\n </Await>\n </Suspense>\n )}\n\n {secondaryHero && (\n <Suspense fallback={<Hero {...skeletons[1]} />}>\n <Await resolve={secondaryHero}>\n {({hero}) => {\n if (!hero) return null;\n return <Hero {...hero} />;\n }}\n </Await>\n </Suspense>\n )}\n\n {featuredCollections && (\n <Suspense>\n <Await resolve={featuredCollections}>\n {({collections}) => {\n if (!collections?.nodes) return null;\n return (\n <FeaturedCollections\n collections={collections.nodes}\n title=\"Collections\"\n />\n );\n }}\n </Await>\n </Suspense>\n )}\n\n {tertiaryHero && (\n <Suspense fallback={<Hero {...skeletons[2]} />}>\n <Await resolve={tertiaryHero}>\n {({hero}) => {\n if (!hero) return null;\n return <Hero {...hero} />;\n }}\n </Await>\n </Suspense>\n )}\n </>\n );\n}\n\nconst HOMEPAGE_SEO_QUERY = `#graphql\n ${COLLECTION_CONTENT_FRAGMENT}\n query collectionContent($handle: String, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n hero: collection(handle: $handle) {\n ...CollectionContent\n }\n shop {\n name\n description\n }\n }\n`;\n\nconst COLLECTION_HERO_QUERY = `#graphql\n ${COLLECTION_CONTENT_FRAGMENT}\n query collectionContent($handle: String, $country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n hero: collection(handle: $handle) {\n ...CollectionContent\n }\n }\n`;\n\n// @see: https://shopify.dev/api/storefront/latest/queries/products\nexport const HOMEPAGE_FEATURED_PRODUCTS_QUERY = `#graphql\n ${PRODUCT_CARD_FRAGMENT}\n query homepageFeaturedProducts($country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n products(first: 8) {\n nodes {\n ...ProductCard\n }\n }\n }\n`;\n\n// @see: https://shopify.dev/api/storefront/latest/queries/collections\nexport const FEATURED_COLLECTIONS_QUERY = `#graphql\n query homepageFeaturedCollections($country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n collections(\n first: 4,\n sortKey: UPDATED_AT\n ) {\n nodes {\n id\n title\n handle\n image {\n altText\n width\n height\n url\n }\n }\n }\n }\n`;\n"],
5
+ "mappings": "wWAEA,IAAAA,EAAuB,OAFvB,IAAAC,EAAA,OAiCaC,EAAS,CACpB,SAAU,CACR,aAAcC,EAAe,UAC/B,CACF,EA2Ee,SAARC,GAA4B,CACjC,GAAM,CACJ,YAAAC,EACA,cAAAC,EACA,aAAAC,EACA,oBAAAC,EACA,iBAAAC,CACF,EAAIC,EAA6B,EAG3BC,EAAYC,EAAmB,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,CAAC,EASjD,SACE,oBACG,UAAAP,MACC,OAACQ,EAAA,CAAM,GAAGR,EAAa,OAAO,OAAO,IAAG,GAAC,QAAQ,QAAQ,EAG1DI,MACC,OAAC,YACC,mBAACK,EAAA,CAAM,QAASL,EACb,UAAC,CAAC,SAAAM,CAAQ,IACJA,GAAU,SAEb,OAACC,EAAA,CACC,SAAUD,EAAS,MACnB,MAAM,oBACN,MAAO,EACT,EAN2B,KASjC,EACF,EAGDT,MACC,OAAC,YAAS,YAAU,OAACO,EAAA,CAAM,GAAGF,EAAU,GAAI,EAC1C,mBAACG,EAAA,CAAM,QAASR,EACb,UAAC,CAAC,KAAAW,CAAI,IACAA,KACE,OAACJ,EAAA,CAAM,GAAGI,EAAM,EADL,KAGtB,EACF,EAGDT,MACC,OAAC,YACC,mBAACM,EAAA,CAAM,QAASN,EACb,UAAC,CAAC,YAAAU,CAAW,IACPA,GAAa,SAEhB,OAACC,EAAA,CACC,YAAaD,EAAY,MACzB,MAAM,cACR,EAL8B,KAQpC,EACF,EAGDX,MACC,OAAC,YAAS,YAAU,OAACM,EAAA,CAAM,GAAGF,EAAU,GAAI,EAC1C,mBAACG,EAAA,CAAM,QAASP,EACb,UAAC,CAAC,KAAAU,CAAI,IACAA,KACE,OAACJ,EAAA,CAAM,GAAGI,EAAM,EADL,KAGtB,EACF,GAEJ,CAEJ,CAEA,IAAMG,EAAqB;AAAA,IACvBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaEC,EAAwB;AAAA,IAC1BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUSE,EAAmC;AAAA,IAC5CC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": ["import_react", "import_jsx_runtime", "handle", "x", "Homepage", "primaryHero", "secondaryHero", "tertiaryHero", "featuredCollections", "featuredProducts", "useLoaderData", "skeletons", "getHeroPlaceholder", "Hero", "Await", "products", "ProductSwimlane", "hero", "collections", "FeaturedCollections", "HOMEPAGE_SEO_QUERY", "COLLECTION_CONTENT_FRAGMENT", "COLLECTION_HERO_QUERY", "HOMEPAGE_FEATURED_PRODUCTS_QUERY", "PRODUCT_CARD_FRAGMENT"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{Y as c}from"/build/_shared/chunk-HX34UWFZ.js";import{f as l}from"/build/_shared/chunk-WYHUKY3H.js";import{o,r as n}from"/build/_shared/chunk-ZNLABNO4.js";import{a as p,b as i}from"/build/_shared/chunk-KSKV5IK6.js";import{b as s}from"/build/_shared/chunk-X4LCECW4.js";var m=s(p());var e=s(i());var w=()=>({title:"Recover Password"});function f(){let t=n(),[a,u]=(0,m.useState)(null),d=t?.resetRequested;return(0,e.jsx)("div",{className:"flex justify-center my-24 px-4",children:(0,e.jsx)("div",{className:"max-w-md w-full",children:d?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("h1",{className:"text-4xl",children:"Request Sent."}),(0,e.jsx)("p",{className:"mt-4",children:"If that email address is in our system, you will receive an email with instructions about how to reset your password in a few minutes."})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("h1",{className:"text-4xl",children:"Forgot Password."}),(0,e.jsx)("p",{className:"mt-4",children:"Enter the email address associated with your account to receive a link to reset your password."}),(0,e.jsxs)(o,{method:"post",noValidate:!0,className:"pt-6 pb-8 mt-4 mb-4 space-y-3",children:[t?.formError&&(0,e.jsx)("div",{className:"flex items-center justify-center mb-6 bg-zinc-500",children:(0,e.jsx)("p",{className:"m-4 text-s text-contrast",children:t.formError})}),(0,e.jsxs)("div",{children:[(0,e.jsx)("input",{className:`mb-1 ${l(a)}`,id:"email",name:"email",type:"email",autoComplete:"email",required:!0,placeholder:"Email address","aria-label":"Email address",autoFocus:!0,onBlur:r=>{u(r.currentTarget.value.length&&!r.currentTarget.validity.valid?"Invalid email address":null)}}),a&&(0,e.jsxs)("p",{className:"text-red-500 text-xs",children:[a," \xA0"]})]}),(0,e.jsx)("div",{className:"flex items-center justify-between",children:(0,e.jsx)("button",{className:"bg-primary text-contrast rounded py-2 px-4 focus:shadow-outline block w-full",type:"submit",children:"Request Reset Link"})}),(0,e.jsx)("div",{className:"flex items-center mt-8 border-t border-gray-300",children:(0,e.jsxs)("p",{className:"align-baseline text-sm mt-6",children:["Return to \xA0",(0,e.jsx)(c,{className:"inline underline",to:"/account/login",children:"Login"})]})})]})]})})})}export{w as a,f as b};
2
+ //# sourceMappingURL=/build/_shared/chunk-LSI6EG4I.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../app/routes/account/__public/recover.tsx"],
4
+ "sourcesContent": ["import {\n type MetaFunction,\n type ActionFunction,\n type LoaderArgs,\n redirect,\n json,\n} from '@shopify/remix-oxygen';\nimport {Form, useActionData} from '@remix-run/react';\nimport {useState} from 'react';\nimport {sendPasswordResetEmail} from '~/data';\nimport {Link} from '~/components';\nimport {getInputStyleClasses} from '~/lib/utils';\n\nexport async function loader({context, params}: LoaderArgs) {\n const customerAccessToken = await context.session.get('customerAccessToken');\n\n if (customerAccessToken) {\n return redirect(params.lang ? `${params.lang}/account` : '/account');\n }\n\n return new Response(null);\n}\n\ntype ActionData = {\n formError?: string;\n resetRequested?: boolean;\n};\n\nconst badRequest = (data: ActionData) => json(data, {status: 400});\n\nexport const action: ActionFunction = async ({request, context}) => {\n const formData = await request.formData();\n const email = formData.get('email');\n\n if (!email || typeof email !== 'string') {\n return badRequest({\n formError: 'Please provide an email.',\n });\n }\n\n try {\n await sendPasswordResetEmail(context, {email});\n\n return json({resetRequested: true});\n } catch (error: any) {\n return badRequest({\n formError: 'Something went wrong. Please try again later.',\n });\n }\n};\n\nexport const meta: MetaFunction = () => {\n return {\n title: 'Recover Password',\n };\n};\n\nexport default function Recover() {\n const actionData = useActionData<ActionData>();\n const [nativeEmailError, setNativeEmailError] = useState<null | string>(null);\n const isSubmitted = actionData?.resetRequested;\n\n return (\n <div className=\"flex justify-center my-24 px-4\">\n <div className=\"max-w-md w-full\">\n {isSubmitted ? (\n <>\n <h1 className=\"text-4xl\">Request Sent.</h1>\n <p className=\"mt-4\">\n If that email address is in our system, you will receive an email\n with instructions about how to reset your password in a few\n minutes.\n </p>\n </>\n ) : (\n <>\n <h1 className=\"text-4xl\">Forgot Password.</h1>\n <p className=\"mt-4\">\n Enter the email address associated with your account to receive a\n link to reset your password.\n </p>\n {/* TODO: Add onSubmit to validate _before_ submission with native? */}\n <Form\n method=\"post\"\n noValidate\n className=\"pt-6 pb-8 mt-4 mb-4 space-y-3\"\n >\n {actionData?.formError && (\n <div className=\"flex items-center justify-center mb-6 bg-zinc-500\">\n <p className=\"m-4 text-s text-contrast\">\n {actionData.formError}\n </p>\n </div>\n )}\n <div>\n <input\n className={`mb-1 ${getInputStyleClasses(nativeEmailError)}`}\n id=\"email\"\n name=\"email\"\n type=\"email\"\n autoComplete=\"email\"\n required\n placeholder=\"Email address\"\n aria-label=\"Email address\"\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus\n onBlur={(event) => {\n setNativeEmailError(\n event.currentTarget.value.length &&\n !event.currentTarget.validity.valid\n ? 'Invalid email address'\n : null,\n );\n }}\n />\n {nativeEmailError && (\n <p className=\"text-red-500 text-xs\">\n {nativeEmailError} &nbsp;\n </p>\n )}\n </div>\n <div className=\"flex items-center justify-between\">\n <button\n className=\"bg-primary text-contrast rounded py-2 px-4 focus:shadow-outline block w-full\"\n type=\"submit\"\n >\n Request Reset Link\n </button>\n </div>\n <div className=\"flex items-center mt-8 border-t border-gray-300\">\n <p className=\"align-baseline text-sm mt-6\">\n Return to &nbsp;\n <Link className=\"inline underline\" to=\"/account/login\">\n Login\n </Link>\n </p>\n </div>\n </Form>\n </>\n )}\n </div>\n </div>\n );\n}\n"],
5
+ "mappings": "kRAQA,IAAAA,EAAuB,OARvB,IAAAC,EAAA,OAmDO,IAAMC,EAAqB,KACzB,CACL,MAAO,kBACT,GAGa,SAARC,GAA2B,CAChC,IAAMC,EAAaC,EAA0B,EACvC,CAACC,EAAkBC,CAAmB,KAAI,YAAwB,IAAI,EACtEC,EAAcJ,GAAY,eAEhC,SACE,OAAC,OAAI,UAAU,iCACb,mBAAC,OAAI,UAAU,kBACZ,SAAAI,KACC,oBACE,oBAAC,MAAG,UAAU,WAAW,yBAAa,KACtC,OAAC,KAAE,UAAU,OAAO,kJAIpB,GACF,KAEA,oBACE,oBAAC,MAAG,UAAU,WAAW,4BAAgB,KACzC,OAAC,KAAE,UAAU,OAAO,0GAGpB,KAEA,QAACC,EAAA,CACC,OAAO,OACP,WAAU,GACV,UAAU,gCAET,UAAAL,GAAY,cACX,OAAC,OAAI,UAAU,oDACb,mBAAC,KAAE,UAAU,2BACV,SAAAA,EAAW,UACd,EACF,KAEF,QAAC,OACC,oBAAC,SACC,UAAW,QAAQM,EAAqBJ,CAAgB,IACxD,GAAG,QACH,KAAK,QACL,KAAK,QACL,aAAa,QACb,SAAQ,GACR,YAAY,gBACZ,aAAW,gBAEX,UAAS,GACT,OAASK,GAAU,CACjBJ,EACEI,EAAM,cAAc,MAAM,QACxB,CAACA,EAAM,cAAc,SAAS,MAC5B,wBACA,IACN,CACF,EACF,EACCL,MACC,QAAC,KAAE,UAAU,uBACV,UAAAA,EAAiB,SACpB,GAEJ,KACA,OAAC,OAAI,UAAU,oCACb,mBAAC,UACC,UAAU,+EACV,KAAK,SACN,8BAED,EACF,KACA,OAAC,OAAI,UAAU,kDACb,oBAAC,KAAE,UAAU,8BAA8B,8BAEzC,OAACM,EAAA,CAAK,UAAU,mBAAmB,GAAG,iBAAiB,iBAEvD,GACF,EACF,GACF,GACF,EAEJ,EACF,CAEJ",
6
+ "names": ["import_react", "import_jsx_runtime", "meta", "Recover", "actionData", "useActionData", "nativeEmailError", "setNativeEmailError", "isSubmitted", "Form", "getInputStyleClasses", "event", "Link"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as $}from"/build/_shared/chunk-4ROFW2VH.js";import{F as m,G as p,H as f,K as y,R as a,Y as C,ba as h,ca as v}from"/build/_shared/chunk-HX34UWFZ.js";import{q as g}from"/build/_shared/chunk-ZNLABNO4.js";import{b as u}from"/build/_shared/chunk-KSKV5IK6.js";import{b as d}from"/build/_shared/chunk-X4LCECW4.js";var t=d(u());var A={hydrogen:{resourceType:$.COLLECTIONS}},H=()=>({title:"All Collections"});function S(){let{collections:e}=g();return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(f,{heading:"Collections"}),(0,t.jsx)(p,{children:(0,t.jsx)(v,{connection:e,children:({endCursor:o,hasNextPage:r,hasPreviousPage:l,nextPageUrl:I,nodes:n,prevPageUrl:L,startCursor:s,nextLinkRef:x,isLoading:i})=>(0,t.jsxs)(t.Fragment,{children:[l&&(0,t.jsx)("div",{className:"flex items-center justify-center mt-6",children:(0,t.jsx)(a,{to:L,variant:"secondary",width:"full",prefetch:"intent",disabled:!i,state:{pageInfo:{endCursor:o,hasNextPage:r,startCursor:s},nodes:n},children:i?"Loading...":"Previous products"})}),(0,t.jsx)(h,{items:n.length===3?3:2,"data-test":"collection-grid",children:n.map((c,N)=>(0,t.jsx)(w,{collection:c,loading:y(N,2)},c.id))}),r&&(0,t.jsx)("div",{className:"flex items-center justify-center mt-6",children:(0,t.jsx)(a,{ref:x,to:I,variant:"secondary",width:"full",prefetch:"intent",disabled:!i,state:{pageInfo:{endCursor:o,hasPreviousPage:l,startCursor:s},nodes:n},children:i?"Loading...":"Next products"})})]})})})]})}function w({collection:e,loading:o}){return(0,t.jsxs)(C,{to:`/collections/${e.handle}`,className:"grid gap-4",children:[(0,t.jsx)("div",{className:"card-image bg-primary/5 aspect-[3/2]",children:e?.image&&(0,t.jsx)("img",{alt:e.title,src:e.image.url,height:400,sizes:"(max-width: 32em) 100vw, 33vw",width:600,loading:o})}),(0,t.jsx)(m,{as:"h3",size:"copy",children:e.title})]})}export{A as a,H as b,S as c};
2
+ //# sourceMappingURL=/build/_shared/chunk-LYYN6DNQ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../app/routes/collections/index.tsx"],
4
+ "sourcesContent": ["import {json, type MetaFunction, type LoaderArgs} from '@shopify/remix-oxygen';\nimport {RESOURCE_TYPES} from '@shopify/hydrogen';\nimport {useLoaderData} from '@remix-run/react';\nimport type {\n Collection,\n CollectionConnection,\n} from '@shopify/hydrogen-react/storefront-api-types';\nimport {\n Grid,\n Heading,\n PageHeader,\n Section,\n Link,\n Pagination,\n getPaginationVariables,\n Button,\n} from '~/components';\nimport {getImageLoadingPriority} from '~/lib/const';\n\nconst PAGINATION_SIZE = 8;\n\nexport const loader = async ({request, context: {storefront}}: LoaderArgs) => {\n const variables = getPaginationVariables(request, PAGINATION_SIZE);\n const {collections} = await storefront.query<{\n collections: CollectionConnection;\n }>(COLLECTIONS_QUERY, {\n variables: {\n ...variables,\n country: storefront.i18n?.country,\n language: storefront.i18n?.language,\n },\n });\n\n return json({collections});\n};\n\nexport const handle = {\n hydrogen: {\n resourceType: RESOURCE_TYPES.COLLECTIONS,\n },\n};\n\nexport const meta: MetaFunction = () => {\n return {\n title: 'All Collections',\n };\n};\n\nexport default function Collections() {\n const {collections} = useLoaderData<typeof loader>();\n\n return (\n <>\n <PageHeader heading=\"Collections\" />\n <Section>\n <Pagination connection={collections}>\n {({\n endCursor,\n hasNextPage,\n hasPreviousPage,\n nextPageUrl,\n nodes,\n prevPageUrl,\n startCursor,\n nextLinkRef,\n isLoading,\n }) => (\n <>\n {hasPreviousPage && (\n <div className=\"flex items-center justify-center mt-6\">\n <Button\n to={prevPageUrl}\n variant=\"secondary\"\n width=\"full\"\n prefetch=\"intent\"\n disabled={!isLoading}\n state={{\n pageInfo: {\n endCursor,\n hasNextPage,\n startCursor,\n },\n nodes,\n }}\n >\n {isLoading ? 'Loading...' : 'Previous products'}\n </Button>\n </div>\n )}\n <Grid\n items={nodes.length === 3 ? 3 : 2}\n data-test=\"collection-grid\"\n >\n {nodes.map((collection, i) => (\n <CollectionCard\n collection={collection as Collection}\n key={collection.id}\n loading={getImageLoadingPriority(i, 2)}\n />\n ))}\n </Grid>\n {hasNextPage && (\n <div className=\"flex items-center justify-center mt-6\">\n <Button\n ref={nextLinkRef}\n to={nextPageUrl}\n variant=\"secondary\"\n width=\"full\"\n prefetch=\"intent\"\n disabled={!isLoading}\n state={{\n pageInfo: {\n endCursor,\n hasPreviousPage,\n startCursor,\n },\n nodes,\n }}\n >\n {isLoading ? 'Loading...' : 'Next products'}\n </Button>\n </div>\n )}\n </>\n )}\n </Pagination>\n </Section>\n </>\n );\n}\n\nfunction CollectionCard({\n collection,\n loading,\n}: {\n collection: Collection;\n loading?: HTMLImageElement['loading'];\n}) {\n return (\n <Link to={`/collections/${collection.handle}`} className=\"grid gap-4\">\n <div className=\"card-image bg-primary/5 aspect-[3/2]\">\n {collection?.image && (\n <img\n alt={collection.title}\n src={collection.image.url}\n height={400}\n sizes=\"(max-width: 32em) 100vw, 33vw\"\n width={600}\n loading={loading}\n />\n )}\n </div>\n <Heading as=\"h3\" size=\"copy\">\n {collection.title}\n </Heading>\n </Link>\n );\n}\n\nconst COLLECTIONS_QUERY = `#graphql\n query Collections(\n $country: CountryCode\n $language: LanguageCode\n $first: Int\n $last: Int\n $startCursor: String\n $endCursor: String\n ) @inContext(country: $country, language: $language) {\n collections(first: $first, last: $last, before: $startCursor, after: $endCursor) {\n nodes {\n id\n title\n description\n handle\n seo {\n description\n title\n }\n image {\n id\n url\n width\n height\n altText\n }\n }\n pageInfo {\n hasPreviousPage\n hasNextPage\n startCursor\n endCursor\n }\n }\n }\n`;\n"],
5
+ "mappings": "4TAAA,IAAAA,EAAA,OAoCO,IAAMC,EAAS,CACpB,SAAU,CACR,aAAcC,EAAe,WAC/B,CACF,EAEaC,EAAqB,KACzB,CACL,MAAO,iBACT,GAGa,SAARC,GAA+B,CACpC,GAAM,CAAC,YAAAC,CAAW,EAAIC,EAA6B,EAEnD,SACE,oBACE,oBAACC,EAAA,CAAW,QAAQ,cAAc,KAClC,OAACC,EAAA,CACC,mBAACC,EAAA,CAAW,WAAYJ,EACrB,UAAC,CACA,UAAAK,EACA,YAAAC,EACA,gBAAAC,EACA,YAAAC,EACA,MAAAC,EACA,YAAAC,EACA,YAAAC,EACA,YAAAC,EACA,UAAAC,CACF,OACE,oBACG,UAAAN,MACC,OAAC,OAAI,UAAU,wCACb,mBAACO,EAAA,CACC,GAAIJ,EACJ,QAAQ,YACR,MAAM,OACN,SAAS,SACT,SAAU,CAACG,EACX,MAAO,CACL,SAAU,CACR,UAAAR,EACA,YAAAC,EACA,YAAAK,CACF,EACA,MAAAF,CACF,EAEC,SAAAI,EAAY,aAAe,oBAC9B,EACF,KAEF,OAACE,EAAA,CACC,MAAON,EAAM,SAAW,EAAI,EAAI,EAChC,YAAU,kBAET,SAAAA,EAAM,IAAI,CAACO,EAAYC,OACtB,OAACC,EAAA,CACC,WAAYF,EAEZ,QAASG,EAAwBF,EAAG,CAAC,GADhCD,EAAW,EAElB,CACD,EACH,EACCV,MACC,OAAC,OAAI,UAAU,wCACb,mBAACQ,EAAA,CACC,IAAKF,EACL,GAAIJ,EACJ,QAAQ,YACR,MAAM,OACN,SAAS,SACT,SAAU,CAACK,EACX,MAAO,CACL,SAAU,CACR,UAAAR,EACA,gBAAAE,EACA,YAAAI,CACF,EACA,MAAAF,CACF,EAEC,SAAAI,EAAY,aAAe,gBAC9B,EACF,GAEJ,EAEJ,EACF,GACF,CAEJ,CAEA,SAASK,EAAe,CACtB,WAAAF,EACA,QAAAI,CACF,EAGG,CACD,SACE,QAACC,EAAA,CAAK,GAAI,gBAAgBL,EAAW,SAAU,UAAU,aACvD,oBAAC,OAAI,UAAU,uCACZ,SAAAA,GAAY,UACX,OAAC,OACC,IAAKA,EAAW,MAChB,IAAKA,EAAW,MAAM,IACtB,OAAQ,IACR,MAAM,gCACN,MAAO,IACP,QAASI,EACX,EAEJ,KACA,OAACE,EAAA,CAAQ,GAAG,KAAK,KAAK,OACnB,SAAAN,EAAW,MACd,GACF,CAEJ",
6
+ "names": ["import_jsx_runtime", "handle", "x", "meta", "Collections", "collections", "useLoaderData", "PageHeader", "Section", "Pagination", "endCursor", "hasNextPage", "hasPreviousPage", "nextPageUrl", "nodes", "prevPageUrl", "startCursor", "nextLinkRef", "isLoading", "Button", "Grid", "collection", "i", "CollectionCard", "getImageLoadingPriority", "loading", "Link", "Heading"]
7
+ }
@@ -0,0 +1,2 @@
1
+ function e(){return null}export{e as a};
2
+ //# sourceMappingURL=/build/_shared/chunk-MIBUUBFO.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../app/routes/api/products.tsx"],
4
+ "sourcesContent": ["import {json, type LoaderArgs} from '@shopify/remix-oxygen';\nimport {flattenConnection} from '@shopify/hydrogen-react';\nimport {ProductConnection} from '@shopify/hydrogen-react/storefront-api-types';\nimport invariant from 'tiny-invariant';\n\n/**\n * Fetch a given set of products from the storefront API\n * @param count\n * @param query\n * @param reverse\n * @param sortKey\n * @returns Product[]\n * @see https://shopify.dev/api/storefront/2023-01/queries/products\n */\nexport async function loader({request, context: {storefront}}: LoaderArgs) {\n const url = new URL(request.url);\n const searchParams = new URLSearchParams(url.search);\n\n const sortKey = searchParams.get('sortKey') ?? 'BEST_SELLING';\n const query = searchParams.get('query') ?? '';\n\n let reverse = false;\n try {\n const _reverse = searchParams.get('reverse');\n if (_reverse === 'true') {\n reverse = true;\n }\n } catch (_) {\n // noop\n }\n\n let count = 4;\n try {\n const _count = searchParams.get('count');\n if (typeof _count === 'string') {\n count = parseInt(_count);\n }\n } catch (_) {\n // noop\n }\n\n const {products} = await storefront.query<{\n products: ProductConnection;\n }>(PRODUCTS_QUERY, {\n variables: {\n count,\n query,\n reverse,\n sortKey,\n country: storefront.i18n?.country,\n language: storefront.i18n?.language,\n },\n cache: storefront.CacheLong(),\n });\n\n invariant(products, 'No data returned from top products query');\n\n return json({\n products: flattenConnection(products),\n });\n}\n\nconst PRODUCTS_QUERY = `#graphql\n fragment ProductCard on Product {\n id\n title\n publishedAt\n handle\n variants(first: 1) {\n nodes {\n id\n image {\n url\n altText\n width\n height\n }\n price: priceV2 {\n amount\n currencyCode\n }\n compareAtPrice: compareAtPriceV2 {\n amount\n currencyCode\n }\n product {\n title\n handle\n }\n selectedOptions {\n name\n value\n }\n }\n }\n }\n query (\n $query: String\n $count: Int\n $reverse: Boolean\n $country: CountryCode\n $language: LanguageCode\n $sortKey: ProductSortKeys\n ) @inContext(country: $country, language: $language) {\n products(first: $count, sortKey: $sortKey, reverse: $reverse, query: $query) {\n nodes {\n ...ProductCard\n }\n }\n }\n`;\n\n// no-op\nexport default function ProductsApiRoute() {\n return null;\n}\n"],
5
+ "mappings": "AAiHe,SAARA,GAAoC,CACzC,OAAO,IACT",
6
+ "names": ["ProductsApiRoute"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{D as w,E as a,R as n}from"/build/_shared/chunk-HX34UWFZ.js";import{f as t}from"/build/_shared/chunk-WYHUKY3H.js";import{c as m,o as d,r as c,s as u}from"/build/_shared/chunk-ZNLABNO4.js";import{b as p}from"/build/_shared/chunk-KSKV5IK6.js";import{b as l}from"/build/_shared/chunk-X4LCECW4.js";var e=l(p());var v={renderInModal:!0};function f(){let r=c(),{customer:s}=m(),o=u();return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(a,{className:"mt-4 mb-6",as:"h3",size:"lead",children:"Update your profile"}),(0,e.jsxs)(d,{method:"post",children:[r?.formError&&(0,e.jsx)("div",{className:"flex items-center justify-center mb-6 bg-red-100 rounded",children:(0,e.jsx)("p",{className:"m-4 text-sm text-red-900",children:r.formError})}),(0,e.jsx)("div",{className:"mt-3",children:(0,e.jsx)("input",{className:t(),id:"firstName",name:"firstName",type:"text",autoComplete:"given-name",placeholder:"First name","aria-label":"First name",defaultValue:s.firstName??""})}),(0,e.jsx)("div",{className:"mt-3",children:(0,e.jsx)("input",{className:t(),id:"lastName",name:"lastName",type:"text",autoComplete:"family-name",placeholder:"Last name","aria-label":"Last name",defaultValue:s.lastName??""})}),(0,e.jsx)("div",{className:"mt-3",children:(0,e.jsx)("input",{className:t(),id:"phone",name:"phone",type:"tel",autoComplete:"tel",placeholder:"Mobile","aria-label":"Mobile",defaultValue:s.phone??""})}),(0,e.jsxs)("div",{className:"mt-3",children:[(0,e.jsx)("input",{className:t(r?.fieldErrors?.email),id:"email",name:"email",type:"email",autoComplete:"email",required:!0,placeholder:"Email address","aria-label":"Email address",defaultValue:s.email??""}),r?.fieldErrors?.email&&(0,e.jsxs)("p",{className:"text-red-500 text-xs",children:[r.fieldErrors.email," \xA0"]})]}),(0,e.jsx)(a,{className:"mb-6 mt-6",as:"h3",size:"lead",children:"Change your password"}),(0,e.jsx)(i,{name:"currentPassword",label:"Current password",passwordError:r?.fieldErrors?.currentPassword}),r?.fieldErrors?.currentPassword&&(0,e.jsxs)(a,{size:"fine",className:"mt-1 text-red-500",children:[r.fieldErrors.currentPassword," \xA0"]}),(0,e.jsx)(i,{name:"newPassword",label:"New password",passwordError:r?.fieldErrors?.newPassword}),(0,e.jsx)(i,{name:"newPassword2",label:"Re-enter new password",passwordError:r?.fieldErrors?.newPassword2}),(0,e.jsx)(a,{size:"fine",color:"subtle",className:w("mt-1",r?.fieldErrors?.newPassword&&"text-red-500"),children:"Passwords must be at least 8 characters."}),r?.fieldErrors?.newPassword2?(0,e.jsx)("br",{}):null,r?.fieldErrors?.newPassword2&&(0,e.jsxs)(a,{size:"fine",className:"mt-1 text-red-500",children:[r.fieldErrors.newPassword2," \xA0"]}),(0,e.jsx)("div",{className:"mt-6",children:(0,e.jsx)(n,{className:"text-sm mb-2",variant:"primary",width:"full",type:"submit",disabled:o.state!=="idle",children:o.state!=="idle"?"Saving":"Save"})}),(0,e.jsx)("div",{className:"mb-4",children:(0,e.jsx)(n,{to:"..",className:"text-sm",variant:"secondary",width:"full",children:"Cancel"})})]})]})}function i({name:r,passwordError:s,label:o}){return(0,e.jsx)("div",{className:"mt-3",children:(0,e.jsx)("input",{className:t(s),id:r,name:r,type:"password",autoComplete:r==="currentPassword"?"current-password":void 0,placeholder:o,"aria-label":o,minLength:8})})}export{v as a,f as b};
2
+ //# sourceMappingURL=/build/_shared/chunk-NJK6XHPK.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../app/routes/account/__private/edit.tsx"],
4
+ "sourcesContent": ["import {json, redirect, type ActionFunction} from '@shopify/remix-oxygen';\nimport {\n useActionData,\n Form,\n useOutletContext,\n useTransition,\n} from '@remix-run/react';\nimport type {\n Customer,\n CustomerUpdateInput,\n} from '@shopify/hydrogen-react/storefront-api-types';\nimport clsx from 'clsx';\nimport invariant from 'tiny-invariant';\nimport {Button, Text} from '~/components';\nimport {getCustomer, updateCustomer} from '~/data';\nimport {getInputStyleClasses} from '~/lib/utils';\n\nexport interface AccountOutletContext {\n customer: Customer;\n}\n\nexport interface ActionData {\n success?: boolean;\n formError?: string;\n fieldErrors?: {\n firstName?: string;\n lastName?: string;\n email?: string;\n phone?: string;\n currentPassword?: string;\n newPassword?: string;\n newPassword2?: string;\n };\n}\n\nconst badRequest = (data: ActionData) => json(data, {status: 400});\n\nconst formDataHas = (formData: FormData, key: string) => {\n if (!formData.has(key)) return false;\n\n const value = formData.get(key);\n return typeof value === 'string' && value.length > 0;\n};\n\nexport const handle = {\n renderInModal: true,\n};\n\nexport const action: ActionFunction = async ({request, context, params}) => {\n const formData = await request.formData();\n\n const customerAccessToken = await context.session.get('customerAccessToken');\n\n invariant(\n customerAccessToken,\n 'You must be logged in to update your account details.',\n );\n\n // Double-check current user is logged in.\n // Will throw a logout redirect if not.\n await getCustomer(context, {customerAccessToken, request});\n\n if (\n formDataHas(formData, 'newPassword') &&\n !formDataHas(formData, 'currentPassword')\n ) {\n return badRequest({\n fieldErrors: {\n currentPassword:\n 'Please enter your current password before entering a new password.',\n },\n });\n }\n\n if (\n formData.has('newPassword') &&\n formData.get('newPassword') !== formData.get('newPassword2')\n ) {\n return badRequest({\n fieldErrors: {\n newPassword2: 'New passwords must match.',\n },\n });\n }\n\n try {\n const customer: CustomerUpdateInput = {};\n\n formDataHas(formData, 'firstName') &&\n (customer.firstName = formData.get('firstName') as string);\n formDataHas(formData, 'lastName') &&\n (customer.lastName = formData.get('lastName') as string);\n formDataHas(formData, 'email') &&\n (customer.email = formData.get('email') as string);\n formDataHas(formData, 'phone') &&\n (customer.phone = formData.get('phone') as string);\n formDataHas(formData, 'newPassword') &&\n (customer.password = formData.get('newPassword') as string);\n\n await updateCustomer(context, {customerAccessToken, customer});\n\n return redirect(params?.lang ? `${params.lang}/account` : '/account');\n } catch (error: any) {\n return badRequest({formError: error.message});\n }\n};\n\n/**\n * Since this component is nested in `accounts/`, it is rendered in a modal via `<Outlet>` in `account.tsx`.\n *\n * This allows us to:\n * - preserve URL state (`/accounts/edit` when the modal is open)\n * - co-locate the edit action with the edit form (rather than grouped in account.tsx)\n * - use the `useOutletContext` hook to access the customer data from the parent route (no additional data loading)\n * - return a simple `redirect()` from this action to close the modal :mindblown: (no useState/useEffect)\n * - use the presence of outlet data (in `account.tsx`) to open/close the modal (no useState)\n */\nexport default function AccountDetailsEdit() {\n const actionData = useActionData<ActionData>();\n const {customer} = useOutletContext<AccountOutletContext>();\n const transition = useTransition();\n\n return (\n <>\n <Text className=\"mt-4 mb-6\" as=\"h3\" size=\"lead\">\n Update your profile\n </Text>\n <Form method=\"post\">\n {actionData?.formError && (\n <div className=\"flex items-center justify-center mb-6 bg-red-100 rounded\">\n <p className=\"m-4 text-sm text-red-900\">{actionData.formError}</p>\n </div>\n )}\n <div className=\"mt-3\">\n <input\n className={getInputStyleClasses()}\n id=\"firstName\"\n name=\"firstName\"\n type=\"text\"\n autoComplete=\"given-name\"\n placeholder=\"First name\"\n aria-label=\"First name\"\n defaultValue={customer.firstName ?? ''}\n />\n </div>\n <div className=\"mt-3\">\n <input\n className={getInputStyleClasses()}\n id=\"lastName\"\n name=\"lastName\"\n type=\"text\"\n autoComplete=\"family-name\"\n placeholder=\"Last name\"\n aria-label=\"Last name\"\n defaultValue={customer.lastName ?? ''}\n />\n </div>\n <div className=\"mt-3\">\n <input\n className={getInputStyleClasses()}\n id=\"phone\"\n name=\"phone\"\n type=\"tel\"\n autoComplete=\"tel\"\n placeholder=\"Mobile\"\n aria-label=\"Mobile\"\n defaultValue={customer.phone ?? ''}\n />\n </div>\n <div className=\"mt-3\">\n <input\n className={getInputStyleClasses(actionData?.fieldErrors?.email)}\n id=\"email\"\n name=\"email\"\n type=\"email\"\n autoComplete=\"email\"\n required\n placeholder=\"Email address\"\n aria-label=\"Email address\"\n defaultValue={customer.email ?? ''}\n />\n {actionData?.fieldErrors?.email && (\n <p className=\"text-red-500 text-xs\">\n {actionData.fieldErrors.email} &nbsp;\n </p>\n )}\n </div>\n <Text className=\"mb-6 mt-6\" as=\"h3\" size=\"lead\">\n Change your password\n </Text>\n <Password\n name=\"currentPassword\"\n label=\"Current password\"\n passwordError={actionData?.fieldErrors?.currentPassword}\n />\n {actionData?.fieldErrors?.currentPassword && (\n <Text size=\"fine\" className=\"mt-1 text-red-500\">\n {actionData.fieldErrors.currentPassword} &nbsp;\n </Text>\n )}\n <Password\n name=\"newPassword\"\n label=\"New password\"\n passwordError={actionData?.fieldErrors?.newPassword}\n />\n <Password\n name=\"newPassword2\"\n label=\"Re-enter new password\"\n passwordError={actionData?.fieldErrors?.newPassword2}\n />\n <Text\n size=\"fine\"\n color=\"subtle\"\n className={clsx(\n 'mt-1',\n actionData?.fieldErrors?.newPassword && 'text-red-500',\n )}\n >\n Passwords must be at least 8 characters.\n </Text>\n {actionData?.fieldErrors?.newPassword2 ? <br /> : null}\n {actionData?.fieldErrors?.newPassword2 && (\n <Text size=\"fine\" className=\"mt-1 text-red-500\">\n {actionData.fieldErrors.newPassword2} &nbsp;\n </Text>\n )}\n <div className=\"mt-6\">\n <Button\n className=\"text-sm mb-2\"\n variant=\"primary\"\n width=\"full\"\n type=\"submit\"\n disabled={transition.state !== 'idle'}\n >\n {transition.state !== 'idle' ? 'Saving' : 'Save'}\n </Button>\n </div>\n <div className=\"mb-4\">\n <Button to=\"..\" className=\"text-sm\" variant=\"secondary\" width=\"full\">\n Cancel\n </Button>\n </div>\n </Form>\n </>\n );\n}\n\nfunction Password({\n name,\n passwordError,\n label,\n}: {\n name: string;\n passwordError?: string;\n label: string;\n}) {\n return (\n <div className=\"mt-3\">\n <input\n className={getInputStyleClasses(passwordError)}\n id={name}\n name={name}\n type=\"password\"\n autoComplete={\n name === 'currentPassword' ? 'current-password' : undefined\n }\n placeholder={label}\n aria-label={label}\n minLength={8}\n />\n </div>\n );\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["import_jsx_runtime", "handle", "AccountDetailsEdit", "actionData", "useActionData", "customer", "useOutletContext", "transition", "useTransition", "Text", "Form", "getInputStyleClasses", "Password", "clsx_m_default", "Button", "name", "passwordError", "label"]
7
+ }
@@ -0,0 +1,105 @@
1
+ import{S as i,T as c}from"/build/_shared/chunk-HX34UWFZ.js";import{i as n,p as o}from"/build/_shared/chunk-ZNLABNO4.js";import{a as C,b as s}from"/build/_shared/chunk-KSKV5IK6.js";import{b as r}from"/build/_shared/chunk-X4LCECW4.js";var d=r(C());var t=r(s());function y(){let[u]=o();return(0,t.jsx)("div",{className:"grid w-full gap-8 p-6 py-8 md:p-8 lg:p-12 justify-items-start",children:(0,t.jsx)(d.Suspense,{fallback:(0,t.jsx)(c,{}),children:(0,t.jsx)(n,{resolve:u.data?.cart,children:p=>(0,t.jsx)(i,{layout:"page",cart:p})})})})}var e=`#graphql
2
+ fragment ErrorFragment on CartUserError {
3
+ message
4
+ field
5
+ code
6
+ }
7
+ `,a=`#graphql
8
+ fragment CartLinesFragment on Cart {
9
+ id
10
+ totalQuantity
11
+ }
12
+ `;var A=`#graphql
13
+ mutation ($input: CartInput!, $country: CountryCode = ZZ, $language: LanguageCode)
14
+ @inContext(country: $country, language: $language) {
15
+ cartCreate(input: $input) {
16
+ cart {
17
+ ...CartLinesFragment
18
+ }
19
+ errors: userErrors {
20
+ ...ErrorFragment
21
+ }
22
+ }
23
+ }
24
+ ${a}
25
+ ${e}
26
+ `;var E=`#graphql
27
+ mutation ($cartId: ID!, $lines: [CartLineInput!]!, $country: CountryCode = ZZ, $language: LanguageCode)
28
+ @inContext(country: $country, language: $language) {
29
+ cartLinesAdd(cartId: $cartId, lines: $lines) {
30
+ cart {
31
+ ...CartLinesFragment
32
+ }
33
+ errors: userErrors {
34
+ ...ErrorFragment
35
+ }
36
+ }
37
+ }
38
+ ${a}
39
+ ${e}
40
+ `;var U=`#graphql
41
+ ${a}
42
+ ${e}
43
+ mutation ($cartId: ID!, $lines: [CartLineUpdateInput!]!, $language: LanguageCode, $country: CountryCode)
44
+ @inContext(country: $country, language: $language) {
45
+ cartLinesUpdate(cartId: $cartId, lines: $lines) {
46
+ cart {
47
+ ...CartLinesFragment
48
+ }
49
+ errors: userErrors {
50
+ ...ErrorFragment
51
+ }
52
+ }
53
+ }
54
+ `;export{y as a};
55
+ /**
56
+ * @see https://shopify.dev/api/storefront/2022-10/mutations/cartBuyerIdentityUpdate
57
+ * @preserve
58
+ */
59
+ /**
60
+ * Create a cart with line(s) mutation
61
+ * @param cartId the current cart id
62
+ * @param lineIds [ID!]! an array of cart line ids to remove
63
+ * @see https://shopify.dev/api/storefront/2022-07/mutations/cartlinesremove
64
+ * @returns mutated cart
65
+ * @preserve
66
+ */
67
+ /**
68
+ * Create a cart with line(s) mutation
69
+ * @param input CartInput https://shopify.dev/api/storefront/2022-01/input-objects/CartInput
70
+ * @see https://shopify.dev/api/storefront/2022-01/mutations/cartcreate
71
+ * @returns result {cart, errors}
72
+ * @preserve
73
+ */
74
+ /**
75
+ * Mutation that updates the cart discounts
76
+ * @param discountCodes Array of discount codes
77
+ * @returns mutated cart
78
+ * @preserve
79
+ */
80
+ /**
81
+ * Mutation to update a cart buyerIdentity
82
+ * @param cartId Cart['id']
83
+ * @param buyerIdentity CartBuyerIdentityInput
84
+ * @returns {cart: Cart; errors: UserError[]}
85
+ * @see API https://shopify.dev/api/storefront/2022-10/mutations/cartBuyerIdentityUpdate
86
+ * @preserve
87
+ */
88
+ /**
89
+ * Storefront API cartLinesAdd mutation
90
+ * @param cartId
91
+ * @param lines [CartLineInput!]! https://shopify.dev/api/storefront/2022-01/input-objects/CartLineInput
92
+ * @see https://shopify.dev/api/storefront/2022-01/mutations/cartLinesAdd
93
+ * @returns result {cart, errors}
94
+ * @preserve
95
+ */
96
+ /**
97
+ * Update cart line(s) mutation
98
+ * @param cartId the current cart id
99
+ * @param lineIds [ID!]! an array of cart line ids to remove
100
+ * @see https://shopify.dev/api/storefront/2022-07/mutations/cartlinesremove
101
+ * @returns mutated cart
102
+ * @preserve
103
+ */
104
+ //! @see: https://shopify.dev/api/storefront/2022-01/mutations/cartcreate
105
+ //# sourceMappingURL=/build/_shared/chunk-OC3377HQ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../app/routes/cart.tsx"],
4
+ "sourcesContent": ["import {CartLoading, Cart} from '~/components';\nimport {Await, useMatches} from '@remix-run/react';\nimport {Suspense} from 'react';\nimport invariant from 'tiny-invariant';\nimport {\n json,\n type ActionArgs,\n type AppLoadContext,\n} from '@shopify/remix-oxygen';\nimport type {\n Cart as CartType,\n CartInput,\n CartLineInput,\n CartLineUpdateInput,\n CartUserError,\n UserError,\n CartBuyerIdentityInput,\n} from '@shopify/hydrogen-react/storefront-api-types';\nimport {isLocalPath} from '~/lib/utils';\nimport {CartAction, type CartActions} from '~/lib/type';\n\nexport async function action({request, context}: ActionArgs) {\n const {session, storefront} = context;\n const headers = new Headers();\n\n const [formData, cartId, customerAccessToken] = await Promise.all([\n request.formData(),\n session.get('cartId'),\n session.get('customerAccessToken'),\n ]);\n\n const cartAction = formData.get('cartAction') as CartActions;\n invariant(cartAction, 'No cartAction defined');\n\n const countryCode = formData.get('countryCode')\n ? (formData.get('countryCode') as CartBuyerIdentityInput['countryCode'])\n : null;\n\n let status = 200;\n let result: {\n cart: CartType;\n errors?: CartUserError[] | UserError[];\n };\n\n switch (cartAction) {\n case CartAction.ADD_TO_CART:\n const lines = formData.get('lines')\n ? (JSON.parse(String(formData.get('lines'))) as CartLineInput[])\n : ([] as CartLineInput[]);\n invariant(lines.length, 'No lines to add');\n\n //! Flow A \u2014 no previous cart, create and add line(s)\n if (!cartId) {\n result = await cartCreate({\n input: countryCode ? {lines, buyerIdentity: {countryCode}} : {lines},\n storefront,\n });\n\n // cart created - we only need a Set-Cookie header if we're creating\n session.set('cartId', result.cart.id);\n headers.set('Set-Cookie', await session.commit());\n } else {\n //! Flow B \u2014 add line(s) to existing cart\n result = await cartAdd({\n cartId,\n lines,\n storefront,\n });\n }\n break;\n case CartAction.REMOVE_FROM_CART:\n const lineIds = formData.get('linesIds')\n ? (JSON.parse(String(formData.get('linesIds'))) as CartType['id'][])\n : ([] as CartType['id'][]);\n invariant(lineIds.length, 'No lines to remove');\n\n result = await cartRemove({\n cartId,\n lineIds,\n storefront,\n });\n\n break;\n case CartAction.UPDATE_CART:\n const updateLines = formData.get('lines')\n ? (JSON.parse(String(formData.get('lines'))) as CartLineUpdateInput[])\n : ([] as CartLineUpdateInput[]);\n invariant(updateLines.length, 'No lines to update');\n\n result = await cartUpdate({\n cartId,\n lines: updateLines,\n storefront,\n });\n\n break;\n case CartAction.UPDATE_DISCOUNT:\n invariant(cartId, 'Missing cartId');\n\n const formDiscountCode = formData.get('discountCode');\n const discountCodes = ([formDiscountCode] || ['']) as string[];\n\n result = await cartDiscountCodesUpdate({\n cartId,\n discountCodes,\n storefront,\n });\n break;\n case CartAction.UPDATE_BUYER_IDENTITY:\n const buyerIdentity = formData.get('buyerIdentity')\n ? (JSON.parse(\n String(formData.get('buyerIdentity')),\n ) as CartBuyerIdentityInput)\n : ({} as CartBuyerIdentityInput);\n\n //! if we have an existing cart, we update the identity,\n //! else we create a new cart with the passed identity\n result = cartId\n ? await cartUpdateBuyerIdentity({\n cartId,\n buyerIdentity: {\n ...buyerIdentity,\n customerAccessToken,\n },\n storefront,\n })\n : await cartCreate({\n input: {\n buyerIdentity: {\n ...buyerIdentity,\n customerAccessToken,\n },\n },\n storefront,\n });\n\n session.set('cartId', result.cart.id);\n headers.set('Set-Cookie', await session.commit());\n\n break;\n default:\n invariant(false, `${cartAction} cart action is not defined`);\n }\n\n const redirectTo = formData.get('redirectTo') ?? null;\n if (typeof redirectTo === 'string' && isLocalPath(redirectTo)) {\n status = 303;\n headers.set('Location', redirectTo);\n }\n\n const {cart, errors} = result;\n return json({cart, errors}, {status, headers});\n}\n\nexport default function CartRoute() {\n const [root] = useMatches();\n // @todo: finish on a separate PR\n return (\n <div className=\"grid w-full gap-8 p-6 py-8 md:p-8 lg:p-12 justify-items-start\">\n <Suspense fallback={<CartLoading />}>\n <Await resolve={root.data?.cart}>\n {(cart) => <Cart layout=\"page\" cart={cart} />}\n </Await>\n </Suspense>\n </div>\n );\n}\n\n/*\n Cart Queries\n*/\n\nconst USER_ERROR_FRAGMENT = `#graphql\n fragment ErrorFragment on CartUserError {\n message\n field\n code\n }\n`;\n\nconst LINES_CART_FRAGMENT = `#graphql\n fragment CartLinesFragment on Cart {\n id\n totalQuantity\n }\n`;\n\n//! @see: https://shopify.dev/api/storefront/2022-01/mutations/cartcreate\nconst CREATE_CART_MUTATION = `#graphql\n mutation ($input: CartInput!, $country: CountryCode = ZZ, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartCreate(input: $input) {\n cart {\n ...CartLinesFragment\n }\n errors: userErrors {\n ...ErrorFragment\n }\n }\n }\n ${LINES_CART_FRAGMENT}\n ${USER_ERROR_FRAGMENT}\n`;\n\n/**\n * Create a cart with line(s) mutation\n * @param input CartInput https://shopify.dev/api/storefront/2022-01/input-objects/CartInput\n * @see https://shopify.dev/api/storefront/2022-01/mutations/cartcreate\n * @returns result {cart, errors}\n * @preserve\n */\nexport async function cartCreate({\n input,\n storefront,\n}: {\n input: CartInput;\n storefront: AppLoadContext['storefront'];\n}) {\n const {cartCreate} = await storefront.mutate<{\n cartCreate: {\n cart: CartType;\n errors: CartUserError[];\n };\n errors: UserError[];\n }>(CREATE_CART_MUTATION, {\n variables: {input},\n });\n\n invariant(cartCreate, 'No data returned from cartCreate mutation');\n\n return cartCreate;\n}\n\nconst ADD_LINES_MUTATION = `#graphql\n mutation ($cartId: ID!, $lines: [CartLineInput!]!, $country: CountryCode = ZZ, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart {\n ...CartLinesFragment\n }\n errors: userErrors {\n ...ErrorFragment\n }\n }\n }\n ${LINES_CART_FRAGMENT}\n ${USER_ERROR_FRAGMENT}\n`;\n\n/**\n * Storefront API cartLinesAdd mutation\n * @param cartId\n * @param lines [CartLineInput!]! https://shopify.dev/api/storefront/2022-01/input-objects/CartLineInput\n * @see https://shopify.dev/api/storefront/2022-01/mutations/cartLinesAdd\n * @returns result {cart, errors}\n * @preserve\n */\nexport async function cartAdd({\n cartId,\n lines,\n storefront,\n}: {\n cartId: string;\n lines: CartLineInput[];\n storefront: AppLoadContext['storefront'];\n}) {\n const {cartLinesAdd} = await storefront.mutate<{\n cartLinesAdd: {\n cart: CartType;\n errors: CartUserError[];\n };\n }>(ADD_LINES_MUTATION, {\n variables: {cartId, lines},\n });\n\n invariant(cartLinesAdd, 'No data returned from cartLinesAdd mutation');\n\n return cartLinesAdd;\n}\n\nconst REMOVE_LINE_ITEMS_MUTATION = `#graphql\n mutation ($cartId: ID!, $lineIds: [ID!]!, $language: LanguageCode, $country: CountryCode)\n @inContext(country: $country, language: $language) {\n cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n cart {\n id\n totalQuantity\n lines(first: 100) {\n edges {\n node {\n id\n quantity\n merchandise {\n ...on ProductVariant {\n id\n }\n }\n }\n }\n }\n }\n errors: userErrors {\n message\n field\n code\n }\n }\n }\n`;\n\n/**\n * Create a cart with line(s) mutation\n * @param cartId the current cart id\n * @param lineIds [ID!]! an array of cart line ids to remove\n * @see https://shopify.dev/api/storefront/2022-07/mutations/cartlinesremove\n * @returns mutated cart\n * @preserve\n */\nexport async function cartRemove({\n cartId,\n lineIds,\n storefront,\n}: {\n cartId: string;\n lineIds: CartType['id'][];\n storefront: AppLoadContext['storefront'];\n}) {\n const {cartLinesRemove} = await storefront.mutate<{\n cartLinesRemove: {cart: CartType; errors: UserError[]};\n }>(REMOVE_LINE_ITEMS_MUTATION, {\n variables: {\n cartId,\n lineIds,\n },\n });\n\n invariant(cartLinesRemove, 'No data returned from remove lines mutation');\n return cartLinesRemove;\n}\n\nconst LINES_UPDATE_MUTATION = `#graphql\n ${LINES_CART_FRAGMENT}\n ${USER_ERROR_FRAGMENT}\n mutation ($cartId: ID!, $lines: [CartLineUpdateInput!]!, $language: LanguageCode, $country: CountryCode)\n @inContext(country: $country, language: $language) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart {\n ...CartLinesFragment\n }\n errors: userErrors {\n ...ErrorFragment\n }\n }\n }\n`;\n\n/**\n * Update cart line(s) mutation\n * @param cartId the current cart id\n * @param lineIds [ID!]! an array of cart line ids to remove\n * @see https://shopify.dev/api/storefront/2022-07/mutations/cartlinesremove\n * @returns mutated cart\n * @preserve\n */\nexport async function cartUpdate({\n cartId,\n lines,\n storefront,\n}: {\n cartId: string;\n lines: CartLineUpdateInput[];\n storefront: AppLoadContext['storefront'];\n}) {\n const {cartLinesUpdate} = await storefront.mutate<{\n cartLinesUpdate: {cart: CartType; errors: UserError[]};\n }>(LINES_UPDATE_MUTATION, {\n variables: {cartId, lines},\n });\n\n invariant(\n cartLinesUpdate,\n 'No data returned from update lines items mutation',\n );\n return cartLinesUpdate;\n}\n\n/**\n * @see https://shopify.dev/api/storefront/2022-10/mutations/cartBuyerIdentityUpdate\n * @preserve\n */\nconst UPDATE_CART_BUYER_COUNTRY = `#graphql\n mutation(\n $cartId: ID!\n $buyerIdentity: CartBuyerIdentityInput!\n $country: CountryCode = ZZ\n $language: LanguageCode\n ) @inContext(country: $country, language: $language) {\n cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {\n cart {\n id\n buyerIdentity {\n email\n phone\n countryCode\n }\n }\n errors: userErrors {\n message\n field\n code\n }\n }\n }\n`;\n\n/**\n * Mutation to update a cart buyerIdentity\n * @param cartId Cart['id']\n * @param buyerIdentity CartBuyerIdentityInput\n * @returns {cart: Cart; errors: UserError[]}\n * @see API https://shopify.dev/api/storefront/2022-10/mutations/cartBuyerIdentityUpdate\n * @preserve\n */\nexport async function cartUpdateBuyerIdentity({\n cartId,\n buyerIdentity,\n storefront,\n}: {\n cartId: string;\n buyerIdentity: CartBuyerIdentityInput;\n storefront: AppLoadContext['storefront'];\n}) {\n const {cartBuyerIdentityUpdate} = await storefront.mutate<{\n cartBuyerIdentityUpdate: {cart: CartType; errors: UserError[]};\n }>(UPDATE_CART_BUYER_COUNTRY, {\n variables: {\n cartId,\n buyerIdentity,\n },\n });\n\n invariant(\n cartBuyerIdentityUpdate,\n 'No data returned from cart buyer identity update mutation',\n );\n\n return cartBuyerIdentityUpdate;\n}\n\nconst DISCOUNT_CODES_UPDATE = `#graphql\n mutation cartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!], $country: CountryCode = ZZ)\n @inContext(country: $country) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart {\n id\n discountCodes {\n code\n }\n }\n errors: userErrors {\n field\n message\n }\n }\n }\n`;\n\n/**\n * Mutation that updates the cart discounts\n * @param discountCodes Array of discount codes\n * @returns mutated cart\n * @preserve\n */\nexport async function cartDiscountCodesUpdate({\n cartId,\n discountCodes,\n storefront,\n}: {\n cartId: string;\n discountCodes: string[];\n storefront: AppLoadContext['storefront'];\n}) {\n const {cartDiscountCodesUpdate} = await storefront.mutate<{\n cartDiscountCodesUpdate: {cart: CartType; errors: UserError[]};\n }>(DISCOUNT_CODES_UPDATE, {\n variables: {\n cartId,\n discountCodes,\n },\n });\n\n invariant(\n cartDiscountCodesUpdate,\n 'No data returned from the cartDiscountCodesUpdate mutation',\n );\n\n return cartDiscountCodesUpdate;\n}\n"],
5
+ "mappings": "yOAEA,IAAAA,EAAuB,OAFvB,IAAAC,EAAA,OA0Je,SAARC,GAA6B,CAClC,GAAM,CAACC,CAAI,EAAIC,EAAW,EAE1B,SACE,OAAC,OAAI,UAAU,gEACb,mBAAC,YAAS,YAAU,OAACC,EAAA,EAAY,EAC/B,mBAACC,EAAA,CAAM,QAASH,EAAK,MAAM,KACxB,SAACI,MAAS,OAACC,EAAA,CAAK,OAAO,OAAO,KAAMD,EAAM,EAC7C,EACF,EACF,CAEJ,CAMA,IAAME,EAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQtBC,EAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ5B,IAAMC,EAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYzBD;AAAA,IACAD;EAgCJ,IAAMG,EAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYvBC;AAAA,IACAC;EA8FJ,IAAMC,EAAwB;AAAA,IAC1BC;AAAA,IACAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": ["import_react", "import_jsx_runtime", "CartRoute", "root", "useMatches", "CartLoading", "Await", "cart", "Cart", "USER_ERROR_FRAGMENT", "LINES_CART_FRAGMENT", "CREATE_CART_MUTATION", "ADD_LINES_MUTATION", "LINES_CART_FRAGMENT", "USER_ERROR_FRAGMENT", "LINES_UPDATE_MUTATION", "LINES_CART_FRAGMENT", "USER_ERROR_FRAGMENT"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as c}from"/build/_shared/chunk-4ROFW2VH.js";import{G as i,H as l,J as s}from"/build/_shared/chunk-HX34UWFZ.js";import{b as d}from"/build/_shared/chunk-6IZ7NY57.js";import{q as r}from"/build/_shared/chunk-ZNLABNO4.js";import{b as n}from"/build/_shared/chunk-KSKV5IK6.js";import{b as a}from"/build/_shared/chunk-X4LCECW4.js";var f="/build/_assets/custom-font-COCMVHUB.css";var e=a(n());var F={seo:{title:"Journal",description:"A description"},hydrogen:{resourceType:c.BLOG}};var M=({data:t})=>({title:t?.article?.seo?.title??"Article",description:t?.article?.seo?.description}),D=()=>[{rel:"stylesheet",href:f}];function h(){let{article:t,formattedDate:m}=r(),{title:g,image:o,contentHtml:u,author:p}=t;return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(l,{heading:g,variant:"blogPost",children:(0,e.jsxs)("span",{children:[m," \xB7 ",p.name]})}),(0,e.jsxs)(i,{as:"article",padding:"x",children:[o&&(0,e.jsx)(d,{data:o,className:"w-full mx-auto mt-8 md:mt-16 max-w-7xl",sizes:"90vw",widths:[400,800,1200],width:"100px",loading:s,loaderOptions:{scale:2,crop:"center"}}),(0,e.jsx)("div",{dangerouslySetInnerHTML:{__html:u},className:"article"})]})]})}export{F as a,M as b,D as c,h as d};
2
+ //# sourceMappingURL=/build/_shared/chunk-RBLOPOSG.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../app/routes/journal/$journalHandle.tsx"],
4
+ "sourcesContent": ["import {\n json,\n type MetaFunction,\n type SerializeFrom,\n type LinksFunction,\n type LoaderArgs,\n} from '@shopify/remix-oxygen';\nimport {RESOURCE_TYPES, notFoundMaybeRedirect} from '@shopify/hydrogen';\nimport {useLoaderData} from '@remix-run/react';\nimport {Image} from '@shopify/hydrogen-react';\nimport {Blog} from '@shopify/hydrogen-react/storefront-api-types';\nimport invariant from 'tiny-invariant';\nimport {PageHeader, Section} from '~/components';\nimport {ATTR_LOADING_EAGER} from '~/lib/const';\nimport {getLocaleFromRequest} from '~/lib/utils';\nimport styles from '../../styles/custom-font.css';\n\nconst BLOG_HANDLE = 'journal';\n\nexport const handle = {\n seo: {\n title: 'Journal',\n description: 'A description',\n },\n\n hydrogen: {\n resourceType: RESOURCE_TYPES.BLOG,\n },\n};\n\nexport async function loader({params, request, context}: LoaderArgs) {\n const {language, country} = getLocaleFromRequest(request);\n\n invariant(params.journalHandle, 'Missing journal handle');\n\n const {blog} = await context.storefront.query<{\n blog: Blog;\n }>(ARTICLE_QUERY, {\n variables: {\n blogHandle: BLOG_HANDLE,\n articleHandle: params.journalHandle,\n language: context.storefront.i18n?.language,\n },\n });\n\n if (!blog?.articleByHandle) {\n throw await notFoundMaybeRedirect(request, context);\n }\n\n const article = blog.articleByHandle;\n\n const formattedDate = new Intl.DateTimeFormat(`${language}-${country}`, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }).format(new Date(article?.publishedAt!));\n\n return json(\n {article, formattedDate},\n {\n headers: {\n // TODO cacheLong()\n },\n },\n );\n}\n\nexport const meta: MetaFunction = ({\n data,\n}: {\n data: SerializeFrom<typeof loader> | undefined;\n}) => {\n return {\n title: data?.article?.seo?.title ?? 'Article',\n description: data?.article?.seo?.description,\n };\n};\n\nexport const links: LinksFunction = () => {\n return [{rel: 'stylesheet', href: styles}];\n};\n\nexport default function Article() {\n const {article, formattedDate} = useLoaderData<typeof loader>();\n\n const {title, image, contentHtml, author} = article;\n\n return (\n <>\n <PageHeader heading={title} variant=\"blogPost\">\n <span>\n {formattedDate} &middot; {author.name}\n </span>\n </PageHeader>\n <Section as=\"article\" padding=\"x\">\n {image && (\n <Image\n data={image}\n className=\"w-full mx-auto mt-8 md:mt-16 max-w-7xl\"\n sizes=\"90vw\"\n widths={[400, 800, 1200]}\n width=\"100px\"\n loading={ATTR_LOADING_EAGER}\n loaderOptions={{\n scale: 2,\n crop: 'center',\n }}\n />\n )}\n <div\n dangerouslySetInnerHTML={{__html: contentHtml}}\n className=\"article\"\n />\n </Section>\n </>\n );\n}\n\nconst ARTICLE_QUERY = `#graphql\n query ArticleDetails(\n $language: LanguageCode\n $blogHandle: String!\n $articleHandle: String!\n ) @inContext(language: $language) {\n blog(handle: $blogHandle) {\n articleByHandle(handle: $articleHandle) {\n title\n contentHtml\n publishedAt\n author: authorV2 {\n name\n }\n image {\n id\n altText\n url\n width\n height\n }\n seo {\n description\n title\n }\n }\n }\n }\n`;\n"],
5
+ "mappings": "4XAAA,IAAAA,EAAA,OAmBO,IAAMC,EAAS,CACpB,IAAK,CACH,MAAO,UACP,YAAa,eACf,EAEA,SAAU,CACR,aAAcC,EAAe,IAC/B,CACF,EAuCO,IAAMC,EAAqB,CAAC,CACjC,KAAAC,CACF,KAGS,CACL,MAAOA,GAAM,SAAS,KAAK,OAAS,UACpC,YAAaA,GAAM,SAAS,KAAK,WACnC,GAGWC,EAAuB,IAC3B,CAAC,CAAC,IAAK,aAAc,KAAMC,CAAM,CAAC,EAG5B,SAARC,GAA2B,CAChC,GAAM,CAAC,QAAAC,EAAS,cAAAC,CAAa,EAAIC,EAA6B,EAExD,CAAC,MAAAC,EAAO,MAAAC,EAAO,YAAAC,EAAa,OAAAC,CAAM,EAAIN,EAE5C,SACE,oBACE,oBAACO,EAAA,CAAW,QAASJ,EAAO,QAAQ,WAClC,oBAAC,QACE,UAAAF,EAAc,SAAWK,EAAO,MACnC,EACF,KACA,QAACE,EAAA,CAAQ,GAAG,UAAU,QAAQ,IAC3B,UAAAJ,MACC,OAACK,EAAA,CACC,KAAML,EACN,UAAU,yCACV,MAAM,OACN,OAAQ,CAAC,IAAK,IAAK,IAAI,EACvB,MAAM,QACN,QAASM,EACT,cAAe,CACb,MAAO,EACP,KAAM,QACR,EACF,KAEF,OAAC,OACC,wBAAyB,CAAC,OAAQL,CAAW,EAC7C,UAAU,UACZ,GACF,GACF,CAEJ",
6
+ "names": ["import_jsx_runtime", "handle", "x", "meta", "data", "links", "custom_font_default", "Article", "article", "formattedDate", "useLoaderData", "title", "image", "contentHtml", "author", "PageHeader", "Section", "Image", "ATTR_LOADING_EAGER"]
7
+ }