@sapphire-ion/framework 1.0.37 → 1.0.39

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.
@@ -11,8 +11,7 @@ export var SelectInterfaces;
11
11
  SelectInterfaces[SelectInterfaces["Dynamic"] = 0] = "Dynamic";
12
12
  SelectInterfaces[SelectInterfaces["Popover"] = 0] = "Popover";
13
13
  SelectInterfaces[SelectInterfaces["Modal"] = 1] = "Modal";
14
- SelectInterfaces[SelectInterfaces["Alert"] = 2] = "Alert";
15
- SelectInterfaces[SelectInterfaces["ActionSheet"] = 3] = "ActionSheet";
14
+ SelectInterfaces[SelectInterfaces["ActionSheet"] = 2] = "ActionSheet";
16
15
  })(SelectInterfaces || (SelectInterfaces = {}));
17
16
  export class InputSelectConfiguration {
18
17
  static Create(options) {
@@ -218,4 +217,4 @@ export function BindLabelFactory(configuration) {
218
217
  }
219
218
  return bindLabel;
220
219
  }
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuc2VsZWN0LmNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXNlbGVjdC9pbnB1dC5zZWxlY3QuY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTzFELE1BQU0sQ0FBTixJQUFZLGdCQVNYO0FBVEQsV0FBWSxnQkFBZ0I7SUFDMUI7O09BRUc7SUFDSCw2REFBZSxDQUFBO0lBQ2YsNkRBQWUsQ0FBQTtJQUNmLHlEQUFlLENBQUE7SUFDZix5REFBZSxDQUFBO0lBQ2YscUVBQWUsQ0FBQTtBQUNqQixDQUFDLEVBVFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQVMzQjtBQUVELE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQWtCYjtRQUVDLE1BQU0sTUFBTSxHQUFHLElBQUksd0JBQXdCLENBQ3pDLE9BQU8sQ0FBQyxTQUFTLEVBQ2pCLE9BQU8sQ0FBQyxTQUFTLEVBQ2pCLE9BQU8sQ0FBQyxTQUFTLEVBQ2pCLE9BQU8sQ0FBQyxXQUFXLEVBQ25CLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxFQUN4QixPQUFPLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUNuQyxDQUFDO1FBQ0YsSUFBRyxPQUFPLENBQUMsV0FBVyxFQUFD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QUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO1NBQUksQ0FBQztRQUNKLElBQUksR0FBRyxHQUF5QixVQUFVLENBQUM7UUFDM0MsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQU8sRUFBRSxHQUFHLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsYUFBdUM7SUFDdEUsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUMzQyxJQUFJLFNBQVMsR0FBNEIsSUFBSSxDQUFDO0lBQzlDLElBQUcsT0FBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFFBQVEsRUFBQyxDQUFDO1FBQ2pDLElBQUksR0FBRyxHQUF5QixVQUFVLENBQUM7UUFDM0MsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQVUsRUFBRSxHQUFHLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7U0FBSSxDQUFDO1FBQ0osSUFBSSxHQUFHLEdBQXlCLFVBQVUsQ0FBQztRQUMzQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBVSxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQgeyBIdHRwU2VydmljZSwgVmlld1JldG9ybm8gfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvd2ViL2h0dHAuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZUF0aXZvIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3dlYi9odHRwLmF0aXZvLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVmlld0ZpbHRyb3MgfSBmcm9tIFwiLi4vLi4vLi4vY2xhc3Nlcy9maWx0ZXJzL3ZpZXctZmlsdHJvc1wiO1xyXG5pbXBvcnQgeyBJTlRfTUFYIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29tcGFyaXNvbiB9IGZyb20gXCIuLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vY29tcGFyaXNvblwiO1xyXG5pbXBvcnQgeyBJbnB1dFNlbGVjdENvbXBvbmVudCB9IGZyb20gXCIuL2lucHV0LXNlbGVjdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSBcIkBmbG9hdGluZy11aS9kb21cIjtcclxuXHJcbmV4cG9ydCB0eXBlIERlZmF1bHRNb2RlbE9wdGlvbnMgPSB7IHZhbHVlOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcgfTtcclxuXHJcbmV4cG9ydCBlbnVtIFNlbGVjdEludGVyZmFjZXMgICAge1xyXG4gIC8qKiBJbnRlcmZhY2UgcGFkcsOjbyBkbyBzZWxlY3QgXHJcbiAgICogUG9wb3ZlciBxdWFuZG8gd2ViLCBNb2RhbCBxdWFuZG8gbW9iaWxlXHJcbiAgICovXHJcbiAgRHluYW1pYyAgICAgPSAwLFxyXG4gIFBvcG92ZXIgICAgID0gMCxcclxuICBNb2RhbCAgICAgICA9IDEsXHJcbiAgQWxlcnQgICAgICAgPSAyLFxyXG4gIEFjdGlvblNoZWV0ID0gMyxcclxufSBcclxuXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb257XHJcbiAgc3RhdGljIENyZWF0ZShvcHRpb25zOiB7XHJcbiAgICBiaW5kTGFiZWw6IHN0cmluZyB8ICgob2JqOiBhbnkpID0+IHN0cmluZyksXHJcbiAgICBiaW5kVmFsdWU6IHN0cmluZyB8ICgob2JqOiBhbnkpID0+IGFueSksXHJcbiAgICBjbGVhcmFibGU/OiBib29sZWFuLFxyXG4gICAgc2VhcmNoZWFibGU/OiBib29sZWFuLFxyXG4gICAgbG9hZEZyb20/OiBIdHRwU2VydmljZSB8IE9ic2VydmFibGU8Vmlld1JldG9ybm8+IHwgYW55W10sXHJcbiAgICBtdWx0aXBsZT86IGJvb2xlYW4sXHJcbiAgICB2RmlsdHJvcz86IFBhcnRpYWw8eyBcclxuICAgICAgc2VhcmNoOiBzdHJpbmcsXHJcbiAgICAgIG9yZGVyQnlQcm9wZXJ0eTogc3RyaW5nLFxyXG4gICAgICBhc2NlbmRpbmc6IGJvb2xlYW4sXHJcbiAgICAgIGZpbHRlcjogQ29tcGFyaXNvbltdXHJcbiAgICB9PixcclxuICAgIGRpc2FibGVDb25kaXRpb25hbD86ICgob2JqOiBhbnkpID0+IGJvb2xlYW4pXHJcbiAgICB1c2VJbmZpbml0ZVNjcm9sbD86IGJvb2xlYW4sXHJcbiAgICBwbGFjZWhvbGRlcj86IHN0cmluZyxcclxuICAgIG5vSXRlbnNGb3VuZFRleHQ/OiBzdHJpbmcsXHJcbiAgICBpbnRlcmZhY2U/OiBTZWxlY3RJbnRlcmZhY2VzLFxyXG4gIH1cclxuICApe1xyXG4gICAgY29uc3QgY29uZmlnID0gbmV3IElucHV0U2VsZWN0Q29uZmlndXJhdGlvbihcclxuICAgICAgb3B0aW9ucy5iaW5kVmFsdWUsXHJcbiAgICAgIG9wdGlvbnMuYmluZExhYmVsLFxyXG4gICAgICBvcHRpb25zLmNsZWFyYWJsZSxcclxuICAgICAgb3B0aW9ucy5zZWFyY2hlYWJsZSxcclxuICAgICAgb3B0aW9ucy5sb2FkRnJvbSxcclxuICAgICAgb3B0aW9ucy5tdWx0aXBsZSxcclxuICAgICAgb3B0aW9ucy52RmlsdHJvcyB8fCBudWxsLFxyXG4gICAgICBvcHRpb25zLmRpc2FibGVDb25kaXRpb25hbCB8fCBudWxsXHJcbiAgICApO1xyXG4gICAgaWYob3B0aW9ucy5wbGFjZWhvbGRlcil7XHJcbiAgICAgIGNvbmZpZy5wbGFjZWhvbGRlciA9IG9wdGlvbnMucGxhY2Vob2xkZXI7XHJcbiAgICB9XHJcbiAgICBpZihvcHRpb25zLm5vSXRlbnNGb3VuZFRleHQpe1xyXG4gICAgICBjb25maWcubm9JdGVuc0ZvdW5kVGV4dCA9IG9wdGlvbnMubm9JdGVuc0ZvdW5kVGV4dDtcclxuICAgIH1cclxuICAgIGlmKG9wdGlvbnMudXNlSW5maW5pdGVTY3JvbGwgIT0gdW5kZWZpbmVkKXtcclxuICAgICAgY29uZmlnLnVzZUluZmluaXRlU2Nyb2xsID0gb3B0aW9ucy51c2VJbmZpbml0ZVNjcm9sbDtcclxuICAgIH1cclxuICAgIGlmKG9wdGlvbnMuaW50ZXJmYWNlKXtcclxuICAgICAgY29uZmlnLmludGVyZmFjZSA9IG9wdGlvbnMuaW50ZXJmYWNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbmZpZztcclxuICB9O1xyXG5cclxuXHJcbiAgcGxhY2Vob2xkZXIgICAgIDogc3RyaW5nID0gXCJTZWxlY2lvbmUgdW0gaXRlbS4uLlwiXHJcbiAgbm9JdGVuc0ZvdW5kVGV4dDogc3RyaW5nID0gXCJTZW0gaXRlbXMgZW5jb250cmFkb3MuLi5cIlxyXG5cclxuICBsb2FkZXI6IElucHV0U2VsZWN0RGF0YUxvYWRlcjtcclxuICBsb2FkRnJvbUFycmF5ICAgOiBhbnlbXTtcclxuICBsb2FkRnJvbVNlcnZpY2UgOiBIdHRwU2VydmljZSB8IEh0dHBTZXJ2aWNlQXRpdm9cclxuICBsb2FkRnJvbUZ1bmN0aW9uOiBPYnNlcnZhYmxlPGFueT5cclxuXHJcbiAgcG9wb3ZlckNvbmZpZ3VyYXRpb246IHtcclxuICAgIGZsaXA6IGJvb2xlYW4sXHJcbiAgICBwbGFjZW1lbnQ6IFBsYWNlbWVudCxcclxuICB9ID0ge1xyXG4gICAgZmxpcDogdHJ1ZSxcclxuICAgIHBsYWNlbWVudDogXCJib3R0b21cIlxyXG4gIH1cclxuXHJcbiAgcHVibGljIHZGaWx0cm9zOiBWaWV3RmlsdHJvcyB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyB1c2VJbmZpbml0ZVNjcm9sbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogSW50ZXJmYWNlIGRvIHNlbGVjdCAqL1xyXG4gIHB1YmxpYyBpbnRlcmZhY2U6IFNlbGVjdEludGVyZmFjZXMgPSBTZWxlY3RJbnRlcmZhY2VzLkR5bmFtaWM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLyoqIFZhbG9yIHF1ZSBzZXLDoSBzZXRhZG8gbm8gZm9ybUNvbnRyb2wgKi9cclxuICAgIHB1YmxpYyBiaW5kVmFsdWU6IHN0cmluZyB8ICgob2JqOiBhbnkpID0+IGFueSkgICAgID0gXCJpZFwiICAsXHJcbiAgICAvKiogVmFsb3IgcXVlIHNlcsOhIGV4aWJpZG8gKi9cclxuICAgIHB1YmxpYyBiaW5kTGFiZWw6IHN0cmluZyB8ICgob2JqOiBhbnkpID0+IHN0cmluZykgID0gXCJub21lXCIsIFxyXG4gICAgXHJcbiAgICAvKiogSW5kaWNhIHNlIG8gc2VsZWN0IHBvZGUgc2VyIG51bG8gZSBsaW1wYXZlbCAqL1xyXG4gICAgcHVibGljIGNsZWFyYWJsZSAgOiBib29sZWFuID0gdHJ1ZSwgXHJcbiAgICAvKiogSW5kaWNhIHNlIG8gc2VsZWN0IHBvZGUgc2VyIHBlc3F1aXNhZG8gKi9cclxuICAgIHB1YmxpYyBzZWFyY2hlYWJsZTogYm9vbGVhbiA9IHRydWUsIFxyXG4gICAgXHJcbiAgICAvKiogXHJcbiAgICAgKiBTZSBMb2FkRnJvbSBpbnN0YW5jZW9mIEh0dHBTZXJ2aWNlICAgICAgLT4gT3MgZGFkb3Mgc2Vyw6NvIGNhcnJlZ2Fkb3MgZG8gTGlzdCgpXHJcbiAgICAgKiBTZSBMb2FkRnJvbSBpbnN0YW5jZW9mIE9ic2VydmFibGUgICAgICAgLT4gT3MgZGFkb3Mgc2Vyw6NvIGNhcnJlZ2Fkb3MgZGEgZnVuw6fDo28gaW5kaWNhZGFcclxuICAgICAqIFNlIExvYWRGcm9tIGluc3RhbmNlb2YgQXJyYXkgICAgICAgICAgICAtPiBPcyBkYWRvcyBzZXLDo28gbyBhcnJheVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbG9hZEZyb20/OiAgSHR0cFNlcnZpY2UgfCBPYnNlcnZhYmxlPFZpZXdSZXRvcm5vPiB8IGFueVtdLCBcclxuICAgIC8qKiBTZSA9IHRydWUgT3MgdmFsb3JlcyBubyBmb3JtIGNvbnRyb2wgc2Vyw6FvIHVtIGFycmF5IGRvcyBpdGVtcyBzZWxlY2lvbmFkb3MgKi9cclxuICAgIHB1YmxpYyBtdWx0aXBsZSA6IGJvb2xlYW4gPSBmYWxzZSxcclxuICAgIC8qKiBBcGxpY2Egb3MgZmlsdHJvcyBuYSBwZXNxdWlzYSAqL1xyXG4gICAgdkZpbHRyb3MgOiBQYXJ0aWFsPHsgXHJcbiAgICAgIC8qKiBBcGxpY2EgdW1hIHBlc3F1aXNhIGVtIHRleHRvICAqL1xyXG4gICAgICBzZWFyY2g6IHN0cmluZ1xyXG4gICAgICAvKiogUHJvcHJpZWRhZGUgZGUgb3JkZW5hw6fDo28gKi9cclxuICAgICAgb3JkZXJCeVByb3BlcnR5OiBzdHJpbmdcclxuICAgICAgLyoqIE9yaWVudGHDp8OjbyBkZSBvcmRlbmHDp8OjbyAqL1xyXG4gICAgICBhc2NlbmRpbmc6IGJvb2xlYW4sXHJcbiAgICAgIC8qKiBGaWx0cm8gICovXHJcbiAgICAgIGZpbHRlcjogQ29tcGFyaXNvbltdXHJcbiAgICB9PiB8IG51bGwgPSBudWxsLFxyXG4gICAgLyoqIERlc2F0aXZhIG9zIGl0ZW1zIHF1ZSBlc3TDo28gZGUgYWNvcmRvIGNvbSBhIGZ1bsOnw6NvICovXHJcbiAgICBwdWJsaWMgZGlzYWJsZUNvbmRpdGlvbmFsOiAoKG9iajogYW55KSA9PiBib29sZWFuKSB8IG51bGwgPSBudWxsXHJcbiAgKXtcclxuICAgIHRoaXMuY2xlYXJhYmxlICAgPSBjbGVhcmFibGU7XHJcbiAgICB0aGlzLnNlYXJjaGVhYmxlID0gc2VhcmNoZWFibGU7XHJcbiAgICB0aGlzLm11bHRpcGxlICAgID0gbXVsdGlwbGU7XHJcblxyXG4gICAgaWYodkZpbHRyb3MgIT0gbnVsbCl7XHJcbiAgICAgIGNvbnN0IHYgPSB2RmlsdHJvcztcclxuICAgICAgaWYodi5hc2NlbmRpbmcgPT0gbnVsbCB8fCB2LmFzY2VuZGluZyA9PSB1bmRlZmluZWQpeyBcclxuICAgICAgICB2LmFzY2VuZGluZyA9IHRydWU7IFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudkZpbHRyb3MgPSBuZXcgVmlld0ZpbHRyb3MoSU5UX01BWCwgdi5zZWFyY2gsIDEsIHYub3JkZXJCeVByb3BlcnR5LCB2LmFzY2VuZGluZyk7XHJcbiAgICAgIHRoaXMudkZpbHRyb3MuZmlsdGVyID0gdi5maWx0ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgaWYobG9hZEZyb20pe1xyXG4gICAgICBpZihBcnJheS5pc0FycmF5KGxvYWRGcm9tKSl7IFxyXG4gICAgICAgIHRoaXMubG9hZEZyb21BcnJheSAgICA9IGxvYWRGcm9tOyBcclxuICAgICAgfSBlbHNlXHJcbiAgICAgIGlmKGxvYWRGcm9tIGluc3RhbmNlb2YgSHR0cFNlcnZpY2UgfHwgbG9hZEZyb20gaW5zdGFuY2VvZiBIdHRwU2VydmljZUF0aXZvKXsgXHJcbiAgICAgICAgdGhpcy5sb2FkRnJvbVNlcnZpY2UgID0gbG9hZEZyb207XHJcbiAgICAgIH0gZWxzZSB7ICBcclxuICAgICAgICB0aGlzLmxvYWRGcm9tRnVuY3Rpb24gPSBsb2FkRnJvbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZGVyID0gbmV3IElucHV0U2VsZWN0RGF0YUxvYWRlcih0aGlzKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFNlbGVjdERhdGFMb2FkZXJ7XHJcbiAgcHJpdmF0ZSBsc3RDb21wb25lbnRzOiBJbnB1dFNlbGVjdENvbXBvbmVudFtdID0gW107XHJcbiAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb247XHJcblxyXG4gIC8qKiBWYWxvciBxdWUgc2Vyw6Egc2V0YWRvIG5vIGZvcm1Db250cm9sICovXHJcbiAgcHVibGljIGJpbmRWYWx1ZTogKChvYmo6IGFueSkgPT4gYW55KSAgIHwgbnVsbCA9IG51bGw7XHJcbiAgLyoqIFZhbG9yIHF1ZSBzZXLDoSBleGliaWRvICovXHJcbiAgcHVibGljIGJpbmRMYWJlbDogKChvYmo6IGFueSkgPT4gc3RyaW5nKXwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbmZpZ3VyYXRpb246IElucHV0U2VsZWN0Q29uZmlndXJhdGlvbikgIHsgXHJcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uOyBcclxuICAgIHRoaXMuYmluZFZhbHVlID0gQmluZFZhbHVlRmFjdG9yeShjb25maWd1cmF0aW9uKVxyXG4gICAgdGhpcy5iaW5kTGFiZWwgPSBCaW5kTGFiZWxGYWN0b3J5KGNvbmZpZ3VyYXRpb24pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQWRkQ29tcG9uZW50KGNvbXBvbmVudDogSW5wdXRTZWxlY3RDb21wb25lbnQpOiB2b2lkIHsgXHJcbiAgICB0aGlzLmxzdENvbXBvbmVudHMucHVzaChjb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgLy9UT0RPIFJlbW92ZSBmdW5jdGlvblxyXG4gICBwdWJsaWMgR2V0TGFiZWwodmFsdWU6IGFueSl7XHJcbiAgICBpZighdGhpcy5pdGVtcyB8fCAhdGhpcy5iaW5kVmFsdWUgfHwgIXRoaXMuYmluZExhYmVsKXsgcmV0dXJuIFwiXCI7IH1cclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zLmZpbmQocCA9PiB0aGlzLmJpbmRWYWx1ZShwKSA9PSB2YWx1ZSk7XHJcbiAgICBpZighaXRlbSl7IHJldHVybiBcIlwiIDt9XHJcbiAgICByZXR1cm4gdGhpcy5iaW5kTGFiZWwoaXRlbSk7XHJcbiAgfVxyXG5cclxuICBpc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGVycm9yICAgOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGFzeW5jIFJlZnJlc2goaXRlbXM/OiBhbnlbXSk6IFByb21pc2U8dm9pZD57XHJcbiAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLmxzdENvbXBvbmVudHMpIHtcclxuICAgICAgY29tcG9uZW50LmxvYWRpbmdGcm9tTG9hZGVyID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYoIXRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbVNlcnZpY2UgICYmIFxyXG4gICAgICAgIXRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbUZ1bmN0aW9uICYmIFxyXG4gICAgICAgKCF0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb21BcnJheSB8fCAhdGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tQXJyYXkubGVuZ3RoKVxyXG4gICAgICApe1xyXG4gICAgICB0aGlzLml0ZW1zID0gWy4uLml0ZW1zIHx8IFtdXTtcclxuICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgIGZvciAoY29uc3QgY29tcG9uZW50IG9mIHRoaXMubHN0Q29tcG9uZW50cykge1xyXG4gICAgICAgIGlmKCFjb21wb25lbnQuZGVzdHJveWVkKVxyXG4gICAgICAgIGNvbXBvbmVudC5pdGVtcy5zZXQoWy4uLnRoaXMuaXRlbXNdKTsgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgdHJ5e1xyXG4gICAgICBhd2FpdCB0aGlzLkxvYWQoKTtcclxuICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgIGZvciAoY29uc3QgY29tcG9uZW50IG9mIHRoaXMubHN0Q29tcG9uZW50cykge1xyXG4gICAgICAgIGlmKCFjb21wb25lbnQuZGVzdHJveWVkKVxyXG4gICAgICAgIGNvbXBvbmVudC5pdGVtcy5zZXQoWy4uLnRoaXMuaXRlbXNdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZmluYWxseXtcclxuICAgICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5sc3RDb21wb25lbnRzKSB7XHJcbiAgICAgICAgY29tcG9uZW50LmxvYWRpbmdGcm9tTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGl0ZW1zOiBhbnlbXSA9IFtdO1xyXG4gIGFzeW5jIExvYWQoKTogUHJvbWlzZTx2b2lkPntcclxuICAgIGlmKHRoaXMuaXNMb2FkZWQpe1xyXG4gICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLmxzdENvbXBvbmVudHMpIHtcclxuICAgICAgIGlmKCFjb21wb25lbnQuZGVzdHJveWVkKVxyXG4gICAgICAgIGNvbXBvbmVudC5pdGVtcy5zZXQoWy4uLnRoaXMuaXRlbXNdKTsgXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vWyBMb2FkIGZyb20gQXJyYXkgXVxyXG4gICAgaWYodGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tQXJyYXkgIT0gdW5kZWZpbmVkICYmIHRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbUFycmF5Lmxlbmd0aCl7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSBbLi4udGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tQXJyYXldO1xyXG4gICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLmxzdENvbXBvbmVudHMpIHtcclxuICAgICAgIGlmKCFjb21wb25lbnQuZGVzdHJveWVkKVxyXG4gICAgICAgIGNvbXBvbmVudC5pdGVtcy5zZXQoWy4uLnRoaXMuaXRlbXNdKTsgXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vWyBMb2FkIGZyb20gYXBpIF1cclxuICAgIGxldCB2RmlsdHJvczogVmlld0ZpbHRyb3MgfCBudWxsID0gdGhpcy5jb25maWd1cmF0aW9uLnZGaWx0cm9zO1xyXG4gICAgdHJ5e1xyXG4gICAgICBsZXQgbHN0RGFkb3M6IGFueVtdID0gW107XHJcbiAgICAgIFxyXG4gICAgICBpZih0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb21TZXJ2aWNlKXtcclxuICAgICAgICBsc3REYWRvcyA9IChhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb21TZXJ2aWNlLkxpc3QodkZpbHRyb3MpKSkubHN0RGFkb3NcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgbHN0RGFkb3MgPSAoYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tRnVuY3Rpb24pKS5sc3REYWRvcztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5pdGVtcyA9IGxzdERhZG9zO1xyXG4gICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLmxzdENvbXBvbmVudHMpIHtcclxuICAgICAgICBpZighY29tcG9uZW50LmRlc3Ryb3llZClcclxuICAgICAgICBjb21wb25lbnQuaXRlbXMuc2V0KFsuLi50aGlzLml0ZW1zXSk7IFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmVycm9yID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZSl7IHRoaXMuZXJyb3IgPSB0cnVlOyB0aHJvdyBlOyB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gQmluZFZhbHVlRmFjdG9yeShjb25maWd1cmF0aW9uOiBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24pOiAoKG9iajogYW55KSA9PiBhbnkpIHtcclxuICBjb25zdCBjQmluZFZhbHVlID0gY29uZmlndXJhdGlvbi5iaW5kVmFsdWU7XHJcbiAgbGV0IGJpbmRWYWx1ZTogKChhcmdzOiBhbnkpID0+IGFueSkgPSBudWxsO1xyXG4gIGlmKHR5cGVvZihjQmluZFZhbHVlKSA9PSAnc3RyaW5nJyl7XHJcbiAgICBsZXQgYnZTOiBzdHJpbmcgICAgICAgICAgICAgICA9IGNCaW5kVmFsdWU7XHJcbiAgICBiaW5kVmFsdWUgPSAoKG9iajogYW55KTogYW55ID0+IHsgcmV0dXJuIG9ialtidlNdOyB9KTtcclxuICB9ZWxzZXtcclxuICAgIGxldCBidkY6ICgoYXJnczogYW55KSA9PiBhbnkpID0gY0JpbmRWYWx1ZTtcclxuICAgIGJpbmRWYWx1ZSA9ICgob2JqOiBhbnkpOiBhbnkgPT4geyByZXR1cm4gYnZGKG9iaik7IH0pO1xyXG4gIH1cclxuICByZXR1cm4gYmluZFZhbHVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gQmluZExhYmVsRmFjdG9yeShjb25maWd1cmF0aW9uOiBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24pOiAoKG9iajogYW55KSA9PiBzdHJpbmcpIHtcclxuICBjb25zdCBjQmluZExhYmVsID0gY29uZmlndXJhdGlvbi5iaW5kTGFiZWw7XHJcbiAgbGV0IGJpbmRMYWJlbDogKChhcmdzOiBhbnkpID0+IHN0cmluZykgPSBudWxsO1xyXG4gIGlmKHR5cGVvZihjQmluZExhYmVsKSA9PSAnc3RyaW5nJyl7XHJcbiAgICBsZXQgYmxTOiBzdHJpbmcgICAgICAgICAgICAgICA9IGNCaW5kTGFiZWw7XHJcbiAgICBiaW5kTGFiZWwgPSAoKG9iajogYW55KTogc3RyaW5nID0+IHsgcmV0dXJuIG9ialtibFNdICsgJyc7IH0pO1xyXG4gIH1lbHNle1xyXG4gICAgbGV0IGJsRjogKChhcmdzOiBhbnkpID0+IGFueSkgPSBjQmluZExhYmVsO1xyXG4gICAgYmluZExhYmVsID0gKChvYmo6IGFueSk6IHN0cmluZyA9PiB7IHJldHVybiBibEYob2JqKSArICcnOyB9KTtcclxuICB9XHJcbiAgcmV0dXJuIGJpbmRMYWJlbDtcclxufSJdfQ==
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuc2VsZWN0LmNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXNlbGVjdC9pbnB1dC5zZWxlY3QuY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTzFELE1BQU0sQ0FBTixJQUFZLGdCQVFYO0FBUkQsV0FBWSxnQkFBZ0I7SUFDMUI7O09BRUc7SUFDSCw2REFBZSxDQUFBO0lBQ2YsNkRBQWUsQ0FBQTtJQUNmLHlEQUFlLENBQUE7SUFDZixxRUFBZSxDQUFBO0FBQ2pCLENBQUMsRUFSVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBUTNCO0FBRUQsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9Ba0JiO1FBRUMsTUFBTSxNQUFNLEdBQUcsSUFBSSx3QkFBd0IsQ0FDekMsT0FBTyxDQUFDLFNBQVMsRUFDakIsT0FBTyxDQUFDLFNBQVMsRUFDakIsT0FBTyxDQUFDLFNBQVMsRUFDakIsT0FBTyxDQUFDLFdBQVcsRUFDbkIsT0FBTyxDQUFDLFFBQVEsRUFDaEIsT0FBTyxDQUFDLFFBQVEsRUFDaEIsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQ3hCLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQ25DLENBQUM7UUFDRixJQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUMsQ0FBQztZQUN0QixNQUFNLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDM0MsQ0FBQztRQUNELElBQUcsT0FBTyxDQUFDLGdCQUFnQixFQUFDLENBQUM7WUFDM0IsTUFBTSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsSUFBRyxPQUFPLENBQUMsaUJBQWlCLElBQUksU0FBUyxFQUFDLENBQUM7WUFDekMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsSUFBRyxPQUFPLENBQUMsU0FBUyxFQUFDLENBQUM7WUFDcEIsTUFBTSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQUEsQ0FBQztJQXlCRjtJQUNFLDJDQUEyQztJQUNwQyxZQUE4QyxJQUFJO0lBQ3pELDZCQUE2QjtJQUN0QixZQUE4QyxNQUFNO0lBRTNELGtEQUFrRDtJQUMzQyxZQUF1QixJQUFJO0lBQ2xDLDZDQUE2QztJQUN0QyxjQUF1QixJQUFJO0lBRWxDOzs7O09BSUc7SUFDSSxRQUF5RDtJQUNoRSxpRkFBaUY7SUFDMUUsV0FBcUIsS0FBSztJQUNqQyxvQ0FBb0M7SUFDcEMsV0FTWSxJQUFJO0lBQ2hCLHlEQUF5RDtJQUNsRCxxQkFBcUQsSUFBSTtRQTdCekQsY0FBUyxHQUFULFNBQVMsQ0FBeUM7UUFFbEQsY0FBUyxHQUFULFNBQVMsQ0FBMkM7UUFHcEQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFFM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBTzNCLGFBQVEsR0FBUixRQUFRLENBQWlEO1FBRXpELGFBQVEsR0FBUixRQUFRLENBQWtCO1FBYTFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUM7UUFyRGxFLGdCQUFXLEdBQWdCLHNCQUFzQixDQUFBO1FBQ2pELHFCQUFnQixHQUFXLDBCQUEwQixDQUFBO1FBT3JELHlCQUFvQixHQUdoQjtZQUNGLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFFBQVE7U0FDcEIsQ0FBQTtRQUVNLGFBQVEsR0FBdUIsSUFBSSxDQUFDO1FBQ3BDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUUxQywwQkFBMEI7UUFDbkIsY0FBUyxHQUFxQixnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7UUFtQzVELElBQUksQ0FBQyxTQUFTLEdBQUssU0FBUyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQU0sUUFBUSxDQUFDO1FBRTVCLElBQUcsUUFBUSxJQUFJLElBQUksRUFBQyxDQUFDO1lBQ25CLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUNuQixJQUFHLENBQUMsQ0FBQyxTQUFTLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxTQUFTLElBQUksU0FBUyxFQUFDLENBQUM7Z0JBQ2xELENBQUMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLENBQUM7WUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2xDLENBQUM7UUFFRCxJQUFHLFFBQVEsRUFBQyxDQUFDO1lBQ1gsSUFBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxhQUFhLEdBQU0sUUFBUSxDQUFDO1lBQ25DLENBQUM7aUJBQ0QsSUFBRyxRQUFRLFlBQVksV0FBVyxJQUFJLFFBQVEsWUFBWSxnQkFBZ0IsRUFBQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsZUFBZSxHQUFJLFFBQVEsQ0FBQztZQUNuQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztZQUNuQyxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8scUJBQXFCO0lBU2hDLFlBQVksYUFBdUM7UUFSM0Msa0JBQWEsR0FBMkIsRUFBRSxDQUFDO1FBR25ELDJDQUEyQztRQUNwQyxjQUFTLEdBQWlDLElBQUksQ0FBQztRQUN0RCw2QkFBNkI7UUFDdEIsY0FBUyxHQUFpQyxJQUFJLENBQUM7UUFvQnRELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsVUFBSyxHQUFlLEtBQUssQ0FBQztRQWtDMUIsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQXBEaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFTSxZQUFZLENBQUMsU0FBK0I7UUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELHNCQUFzQjtJQUNkLFFBQVEsQ0FBQyxLQUFVO1FBQ3pCLElBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsQ0FBQztZQUFDLE9BQU8sRUFBRSxDQUFDO1FBQUMsQ0FBQztRQUNuRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7UUFDOUQsSUFBRyxDQUFDLElBQUksRUFBQyxDQUFDO1lBQUMsT0FBTyxFQUFFLENBQUU7UUFBQSxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBS0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFhO1FBQ3pCLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNDLFNBQVMsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDckMsQ0FBQztRQUVELElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7WUFDbkMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQjtZQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFDL0UsQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDM0MsSUFBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTO29CQUN2QixTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFHLENBQUM7WUFDRixNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDM0MsSUFBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTO29CQUN2QixTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUM7Z0JBQ00sQ0FBQztZQUNOLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMzQyxTQUFTLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUdELEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBRyxJQUFJLENBQUMsUUFBUSxFQUFDLENBQUM7WUFDaEIsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzVDLElBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUztvQkFDdEIsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFDRCxPQUFPO1FBQ1QsQ0FBQztRQUVELHFCQUFxQjtRQUNyQixJQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUMsQ0FBQztZQUMzRixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25ELEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUM1QyxJQUFHLENBQUMsU0FBUyxDQUFDLFNBQVM7b0JBQ3RCLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2QyxDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFFRCxtQkFBbUI7UUFDbkIsSUFBSSxRQUFRLEdBQXVCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1FBQy9ELElBQUcsQ0FBQztZQUNGLElBQUksUUFBUSxHQUFVLEVBQUUsQ0FBQztZQUV6QixJQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFDLENBQUM7Z0JBQ3JDLFFBQVEsR0FBRyxDQUFDLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFBO1lBQy9GLENBQUM7aUJBQUksQ0FBQztnQkFDSixRQUFRLEdBQUcsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDbEYsQ0FBQztZQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1lBQ3RCLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMzQyxJQUFHLENBQUMsU0FBUyxDQUFDLFNBQVM7b0JBQ3ZCLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2QyxDQUFDO1lBQUEsQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLENBQUMsRUFBQyxDQUFDO1lBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFBQyxNQUFNLENBQUMsQ0FBQztRQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLGFBQXVDO0lBQ3RFLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDM0MsSUFBSSxTQUFTLEdBQXlCLElBQUksQ0FBQztJQUMzQyxJQUFHLE9BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxRQUFRLEVBQUMsQ0FBQztRQUNqQyxJQUFJLEdBQUcsR0FBeUIsVUFBVSxDQUFDO1FBQzNDLFNBQVMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFPLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7U0FBSSxDQUFDO1FBQ0osSUFBSSxHQUFHLEdBQXlCLFVBQVUsQ0FBQztRQUMzQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBTyxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxhQUF1QztJQUN0RSxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQzNDLElBQUksU0FBUyxHQUE0QixJQUFJLENBQUM7SUFDOUMsSUFBRyxPQUFNLENBQUMsVUFBVSxDQUFDLElBQUksUUFBUSxFQUFDLENBQUM7UUFDakMsSUFBSSxHQUFHLEdBQXlCLFVBQVUsQ0FBQztRQUMzQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBVSxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztTQUFJLENBQUM7UUFDSixJQUFJLEdBQUcsR0FBeUIsVUFBVSxDQUFDO1FBQzNDLFNBQVMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFVLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlLCBWaWV3UmV0b3JubyB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy93ZWIvaHR0cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlQXRpdm8gfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvd2ViL2h0dHAuYXRpdm8uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBWaWV3RmlsdHJvcyB9IGZyb20gXCIuLi8uLi8uLi9jbGFzc2VzL2ZpbHRlcnMvdmlldy1maWx0cm9zXCI7XHJcbmltcG9ydCB7IElOVF9NQVggfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb21wYXJpc29uIH0gZnJvbSBcIi4uLy4uLy4uL2NsYXNzZXMvY29tcGFyaXNvbi9jb21wYXJpc29uXCI7XHJcbmltcG9ydCB7IElucHV0U2VsZWN0Q29tcG9uZW50IH0gZnJvbSBcIi4vaW5wdXQtc2VsZWN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tIFwiQGZsb2F0aW5nLXVpL2RvbVwiO1xyXG5cclxuZXhwb3J0IHR5cGUgRGVmYXVsdE1vZGVsT3B0aW9ucyA9IHsgdmFsdWU6IHN0cmluZywgbGFiZWw6IHN0cmluZyB9O1xyXG5cclxuZXhwb3J0IGVudW0gU2VsZWN0SW50ZXJmYWNlcyAgICB7XHJcbiAgLyoqIEludGVyZmFjZSBwYWRyw6NvIGRvIHNlbGVjdCBcclxuICAgKiBQb3BvdmVyIHF1YW5kbyB3ZWIsIE1vZGFsIHF1YW5kbyBtb2JpbGVcclxuICAgKi9cclxuICBEeW5hbWljICAgICA9IDAsXHJcbiAgUG9wb3ZlciAgICAgPSAwLFxyXG4gIE1vZGFsICAgICAgID0gMSxcclxuICBBY3Rpb25TaGVldCA9IDIsXHJcbn0gXHJcblxyXG5leHBvcnQgY2xhc3MgSW5wdXRTZWxlY3RDb25maWd1cmF0aW9ue1xyXG4gIHN0YXRpYyBDcmVhdGUob3B0aW9uczoge1xyXG4gICAgYmluZExhYmVsOiBzdHJpbmcgfCAoKG9iajogYW55KSA9PiBzdHJpbmcpLFxyXG4gICAgYmluZFZhbHVlOiBzdHJpbmcgfCAoKG9iajogYW55KSA9PiBhbnkpLFxyXG4gICAgY2xlYXJhYmxlPzogYm9vbGVhbixcclxuICAgIHNlYXJjaGVhYmxlPzogYm9vbGVhbixcclxuICAgIGxvYWRGcm9tPzogSHR0cFNlcnZpY2UgfCBPYnNlcnZhYmxlPFZpZXdSZXRvcm5vPiB8IGFueVtdLFxyXG4gICAgbXVsdGlwbGU/OiBib29sZWFuLFxyXG4gICAgdkZpbHRyb3M/OiBQYXJ0aWFsPHsgXHJcbiAgICAgIHNlYXJjaDogc3RyaW5nLFxyXG4gICAgICBvcmRlckJ5UHJvcGVydHk6IHN0cmluZyxcclxuICAgICAgYXNjZW5kaW5nOiBib29sZWFuLFxyXG4gICAgICBmaWx0ZXI6IENvbXBhcmlzb25bXVxyXG4gICAgfT4sXHJcbiAgICBkaXNhYmxlQ29uZGl0aW9uYWw/OiAoKG9iajogYW55KSA9PiBib29sZWFuKVxyXG4gICAgdXNlSW5maW5pdGVTY3JvbGw/OiBib29sZWFuLFxyXG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmcsXHJcbiAgICBub0l0ZW5zRm91bmRUZXh0Pzogc3RyaW5nLFxyXG4gICAgaW50ZXJmYWNlPzogU2VsZWN0SW50ZXJmYWNlcyxcclxuICB9XHJcbiAgKXtcclxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24oXHJcbiAgICAgIG9wdGlvbnMuYmluZFZhbHVlLFxyXG4gICAgICBvcHRpb25zLmJpbmRMYWJlbCxcclxuICAgICAgb3B0aW9ucy5jbGVhcmFibGUsXHJcbiAgICAgIG9wdGlvbnMuc2VhcmNoZWFibGUsXHJcbiAgICAgIG9wdGlvbnMubG9hZEZyb20sXHJcbiAgICAgIG9wdGlvbnMubXVsdGlwbGUsXHJcbiAgICAgIG9wdGlvbnMudkZpbHRyb3MgfHwgbnVsbCxcclxuICAgICAgb3B0aW9ucy5kaXNhYmxlQ29uZGl0aW9uYWwgfHwgbnVsbFxyXG4gICAgKTtcclxuICAgIGlmKG9wdGlvbnMucGxhY2Vob2xkZXIpe1xyXG4gICAgICBjb25maWcucGxhY2Vob2xkZXIgPSBvcHRpb25zLnBsYWNlaG9sZGVyO1xyXG4gICAgfVxyXG4gICAgaWYob3B0aW9ucy5ub0l0ZW5zRm91bmRUZXh0KXtcclxuICAgICAgY29uZmlnLm5vSXRlbnNGb3VuZFRleHQgPSBvcHRpb25zLm5vSXRlbnNGb3VuZFRleHQ7XHJcbiAgICB9XHJcbiAgICBpZihvcHRpb25zLnVzZUluZmluaXRlU2Nyb2xsICE9IHVuZGVmaW5lZCl7XHJcbiAgICAgIGNvbmZpZy51c2VJbmZpbml0ZVNjcm9sbCA9IG9wdGlvbnMudXNlSW5maW5pdGVTY3JvbGw7XHJcbiAgICB9XHJcbiAgICBpZihvcHRpb25zLmludGVyZmFjZSl7XHJcbiAgICAgIGNvbmZpZy5pbnRlcmZhY2UgPSBvcHRpb25zLmludGVyZmFjZTtcclxuICAgIH1cclxuICAgIHJldHVybiBjb25maWc7XHJcbiAgfTtcclxuXHJcblxyXG4gIHBsYWNlaG9sZGVyICAgICA6IHN0cmluZyA9IFwiU2VsZWNpb25lIHVtIGl0ZW0uLi5cIlxyXG4gIG5vSXRlbnNGb3VuZFRleHQ6IHN0cmluZyA9IFwiU2VtIGl0ZW1zIGVuY29udHJhZG9zLi4uXCJcclxuXHJcbiAgbG9hZGVyOiBJbnB1dFNlbGVjdERhdGFMb2FkZXI7XHJcbiAgbG9hZEZyb21BcnJheSAgIDogYW55W107XHJcbiAgbG9hZEZyb21TZXJ2aWNlIDogSHR0cFNlcnZpY2UgfCBIdHRwU2VydmljZUF0aXZvXHJcbiAgbG9hZEZyb21GdW5jdGlvbjogT2JzZXJ2YWJsZTxhbnk+XHJcblxyXG4gIHBvcG92ZXJDb25maWd1cmF0aW9uOiB7XHJcbiAgICBmbGlwOiBib29sZWFuLFxyXG4gICAgcGxhY2VtZW50OiBQbGFjZW1lbnQsXHJcbiAgfSA9IHtcclxuICAgIGZsaXA6IHRydWUsXHJcbiAgICBwbGFjZW1lbnQ6IFwiYm90dG9tXCJcclxuICB9XHJcblxyXG4gIHB1YmxpYyB2RmlsdHJvczogVmlld0ZpbHRyb3MgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgdXNlSW5maW5pdGVTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIEludGVyZmFjZSBkbyBzZWxlY3QgKi9cclxuICBwdWJsaWMgaW50ZXJmYWNlOiBTZWxlY3RJbnRlcmZhY2VzID0gU2VsZWN0SW50ZXJmYWNlcy5EeW5hbWljO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8qKiBWYWxvciBxdWUgc2Vyw6Egc2V0YWRvIG5vIGZvcm1Db250cm9sICovXHJcbiAgICBwdWJsaWMgYmluZFZhbHVlOiBzdHJpbmcgfCAoKG9iajogYW55KSA9PiBhbnkpICAgICA9IFwiaWRcIiAgLFxyXG4gICAgLyoqIFZhbG9yIHF1ZSBzZXLDoSBleGliaWRvICovXHJcbiAgICBwdWJsaWMgYmluZExhYmVsOiBzdHJpbmcgfCAoKG9iajogYW55KSA9PiBzdHJpbmcpICA9IFwibm9tZVwiLCBcclxuICAgIFxyXG4gICAgLyoqIEluZGljYSBzZSBvIHNlbGVjdCBwb2RlIHNlciBudWxvIGUgbGltcGF2ZWwgKi9cclxuICAgIHB1YmxpYyBjbGVhcmFibGUgIDogYm9vbGVhbiA9IHRydWUsIFxyXG4gICAgLyoqIEluZGljYSBzZSBvIHNlbGVjdCBwb2RlIHNlciBwZXNxdWlzYWRvICovXHJcbiAgICBwdWJsaWMgc2VhcmNoZWFibGU6IGJvb2xlYW4gPSB0cnVlLCBcclxuICAgIFxyXG4gICAgLyoqIFxyXG4gICAgICogU2UgTG9hZEZyb20gaW5zdGFuY2VvZiBIdHRwU2VydmljZSAgICAgIC0+IE9zIGRhZG9zIHNlcsOjbyBjYXJyZWdhZG9zIGRvIExpc3QoKVxyXG4gICAgICogU2UgTG9hZEZyb20gaW5zdGFuY2VvZiBPYnNlcnZhYmxlICAgICAgIC0+IE9zIGRhZG9zIHNlcsOjbyBjYXJyZWdhZG9zIGRhIGZ1bsOnw6NvIGluZGljYWRhXHJcbiAgICAgKiBTZSBMb2FkRnJvbSBpbnN0YW5jZW9mIEFycmF5ICAgICAgICAgICAgLT4gT3MgZGFkb3Mgc2Vyw6NvIG8gYXJyYXlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGxvYWRGcm9tPzogIEh0dHBTZXJ2aWNlIHwgT2JzZXJ2YWJsZTxWaWV3UmV0b3Jubz4gfCBhbnlbXSwgXHJcbiAgICAvKiogU2UgPSB0cnVlIE9zIHZhbG9yZXMgbm8gZm9ybSBjb250cm9sIHNlcsOhbyB1bSBhcnJheSBkb3MgaXRlbXMgc2VsZWNpb25hZG9zICovXHJcbiAgICBwdWJsaWMgbXVsdGlwbGUgOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICAvKiogQXBsaWNhIG9zIGZpbHRyb3MgbmEgcGVzcXVpc2EgKi9cclxuICAgIHZGaWx0cm9zIDogUGFydGlhbDx7IFxyXG4gICAgICAvKiogQXBsaWNhIHVtYSBwZXNxdWlzYSBlbSB0ZXh0byAgKi9cclxuICAgICAgc2VhcmNoOiBzdHJpbmdcclxuICAgICAgLyoqIFByb3ByaWVkYWRlIGRlIG9yZGVuYcOnw6NvICovXHJcbiAgICAgIG9yZGVyQnlQcm9wZXJ0eTogc3RyaW5nXHJcbiAgICAgIC8qKiBPcmllbnRhw6fDo28gZGUgb3JkZW5hw6fDo28gKi9cclxuICAgICAgYXNjZW5kaW5nOiBib29sZWFuLFxyXG4gICAgICAvKiogRmlsdHJvICAqL1xyXG4gICAgICBmaWx0ZXI6IENvbXBhcmlzb25bXVxyXG4gICAgfT4gfCBudWxsID0gbnVsbCxcclxuICAgIC8qKiBEZXNhdGl2YSBvcyBpdGVtcyBxdWUgZXN0w6NvIGRlIGFjb3JkbyBjb20gYSBmdW7Dp8OjbyAqL1xyXG4gICAgcHVibGljIGRpc2FibGVDb25kaXRpb25hbDogKChvYmo6IGFueSkgPT4gYm9vbGVhbikgfCBudWxsID0gbnVsbFxyXG4gICl7XHJcbiAgICB0aGlzLmNsZWFyYWJsZSAgID0gY2xlYXJhYmxlO1xyXG4gICAgdGhpcy5zZWFyY2hlYWJsZSA9IHNlYXJjaGVhYmxlO1xyXG4gICAgdGhpcy5tdWx0aXBsZSAgICA9IG11bHRpcGxlO1xyXG5cclxuICAgIGlmKHZGaWx0cm9zICE9IG51bGwpe1xyXG4gICAgICBjb25zdCB2ID0gdkZpbHRyb3M7XHJcbiAgICAgIGlmKHYuYXNjZW5kaW5nID09IG51bGwgfHwgdi5hc2NlbmRpbmcgPT0gdW5kZWZpbmVkKXsgXHJcbiAgICAgICAgdi5hc2NlbmRpbmcgPSB0cnVlOyBcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnZGaWx0cm9zID0gbmV3IFZpZXdGaWx0cm9zKElOVF9NQVgsIHYuc2VhcmNoLCAxLCB2Lm9yZGVyQnlQcm9wZXJ0eSwgdi5hc2NlbmRpbmcpO1xyXG4gICAgICB0aGlzLnZGaWx0cm9zLmZpbHRlciA9IHYuZmlsdGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKGxvYWRGcm9tKXtcclxuICAgICAgaWYoQXJyYXkuaXNBcnJheShsb2FkRnJvbSkpeyBcclxuICAgICAgICB0aGlzLmxvYWRGcm9tQXJyYXkgICAgPSBsb2FkRnJvbTsgXHJcbiAgICAgIH0gZWxzZVxyXG4gICAgICBpZihsb2FkRnJvbSBpbnN0YW5jZW9mIEh0dHBTZXJ2aWNlIHx8IGxvYWRGcm9tIGluc3RhbmNlb2YgSHR0cFNlcnZpY2VBdGl2byl7IFxyXG4gICAgICAgIHRoaXMubG9hZEZyb21TZXJ2aWNlICA9IGxvYWRGcm9tO1xyXG4gICAgICB9IGVsc2UgeyAgXHJcbiAgICAgICAgdGhpcy5sb2FkRnJvbUZ1bmN0aW9uID0gbG9hZEZyb207XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvYWRlciA9IG5ldyBJbnB1dFNlbGVjdERhdGFMb2FkZXIodGhpcyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSW5wdXRTZWxlY3REYXRhTG9hZGVye1xyXG4gIHByaXZhdGUgbHN0Q29tcG9uZW50czogSW5wdXRTZWxlY3RDb21wb25lbnRbXSA9IFtdO1xyXG4gIHByaXZhdGUgY29uZmlndXJhdGlvbjogSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uO1xyXG5cclxuICAvKiogVmFsb3IgcXVlIHNlcsOhIHNldGFkbyBubyBmb3JtQ29udHJvbCAqL1xyXG4gIHB1YmxpYyBiaW5kVmFsdWU6ICgob2JqOiBhbnkpID0+IGFueSkgICB8IG51bGwgPSBudWxsO1xyXG4gIC8qKiBWYWxvciBxdWUgc2Vyw6EgZXhpYmlkbyAqL1xyXG4gIHB1YmxpYyBiaW5kTGFiZWw6ICgob2JqOiBhbnkpID0+IHN0cmluZyl8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb25maWd1cmF0aW9uOiBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24pICB7IFxyXG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjsgXHJcbiAgICB0aGlzLmJpbmRWYWx1ZSA9IEJpbmRWYWx1ZUZhY3RvcnkoY29uZmlndXJhdGlvbilcclxuICAgIHRoaXMuYmluZExhYmVsID0gQmluZExhYmVsRmFjdG9yeShjb25maWd1cmF0aW9uKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEFkZENvbXBvbmVudChjb21wb25lbnQ6IElucHV0U2VsZWN0Q29tcG9uZW50KTogdm9pZCB7IFxyXG4gICAgdGhpcy5sc3RDb21wb25lbnRzLnB1c2goY29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIC8vVE9ETyBSZW1vdmUgZnVuY3Rpb25cclxuICAgcHVibGljIEdldExhYmVsKHZhbHVlOiBhbnkpe1xyXG4gICAgaWYoIXRoaXMuaXRlbXMgfHwgIXRoaXMuYmluZFZhbHVlIHx8ICF0aGlzLmJpbmRMYWJlbCl7IHJldHVybiBcIlwiOyB9XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtcy5maW5kKHAgPT4gdGhpcy5iaW5kVmFsdWUocCkgPT0gdmFsdWUpO1xyXG4gICAgaWYoIWl0ZW0peyByZXR1cm4gXCJcIiA7fVxyXG4gICAgcmV0dXJuIHRoaXMuYmluZExhYmVsKGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgaXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBlcnJvciAgIDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBhc3luYyBSZWZyZXNoKGl0ZW1zPzogYW55W10pOiBQcm9taXNlPHZvaWQ+e1xyXG4gICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5sc3RDb21wb25lbnRzKSB7XHJcbiAgICAgIGNvbXBvbmVudC5sb2FkaW5nRnJvbUxvYWRlciA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmKCF0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb21TZXJ2aWNlICAmJiBcclxuICAgICAgICF0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb21GdW5jdGlvbiAmJiBcclxuICAgICAgICghdGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tQXJyYXkgfHwgIXRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbUFycmF5Lmxlbmd0aClcclxuICAgICAgKXtcclxuICAgICAgdGhpcy5pdGVtcyA9IFsuLi5pdGVtcyB8fCBbXV07XHJcbiAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLmxzdENvbXBvbmVudHMpIHtcclxuICAgICAgICBpZighY29tcG9uZW50LmRlc3Ryb3llZClcclxuICAgICAgICBjb21wb25lbnQuaXRlbXMuc2V0KFsuLi50aGlzLml0ZW1zXSk7IFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRyeXtcclxuICAgICAgYXdhaXQgdGhpcy5Mb2FkKCk7XHJcbiAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiB0aGlzLmxzdENvbXBvbmVudHMpIHtcclxuICAgICAgICBpZighY29tcG9uZW50LmRlc3Ryb3llZClcclxuICAgICAgICBjb21wb25lbnQuaXRlbXMuc2V0KFsuLi50aGlzLml0ZW1zXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGZpbmFsbHl7XHJcbiAgICAgIGZvciAoY29uc3QgY29tcG9uZW50IG9mIHRoaXMubHN0Q29tcG9uZW50cykge1xyXG4gICAgICAgIGNvbXBvbmVudC5sb2FkaW5nRnJvbUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpdGVtczogYW55W10gPSBbXTtcclxuICBhc3luYyBMb2FkKCk6IFByb21pc2U8dm9pZD57XHJcbiAgICBpZih0aGlzLmlzTG9hZGVkKXtcclxuICAgICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5sc3RDb21wb25lbnRzKSB7XHJcbiAgICAgICBpZighY29tcG9uZW50LmRlc3Ryb3llZClcclxuICAgICAgICBjb21wb25lbnQuaXRlbXMuc2V0KFsuLi50aGlzLml0ZW1zXSk7IFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvL1sgTG9hZCBmcm9tIEFycmF5IF1cclxuICAgIGlmKHRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbUFycmF5ICE9IHVuZGVmaW5lZCAmJiB0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb21BcnJheS5sZW5ndGgpe1xyXG4gICAgICB0aGlzLml0ZW1zID0gWy4uLnRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbUFycmF5XTtcclxuICAgICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5sc3RDb21wb25lbnRzKSB7XHJcbiAgICAgICBpZighY29tcG9uZW50LmRlc3Ryb3llZClcclxuICAgICAgICBjb21wb25lbnQuaXRlbXMuc2V0KFsuLi50aGlzLml0ZW1zXSk7IFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvL1sgTG9hZCBmcm9tIGFwaSBdXHJcbiAgICBsZXQgdkZpbHRyb3M6IFZpZXdGaWx0cm9zIHwgbnVsbCA9IHRoaXMuY29uZmlndXJhdGlvbi52RmlsdHJvcztcclxuICAgIHRyeXtcclxuICAgICAgbGV0IGxzdERhZG9zOiBhbnlbXSA9IFtdO1xyXG4gICAgICBcclxuICAgICAgaWYodGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tU2VydmljZSl7XHJcbiAgICAgICAgbHN0RGFkb3MgPSAoYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tU2VydmljZS5MaXN0KHZGaWx0cm9zKSkpLmxzdERhZG9zXHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGxzdERhZG9zID0gKGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuY29uZmlndXJhdGlvbi5sb2FkRnJvbUZ1bmN0aW9uKSkubHN0RGFkb3M7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuaXRlbXMgPSBsc3REYWRvcztcclxuICAgICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5sc3RDb21wb25lbnRzKSB7XHJcbiAgICAgICAgaWYoIWNvbXBvbmVudC5kZXN0cm95ZWQpXHJcbiAgICAgICAgY29tcG9uZW50Lml0ZW1zLnNldChbLi4udGhpcy5pdGVtc10pOyBcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5lcnJvciA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGUpeyB0aGlzLmVycm9yID0gdHJ1ZTsgdGhyb3cgZTsgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEJpbmRWYWx1ZUZhY3RvcnkoY29uZmlndXJhdGlvbjogSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uKTogKChvYmo6IGFueSkgPT4gYW55KSB7XHJcbiAgY29uc3QgY0JpbmRWYWx1ZSA9IGNvbmZpZ3VyYXRpb24uYmluZFZhbHVlO1xyXG4gIGxldCBiaW5kVmFsdWU6ICgoYXJnczogYW55KSA9PiBhbnkpID0gbnVsbDtcclxuICBpZih0eXBlb2YoY0JpbmRWYWx1ZSkgPT0gJ3N0cmluZycpe1xyXG4gICAgbGV0IGJ2Uzogc3RyaW5nICAgICAgICAgICAgICAgPSBjQmluZFZhbHVlO1xyXG4gICAgYmluZFZhbHVlID0gKChvYmo6IGFueSk6IGFueSA9PiB7IHJldHVybiBvYmpbYnZTXTsgfSk7XHJcbiAgfWVsc2V7XHJcbiAgICBsZXQgYnZGOiAoKGFyZ3M6IGFueSkgPT4gYW55KSA9IGNCaW5kVmFsdWU7XHJcbiAgICBiaW5kVmFsdWUgPSAoKG9iajogYW55KTogYW55ID0+IHsgcmV0dXJuIGJ2RihvYmopOyB9KTtcclxuICB9XHJcbiAgcmV0dXJuIGJpbmRWYWx1ZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEJpbmRMYWJlbEZhY3RvcnkoY29uZmlndXJhdGlvbjogSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uKTogKChvYmo6IGFueSkgPT4gc3RyaW5nKSB7XHJcbiAgY29uc3QgY0JpbmRMYWJlbCA9IGNvbmZpZ3VyYXRpb24uYmluZExhYmVsO1xyXG4gIGxldCBiaW5kTGFiZWw6ICgoYXJnczogYW55KSA9PiBzdHJpbmcpID0gbnVsbDtcclxuICBpZih0eXBlb2YoY0JpbmRMYWJlbCkgPT0gJ3N0cmluZycpe1xyXG4gICAgbGV0IGJsUzogc3RyaW5nICAgICAgICAgICAgICAgPSBjQmluZExhYmVsO1xyXG4gICAgYmluZExhYmVsID0gKChvYmo6IGFueSk6IHN0cmluZyA9PiB7IHJldHVybiBvYmpbYmxTXSArICcnOyB9KTtcclxuICB9ZWxzZXtcclxuICAgIGxldCBibEY6ICgoYXJnczogYW55KSA9PiBhbnkpID0gY0JpbmRMYWJlbDtcclxuICAgIGJpbmRMYWJlbCA9ICgob2JqOiBhbnkpOiBzdHJpbmcgPT4geyByZXR1cm4gYmxGKG9iaikgKyAnJzsgfSk7XHJcbiAgfVxyXG4gIHJldHVybiBiaW5kTGFiZWw7XHJcbn0iXX0=
@@ -1040,8 +1040,7 @@ var SelectInterfaces;
1040
1040
  SelectInterfaces[SelectInterfaces["Dynamic"] = 0] = "Dynamic";
1041
1041
  SelectInterfaces[SelectInterfaces["Popover"] = 0] = "Popover";
1042
1042
  SelectInterfaces[SelectInterfaces["Modal"] = 1] = "Modal";
1043
- SelectInterfaces[SelectInterfaces["Alert"] = 2] = "Alert";
1044
- SelectInterfaces[SelectInterfaces["ActionSheet"] = 3] = "ActionSheet";
1043
+ SelectInterfaces[SelectInterfaces["ActionSheet"] = 2] = "ActionSheet";
1045
1044
  })(SelectInterfaces || (SelectInterfaces = {}));
1046
1045
  class InputSelectConfiguration {
1047
1046
  static Create(options) {
@@ -3366,25 +3365,20 @@ class InputSelectComponent extends CustomInput {
3366
3365
  if (this.configuration().useInfiniteScroll) {
3367
3366
  this.lstOptions = this.lstOptions.slice(0, this.infiniteScrollPage() * 25);
3368
3367
  }
3369
- if (this.configuration().interface == SelectInterfaces.Alert) {
3370
- this.lstOptionsAlert = this.lstOptions.map(p => {
3371
- return {
3372
- label: p.label,
3373
- handler: () => { this.Select(p); },
3374
- cssClass: p.disabled ? 'disabled' : '',
3375
- role: p.disabled ? 'disabled' : undefined,
3376
- };
3377
- });
3378
- }
3379
- else if (this.configuration().interface == SelectInterfaces.ActionSheet) {
3380
- this.lstOptionsActionSheet = this.lstOptions.map(p => {
3381
- return {
3382
- text: p.label,
3383
- handler: () => { this.Select(p); },
3384
- cssClass: p.disabled ? 'disabled' : '',
3385
- role: p.disabled ? 'disabled' : undefined,
3386
- };
3387
- });
3368
+ if (this.configuration().interface == SelectInterfaces.ActionSheet) {
3369
+ this.lstOptionsActionSheet = [...this.lstOptions.map(p => {
3370
+ return {
3371
+ text: p.label,
3372
+ handler: () => { this.Select(p); },
3373
+ role: p.selected ? 'selected' : '',
3374
+ };
3375
+ }),
3376
+ {
3377
+ text: 'Cancelar',
3378
+ role: 'cancel',
3379
+ data: { action: 'cancel', },
3380
+ }
3381
+ ];
3388
3382
  }
3389
3383
  }
3390
3384
  UpdateSelected() {
@@ -3430,6 +3424,7 @@ class InputSelectComponent extends CustomInput {
3430
3424
  });
3431
3425
  this.lstOptions = [];
3432
3426
  this.lstOptionsAlert = [];
3427
+ this.lstButtonsAlert = [];
3433
3428
  this.lstOptionsActionSheet = [];
3434
3429
  this.infiniteScrollPage = signal(1);
3435
3430
  this.isServiceAtivo = computed(() => { return this.configuration().loadFromService instanceof HttpServiceAtivo; });
@@ -3466,7 +3461,7 @@ class InputSelectComponent extends CustomInput {
3466
3461
  }
3467
3462
  }
3468
3463
  // [ inputContainer ]
3469
- if (this.inputContainer.nativeElement.contains(event.target)) {
3464
+ if (this.inputContainer?.nativeElement?.contains(event.target)) {
3470
3465
  if (["ArrowDown", "ArrowUp"].includes(event.key)) {
3471
3466
  event.preventDefault();
3472
3467
  this.Present(event);
@@ -3474,7 +3469,7 @@ class InputSelectComponent extends CustomInput {
3474
3469
  }
3475
3470
  }
3476
3471
  // [ inputSelectSearchBar ]
3477
- if (this.inputSearchBar.nativeElement == event.target) {
3472
+ if (this.inputSearchBar?.nativeElement == event.target) {
3478
3473
  if (event.key == "Enter") {
3479
3474
  event.preventDefault();
3480
3475
  // If the select is not ativo ignore the selected item
@@ -3591,9 +3586,6 @@ class InputSelectComponent extends CustomInput {
3591
3586
  await this.popover.present(event);
3592
3587
  this.inputSearchBar.nativeElement.focus();
3593
3588
  }
3594
- else if (this.configuration().interface == SelectInterfaces.Alert) {
3595
- await this.alert.present();
3596
- }
3597
3589
  else if (this.configuration().interface == SelectInterfaces.ActionSheet) {
3598
3590
  await this.actionSheet.present();
3599
3591
  }
@@ -3628,14 +3620,14 @@ class InputSelectComponent extends CustomInput {
3628
3620
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InputSelectComponent, selector: "input-select", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange" }, host: { listeners: { "document:keydown": "HandleKeyboardEvent($event)" } }, providers: [
3629
3621
  ...InputProviderFactory.GetProviders(InputSelectComponent),
3630
3622
  { provide: CustomInput, useExisting: forwardRef(() => InputSelectComponent) },
3631
- ], queries: [{ propertyName: "labelTemplate", first: true, predicate: SIonLabelTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "optionTemplate", first: true, predicate: SIonOptionTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "placeholderTemplate", first: true, predicate: SIonPlaceholderTemplateDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }, { propertyName: "inputSelectLabel", first: true, predicate: ["inputSelectLabel"], descendants: true }, { propertyName: "inputSearchBar", first: true, predicate: ["inputSearchBar"], descendants: true }, { propertyName: "selectContent", first: true, predicate: ["selectContent"], descendants: true }, { propertyName: "popover", first: true, predicate: SIonPopoverComponent, descendants: true }, { propertyName: "modal", first: true, predicate: IonModal, descendants: true }, { propertyName: "alert", first: true, predicate: IonAlert, descendants: true }, { propertyName: "actionSheet", first: true, predicate: IonActionSheet, descendants: true }, { propertyName: "ionContent", first: true, predicate: ["scrollContent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event);\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.manual-focus]=\"floatingVisible\"\r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"loading() || loadingFromLoader || disabled()\"\r\n [class.loading]=\"loading() || loadingFromLoader\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n \r\n <div class=\"w-full truncate outline-none\" [class.pr-7]=\"!configuration().clearable\" [class.pr-10]=\"configuration().clearable\" #inputSelectLabel tabindex=\"0\">\r\n @if (!configuration().multiple && currentLabel){\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: currentLabel, item: currentItems.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{currentLabel}} </span>\r\n }\r\n }\r\n @else if (configuration().multiple && isArray(currentItems) && $any(currentItems).length) {\r\n <div class=\"w-full min-h-6 overflow-hidden relative\">\r\n <div class=\"absolute left-0 top-0 overflow-x-auto flex gap-2 size-full mask-x/2\">\r\n @for (item of currentItems; track $index) {\r\n <div class=\"translucid-border rounded-lg flex items-center justify-center gap-2 pl-2\">\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item.label, item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{item.label}} </span>\r\n }\r\n \r\n <div class=\"h-full aspect-square flex items-center justify-center cursor-pointer\" (click)=\"Select(item); $event.stopPropagation()\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n <!-- <ion-button class=\"m-0 h-full\" (click)=\"Select(item.value); $event.stopPropagation()\" color=\"medium\" size=\"small\" fill=\"outline\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @else {\r\n @if(placeholderTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"placeholderTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: this.configuration().placeholder, placeholder: this.configuration().placeholder }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label !text-medium\"> {{this.configuration().placeholder}} </span>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"absolute bottom-1 flex flex-col items-center justify-center size-7\" [class.right-1]=\"!configuration().clearable\" [class.right-8]=\"configuration().clearable\">\r\n <ion-icon class=\"-mb-0.5\" name=\"chevron-up\"></ion-icon>\r\n <ion-icon class=\"-mt-0.5\" name=\"chevron-down\"></ion-icon>\r\n </div>\r\n @if(configuration().clearable){\r\n <ion-button class=\"absolute right-1 bottom-1\" (click)=\"Clear($event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n } \r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading() || loadingFromLoader\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n <div class=\"error-container\" (click)=\"configuration().loader.Refresh()\" [class.active]=\"configuration().loader.error && !loadingFromLoader\">\r\n <ion-icon class=\"text-xl\" color=\"danger\" name=\"refresh-circle\"></ion-icon>\r\n </div>\r\n</div>\r\n\r\n@if(!disabled()){\r\n @if(configuration().interface == SelectInterfaces.Popover || configuration().interface == SelectInterfaces.Dynamic){\r\n <sion-popover \r\n #popover \r\n [width]=\"inputContainer.offsetWidth + 'px'\" \r\n (onWillPresent)=\"OnPresent()\" \r\n (onDidDismiss)=\"OnDismiss()\" \r\n [anchor]=\"inputContainer\" \r\n [placement]=\"configuration().popoverConfiguration.placement\" \r\n [flip]=\"configuration().popoverConfiguration.flip\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\"></ng-container>\r\n </sion-popover>\r\n }\r\n @if(configuration().interface == SelectInterfaces.Modal || configuration().interface == SelectInterfaces.Dynamic){\r\n <ion-modal #modal (ionModalWillPresent)=\"OnPresent()\" (didDismiss)=\"OnDismiss()\" style=\"--width: 90%; --height: 90%;\" [keepContentsMounted]=\"true\">\r\n <ng-template>\r\n <ion-header>\r\n <ion-toolbar>\r\n <ion-buttons slot=\"end\">\r\n <ion-button (click)=\"modal.dismiss()\">\r\n <ion-icon name=\"close-circle\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n </ion-toolbar>\r\n </ion-header>\r\n \r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\" [ngTemplateOutletContext]=\"{ modal: true }\"></ng-container>\r\n </ng-template>\r\n </ion-modal>\r\n }\r\n\r\n\r\n @if(configuration().interface == SelectInterfaces.Alert){\r\n <ion-alert #alert [header]=\"label\" [subHeader]=\"configuration().placeholder\" [buttons]=\"lstOptionsAlert\"> </ion-alert>\r\n }\r\n @if (configuration().interface == SelectInterfaces.ActionSheet ) {\r\n <ion-action-sheet #actionSheet trigger=\"open-action-sheet\" [header]=\"label\" [buttons]=\"lstOptionsActionSheet\"></ion-action-sheet>\r\n }\r\n\r\n}\r\n\r\n<ng-template #selectContentTemplate let-modal=\"modal\">\r\n <div #selectContent class=\"select-content\" [class.!size-full]=\"modal\">\r\n <div class=\"select-search-bar-container\">\r\n <div class=\"select-search-bar-icon-container !border-r-0 border-primary/70 bg-primary/70 shrink-0\">\r\n <ion-icon color=\"dark\" name=\"search\"></ion-icon>\r\n </div>\r\n <input #inputSearchBar tabindex=\"-1\" class=\"select-search-bar border-primary/70 !rounded-l-none\" [formControl]=\"searchBarControl\"/>\r\n </div> \r\n <ul class=\"select-item-list mask-y\" role=\"listbox\" [attr.aria-activedescendant]=\"'sion-is-' + selectedIndex\">\r\n <ion-content #scrollContent class=\"size-full\" [scrollY]=\"true\">\r\n @for (item of lstOptions; track item.value) { \r\n <ng-container \r\n [ngTemplateOutlet]=\"baseOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item, index: $index }\">\r\n </ng-container>\r\n }\r\n @if(configuration().useInfiniteScroll){\r\n <ion-infinite-scroll threshold=\"10px\" *ngIf=\"lstOptions.length && lstOptions.length != lstOptionsItemValue().length\" (ionInfinite)=\"AddPage($event)\">\r\n <ion-infinite-scroll-content></ion-infinite-scroll-content>\r\n </ion-infinite-scroll>\r\n }\r\n </ion-content>\r\n </ul>\r\n @if(isServiceAtivo()){\r\n <div class=\"w-full text-xs flex items-center justify-end\">\r\n <ion-checkbox [ngModel]=\"somenteAtivos()\" (ngModelChange)=\"somenteAtivos.set($event)\" class=\"scale-75\"> Somente ativos </ion-checkbox>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #baseOptionTemplate let-item=\"item\" let-index=\"index\">\r\n <li [id]=\"'sion-is-' + index\" class=\"select-item\" [class.disabled]=\"item.disabled\" [attr.aria-selected]=\"index == selectedIndex\" (mouseenter)=\"selectedIndex = index\" (click)=\"Select(item)\">\r\n <div class=\"select-item-checkmark-conteiner\">\r\n @if(item.selected) {\r\n <ion-icon class=\"select-item-checkmark\" color=\"primary\" name=\"checkmark\"></ion-icon>\r\n }\r\n </div>\r\n @if (optionTemplate) {\r\n <ng-container \r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"select-item-label\"> {{item.label}} </span>\r\n }\r\n </li>\r\n</ng-template>", styles: [".input-container{cursor:pointer!important}.input-select-label{pointer-events:none;min-height:1.5rem;width:100%;outline:2px solid transparent;outline-offset:2px;color:var(--ion-color-dark)}.select-content{display:flex;height:18rem;width:100%;flex-direction:column;gap:.25rem;overflow:hidden;padding:.25rem}.select-content .select-search-bar-container{display:flex;width:100%;flex-shrink:1}.select-content .select-search-bar-container .select-search-bar-icon-container{display:flex;height:100%;width:1.75rem;align-items:center;justify-content:center;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-width:1px}.select-content .select-search-bar-container .select-search-bar{width:100%;flex-shrink:1;border-radius:.375rem;border-width:1px;background-color:transparent;padding-left:.5rem;padding-right:.5rem;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}@media (orientation: portrait){.select-content .select-search-bar-container .select-search-bar{height:2.5rem}}@media (orientation: landscape){.select-content .select-search-bar-container .select-search-bar{height:1.75rem}}.select-item-list{width:100%;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.select-item-list .select-item{color:var(--ion-color-dark);display:flex;width:100%;flex-shrink:0;align-items:center;justify-content:flex-start;border-radius:.375rem;padding-right:.5rem}@media (orientation: portrait){.select-item-list .select-item{min-height:2.5rem}}@media (orientation: landscape){.select-item-list .select-item{min-height:2rem}}.select-item-list .select-item{cursor:pointer}.select-item-list .select-item.disabled{opacity:.5;pointer-events:none}.select-item-list .select-item:hover,.select-item-list .select-item:focus,.select-item-list .select-item[aria-selected=true]{background-color:color-mix(in srgb,var(--ion-color-dark) 20%,transparent)}.select-item-list .select-item .select-item-checkmark-conteiner{display:flex;height:100%;width:1.75rem;flex-shrink:0;align-items:center;justify-content:center}.select-item-list .select-item .select-item-label{width:100%}.error-container{pointer-events:none;position:absolute;bottom:0;left:0;z-index:200;display:flex;width:100%;height:100%;--tw-translate-y: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center;opacity:0;will-change:opacity,auto;transition:opacity .2s ease-in-out,transform .2s ease-in-out}.error-container.active{pointer-events:auto!important;--tw-translate-y: 0px !important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important;opacity:1!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonActionSheet, selector: "ion-action-sheet", inputs: ["animated", "backdropDismiss", "buttons", "cssClass", "enterAnimation", "header", "htmlAttributes", "isOpen", "keyboardClose", "leaveAnimation", "mode", "subHeader", "translucent", "trigger"] }, { kind: "component", type: i1.IonAlert, selector: "ion-alert", inputs: ["animated", "backdropDismiss", "buttons", "cssClass", "enterAnimation", "header", "htmlAttributes", "inputs", "isOpen", "keyboardClose", "leaveAnimation", "message", "mode", "subHeader", "translucent", "trigger"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["alignment", "checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInfiniteScroll, selector: "ion-infinite-scroll", inputs: ["disabled", "position", "threshold"] }, { kind: "component", type: i1.IonInfiniteScrollContent, selector: "ion-infinite-scroll-content", inputs: ["loadingSpinner", "loadingText"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal" }, { kind: "directive", type: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss"] }] }); }
3623
+ ], queries: [{ propertyName: "labelTemplate", first: true, predicate: SIonLabelTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "optionTemplate", first: true, predicate: SIonOptionTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "placeholderTemplate", first: true, predicate: SIonPlaceholderTemplateDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }, { propertyName: "inputSelectLabel", first: true, predicate: ["inputSelectLabel"], descendants: true }, { propertyName: "inputSearchBar", first: true, predicate: ["inputSearchBar"], descendants: true }, { propertyName: "selectContent", first: true, predicate: ["selectContent"], descendants: true }, { propertyName: "popover", first: true, predicate: SIonPopoverComponent, descendants: true }, { propertyName: "modal", first: true, predicate: IonModal, descendants: true }, { propertyName: "alert", first: true, predicate: IonAlert, descendants: true }, { propertyName: "actionSheet", first: true, predicate: IonActionSheet, descendants: true }, { propertyName: "ionContent", first: true, predicate: ["scrollContent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event);\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.manual-focus]=\"floatingVisible\"\r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"loading() || loadingFromLoader || disabled()\"\r\n [class.loading]=\"loading() || loadingFromLoader\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n \r\n <div class=\"w-full truncate outline-none\" [class.pr-7]=\"!configuration().clearable\" [class.pr-10]=\"configuration().clearable\" #inputSelectLabel tabindex=\"0\">\r\n @if (!configuration().multiple && currentLabel){\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: currentLabel, item: currentItems.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{currentLabel}} </span>\r\n }\r\n }\r\n @else if (configuration().multiple && isArray(currentItems) && $any(currentItems).length) {\r\n <div class=\"w-full min-h-6 overflow-hidden relative\">\r\n <div class=\"absolute left-0 top-0 overflow-x-auto flex gap-2 size-full mask-x/2\">\r\n @for (item of currentItems; track $index) {\r\n <div class=\"translucid-border rounded-lg flex items-center justify-center gap-2 pl-2\">\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item.label, item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{item.label}} </span>\r\n }\r\n \r\n <div class=\"h-full aspect-square flex items-center justify-center cursor-pointer\" (click)=\"Select(item); $event.stopPropagation()\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n <!-- <ion-button class=\"m-0 h-full\" (click)=\"Select(item.value); $event.stopPropagation()\" color=\"medium\" size=\"small\" fill=\"outline\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @else {\r\n @if(placeholderTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"placeholderTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: this.configuration().placeholder, placeholder: this.configuration().placeholder }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label !text-medium\"> {{this.configuration().placeholder}} </span>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"absolute bottom-1 flex flex-col items-center justify-center size-7\" [class.right-1]=\"!configuration().clearable\" [class.right-8]=\"configuration().clearable\">\r\n <ion-icon class=\"-mb-0.5\" name=\"chevron-up\"></ion-icon>\r\n <ion-icon class=\"-mt-0.5\" name=\"chevron-down\"></ion-icon>\r\n </div>\r\n @if(configuration().clearable){\r\n <ion-button class=\"absolute right-1 bottom-1\" (click)=\"Clear($event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n } \r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading() || loadingFromLoader\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n <div class=\"error-container\" (click)=\"configuration().loader.Refresh()\" [class.active]=\"configuration().loader.error && !loadingFromLoader\">\r\n <ion-icon class=\"text-xl\" color=\"danger\" name=\"refresh-circle\"></ion-icon>\r\n </div>\r\n</div>\r\n\r\n@if(!disabled()){\r\n @if(configuration().interface == SelectInterfaces.Popover || configuration().interface == SelectInterfaces.Dynamic){\r\n <sion-popover \r\n #popover \r\n [width]=\"inputContainer.offsetWidth + 'px'\" \r\n (onWillPresent)=\"OnPresent()\" \r\n (onDidDismiss)=\"OnDismiss()\" \r\n [anchor]=\"inputContainer\" \r\n [placement]=\"configuration().popoverConfiguration.placement\" \r\n [flip]=\"configuration().popoverConfiguration.flip\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\"></ng-container>\r\n </sion-popover>\r\n }\r\n @if(configuration().interface == SelectInterfaces.Modal || configuration().interface == SelectInterfaces.Dynamic){\r\n <ion-modal #modal (ionModalWillPresent)=\"OnPresent()\" (didDismiss)=\"OnDismiss()\" [initialBreakpoint]=\"0.9\" [keepContentsMounted]=\"true\">\r\n <ng-template>\r\n <ion-header>\r\n <ion-toolbar>\r\n <ion-title class=\"text-center\">\r\n {{label()}}\r\n </ion-title>\r\n <ion-buttons slot=\"end\">\r\n <ion-button (click)=\"modal.dismiss()\">\r\n <ion-icon name=\"close-circle\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n </ion-toolbar>\r\n </ion-header>\r\n \r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\" [ngTemplateOutletContext]=\"{ modal: true }\"></ng-container>\r\n </ng-template>\r\n </ion-modal>\r\n }\r\n\r\n @if (configuration().interface == SelectInterfaces.ActionSheet ) {\r\n <ion-action-sheet #actionSheet trigger=\"open-action-sheet\" [header]=\"label()\" [buttons]=\"lstOptionsActionSheet\"></ion-action-sheet>\r\n }\r\n}\r\n\r\n<ng-template #selectContentTemplate let-modal=\"modal\">\r\n <div #selectContent class=\"select-content\" [class.!size-full]=\"modal\">\r\n <div class=\"select-search-bar-container\">\r\n <div class=\"select-search-bar-icon-container !border-r-0 border-primary/70 bg-primary/70 shrink-0\">\r\n <ion-icon color=\"dark\" name=\"search\"></ion-icon>\r\n </div>\r\n <input #inputSearchBar tabindex=\"-1\" class=\"select-search-bar border-primary/70 !rounded-l-none\" [formControl]=\"searchBarControl\"/>\r\n </div> \r\n <ul class=\"select-item-list mask-y\" role=\"listbox\" [attr.aria-activedescendant]=\"'sion-is-' + selectedIndex\">\r\n <ion-content #scrollContent class=\"size-full\" [scrollY]=\"true\">\r\n @for (item of lstOptions; track item.value) { \r\n <ng-container \r\n [ngTemplateOutlet]=\"baseOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item, index: $index }\">\r\n </ng-container>\r\n }\r\n @if(configuration().useInfiniteScroll){\r\n <ion-infinite-scroll threshold=\"10px\" *ngIf=\"lstOptions.length && lstOptions.length != lstOptionsItemValue().length\" (ionInfinite)=\"AddPage($event)\">\r\n <ion-infinite-scroll-content></ion-infinite-scroll-content>\r\n </ion-infinite-scroll>\r\n }\r\n </ion-content>\r\n </ul>\r\n @if(isServiceAtivo()){\r\n <div class=\"w-full text-xs flex items-center justify-end\">\r\n <ion-checkbox [ngModel]=\"somenteAtivos()\" (ngModelChange)=\"somenteAtivos.set($event)\" class=\"scale-75\"> Somente ativos </ion-checkbox>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #baseOptionTemplate let-item=\"item\" let-index=\"index\">\r\n <li [id]=\"'sion-is-' + index\" class=\"select-item\" [class.disabled]=\"item.disabled\" [attr.aria-selected]=\"index == selectedIndex\" (mouseenter)=\"selectedIndex = index\" (click)=\"Select(item)\">\r\n <div class=\"select-item-checkmark-conteiner\">\r\n @if(item.selected) {\r\n <ion-icon class=\"select-item-checkmark\" color=\"primary\" name=\"checkmark\"></ion-icon>\r\n }\r\n </div>\r\n @if (optionTemplate) {\r\n <ng-container \r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"select-item-label\"> {{item.label}} </span>\r\n }\r\n </li>\r\n</ng-template>", styles: [".input-container{cursor:pointer!important}.input-select-label{pointer-events:none;min-height:1.5rem;width:100%;outline:2px solid transparent;outline-offset:2px;color:var(--ion-color-dark)}.select-content{display:flex;height:18rem;width:100%;flex-direction:column;gap:.25rem;overflow:hidden;padding:.25rem}.select-content .select-search-bar-container{display:flex;width:100%;flex-shrink:1}.select-content .select-search-bar-container .select-search-bar-icon-container{display:flex;height:100%;width:1.75rem;align-items:center;justify-content:center;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-width:1px}.select-content .select-search-bar-container .select-search-bar{width:100%;flex-shrink:1;border-radius:.375rem;border-width:1px;background-color:transparent;padding-left:.5rem;padding-right:.5rem;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}@media (orientation: portrait){.select-content .select-search-bar-container .select-search-bar{height:2.5rem}}@media (orientation: landscape){.select-content .select-search-bar-container .select-search-bar{height:1.75rem}}.select-item-list{width:100%;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.select-item-list .select-item{color:var(--ion-color-dark);display:flex;width:100%;flex-shrink:0;align-items:center;justify-content:flex-start;border-radius:.375rem;padding-right:.5rem}@media (orientation: portrait){.select-item-list .select-item{min-height:2.5rem}}@media (orientation: landscape){.select-item-list .select-item{min-height:2rem}}.select-item-list .select-item{cursor:pointer}.select-item-list .select-item.disabled{opacity:.5;pointer-events:none}.select-item-list .select-item:hover,.select-item-list .select-item:focus,.select-item-list .select-item[aria-selected=true]{background-color:color-mix(in srgb,var(--ion-color-dark) 20%,transparent)}.select-item-list .select-item .select-item-checkmark-conteiner{display:flex;height:100%;width:1.75rem;flex-shrink:0;align-items:center;justify-content:center}.select-item-list .select-item .select-item-label{width:100%}.error-container{pointer-events:none;position:absolute;bottom:0;left:0;z-index:200;display:flex;width:100%;height:100%;--tw-translate-y: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center;opacity:0;will-change:opacity,auto;transition:opacity .2s ease-in-out,transform .2s ease-in-out}.error-container.active{pointer-events:auto!important;--tw-translate-y: 0px !important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important;opacity:1!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonActionSheet, selector: "ion-action-sheet", inputs: ["animated", "backdropDismiss", "buttons", "cssClass", "enterAnimation", "header", "htmlAttributes", "isOpen", "keyboardClose", "leaveAnimation", "mode", "subHeader", "translucent", "trigger"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["alignment", "checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInfiniteScroll, selector: "ion-infinite-scroll", inputs: ["disabled", "position", "threshold"] }, { kind: "component", type: i1.IonInfiniteScrollContent, selector: "ion-infinite-scroll-content", inputs: ["loadingSpinner", "loadingText"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal" }, { kind: "directive", type: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss"] }] }); }
3632
3624
  }
3633
3625
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputSelectComponent, decorators: [{
3634
3626
  type: Component,
3635
3627
  args: [{ selector: 'input-select', providers: [
3636
3628
  ...InputProviderFactory.GetProviders(InputSelectComponent),
3637
3629
  { provide: CustomInput, useExisting: forwardRef(() => InputSelectComponent) },
3638
- ], template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event);\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.manual-focus]=\"floatingVisible\"\r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"loading() || loadingFromLoader || disabled()\"\r\n [class.loading]=\"loading() || loadingFromLoader\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n \r\n <div class=\"w-full truncate outline-none\" [class.pr-7]=\"!configuration().clearable\" [class.pr-10]=\"configuration().clearable\" #inputSelectLabel tabindex=\"0\">\r\n @if (!configuration().multiple && currentLabel){\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: currentLabel, item: currentItems.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{currentLabel}} </span>\r\n }\r\n }\r\n @else if (configuration().multiple && isArray(currentItems) && $any(currentItems).length) {\r\n <div class=\"w-full min-h-6 overflow-hidden relative\">\r\n <div class=\"absolute left-0 top-0 overflow-x-auto flex gap-2 size-full mask-x/2\">\r\n @for (item of currentItems; track $index) {\r\n <div class=\"translucid-border rounded-lg flex items-center justify-center gap-2 pl-2\">\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item.label, item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{item.label}} </span>\r\n }\r\n \r\n <div class=\"h-full aspect-square flex items-center justify-center cursor-pointer\" (click)=\"Select(item); $event.stopPropagation()\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n <!-- <ion-button class=\"m-0 h-full\" (click)=\"Select(item.value); $event.stopPropagation()\" color=\"medium\" size=\"small\" fill=\"outline\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @else {\r\n @if(placeholderTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"placeholderTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: this.configuration().placeholder, placeholder: this.configuration().placeholder }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label !text-medium\"> {{this.configuration().placeholder}} </span>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"absolute bottom-1 flex flex-col items-center justify-center size-7\" [class.right-1]=\"!configuration().clearable\" [class.right-8]=\"configuration().clearable\">\r\n <ion-icon class=\"-mb-0.5\" name=\"chevron-up\"></ion-icon>\r\n <ion-icon class=\"-mt-0.5\" name=\"chevron-down\"></ion-icon>\r\n </div>\r\n @if(configuration().clearable){\r\n <ion-button class=\"absolute right-1 bottom-1\" (click)=\"Clear($event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n } \r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading() || loadingFromLoader\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n <div class=\"error-container\" (click)=\"configuration().loader.Refresh()\" [class.active]=\"configuration().loader.error && !loadingFromLoader\">\r\n <ion-icon class=\"text-xl\" color=\"danger\" name=\"refresh-circle\"></ion-icon>\r\n </div>\r\n</div>\r\n\r\n@if(!disabled()){\r\n @if(configuration().interface == SelectInterfaces.Popover || configuration().interface == SelectInterfaces.Dynamic){\r\n <sion-popover \r\n #popover \r\n [width]=\"inputContainer.offsetWidth + 'px'\" \r\n (onWillPresent)=\"OnPresent()\" \r\n (onDidDismiss)=\"OnDismiss()\" \r\n [anchor]=\"inputContainer\" \r\n [placement]=\"configuration().popoverConfiguration.placement\" \r\n [flip]=\"configuration().popoverConfiguration.flip\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\"></ng-container>\r\n </sion-popover>\r\n }\r\n @if(configuration().interface == SelectInterfaces.Modal || configuration().interface == SelectInterfaces.Dynamic){\r\n <ion-modal #modal (ionModalWillPresent)=\"OnPresent()\" (didDismiss)=\"OnDismiss()\" style=\"--width: 90%; --height: 90%;\" [keepContentsMounted]=\"true\">\r\n <ng-template>\r\n <ion-header>\r\n <ion-toolbar>\r\n <ion-buttons slot=\"end\">\r\n <ion-button (click)=\"modal.dismiss()\">\r\n <ion-icon name=\"close-circle\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n </ion-toolbar>\r\n </ion-header>\r\n \r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\" [ngTemplateOutletContext]=\"{ modal: true }\"></ng-container>\r\n </ng-template>\r\n </ion-modal>\r\n }\r\n\r\n\r\n @if(configuration().interface == SelectInterfaces.Alert){\r\n <ion-alert #alert [header]=\"label\" [subHeader]=\"configuration().placeholder\" [buttons]=\"lstOptionsAlert\"> </ion-alert>\r\n }\r\n @if (configuration().interface == SelectInterfaces.ActionSheet ) {\r\n <ion-action-sheet #actionSheet trigger=\"open-action-sheet\" [header]=\"label\" [buttons]=\"lstOptionsActionSheet\"></ion-action-sheet>\r\n }\r\n\r\n}\r\n\r\n<ng-template #selectContentTemplate let-modal=\"modal\">\r\n <div #selectContent class=\"select-content\" [class.!size-full]=\"modal\">\r\n <div class=\"select-search-bar-container\">\r\n <div class=\"select-search-bar-icon-container !border-r-0 border-primary/70 bg-primary/70 shrink-0\">\r\n <ion-icon color=\"dark\" name=\"search\"></ion-icon>\r\n </div>\r\n <input #inputSearchBar tabindex=\"-1\" class=\"select-search-bar border-primary/70 !rounded-l-none\" [formControl]=\"searchBarControl\"/>\r\n </div> \r\n <ul class=\"select-item-list mask-y\" role=\"listbox\" [attr.aria-activedescendant]=\"'sion-is-' + selectedIndex\">\r\n <ion-content #scrollContent class=\"size-full\" [scrollY]=\"true\">\r\n @for (item of lstOptions; track item.value) { \r\n <ng-container \r\n [ngTemplateOutlet]=\"baseOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item, index: $index }\">\r\n </ng-container>\r\n }\r\n @if(configuration().useInfiniteScroll){\r\n <ion-infinite-scroll threshold=\"10px\" *ngIf=\"lstOptions.length && lstOptions.length != lstOptionsItemValue().length\" (ionInfinite)=\"AddPage($event)\">\r\n <ion-infinite-scroll-content></ion-infinite-scroll-content>\r\n </ion-infinite-scroll>\r\n }\r\n </ion-content>\r\n </ul>\r\n @if(isServiceAtivo()){\r\n <div class=\"w-full text-xs flex items-center justify-end\">\r\n <ion-checkbox [ngModel]=\"somenteAtivos()\" (ngModelChange)=\"somenteAtivos.set($event)\" class=\"scale-75\"> Somente ativos </ion-checkbox>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #baseOptionTemplate let-item=\"item\" let-index=\"index\">\r\n <li [id]=\"'sion-is-' + index\" class=\"select-item\" [class.disabled]=\"item.disabled\" [attr.aria-selected]=\"index == selectedIndex\" (mouseenter)=\"selectedIndex = index\" (click)=\"Select(item)\">\r\n <div class=\"select-item-checkmark-conteiner\">\r\n @if(item.selected) {\r\n <ion-icon class=\"select-item-checkmark\" color=\"primary\" name=\"checkmark\"></ion-icon>\r\n }\r\n </div>\r\n @if (optionTemplate) {\r\n <ng-container \r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"select-item-label\"> {{item.label}} </span>\r\n }\r\n </li>\r\n</ng-template>", styles: [".input-container{cursor:pointer!important}.input-select-label{pointer-events:none;min-height:1.5rem;width:100%;outline:2px solid transparent;outline-offset:2px;color:var(--ion-color-dark)}.select-content{display:flex;height:18rem;width:100%;flex-direction:column;gap:.25rem;overflow:hidden;padding:.25rem}.select-content .select-search-bar-container{display:flex;width:100%;flex-shrink:1}.select-content .select-search-bar-container .select-search-bar-icon-container{display:flex;height:100%;width:1.75rem;align-items:center;justify-content:center;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-width:1px}.select-content .select-search-bar-container .select-search-bar{width:100%;flex-shrink:1;border-radius:.375rem;border-width:1px;background-color:transparent;padding-left:.5rem;padding-right:.5rem;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}@media (orientation: portrait){.select-content .select-search-bar-container .select-search-bar{height:2.5rem}}@media (orientation: landscape){.select-content .select-search-bar-container .select-search-bar{height:1.75rem}}.select-item-list{width:100%;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.select-item-list .select-item{color:var(--ion-color-dark);display:flex;width:100%;flex-shrink:0;align-items:center;justify-content:flex-start;border-radius:.375rem;padding-right:.5rem}@media (orientation: portrait){.select-item-list .select-item{min-height:2.5rem}}@media (orientation: landscape){.select-item-list .select-item{min-height:2rem}}.select-item-list .select-item{cursor:pointer}.select-item-list .select-item.disabled{opacity:.5;pointer-events:none}.select-item-list .select-item:hover,.select-item-list .select-item:focus,.select-item-list .select-item[aria-selected=true]{background-color:color-mix(in srgb,var(--ion-color-dark) 20%,transparent)}.select-item-list .select-item .select-item-checkmark-conteiner{display:flex;height:100%;width:1.75rem;flex-shrink:0;align-items:center;justify-content:center}.select-item-list .select-item .select-item-label{width:100%}.error-container{pointer-events:none;position:absolute;bottom:0;left:0;z-index:200;display:flex;width:100%;height:100%;--tw-translate-y: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center;opacity:0;will-change:opacity,auto;transition:opacity .2s ease-in-out,transform .2s ease-in-out}.error-container.active{pointer-events:auto!important;--tw-translate-y: 0px !important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important;opacity:1!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"] }]
3630
+ ], template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"setFocus($event);\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.manual-focus]=\"floatingVisible\"\r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"loading() || loadingFromLoader || disabled()\"\r\n [class.loading]=\"loading() || loadingFromLoader\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n \r\n <div class=\"w-full truncate outline-none\" [class.pr-7]=\"!configuration().clearable\" [class.pr-10]=\"configuration().clearable\" #inputSelectLabel tabindex=\"0\">\r\n @if (!configuration().multiple && currentLabel){\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: currentLabel, item: currentItems.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{currentLabel}} </span>\r\n }\r\n }\r\n @else if (configuration().multiple && isArray(currentItems) && $any(currentItems).length) {\r\n <div class=\"w-full min-h-6 overflow-hidden relative\">\r\n <div class=\"absolute left-0 top-0 overflow-x-auto flex gap-2 size-full mask-x/2\">\r\n @for (item of currentItems; track $index) {\r\n <div class=\"translucid-border rounded-lg flex items-center justify-center gap-2 pl-2\">\r\n @if(labelTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item.label, item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label\"> {{item.label}} </span>\r\n }\r\n \r\n <div class=\"h-full aspect-square flex items-center justify-center cursor-pointer\" (click)=\"Select(item); $event.stopPropagation()\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n <!-- <ion-button class=\"m-0 h-full\" (click)=\"Select(item.value); $event.stopPropagation()\" color=\"medium\" size=\"small\" fill=\"outline\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" color=\"danger\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @else {\r\n @if(placeholderTemplate){\r\n <ng-container \r\n [ngTemplateOutlet]=\"placeholderTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: this.configuration().placeholder, placeholder: this.configuration().placeholder }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"input-select-label !text-medium\"> {{this.configuration().placeholder}} </span>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"absolute bottom-1 flex flex-col items-center justify-center size-7\" [class.right-1]=\"!configuration().clearable\" [class.right-8]=\"configuration().clearable\">\r\n <ion-icon class=\"-mb-0.5\" name=\"chevron-up\"></ion-icon>\r\n <ion-icon class=\"-mt-0.5\" name=\"chevron-down\"></ion-icon>\r\n </div>\r\n @if(configuration().clearable){\r\n <ion-button class=\"absolute right-1 bottom-1\" (click)=\"Clear($event)\" color=\"medium\" size=\"small\" fill=\"clear\" style=\"--border-radius: .5rem\">\r\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\r\n </ion-button>\r\n } \r\n\r\n <div class=\"loading-container\" [class.loading]=\"loading() || loadingFromLoader\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n <div class=\"error-container\" (click)=\"configuration().loader.Refresh()\" [class.active]=\"configuration().loader.error && !loadingFromLoader\">\r\n <ion-icon class=\"text-xl\" color=\"danger\" name=\"refresh-circle\"></ion-icon>\r\n </div>\r\n</div>\r\n\r\n@if(!disabled()){\r\n @if(configuration().interface == SelectInterfaces.Popover || configuration().interface == SelectInterfaces.Dynamic){\r\n <sion-popover \r\n #popover \r\n [width]=\"inputContainer.offsetWidth + 'px'\" \r\n (onWillPresent)=\"OnPresent()\" \r\n (onDidDismiss)=\"OnDismiss()\" \r\n [anchor]=\"inputContainer\" \r\n [placement]=\"configuration().popoverConfiguration.placement\" \r\n [flip]=\"configuration().popoverConfiguration.flip\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\"></ng-container>\r\n </sion-popover>\r\n }\r\n @if(configuration().interface == SelectInterfaces.Modal || configuration().interface == SelectInterfaces.Dynamic){\r\n <ion-modal #modal (ionModalWillPresent)=\"OnPresent()\" (didDismiss)=\"OnDismiss()\" [initialBreakpoint]=\"0.9\" [keepContentsMounted]=\"true\">\r\n <ng-template>\r\n <ion-header>\r\n <ion-toolbar>\r\n <ion-title class=\"text-center\">\r\n {{label()}}\r\n </ion-title>\r\n <ion-buttons slot=\"end\">\r\n <ion-button (click)=\"modal.dismiss()\">\r\n <ion-icon name=\"close-circle\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n </ion-toolbar>\r\n </ion-header>\r\n \r\n <ng-container [ngTemplateOutlet]=\"selectContentTemplate\" [ngTemplateOutletContext]=\"{ modal: true }\"></ng-container>\r\n </ng-template>\r\n </ion-modal>\r\n }\r\n\r\n @if (configuration().interface == SelectInterfaces.ActionSheet ) {\r\n <ion-action-sheet #actionSheet trigger=\"open-action-sheet\" [header]=\"label()\" [buttons]=\"lstOptionsActionSheet\"></ion-action-sheet>\r\n }\r\n}\r\n\r\n<ng-template #selectContentTemplate let-modal=\"modal\">\r\n <div #selectContent class=\"select-content\" [class.!size-full]=\"modal\">\r\n <div class=\"select-search-bar-container\">\r\n <div class=\"select-search-bar-icon-container !border-r-0 border-primary/70 bg-primary/70 shrink-0\">\r\n <ion-icon color=\"dark\" name=\"search\"></ion-icon>\r\n </div>\r\n <input #inputSearchBar tabindex=\"-1\" class=\"select-search-bar border-primary/70 !rounded-l-none\" [formControl]=\"searchBarControl\"/>\r\n </div> \r\n <ul class=\"select-item-list mask-y\" role=\"listbox\" [attr.aria-activedescendant]=\"'sion-is-' + selectedIndex\">\r\n <ion-content #scrollContent class=\"size-full\" [scrollY]=\"true\">\r\n @for (item of lstOptions; track item.value) { \r\n <ng-container \r\n [ngTemplateOutlet]=\"baseOptionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item, index: $index }\">\r\n </ng-container>\r\n }\r\n @if(configuration().useInfiniteScroll){\r\n <ion-infinite-scroll threshold=\"10px\" *ngIf=\"lstOptions.length && lstOptions.length != lstOptionsItemValue().length\" (ionInfinite)=\"AddPage($event)\">\r\n <ion-infinite-scroll-content></ion-infinite-scroll-content>\r\n </ion-infinite-scroll>\r\n }\r\n </ion-content>\r\n </ul>\r\n @if(isServiceAtivo()){\r\n <div class=\"w-full text-xs flex items-center justify-end\">\r\n <ion-checkbox [ngModel]=\"somenteAtivos()\" (ngModelChange)=\"somenteAtivos.set($event)\" class=\"scale-75\"> Somente ativos </ion-checkbox>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #baseOptionTemplate let-item=\"item\" let-index=\"index\">\r\n <li [id]=\"'sion-is-' + index\" class=\"select-item\" [class.disabled]=\"item.disabled\" [attr.aria-selected]=\"index == selectedIndex\" (mouseenter)=\"selectedIndex = index\" (click)=\"Select(item)\">\r\n <div class=\"select-item-checkmark-conteiner\">\r\n @if(item.selected) {\r\n <ion-icon class=\"select-item-checkmark\" color=\"primary\" name=\"checkmark\"></ion-icon>\r\n }\r\n </div>\r\n @if (optionTemplate) {\r\n <ng-container \r\n [ngTemplateOutlet]=\"optionTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item.item }\">\r\n </ng-container>\r\n }\r\n @else {\r\n <span class=\"select-item-label\"> {{item.label}} </span>\r\n }\r\n </li>\r\n</ng-template>", styles: [".input-container{cursor:pointer!important}.input-select-label{pointer-events:none;min-height:1.5rem;width:100%;outline:2px solid transparent;outline-offset:2px;color:var(--ion-color-dark)}.select-content{display:flex;height:18rem;width:100%;flex-direction:column;gap:.25rem;overflow:hidden;padding:.25rem}.select-content .select-search-bar-container{display:flex;width:100%;flex-shrink:1}.select-content .select-search-bar-container .select-search-bar-icon-container{display:flex;height:100%;width:1.75rem;align-items:center;justify-content:center;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-width:1px}.select-content .select-search-bar-container .select-search-bar{width:100%;flex-shrink:1;border-radius:.375rem;border-width:1px;background-color:transparent;padding-left:.5rem;padding-right:.5rem;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}@media (orientation: portrait){.select-content .select-search-bar-container .select-search-bar{height:2.5rem}}@media (orientation: landscape){.select-content .select-search-bar-container .select-search-bar{height:1.75rem}}.select-item-list{width:100%;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.select-item-list .select-item{color:var(--ion-color-dark);display:flex;width:100%;flex-shrink:0;align-items:center;justify-content:flex-start;border-radius:.375rem;padding-right:.5rem}@media (orientation: portrait){.select-item-list .select-item{min-height:2.5rem}}@media (orientation: landscape){.select-item-list .select-item{min-height:2rem}}.select-item-list .select-item{cursor:pointer}.select-item-list .select-item.disabled{opacity:.5;pointer-events:none}.select-item-list .select-item:hover,.select-item-list .select-item:focus,.select-item-list .select-item[aria-selected=true]{background-color:color-mix(in srgb,var(--ion-color-dark) 20%,transparent)}.select-item-list .select-item .select-item-checkmark-conteiner{display:flex;height:100%;width:1.75rem;flex-shrink:0;align-items:center;justify-content:center}.select-item-list .select-item .select-item-label{width:100%}.error-container{pointer-events:none;position:absolute;bottom:0;left:0;z-index:200;display:flex;width:100%;height:100%;--tw-translate-y: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));align-items:center;justify-content:center;opacity:0;will-change:opacity,auto;transition:opacity .2s ease-in-out,transform .2s ease-in-out}.error-container.active{pointer-events:auto!important;--tw-translate-y: 0px !important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important;opacity:1!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:auto;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"] }]
3639
3631
  }], ctorParameters: () => [], propDecorators: { labelTemplate: [{
3640
3632
  type: ContentChild,
3641
3633
  args: [SIonLabelTemplateDirective, { read: TemplateRef }]