@api-client/ui 0.5.5 → 0.5.7

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 (114) hide show
  1. package/.cursor/rules/html-and-css-best-practices.mdc +63 -0
  2. package/.cursor/rules/lit-best-practices.mdc +78 -0
  3. package/.github/instructions/html-and-css-best-practices.instructions.md +70 -0
  4. package/.github/instructions/lit-best-practices.instructions.md +86 -0
  5. package/build/src/elements/currency/currency-picker.d.ts +10 -0
  6. package/build/src/elements/currency/currency-picker.d.ts.map +1 -0
  7. package/build/src/elements/currency/currency-picker.js +27 -0
  8. package/build/src/elements/currency/currency-picker.js.map +1 -0
  9. package/build/src/elements/currency/internals/Picker.d.ts +311 -0
  10. package/build/src/elements/currency/internals/Picker.d.ts.map +1 -0
  11. package/build/src/elements/currency/internals/Picker.js +857 -0
  12. package/build/src/elements/currency/internals/Picker.js.map +1 -0
  13. package/build/src/elements/currency/internals/Picker.styles.d.ts +3 -0
  14. package/build/src/elements/currency/internals/Picker.styles.d.ts.map +1 -0
  15. package/build/src/elements/currency/internals/Picker.styles.js +58 -0
  16. package/build/src/elements/currency/internals/Picker.styles.js.map +1 -0
  17. package/build/src/elements/highlight/MarkdownStyles.d.ts.map +1 -1
  18. package/build/src/elements/highlight/MarkdownStyles.js +0 -13
  19. package/build/src/elements/highlight/MarkdownStyles.js.map +1 -1
  20. package/build/src/elements/http/BodyEditor.d.ts +0 -13
  21. package/build/src/elements/http/BodyEditor.d.ts.map +1 -1
  22. package/build/src/elements/http/BodyEditor.js +0 -13
  23. package/build/src/elements/http/BodyEditor.js.map +1 -1
  24. package/build/src/elements/http/BodyTextEditor.d.ts +0 -13
  25. package/build/src/elements/http/BodyTextEditor.d.ts.map +1 -1
  26. package/build/src/elements/http/BodyTextEditor.js +0 -13
  27. package/build/src/elements/http/BodyTextEditor.js.map +1 -1
  28. package/build/src/elements/http/BodyUrlEncodedEditor.d.ts +0 -13
  29. package/build/src/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
  30. package/build/src/elements/http/BodyUrlEncodedEditor.js +0 -13
  31. package/build/src/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  32. package/build/src/elements/http/UrlInput.d.ts +0 -13
  33. package/build/src/elements/http/UrlInput.d.ts.map +1 -1
  34. package/build/src/elements/http/UrlInput.js +0 -13
  35. package/build/src/elements/http/UrlInput.js.map +1 -1
  36. package/build/src/index.d.ts +2 -0
  37. package/build/src/index.d.ts.map +1 -1
  38. package/build/src/index.js +2 -0
  39. package/build/src/index.js.map +1 -1
  40. package/build/src/md/button/internals/base.d.ts +1 -0
  41. package/build/src/md/button/internals/base.d.ts.map +1 -1
  42. package/build/src/md/button/internals/base.js +7 -0
  43. package/build/src/md/button/internals/base.js.map +1 -1
  44. package/build/src/md/button/internals/button.styles.js +1 -1
  45. package/build/src/md/button/internals/button.styles.js.map +1 -1
  46. package/build/src/md/date/internals/DateTime.d.ts +0 -13
  47. package/build/src/md/date/internals/DateTime.d.ts.map +1 -1
  48. package/build/src/md/date/internals/DateTime.js +0 -13
  49. package/build/src/md/date/internals/DateTime.js.map +1 -1
  50. package/build/src/md/date-picker/index.d.ts +13 -0
  51. package/build/src/md/date-picker/index.d.ts.map +1 -0
  52. package/build/src/md/date-picker/index.js +13 -0
  53. package/build/src/md/date-picker/index.js.map +1 -0
  54. package/build/src/md/date-picker/internals/DatePicker.styles.d.ts +4 -0
  55. package/build/src/md/date-picker/internals/DatePicker.styles.d.ts.map +1 -0
  56. package/build/src/md/date-picker/internals/DatePicker.styles.js +409 -0
  57. package/build/src/md/date-picker/internals/DatePicker.styles.js.map +1 -0
  58. package/build/src/md/date-picker/internals/DatePickerCalendar.d.ts +272 -0
  59. package/build/src/md/date-picker/internals/DatePickerCalendar.d.ts.map +1 -0
  60. package/build/src/md/date-picker/internals/DatePickerCalendar.js +1062 -0
  61. package/build/src/md/date-picker/internals/DatePickerCalendar.js.map +1 -0
  62. package/build/src/md/date-picker/internals/DatePickerUtils.d.ts +93 -0
  63. package/build/src/md/date-picker/internals/DatePickerUtils.d.ts.map +1 -0
  64. package/build/src/md/date-picker/internals/DatePickerUtils.js +221 -0
  65. package/build/src/md/date-picker/internals/DatePickerUtils.js.map +1 -0
  66. package/build/src/md/date-picker/ui-date-picker-input.d.ts +160 -0
  67. package/build/src/md/date-picker/ui-date-picker-input.d.ts.map +1 -0
  68. package/build/src/md/date-picker/ui-date-picker-input.js +464 -0
  69. package/build/src/md/date-picker/ui-date-picker-input.js.map +1 -0
  70. package/build/src/md/date-picker/ui-date-picker-modal-input.d.ts +178 -0
  71. package/build/src/md/date-picker/ui-date-picker-modal-input.d.ts.map +1 -0
  72. package/build/src/md/date-picker/ui-date-picker-modal-input.js +538 -0
  73. package/build/src/md/date-picker/ui-date-picker-modal-input.js.map +1 -0
  74. package/build/src/md/date-picker/ui-date-picker-modal.d.ts +156 -0
  75. package/build/src/md/date-picker/ui-date-picker-modal.d.ts.map +1 -0
  76. package/build/src/md/date-picker/ui-date-picker-modal.js +423 -0
  77. package/build/src/md/date-picker/ui-date-picker-modal.js.map +1 -0
  78. package/build/src/md/dialog/internals/Dialog.styles.d.ts.map +1 -1
  79. package/build/src/md/dialog/internals/Dialog.styles.js +1 -0
  80. package/build/src/md/dialog/internals/Dialog.styles.js.map +1 -1
  81. package/demo/elements/currency/index.html +91 -0
  82. package/demo/elements/currency/index.ts +272 -0
  83. package/demo/elements/har/har2.json +1 -1
  84. package/demo/elements/index.html +3 -0
  85. package/demo/md/date-picker/date-picker.ts +336 -0
  86. package/demo/md/date-picker/index.html +171 -0
  87. package/demo/md/index.html +2 -0
  88. package/package.json +1 -1
  89. package/src/elements/currency/currency-picker.ts +14 -0
  90. package/src/elements/currency/internals/Picker.styles.ts +58 -0
  91. package/src/elements/currency/internals/Picker.ts +846 -0
  92. package/src/elements/highlight/MarkdownStyles.ts +0 -13
  93. package/src/elements/http/BodyEditor.ts +0 -13
  94. package/src/elements/http/BodyTextEditor.ts +0 -13
  95. package/src/elements/http/BodyUrlEncodedEditor.ts +0 -13
  96. package/src/elements/http/UrlInput.ts +0 -13
  97. package/src/index.ts +17 -0
  98. package/src/md/button/internals/base.ts +7 -0
  99. package/src/md/button/internals/button.styles.ts +1 -1
  100. package/src/md/date/internals/DateTime.ts +0 -14
  101. package/src/md/date-picker/README.md +184 -0
  102. package/src/md/date-picker/index.ts +17 -0
  103. package/src/md/date-picker/internals/DatePicker.styles.ts +411 -0
  104. package/src/md/date-picker/internals/DatePickerCalendar.ts +1031 -0
  105. package/src/md/date-picker/internals/DatePickerUtils.ts +288 -0
  106. package/src/md/date-picker/ui-date-picker-input.ts +333 -0
  107. package/src/md/date-picker/ui-date-picker-modal-input.ts +440 -0
  108. package/src/md/date-picker/ui-date-picker-modal.ts +346 -0
  109. package/src/md/dialog/internals/Dialog.styles.ts +1 -0
  110. package/test/README.md +3 -2
  111. package/test/elements/currency/CurrencyPicker.accessibility.test.ts +328 -0
  112. package/test/elements/currency/CurrencyPicker.core.test.ts +318 -0
  113. package/test/elements/currency/CurrencyPicker.integration.test.ts +482 -0
  114. package/test/elements/currency/CurrencyPicker.test.ts +486 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Picker.js","sourceRoot":"","sources":["../../../../../src/elements/currency/internals/Picker.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAA4C,OAAO,EAAE,MAAM,KAAK,CAAA;AACzF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAEjD,OAAO,yCAAyC,CAAA;AAChD,OAAO,uCAAuC,CAAA;AAC9C,OAAO,iCAAiC,CAAA;AACxC,OAAO,6BAA6B,CAAA;;sBAoFQ,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAjC,cAAe,SAAQ,WAAU;;;oCA0BnD,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;6CAOzB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iCAOzB,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gCAO1B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAO1B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oCAO1B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oCAO3B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iCAO3B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sCAQ3B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDAM3B,KAAK,EAAE;yCAMP,KAAK,CAAC,oBAAoB,CAAC;YArED,6KAAS,QAAQ,6BAAR,QAAQ,2FAAe;YAOhC,wMAAS,iBAAiB,6BAAjB,iBAAiB,6GAAe;YAOxC,oKAAS,KAAK,6BAAL,KAAK,qFAAiB;YAO/B,iKAAS,IAAI,6BAAJ,IAAI,mFAAoB;YAOjC,+LAAS,cAAc,6BAAd,cAAc,uGAAoB;YAO1C,6KAAS,QAAQ,6BAAR,QAAQ,2FAAQ;YAOzB,6KAAS,QAAQ,6BAAR,QAAQ,2FAAQ;YAOzB,oKAAS,KAAK,6BAAL,KAAK,qFAAQ;YAQtB,mLAAS,UAAU,6BAAV,UAAU,+FAAO;YAM9C,iNAAiB,oBAAoB,6BAApB,oBAAoB,mHAAiB;YAO/D,4LAAiB,aAAa,6BAAb,aAAa,qGAAkC;;;QA/FhE;;;WAGG;QACH,MAAM,CAAC,cAAc,GAAG,IAAI,CAAA;QAE5B;;;WAGG;QACK,SAAS,CAAkB;QAEnC;;;WAGG;QACH,MAAM,CAAU,iBAAiB,GAAmB;YAClD,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,IAAI;SACrB,CAAA;QAM0B,6EAA8B,EAAE;QAE3D;;;;WAIG;UANwD;QAJ3D;;;WAGG;QACwB,IAAS,QAAQ,8CAAe;QAAhC,IAAS,QAAQ,oDAAe;QAOhC,sJAAuC,EAAE;QAEpE;;;;WAIG;WANiE;QALpE;;;;WAIG;QACwB,IAAS,iBAAiB,uDAAe;QAAzC,IAAS,iBAAiB,6DAAe;QAOxC,uIAAiB,cAAc;QAE3D;;;;WAIG;WANwD;QAL3D;;;;WAIG;QACyB,IAAS,KAAK,2CAAiB;QAA/B,IAAS,KAAK,iDAAiB;QAO/B,kIAAiC;QAL7D;;;;WAIG;QACyB,IAAS,IAAI,0CAAoB;QAAjC,IAAS,IAAI,gDAAoB;QAOjC,qJAA2C;QALvE;;;;WAIG;QACyB,IAAS,cAAc,oDAAoB;QAA3C,IAAS,cAAc,0DAAoB;QAO1C,0IAAoB,KAAK;QAEtD;;;;WAIG;WANmD;QALtD;;;;WAIG;QAC0B,IAAS,QAAQ,8CAAQ;QAAzB,IAAS,QAAQ,oDAAQ;QAOzB,oIAAoB,KAAK;QACtD;;;;;WAKG;WANmD;QALtD;;;;WAIG;QAC0B,IAAS,QAAQ,8CAAQ;QAAzB,IAAS,QAAQ,oDAAQ;QAOzB,8HAAiB,KAAK;QAEnD;;;;;WAKG;WAPgD;QANnD;;;;;WAKG;QAC0B,IAAS,KAAK,2CAAQ;QAAtB,IAAS,KAAK,iDAAQ;QAQtB,qIAAsB,IAAI;QAEvD;;;WAGG;WALoD;QANvD;;;;;WAKG;QAC0B,IAAS,UAAU,gDAAO;QAA1B,IAAS,UAAU,sDAAO;QAM9C,8JAAoD,EAAE;QAE/D;;;WAGG;WAL4D;QAJ/D;;;WAGG;QACM,IAAiB,oBAAoB,0DAAiB;QAAtD,IAAiB,oBAAoB,gEAAiB;QAO/D,mKAAgE;QALhE;;;WAGG;QAEH,IAAiB,aAAa,mDAAkC;QAAhE,IAAiB,aAAa,yDAAkC;QAEhE;;;WAGG;QACH,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAA;QAC5B,CAAC;QAED;;;WAGG;QACH,IAAI,QAAQ;YACV,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA;QAChC,CAAC;QAED;;;WAGG;QACH,IAAI,iBAAiB;YACnB,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAA;QACzC,CAAC;QAED;;;WAGG;QACH,IAAI,YAAY;YACd,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAA;QACpC,CAAC;QAED;;;;WAIG;QACH,aAAa;YACX,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAA;QACvC,CAAC;QAED;;;;WAIG;QACH,cAAc;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAA;QACxC,CAAC;QAED;;;;WAIG;QACc,UAAU,+DAAe;YACxC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE;YACvF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE;YACnF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE;YAC5F,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;YAClF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACvF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;YAC5F,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;YACxF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;YAClF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;YAClF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;YAC5F,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACnF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;YAC3F,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;YAC5F,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACvF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACrF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACrF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACpF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACpF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE;YAC/F,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACnF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;YAChG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;YAClF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACrF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE;SAClG,EAAA;QAED;YACE,KAAK,EAAE,CAAA;YACP,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QACzC,CAAC;QAEQ,iBAAiB;YACxB,KAAK,CAAC,iBAAiB,EAAE,CAAA;YACzB,IAAI,CAAC,0BAA0B,EAAE,CAAA;YACjC,IAAI,CAAC,eAAe,EAAE,CAAA;QACxB,CAAC;QAED;;WAEG;QACK,eAAe;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACvE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACpC,CAAC;QAEkB,UAAU,CAAC,OAA6B;YACzD,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YAEzB,mDAAmD;YACnD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;gBAEtE,uDAAuD;gBACvD,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;oBAClD,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;oBAElF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpC,IAAI,CAAC,QAAQ,CAAC;4BACZ,IAAI,EAAE,YAAY;4BAClB,OAAO,EAAE,4CAA4C,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BACtF,OAAO,EAAE;gCACP,QAAQ,EAAE,UAAU;gCACpB,YAAY,EAAE,oBAAoB;gCAClC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;6BAC1C;yBACF,CAAC,CAAA;wBAEF,2BAA2B;wBAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;oBACtE,CAAC;gBACH,CAAC;gBAED,4DAA4D;gBAC5D,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,6DAA6D;oBAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;oBACzC,IAAI,CAAC,QAAQ,CAAC;wBACZ,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,yFAAyF;wBAClG,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;qBAC3E,CAAC,CAAA;gBACJ,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,wCAAwC,CAAC,CAAA;oBAC5F,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;oBACzC,IAAI,CAAC,kBAAkB,CAAC;wBACtB,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,2DAA2D;wBACpE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAE;qBACtE,CAAC,CAAA;gBACJ,CAAC;qBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtD,oDAAoD;oBACpD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;oBAC9B,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;gBAC5C,CAAC;YACH,CAAC;YACD,kDAAkD;YAClD,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAA;gBAEjG,0DAA0D;gBAC1D,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;oBAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;oBAC7E,IAAI,gBAAgB,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;wBACrD,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAA;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxF,IAAI,CAAC,0BAA0B,EAAE,CAAA;YACnC,CAAC;YAED,0CAA0C;YAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,eAAe,EAAE,CAAA;YACxB,CAAC;YAED,6EAA6E;YAC7E,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAClD,sFAAsF;gBACtF,qFAAqF;gBACrF,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChB,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC7E,CAAC;qBAAM,CAAC;oBACN,mFAAmF;oBACnF,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAA;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED;;;WAGG;QACgB,OAAO,CAAC,OAA6B;YACtD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAEtB,wDAAwD;YACxD,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC5E,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChB,wEAAwE;oBACxE,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC7E,CAAC;qBAAM,CAAC;oBACN,uFAAuF;oBACvF,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAA;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED;;;;WAIG;QACK,QAAQ,CAAC,KAA0B,EAAE,QAAQ,GAAG,IAAI;YAC1D,kDAAkD;YAClD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YAChE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YACzC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;QAED;;;WAGG;QACK,kBAAkB,CAAC,KAA0B;YACnD,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,OAAO,EAAE;gBACvB,MAAM,EAAE,EAAE,KAAK,EAAE;gBACjB,OAAO,EAAE,KAAK;aACf,CAAC,CACH,CAAA;QACH,CAAC;QAED;;WAEG;QACK,UAAU;YAChB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YAC9B,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC;QAED;;;;WAIG;QACK,qBAAqB,CAAC,KAAe;YAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAA;QAC9E,CAAC;QAED;;;;;WAKG;QACK,sBAAsB,CAAC,KAAe,EAAE,QAAgB;YAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC;oBACZ,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,WAAW,QAAQ,oCAAoC;oBAChE,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;iBACpC,CAAC,CAAA;gBACF,OAAO,EAAE,CAAA;YACX,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;YACtD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,QAAQ,CAAC;oBACZ,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,6BAA6B,QAAQ,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC5E,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;iBACpF,CAAC,CAAA,CAAC,6CAA6C;gBAEhD,0BAA0B;gBAC1B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7D,CAAC;YAED,yDAAyD;YACzD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,EAAE,CAAA;YACnB,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;QAED;;;;WAIG;QACK,4BAA4B,CAAC,YAAsB;YACzD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC;oBACZ,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,6DAA6D;oBACtE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE;iBACjE,CAAC,CAAA;gBACF,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,wCAAwC,CAAC,CAAA;gBAC5F,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;gBACzC,IAAI,CAAC,kBAAkB,CAAC;oBACtB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,2DAA2D;oBACpE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE;iBACrE,CAAC,CAAA;gBACF,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;QAEO,0BAA0B;YAChC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAE5C,kEAAkE;YAClE,IAAI,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAA;YACzC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;gBAClD,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7E,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,8CAA8C;gBAC9C,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3F,CAAC;iBAAM,CAAC;gBACN,sDAAsD;gBACtD,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAA;YACjD,CAAC;QACH,CAAC;QAEO,oBAAoB,CAAC,KAAY;YACvC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,KAAK,CAAC,MAA2B,CAAA;gBAChD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAA;gBAEjC,IAAI,CAAC,YAAY;oBAAE,OAAM;gBAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;gBACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,QAAQ,CAAC;wBACZ,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,uBAAuB,YAAY,EAAE;wBAC9C,OAAO,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE;qBACzC,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBAED,IAAI,YAAsB,CAAA;gBAE1B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,qDAAqD;oBACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3C,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;oBAClD,CAAC;yBAAM,CAAC;wBACN,gFAAgF;wBAChF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;4BACnC,IAAI,CAAC,UAAU,EAAE,CAAA;wBACnB,CAAC;wBACD,OAAM;oBACR,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,kDAAkD;oBAClD,YAAY,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAChC,CAAC;gBAED,6BAA6B;gBAC7B,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,EAAE,CAAC;oBACrD,OAAM,CAAC,gDAAgD;gBACzD,CAAC;gBAED,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAA;gBAC5B,IAAI,CAAC,0BAA0B,EAAE,CAAA;gBAEjC,yCAAyC;gBACzC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,GAAG,EAAE,CAAA;gBACnB,CAAC;gBAED,oDAAoD;gBACpD,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC;oBACZ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,6CAA6C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBAC9G,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;iBAClC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAEO,oBAAoB,CAAC,KAAY;YACvC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAqB,CAAA;gBACxC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;gBAEtC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,IAAI,CAAC,QAAQ,CAAC;wBACZ,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,qDAAqD;wBAC9D,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;qBAC/B,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;gBAE1E,yDAAyD;gBACzD,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,EAAE,CAAC;oBACrD,OAAM,CAAC,gDAAgD;gBACzD,CAAC;gBAED,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAA;gBAC5B,IAAI,CAAC,0BAA0B,EAAE,CAAA;gBAEjC,kDAAkD;gBAClD,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC;oBACZ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,2CAA2C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBAC5G,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;iBAClC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAEO,mBAAmB;YACzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAEvD,2CAA2C;YAC3C,IAAI,CAAC,eAAe,EAAE,CAAA;YAEtB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,QAAQ,EAAE;gBACxB,MAAM,EAAE;oBACN,UAAU,EAAE,kBAAkB;oBAC9B,KAAK,EAAE,IAAI,CAAC,QAAQ;iBACrB;gBACD,OAAO,EAAE,KAAK;aACf,CAAC,CACH,CAAA;QACH,CAAC;QAED;;;;WAIG;QACH,IAAI,qBAAqB;YACvB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3B,CAAC;QAED;;;;;WAKG;QACH,qBAAqB;YACnB,MAAM,MAAM,GAAe,EAAE,CAAA;YAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;gBAC7D,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACvB,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAED;;;;;;WAMG;QACH,cAAc;YACZ,IAAI,CAAC;gBACH,MAAM,YAAY,GAAa,EAAE,CAAA;gBAEjC,0DAA0D;gBAC1D,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,EAAE,CAAC;oBACrD,OAAM,CAAC,gDAAgD;gBACzD,CAAC;gBAED,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAA;gBAC5B,IAAI,CAAC,0BAA0B,EAAE,CAAA;gBAEjC,gDAAgD;gBAChD,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,IAAI,CAAC,mBAAmB,EAAE,CAAA;gBAE1B,sDAAsD;gBACtD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAA;gBAC/B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC;oBACZ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,0CAA0C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBAC3G,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;iBAClC,CAAC,CAAA;YACJ,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,aAAa,EAAE,CAAA;YACtB,CAAC;QACH,CAAC;QAED;;;;;;;WAOG;QACH,wBAAwB,CAAC,KAA+B;YACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;gBACvC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBAChD,IAAI,CAAC,0BAA0B,EAAE,CAAA;gBAEjC,qDAAqD;gBACrD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5C,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;oBAC7C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAA;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED;;;;WAIG;QACH,iBAAiB;YACf,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;YAClB,IAAI,CAAC,0BAA0B,EAAE,CAAA;YACjC,IAAI,CAAC,UAAU,EAAE,CAAA;YACjB,IAAI,CAAC,eAAe,EAAE,CAAA;YAEtB,sDAAsD;YACtD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAA;YAC/B,CAAC;YAED,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC;QAED;;;;;WAKG;QACM,MAAM;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;gBAC1B,CAAC,CAAC,sBAAsB,IAAI,CAAC,QAAQ,CAAC,MAAM,uBAAuB;gBACnE,CAAC,CAAC,sBAAsB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAA;YAE/G,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAA;YAE/C,OAAO,IAAI,CAAA;8DAC+C,SAAS;;mBAEpD,IAAI,CAAC,KAAK;qBACR,IAAI,CAAC,oBAAoB;;uBAEvB,IAAI,CAAC,QAAQ;uBACb,IAAI,CAAC,QAAQ;6BACP,IAAI,CAAC,cAAc,IAAI,EAAE;mBACnC,IAAI,CAAC,IAAI,IAAI,EAAE;8BACJ,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;0BAChD,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;;;;YAKzC,MAAM,CACN,IAAI,CAAC,oBAAoB,EACzB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAC3B,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAA;yCACW,QAAQ,CAAC,IAAI;uCACf,QAAQ,CAAC,OAAO;8CACT,QAAQ,CAAC,IAAI;+EACoB,QAAQ,CAAC,MAAM;iDAC7C,QAAQ,CAAC,IAAI;uCACvB,QAAQ,CAAC,IAAI;;aAEvC,CACF;;UAED,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;;KAE/C,CAAA;QACH,CAAC;QAED;;;;WAIG;QACO,WAAW;YACnB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACtD,OAAO,OAAO,CAAA;YAChB,CAAC;YAED,OAAO,IAAI,CAAA;;sCAEuB,IAAI,CAAC,SAAS,CAAC,iBAAiB;;KAEjE,CAAA;QACH,CAAC;QAED;;;;;WAKG;QACO,cAAc;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAA;YAChB,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAA;YAEzC,OAAO,IAAI,CAAA;;UAEL,MAAM,CACN,QAAQ,EACR,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAC3B,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAA;;2BAED,QAAQ,CAAC,IAAI;;yBAEf,IAAI,CAAC,oBAAoB;4BACtB,IAAI;;oDAEoB,QAAQ,CAAC,IAAI;wCACzB,QAAQ,CAAC,IAAI;;WAE1C,CACF;;KAEJ,CAAA;QACH,CAAC;;;AA/xBH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH","sourcesContent":["import { LitElement, html, type TemplateResult, type PropertyValues, nothing } from 'lit'\nimport { property, state, query } from 'lit/decorators.js'\nimport { repeat } from 'lit/directives/repeat.js'\n\nimport '@material/web/select/outlined-select.js'\nimport '@material/web/select/select-option.js'\nimport '../../../md/chip/ui-chip-set.js'\nimport '../../../md/chip/ui-chip.js'\n\n/**\n * Represents a currency with all its display information.\n */\nexport interface Currency {\n /** ISO 4217 currency code (e.g., 'USD', 'EUR') */\n code: string\n /** Full name of the currency (e.g., 'US Dollar', 'Euro') */\n name: string\n /** Currency symbol (e.g., '$', '€') */\n symbol: string\n /** Country or region name (e.g., 'United States', 'European Union') */\n country: string\n /** Flag emoji representing the currency's origin */\n flag: string\n}\n\n/**\n * Represents an error that can occur in the CurrencyPicker component.\n */\nexport interface CurrencyPickerError {\n /** Type of error: validation, selection constraint, or internal error */\n type: 'validation' | 'selection' | 'internal'\n /** Human-readable error message */\n message: string\n /** Optional additional details about the error for debugging */\n details?: Record<string, unknown>\n}\n\n/**\n * Event detail interface for currency picker error events.\n */\nexport interface CurrencyPickerErrorEvent {\n /** The error information */\n error: CurrencyPickerError\n}\n\n/**\n * A web component for selecting currencies with chips display.\n * Provides a searchable interface with country flags and currency information.\n *\n * This component uses ElementInternals for native form integration and\n * follows web standards for error handling and validation.\n *\n * ## Features\n * - Single or multi-select currency selection\n * - Visual chips display for selected currencies\n * - Native form integration with ElementInternals\n * - Comprehensive validation and error handling\n * - Accessibility support with ARIA attributes\n * - Keyboard navigation support\n * - Currency filtering based on allowed currencies\n *\n * ## Usage\n * ```html\n * <!-- Basic usage -->\n * <currency-picker></currency-picker>\n *\n * <!-- Multi-select with allowed currencies -->\n * <currency-picker multi .allowedCurrencies=\"${['USD', 'EUR', 'GBP']}\"></currency-picker>\n *\n * <!-- Form integration -->\n * <form>\n * <currency-picker name=\"currencies\" required></currency-picker>\n * </form>\n * ```\n *\n * @fires change - Dispatched when selected currencies change due to user interaction.\n * Contains {currencies: Currency[], codes: string[]} in event.detail\n * @fires error - Dispatched when validation or other errors occur.\n * Contains {error: CurrencyPickerError} in event.detail\n *\n * @example\n * ```typescript\n * const picker = document.querySelector('currency-picker');\n * picker.addEventListener('change', (e) => {\n * console.log('Selected currencies:', e.detail.currencies);\n * });\n * picker.addEventListener('error', (e) => {\n * console.error('Picker error:', e.detail.error.message);\n * });\n * ```\n */\nexport default class CurrencyPicker extends LitElement {\n /**\n * Indicates that this custom element is form-associated and can participate in form submission.\n * This enables the component to work with native HTML forms and use ElementInternals.\n */\n static formAssociated = true\n\n /**\n * Private ElementInternals instance for form integration and validation.\n * Provides access to form APIs like setFormValue, setValidity, etc.\n */\n private internals: ElementInternals\n\n /**\n * Shadow root configuration for the component.\n * Uses 'open' mode for accessibility and delegates focus to enable proper focus management.\n */\n static override shadowRootOptions: ShadowRootInit = {\n mode: 'open',\n delegatesFocus: true,\n }\n\n /**\n * The currently selected currency codes.\n * This is an array of ISO 4217 currency codes (e.g., 'USD', 'EUR').\n */\n @property({ type: Array }) accessor selected: string[] = []\n\n /**\n * The currencies that should be available for selection.\n * If not specified, all supported currencies will be available.\n * This is an array of ISO 4217 currency codes (e.g., 'USD', 'EUR').\n */\n @property({ type: Array }) accessor allowedCurrencies: string[] = []\n\n /**\n * The label for the currency selection dropdown.\n * This is displayed as the label for the select input.\n * @attribute\n */\n @property({ type: String }) accessor label = 'Add Currency'\n\n /**\n * The name attribute for the currency selection dropdown.\n * This is used when submitting forms that include this component.\n * @attribute\n */\n @property({ type: String }) accessor name: string | undefined\n\n /**\n * Supporting text for the currency selection dropdown.\n * This is displayed below the select input.\n * @attribute\n */\n @property({ type: String }) accessor supportingText: string | undefined\n\n /**\n * Whether the currency selection is required.\n * If true, the component will enforce at least one currency to be selected.\n * @attribute\n */\n @property({ type: Boolean }) accessor required = false\n\n /**\n * Whether the currency selection is disabled.\n * If true, the component will not allow any changes to the selected currencies.\n * @attribute\n */\n @property({ type: Boolean }) accessor disabled = false\n /**\n * Whether multiple currencies can be selected.\n * If true, the component allows selecting multiple currencies.\n * If false, only one currency can be selected at a time.\n * @attribute\n */\n @property({ type: Boolean }) accessor multi = false\n\n /**\n * Whether to show errors inline within the component.\n * If true, errors will be displayed below the component.\n * If false, errors will only be dispatched as events.\n * @attribute\n */\n @property({ type: Boolean }) accessor showErrors = true\n\n /**\n * The currently selectable currencies (filtered based on selection and allowed currencies).\n * This is automatically updated based on the selected currencies and allowedCurrencies property.\n */\n @state() private accessor selectableCurrencies: Currency[] = []\n\n /**\n * Reference to the Material Design outlined select element.\n * Used to manage the select's internal state and keep it synchronized with the component's selected property.\n */\n @query('md-outlined-select')\n private accessor selectElement!: HTMLElement & { value: string }\n\n /**\n * Returns the form element that contains this component, if any.\n * Part of the ElementInternals API for form-associated custom elements.\n */\n get form() {\n return this.internals.form\n }\n\n /**\n * Returns the validity state of the component.\n * Part of the ElementInternals API for form-associated custom elements.\n */\n get validity() {\n return this.internals.validity\n }\n\n /**\n * Returns the validation message for the component.\n * Part of the ElementInternals API for form-associated custom elements.\n */\n get validationMessage() {\n return this.internals.validationMessage\n }\n\n /**\n * Returns whether the component will be validated when the form is submitted.\n * Part of the ElementInternals API for form-associated custom elements.\n */\n get willValidate() {\n return this.internals.willValidate\n }\n\n /**\n * Checks the validity of the component without displaying validation UI.\n * Part of the ElementInternals API for form-associated custom elements.\n * @returns True if the component is valid, false otherwise\n */\n checkValidity() {\n return this.internals.checkValidity()\n }\n\n /**\n * Checks the validity of the component and displays validation UI if invalid.\n * Part of the ElementInternals API for form-associated custom elements.\n * @returns True if the component is valid, false otherwise\n */\n reportValidity() {\n return this.internals.reportValidity()\n }\n\n /**\n * Master list of supported currencies with their display information.\n * This includes popular currencies with their ISO codes, names, symbols, countries, and flag emojis.\n * Private and readonly to ensure data integrity.\n */\n private readonly currencies: Currency[] = [\n { code: 'USD', name: 'US Dollar', symbol: '$', country: 'United States', flag: '🇺🇸' },\n { code: 'EUR', name: 'Euro', symbol: '€', country: 'European Union', flag: '🇪🇺' },\n { code: 'GBP', name: 'British Pound', symbol: '£', country: 'United Kingdom', flag: '🇬🇧' },\n { code: 'JPY', name: 'Japanese Yen', symbol: '¥', country: 'Japan', flag: '🇯🇵' },\n { code: 'CAD', name: 'Canadian Dollar', symbol: 'C$', country: 'Canada', flag: '🇨🇦' },\n { code: 'AUD', name: 'Australian Dollar', symbol: 'A$', country: 'Australia', flag: '🇦🇺' },\n { code: 'CHF', name: 'Swiss Franc', symbol: 'Fr', country: 'Switzerland', flag: '🇨🇭' },\n { code: 'CNY', name: 'Chinese Yuan', symbol: '¥', country: 'China', flag: '🇨🇳' },\n { code: 'INR', name: 'Indian Rupee', symbol: '₹', country: 'India', flag: '🇮🇳' },\n { code: 'KRW', name: 'South Korean Won', symbol: '₩', country: 'South Korea', flag: '🇰🇷' },\n { code: 'BRL', name: 'Brazilian Real', symbol: 'R$', country: 'Brazil', flag: '🇧🇷' },\n { code: 'MXN', name: 'Mexican Peso', symbol: '$', country: 'Mexico', flag: '🇲🇽' },\n { code: 'SGD', name: 'Singapore Dollar', symbol: 'S$', country: 'Singapore', flag: '🇸🇬' },\n { code: 'HKD', name: 'Hong Kong Dollar', symbol: 'HK$', country: 'Hong Kong', flag: '🇭🇰' },\n { code: 'NOK', name: 'Norwegian Krone', symbol: 'kr', country: 'Norway', flag: '🇳🇴' },\n { code: 'SEK', name: 'Swedish Krona', symbol: 'kr', country: 'Sweden', flag: '🇸🇪' },\n { code: 'DKK', name: 'Danish Krone', symbol: 'kr', country: 'Denmark', flag: '🇩🇰' },\n { code: 'PLN', name: 'Polish Zloty', symbol: 'zł', country: 'Poland', flag: '🇵🇱' },\n { code: 'RUB', name: 'Russian Ruble', symbol: '₽', country: 'Russia', flag: '🇷🇺' },\n { code: 'ZAR', name: 'South African Rand', symbol: 'R', country: 'South Africa', flag: '🇿🇦' },\n { code: 'TRY', name: 'Turkish Lira', symbol: '₺', country: 'Turkey', flag: '🇹🇷' },\n { code: 'NZD', name: 'New Zealand Dollar', symbol: 'NZ$', country: 'New Zealand', flag: '🇳🇿' },\n { code: 'THB', name: 'Thai Baht', symbol: '฿', country: 'Thailand', flag: '🇹🇭' },\n { code: 'ILS', name: 'Israeli Shekel', symbol: '₪', country: 'Israel', flag: '🇮🇱' },\n { code: 'AED', name: 'UAE Dirham', symbol: 'د.إ', country: 'United Arab Emirates', flag: '🇦🇪' },\n ]\n\n constructor() {\n super()\n this.internals = this.attachInternals()\n }\n\n override connectedCallback() {\n super.connectedCallback()\n this.updateSelectableCurrencies()\n this.updateFormValue()\n }\n\n /**\n * Updates the form value using ElementInternals.\n */\n private updateFormValue(): void {\n const value = this.selected.length > 0 ? this.selected.join(',') : null\n this.internals.setFormValue(value)\n }\n\n protected override willUpdate(changed: PropertyValues<this>): void {\n super.willUpdate(changed)\n\n // Validate selected currencies with error handling\n if (changed.has('selected')) {\n this.selected = this.safeCurrencyValidation(this.selected, 'selected')\n\n // Also validate against allowedCurrencies if specified\n if (this.allowedCurrencies.length > 0) {\n const allowedSet = new Set(this.allowedCurrencies)\n const invalidSelectedCodes = this.selected.filter((code) => !allowedSet.has(code))\n\n if (invalidSelectedCodes.length > 0) {\n this.setError({\n type: 'validation',\n message: `Selected currencies not in allowed list: ${invalidSelectedCodes.join(', ')}`,\n details: {\n property: 'selected',\n invalidCodes: invalidSelectedCodes,\n allowedCurrencies: this.allowedCurrencies,\n },\n })\n\n // Filter out invalid codes\n this.selected = this.selected.filter((code) => allowedSet.has(code))\n }\n }\n\n // Also validate selection constraints when property changes\n if (!this.multi && this.selected.length > 1) {\n // In single-select mode, keep only the first valid selection\n this.selected = this.selected.slice(0, 1)\n this.setError({\n type: 'selection',\n message: 'Multiple currency selection is not allowed when multi=false. Only first selection kept.',\n details: { multi: this.multi, originalSelection: changed.get('selected') },\n })\n }\n\n // Validate required constraint\n if (this.required && this.selected.length === 0) {\n this.internals.setValidity({ valueMissing: true }, 'At least one currency must be selected')\n this.setAttribute('aria-invalid', 'true')\n this.dispatchErrorEvent({\n type: 'selection',\n message: 'At least one currency must be selected when required=true',\n details: { required: this.required, currentSelection: this.selected },\n })\n } else if (!this.required || this.selected.length > 0) {\n // Clear validation if not required or has selection\n this.internals.setValidity({})\n this.setAttribute('aria-invalid', 'false')\n }\n }\n // Validate allowed currencies with error handling\n if (changed.has('allowedCurrencies')) {\n this.allowedCurrencies = this.safeCurrencyValidation(this.allowedCurrencies, 'allowedCurrencies')\n\n // Filter selected currencies to only include allowed ones\n if (this.allowedCurrencies.length > 0) {\n const allowedSet = new Set(this.allowedCurrencies)\n const filteredSelected = this.selected.filter((code) => allowedSet.has(code))\n if (filteredSelected.length !== this.selected.length) {\n this.selected = filteredSelected\n }\n }\n }\n\n if (changed.has('selected') || changed.has('allowedCurrencies') || changed.has('multi')) {\n this.updateSelectableCurrencies()\n }\n\n // Update form value when selected changes\n if (changed.has('selected')) {\n this.updateFormValue()\n }\n\n // Synchronize the select element's value with the component's selected state\n if (changed.has('selected') && this.selectElement) {\n // In single-select mode, set the select value to the first selected currency or empty\n // In multi-select mode, always clear the select after selection to allow adding more\n if (!this.multi) {\n this.selectElement.value = this.selected.length > 0 ? this.selected[0] : ''\n } else {\n // For multi-select, always keep the select cleared to allow adding more currencies\n this.selectElement.value = ''\n }\n }\n }\n\n /**\n * Called after the component has been updated and rendered.\n * Ensures the select element's value stays synchronized with the component's selected state.\n */\n protected override updated(changed: PropertyValues<this>): void {\n super.updated(changed)\n\n // Ensure select element is synchronized after rendering\n if (this.selectElement && (changed.has('selected') || changed.has('multi'))) {\n if (!this.multi) {\n // In single-select mode, show the selected currency or clear the select\n this.selectElement.value = this.selected.length > 0 ? this.selected[0] : ''\n } else {\n // In multi-select mode, always keep the select cleared to allow adding more currencies\n this.selectElement.value = ''\n }\n }\n }\n\n /**\n * Sets an error state using ElementInternals and optionally dispatches an error event.\n * @param error The error to set\n * @param dispatch Whether to dispatch an error event (default: true)\n */\n private setError(error: CurrencyPickerError, dispatch = true): void {\n // Use ElementInternals for native form validation\n this.internals.setValidity({ customError: true }, error.message)\n this.setAttribute('aria-invalid', 'true')\n if (dispatch) {\n this.dispatchErrorEvent(error)\n }\n }\n\n /**\n * Dispatches an error event.\n * @param error The error to dispatch\n */\n private dispatchErrorEvent(error: CurrencyPickerError): void {\n this.dispatchEvent(\n new CustomEvent('error', {\n detail: { error },\n bubbles: false,\n })\n )\n }\n\n /**\n * Clears the current error state using ElementInternals.\n */\n private clearError(): void {\n this.internals.setValidity({})\n this.setAttribute('aria-invalid', 'false')\n }\n\n /**\n * Validates currency codes against the supported currencies.\n * @param codes Array of currency codes to validate\n * @returns Array of invalid currency codes\n */\n private validateCurrencyCodes(codes: string[]): string[] {\n return codes.filter((code) => !this.currencies.some((c) => c.code === code))\n }\n\n /**\n * Safely validates and filters currency codes, setting errors for invalid codes.\n * @param codes Array of currency codes to validate\n * @param property Name of the property being validated\n * @returns Array of valid currency codes\n */\n private safeCurrencyValidation(codes: string[], property: string): string[] {\n if (!Array.isArray(codes)) {\n this.setError({\n type: 'validation',\n message: `Invalid ${property}: expected array of currency codes`,\n details: { property, value: codes },\n })\n return []\n }\n\n const invalidCodes = this.validateCurrencyCodes(codes)\n if (invalidCodes.length > 0) {\n this.setError({\n type: 'validation',\n message: `Invalid currency codes in ${property}: ${invalidCodes.join(', ')}`,\n details: { property, invalidCodes, validCodes: this.currencies.map((c) => c.code) },\n }) // Dispatch error event for validation errors\n\n // Return only valid codes\n return codes.filter((code) => !invalidCodes.includes(code))\n }\n\n // Clear any previous validation errors for this property\n if (!this.internals.validity.valid) {\n this.clearError()\n }\n\n return codes\n }\n\n /**\n * Validates selection constraints using ElementInternals.\n * @param newSelection The new selection to validate\n * @returns Whether the selection is valid\n */\n private validateSelectionConstraints(newSelection: string[]): boolean {\n if (!this.multi && newSelection.length > 1) {\n this.setError({\n type: 'selection',\n message: 'Multiple currency selection is not allowed when multi=false',\n details: { multi: this.multi, attemptedSelection: newSelection },\n })\n return false\n }\n\n if (this.required && newSelection.length === 0) {\n this.internals.setValidity({ valueMissing: true }, 'At least one currency must be selected')\n this.setAttribute('aria-invalid', 'true')\n this.dispatchErrorEvent({\n type: 'selection',\n message: 'At least one currency must be selected when required=true',\n details: { required: this.required, currentSelection: newSelection },\n })\n return false\n }\n\n return true\n }\n\n private updateSelectableCurrencies() {\n const selectedCodes = new Set(this.selected)\n\n // If allowedCurrencies is specified, filter the master list by it\n let availableCurrencies = this.currencies\n if (this.allowedCurrencies.length > 0) {\n const allowedSet = new Set(this.allowedCurrencies)\n availableCurrencies = this.currencies.filter((c) => allowedSet.has(c.code))\n }\n if (this.multi) {\n // Then filter out already selected currencies\n this.selectableCurrencies = availableCurrencies.filter((c) => !selectedCodes.has(c.code))\n } else {\n // If single-select, just use the available currencies\n this.selectableCurrencies = availableCurrencies\n }\n }\n\n private handleCurrencySelect(event: Event) {\n try {\n const select = event.target as HTMLSelectElement\n const selectedCode = select.value\n\n if (!selectedCode) return\n\n const currency = this.currencies.find((c) => c.code === selectedCode)\n if (!currency) {\n this.setError({\n type: 'selection',\n message: `Currency not found: ${selectedCode}`,\n details: { attemptedCode: selectedCode },\n })\n return\n }\n\n let newSelection: string[]\n\n if (this.multi) {\n // If multi-select, add the currency to the selection\n if (!this.selected.includes(currency.code)) {\n newSelection = [...this.selected, currency.code]\n } else {\n // Currency already selected, clear any selection errors but don't add duplicate\n if (!this.internals.validity.valid) {\n this.clearError()\n }\n return\n }\n } else {\n // If single-select, replace the current selection\n newSelection = [currency.code]\n }\n\n // Validate the new selection\n if (!this.validateSelectionConstraints(newSelection)) {\n return // Error was set in validateSelectionConstraints\n }\n\n this.selected = newSelection\n this.updateSelectableCurrencies()\n\n // Reset the select for multi-select mode\n if (this.multi) {\n select.value = ''\n }\n\n // Clear any previous errors on successful selection\n this.clearError()\n this.dispatchChangeEvent()\n } catch (error) {\n this.setError({\n type: 'internal',\n message: `Internal error during currency selection: ${error instanceof Error ? error.message : String(error)}`,\n details: { originalError: error },\n })\n }\n }\n\n private handleRemoveCurrency(event: Event) {\n try {\n const chip = event.target as HTMLElement\n const currencyCode = chip.dataset.code\n\n if (!currencyCode) {\n this.setError({\n type: 'internal',\n message: 'Unable to determine currency code from chip element',\n details: { chipElement: chip },\n })\n return\n }\n\n const newSelection = this.selected.filter((code) => code !== currencyCode)\n\n // Validate the new selection (e.g., required constraint)\n if (!this.validateSelectionConstraints(newSelection)) {\n return // Error was set in validateSelectionConstraints\n }\n\n this.selected = newSelection\n this.updateSelectableCurrencies()\n\n // Clear any previous errors on successful removal\n this.clearError()\n this.dispatchChangeEvent()\n } catch (error) {\n this.setError({\n type: 'internal',\n message: `Internal error during currency removal: ${error instanceof Error ? error.message : String(error)}`,\n details: { originalError: error },\n })\n }\n }\n\n private dispatchChangeEvent() {\n const selectedCurrencies = this.getSelectedCurrencies()\n\n // Update form value using ElementInternals\n this.updateFormValue()\n\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: {\n currencies: selectedCurrencies,\n codes: this.selected,\n },\n bubbles: false,\n })\n )\n }\n\n /**\n * Get the currently selected currency codes as a copy of the array.\n * This is a read-only getter that returns a shallow copy to prevent external modification.\n * @returns Array of selected ISO 4217 currency codes\n */\n get selectedCurrencyCodes(): string[] {\n return [...this.selected]\n }\n\n /**\n * Get the full currency objects for currently selected currencies.\n * This method looks up each selected currency code in the master currencies list\n * and returns the complete currency information including name, symbol, country, and flag.\n * @returns Array of complete Currency objects for selected currencies\n */\n getSelectedCurrencies(): Currency[] {\n const result: Currency[] = []\n for (const code of this.selected) {\n const currency = this.currencies.find((c) => c.code === code)\n if (currency) {\n result.push(currency)\n }\n }\n return result\n }\n\n /**\n * Clear all selected currencies.\n * This method removes all selections, validates constraints (such as required),\n * updates the UI, and dispatches a change event. If validation fails (e.g.,\n * component is required), the operation will be cancelled and an error will be set.\n * @throws Will dispatch an error event if validation fails or an internal error occurs\n */\n clearSelection() {\n try {\n const newSelection: string[] = []\n\n // Validate clearing selection (e.g., required constraint)\n if (!this.validateSelectionConstraints(newSelection)) {\n return // Error was set in validateSelectionConstraints\n }\n\n this.selected = newSelection\n this.updateSelectableCurrencies()\n\n // Clear any previous errors on successful clear\n this.clearError()\n this.dispatchChangeEvent()\n\n // Synchronize the select element to show no selection\n if (this.selectElement) {\n this.selectElement.value = ''\n }\n } catch (error) {\n this.setError({\n type: 'internal',\n message: `Internal error during selection clear: ${error instanceof Error ? error.message : String(error)}`,\n details: { originalError: error },\n })\n } finally {\n this.requestUpdate()\n }\n }\n\n /**\n * Form state restore callback for ElementInternals.\n * This method is called by the browser when form state is being restored\n * (e.g., browser back/forward navigation, form autofill).\n * It parses a comma-separated string of currency codes and restores the selection.\n * @param state The state to restore - typically a comma-separated string of currency codes\n * @param _mode The restore mode (unused in this implementation)\n */\n formStateRestoreCallback(state: string | FormData | null): void {\n if (typeof state === 'string' && state) {\n this.selected = state.split(',').filter(Boolean)\n this.updateSelectableCurrencies()\n\n // Synchronize the select element with restored state\n if (this.selectElement) {\n if (!this.multi && this.selected.length > 0) {\n this.selectElement.value = this.selected[0]\n } else {\n this.selectElement.value = ''\n }\n }\n }\n }\n\n /**\n * Form reset callback for ElementInternals.\n * This method is called by the browser when the containing form is reset.\n * It clears all selections, updates the UI, clears any errors, and updates the form value.\n */\n formResetCallback(): void {\n this.selected = []\n this.updateSelectableCurrencies()\n this.clearError()\n this.updateFormValue()\n\n // Synchronize the select element to show no selection\n if (this.selectElement) {\n this.selectElement.value = ''\n }\n\n this.requestUpdate()\n }\n\n /**\n * Main render method for the component.\n * Renders the currency selector with dropdown, selected chips (if multi-select), and error display.\n * Updates ARIA attributes and error states based on current component state.\n * @returns TemplateResult containing the complete component HTML\n */\n override render(): TemplateResult {\n const ariaLabel = this.multi\n ? `Currency selector. ${this.selected.length} currencies selected.`\n : `Currency selector. ${this.selected.length > 0 ? this.selected[0] + ' selected' : 'No currency selected'}.`\n\n const hasError = !this.internals.validity.valid\n\n return html`\n <div class=\"currency-picker\" role=\"group\" aria-label=\"${ariaLabel}\">\n <md-outlined-select\n label=\"${this.label}\"\n @change=\"${this.handleCurrencySelect}\"\n menuPositioning=\"popover\"\n ?disabled=\"${this.disabled}\"\n ?required=\"${this.required}\"\n .supportingText=\"${this.supportingText || ''}\"\n .name=\"${this.name || ''}\"\n aria-describedby=\"${this.supportingText ? 'supporting-text' : ''}\"\n aria-invalid=\"${hasError ? 'true' : 'false'}\"\n >\n <md-select-option value=\"\">\n <div slot=\"headline\">Select a currency...</div>\n </md-select-option>\n ${repeat(\n this.selectableCurrencies,\n (currency) => currency.code,\n (currency) => html`\n <md-select-option value=\"${currency.code}\">\n <div slot=\"overline\">${currency.country}</div>\n <div slot=\"supporting-text\">${currency.name}</div>\n <div slot=\"trailing-supporting-text\" class=\"currency-symbol\">${currency.symbol}</div>\n <div slot=\"start\" class=\"flag\">${currency.flag}</div>\n <div slot=\"headline\">${currency.code}</div>\n </md-select-option>\n `\n )}\n </md-outlined-select>\n ${this.renderSelected()}${this.renderError()}\n </div>\n `\n }\n\n /**\n * Renders error messages when showErrors is true and the component is invalid.\n * The error display uses ARIA live regions for accessibility.\n * @returns TemplateResult with error display or nothing if no errors should be shown\n */\n protected renderError(): TemplateResult | typeof nothing {\n if (!this.showErrors || this.internals.validity.valid) {\n return nothing\n }\n\n return html`\n <div class=\"error\" role=\"alert\" aria-live=\"polite\">\n <span class=\"error-message\">${this.internals.validationMessage}</span>\n </div>\n `\n }\n\n /**\n * Renders the selected currencies as removable chips in multi-select mode.\n * Only renders when multi=true and there are selected currencies.\n * Each chip displays the currency flag and code, and can be removed by the user.\n * @returns TemplateResult with chip display or nothing if not applicable\n */\n protected renderSelected(): TemplateResult | typeof nothing {\n if (!this.multi) {\n return nothing\n }\n const selected = this.getSelectedCurrencies()\n if (selected.length === 0) return nothing\n\n return html`\n <ui-chip-set>\n ${repeat(\n selected,\n (currency) => currency.code,\n (currency) => html`\n <ui-chip\n data-code=\"${currency.code}\"\n type=\"input\"\n @remove=\"${this.handleRemoveCurrency}\"\n ?removable=\"${true}\"\n >\n <span slot=\"icon\" class=\"chip-flag\">${currency.flag}</span>\n <span class=\"chip-code\">${currency.code}</span>\n </ui-chip>\n `\n )}\n </ui-chip-set>\n `\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
3
+ //# sourceMappingURL=Picker.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Picker.styles.d.ts","sourceRoot":"","sources":["../../../../../src/elements/currency/internals/Picker.styles.ts"],"names":[],"mappings":";AAEA,wBAuDC"}
@@ -0,0 +1,58 @@
1
+ import { css } from 'lit';
2
+ export default css `
3
+ :host {
4
+ display: block;
5
+ max-width: 600px;
6
+ }
7
+
8
+ .currency-picker {
9
+ display: flex;
10
+ flex-direction: column;
11
+ gap: 8px;
12
+ }
13
+
14
+ md-outlined-select {
15
+ flex: 1;
16
+ min-width: 200px;
17
+ }
18
+
19
+ .flag {
20
+ font-size: 20px;
21
+ width: 24px;
22
+ text-align: center;
23
+ }
24
+
25
+ .currency-symbol {
26
+ color: var(--md-sys-color-primary);
27
+ font-size: 1rem;
28
+ }
29
+
30
+ /* Error states using ElementInternals */
31
+ .error {
32
+ display: flex;
33
+ align-items: center;
34
+ gap: 8px;
35
+ padding: 8px 12px;
36
+ margin-top: 4px;
37
+ border-radius: 4px;
38
+ font-size: 0.875rem;
39
+ line-height: 1.25rem;
40
+ background: var(--md-sys-color-error-container);
41
+ color: var(--md-sys-color-on-error-container);
42
+ border: 1px solid var(--md-sys-color-error);
43
+ }
44
+
45
+ .error-message {
46
+ font-weight: 500;
47
+ }
48
+
49
+ /* Host error state using ElementInternals validity */
50
+ :host([data-error]) {
51
+ --md-outlined-select-outline-color: var(--md-sys-color-error);
52
+ }
53
+
54
+ :host([data-error]) md-outlined-select {
55
+ --md-outlined-select-focus-outline-color: var(--md-sys-color-error);
56
+ }
57
+ `;
58
+ //# sourceMappingURL=Picker.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Picker.styles.js","sourceRoot":"","sources":["../../../../../src/elements/currency/internals/Picker.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n display: block;\n max-width: 600px;\n }\n\n .currency-picker {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n md-outlined-select {\n flex: 1;\n min-width: 200px;\n }\n\n .flag {\n font-size: 20px;\n width: 24px;\n text-align: center;\n }\n\n .currency-symbol {\n color: var(--md-sys-color-primary);\n font-size: 1rem;\n }\n\n /* Error states using ElementInternals */\n .error {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n margin-top: 4px;\n border-radius: 4px;\n font-size: 0.875rem;\n line-height: 1.25rem;\n background: var(--md-sys-color-error-container);\n color: var(--md-sys-color-on-error-container);\n border: 1px solid var(--md-sys-color-error);\n }\n\n .error-message {\n font-weight: 500;\n }\n\n /* Host error state using ElementInternals validity */\n :host([data-error]) {\n --md-outlined-select-outline-color: var(--md-sys-color-error);\n }\n\n :host([data-error]) md-outlined-select {\n --md-outlined-select-focus-outline-color: var(--md-sys-color-error);\n }\n`\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownStyles.d.ts","sourceRoot":"","sources":["../../../../src/elements/highlight/MarkdownStyles.ts"],"names":[],"mappings":";AAkDA,wBAqXC"}
1
+ {"version":3,"file":"MarkdownStyles.d.ts","sourceRoot":"","sources":["../../../../src/elements/highlight/MarkdownStyles.ts"],"names":[],"mappings":";AAqCA,wBAqXC"}
@@ -1,17 +1,4 @@
1
1
  /**
2
- @license
3
- Copyright 2016 The Advanced REST client authors <arc@mulesoft.com>
4
- Licensed under the Apache License, Version 2.0 (the "License"); you may not
5
- use this file except in compliance with the License. You may obtain a copy of
6
- the License at
7
- http://www.apache.org/licenses/LICENSE-2.0
8
- Unless required by applicable law or agreed to in writing, software
9
- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
10
- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
11
- License for the specific language governing permissions and limitations under
12
- the License.
13
- */
14
- /**
15
2
  ## Styles for markdown viewer
16
3
 
17
4
  It should be included where the `marked-highlight` is used.
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownStyles.js","sourceRoot":"","sources":["../../../../src/elements/highlight/MarkdownStyles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;EAYE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCE;AACF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqXjB,CAAA","sourcesContent":["/**\n@license\nCopyright 2016 The Advanced REST client authors <arc@mulesoft.com>\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not\nuse this file except in compliance with the License. You may obtain a copy of\nthe License at\nhttp://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\nWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\nLicense for the specific language governing permissions and limitations under\nthe License.\n*/\n/**\n## Styles for markdown viewer\n\nIt should be included where the `marked-highlight` is used.\n\n## Usage example\n\n```javascript\nimport { LitElement, html, css } from 'lit';\nimport { MarkdownStyles } from '@api-client/ui';\n\nclass MarkdownImpl extends LitElement {\n static get styles() {\n return [\n css`\n :host {\n ...\n }\n `,\n MarkdownStyles,\n ]\n }\n\n render() {\n return html`\n <marked-highlight markdown=\"....\">\n <div class=\"markdown-html\"></div>\n </marked-highlight>`;\n }\n}\n```\n\nNote use of the `markdown-html` CSS rules. It is required by markdown element also all css rules\ndefined here are scoped to a container with this class name.\n*/\nimport { css } from 'lit'\n\nexport default css`\n [slot='markdown-html'] {\n font-family: var(--md-sys-typescale-body-large-font);\n font-weight: var(--md-sys-typescale-body-large-weight);\n font-size: var(--md-sys-typescale-body-large-size);\n letter-spacing: var(--md-sys-typescale-body-large-tracking);\n line-height: var(--md-sys-typescale-body-large-height);\n }\n\n [slot='markdown-html'] h1,\n [slot='markdown-html'] h2,\n [slot='markdown-html'] h3,\n [slot='markdown-html'] h4,\n [slot='markdown-html'] h5,\n [slot='markdown-html'] h6 {\n color: inherit;\n }\n\n [slot='markdown-html'] h1 tt,\n [slot='markdown-html'] h1 code,\n [slot='markdown-html'] h2 tt,\n [slot='markdown-html'] h2 code,\n [slot='markdown-html'] h3 tt,\n [slot='markdown-html'] h3 code,\n [slot='markdown-html'] h4 tt,\n [slot='markdown-html'] h4 code,\n [slot='markdown-html'] h5 tt,\n [slot='markdown-html'] h5 code,\n [slot='markdown-html'] h6 tt,\n [slot='markdown-html'] h6 code {\n font-size: inherit;\n }\n\n [slot='markdown-html'] h1 {\n font-family: var(--md-sys-typescale-headline-large-font);\n font-weight: var(--md-sys-typescale-headline-large-weight);\n font-size: var(--md-sys-typescale-headline-large-size);\n letter-spacing: var(--md-sys-typescale-headline-large-tracking);\n line-height: var(--md-sys-typescale-headline-large-height);\n border-bottom: 1px solid var(--markdown-styles-title-border-bottom-color, #eee);\n padding-top: 1rem;\n padding-bottom: 0.5rem;\n }\n\n [slot='markdown-html'] h2 {\n font-family: var(--md-sys-typescale-headline-medium-font);\n font-weight: var(--md-sys-typescale-headline-medium-weight);\n font-size: var(--md-sys-typescale-headline-medium-size);\n letter-spacing: var(--md-sys-typescale-headline-medium-tracking);\n line-height: var(--md-sys-typescale-headline-medium-height);\n border-bottom: 1px solid var(--markdown-styles-title-border-bottom-color, #eee);\n }\n\n [slot='markdown-html'] h3 {\n font-family: var(--md-sys-typescale-headline-small-font);\n font-weight: var(--md-sys-typescale-headline-small-weight);\n font-size: var(--md-sys-typescale-headline-small-size);\n letter-spacing: var(--md-sys-typescale-headline-small-tracking);\n line-height: var(--md-sys-typescale-headline-small-height);\n }\n\n [slot='markdown-html'] h4 {\n font-family: var(--md-sys-typescale-title-large-font);\n font-weight: var(--md-sys-typescale-title-large-weight);\n font-size: var(--md-sys-typescale-title-large-size);\n letter-spacing: var(--md-sys-typescale-title-large-tracking);\n line-height: var(--md-sys-typescale-title-large-height);\n }\n\n [slot='markdown-html'] h5 {\n font-family: var(--md-sys-typescale-title-medium-font);\n font-weight: var(--md-sys-typescale-title-medium-weight);\n font-size: var(--md-sys-typescale-title-medium-size);\n letter-spacing: var(--md-sys-typescale-title-medium-tracking);\n line-height: var(--md-sys-typescale-title-medium-height);\n }\n\n [slot='markdown-html'] h6 {\n font-family: var(--md-sys-typescale-title-small-font);\n font-weight: var(--md-sys-typescale-title-small-weight);\n font-size: var(--md-sys-typescale-title-small-size);\n letter-spacing: var(--md-sys-typescale-title-small-tracking);\n line-height: var(--md-sys-typescale-title-small-height);\n }\n\n [slot='markdown-html'] p,\n [slot='markdown-html'] blockquote,\n [slot='markdown-html'] ul,\n [slot='markdown-html'] ol,\n [slot='markdown-html'] dl,\n [slot='markdown-html'] table,\n [slot='markdown-html'] pre {\n font-family: var(--md-sys-typescale-body-large-font);\n font-weight: var(--md-sys-typescale-body-large-weight);\n font-size: var(--md-sys-typescale-body-large-size);\n letter-spacing: var(--md-sys-typescale-body-large-tracking);\n line-height: var(--md-sys-typescale-body-large-height);\n margin-top: 0;\n margin-bottom: 16px;\n }\n\n [slot='markdown-html'] a {\n color: var(--link-color);\n }\n\n [slot='markdown-html'] a:hover {\n color: var(--link-hover-color);\n }\n\n [slot='markdown-html'] > *:last-child {\n margin-bottom: 0;\n }\n\n [slot='markdown-html'] hr {\n height: 4px;\n padding: 0;\n margin: 16px 0;\n background-color: var(--markdown-styles-hr-color, #e7e7e7);\n border: 0 none;\n }\n\n [slot='markdown-html'] ul,\n [slot='markdown-html'] ol {\n padding-left: 2em;\n }\n\n [slot='markdown-html'] ul.no-list,\n [slot='markdown-html'] ol.no-list {\n padding: 0;\n list-style-type: none;\n }\n\n [slot='markdown-html'] ul ul,\n [slot='markdown-html'] ul ol,\n [slot='markdown-html'] ol ol,\n [slot='markdown-html'] ol ul {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n [slot='markdown-html'] li > p {\n margin-top: 16px;\n }\n\n [slot='markdown-html'] dl {\n padding: 0;\n }\n\n [slot='markdown-html'] dl dt {\n padding: 0;\n margin-top: 16px;\n font-size: 1em;\n font-style: italic;\n font-weight: bold;\n }\n\n [slot='markdown-html'] dl dd {\n padding: 0 16px;\n margin-bottom: 16px;\n }\n\n [slot='markdown-html'] blockquote {\n padding: 0 15px;\n color: var(--markdown-styles-blockquote-color, #777);\n border-left: 4px solid var(--markdown-styles-blockquote-border-left-color, #ddd);\n }\n\n [slot='markdown-html'] blockquote > :first-child {\n margin-top: 0;\n }\n\n [slot='markdown-html'] blockquote > :last-child {\n margin-bottom: 0;\n }\n\n [slot='markdown-html'] table {\n font-family: var(--md-sys-typescale-body-large-font);\n font-weight: var(--md-sys-typescale-body-large-weight);\n font-size: var(--md-sys-typescale-body-large-size);\n letter-spacing: var(--md-sys-typescale-body-large-tracking);\n line-height: var(--md-sys-typescale-body-large-height);\n display: block;\n width: 100%;\n overflow: auto;\n word-break: normal;\n word-break: keep-all;\n border-collapse: collapse;\n }\n\n [slot='markdown-html'] table th {\n font-weight: bold;\n }\n\n [slot='markdown-html'] table th,\n [slot='markdown-html'] table td {\n padding: 6px 13px;\n border: 1px solid var(--markdown-styles-table-header-border-color, #ddd);\n }\n\n [slot='markdown-html'] table tr {\n background-color: var(--markdown-styles-table-row-background-color, #fff);\n border-top: 1px solid #ccc;\n }\n\n [slot='markdown-html'] table tr:nth-child(2n) {\n background-color: var(--markdown-styles-table-even-row-background-color, #f8f8f8);\n }\n\n [slot='markdown-html'] img {\n max-width: 100%;\n box-sizing: content-box;\n background-color: var(--markdown-styles-image-background-color, #fff);\n }\n\n [slot='markdown-html'] img[align='right'] {\n padding-left: 20px;\n }\n\n [slot='markdown-html'] img[align='left'] {\n padding-right: 20px;\n }\n\n [slot='markdown-html'] code,\n [slot='markdown-html'] tt {\n font-family: var(--markdown-styles-code-font-family, Roboto Mono, Consolas, Menlo, monospace);\n padding: 0;\n padding-top: 0.2em;\n padding-bottom: 0.2em;\n margin: 0;\n background-color: var(--markdown-styles-code-background-color, rgba(0, 0, 0, 0.04));\n border-radius: 2px;\n }\n\n [slot='markdown-html'] pre {\n word-wrap: normal;\n }\n\n /**\n * prism.js default theme for JavaScript, CSS and HTML\n * Based on dabblet (http://dabblet.com)\n * @author Lea Verou\n */\n [slot='markdown-html'] code,\n [slot='markdown-html'] pre {\n font-family: var(--markdown-styles-code-font-family, Roboto Mono, Consolas, Menlo, monospace);\n color: var(--code-color, black);\n background-color: var(--code-background-color);\n text-shadow: var(--markdown-styles-code-text-shadow, 0 1px white);\n text-align: left;\n word-break: break-all;\n white-space: pre-wrap;\n word-spacing: normal;\n line-height: 1.5;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n }\n\n [slot='markdown-html'] pre::-moz-selection,\n [slot='markdown-html'] pre ::-moz-selection,\n [slot='markdown-html'] code::-moz-selection,\n [slot='markdown-html'] code ::-moz-selection,\n [slot='markdown-html'] pre::selection,\n [slot='markdown-html'] pre ::selection,\n [slot='markdown-html'] code::selection,\n [slot='markdown-html'] code ::selection {\n text-shadow: none;\n background: var(--markdown-styles-code-selection-background-color, #b3d4fc);\n }\n\n @media print {\n [slot='markdown-html'] code,\n [slot='markdown-html'] pre {\n text-shadow: none;\n }\n }\n\n /* Code blocks */\n [slot='markdown-html'] pre {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n }\n\n [slot='markdown-html'] :not(pre) > code,\n [slot='markdown-html'] pre,\n pre[slot='markdown-html'] {\n background: var(--code-background-color, #f5f2f0);\n border: var(--inline-code-border, inherit);\n }\n\n /* Inline code */\n [slot='markdown-html'] :not(pre) > code {\n padding: var(--inline-code-padding, 0.1em);\n border-radius: 0.3em;\n white-space: normal;\n }\n\n [slot='markdown-html'] .token.comment,\n [slot='markdown-html'] .token.prolog,\n [slot='markdown-html'] .token.doctype,\n [slot='markdown-html'] .token.cdata {\n color: var(--markdown-styles-code-cdata-color, slategray);\n }\n\n [slot='markdown-html'] .token.punctuation {\n color: var(--code-punctuation-value-color, #999);\n }\n\n [slot='markdown-html'] .namespace {\n opacity: 0.7;\n }\n\n [slot='markdown-html'] .token.property,\n [slot='markdown-html'] .token.tag,\n [slot='markdown-html'] .token.boolean,\n [slot='markdown-html'] .token.number,\n [slot='markdown-html'] .token.constant,\n [slot='markdown-html'] .token.symbol,\n [slot='markdown-html'] .token.deleted {\n color: var(--code-type-number-value-color, #905);\n }\n\n [slot='markdown-html'] .token.selector,\n [slot='markdown-html'] .token.attr-name,\n [slot='markdown-html'] .token.string,\n [slot='markdown-html'] .token.char,\n [slot='markdown-html'] .token.builtin,\n [slot='markdown-html'] .token.inserted {\n color: var(--code-type-text-value-color, #690);\n }\n\n [slot='markdown-html'] .token.operator,\n [slot='markdown-html'] .token.entity,\n [slot='markdown-html'] .token.url,\n [slot='markdown-html'] .language-css .token.string,\n [slot='markdown-html'] .style .token.string {\n color: var(--code-punctuation-value-color, #a67f59);\n background: hsla(0, 0%, 100%, 0.5);\n }\n\n [slot='markdown-html'] .token.atrule,\n [slot='markdown-html'] .token.attr-value,\n [slot='markdown-html'] .token.keyword {\n color: var(--markdown-styles-code-keyword-color, #07a);\n }\n\n [slot='markdown-html'] .token.function {\n color: var(--markdown-styles-code-function-color, #dd4a68);\n }\n\n [slot='markdown-html'] .token.regex,\n [slot='markdown-html'] .token.important,\n [slot='markdown-html'] .token.variable {\n color: var(--markdown-styles-variable-color, #e90);\n }\n\n [slot='markdown-html'] .token.important,\n [slot='markdown-html'] .token.bold {\n font-weight: bold;\n }\n [slot='markdown-html'] .token.italic {\n font-style: italic;\n }\n\n [slot='markdown-html'] .token.entity {\n cursor: help;\n }\n`\n"]}
1
+ {"version":3,"file":"MarkdownStyles.js","sourceRoot":"","sources":["../../../../src/elements/highlight/MarkdownStyles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCE;AACF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqXjB,CAAA","sourcesContent":["/**\n## Styles for markdown viewer\n\nIt should be included where the `marked-highlight` is used.\n\n## Usage example\n\n```javascript\nimport { LitElement, html, css } from 'lit';\nimport { MarkdownStyles } from '@api-client/ui';\n\nclass MarkdownImpl extends LitElement {\n static get styles() {\n return [\n css`\n :host {\n ...\n }\n `,\n MarkdownStyles,\n ]\n }\n\n render() {\n return html`\n <marked-highlight markdown=\"....\">\n <div class=\"markdown-html\"></div>\n </marked-highlight>`;\n }\n}\n```\n\nNote use of the `markdown-html` CSS rules. It is required by markdown element also all css rules\ndefined here are scoped to a container with this class name.\n*/\nimport { css } from 'lit'\n\nexport default css`\n [slot='markdown-html'] {\n font-family: var(--md-sys-typescale-body-large-font);\n font-weight: var(--md-sys-typescale-body-large-weight);\n font-size: var(--md-sys-typescale-body-large-size);\n letter-spacing: var(--md-sys-typescale-body-large-tracking);\n line-height: var(--md-sys-typescale-body-large-height);\n }\n\n [slot='markdown-html'] h1,\n [slot='markdown-html'] h2,\n [slot='markdown-html'] h3,\n [slot='markdown-html'] h4,\n [slot='markdown-html'] h5,\n [slot='markdown-html'] h6 {\n color: inherit;\n }\n\n [slot='markdown-html'] h1 tt,\n [slot='markdown-html'] h1 code,\n [slot='markdown-html'] h2 tt,\n [slot='markdown-html'] h2 code,\n [slot='markdown-html'] h3 tt,\n [slot='markdown-html'] h3 code,\n [slot='markdown-html'] h4 tt,\n [slot='markdown-html'] h4 code,\n [slot='markdown-html'] h5 tt,\n [slot='markdown-html'] h5 code,\n [slot='markdown-html'] h6 tt,\n [slot='markdown-html'] h6 code {\n font-size: inherit;\n }\n\n [slot='markdown-html'] h1 {\n font-family: var(--md-sys-typescale-headline-large-font);\n font-weight: var(--md-sys-typescale-headline-large-weight);\n font-size: var(--md-sys-typescale-headline-large-size);\n letter-spacing: var(--md-sys-typescale-headline-large-tracking);\n line-height: var(--md-sys-typescale-headline-large-height);\n border-bottom: 1px solid var(--markdown-styles-title-border-bottom-color, #eee);\n padding-top: 1rem;\n padding-bottom: 0.5rem;\n }\n\n [slot='markdown-html'] h2 {\n font-family: var(--md-sys-typescale-headline-medium-font);\n font-weight: var(--md-sys-typescale-headline-medium-weight);\n font-size: var(--md-sys-typescale-headline-medium-size);\n letter-spacing: var(--md-sys-typescale-headline-medium-tracking);\n line-height: var(--md-sys-typescale-headline-medium-height);\n border-bottom: 1px solid var(--markdown-styles-title-border-bottom-color, #eee);\n }\n\n [slot='markdown-html'] h3 {\n font-family: var(--md-sys-typescale-headline-small-font);\n font-weight: var(--md-sys-typescale-headline-small-weight);\n font-size: var(--md-sys-typescale-headline-small-size);\n letter-spacing: var(--md-sys-typescale-headline-small-tracking);\n line-height: var(--md-sys-typescale-headline-small-height);\n }\n\n [slot='markdown-html'] h4 {\n font-family: var(--md-sys-typescale-title-large-font);\n font-weight: var(--md-sys-typescale-title-large-weight);\n font-size: var(--md-sys-typescale-title-large-size);\n letter-spacing: var(--md-sys-typescale-title-large-tracking);\n line-height: var(--md-sys-typescale-title-large-height);\n }\n\n [slot='markdown-html'] h5 {\n font-family: var(--md-sys-typescale-title-medium-font);\n font-weight: var(--md-sys-typescale-title-medium-weight);\n font-size: var(--md-sys-typescale-title-medium-size);\n letter-spacing: var(--md-sys-typescale-title-medium-tracking);\n line-height: var(--md-sys-typescale-title-medium-height);\n }\n\n [slot='markdown-html'] h6 {\n font-family: var(--md-sys-typescale-title-small-font);\n font-weight: var(--md-sys-typescale-title-small-weight);\n font-size: var(--md-sys-typescale-title-small-size);\n letter-spacing: var(--md-sys-typescale-title-small-tracking);\n line-height: var(--md-sys-typescale-title-small-height);\n }\n\n [slot='markdown-html'] p,\n [slot='markdown-html'] blockquote,\n [slot='markdown-html'] ul,\n [slot='markdown-html'] ol,\n [slot='markdown-html'] dl,\n [slot='markdown-html'] table,\n [slot='markdown-html'] pre {\n font-family: var(--md-sys-typescale-body-large-font);\n font-weight: var(--md-sys-typescale-body-large-weight);\n font-size: var(--md-sys-typescale-body-large-size);\n letter-spacing: var(--md-sys-typescale-body-large-tracking);\n line-height: var(--md-sys-typescale-body-large-height);\n margin-top: 0;\n margin-bottom: 16px;\n }\n\n [slot='markdown-html'] a {\n color: var(--link-color);\n }\n\n [slot='markdown-html'] a:hover {\n color: var(--link-hover-color);\n }\n\n [slot='markdown-html'] > *:last-child {\n margin-bottom: 0;\n }\n\n [slot='markdown-html'] hr {\n height: 4px;\n padding: 0;\n margin: 16px 0;\n background-color: var(--markdown-styles-hr-color, #e7e7e7);\n border: 0 none;\n }\n\n [slot='markdown-html'] ul,\n [slot='markdown-html'] ol {\n padding-left: 2em;\n }\n\n [slot='markdown-html'] ul.no-list,\n [slot='markdown-html'] ol.no-list {\n padding: 0;\n list-style-type: none;\n }\n\n [slot='markdown-html'] ul ul,\n [slot='markdown-html'] ul ol,\n [slot='markdown-html'] ol ol,\n [slot='markdown-html'] ol ul {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n [slot='markdown-html'] li > p {\n margin-top: 16px;\n }\n\n [slot='markdown-html'] dl {\n padding: 0;\n }\n\n [slot='markdown-html'] dl dt {\n padding: 0;\n margin-top: 16px;\n font-size: 1em;\n font-style: italic;\n font-weight: bold;\n }\n\n [slot='markdown-html'] dl dd {\n padding: 0 16px;\n margin-bottom: 16px;\n }\n\n [slot='markdown-html'] blockquote {\n padding: 0 15px;\n color: var(--markdown-styles-blockquote-color, #777);\n border-left: 4px solid var(--markdown-styles-blockquote-border-left-color, #ddd);\n }\n\n [slot='markdown-html'] blockquote > :first-child {\n margin-top: 0;\n }\n\n [slot='markdown-html'] blockquote > :last-child {\n margin-bottom: 0;\n }\n\n [slot='markdown-html'] table {\n font-family: var(--md-sys-typescale-body-large-font);\n font-weight: var(--md-sys-typescale-body-large-weight);\n font-size: var(--md-sys-typescale-body-large-size);\n letter-spacing: var(--md-sys-typescale-body-large-tracking);\n line-height: var(--md-sys-typescale-body-large-height);\n display: block;\n width: 100%;\n overflow: auto;\n word-break: normal;\n word-break: keep-all;\n border-collapse: collapse;\n }\n\n [slot='markdown-html'] table th {\n font-weight: bold;\n }\n\n [slot='markdown-html'] table th,\n [slot='markdown-html'] table td {\n padding: 6px 13px;\n border: 1px solid var(--markdown-styles-table-header-border-color, #ddd);\n }\n\n [slot='markdown-html'] table tr {\n background-color: var(--markdown-styles-table-row-background-color, #fff);\n border-top: 1px solid #ccc;\n }\n\n [slot='markdown-html'] table tr:nth-child(2n) {\n background-color: var(--markdown-styles-table-even-row-background-color, #f8f8f8);\n }\n\n [slot='markdown-html'] img {\n max-width: 100%;\n box-sizing: content-box;\n background-color: var(--markdown-styles-image-background-color, #fff);\n }\n\n [slot='markdown-html'] img[align='right'] {\n padding-left: 20px;\n }\n\n [slot='markdown-html'] img[align='left'] {\n padding-right: 20px;\n }\n\n [slot='markdown-html'] code,\n [slot='markdown-html'] tt {\n font-family: var(--markdown-styles-code-font-family, Roboto Mono, Consolas, Menlo, monospace);\n padding: 0;\n padding-top: 0.2em;\n padding-bottom: 0.2em;\n margin: 0;\n background-color: var(--markdown-styles-code-background-color, rgba(0, 0, 0, 0.04));\n border-radius: 2px;\n }\n\n [slot='markdown-html'] pre {\n word-wrap: normal;\n }\n\n /**\n * prism.js default theme for JavaScript, CSS and HTML\n * Based on dabblet (http://dabblet.com)\n * @author Lea Verou\n */\n [slot='markdown-html'] code,\n [slot='markdown-html'] pre {\n font-family: var(--markdown-styles-code-font-family, Roboto Mono, Consolas, Menlo, monospace);\n color: var(--code-color, black);\n background-color: var(--code-background-color);\n text-shadow: var(--markdown-styles-code-text-shadow, 0 1px white);\n text-align: left;\n word-break: break-all;\n white-space: pre-wrap;\n word-spacing: normal;\n line-height: 1.5;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n }\n\n [slot='markdown-html'] pre::-moz-selection,\n [slot='markdown-html'] pre ::-moz-selection,\n [slot='markdown-html'] code::-moz-selection,\n [slot='markdown-html'] code ::-moz-selection,\n [slot='markdown-html'] pre::selection,\n [slot='markdown-html'] pre ::selection,\n [slot='markdown-html'] code::selection,\n [slot='markdown-html'] code ::selection {\n text-shadow: none;\n background: var(--markdown-styles-code-selection-background-color, #b3d4fc);\n }\n\n @media print {\n [slot='markdown-html'] code,\n [slot='markdown-html'] pre {\n text-shadow: none;\n }\n }\n\n /* Code blocks */\n [slot='markdown-html'] pre {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n }\n\n [slot='markdown-html'] :not(pre) > code,\n [slot='markdown-html'] pre,\n pre[slot='markdown-html'] {\n background: var(--code-background-color, #f5f2f0);\n border: var(--inline-code-border, inherit);\n }\n\n /* Inline code */\n [slot='markdown-html'] :not(pre) > code {\n padding: var(--inline-code-padding, 0.1em);\n border-radius: 0.3em;\n white-space: normal;\n }\n\n [slot='markdown-html'] .token.comment,\n [slot='markdown-html'] .token.prolog,\n [slot='markdown-html'] .token.doctype,\n [slot='markdown-html'] .token.cdata {\n color: var(--markdown-styles-code-cdata-color, slategray);\n }\n\n [slot='markdown-html'] .token.punctuation {\n color: var(--code-punctuation-value-color, #999);\n }\n\n [slot='markdown-html'] .namespace {\n opacity: 0.7;\n }\n\n [slot='markdown-html'] .token.property,\n [slot='markdown-html'] .token.tag,\n [slot='markdown-html'] .token.boolean,\n [slot='markdown-html'] .token.number,\n [slot='markdown-html'] .token.constant,\n [slot='markdown-html'] .token.symbol,\n [slot='markdown-html'] .token.deleted {\n color: var(--code-type-number-value-color, #905);\n }\n\n [slot='markdown-html'] .token.selector,\n [slot='markdown-html'] .token.attr-name,\n [slot='markdown-html'] .token.string,\n [slot='markdown-html'] .token.char,\n [slot='markdown-html'] .token.builtin,\n [slot='markdown-html'] .token.inserted {\n color: var(--code-type-text-value-color, #690);\n }\n\n [slot='markdown-html'] .token.operator,\n [slot='markdown-html'] .token.entity,\n [slot='markdown-html'] .token.url,\n [slot='markdown-html'] .language-css .token.string,\n [slot='markdown-html'] .style .token.string {\n color: var(--code-punctuation-value-color, #a67f59);\n background: hsla(0, 0%, 100%, 0.5);\n }\n\n [slot='markdown-html'] .token.atrule,\n [slot='markdown-html'] .token.attr-value,\n [slot='markdown-html'] .token.keyword {\n color: var(--markdown-styles-code-keyword-color, #07a);\n }\n\n [slot='markdown-html'] .token.function {\n color: var(--markdown-styles-code-function-color, #dd4a68);\n }\n\n [slot='markdown-html'] .token.regex,\n [slot='markdown-html'] .token.important,\n [slot='markdown-html'] .token.variable {\n color: var(--markdown-styles-variable-color, #e90);\n }\n\n [slot='markdown-html'] .token.important,\n [slot='markdown-html'] .token.bold {\n font-weight: bold;\n }\n [slot='markdown-html'] .token.italic {\n font-style: italic;\n }\n\n [slot='markdown-html'] .token.entity {\n cursor: help;\n }\n`\n"]}
@@ -1,16 +1,3 @@
1
- /**
2
- @license
3
- Copyright 2020 The Advanced REST client authors <arc@mulesoft.com>
4
- Licensed under the Apache License, Version 2.0 (the "License"); you may not
5
- use this file except in compliance with the License. You may obtain a copy of
6
- the License at
7
- http://www.apache.org/licenses/LICENSE-2.0
8
- Unless required by applicable law or agreed to in writing, software
9
- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
10
- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
11
- License for the specific language governing permissions and limitations under
12
- the License.
13
- */
14
1
  import { TemplateResult, PropertyValues, nothing } from 'lit';
15
2
  import type { IBodyMetaModel, IRawBody, IUrlEncodedBodyMeta } from '@api-client/core/models/RequestUiMeta.js';
16
3
  import { type IMultipartBody, type ISafePayload } from '@api-client/core/lib/transformers/PayloadSerializer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"BodyEditor.d.ts","sourceRoot":"","sources":["../../../../src/elements/http/BodyEditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BodyEditor.d.ts","sourceRoot":"","sources":["../../../../src/elements/http/BodyEditor.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,4 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
- /**
3
- @license
4
- Copyright 2020 The Advanced REST client authors <arc@mulesoft.com>
5
- Licensed under the Apache License, Version 2.0 (the "License"); you may not
6
- use this file except in compliance with the License. You may obtain a copy of
7
- the License at
8
- http://www.apache.org/licenses/LICENSE-2.0
9
- Unless required by applicable law or agreed to in writing, software
10
- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
- License for the specific language governing permissions and limitations under
13
- the License.
14
- */
15
2
  import { html, nothing } from 'lit';
16
3
  import { property, query } from 'lit/decorators.js';
17
4
  import { PayloadSerializer, } from '@api-client/core/lib/transformers/PayloadSerializer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"BodyEditor.js","sourceRoot":"","sources":["../../../../src/elements/http/BodyEditor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;EAYE;AACF,OAAO,EAAE,IAAI,EAAkC,OAAO,EAAE,MAAM,KAAK,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAGL,iBAAiB,GAClB,MAAM,wDAAwD,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAI5D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,UAAU,MAAM,kBAAkB,CAAA;AAEzC,OAAO,2BAA2B,CAAA;AAClC,OAAO,kDAAkD,CAAA;AACzD,OAAO,iDAAiD,CAAA;AACxD,OAAO,4CAA4C,CAAA;AACnD,OAAO,8BAA8B,CAAA;AACrC,OAAO,4CAA4C,CAAA;AACnD,OAAO,0BAA0B,CAAA;AACjC,OAAO,+BAA+B,CAAA;AACtC,OAAO,gCAAgC,CAAA;AACvC,OAAO,kCAAkC,CAAA;AAUzC,MAAM,CAAC,MAAM,WAAW,GAA0B,MAAM,CAAC,MAAM,CAAC;IAC9D;QACE,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,gDAAgD;KACxD;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,yDAAyD;KACjE;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,qBAAqB;QAC5B,KAAK,EAAE,iDAAiD;KACzD;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,kCAAkC;KAC1C;CACF,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAA2B;IACjD,kBAAkB,EAAE,MAAM;IAC1B,iBAAiB,EAAE,KAAK;IACxB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,KAAK;IACjB,EAAE,EAAE,wBAAwB;CAC7B,CAAA;;sBAKuC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;iBAA7B,UAAW,SAAQ,WAAU;;;oCAK/C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qCAa1B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;qCAsB9B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oCAiBzB,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oCAM1C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sCAM1C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uCAe1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAQzC,KAAK,CAAC,6BAA6B,CAAC;2CAEpC,KAAK,CAAC,4BAA4B,CAAC;YAzFR,6KAAS,QAAQ,6BAAR,QAAQ,2FAAuB;YAcpE,iLAAI,KAAK,wEASR;YAaD,iLAAI,KAAK,wEAUR;YAM2C,6KAAS,QAAQ,6BAAR,QAAQ,2FAAQ;YAMzB,6KAAS,QAAQ,6BAAR,QAAQ,2FAAQ;YAMzB,mLAAS,UAAU,6BAAV,UAAU,+FAAQ;YAe5B,sLAAS,WAAW,6BAAX,WAAW,iGAAoB;YAQ7C,qMAAmB,gBAAgB,6BAAhB,gBAAgB,2GAAoC;YAExE,kMAAmB,eAAe,6BAAf,eAAe,yGAAmC;;;QAzF9E,8BALT,mDAAU,kDAKkC,KAAK,GAAA;QAJpE;;;WAGG;QACyB,IAAS,QAAQ,8CAAuB;QAAxC,IAAS,QAAQ,oDAAuB;QAE1D,aAAa,0DAAY,EAAE,EAAA;QAErC;;;;WAIG;QACH,IAAI,KAAK;YACP,OAAO,IAAI,CAAC,aAAa,CAAA;QAC3B,CAAC;QAGD,IAAI,KAAK,CAAC,KAAc;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAA;YAC9B,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,OAAM;YACR,CAAC;YACD,uDAAuD;YACvD,qBAAqB;YACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC;QAES,aAAa,CAA8B;QAErD;;;WAGG;QACH,IAAI,KAAK;YACP,OAAO,IAAI,CAAC,aAAa,CAAA;QAC3B,CAAC;QAGD,IAAI,KAAK,CAAC,KAAmC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAA;YAC9B,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,OAAM;YACR,CAAC;YACD,uDAAuD;YACvD,qBAAqB;YACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC;QAM2C,6EAAoB,KAAK;QAErE;;;WAGG;UALkE;QAJrE;;;WAGG;QACyC,IAAS,QAAQ,8CAAQ;QAAzB,IAAS,QAAQ,oDAAQ;QAMzB,oIAAoB,KAAK;QAErE;;;WAGG;WALkE;QAJrE;;;WAGG;QACyC,IAAS,QAAQ,8CAAQ;QAAzB,IAAS,QAAQ,oDAAQ;QAMzB,wIAAsB,KAAK;QAEvE;;WAEG;WAJoE;QAJvE;;;WAGG;QACyC,IAAS,UAAU,gDAAQ;QAA3B,IAAS,UAAU,sDAAQ;QAEvE;;WAEG;QACH,IAAI,OAAO;YACT,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YACtB,OAAO,KAAK,YAAY,IAAI,CAAA;QAC9B,CAAC;QAO0C,qJAAwC;QALnF;;;;WAIG;QACwC,IAAS,WAAW,iDAAoB;QAAxC,IAAS,WAAW,uDAAoB;QAEzE,kBAAkB,2DAAS;QAE3B,gBAAgB,CAAU;QAE1B,SAAS,CAAS;QAEU,6FAAmE,IAAI,EAAA;QAAvE,IAAmB,gBAAgB,sDAAoC;QAAvE,IAAmB,gBAAgB,4DAAoC;QAExE,0JAAiE,IAAI,GAAA;QAArE,IAAmB,eAAe,qDAAmC;QAArE,IAAmB,eAAe,2DAAmC;QAE1G;YACE,KAAK,EAAE,CAAA;;YACP,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC1D,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;SAClE;QAEkB,MAAM,CAAC,EAAwB;YAChD,IAAI,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAC3B,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAClB,CAAC;QAED;;;WAGG;QACO,YAAY;YACpB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAM;YACR,CAAC;YACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACzB,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAsC,CAAA;YACjF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED;;WAEG;QACO,gBAAgB;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAA+B,CAAA;YAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;gBACvB,OAAM;YACR,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;YACxB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;gBACvB,OAAM;YACR,CAAC;YACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QAC3B,CAAC;QAES,gBAAgB,CAAC,CAAc;YACvC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAA+B,CAAA;YACvD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAM;YACR,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAqB,CAAA;YACrD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC7B,CAAC;QAED;;WAEG;QACO,KAAK,CAAC,YAAY,CAAC,EAAiB;YAC5C,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;gBACzB,OAAM;YACR,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;YAClB,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACzB,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAe,CAAA;gBACrD,IAAI,KAAK,GAAG,EAAE,CAAA;gBACd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACzC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;gBACxB,CAAC;gBACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;gBAClB,IAAI,CAAC,YAAY,EAAE,CAAA;YACrB,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,MAAM,IAAI,CAAC,cAAc,CAAA;YACzB,uBAAuB;YACvB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACvB,IAAI,CAAC,YAAY,EAAE,CAAA;YACrB,CAAC;iBAAM,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAI,IAAI,CAAC,UAAyB,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAA;gBAC3F,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAA;gBACvG,CAAC;gBACD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;gBACzB,IAAI,CAAC,YAAY,EAAE,CAAA;YACrB,CAAC;iBAAM,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAI,IAAI,CAAC,UAAyB,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAA;gBAC1F,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAA;gBACtG,CAAC;gBACD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;gBACzB,IAAI,CAAC,YAAY,EAAE,CAAA;YACrB,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;QACzC,CAAC;QAED;;;WAGG;QACO,cAAc;YACtB,MAAM,KAAK,GAAI,IAAI,CAAC,UAAyB,CAAC,aAAa,CAAC,gBAAgB,CAAqB,CAAA;YACjG,KAAK,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;QAED;;;WAGG;QACO,KAAK,CAAC,gBAAgB,CAAC,CAAQ;YACvC,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAA;YAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;YACvB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAM;YACR,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAM;YACR,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;YACzB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YAC3D,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAA;YACvB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAChC,IAAI,CAAC,YAAY,EAAE,CAAA;YACnB,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC;QAED;;WAEG;QACO,eAAe;YACvB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;YACf,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAC7B,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC;QAED;;;;;WAKG;QACO,aAAa,CACrB,MAAc;YAEd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;YACvB,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;YACxD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,SAAS,CAAA;YACvB,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED;;;;WAIG;QACO,YAAY,CACpB,MAAqB,EACrB,KAAqF;YAErF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;YACzB,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAyB,CAAA;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;YAC5D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,KAAK,CAAA;YAC/B,CAAC;QACH,CAAC;QAED;;;;WAIG;QACO,qBAAqB,CAAC,CAAQ;YACtC,MAAM,MAAM,GAAG,CAAC,CAAC,MAA8B,CAAA;YAC/C,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC;QAES,qBAAqB,CAAC,MAA4B;YAC1D,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;YAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;YAC1B,MAAM,IAAI,GAAwB;gBAChC,KAAK;gBACL,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAA;YACD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YACtC,IAAI,CAAC,YAAY,EAAE,CAAA;YACnB,8BAA8B;QAChC,CAAC;QAED;;;WAGG;QACO,eAAe,CAAC,CAAQ;YAChC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAwB,CAAA;YACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;YACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;YAC1B,MAAM,KAAK,GAAe,CAAC,EAAE,KAAK,EAAE,KAAe,EAAE,CAAC,CAAA;YACtD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAC/B,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC;QAED;;;;WAIG;QACO,qBAAqB,CAAC,CAAQ;YACtC,MAAM,MAAM,GAAG,CAAC,CAAC,MAA6B,CAAA;YAC9C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;YAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;YAC1B,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;YACrC,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC;QAED;;;WAGG;QACO,kBAAkB;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAA;YAC7B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;gBAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;gBAC1B,OAAM;YACR,CAAC;YACD,IAAI,EAAE,GAAG,IAAI,CAAA;YACb,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACjC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;gBACrB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;YACjC,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;YACnB,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;gBAC7B,OAAM;YACR,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;YACzB,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC7B,IAAI,EAAE,KAAK,qBAAqB,EAAE,CAAC;oBACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;oBAC5B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;gBAC7B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;gBAC/B,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACpC,IAAI,EAAE,KAAK,mCAAmC,EAAE,CAAC;oBAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;oBAC5B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;gBAC7B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;gBAC/B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;YAC/B,CAAC;QACH,CAAC;QAED;;WAEG;QACO,WAAW;YACnB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;YACzB,IAAI,OAAO,GAAG,EAAE,CAAA;YAChB,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC7B,OAAO,GAAG,mCAAmC,CAAA;YAC/C,CAAC;iBAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACpC,OAAO,GAAG,qBAAqB,CAAA;YACjC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC5D,CAAC;QAED;;WAEG;QACO,oBAAoB,CAAC,CAAc;YAC3C,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAA+B,CAAA;YACvD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAM;YACR,CAAC;YACD,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,CAAA;YACpC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC5B,OAAM;YACR,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACzD,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,CAAY;YAC5B,CAAC,CAAC,cAAc,EAAE,CAAA;YAClB,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,CAAA;YAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAM;YACR,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAA;YAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAM;YACR,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;YACzB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;YACnB,CAAC;iBAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAI,IAAI,CAAC,UAAyB,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAA;gBAC1F,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAA;gBACtG,CAAC;gBACD,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC7B,MAAM,CAAC,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAA;gBAC/B,CAAC;gBACD,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;gBAChE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;gBAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;gBACzB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;gBACrB,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACzD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC;QAES,cAAc,CAAC,CAAY;YACnC,CAAC,CAAC,cAAc,EAAE,CAAA;QACpB,CAAC;QAES,kBAAkB;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAA;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,YAAY,EAAE,CAAA;YACvB,CAAC;QACH,CAAC;QAES,eAAe;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAA;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,gBAAgB,EAAE,CAAA;YAC3B,CAAC;QACH,CAAC;QAES,eAAe;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAA;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,gBAAgB,EAAE,CAAA;YAC3B,CAAC;QACH,CAAC;QAES,yBAAyB,CAAC,CAAQ;YAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAyB,CAAA;YACzC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAA;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;QAES,sBAAsB;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAA;YACnC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,YAAY,EAAE,CAAA;YACvB,CAAC;QACH,CAAC;QAES,sBAAsB;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAA;YACnC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,YAAY,EAAE,CAAA;YACvB,CAAC;QACH,CAAC;QAEQ,MAAM;YACb,OAAO,IAAI,CAAA;6BACc,IAAI,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;QAC1E,IAAI,CAAC,iBAAiB,EAAE;+BACD,IAAI,CAAC,YAAY,EAAE;KAC7C,CAAA;QACH,CAAC;QAED;;WAEG;QACO,kBAAkB;YAC1B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;YACzB,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;YAC/D,MAAM,KAAK,GAAG,CAAC,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,eAAe,CAAA;YACrE,OAAO,IAAI,CAAA;;;mBAGI,IAAI,CAAC,gBAAgB;;;;;;YAM5B,KAAK;;gDAE+B,IAAI,CAAC,qBAAqB,EAAE;;KAEvE,CAAA;QACH,CAAC;QAES,qBAAqB;YAC7B,OAAO,IAAI,CAAA;QACP,WAAW,CAAC,GAAG,CACf,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;qDAC+B,IAAI,CAAC,EAAE,YAAY,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK;SACzF,CACF;KACF,CAAA;QACH,CAAC;QAED;;WAEG;QACO,iBAAiB;YACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;YACzB,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAA;YACvC,CAAC;YACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,4BAA4B,EAAE,CAAA;YAC5C,CAAC;YACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAA;YACtC,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;QAES,uBAAuB;YAC/B,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAA;YAChF,OAAO,IAAI,CAAA;;;mBAGI,IAAI,CAAC,oBAAoB;;;;;;;;;;YAUhC,KAAK;;gDAE+B,IAAI,CAAC,mBAAmB,EAAE;;KAErE,CAAA;QACH,CAAC;QAES,mBAAmB;YAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CACxC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAA;UACT,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA,2BAA2B,CAAC,CAAC,CAAC,OAAO;mDACb,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC;OAC5E,CACF,CAAA;QACH,CAAC;QAES,4BAA4B;YACpC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;YAC3B,OAAO,IAAI,CAAA;;;;;kBAKG,IAAI,CAAC,kBAAkB;;;;;;;;;kBASvB,IAAI,CAAC,eAAe;qBACjB,UAAU;;;;;;;;kBAQb,IAAI,CAAC,eAAe;qBACjB,UAAU;;;;;iCAKE,UAAU,cAAc,IAAI,CAAC,yBAAyB;;;KAGlF,CAAA;QACH,CAAC;QAES,sBAAsB;YAC9B,OAAO,IAAI,CAAA;;;;;kBAKG,IAAI,CAAC,sBAAsB;;;;;;;;kBAQ3B,IAAI,CAAC,sBAAsB;;;;KAIxC,CAAA;QACH,CAAC;QAED;;WAEG;QACO,YAAY;YACpB,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,KAAK,KAAK;oBACR,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;gBAC/B,KAAK,WAAW;oBACd,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAA;gBACrC,KAAK,WAAW;oBACd,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAA;gBACrC,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBAChC;oBACE,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;YAChC,CAAC;QACH,CAAC;QAED;;WAEG;QACO,eAAe;YACvB,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAe,CAAA;YACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAA;YACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,KAAK,GAAG,EAAE,CAAA;YACZ,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;gBACpB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;YACpB,CAAC;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAe,CAAC,CAAA;QAC/C,CAAC;QAED;;;WAGG;QACO,gBAAgB,CAAC,KAAa;YACtC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;YAC5B,OAAO,IAAI,CAAA;gBACC,KAAK;sBACC,WAAW;iBAChB,IAAI,CAAC,eAAe;;8BAEP,CAAA;QAC5B,CAAC;QAED;;WAEG;QACO,qBAAqB;YAC7B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAsC,CAAA;YACjF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAC7D,OAAO,IAAI,CAAA;;uBAEQ,UAAU;kBACf,UAAU,CAAC,KAAK,CAAC;mBAChB,IAAI,CAAC,qBAAqB;;;KAGxC,CAAA;QACH,CAAC;QAED;;WAEG;QACO,qBAAqB;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAqB,CAAA;YACjE,OAAO,IAAI,CAAA;;kBAEG,UAAU,CAAC,KAAK,CAAC;mBAChB,IAAI,CAAC,qBAAqB;;;KAGxC,CAAA;QACH,CAAC;QAED;;WAEG;QACO,gBAAgB;YACxB,OAAO,IAAI,CAAA;;0CAE2B,IAAI,CAAC,cAAc;UACnD,IAAI,CAAC,gBAAgB,EAAE;;0DAEyB,IAAI,CAAC,gBAAgB;QACvE,IAAI,CAAC,cAAc,EAAE;KACxB,CAAA;QACH,CAAC;QAES,cAAc;YACtB,OAAO,IAAI,CAAA;;KAEV,CAAA;QACH,CAAC;QAED;;WAEG;QACO,cAAc;YACtB,OAAO,IAAI,CAAA,0DAA0D,CAAA;QACvE,CAAC;QAED;;WAEG;QACO,gBAAgB;YACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACzB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAA;YACX,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;YACtB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAa,CAAA;YACpC,OAAO,IAAI,CAAA;;kCAEmB,IAAI,IAAI,cAAc;kCACtB,IAAI;;;;oBAIlB,IAAI,CAAC,eAAe;uBACjB,IAAI,CAAC,QAAQ;;;;;KAK/B,CAAA;QACH,CAAC;QAES,iBAAiB;YACzB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAA;YACX,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAA;YAClC,OAAO,IAAI,CAAA;;;UAGL,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE;UACpE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,mCAAmC,CAAC,CAAC,CAAC,CAAC,EAAE;;KAEvF,CAAA;QACH,CAAC;QAED;;WAEG;QACO,wBAAwB,CAAC,SAAiB;YAClD,OAAO,IAAI,CAAA;;2EAE4D,SAAS;;;;;kBAKlE,IAAI,CAAC,WAAW;;;;KAI7B,CAAA;QACH,CAAC;;;AA/xBH;;GAEG;AACH,0BA6xBC","sourcesContent":["/**\n@license\nCopyright 2020 The Advanced REST client authors <arc@mulesoft.com>\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not\nuse this file except in compliance with the License. You may obtain a copy of\nthe License at\nhttp://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\nWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\nLicense for the specific language governing permissions and limitations under\nthe License.\n*/\nimport { html, TemplateResult, PropertyValues, nothing } from 'lit'\nimport { property, query } from 'lit/decorators.js'\nimport type { IBodyMetaModel, IRawBody, IUrlEncodedBodyMeta } from '@api-client/core/models/RequestUiMeta.js'\nimport {\n type IMultipartBody,\n type ISafePayload,\n PayloadSerializer,\n} from '@api-client/core/lib/transformers/PayloadSerializer.js'\nimport type { IProperty } from '@api-client/core/models/Property.js'\nimport { ifProperty } from '../../directives/if-property.js'\nimport BodyUrlEncodedEditor from './BodyUrlEncodedEditor.js'\nimport BodyTextEditor from './BodyTextEditor.js'\nimport BodyMultipartEditor from './BodyMultipartEditor.js'\nimport { Events } from '../../events/Events.js'\nimport ApiElement from '../ApiElement.js'\nimport CheckboxElement from '../../md/checkbox/internals/CheckboxElement.js'\nimport '../../md/icons/ui-icon.js'\nimport '../../define/http/http-body-urlencoded-editor.js'\nimport '../../define/http/http-body-multipart-editor.js'\nimport '../../define/http/http-body-text-editor.js'\nimport '../../md/button/ui-button.js'\nimport '../../md/dropdown-list/ui-dropdown-list.js'\nimport '../../md/list/ui-list.js'\nimport '../../md/list/ui-list-item.js'\nimport '../../md/divider/ui-divider.js'\nimport '../../md/checkbox/ui-checkbox.js'\n\nexport type AllowedEditor = 'raw' | 'urlEncode' | 'multipart' | 'file'\n\nexport interface EditorType {\n id: AllowedEditor\n label: string\n title: string\n}\n\nexport const editorTypes: readonly EditorType[] = Object.freeze([\n {\n id: 'raw',\n label: 'Text editor',\n title: 'Opens a source editor with syntax highlighting',\n },\n {\n id: 'urlEncode',\n label: 'Form URL encoded',\n title: 'Opens an editor specialized with URL encoded data types',\n },\n {\n id: 'multipart',\n label: 'Multipart form data',\n title: 'Opens an editor specialized with multipart data',\n },\n {\n id: 'file',\n label: 'A file',\n title: 'Allows to choose any binary data',\n },\n])\n\nconst monacoContentTypes: Record<string, string> = {\n 'application/json': 'JSON',\n 'application/xml': 'XML',\n 'text/html': 'HTML',\n 'text/css': 'CSS',\n '': 'Inherited from headers',\n}\n\n/**\n * @fires change When the value and the model change\n */\nexport default class BodyEditor extends ApiElement {\n /**\n * The currently rendered editor.\n * @attribute\n */\n @property({ type: String }) accessor selected: AllowedEditor = 'raw'\n\n protected valueInternal: unknown = ''\n\n /**\n * The HTTP body.\n *\n * Depending of current editor selection the type can vary.\n */\n get value(): unknown {\n return this.valueInternal\n }\n\n @property({ attribute: false })\n set value(value: unknown) {\n const old = this.valueInternal\n if (old === value) {\n return\n }\n // this is to be able to set a private filed value from\n // within the element\n this.valueInternal = value\n this.requestUpdate()\n }\n\n protected modelInternal: IBodyMetaModel[] | undefined\n\n /**\n * Previously generated by this editor metadata model.\n * Used internally to set the UI.\n */\n get model(): IBodyMetaModel[] | undefined {\n return this.modelInternal\n }\n\n @property({ type: Array })\n set model(value: IBodyMetaModel[] | undefined) {\n const old = this.modelInternal\n if (old === value) {\n return\n }\n // this is to be able to set a private filed value from\n // within the element\n this.modelInternal = value\n this.requestUpdate()\n this.modelChanged()\n }\n\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor readOnly = false\n\n /**\n * When set all controls are disabled in the form\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor disabled = false\n\n /**\n * When set it automatically encodes and decodes values.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor autoEncode = false\n\n /**\n * @returns True when the current value is a file (or blob).\n */\n get hasFile(): boolean {\n const { value } = this\n return value instanceof Blob\n }\n\n /**\n * The current request content type. It is passed to the `raw` editor\n * to detect current language.\n * @attribute\n */\n @property({ type: String, reflect: true }) accessor contentType: string | undefined\n\n protected invalidMimeMessage?: number\n\n protected invalidMimeValue?: boolean\n\n protected mimeValue?: string\n\n @query('http-body-urlencoded-editor') protected accessor urlEncodedEditor: BodyUrlEncodedEditor | null = null\n\n @query('http-body-multipart-editor') protected accessor multipartEditor: BodyMultipartEditor | null = null\n\n constructor() {\n super()\n this.addEventListener('drop', this.handlerDrop.bind(this))\n this.addEventListener('dragover', this.handleDragOver.bind(this))\n }\n\n protected override update(cp: PropertyValues<this>): void {\n if (cp.has('contentType') || cp.has('selected')) {\n this.analyzeContentType()\n }\n super.update(cp)\n }\n\n /**\n * This must be called only when the `model` property change from the\n * outside. It restores values depending on the selected editor.\n */\n protected modelChanged(): void {\n const { selected, model } = this\n if (!model) {\n return\n }\n if (selected === 'file') {\n this.restoreFileModel()\n }\n const info = this.readMetaModel('urlEncode') as IUrlEncodedBodyMeta[] | undefined\n if (Array.isArray(info) && info[0]) {\n if (typeof info[0].autoEncode === 'boolean') {\n this.autoEncode = info[0].autoEncode\n }\n }\n }\n\n /**\n * Restores file value from the model, if exists\n */\n protected restoreFileModel(): void {\n const fileModel = this.readMetaModel('file') as ISafePayload[] | undefined\n if (!Array.isArray(fileModel) || !fileModel.length) {\n this.valueInternal = ''\n return\n }\n const [item] = fileModel\n if (!item || !item.data) {\n this.valueInternal = ''\n return\n }\n const file = PayloadSerializer.deserializeFile(item)\n this.valueInternal = file\n }\n\n protected handleTypeChange(e: CustomEvent): void {\n const target = e.detail.item as HTMLElement | undefined\n if (!target) {\n return\n }\n const selected = target.dataset.type as AllowedEditor\n this.changeEditor(selected)\n }\n\n /**\n * A handler for the editor selection. It activates an editor, if necessary.\n */\n protected async changeEditor(id: AllowedEditor): Promise<void> {\n if (this.selected === id) {\n return\n }\n this.selected = id\n this.analyzeContentType()\n if (id === 'raw') {\n const model = this.readMetaModel('raw') as IRawBody[]\n let value = ''\n if (Array.isArray(model) && model.length) {\n value = model[0].value\n }\n this.value = value\n this.notifyChange()\n }\n this.requestUpdate()\n await this.updateComplete\n // this.notifyResize();\n if (id === 'file') {\n this.restoreFileModel()\n this.notifyChange()\n } else if (id === 'urlEncode') {\n const editor = (this.shadowRoot as ShadowRoot).querySelector('http-body-urlencoded-editor')\n if (!editor) {\n throw new Error(`Invalid state. The <http-body-urlencoded-editor> element was removed from the DOM.`)\n }\n this.value = editor.value\n this.notifyChange()\n } else if (id === 'multipart') {\n const editor = (this.shadowRoot as ShadowRoot).querySelector('http-body-multipart-editor')\n if (!editor) {\n throw new Error(`Invalid state. The <http-body-multipart-editor> element was removed from the DOM.`)\n }\n this.value = editor.value\n this.notifyChange()\n }\n this.dispatchEvent(new Event('select'))\n }\n\n /**\n * A handler for the file pick button click.\n * Activates the file input.\n */\n protected handlePickFile(): void {\n const input = (this.shadowRoot as ShadowRoot).querySelector('.binary-hidden') as HTMLInputElement\n input.click()\n }\n\n /**\n * A handler for the file file selection in the file input.\n * Sets the value to the file.\n */\n protected async handleFileChange(e: Event): Promise<void> {\n const input = e.target as HTMLInputElement\n const { files } = input\n if (!files) {\n return\n }\n const file = files[0]\n if (!file) {\n return\n }\n this.valueInternal = file\n const payload = await PayloadSerializer.stringifyFile(file)\n const model = [payload]\n this.setMetaModel('file', model)\n this.notifyChange()\n this.requestUpdate()\n }\n\n /**\n * Clears the current value\n */\n protected handleClearFile(): void {\n this.value = ''\n this.setMetaModel('file', [])\n this.notifyChange()\n }\n\n /**\n * Reads editor view model\n *\n * @param editor The editor id\n * @returns The view model\n */\n protected readMetaModel(\n editor: string\n ): (ISafePayload | IProperty | IMultipartBody | IRawBody | IUrlEncodedBodyMeta)[] | undefined {\n const meta = this.model\n if (!meta || !Array.isArray(meta)) {\n return undefined\n }\n const item = meta.find((model) => model.type === editor)\n if (!item) {\n return undefined\n }\n if (Array.isArray(item.viewModel)) {\n return item.viewModel\n }\n return undefined\n }\n\n /**\n * Sets editor view model on the local model\n * @param editor The editor id\n * @param model The view model\n */\n protected setMetaModel(\n editor: AllowedEditor,\n model: (ISafePayload | IProperty | IMultipartBody | IRawBody | IUrlEncodedBodyMeta)[]\n ): void {\n if (!Array.isArray(this.modelInternal)) {\n this.modelInternal = []\n }\n const meta = this.model as IBodyMetaModel[]\n const index = meta.findIndex((item) => item.type === editor)\n if (index === -1) {\n meta.push({ type: editor, viewModel: model })\n } else {\n meta[index].viewModel = model\n }\n }\n\n /**\n * A handler for the change event dispatched by the\n * `urlEncode` editor.\n * Updated the local value, model, and notifies the change.\n */\n protected handleUrlEncodeChange(e: Event): void {\n const editor = e.target as BodyUrlEncodedEditor\n this.updateUrlEncodedValue(editor)\n }\n\n protected updateUrlEncodedValue(editor: BodyUrlEncodedEditor): void {\n const { value, model } = editor\n this.valueInternal = value\n const info: IUrlEncodedBodyMeta = {\n model,\n autoEncode: this.autoEncode,\n }\n this.setMetaModel('urlEncode', [info])\n this.notifyChange()\n // do not request update here.\n }\n\n /**\n * A handler for the change event dispatched by the `raw` editor.\n * Updated the local value, model, and notifies the change.\n */\n protected handleRawChange(e: Event): void {\n const editor = e.target as BodyTextEditor\n const { value } = editor\n this.valueInternal = value\n const model: IRawBody[] = [{ value: value as string }]\n this.setMetaModel('raw', model)\n this.notifyChange()\n }\n\n /**\n * A handler for the change event dispatched by the\n * `multipart` editor.\n * Updated the local value, model, and notifies the change.\n */\n protected handleMultipartChange(e: Event): void {\n const editor = e.target as BodyMultipartEditor\n const { value, model } = editor\n this.valueInternal = value\n this.setMetaModel('multipart', model)\n this.notifyChange()\n }\n\n /**\n * Checks whether the current content type header value matches the selected editor.\n * If not it renders a warning message.\n */\n protected analyzeContentType(): void {\n const mime = this.contentType\n if (!mime || typeof mime !== 'string') {\n this.invalidMimeValue = false\n this.mimeValue = undefined\n return\n }\n let ct = mime\n const semicolon = ct.indexOf(';')\n if (semicolon !== -1) {\n ct = ct.substring(0, semicolon)\n }\n this.mimeValue = ct\n if (!ct) {\n this.invalidMimeValue = false\n return\n }\n const { selected } = this\n if (selected === 'multipart') {\n if (ct !== 'multipart/form-data') {\n this.invalidMimeValue = true\n this.invalidMimeMessage = 1\n } else {\n this.invalidMimeValue = false\n }\n } else if (selected === 'urlEncode') {\n if (ct !== 'application/x-www-form-urlencoded') {\n this.invalidMimeValue = true\n this.invalidMimeMessage = 2\n } else {\n this.invalidMimeValue = false\n }\n } else {\n this.invalidMimeValue = false\n }\n }\n\n /**\n * Automatically fixes content type problem.\n */\n protected autoFixMime(): void {\n const { selected } = this\n let updated = ''\n if (selected === 'urlEncode') {\n updated = 'application/x-www-form-urlencoded'\n } else if (selected === 'multipart') {\n updated = 'multipart/form-data'\n }\n Events.Http.Request.State.contentTypeChange(updated, this)\n }\n\n /**\n * A handler for the mime type selection.\n */\n protected handleMimeTypeSelect(e: CustomEvent): void {\n const target = e.detail.item as HTMLElement | undefined\n if (!target) {\n return\n }\n const { type = '' } = target.dataset\n if (this.mimeValue === type) {\n return\n }\n this.contentType = type\n Events.Http.Request.State.contentTypeChange(type, this)\n }\n\n async handlerDrop(e: DragEvent): Promise<void> {\n e.preventDefault()\n const { dataTransfer } = e\n if (!dataTransfer) {\n return\n }\n const { files } = dataTransfer\n if (!files.length) {\n return\n }\n const file = files[0]\n const { selected } = this\n if (selected === 'file') {\n this.value = file\n } else if (selected === 'multipart') {\n const editor = (this.shadowRoot as ShadowRoot).querySelector('http-body-multipart-editor')\n if (!editor) {\n throw new Error(`Invalid state. The <http-body-multipart-editor> element was removed from the DOM.`)\n }\n if (!e.ctrlKey && !e.metaKey) {\n editor.value = new FormData()\n }\n const ps = Array.from(files).map((item) => editor.addFile(item))\n await Promise.all(ps)\n } else {\n const payload = await PayloadSerializer.stringifyBlob(file)\n this.value = payload.data\n const { type } = file\n if (type) {\n Events.Http.Request.State.contentTypeChange(type, this)\n }\n }\n this.notifyChange()\n }\n\n protected handleDragOver(e: DragEvent): void {\n e.preventDefault()\n }\n\n protected handleAddUrlEncode(): void {\n const editor = this.urlEncodedEditor\n if (editor) {\n editor.addParameter()\n }\n }\n\n protected handleUrlEncode(): void {\n const editor = this.urlEncodedEditor\n if (editor) {\n editor.encodeParameters()\n }\n }\n\n protected handleUrlDecode(): void {\n const editor = this.urlEncodedEditor\n if (editor) {\n editor.decodeParameters()\n }\n }\n\n protected handleUrlEncodeAutoChange(e: Event): void {\n const input = e.target as CheckboxElement\n this.autoEncode = !!input.checked\n const editor = this.urlEncodedEditor\n if (editor) {\n this.updateUrlEncodedValue(editor)\n }\n }\n\n protected handleMultipartAddText(): void {\n const editor = this.multipartEditor\n if (editor) {\n editor.addEmptyText()\n }\n }\n\n protected handleMultipartAddFile(): void {\n const editor = this.multipartEditor\n if (editor) {\n editor.addEmptyFile()\n }\n }\n\n override render(): TemplateResult {\n return html`\n <div class=\"actions\">${this.renderBodySelector()} ${this.renderMainActions()}</div>\n ${this.renderInvalidMime()}\n <div class=\"container\">${this.renderEditor()}</div>\n `\n }\n\n /**\n * @returns The template for the dropdown menu for the editor type\n */\n protected renderBodySelector(): TemplateResult {\n const { selected } = this\n const selectedItem = editorTypes.find((i) => i.id === selected)\n const label = (selectedItem && selectedItem.label) || 'Select editor'\n return html`\n <ui-dropdown-list\n verticalAlign=\"top\"\n @select=\"${this.handleTypeChange}\"\n class=\"type-dropdown\"\n closeOnOutsideClick\n >\n <ui-button color=\"tonal\" title=\"Select editor type\" aria-label=\"Opens a menu to select editor type\">\n <ui-icon icon=\"arrowDropDown\" slot=\"icon\" role=\"presentation\"></ui-icon>\n ${label}\n </ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\"> ${this.renderBodyTypeOptions()} </ui-list>\n </ui-dropdown-list>\n `\n }\n\n protected renderBodyTypeOptions(): TemplateResult {\n return html`\n ${editorTypes.map(\n (info) => html`\n <ui-list-item role=\"menuitem\" data-type=\"${info.id}\" title=\"${info.title}\"> ${info.label} </ui-list-item>\n `\n )}\n `\n }\n\n /**\n * @returns The template for the main editor actions.\n */\n protected renderMainActions(): TemplateResult | typeof nothing {\n const { selected } = this\n if (selected === 'raw') {\n return this.renderTextEditorActions()\n }\n if (selected === 'urlEncode') {\n return this.renderUrlEncodeEditorActions()\n }\n if (selected === 'multipart') {\n return this.renderMultipartActions()\n }\n return nothing\n }\n\n protected renderTextEditorActions(): TemplateResult {\n const label = monacoContentTypes[this.mimeValue || ''] || monacoContentTypes['']\n return html`\n <ui-dropdown-list\n verticalAlign=\"top\"\n @select=\"${this.handleMimeTypeSelect}\"\n class=\"mime-dropdown\"\n closeOnOutsideClick\n >\n <ui-button\n color=\"tonal\"\n title=\"Select media type. This overrides the content-type header\"\n aria-label=\"Editor media type\"\n >\n <ui-icon icon=\"arrowDropDown\" slot=\"icon\"></ui-icon>\n ${label}\n </ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\"> ${this.renderMonacoOptions()} </ui-list>\n </ui-dropdown-list>\n `\n }\n\n protected renderMonacoOptions(): TemplateResult[] {\n return Object.keys(monacoContentTypes).map(\n (key) => html`\n ${key === '' ? html`<ui-divider></ui-divider>` : nothing}\n <ui-list-item role=\"menuitem\" data-type=\"${key}\"> ${monacoContentTypes[key]} </ui-list-item>\n `\n )\n }\n\n protected renderUrlEncodeEditorActions(): TemplateResult {\n const { autoEncode } = this\n return html`\n <ui-button\n color=\"tonal\"\n aria-label=\"Adds a new parameter\"\n title=\"Adds a new parameter\"\n @click=\"${this.handleAddUrlEncode}\"\n >\n <ui-icon slot=\"icon\" icon=\"add\" role=\"presentation\"></ui-icon>\n Add\n </ui-button>\n <ui-button\n color=\"outlined\"\n title=\"URL encodes parameters in the editor\"\n aria-label=\"URL encodes parameters in the editor\"\n @click=\"${this.handleUrlEncode}\"\n ?disabled=\"${autoEncode}\"\n >\n URL encode\n </ui-button>\n <ui-button\n color=\"outlined\"\n title=\"URL decodes parameters in the editor\"\n aria-label=\"URL decodes parameters in the editor\"\n @click=\"${this.handleUrlDecode}\"\n ?disabled=\"${autoEncode}\"\n >\n URL decode\n </ui-button>\n <label title=\"When set it automatically encodes the values before sending the request\" class=\"label-medium\">\n <ui-checkbox .checked=\"${autoEncode}\" @change=\"${this.handleUrlEncodeAutoChange}\"></ui-checkbox>\n Encode on send\n </label>\n `\n }\n\n protected renderMultipartActions(): TemplateResult {\n return html`\n <ui-button\n color=\"outlined\"\n title=\"Adds a new part with a file value\"\n aria-label=\"Adds a new part with a file value\"\n @click=\"${this.handleMultipartAddFile}\"\n >\n Add file part\n </ui-button>\n <ui-button\n color=\"outlined\"\n title=\"Adds a new part with a text value\"\n aria-label=\"Adds a new part with a text value\"\n @click=\"${this.handleMultipartAddText}\"\n >\n Add text part\n </ui-button>\n `\n }\n\n /**\n * @returns A template for currently rendered editor\n */\n protected renderEditor(): TemplateResult {\n switch (this.selected) {\n case 'raw':\n return this.renderRawEditor()\n case 'urlEncode':\n return this.renderUrlEncodeEditor()\n case 'multipart':\n return this.renderMultipartEditor()\n case 'file':\n return this.renderFileEditor()\n default:\n return this.renderNoEditor()\n }\n }\n\n /**\n * @returns The template for the raw editor\n */\n protected renderRawEditor(): TemplateResult {\n let { value } = this\n const model = this.readMetaModel('raw') as IRawBody[]\n const hasModel = Array.isArray(model) && model.length\n if (typeof value !== 'string') {\n value = ''\n }\n if (!value && hasModel) {\n const [item] = model\n value = item.value\n }\n return this.renderTextEditor(value as string)\n }\n\n /**\n * @param value The editor value\n * @returns The template for the Monaco editor\n */\n protected renderTextEditor(value: string): TemplateResult {\n const { contentType } = this\n return html` <http-body-text-editor\n .value=\"${value}\"\n .contentType=\"${contentType}\"\n @change=\"${this.handleRawChange}\"\n allowFormInfo\n ></http-body-text-editor>`\n }\n\n /**\n * @returns A template for the application/x-www-form-urlencoded editor\n */\n protected renderUrlEncodeEditor(): TemplateResult {\n const { autoEncode } = this\n const info = this.readMetaModel('urlEncode') as IUrlEncodedBodyMeta[] | undefined\n const model = Array.isArray(info) && info[0] && info[0].model\n return html`\n <http-body-urlencoded-editor\n ?autoEncode=\"${autoEncode}\"\n .model=\"${ifProperty(model)}\"\n @change=\"${this.handleUrlEncodeChange}\"\n allowFormInfo\n ></http-body-urlencoded-editor>\n `\n }\n\n /**\n * @returns A template for the multipart editor\n */\n protected renderMultipartEditor(): TemplateResult {\n const model = this.readMetaModel('multipart') as IMultipartBody[]\n return html`\n <http-body-multipart-editor\n .model=\"${ifProperty(model)}\"\n @change=\"${this.handleMultipartChange}\"\n allowFormInfo\n ></http-body-multipart-editor>\n `\n }\n\n /**\n * @returns A template for the file input editor\n */\n protected renderFileEditor(): TemplateResult {\n return html`\n <div class=\"file-picker\">\n <ui-button color=\"text\" @click=\"${this.handlePickFile}\">Choose a file</ui-button>\n ${this.renderFileDetail()}\n </div>\n <input type=\"file\" class=\"binary-hidden\" @change=\"${this.handleFileChange}\" />\n ${this.renderFormInfo()}\n `\n }\n\n protected renderFormInfo(): TemplateResult {\n return html`\n <p class=\"form-info body-small\">Note that the content-type header will be added when the request is sent.</p>\n `\n }\n\n /**\n * @returns A template for the missing selection\n */\n protected renderNoEditor(): TemplateResult {\n return html`<div class=\"empty-editor\">Invalid editor selected.</div>`\n }\n\n /**\n * @returns A template for the file details.\n */\n protected renderFileDetail(): TemplateResult | string {\n if (!this.hasFile) {\n this.restoreFileModel()\n }\n if (!this.hasFile) {\n return ''\n }\n const { value } = this\n const { size, name } = value as File\n return html`\n <div class=\"file-info label-medium\">\n <span class=\"file-name\">${name || 'unknown name'}</span>\n <span class=\"file-size\">${size} bytes</span>\n <ui-icon-button\n aria-label=\"Delete file\"\n title=\"Deletes the file\"\n @click=\"${this.handleClearFile}\"\n ?disabled=\"${this.readOnly}\"\n >\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n </div>\n `\n }\n\n protected renderInvalidMime(): TemplateResult | string {\n if (!this.invalidMimeValue) {\n return ''\n }\n const id = this.invalidMimeMessage\n return html`\n <div class=\"invalid-mime body-medium\">\n <ui-icon icon=\"warning\" class=\"warning-icon\"></ui-icon>\n ${id === 1 ? this.renderFixableInvalidMime('multipart/form-data') : ''}\n ${id === 2 ? this.renderFixableInvalidMime('application/x-www-form-urlencoded') : ''}\n </div>\n `\n }\n\n /**\n * @returns A template for fixable mime type mismatch message.\n */\n protected renderFixableInvalidMime(suggested: string): TemplateResult {\n return html`\n <p class=\"message body-medium\">\n The <code>content-type</code> header has different value than <b>${suggested}</b>.\n </p>\n <ui-button\n class=\"fix\"\n title=\"Updates the content type header for the request\"\n @click=\"${this.autoFixMime}\"\n color=\"tonal\"\n >Fix</ui-button\n >\n `\n }\n}\n"]}
1
+ {"version":3,"file":"BodyEditor.js","sourceRoot":"","sources":["../../../../src/elements/http/BodyEditor.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, PropertyValues, nothing } from 'lit'\nimport { property, query } from 'lit/decorators.js'\nimport type { IBodyMetaModel, IRawBody, IUrlEncodedBodyMeta } from '@api-client/core/models/RequestUiMeta.js'\nimport {\n type IMultipartBody,\n type ISafePayload,\n PayloadSerializer,\n} from '@api-client/core/lib/transformers/PayloadSerializer.js'\nimport type { IProperty } from '@api-client/core/models/Property.js'\nimport { ifProperty } from '../../directives/if-property.js'\nimport BodyUrlEncodedEditor from './BodyUrlEncodedEditor.js'\nimport BodyTextEditor from './BodyTextEditor.js'\nimport BodyMultipartEditor from './BodyMultipartEditor.js'\nimport { Events } from '../../events/Events.js'\nimport ApiElement from '../ApiElement.js'\nimport CheckboxElement from '../../md/checkbox/internals/CheckboxElement.js'\nimport '../../md/icons/ui-icon.js'\nimport '../../define/http/http-body-urlencoded-editor.js'\nimport '../../define/http/http-body-multipart-editor.js'\nimport '../../define/http/http-body-text-editor.js'\nimport '../../md/button/ui-button.js'\nimport '../../md/dropdown-list/ui-dropdown-list.js'\nimport '../../md/list/ui-list.js'\nimport '../../md/list/ui-list-item.js'\nimport '../../md/divider/ui-divider.js'\nimport '../../md/checkbox/ui-checkbox.js'\n\nexport type AllowedEditor = 'raw' | 'urlEncode' | 'multipart' | 'file'\n\nexport interface EditorType {\n id: AllowedEditor\n label: string\n title: string\n}\n\nexport const editorTypes: readonly EditorType[] = Object.freeze([\n {\n id: 'raw',\n label: 'Text editor',\n title: 'Opens a source editor with syntax highlighting',\n },\n {\n id: 'urlEncode',\n label: 'Form URL encoded',\n title: 'Opens an editor specialized with URL encoded data types',\n },\n {\n id: 'multipart',\n label: 'Multipart form data',\n title: 'Opens an editor specialized with multipart data',\n },\n {\n id: 'file',\n label: 'A file',\n title: 'Allows to choose any binary data',\n },\n])\n\nconst monacoContentTypes: Record<string, string> = {\n 'application/json': 'JSON',\n 'application/xml': 'XML',\n 'text/html': 'HTML',\n 'text/css': 'CSS',\n '': 'Inherited from headers',\n}\n\n/**\n * @fires change When the value and the model change\n */\nexport default class BodyEditor extends ApiElement {\n /**\n * The currently rendered editor.\n * @attribute\n */\n @property({ type: String }) accessor selected: AllowedEditor = 'raw'\n\n protected valueInternal: unknown = ''\n\n /**\n * The HTTP body.\n *\n * Depending of current editor selection the type can vary.\n */\n get value(): unknown {\n return this.valueInternal\n }\n\n @property({ attribute: false })\n set value(value: unknown) {\n const old = this.valueInternal\n if (old === value) {\n return\n }\n // this is to be able to set a private filed value from\n // within the element\n this.valueInternal = value\n this.requestUpdate()\n }\n\n protected modelInternal: IBodyMetaModel[] | undefined\n\n /**\n * Previously generated by this editor metadata model.\n * Used internally to set the UI.\n */\n get model(): IBodyMetaModel[] | undefined {\n return this.modelInternal\n }\n\n @property({ type: Array })\n set model(value: IBodyMetaModel[] | undefined) {\n const old = this.modelInternal\n if (old === value) {\n return\n }\n // this is to be able to set a private filed value from\n // within the element\n this.modelInternal = value\n this.requestUpdate()\n this.modelChanged()\n }\n\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor readOnly = false\n\n /**\n * When set all controls are disabled in the form\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor disabled = false\n\n /**\n * When set it automatically encodes and decodes values.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor autoEncode = false\n\n /**\n * @returns True when the current value is a file (or blob).\n */\n get hasFile(): boolean {\n const { value } = this\n return value instanceof Blob\n }\n\n /**\n * The current request content type. It is passed to the `raw` editor\n * to detect current language.\n * @attribute\n */\n @property({ type: String, reflect: true }) accessor contentType: string | undefined\n\n protected invalidMimeMessage?: number\n\n protected invalidMimeValue?: boolean\n\n protected mimeValue?: string\n\n @query('http-body-urlencoded-editor') protected accessor urlEncodedEditor: BodyUrlEncodedEditor | null = null\n\n @query('http-body-multipart-editor') protected accessor multipartEditor: BodyMultipartEditor | null = null\n\n constructor() {\n super()\n this.addEventListener('drop', this.handlerDrop.bind(this))\n this.addEventListener('dragover', this.handleDragOver.bind(this))\n }\n\n protected override update(cp: PropertyValues<this>): void {\n if (cp.has('contentType') || cp.has('selected')) {\n this.analyzeContentType()\n }\n super.update(cp)\n }\n\n /**\n * This must be called only when the `model` property change from the\n * outside. It restores values depending on the selected editor.\n */\n protected modelChanged(): void {\n const { selected, model } = this\n if (!model) {\n return\n }\n if (selected === 'file') {\n this.restoreFileModel()\n }\n const info = this.readMetaModel('urlEncode') as IUrlEncodedBodyMeta[] | undefined\n if (Array.isArray(info) && info[0]) {\n if (typeof info[0].autoEncode === 'boolean') {\n this.autoEncode = info[0].autoEncode\n }\n }\n }\n\n /**\n * Restores file value from the model, if exists\n */\n protected restoreFileModel(): void {\n const fileModel = this.readMetaModel('file') as ISafePayload[] | undefined\n if (!Array.isArray(fileModel) || !fileModel.length) {\n this.valueInternal = ''\n return\n }\n const [item] = fileModel\n if (!item || !item.data) {\n this.valueInternal = ''\n return\n }\n const file = PayloadSerializer.deserializeFile(item)\n this.valueInternal = file\n }\n\n protected handleTypeChange(e: CustomEvent): void {\n const target = e.detail.item as HTMLElement | undefined\n if (!target) {\n return\n }\n const selected = target.dataset.type as AllowedEditor\n this.changeEditor(selected)\n }\n\n /**\n * A handler for the editor selection. It activates an editor, if necessary.\n */\n protected async changeEditor(id: AllowedEditor): Promise<void> {\n if (this.selected === id) {\n return\n }\n this.selected = id\n this.analyzeContentType()\n if (id === 'raw') {\n const model = this.readMetaModel('raw') as IRawBody[]\n let value = ''\n if (Array.isArray(model) && model.length) {\n value = model[0].value\n }\n this.value = value\n this.notifyChange()\n }\n this.requestUpdate()\n await this.updateComplete\n // this.notifyResize();\n if (id === 'file') {\n this.restoreFileModel()\n this.notifyChange()\n } else if (id === 'urlEncode') {\n const editor = (this.shadowRoot as ShadowRoot).querySelector('http-body-urlencoded-editor')\n if (!editor) {\n throw new Error(`Invalid state. The <http-body-urlencoded-editor> element was removed from the DOM.`)\n }\n this.value = editor.value\n this.notifyChange()\n } else if (id === 'multipart') {\n const editor = (this.shadowRoot as ShadowRoot).querySelector('http-body-multipart-editor')\n if (!editor) {\n throw new Error(`Invalid state. The <http-body-multipart-editor> element was removed from the DOM.`)\n }\n this.value = editor.value\n this.notifyChange()\n }\n this.dispatchEvent(new Event('select'))\n }\n\n /**\n * A handler for the file pick button click.\n * Activates the file input.\n */\n protected handlePickFile(): void {\n const input = (this.shadowRoot as ShadowRoot).querySelector('.binary-hidden') as HTMLInputElement\n input.click()\n }\n\n /**\n * A handler for the file file selection in the file input.\n * Sets the value to the file.\n */\n protected async handleFileChange(e: Event): Promise<void> {\n const input = e.target as HTMLInputElement\n const { files } = input\n if (!files) {\n return\n }\n const file = files[0]\n if (!file) {\n return\n }\n this.valueInternal = file\n const payload = await PayloadSerializer.stringifyFile(file)\n const model = [payload]\n this.setMetaModel('file', model)\n this.notifyChange()\n this.requestUpdate()\n }\n\n /**\n * Clears the current value\n */\n protected handleClearFile(): void {\n this.value = ''\n this.setMetaModel('file', [])\n this.notifyChange()\n }\n\n /**\n * Reads editor view model\n *\n * @param editor The editor id\n * @returns The view model\n */\n protected readMetaModel(\n editor: string\n ): (ISafePayload | IProperty | IMultipartBody | IRawBody | IUrlEncodedBodyMeta)[] | undefined {\n const meta = this.model\n if (!meta || !Array.isArray(meta)) {\n return undefined\n }\n const item = meta.find((model) => model.type === editor)\n if (!item) {\n return undefined\n }\n if (Array.isArray(item.viewModel)) {\n return item.viewModel\n }\n return undefined\n }\n\n /**\n * Sets editor view model on the local model\n * @param editor The editor id\n * @param model The view model\n */\n protected setMetaModel(\n editor: AllowedEditor,\n model: (ISafePayload | IProperty | IMultipartBody | IRawBody | IUrlEncodedBodyMeta)[]\n ): void {\n if (!Array.isArray(this.modelInternal)) {\n this.modelInternal = []\n }\n const meta = this.model as IBodyMetaModel[]\n const index = meta.findIndex((item) => item.type === editor)\n if (index === -1) {\n meta.push({ type: editor, viewModel: model })\n } else {\n meta[index].viewModel = model\n }\n }\n\n /**\n * A handler for the change event dispatched by the\n * `urlEncode` editor.\n * Updated the local value, model, and notifies the change.\n */\n protected handleUrlEncodeChange(e: Event): void {\n const editor = e.target as BodyUrlEncodedEditor\n this.updateUrlEncodedValue(editor)\n }\n\n protected updateUrlEncodedValue(editor: BodyUrlEncodedEditor): void {\n const { value, model } = editor\n this.valueInternal = value\n const info: IUrlEncodedBodyMeta = {\n model,\n autoEncode: this.autoEncode,\n }\n this.setMetaModel('urlEncode', [info])\n this.notifyChange()\n // do not request update here.\n }\n\n /**\n * A handler for the change event dispatched by the `raw` editor.\n * Updated the local value, model, and notifies the change.\n */\n protected handleRawChange(e: Event): void {\n const editor = e.target as BodyTextEditor\n const { value } = editor\n this.valueInternal = value\n const model: IRawBody[] = [{ value: value as string }]\n this.setMetaModel('raw', model)\n this.notifyChange()\n }\n\n /**\n * A handler for the change event dispatched by the\n * `multipart` editor.\n * Updated the local value, model, and notifies the change.\n */\n protected handleMultipartChange(e: Event): void {\n const editor = e.target as BodyMultipartEditor\n const { value, model } = editor\n this.valueInternal = value\n this.setMetaModel('multipart', model)\n this.notifyChange()\n }\n\n /**\n * Checks whether the current content type header value matches the selected editor.\n * If not it renders a warning message.\n */\n protected analyzeContentType(): void {\n const mime = this.contentType\n if (!mime || typeof mime !== 'string') {\n this.invalidMimeValue = false\n this.mimeValue = undefined\n return\n }\n let ct = mime\n const semicolon = ct.indexOf(';')\n if (semicolon !== -1) {\n ct = ct.substring(0, semicolon)\n }\n this.mimeValue = ct\n if (!ct) {\n this.invalidMimeValue = false\n return\n }\n const { selected } = this\n if (selected === 'multipart') {\n if (ct !== 'multipart/form-data') {\n this.invalidMimeValue = true\n this.invalidMimeMessage = 1\n } else {\n this.invalidMimeValue = false\n }\n } else if (selected === 'urlEncode') {\n if (ct !== 'application/x-www-form-urlencoded') {\n this.invalidMimeValue = true\n this.invalidMimeMessage = 2\n } else {\n this.invalidMimeValue = false\n }\n } else {\n this.invalidMimeValue = false\n }\n }\n\n /**\n * Automatically fixes content type problem.\n */\n protected autoFixMime(): void {\n const { selected } = this\n let updated = ''\n if (selected === 'urlEncode') {\n updated = 'application/x-www-form-urlencoded'\n } else if (selected === 'multipart') {\n updated = 'multipart/form-data'\n }\n Events.Http.Request.State.contentTypeChange(updated, this)\n }\n\n /**\n * A handler for the mime type selection.\n */\n protected handleMimeTypeSelect(e: CustomEvent): void {\n const target = e.detail.item as HTMLElement | undefined\n if (!target) {\n return\n }\n const { type = '' } = target.dataset\n if (this.mimeValue === type) {\n return\n }\n this.contentType = type\n Events.Http.Request.State.contentTypeChange(type, this)\n }\n\n async handlerDrop(e: DragEvent): Promise<void> {\n e.preventDefault()\n const { dataTransfer } = e\n if (!dataTransfer) {\n return\n }\n const { files } = dataTransfer\n if (!files.length) {\n return\n }\n const file = files[0]\n const { selected } = this\n if (selected === 'file') {\n this.value = file\n } else if (selected === 'multipart') {\n const editor = (this.shadowRoot as ShadowRoot).querySelector('http-body-multipart-editor')\n if (!editor) {\n throw new Error(`Invalid state. The <http-body-multipart-editor> element was removed from the DOM.`)\n }\n if (!e.ctrlKey && !e.metaKey) {\n editor.value = new FormData()\n }\n const ps = Array.from(files).map((item) => editor.addFile(item))\n await Promise.all(ps)\n } else {\n const payload = await PayloadSerializer.stringifyBlob(file)\n this.value = payload.data\n const { type } = file\n if (type) {\n Events.Http.Request.State.contentTypeChange(type, this)\n }\n }\n this.notifyChange()\n }\n\n protected handleDragOver(e: DragEvent): void {\n e.preventDefault()\n }\n\n protected handleAddUrlEncode(): void {\n const editor = this.urlEncodedEditor\n if (editor) {\n editor.addParameter()\n }\n }\n\n protected handleUrlEncode(): void {\n const editor = this.urlEncodedEditor\n if (editor) {\n editor.encodeParameters()\n }\n }\n\n protected handleUrlDecode(): void {\n const editor = this.urlEncodedEditor\n if (editor) {\n editor.decodeParameters()\n }\n }\n\n protected handleUrlEncodeAutoChange(e: Event): void {\n const input = e.target as CheckboxElement\n this.autoEncode = !!input.checked\n const editor = this.urlEncodedEditor\n if (editor) {\n this.updateUrlEncodedValue(editor)\n }\n }\n\n protected handleMultipartAddText(): void {\n const editor = this.multipartEditor\n if (editor) {\n editor.addEmptyText()\n }\n }\n\n protected handleMultipartAddFile(): void {\n const editor = this.multipartEditor\n if (editor) {\n editor.addEmptyFile()\n }\n }\n\n override render(): TemplateResult {\n return html`\n <div class=\"actions\">${this.renderBodySelector()} ${this.renderMainActions()}</div>\n ${this.renderInvalidMime()}\n <div class=\"container\">${this.renderEditor()}</div>\n `\n }\n\n /**\n * @returns The template for the dropdown menu for the editor type\n */\n protected renderBodySelector(): TemplateResult {\n const { selected } = this\n const selectedItem = editorTypes.find((i) => i.id === selected)\n const label = (selectedItem && selectedItem.label) || 'Select editor'\n return html`\n <ui-dropdown-list\n verticalAlign=\"top\"\n @select=\"${this.handleTypeChange}\"\n class=\"type-dropdown\"\n closeOnOutsideClick\n >\n <ui-button color=\"tonal\" title=\"Select editor type\" aria-label=\"Opens a menu to select editor type\">\n <ui-icon icon=\"arrowDropDown\" slot=\"icon\" role=\"presentation\"></ui-icon>\n ${label}\n </ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\"> ${this.renderBodyTypeOptions()} </ui-list>\n </ui-dropdown-list>\n `\n }\n\n protected renderBodyTypeOptions(): TemplateResult {\n return html`\n ${editorTypes.map(\n (info) => html`\n <ui-list-item role=\"menuitem\" data-type=\"${info.id}\" title=\"${info.title}\"> ${info.label} </ui-list-item>\n `\n )}\n `\n }\n\n /**\n * @returns The template for the main editor actions.\n */\n protected renderMainActions(): TemplateResult | typeof nothing {\n const { selected } = this\n if (selected === 'raw') {\n return this.renderTextEditorActions()\n }\n if (selected === 'urlEncode') {\n return this.renderUrlEncodeEditorActions()\n }\n if (selected === 'multipart') {\n return this.renderMultipartActions()\n }\n return nothing\n }\n\n protected renderTextEditorActions(): TemplateResult {\n const label = monacoContentTypes[this.mimeValue || ''] || monacoContentTypes['']\n return html`\n <ui-dropdown-list\n verticalAlign=\"top\"\n @select=\"${this.handleMimeTypeSelect}\"\n class=\"mime-dropdown\"\n closeOnOutsideClick\n >\n <ui-button\n color=\"tonal\"\n title=\"Select media type. This overrides the content-type header\"\n aria-label=\"Editor media type\"\n >\n <ui-icon icon=\"arrowDropDown\" slot=\"icon\"></ui-icon>\n ${label}\n </ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\"> ${this.renderMonacoOptions()} </ui-list>\n </ui-dropdown-list>\n `\n }\n\n protected renderMonacoOptions(): TemplateResult[] {\n return Object.keys(monacoContentTypes).map(\n (key) => html`\n ${key === '' ? html`<ui-divider></ui-divider>` : nothing}\n <ui-list-item role=\"menuitem\" data-type=\"${key}\"> ${monacoContentTypes[key]} </ui-list-item>\n `\n )\n }\n\n protected renderUrlEncodeEditorActions(): TemplateResult {\n const { autoEncode } = this\n return html`\n <ui-button\n color=\"tonal\"\n aria-label=\"Adds a new parameter\"\n title=\"Adds a new parameter\"\n @click=\"${this.handleAddUrlEncode}\"\n >\n <ui-icon slot=\"icon\" icon=\"add\" role=\"presentation\"></ui-icon>\n Add\n </ui-button>\n <ui-button\n color=\"outlined\"\n title=\"URL encodes parameters in the editor\"\n aria-label=\"URL encodes parameters in the editor\"\n @click=\"${this.handleUrlEncode}\"\n ?disabled=\"${autoEncode}\"\n >\n URL encode\n </ui-button>\n <ui-button\n color=\"outlined\"\n title=\"URL decodes parameters in the editor\"\n aria-label=\"URL decodes parameters in the editor\"\n @click=\"${this.handleUrlDecode}\"\n ?disabled=\"${autoEncode}\"\n >\n URL decode\n </ui-button>\n <label title=\"When set it automatically encodes the values before sending the request\" class=\"label-medium\">\n <ui-checkbox .checked=\"${autoEncode}\" @change=\"${this.handleUrlEncodeAutoChange}\"></ui-checkbox>\n Encode on send\n </label>\n `\n }\n\n protected renderMultipartActions(): TemplateResult {\n return html`\n <ui-button\n color=\"outlined\"\n title=\"Adds a new part with a file value\"\n aria-label=\"Adds a new part with a file value\"\n @click=\"${this.handleMultipartAddFile}\"\n >\n Add file part\n </ui-button>\n <ui-button\n color=\"outlined\"\n title=\"Adds a new part with a text value\"\n aria-label=\"Adds a new part with a text value\"\n @click=\"${this.handleMultipartAddText}\"\n >\n Add text part\n </ui-button>\n `\n }\n\n /**\n * @returns A template for currently rendered editor\n */\n protected renderEditor(): TemplateResult {\n switch (this.selected) {\n case 'raw':\n return this.renderRawEditor()\n case 'urlEncode':\n return this.renderUrlEncodeEditor()\n case 'multipart':\n return this.renderMultipartEditor()\n case 'file':\n return this.renderFileEditor()\n default:\n return this.renderNoEditor()\n }\n }\n\n /**\n * @returns The template for the raw editor\n */\n protected renderRawEditor(): TemplateResult {\n let { value } = this\n const model = this.readMetaModel('raw') as IRawBody[]\n const hasModel = Array.isArray(model) && model.length\n if (typeof value !== 'string') {\n value = ''\n }\n if (!value && hasModel) {\n const [item] = model\n value = item.value\n }\n return this.renderTextEditor(value as string)\n }\n\n /**\n * @param value The editor value\n * @returns The template for the Monaco editor\n */\n protected renderTextEditor(value: string): TemplateResult {\n const { contentType } = this\n return html` <http-body-text-editor\n .value=\"${value}\"\n .contentType=\"${contentType}\"\n @change=\"${this.handleRawChange}\"\n allowFormInfo\n ></http-body-text-editor>`\n }\n\n /**\n * @returns A template for the application/x-www-form-urlencoded editor\n */\n protected renderUrlEncodeEditor(): TemplateResult {\n const { autoEncode } = this\n const info = this.readMetaModel('urlEncode') as IUrlEncodedBodyMeta[] | undefined\n const model = Array.isArray(info) && info[0] && info[0].model\n return html`\n <http-body-urlencoded-editor\n ?autoEncode=\"${autoEncode}\"\n .model=\"${ifProperty(model)}\"\n @change=\"${this.handleUrlEncodeChange}\"\n allowFormInfo\n ></http-body-urlencoded-editor>\n `\n }\n\n /**\n * @returns A template for the multipart editor\n */\n protected renderMultipartEditor(): TemplateResult {\n const model = this.readMetaModel('multipart') as IMultipartBody[]\n return html`\n <http-body-multipart-editor\n .model=\"${ifProperty(model)}\"\n @change=\"${this.handleMultipartChange}\"\n allowFormInfo\n ></http-body-multipart-editor>\n `\n }\n\n /**\n * @returns A template for the file input editor\n */\n protected renderFileEditor(): TemplateResult {\n return html`\n <div class=\"file-picker\">\n <ui-button color=\"text\" @click=\"${this.handlePickFile}\">Choose a file</ui-button>\n ${this.renderFileDetail()}\n </div>\n <input type=\"file\" class=\"binary-hidden\" @change=\"${this.handleFileChange}\" />\n ${this.renderFormInfo()}\n `\n }\n\n protected renderFormInfo(): TemplateResult {\n return html`\n <p class=\"form-info body-small\">Note that the content-type header will be added when the request is sent.</p>\n `\n }\n\n /**\n * @returns A template for the missing selection\n */\n protected renderNoEditor(): TemplateResult {\n return html`<div class=\"empty-editor\">Invalid editor selected.</div>`\n }\n\n /**\n * @returns A template for the file details.\n */\n protected renderFileDetail(): TemplateResult | string {\n if (!this.hasFile) {\n this.restoreFileModel()\n }\n if (!this.hasFile) {\n return ''\n }\n const { value } = this\n const { size, name } = value as File\n return html`\n <div class=\"file-info label-medium\">\n <span class=\"file-name\">${name || 'unknown name'}</span>\n <span class=\"file-size\">${size} bytes</span>\n <ui-icon-button\n aria-label=\"Delete file\"\n title=\"Deletes the file\"\n @click=\"${this.handleClearFile}\"\n ?disabled=\"${this.readOnly}\"\n >\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n </div>\n `\n }\n\n protected renderInvalidMime(): TemplateResult | string {\n if (!this.invalidMimeValue) {\n return ''\n }\n const id = this.invalidMimeMessage\n return html`\n <div class=\"invalid-mime body-medium\">\n <ui-icon icon=\"warning\" class=\"warning-icon\"></ui-icon>\n ${id === 1 ? this.renderFixableInvalidMime('multipart/form-data') : ''}\n ${id === 2 ? this.renderFixableInvalidMime('application/x-www-form-urlencoded') : ''}\n </div>\n `\n }\n\n /**\n * @returns A template for fixable mime type mismatch message.\n */\n protected renderFixableInvalidMime(suggested: string): TemplateResult {\n return html`\n <p class=\"message body-medium\">\n The <code>content-type</code> header has different value than <b>${suggested}</b>.\n </p>\n <ui-button\n class=\"fix\"\n title=\"Updates the content type header for the request\"\n @click=\"${this.autoFixMime}\"\n color=\"tonal\"\n >Fix</ui-button\n >\n `\n }\n}\n"]}
@@ -1,16 +1,3 @@
1
- /**
2
- @license
3
- Copyright 2018 The Advanced REST client authors <arc@mulesoft.com>
4
- Licensed under the Apache License, Version 2.0 (the "License"); you may not
5
- use this file except in compliance with the License. You may obtain a copy of
6
- the License at
7
- http://www.apache.org/licenses/LICENSE-2.0
8
- Unless required by applicable law or agreed to in writing, software
9
- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
10
- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
11
- License for the specific language governing permissions and limitations under
12
- the License.
13
- */
14
1
  import { nothing, TemplateResult } from 'lit';
15
2
  import { editor, Uri } from 'monaco-editor';
16
3
  import { MonacoSchema } from '../../monaco/types.js';