pdm-ui-kit 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  const ROOT_LAYOUT = {
5
- horizontal: "flex flex-col sm:flex-row sm:items-center sm:flex-wrap",
5
+ horizontal: "w-full flex flex-row items-center overflow-x-auto",
6
6
  vertical: "flex flex-col items-stretch",
7
7
  };
8
8
  const ATTACHMENT_EDGE_CLASSES = {
@@ -30,7 +30,9 @@ const ATTACHMENT_CONTROL_CLASSES = {
30
30
  "[&>pdm-button:first-child>button]:!rounded-l-md",
31
31
  "[&>pdm-button:last-child>button]:!rounded-r-md",
32
32
  "[&>pdm-input]:flex-1",
33
+ "[&>pdm-input]:min-w-0",
33
34
  "[&>pdm-input>div]:w-full",
35
+ "[&>pdm-input>div]:min-w-0",
34
36
  "[&>pdm-input>div]:!rounded-none",
35
37
  "[&>pdm-input>div]:shadow-none",
36
38
  "[&>pdm-input>div>input]:!rounded-none",
@@ -40,6 +42,7 @@ const ATTACHMENT_CONTROL_CLASSES = {
40
42
  "[&>pdm-input:last-child>div]:!rounded-r-md",
41
43
  "[&>pdm-input:first-child>div>input]:!rounded-l-md",
42
44
  "[&>pdm-input:last-child>div>input]:!rounded-r-md",
45
+ "[&>pdm-input-group]:min-w-0",
43
46
  "[&>pdm-input-group>div]:!rounded-none",
44
47
  "[&>pdm-input-group>div]:shadow-none",
45
48
  "[&>pdm-input-group:first-child>div]:!rounded-l-md",
@@ -230,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
230
233
  }], className: [{
231
234
  type: Input
232
235
  }] } });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFXMUUsTUFBTSxXQUFXLEdBQXlCO0lBQ3pDLFVBQVUsRUFBRSx3REFBd0Q7SUFDcEUsUUFBUSxFQUFFLDZCQUE2QjtDQUN2QyxDQUFDO0FBRUYsTUFBTSx1QkFBdUIsR0FBMkI7SUFDdkQsVUFBVSxFQUFFO1FBQ1gsb0JBQW9CO1FBQ3BCLGdDQUFnQztRQUNoQywrQkFBK0I7UUFDL0Isb0NBQW9DO1FBQ3BDLGdDQUFnQztLQUNoQztJQUNELFFBQVEsRUFBRTtRQUNULG9CQUFvQjtRQUNwQixnQ0FBZ0M7UUFDaEMsK0JBQStCO1FBQy9CLG9DQUFvQztRQUNwQyxnQ0FBZ0M7S0FDaEM7Q0FDRCxDQUFDO0FBRUYsTUFBTSwwQkFBMEIsR0FBMkI7SUFDMUQsVUFBVSxFQUFFO1FBQ1gscUJBQXFCO1FBQ3JCLDJCQUEyQjtRQUMzQixxQ0FBcUM7UUFDckMsbUNBQW1DO1FBQ25DLGlEQUFpRDtRQUNqRCxnREFBZ0Q7UUFFaEQsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQixpQ0FBaUM7UUFDakMsK0JBQStCO1FBQy9CLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMscUNBQXFDO1FBQ3JDLDZDQUE2QztRQUM3Qyw0Q0FBNEM7UUFDNUMsbURBQW1EO1FBQ25ELGtEQUFrRDtRQUVsRCx1Q0FBdUM7UUFDdkMscUNBQXFDO1FBQ3JDLG1EQUFt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Q0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUMzQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ1osQ0FBQyxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckQsSUFBSSxDQUFDLFNBQVM7U0FDZCxDQUFDO0lBQ0gsQ0FBQzs7b0hBekNXLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDRMQ2xOcEMsOElBT0E7MkZEMk1hLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDQyxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCB0eXBlIFBkbUJ1dHRvbkdyb3VwVmFyaWFudCA9XG5cdHwgXCJkZWZhdWx0XCJcblx0fCBcImdyb3VwXCJcblx0fCBcIm9yaWVudGF0aW9uXCJcblx0fCBcInNlcGFyYXRvclwiO1xuZXhwb3J0IHR5cGUgUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbiA9IFwiaG9yaXpvbnRhbFwiIHwgXCJ2ZXJ0aWNhbFwiO1xuXG50eXBlIEF4aXMgPSBcImhvcml6b250YWxcIiB8IFwidmVydGljYWxcIjtcblxuY29uc3QgUk9PVF9MQVlPVVQ6IFJlY29yZDxBeGlzLCBzdHJpbmc+ID0ge1xuXHRob3Jpem9udGFsOiBcImZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgc206aXRlbXMtY2VudGVyIHNtOmZsZXgtd3JhcFwiLFxuXHR2ZXJ0aWNhbDogXCJmbGV4IGZsZXgtY29sIGl0ZW1zLXN0cmV0Y2hcIixcbn07XG5cbmNvbnN0IEFUVEFDSE1FTlRfRURHRV9DTEFTU0VTOiBSZWNvcmQ8QXhpcywgc3RyaW5nW10+ID0ge1xuXHRob3Jpem9udGFsOiBbXG5cdFx0XCJbJj4qXTpyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+KjpsYXN0LWNoaWxkXTpyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPio6bm90KDpmaXJzdC1jaGlsZCldOmJvcmRlci1sLTBcIixcblx0XHRcIlsmPio6bm90KDpmaXJzdC1jaGlsZCldOi1tbC1weFwiLFxuXHRdLFxuXHR2ZXJ0aWNhbDogW1xuXHRcdFwiWyY+Kl06cm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj4qOmZpcnN0LWNoaWxkXTpyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPio6bGFzdC1jaGlsZF06cm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTpib3JkZXItdC0wXCIsXG5cdFx0XCJbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTotbXQtcHhcIixcblx0XSxcbn07XG5cbmNvbnN0IEFUVEFDSE1FTlRfQ09OVFJPTF9DTEFTU0VTOiBSZWNvcmQ8QXhpcywgc3RyaW5nW10+ID0ge1xuXHRob3Jpem9udGFsOiBbXG5cdFx0XCJbJj5wZG0tYnV0dG9uXTpmbGV4XCIsXG5cdFx0XCJbJj5wZG0tYnV0dG9uPmJ1dHRvbl06aC05XCIsXG5cdFx0XCJbJj5wZG0tYnV0dG9uPmJ1dHRvbl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWJ1dHRvbj5idXR0b25dOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tYnV0dG9uOmZpcnN0LWNoaWxkPmJ1dHRvbl06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLWJ1dHRvbjpsYXN0LWNoaWxkPmJ1dHRvbl06IXJvdW5kZWQtci1tZFwiLFxuXG5cdFx0XCJbJj5wZG0taW5wdXRdOmZsZXgtMVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdl06dy1mdWxsXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06YmctYmFja2dyb3VuZFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1pbnB1dDpmaXJzdC1jaGlsZD5kaXZdOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS1pbnB1dDpsYXN0LWNoaWxkPmRpdl06IXJvdW5kZWQtci1tZFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0OmZpcnN0LWNoaWxkPmRpdj5pbnB1dF06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0Omxhc3QtY2hpbGQ+ZGl2PmlucHV0XTohcm91bmRlZC1yLW1kXCIsXG5cblx0XHRcIlsmPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS1pbnB1dC1ncm91cD5kaXZdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQtZ3JvdXA6Zmlyc3QtY2hpbGQ+ZGl2XTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQtZ3JvdXA6bGFzdC1jaGlsZD5kaXZdOiFyb3VuZGVkLXItbWRcIixcblxuXHRcdFwiWyY+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q+c2VsZWN0XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0OmZpcnN0LWNoaWxkPnNlbGVjdF06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdDpsYXN0LWNoaWxkPnNlbGVjdF06IXJvdW5kZWQtci1tZFwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdDpmaXJzdC1jaGlsZD5kaXY+YnV0dG9uXTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0Omxhc3QtY2hpbGQ+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtci1tZFwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKT5kaXY+YnV0dG9uXTohcm91bmRlZC1sLW5vbmVcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q6bm90KDpsYXN0LWNoaWxkKT5kaXY+YnV0dG9uXTohcm91bmRlZC1yLW5vbmVcIixcblxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj4qXTpyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+Kl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOm5vdCg6Zmlyc3QtY2hpbGQpPnNwYW4+Kl06Ym9yZGVyLWwtMFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5idXR0b25dOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+YnV0dG9uXTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5idXR0b25dOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5idXR0b25dOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+aW5wdXRdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+aW5wdXRdOmJnLWJhY2tncm91bmRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+aW5wdXRdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPmlucHV0XTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+aW5wdXRdOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+c2VsZWN0XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnNlbGVjdF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+c2VsZWN0XTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+c2VsZWN0XTohcm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0tYnV0dG9uPmJ1dHRvbl06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXZdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpiZy1iYWNrZ3JvdW5kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXZdOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQ+ZGl2XTohcm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpub3QoOmZpcnN0LWNoaWxkKT5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpub3QoOmxhc3QtY2hpbGQpPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1yLW5vbmVcIixcblx0XSxcblx0dmVydGljYWw6IFtcblx0XHRcIlsmPipdOnJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+KjpmaXJzdC1jaGlsZF06cm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj4qOmxhc3QtY2hpbGRdOnJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06Ym9yZGVyLXQtMFwiLFxuXHRcdFwiWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06LW10LXB4XCIsXG5cblx0XHRcIlsmPnBkbS1idXR0b25dOmZsZXhcIixcblx0XHRcIlsmPnBkbS1idXR0b24+YnV0dG9uXTpoLTlcIixcblx0XHRcIlsmPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tYnV0dG9uPmJ1dHRvbl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1idXR0b246Zmlyc3QtY2hpbGQ+YnV0dG9uXTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0tYnV0dG9uOmxhc3QtY2hpbGQ+YnV0dG9uXTohcm91bmRlZC1iLW1kXCIsXG5cblx0XHRcIlsmPnBkbS1pbnB1dD5kaXZdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS1pbnB1dD5kaXZdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpiZy1iYWNrZ3JvdW5kXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0OmZpcnN0LWNoaWxkPmRpdl06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0Omxhc3QtY2hpbGQ+ZGl2XTohcm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ6Zmlyc3QtY2hpbGQ+ZGl2PmlucHV0XTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ6bGFzdC1jaGlsZD5kaXY+aW5wdXRdOiFyb3VuZGVkLWItbWRcIixcblxuXHRcdFwiWyY+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0LWdyb3VwPmRpdl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1pbnB1dC1ncm91cDpmaXJzdC1jaGlsZD5kaXZdOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS1pbnB1dC1ncm91cDpsYXN0LWNoaWxkPmRpdl06IXJvdW5kZWQtYi1tZFwiLFxuXG5cdFx0XCJbJj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdD5zZWxlY3RdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q6Zmlyc3QtY2hpbGQ+c2VsZWN0XTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0Omxhc3QtY2hpbGQ+c2VsZWN0XTohcm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0OmZpcnN0LWNoaWxkPmRpdj5idXR0b25dOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q6bGFzdC1jaGlsZD5kaXY+YnV0dG9uXTohcm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpPmRpdj5idXR0b25dOiFyb3VuZGVkLXQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpPmRpdj5idXR0b25dOiFyb3VuZGVkLWItbm9uZVwiLFxuXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPipdOnJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj4qXTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bm90KDpmaXJzdC1jaGlsZCk+c3Bhbj4qXTpib3JkZXItdC0wXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5idXR0b25dOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06YmctYmFja2dyb3VuZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+aW5wdXRdOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5pbnB1dF06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+c2VsZWN0XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOmJnLWJhY2tncm91bmRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWlucHV0PmRpdl06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXZdOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOm5vdCg6Zmlyc3QtY2hpbGQpPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC10LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOm5vdCg6bGFzdC1jaGlsZCk+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLWItbm9uZVwiLFxuXHRdLFxufTtcblxuY29uc3QgRk9DVVNfU1RBQ0tJTkdfQ0xBU1MgPSBcIio6Zm9jdXMtdmlzaWJsZTpyZWxhdGl2ZSAqOmZvY3VzLXZpc2libGU6ei0xMFwiO1xuY29uc3QgU0VQQVJBVE9SX0NMQVNTRVMgPVxuXHRcIm92ZXJmbG93LWhpZGRlbiByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLXNlY29uZGFyeSBzaGFkb3ctc21cIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcInBkbS1idXR0b24tZ3JvdXBcIixcblx0dGVtcGxhdGVVcmw6IFwiLi9idXR0b24tZ3JvdXAuY29tcG9uZW50Lmh0bWxcIixcblx0c3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IGJsb2NrOyB9XCJdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGRtQnV0dG9uR3JvdXBDb21wb25lbnQge1xuXHRASW5wdXQoKSB2YXJpYW50OiBQZG1CdXR0b25Hcm91cFZhcmlhbnQgPSBcImRlZmF1bHRcIjtcblx0QElucHV0KCkgb3JpZW50YXRpb24/OiBQZG1CdXR0b25Hcm91cE9yaWVudGF0aW9uO1xuXHRASW5wdXQoKSBkaXJlY3Rpb24/OiBQZG1CdXR0b25Hcm91cE9yaWVudGF0aW9uO1xuXHRASW5wdXQoKSBzZXBhcmF0ZWQgPSB0cnVlO1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXG5cdGdldCBheGlzKCk6IEF4aXMge1xuXHRcdHJldHVybiB0aGlzLm9yaWVudGF0aW9uID8/IHRoaXMuZGlyZWN0aW9uID8/IFwiaG9yaXpvbnRhbFwiO1xuXHR9XG5cblx0Z2V0IGlzVmVydGljYWwoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMudmFyaWFudCA9PT0gXCJvcmllbnRhdGlvblwiIHx8IHRoaXMuYXhpcyA9PT0gXCJ2ZXJ0aWNhbFwiO1xuXHR9XG5cblx0Z2V0IHNob3VsZEF0dGFjaCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gIXRoaXMuc2VwYXJhdGVkICYmIHRoaXMudmFyaWFudCAhPT0gXCJkZWZhdWx0XCI7XG5cdH1cblxuXHRnZXQgYXJpYU9yaWVudGF0aW9uKCk6IFBkbUJ1dHRvbkdyb3VwT3JpZW50YXRpb24ge1xuXHRcdHJldHVybiB0aGlzLmlzVmVydGljYWwgPyBcInZlcnRpY2FsXCIgOiBcImhvcml6b250YWxcIjtcblx0fVxuXG5cdGdldCByb290Q2xhc3NlcygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIFtcblx0XHRcdFJPT1RfTEFZT1VUW3RoaXMuaXNWZXJ0aWNhbCA/IFwidmVydGljYWxcIiA6IFwiaG9yaXpvbnRhbFwiXSxcblx0XHRcdHRoaXMudmFyaWFudCA9PT0gXCJkZWZhdWx0XCIgfHwgdGhpcy5zZXBhcmF0ZWQgPyBcImdhcC0yXCIgOiBcImdhcC0wXCIsXG5cdFx0XHR0aGlzLnNob3VsZEF0dGFjaFxuXHRcdFx0XHQ/IEFUVEFDSE1FTlRfRURHRV9DTEFTU0VTW1xuXHRcdFx0XHRcdFx0dGhpcy5pc1ZlcnRpY2FsID8gXCJ2ZXJ0aWNhbFwiIDogXCJob3Jpem9udGFsXCJcblx0XHRcdFx0XHRdLmpvaW4oXCIgXCIpXG5cdFx0XHRcdDogXCJcIixcblx0XHRcdHRoaXMuc2hvdWxkQXR0YWNoXG5cdFx0XHRcdD8gQVRUQUNITUVOVF9DT05UUk9MX0NMQVNTRVNbXG5cdFx0XHRcdFx0XHR0aGlzLmlzVmVydGljYWwgPyBcInZlcnRpY2FsXCIgOiBcImhvcml6b250YWxcIlxuXHRcdFx0XHRcdF0uam9pbihcIiBcIilcblx0XHRcdFx0OiBcIlwiLFxuXHRcdFx0dGhpcy5zaG91bGRBdHRhY2ggPyBGT0NVU19TVEFDS0lOR19DTEFTUyA6IFwiXCIsXG5cdFx0XHR0aGlzLnZhcmlhbnQgPT09IFwic2VwYXJhdG9yXCIgPyBTRVBBUkFUT1JfQ0xBU1NFUyA6IFwiXCIsXG5cdFx0XHR0aGlzLmNsYXNzTmFtZSxcblx0XHRdO1xuXHR9XG59XG4iLCI8ZGl2XG4gIHJvbGU9XCJncm91cFwiXG4gIFthdHRyLmFyaWEtb3JpZW50YXRpb25dPVwiYXJpYU9yaWVudGF0aW9uXCJcbiAgW25nQ2xhc3NdPVwicm9vdENsYXNzZXNcIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFXMUUsTUFBTSxXQUFXLEdBQXlCO0lBQ3pDLFVBQVUsRUFBRSxtREFBbUQ7SUFDL0QsUUFBUSxFQUFFLDZCQUE2QjtDQUN2QyxDQUFDO0FBRUYsTUFBTSx1QkFBdUIsR0FBMkI7SUFDdkQsVUFBVSxFQUFFO1FBQ1gsb0JBQW9CO1FBQ3BCLGdDQUFnQztRQUNoQywrQkFBK0I7UUFDL0Isb0NBQW9DO1FBQ3BDLGdDQUFnQztLQUNoQztJQUNELFFBQVEsRUFBRTtRQUNULG9CQUFvQjtRQUNwQixnQ0FBZ0M7UUFDaEMsK0JBQStCO1FBQy9CLG9DQUFvQztRQUNwQyxnQ0FBZ0M7S0FDaEM7Q0FDRCxDQUFDO0FBRUYsTUFBTSwwQkFBMEIsR0FBMkI7SUFDMUQsVUFBVSxFQUFFO1FBQ1gscUJBQXFCO1FBQ3JCLDJCQUEyQjtRQUMzQixxQ0FBcUM7UUFDckMsbUNBQW1DO1FBQ25DLGlEQUFpRDtRQUNqRCxnREFBZ0Q7UUFFaEQsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QiwwQkFBMEI7UUFDMUIsMkJBQTJCO1FBQzNCLGlDQUFpQztRQUNqQywrQkFBK0I7UUFDL0IsdUNBQXVDO1FBQ3ZDLHVDQUF1QztRQUN2QyxxQ0FBcUM7UUFDckMsNkNBQTZDO1FBQzdDLDRDQUE0QztRQUM1QyxtREFBbUQ7UUFDbkQsa0RBQWtEO1FBRWxELDZCQUE2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QUFZO2dCQUNoQixDQUFDLENBQUMsMEJBQTBCLENBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUMzQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ1osQ0FBQyxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckQsSUFBSSxDQUFDLFNBQVM7U0FDZCxDQUFDO0lBQ0gsQ0FBQzs7b0hBekNXLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDRMQ3JOcEMsOElBT0E7MkZEOE1hLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDQyxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCB0eXBlIFBkbUJ1dHRvbkdyb3VwVmFyaWFudCA9XG5cdHwgXCJkZWZhdWx0XCJcblx0fCBcImdyb3VwXCJcblx0fCBcIm9yaWVudGF0aW9uXCJcblx0fCBcInNlcGFyYXRvclwiO1xuZXhwb3J0IHR5cGUgUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbiA9IFwiaG9yaXpvbnRhbFwiIHwgXCJ2ZXJ0aWNhbFwiO1xuXG50eXBlIEF4aXMgPSBcImhvcml6b250YWxcIiB8IFwidmVydGljYWxcIjtcblxuY29uc3QgUk9PVF9MQVlPVVQ6IFJlY29yZDxBeGlzLCBzdHJpbmc+ID0ge1xuXHRob3Jpem9udGFsOiBcInctZnVsbCBmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlciBvdmVyZmxvdy14LWF1dG9cIixcblx0dmVydGljYWw6IFwiZmxleCBmbGV4LWNvbCBpdGVtcy1zdHJldGNoXCIsXG59O1xuXG5jb25zdCBBVFRBQ0hNRU5UX0VER0VfQ0xBU1NFUzogUmVjb3JkPEF4aXMsIHN0cmluZ1tdPiA9IHtcblx0aG9yaXpvbnRhbDogW1xuXHRcdFwiWyY+Kl06cm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj4qOmZpcnN0LWNoaWxkXTpyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPio6bGFzdC1jaGlsZF06cm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTpib3JkZXItbC0wXCIsXG5cdFx0XCJbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTotbWwtcHhcIixcblx0XSxcblx0dmVydGljYWw6IFtcblx0XHRcIlsmPipdOnJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+KjpmaXJzdC1jaGlsZF06cm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj4qOmxhc3QtY2hpbGRdOnJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06Ym9yZGVyLXQtMFwiLFxuXHRcdFwiWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06LW10LXB4XCIsXG5cdF0sXG59O1xuXG5jb25zdCBBVFRBQ0hNRU5UX0NPTlRST0xfQ0xBU1NFUzogUmVjb3JkPEF4aXMsIHN0cmluZ1tdPiA9IHtcblx0aG9yaXpvbnRhbDogW1xuXHRcdFwiWyY+cGRtLWJ1dHRvbl06ZmxleFwiLFxuXHRcdFwiWyY+cGRtLWJ1dHRvbj5idXR0b25dOmgtOVwiLFxuXHRcdFwiWyY+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS1idXR0b24+YnV0dG9uXTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWJ1dHRvbjpmaXJzdC1jaGlsZD5idXR0b25dOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS1idXR0b246bGFzdC1jaGlsZD5idXR0b25dOiFyb3VuZGVkLXItbWRcIixcblxuXHRcdFwiWyY+cGRtLWlucHV0XTpmbGV4LTFcIixcblx0XHRcIlsmPnBkbS1pbnB1dF06bWluLXctMFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdl06dy1mdWxsXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2XTptaW4tdy0wXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06YmctYmFja2dyb3VuZFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1pbnB1dDpmaXJzdC1jaGlsZD5kaXZdOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS1pbnB1dDpsYXN0LWNoaWxkPmRpdl06IXJvdW5kZWQtci1tZFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0OmZpcnN0LWNoaWxkPmRpdj5pbnB1dF06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0Omxhc3QtY2hpbGQ+ZGl2PmlucHV0XTohcm91bmRlZC1yLW1kXCIsXG5cblx0XHRcIlsmPnBkbS1pbnB1dC1ncm91cF06bWluLXctMFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0LWdyb3VwPmRpdl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1pbnB1dC1ncm91cDpmaXJzdC1jaGlsZD5kaXZdOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS1pbnB1dC1ncm91cDpsYXN0LWNoaWxkPmRpdl06IXJvdW5kZWQtci1tZFwiLFxuXG5cdFx0XCJbJj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdD5zZWxlY3RdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q6Zmlyc3QtY2hpbGQ+c2VsZWN0XTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0Omxhc3QtY2hpbGQ+c2VsZWN0XTohcm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0OmZpcnN0LWNoaWxkPmRpdj5idXR0b25dOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q6bGFzdC1jaGlsZD5kaXY+YnV0dG9uXTohcm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpPmRpdj5idXR0b25dOiFyb3VuZGVkLWwtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpPmRpdj5idXR0b25dOiFyb3VuZGVkLXItbm9uZVwiLFxuXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPipdOnJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj4qXTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bm90KDpmaXJzdC1jaGlsZCk+c3Bhbj4qXTpib3JkZXItbC0wXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5idXR0b25dOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtci1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06YmctYmFja2dyb3VuZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+aW5wdXRdOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5pbnB1dF06IXJvdW5kZWQtci1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+c2VsZWN0XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOmJnLWJhY2tncm91bmRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWlucHV0PmRpdl06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXZdOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtci1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtci1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOm5vdCg6Zmlyc3QtY2hpbGQpPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1sLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOm5vdCg6bGFzdC1jaGlsZCk+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLXItbm9uZVwiLFxuXHRdLFxuXHR2ZXJ0aWNhbDogW1xuXHRcdFwiWyY+Kl06cm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj4qOmZpcnN0LWNoaWxkXTpyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPio6bGFzdC1jaGlsZF06cm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTpib3JkZXItdC0wXCIsXG5cdFx0XCJbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTotbXQtcHhcIixcblxuXHRcdFwiWyY+cGRtLWJ1dHRvbl06ZmxleFwiLFxuXHRcdFwiWyY+cGRtLWJ1dHRvbj5idXR0b25dOmgtOVwiLFxuXHRcdFwiWyY+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS1idXR0b24+YnV0dG9uXTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWJ1dHRvbjpmaXJzdC1jaGlsZD5idXR0b25dOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS1idXR0b246bGFzdC1jaGlsZD5idXR0b25dOiFyb3VuZGVkLWItbWRcIixcblxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS1pbnB1dD5kaXY+aW5wdXRdOmJnLWJhY2tncm91bmRcIixcblx0XHRcIlsmPnBkbS1pbnB1dD5kaXY+aW5wdXRdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ6Zmlyc3QtY2hpbGQ+ZGl2XTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ6bGFzdC1jaGlsZD5kaXZdOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS1pbnB1dDpmaXJzdC1jaGlsZD5kaXY+aW5wdXRdOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS1pbnB1dDpsYXN0LWNoaWxkPmRpdj5pbnB1dF06IXJvdW5kZWQtYi1tZFwiLFxuXG5cdFx0XCJbJj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0LWdyb3VwOmZpcnN0LWNoaWxkPmRpdl06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0LWdyb3VwOmxhc3QtY2hpbGQ+ZGl2XTohcm91bmRlZC1iLW1kXCIsXG5cblx0XHRcIlsmPnBkbS1zZWxlY3Q+c2VsZWN0XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0PnNlbGVjdF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdDpmaXJzdC1jaGlsZD5zZWxlY3RdOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q6bGFzdC1jaGlsZD5zZWxlY3RdOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q6Zmlyc3QtY2hpbGQ+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdDpsYXN0LWNoaWxkPmRpdj5idXR0b25dOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCk+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtdC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCk+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtYi1ub25lXCIsXG5cblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+Kl06cm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPipdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpub3QoOmZpcnN0LWNoaWxkKT5zcGFuPipdOmJvcmRlci10LTBcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+YnV0dG9uXTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPmJ1dHRvbl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+YnV0dG9uXTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+YnV0dG9uXTohcm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPmlucHV0XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPmlucHV0XTpiZy1iYWNrZ3JvdW5kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPmlucHV0XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5pbnB1dF06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPmlucHV0XTohcm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnNlbGVjdF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5zZWxlY3RdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnNlbGVjdF06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnNlbGVjdF06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tYnV0dG9uPmJ1dHRvbl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tYnV0dG9uPmJ1dHRvbl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0tYnV0dG9uPmJ1dHRvbl06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXZdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06YmctYmFja2dyb3VuZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQ+ZGl2XTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWlucHV0PmRpdl06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dC1ncm91cD5kaXZdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTohcm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bm90KDpmaXJzdC1jaGlsZCk+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLXQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bm90KDpsYXN0LWNoaWxkKT5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtYi1ub25lXCIsXG5cdF0sXG59O1xuXG5jb25zdCBGT0NVU19TVEFDS0lOR19DTEFTUyA9IFwiKjpmb2N1cy12aXNpYmxlOnJlbGF0aXZlICo6Zm9jdXMtdmlzaWJsZTp6LTEwXCI7XG5jb25zdCBTRVBBUkFUT1JfQ0xBU1NFUyA9XG5cdFwib3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctc2Vjb25kYXJ5IHNoYWRvdy1zbVwiO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwicGRtLWJ1dHRvbi1ncm91cFwiLFxuXHR0ZW1wbGF0ZVVybDogXCIuL2J1dHRvbi1ncm91cC5jb21wb25lbnQuaHRtbFwiLFxuXHRzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogYmxvY2s7IH1cIl0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1CdXR0b25Hcm91cENvbXBvbmVudCB7XG5cdEBJbnB1dCgpIHZhcmlhbnQ6IFBkbUJ1dHRvbkdyb3VwVmFyaWFudCA9IFwiZGVmYXVsdFwiO1xuXHRASW5wdXQoKSBvcmllbnRhdGlvbj86IFBkbUJ1dHRvbkdyb3VwT3JpZW50YXRpb247XG5cdEBJbnB1dCgpIGRpcmVjdGlvbj86IFBkbUJ1dHRvbkdyb3VwT3JpZW50YXRpb247XG5cdEBJbnB1dCgpIHNlcGFyYXRlZCA9IHRydWU7XG5cdEBJbnB1dCgpIGNsYXNzTmFtZSA9IFwiXCI7XG5cblx0Z2V0IGF4aXMoKTogQXhpcyB7XG5cdFx0cmV0dXJuIHRoaXMub3JpZW50YXRpb24gPz8gdGhpcy5kaXJlY3Rpb24gPz8gXCJob3Jpem9udGFsXCI7XG5cdH1cblxuXHRnZXQgaXNWZXJ0aWNhbCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy52YXJpYW50ID09PSBcIm9yaWVudGF0aW9uXCIgfHwgdGhpcy5heGlzID09PSBcInZlcnRpY2FsXCI7XG5cdH1cblxuXHRnZXQgc2hvdWxkQXR0YWNoKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAhdGhpcy5zZXBhcmF0ZWQgJiYgdGhpcy52YXJpYW50ICE9PSBcImRlZmF1bHRcIjtcblx0fVxuXG5cdGdldCBhcmlhT3JpZW50YXRpb24oKTogUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbiB7XG5cdFx0cmV0dXJuIHRoaXMuaXNWZXJ0aWNhbCA/IFwidmVydGljYWxcIiA6IFwiaG9yaXpvbnRhbFwiO1xuXHR9XG5cblx0Z2V0IHJvb3RDbGFzc2VzKCk6IHN0cmluZ1tdIHtcblx0XHRyZXR1cm4gW1xuXHRcdFx0Uk9PVF9MQVlPVVRbdGhpcy5pc1ZlcnRpY2FsID8gXCJ2ZXJ0aWNhbFwiIDogXCJob3Jpem9udGFsXCJdLFxuXHRcdFx0dGhpcy52YXJpYW50ID09PSBcImRlZmF1bHRcIiB8fCB0aGlzLnNlcGFyYXRlZCA/IFwiZ2FwLTJcIiA6IFwiZ2FwLTBcIixcblx0XHRcdHRoaXMuc2hvdWxkQXR0YWNoXG5cdFx0XHRcdD8gQVRUQUNITUVOVF9FREdFX0NMQVNTRVNbXG5cdFx0XHRcdFx0XHR0aGlzLmlzVmVydGljYWwgPyBcInZlcnRpY2FsXCIgOiBcImhvcml6b250YWxcIlxuXHRcdFx0XHRcdF0uam9pbihcIiBcIilcblx0XHRcdFx0OiBcIlwiLFxuXHRcdFx0dGhpcy5zaG91bGRBdHRhY2hcblx0XHRcdFx0PyBBVFRBQ0hNRU5UX0NPTlRST0xfQ0xBU1NFU1tcblx0XHRcdFx0XHRcdHRoaXMuaXNWZXJ0aWNhbCA/IFwidmVydGljYWxcIiA6IFwiaG9yaXpvbnRhbFwiXG5cdFx0XHRcdFx0XS5qb2luKFwiIFwiKVxuXHRcdFx0XHQ6IFwiXCIsXG5cdFx0XHR0aGlzLnNob3VsZEF0dGFjaCA/IEZPQ1VTX1NUQUNLSU5HX0NMQVNTIDogXCJcIixcblx0XHRcdHRoaXMudmFyaWFudCA9PT0gXCJzZXBhcmF0b3JcIiA/IFNFUEFSQVRPUl9DTEFTU0VTIDogXCJcIixcblx0XHRcdHRoaXMuY2xhc3NOYW1lLFxuXHRcdF07XG5cdH1cbn1cbiIsIjxkaXZcbiAgcm9sZT1cImdyb3VwXCJcbiAgW2F0dHIuYXJpYS1vcmllbnRhdGlvbl09XCJhcmlhT3JpZW50YXRpb25cIlxuICBbbmdDbGFzc109XCJyb290Q2xhc3Nlc1wiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -126,10 +126,10 @@ export class PdmSelectComponent {
126
126
  }
127
127
  }
128
128
  PdmSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
129
- PdmSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmSelectComponent, selector: "pdm-select", inputs: { id: "id", value: "value", options: "options", disabled: "disabled", invalid: "invalid", className: "className", placeholder: "placeholder", overlayOptions: "overlayOptions" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, queries: [{ propertyName: "projectedOptions", predicate: PdmSelectOptionDirective }], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"['relative', className || 'w-full']\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-expanded]=\"open\"\n [attr.data-state]=\"open ? 'open' : 'closed'\"\n aria-haspopup=\"listbox\"\n (click)=\"toggle()\"\n [ngClass]=\"[\n 'border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive flex h-9 w-full appearance-none items-center justify-between rounded-md border bg-background px-3 py-2 text-sm shadow-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\n ]\"\n >\n <span\n [ngClass]=\"[\n 'min-w-0 flex-1 truncate text-left leading-5',\n selectedOption\n ? 'font-medium text-foreground'\n : 'font-normal text-muted-foreground',\n ]\"\n >\n {{ selectedLabel }}\n </span>\n <pdm-icon\n name=\"chevron-down\"\n [size]=\"16\"\n className=\"shrink-0 text-muted-foreground\"\n ></pdm-icon>\n </button>\n\n <!-- Hidden native select kept for screen-reader / form fallback -->\n <select\n class=\"sr-only\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [value]=\"value\"\n (change)=\"onChange($event)\"\n >\n <option\n *ngFor=\"let option of resolvedOptions\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{ option.label }}\n </option>\n </select>\n\n <!-- Slot for content-projected pdm-select-option elements (hidden from layout) -->\n <span class=\"hidden\">\n <ng-content select=\"pdm-select-option\"></ng-content>\n </span>\n</div>\n\n<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n [attr.aria-labelledby]=\"id || null\"\n class=\"overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md max-h-96\"\n >\n <button\n *ngFor=\"let option of resolvedOptions\"\n type=\"button\"\n role=\"option\"\n [attr.aria-selected]=\"option.value === value\"\n [disabled]=\"option.disabled\"\n (click)=\"selectOption(option)\"\n [ngClass]=\"[\n 'flex w-full appearance-none items-center justify-between rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors',\n option.disabled\n ? 'cursor-not-allowed opacity-50'\n : 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground',\n option.value === value ? 'text-foreground' : '',\n ]\"\n >\n <span class=\"min-w-0 flex-1 truncate leading-5\">{{ option.label }}</span>\n <span\n *ngIf=\"option.value === value\"\n class=\"ml-2 flex shrink-0 items-center justify-end\"\n >\n <pdm-icon\n name=\"check\"\n [size]=\"16\"\n className=\"shrink-0 text-current\"\n ></pdm-icon>\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PdmIconComponent, selector: "pdm-icon", inputs: ["name", "library", "assetUrl", "size", "strokeWidth", "className", "ariaLabel", "decorative"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
129
+ PdmSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmSelectComponent, selector: "pdm-select", inputs: { id: "id", value: "value", options: "options", disabled: "disabled", invalid: "invalid", className: "className", placeholder: "placeholder", overlayOptions: "overlayOptions" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, queries: [{ propertyName: "projectedOptions", predicate: PdmSelectOptionDirective }], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"['relative', className || 'w-full']\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-expanded]=\"open\"\n [attr.data-state]=\"open ? 'open' : 'closed'\"\n aria-haspopup=\"listbox\"\n (click)=\"toggle()\"\n [ngClass]=\"[\n 'border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive flex h-9 w-full appearance-none items-center justify-between rounded-md border bg-background px-3 py-2 text-sm shadow-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\n ]\"\n >\n <span\n [ngClass]=\"[\n 'min-w-0 flex-1 truncate text-left leading-5',\n selectedOption\n ? 'font-medium text-foreground'\n : 'font-normal text-muted-foreground',\n ]\"\n >\n {{ selectedLabel }}\n </span>\n <pdm-icon\n name=\"chevron-down\"\n [size]=\"16\"\n className=\"shrink-0 text-muted-foreground\"\n ></pdm-icon>\n </button>\n\n <!-- Hidden native select kept for screen-reader / form fallback -->\n <select\n class=\"sr-only\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [value]=\"value\"\n (change)=\"onChange($event)\"\n >\n <option\n *ngFor=\"let option of resolvedOptions\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{ option.label }}\n </option>\n </select>\n\n <!-- Slot for content-projected pdm-select-option elements (hidden from layout) -->\n <span class=\"hidden\">\n <ng-content select=\"pdm-select-option\"></ng-content>\n </span>\n</div>\n\n<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n [attr.aria-labelledby]=\"id || null\"\n class=\"w-full overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md max-h-96\"\n >\n <button\n *ngFor=\"let option of resolvedOptions\"\n type=\"button\"\n role=\"option\"\n [attr.aria-selected]=\"option.value === value\"\n [disabled]=\"option.disabled\"\n (click)=\"selectOption(option)\"\n [ngClass]=\"[\n 'flex w-full appearance-none items-center justify-between rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors',\n option.disabled\n ? 'cursor-not-allowed opacity-50'\n : 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground',\n option.value === value ? 'text-foreground' : '',\n ]\"\n >\n <span class=\"min-w-0 flex-1 truncate leading-5\">{{ option.label }}</span>\n <span\n *ngIf=\"option.value === value\"\n class=\"ml-2 flex shrink-0 items-center justify-end\"\n >\n <pdm-icon\n name=\"check\"\n [size]=\"16\"\n className=\"shrink-0 text-current\"\n ></pdm-icon>\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PdmIconComponent, selector: "pdm-icon", inputs: ["name", "library", "assetUrl", "size", "strokeWidth", "className", "ariaLabel", "decorative"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
130
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmSelectComponent, decorators: [{
131
131
  type: Component,
132
- args: [{ selector: "pdm-select", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['relative', className || 'w-full']\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-expanded]=\"open\"\n [attr.data-state]=\"open ? 'open' : 'closed'\"\n aria-haspopup=\"listbox\"\n (click)=\"toggle()\"\n [ngClass]=\"[\n 'border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive flex h-9 w-full appearance-none items-center justify-between rounded-md border bg-background px-3 py-2 text-sm shadow-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\n ]\"\n >\n <span\n [ngClass]=\"[\n 'min-w-0 flex-1 truncate text-left leading-5',\n selectedOption\n ? 'font-medium text-foreground'\n : 'font-normal text-muted-foreground',\n ]\"\n >\n {{ selectedLabel }}\n </span>\n <pdm-icon\n name=\"chevron-down\"\n [size]=\"16\"\n className=\"shrink-0 text-muted-foreground\"\n ></pdm-icon>\n </button>\n\n <!-- Hidden native select kept for screen-reader / form fallback -->\n <select\n class=\"sr-only\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [value]=\"value\"\n (change)=\"onChange($event)\"\n >\n <option\n *ngFor=\"let option of resolvedOptions\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{ option.label }}\n </option>\n </select>\n\n <!-- Slot for content-projected pdm-select-option elements (hidden from layout) -->\n <span class=\"hidden\">\n <ng-content select=\"pdm-select-option\"></ng-content>\n </span>\n</div>\n\n<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n [attr.aria-labelledby]=\"id || null\"\n class=\"overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md max-h-96\"\n >\n <button\n *ngFor=\"let option of resolvedOptions\"\n type=\"button\"\n role=\"option\"\n [attr.aria-selected]=\"option.value === value\"\n [disabled]=\"option.disabled\"\n (click)=\"selectOption(option)\"\n [ngClass]=\"[\n 'flex w-full appearance-none items-center justify-between rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors',\n option.disabled\n ? 'cursor-not-allowed opacity-50'\n : 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground',\n option.value === value ? 'text-foreground' : '',\n ]\"\n >\n <span class=\"min-w-0 flex-1 truncate leading-5\">{{ option.label }}</span>\n <span\n *ngIf=\"option.value === value\"\n class=\"ml-2 flex shrink-0 items-center justify-end\"\n >\n <pdm-icon\n name=\"check\"\n [size]=\"16\"\n className=\"shrink-0 text-current\"\n ></pdm-icon>\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
132
+ args: [{ selector: "pdm-select", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['relative', className || 'w-full']\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-expanded]=\"open\"\n [attr.data-state]=\"open ? 'open' : 'closed'\"\n aria-haspopup=\"listbox\"\n (click)=\"toggle()\"\n [ngClass]=\"[\n 'border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive flex h-9 w-full appearance-none items-center justify-between rounded-md border bg-background px-3 py-2 text-sm shadow-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\n ]\"\n >\n <span\n [ngClass]=\"[\n 'min-w-0 flex-1 truncate text-left leading-5',\n selectedOption\n ? 'font-medium text-foreground'\n : 'font-normal text-muted-foreground',\n ]\"\n >\n {{ selectedLabel }}\n </span>\n <pdm-icon\n name=\"chevron-down\"\n [size]=\"16\"\n className=\"shrink-0 text-muted-foreground\"\n ></pdm-icon>\n </button>\n\n <!-- Hidden native select kept for screen-reader / form fallback -->\n <select\n class=\"sr-only\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [value]=\"value\"\n (change)=\"onChange($event)\"\n >\n <option\n *ngFor=\"let option of resolvedOptions\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{ option.label }}\n </option>\n </select>\n\n <!-- Slot for content-projected pdm-select-option elements (hidden from layout) -->\n <span class=\"hidden\">\n <ng-content select=\"pdm-select-option\"></ng-content>\n </span>\n</div>\n\n<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n [attr.aria-labelledby]=\"id || null\"\n class=\"w-full overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md max-h-96\"\n >\n <button\n *ngFor=\"let option of resolvedOptions\"\n type=\"button\"\n role=\"option\"\n [attr.aria-selected]=\"option.value === value\"\n [disabled]=\"option.disabled\"\n (click)=\"selectOption(option)\"\n [ngClass]=\"[\n 'flex w-full appearance-none items-center justify-between rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors',\n option.disabled\n ? 'cursor-not-allowed opacity-50'\n : 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground',\n option.value === value ? 'text-foreground' : '',\n ]\"\n >\n <span class=\"min-w-0 flex-1 truncate leading-5\">{{ option.label }}</span>\n <span\n *ngIf=\"option.value === value\"\n class=\"ml-2 flex shrink-0 items-center justify-end\"\n >\n <pdm-icon\n name=\"check\"\n [size]=\"16\"\n className=\"shrink-0 text-current\"\n ></pdm-icon>\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
133
133
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { id: [{
134
134
  type: Input
135
135
  }], value: [{
@@ -161,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
161
161
  type: HostListener,
162
162
  args: ["document:keydown.escape"]
163
163
  }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxHQUVULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBYzlDLE1BQU0sT0FBTyxrQkFBa0I7SUE2QjlCLFlBQ2tCLEdBQXNCLEVBQ3RCLE9BQWdCLEVBQ2hCLGdCQUFrQztRQUZsQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUEvQjNDLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFDUixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFzQixFQUFFLENBQUM7UUFDaEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixnQkFBVyxHQUFHLGtCQUFrQixDQUFDO1FBUTFDLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFSCxnQkFBVyxHQUFHLElB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LEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN2QjtJQUNGLENBQUM7OytHQTNKVyxrQkFBa0I7bUdBQWxCLGtCQUFrQix3WEF1QmIsd0JBQXdCLDBPQzNEMUMsa2dHQTBGQTsyRkR0RGEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNDLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTTs2SkFHdEMsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQU1HLGNBQWM7c0JBQXRCLEtBQUs7Z0JBSUksV0FBVztzQkFBcEIsTUFBTTtnQkFFeUIsVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxXQUFXO2dCQUNjLGdCQUFnQjtzQkFBbkQsU0FBUzt1QkFBQyxlQUFlO2dCQUlsQixnQkFBZ0I7c0JBRHZCLGVBQWU7dUJBQUMsd0JBQXdCO2dCQWlFekMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdEFmdGVyQ29udGVudEluaXQsXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRDb250ZW50Q2hpbGRyZW4sXG5cdEVsZW1lbnRSZWYsXG5cdEV2ZW50RW1pdHRlcixcblx0SG9zdExpc3RlbmVyLFxuXHRJbnB1dCxcblx0T25EZXN0cm95LFxuXHRPdXRwdXQsXG5cdFF1ZXJ5TGlzdCxcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFBkbVNlbGVjdE9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gXCIuL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBQZG1PdmVybGF5T3B0aW9ucyB9IGZyb20gXCIuLi8uLi9vdmVybGF5L3BkbS1vdmVybGF5LW9wdGlvbnNcIjtcbmltcG9ydCB7IGNyZWF0ZUZsZXhpYmxlUG9zaXRpb25TdHJhdGVneSB9IGZyb20gXCIuLi8uLi9vdmVybGF5L2NyZWF0ZS1mbGV4aWJsZS1wb3NpdGlvbi1zdHJhdGVneVwiO1xuaW1wb3J0IHsgWl9JTkRFWCB9IGZyb20gXCIuLi8uLi91dGlscy96LWluZGV4XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGRtU2VsZWN0T3B0aW9uIHtcblx0bGFiZWw6IHN0cmluZztcblx0dmFsdWU6IHN0cmluZztcblx0ZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwicGRtLXNlbGVjdFwiLFxuXHR0ZW1wbGF0ZVVybDogXCIuL3NlbGVjdC5jb21wb25lbnQuaHRtbFwiLFxuXHRzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogYmxvY2s7IH1cIl0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1TZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXHRASW5wdXQoKSBpZCA9IFwiXCI7XG5cdEBJbnB1dCgpIHZhbHVlID0gXCJcIjtcblx0QElucHV0KCkgb3B0aW9uczogUGRtU2VsZWN0T3B0aW9uW10gPSBbXTtcblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblx0QElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXHRASW5wdXQoKSBwbGFjZWhvbGRlciA9IFwiU2VsZWN0IGFuIG9wdGlvblwiO1xuXHQvKipcblx0ICogT3B0aW9uYWwgQ0RLIE92ZXJsYXlDb25maWcgb3ZlcnJpZGVzLlxuXHQgKiBTaGFsbG93LW1lcmdlZCBvbiB0b3Agb2YgY29tcG9uZW50IGRlZmF1bHRzIOKAlCBjb25zdW1lciBhbHdheXMgd2lucy5cblx0ICogUHJvdmlkaW5nIGBwb3NpdGlvblN0cmF0ZWd5YCBvciBgc2Nyb2xsU3RyYXRlZ3lgIHJlcGxhY2VzIHRoZSBjb21wb25lbnQgZGVmYXVsdCBlbnRpcmVseS5cblx0ICovXG5cdEBJbnB1dCgpIG92ZXJsYXlPcHRpb25zPzogUGRtT3ZlcmxheU9wdGlvbnM7XG5cblx0b3BlbiA9IGZhbHNlO1xuXG5cdEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG5cdEBWaWV3Q2hpbGQoXCJ0cmlnZ2VyRWxcIikgcHJpdmF0ZSB0cmlnZ2VyUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cdEBWaWV3Q2hpbGQoXCJwYW5lbFRlbXBsYXRlXCIpIHByaXZhdGUgcGFuZWxUZW1wbGF0ZVJlZiE6IGFueTtcblxuXHQvKiogQ29sbGVjdHMgYW55IGA8cGRtLXNlbGVjdC1vcHRpb24+YCBjaGlsZHJlbiBwcm9qZWN0ZWQgaW50byB0aGlzIGNvbXBvbmVudC4gKi9cblx0QENvbnRlbnRDaGlsZHJlbihQZG1TZWxlY3RPcHRpb25EaXJlY3RpdmUpXG5cdHByaXZhdGUgcHJvamVjdGVkT3B0aW9ucyE6IFF1ZXJ5TGlzdDxQZG1TZWxlY3RPcHRpb25EaXJlY3RpdmU+O1xuXG5cdHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIGJhY2tkcm9wU3ViOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcblx0KSB7fVxuXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcblx0XHQvLyBSZS1yZW5kZXIgd2hlbiBwcm9qZWN0ZWQgb3B0aW9ucyBjaGFuZ2UgKGUuZy4gKm5nRm9yIG9uIHBkbS1zZWxlY3Qtb3B0aW9uKS5cblx0XHR0aGlzLnByb2plY3RlZE9wdGlvbnMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIubWFya0ZvckNoZWNrKCkpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGVmZmVjdGl2ZSBsaXN0IG9mIG9wdGlvbnMuXG5cdCAqIFByb2plY3RlZCBgPHBkbS1zZWxlY3Qtb3B0aW9uPmAgY2hpbGRyZW4gdGFrZSBwcmlvcml0eSBvdmVyIHRoZSBgW29wdGlvbnNdYCBpbnB1dC5cblx0ICogRmFsbHMgYmFjayB0byBgW29wdGlvbnNdYCB3aGVuIG5vIGNoaWxkcmVuIGFyZSBwcm9qZWN0ZWQuXG5cdCAqL1xuXHRnZXQgcmVzb2x2ZWRPcHRpb25zKCk6IFBkbVNlbGVjdE9wdGlvbltdIHtcblx0XHRpZiAodGhpcy5wcm9qZWN0ZWRPcHRpb25zICYmIHRoaXMucHJvamVjdGVkT3B0aW9ucy5sZW5ndGggPiAwKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5wcm9qZWN0ZWRPcHRpb25zLm1hcCgoZCkgPT4gKHtcblx0XHRcdFx0bGFiZWw6IGQucmVzb2x2ZWRMYWJlbCxcblx0XHRcdFx0dmFsdWU6IGQudmFsdWUsXG5cdFx0XHRcdGRpc2FibGVkOiBkLmRpc2FibGVkLFxuXHRcdFx0fSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5vcHRpb25zO1xuXHR9XG5cblx0Z2V0IHNlbGVjdGVkT3B0aW9uKCk6IFBkbVNlbGVjdE9wdGlvbiB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMucmVzb2x2ZWRPcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB0aGlzLnZhbHVlKTtcblx0fVxuXG5cdGdldCBzZWxlY3RlZExhYmVsKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb24/LmxhYmVsIHx8IHRoaXMucGxhY2Vob2xkZXI7XG5cdH1cblxuXHR0b2dnbGUoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblx0XHRpZiAodGhpcy5vcGVuKSB7XG5cdFx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5vcGVuUGFuZWwoKTtcblx0XHR9XG5cdH1cblxuXHRvbkNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoKGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudCkudmFsdWUpO1xuXHR9XG5cblx0c2VsZWN0T3B0aW9uKG9wdGlvbjogUGRtU2VsZWN0T3B0aW9uKTogdm9pZCB7XG5cdFx0aWYgKG9wdGlvbi5kaXNhYmxlZCkgcmV0dXJuO1xuXHRcdHRoaXMudmFsdWVDaGFuZ2UuZW1pdChvcHRpb24udmFsdWUpO1xuXHRcdHRoaXMuY2xvc2VQYW5lbCgpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmtleWRvd24uZXNjYXBlXCIpXG5cdG9uRXNjYXBlKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm9wZW4pIHtcblx0XHRcdHRoaXMuY2xvc2VQYW5lbCgpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgb3BlblBhbmVsKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm92ZXJsYXlSZWYpIHJldHVybjtcblxuXHRcdGNvbnN0IHRyaWdnZXJFbCA9IHRoaXMudHJpZ2dlclJlZj8ubmF0aXZlRWxlbWVudDtcblx0XHRpZiAoIXRyaWdnZXJFbCkgcmV0dXJuO1xuXG5cdFx0dGhpcy5vcGVuID0gdHJ1ZTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuXHRcdGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBjcmVhdGVGbGV4aWJsZVBvc2l0aW9uU3RyYXRlZ3koXG5cdFx0XHR0aGlzLm92ZXJsYXksXG5cdFx0XHR0cmlnZ2VyRWwsXG5cdFx0XHQ0LFxuXHRcdCk7XG5cblx0XHR0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcblx0XHRcdC8vIENSw41USUNPOiB6LVs3MF0gcGFyYSBhcGFyZWNlciBTT0JSRSBtb2RhbHMgKHotWzYwXSlcblx0XHRcdC8vIHBhbmVsQ2xhc3Mgc2UgYXBsaWNhIGFsIGNkay1vdmVybGF5LXBhbmUgd3JhcHBlclxuXHRcdFx0cGFuZWxDbGFzczogW1pfSU5ERVgucG9wb3Zlcl0sXG5cdFx0XHRwb3NpdGlvblN0cmF0ZWd5LFxuXHRcdFx0c2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcblx0XHRcdHdpZHRoOiB0cmlnZ2VyRWwub2Zmc2V0V2lkdGgsXG5cdFx0XHQvLyBDb25zdW1lciBvdmVycmlkZXMgYXJlIHNwcmVhZCBsYXN0IOKAlCB0aGV5IHdpbiBvdmVyIGV2ZXJ5IGRlZmF1bHQgYWJvdmUuXG5cdFx0XHQuLi50aGlzLm92ZXJsYXlPcHRpb25zLFxuXHRcdH0pO1xuXG5cdFx0Y29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxuXHRcdFx0dGhpcy5wYW5lbFRlbXBsYXRlUmVmLFxuXHRcdFx0dGhpcy52aWV3Q29udGFpbmVyUmVmLFxuXHRcdCk7XG5cdFx0dGhpcy5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpO1xuXG5cdFx0dGhpcy5iYWNrZHJvcFN1YiA9IHRoaXMub3ZlcmxheVJlZlxuXHRcdFx0Lm91dHNpZGVQb2ludGVyRXZlbnRzKClcblx0XHRcdC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG5cdFx0XHRcdGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBOb2RlO1xuXHRcdFx0XHRpZiAoIXRyaWdnZXJFbC5jb250YWlucyh0YXJnZXQpKSB7XG5cdFx0XHRcdFx0dGhpcy5jbG9zZVBhbmVsKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXG5cdFx0dGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRwcml2YXRlIGNsb3NlUGFuZWwoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLm92ZXJsYXlSZWYpIHJldHVybjtcblxuXHRcdHRoaXMub3BlbiA9IGZhbHNlO1xuXHRcdHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdHByaXZhdGUgZGVzdHJveU92ZXJsYXkoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuYmFja2Ryb3BTdWIpIHtcblx0XHRcdHRoaXMuYmFja2Ryb3BTdWIudW5zdWJzY3JpYmUoKTtcblx0XHRcdHRoaXMuYmFja2Ryb3BTdWIgPSBudWxsO1xuXHRcdH1cblx0XHRpZiAodGhpcy5vdmVybGF5UmVmKSB7XG5cdFx0XHR0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuXHRcdFx0dGhpcy5vdmVybGF5UmVmID0gbnVsbDtcblx0XHR9XG5cdH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydyZWxhdGl2ZScsIGNsYXNzTmFtZSB8fCAndy1mdWxsJ11cIj5cbiAgPGJ1dHRvblxuICAgICN0cmlnZ2VyRWxcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3BlblwiXG4gICAgW2F0dHIuZGF0YS1zdGF0ZV09XCJvcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCdcIlxuICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICdib3JkZXItaW5wdXQgZm9jdXMtdmlzaWJsZTpib3JkZXItcmluZyBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZy81MCBhcmlhLWludmFsaWQ6cmluZy0yIGFyaWEtaW52YWxpZDpyaW5nLWRlc3RydWN0aXZlIGFyaWEtaW52YWxpZDpib3JkZXItZGVzdHJ1Y3RpdmUgZmxleCBoLTkgdy1mdWxsIGFwcGVhcmFuY2Utbm9uZSBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLWJhY2tncm91bmQgcHgtMyBweS0yIHRleHQtc20gc2hhZG93LXNtIG91dGxpbmUtbm9uZSBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCcsXG4gICAgXVwiXG4gID5cbiAgICA8c3BhblxuICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAnbWluLXctMCBmbGV4LTEgdHJ1bmNhdGUgdGV4dC1sZWZ0IGxlYWRpbmctNScsXG4gICAgICAgIHNlbGVjdGVkT3B0aW9uXG4gICAgICAgICAgPyAnZm9udC1tZWRpdW0gdGV4dC1mb3JlZ3JvdW5kJ1xuICAgICAgICAgIDogJ2ZvbnQtbm9ybWFsIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCcsXG4gICAgICBdXCJcbiAgICA+XG4gICAgICB7eyBzZWxlY3RlZExhYmVsIH19XG4gICAgPC9zcGFuPlxuICAgIDxwZG0taWNvblxuICAgICAgbmFtZT1cImNoZXZyb24tZG93blwiXG4gICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICBjbGFzc05hbWU9XCJzaHJpbmstMCB0ZXh0LW11dGVkLWZvcmVncm91bmRcIlxuICAgID48L3BkbS1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8IS0tIEhpZGRlbiBuYXRpdmUgc2VsZWN0IGtlcHQgZm9yIHNjcmVlbi1yZWFkZXIgLyBmb3JtIGZhbGxiYWNrIC0tPlxuICA8c2VsZWN0XG4gICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxvcHRpb25cbiAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcmVzb2x2ZWRPcHRpb25zXCJcbiAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgPlxuICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgPC9vcHRpb24+XG4gIDwvc2VsZWN0PlxuXG4gIDwhLS0gU2xvdCBmb3IgY29udGVudC1wcm9qZWN0ZWQgcGRtLXNlbGVjdC1vcHRpb24gZWxlbWVudHMgKGhpZGRlbiBmcm9tIGxheW91dCkgLS0+XG4gIDxzcGFuIGNsYXNzPVwiaGlkZGVuXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicGRtLXNlbGVjdC1vcHRpb25cIj48L25nLWNvbnRlbnQ+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3BhbmVsVGVtcGxhdGU+XG4gIDxkaXZcbiAgICByb2xlPVwibGlzdGJveFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkIHx8IG51bGxcIlxuICAgIGNsYXNzPVwib3ZlcmZsb3cteS1hdXRvIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctcG9wb3ZlciBwLTEgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LW1kIG1heC1oLTk2XCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcmVzb2x2ZWRPcHRpb25zXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIm9wdGlvbi52YWx1ZSA9PT0gdmFsdWVcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwic2VsZWN0T3B0aW9uKG9wdGlvbilcIlxuICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAnZmxleCB3LWZ1bGwgYXBwZWFyYW5jZS1ub25lIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcm91bmRlZC1zbSBib3JkZXItMCBiZy10cmFuc3BhcmVudCBweC0yIHB5LTEuNSB0ZXh0LWxlZnQgdGV4dC1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMnLFxuICAgICAgICBvcHRpb24uZGlzYWJsZWRcbiAgICAgICAgICA/ICdjdXJzb3Itbm90LWFsbG93ZWQgb3BhY2l0eS01MCdcbiAgICAgICAgICA6ICdob3ZlcjpiZy1hY2NlbnQgaG92ZXI6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBmb2N1cy12aXNpYmxlOmJnLWFjY2VudCBmb2N1cy12aXNpYmxlOnRleHQtYWNjZW50LWZvcmVncm91bmQnLFxuICAgICAgICBvcHRpb24udmFsdWUgPT09IHZhbHVlID8gJ3RleHQtZm9yZWdyb3VuZCcgOiAnJyxcbiAgICAgIF1cIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWluLXctMCBmbGV4LTEgdHJ1bmNhdGUgbGVhZGluZy01XCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJvcHRpb24udmFsdWUgPT09IHZhbHVlXCJcbiAgICAgICAgY2xhc3M9XCJtbC0yIGZsZXggc2hyaW5rLTAgaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kXCJcbiAgICAgID5cbiAgICAgICAgPHBkbS1pY29uXG4gICAgICAgICAgbmFtZT1cImNoZWNrXCJcbiAgICAgICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwic2hyaW5rLTAgdGV4dC1jdXJyZW50XCJcbiAgICAgICAgPjwvcGRtLWljb24+XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxHQUVULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBYzlDLE1BQU0sT0FBTyxrQkFBa0I7SUE2QjlCLFlBQ2tCLEdBQXNCLEVBQ3RCLE9BQWdCLEVBQ2hCLGdCQUFrQztRQUZsQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUEvQjNDLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFDUixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFzQixFQUFFLENBQUM7UUFDaEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixnQkFBVyxHQUFHLGtCQUFrQixDQUFDO1FBUTFDLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFSCxnQkFBVyxHQUFHLElB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LEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN2QjtJQUNGLENBQUM7OytHQTNKVyxrQkFBa0I7bUdBQWxCLGtCQUFrQix3WEF1QmIsd0JBQXdCLDBPQzNEMUMseWdHQTBGQTsyRkR0RGEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNDLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTTs2SkFHdEMsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQU1HLGNBQWM7c0JBQXRCLEtBQUs7Z0JBSUksV0FBVztzQkFBcEIsTUFBTTtnQkFFeUIsVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxXQUFXO2dCQUNjLGdCQUFnQjtzQkFBbkQsU0FBUzt1QkFBQyxlQUFlO2dCQUlsQixnQkFBZ0I7c0JBRHZCLGVBQWU7dUJBQUMsd0JBQXdCO2dCQWlFekMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdEFmdGVyQ29udGVudEluaXQsXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRDb250ZW50Q2hpbGRyZW4sXG5cdEVsZW1lbnRSZWYsXG5cdEV2ZW50RW1pdHRlcixcblx0SG9zdExpc3RlbmVyLFxuXHRJbnB1dCxcblx0T25EZXN0cm95LFxuXHRPdXRwdXQsXG5cdFF1ZXJ5TGlzdCxcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFBkbVNlbGVjdE9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gXCIuL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBQZG1PdmVybGF5T3B0aW9ucyB9IGZyb20gXCIuLi8uLi9vdmVybGF5L3BkbS1vdmVybGF5LW9wdGlvbnNcIjtcbmltcG9ydCB7IGNyZWF0ZUZsZXhpYmxlUG9zaXRpb25TdHJhdGVneSB9IGZyb20gXCIuLi8uLi9vdmVybGF5L2NyZWF0ZS1mbGV4aWJsZS1wb3NpdGlvbi1zdHJhdGVneVwiO1xuaW1wb3J0IHsgWl9JTkRFWCB9IGZyb20gXCIuLi8uLi91dGlscy96LWluZGV4XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGRtU2VsZWN0T3B0aW9uIHtcblx0bGFiZWw6IHN0cmluZztcblx0dmFsdWU6IHN0cmluZztcblx0ZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwicGRtLXNlbGVjdFwiLFxuXHR0ZW1wbGF0ZVVybDogXCIuL3NlbGVjdC5jb21wb25lbnQuaHRtbFwiLFxuXHRzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogYmxvY2s7IH1cIl0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZG1TZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXHRASW5wdXQoKSBpZCA9IFwiXCI7XG5cdEBJbnB1dCgpIHZhbHVlID0gXCJcIjtcblx0QElucHV0KCkgb3B0aW9uczogUGRtU2VsZWN0T3B0aW9uW10gPSBbXTtcblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblx0QElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXHRASW5wdXQoKSBwbGFjZWhvbGRlciA9IFwiU2VsZWN0IGFuIG9wdGlvblwiO1xuXHQvKipcblx0ICogT3B0aW9uYWwgQ0RLIE92ZXJsYXlDb25maWcgb3ZlcnJpZGVzLlxuXHQgKiBTaGFsbG93LW1lcmdlZCBvbiB0b3Agb2YgY29tcG9uZW50IGRlZmF1bHRzIOKAlCBjb25zdW1lciBhbHdheXMgd2lucy5cblx0ICogUHJvdmlkaW5nIGBwb3NpdGlvblN0cmF0ZWd5YCBvciBgc2Nyb2xsU3RyYXRlZ3lgIHJlcGxhY2VzIHRoZSBjb21wb25lbnQgZGVmYXVsdCBlbnRpcmVseS5cblx0ICovXG5cdEBJbnB1dCgpIG92ZXJsYXlPcHRpb25zPzogUGRtT3ZlcmxheU9wdGlvbnM7XG5cblx0b3BlbiA9IGZhbHNlO1xuXG5cdEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG5cdEBWaWV3Q2hpbGQoXCJ0cmlnZ2VyRWxcIikgcHJpdmF0ZSB0cmlnZ2VyUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cdEBWaWV3Q2hpbGQoXCJwYW5lbFRlbXBsYXRlXCIpIHByaXZhdGUgcGFuZWxUZW1wbGF0ZVJlZiE6IGFueTtcblxuXHQvKiogQ29sbGVjdHMgYW55IGA8cGRtLXNlbGVjdC1vcHRpb24+YCBjaGlsZHJlbiBwcm9qZWN0ZWQgaW50byB0aGlzIGNvbXBvbmVudC4gKi9cblx0QENvbnRlbnRDaGlsZHJlbihQZG1TZWxlY3RPcHRpb25EaXJlY3RpdmUpXG5cdHByaXZhdGUgcHJvamVjdGVkT3B0aW9ucyE6IFF1ZXJ5TGlzdDxQZG1TZWxlY3RPcHRpb25EaXJlY3RpdmU+O1xuXG5cdHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIGJhY2tkcm9wU3ViOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5LFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcblx0KSB7fVxuXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcblx0XHQvLyBSZS1yZW5kZXIgd2hlbiBwcm9qZWN0ZWQgb3B0aW9ucyBjaGFuZ2UgKGUuZy4gKm5nRm9yIG9uIHBkbS1zZWxlY3Qtb3B0aW9uKS5cblx0XHR0aGlzLnByb2plY3RlZE9wdGlvbnMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIubWFya0ZvckNoZWNrKCkpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGVmZmVjdGl2ZSBsaXN0IG9mIG9wdGlvbnMuXG5cdCAqIFByb2plY3RlZCBgPHBkbS1zZWxlY3Qtb3B0aW9uPmAgY2hpbGRyZW4gdGFrZSBwcmlvcml0eSBvdmVyIHRoZSBgW29wdGlvbnNdYCBpbnB1dC5cblx0ICogRmFsbHMgYmFjayB0byBgW29wdGlvbnNdYCB3aGVuIG5vIGNoaWxkcmVuIGFyZSBwcm9qZWN0ZWQuXG5cdCAqL1xuXHRnZXQgcmVzb2x2ZWRPcHRpb25zKCk6IFBkbVNlbGVjdE9wdGlvbltdIHtcblx0XHRpZiAodGhpcy5wcm9qZWN0ZWRPcHRpb25zICYmIHRoaXMucHJvamVjdGVkT3B0aW9ucy5sZW5ndGggPiAwKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5wcm9qZWN0ZWRPcHRpb25zLm1hcCgoZCkgPT4gKHtcblx0XHRcdFx0bGFiZWw6IGQucmVzb2x2ZWRMYWJlbCxcblx0XHRcdFx0dmFsdWU6IGQudmFsdWUsXG5cdFx0XHRcdGRpc2FibGVkOiBkLmRpc2FibGVkLFxuXHRcdFx0fSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5vcHRpb25zO1xuXHR9XG5cblx0Z2V0IHNlbGVjdGVkT3B0aW9uKCk6IFBkbVNlbGVjdE9wdGlvbiB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMucmVzb2x2ZWRPcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB0aGlzLnZhbHVlKTtcblx0fVxuXG5cdGdldCBzZWxlY3RlZExhYmVsKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb24/LmxhYmVsIHx8IHRoaXMucGxhY2Vob2xkZXI7XG5cdH1cblxuXHR0b2dnbGUoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblx0XHRpZiAodGhpcy5vcGVuKSB7XG5cdFx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5vcGVuUGFuZWwoKTtcblx0XHR9XG5cdH1cblxuXHRvbkNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoKGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudCkudmFsdWUpO1xuXHR9XG5cblx0c2VsZWN0T3B0aW9uKG9wdGlvbjogUGRtU2VsZWN0T3B0aW9uKTogdm9pZCB7XG5cdFx0aWYgKG9wdGlvbi5kaXNhYmxlZCkgcmV0dXJuO1xuXHRcdHRoaXMudmFsdWVDaGFuZ2UuZW1pdChvcHRpb24udmFsdWUpO1xuXHRcdHRoaXMuY2xvc2VQYW5lbCgpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmtleWRvd24uZXNjYXBlXCIpXG5cdG9uRXNjYXBlKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm9wZW4pIHtcblx0XHRcdHRoaXMuY2xvc2VQYW5lbCgpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgb3BlblBhbmVsKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm92ZXJsYXlSZWYpIHJldHVybjtcblxuXHRcdGNvbnN0IHRyaWdnZXJFbCA9IHRoaXMudHJpZ2dlclJlZj8ubmF0aXZlRWxlbWVudDtcblx0XHRpZiAoIXRyaWdnZXJFbCkgcmV0dXJuO1xuXG5cdFx0dGhpcy5vcGVuID0gdHJ1ZTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuXHRcdGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBjcmVhdGVGbGV4aWJsZVBvc2l0aW9uU3RyYXRlZ3koXG5cdFx0XHR0aGlzLm92ZXJsYXksXG5cdFx0XHR0cmlnZ2VyRWwsXG5cdFx0XHQ0LFxuXHRcdCk7XG5cblx0XHR0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcblx0XHRcdC8vIENSw41USUNPOiB6LVs3MF0gcGFyYSBhcGFyZWNlciBTT0JSRSBtb2RhbHMgKHotWzYwXSlcblx0XHRcdC8vIHBhbmVsQ2xhc3Mgc2UgYXBsaWNhIGFsIGNkay1vdmVybGF5LXBhbmUgd3JhcHBlclxuXHRcdFx0cGFuZWxDbGFzczogW1pfSU5ERVgucG9wb3Zlcl0sXG5cdFx0XHRwb3NpdGlvblN0cmF0ZWd5LFxuXHRcdFx0c2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcblx0XHRcdHdpZHRoOiB0cmlnZ2VyRWwub2Zmc2V0V2lkdGgsXG5cdFx0XHQvLyBDb25zdW1lciBvdmVycmlkZXMgYXJlIHNwcmVhZCBsYXN0IOKAlCB0aGV5IHdpbiBvdmVyIGV2ZXJ5IGRlZmF1bHQgYWJvdmUuXG5cdFx0XHQuLi50aGlzLm92ZXJsYXlPcHRpb25zLFxuXHRcdH0pO1xuXG5cdFx0Y29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxuXHRcdFx0dGhpcy5wYW5lbFRlbXBsYXRlUmVmLFxuXHRcdFx0dGhpcy52aWV3Q29udGFpbmVyUmVmLFxuXHRcdCk7XG5cdFx0dGhpcy5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpO1xuXG5cdFx0dGhpcy5iYWNrZHJvcFN1YiA9IHRoaXMub3ZlcmxheVJlZlxuXHRcdFx0Lm91dHNpZGVQb2ludGVyRXZlbnRzKClcblx0XHRcdC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG5cdFx0XHRcdGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBOb2RlO1xuXHRcdFx0XHRpZiAoIXRyaWdnZXJFbC5jb250YWlucyh0YXJnZXQpKSB7XG5cdFx0XHRcdFx0dGhpcy5jbG9zZVBhbmVsKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXG5cdFx0dGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRwcml2YXRlIGNsb3NlUGFuZWwoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLm92ZXJsYXlSZWYpIHJldHVybjtcblxuXHRcdHRoaXMub3BlbiA9IGZhbHNlO1xuXHRcdHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdHByaXZhdGUgZGVzdHJveU92ZXJsYXkoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuYmFja2Ryb3BTdWIpIHtcblx0XHRcdHRoaXMuYmFja2Ryb3BTdWIudW5zdWJzY3JpYmUoKTtcblx0XHRcdHRoaXMuYmFja2Ryb3BTdWIgPSBudWxsO1xuXHRcdH1cblx0XHRpZiAodGhpcy5vdmVybGF5UmVmKSB7XG5cdFx0XHR0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuXHRcdFx0dGhpcy5vdmVybGF5UmVmID0gbnVsbDtcblx0XHR9XG5cdH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydyZWxhdGl2ZScsIGNsYXNzTmFtZSB8fCAndy1mdWxsJ11cIj5cbiAgPGJ1dHRvblxuICAgICN0cmlnZ2VyRWxcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3BlblwiXG4gICAgW2F0dHIuZGF0YS1zdGF0ZV09XCJvcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCdcIlxuICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICdib3JkZXItaW5wdXQgZm9jdXMtdmlzaWJsZTpib3JkZXItcmluZyBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZy81MCBhcmlhLWludmFsaWQ6cmluZy0yIGFyaWEtaW52YWxpZDpyaW5nLWRlc3RydWN0aXZlIGFyaWEtaW52YWxpZDpib3JkZXItZGVzdHJ1Y3RpdmUgZmxleCBoLTkgdy1mdWxsIGFwcGVhcmFuY2Utbm9uZSBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLWJhY2tncm91bmQgcHgtMyBweS0yIHRleHQtc20gc2hhZG93LXNtIG91dGxpbmUtbm9uZSBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCcsXG4gICAgXVwiXG4gID5cbiAgICA8c3BhblxuICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAnbWluLXctMCBmbGV4LTEgdHJ1bmNhdGUgdGV4dC1sZWZ0IGxlYWRpbmctNScsXG4gICAgICAgIHNlbGVjdGVkT3B0aW9uXG4gICAgICAgICAgPyAnZm9udC1tZWRpdW0gdGV4dC1mb3JlZ3JvdW5kJ1xuICAgICAgICAgIDogJ2ZvbnQtbm9ybWFsIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCcsXG4gICAgICBdXCJcbiAgICA+XG4gICAgICB7eyBzZWxlY3RlZExhYmVsIH19XG4gICAgPC9zcGFuPlxuICAgIDxwZG0taWNvblxuICAgICAgbmFtZT1cImNoZXZyb24tZG93blwiXG4gICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICBjbGFzc05hbWU9XCJzaHJpbmstMCB0ZXh0LW11dGVkLWZvcmVncm91bmRcIlxuICAgID48L3BkbS1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8IS0tIEhpZGRlbiBuYXRpdmUgc2VsZWN0IGtlcHQgZm9yIHNjcmVlbi1yZWFkZXIgLyBmb3JtIGZhbGxiYWNrIC0tPlxuICA8c2VsZWN0XG4gICAgY2xhc3M9XCJzci1vbmx5XCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxvcHRpb25cbiAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcmVzb2x2ZWRPcHRpb25zXCJcbiAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgPlxuICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgPC9vcHRpb24+XG4gIDwvc2VsZWN0PlxuXG4gIDwhLS0gU2xvdCBmb3IgY29udGVudC1wcm9qZWN0ZWQgcGRtLXNlbGVjdC1vcHRpb24gZWxlbWVudHMgKGhpZGRlbiBmcm9tIGxheW91dCkgLS0+XG4gIDxzcGFuIGNsYXNzPVwiaGlkZGVuXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicGRtLXNlbGVjdC1vcHRpb25cIj48L25nLWNvbnRlbnQ+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3BhbmVsVGVtcGxhdGU+XG4gIDxkaXZcbiAgICByb2xlPVwibGlzdGJveFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkIHx8IG51bGxcIlxuICAgIGNsYXNzPVwidy1mdWxsIG92ZXJmbG93LXktYXV0byByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLXBvcG92ZXIgcC0xIHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIHNoYWRvdy1tZCBtYXgtaC05NlwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHJlc29sdmVkT3B0aW9uc1wiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJvcHRpb24udmFsdWUgPT09IHZhbHVlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdGlvbihvcHRpb24pXCJcbiAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgJ2ZsZXggdy1mdWxsIGFwcGVhcmFuY2Utbm9uZSBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHJvdW5kZWQtc20gYm9yZGVyLTAgYmctdHJhbnNwYXJlbnQgcHgtMiBweS0xLjUgdGV4dC1sZWZ0IHRleHQtc20gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzJyxcbiAgICAgICAgb3B0aW9uLmRpc2FibGVkXG4gICAgICAgICAgPyAnY3Vyc29yLW5vdC1hbGxvd2VkIG9wYWNpdHktNTAnXG4gICAgICAgICAgOiAnaG92ZXI6YmctYWNjZW50IGhvdmVyOnRleHQtYWNjZW50LWZvcmVncm91bmQgZm9jdXMtdmlzaWJsZTpiZy1hY2NlbnQgZm9jdXMtdmlzaWJsZTp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyxcbiAgICAgICAgb3B0aW9uLnZhbHVlID09PSB2YWx1ZSA/ICd0ZXh0LWZvcmVncm91bmQnIDogJycsXG4gICAgICBdXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1pbi13LTAgZmxleC0xIHRydW5jYXRlIGxlYWRpbmctNVwiPnt7IG9wdGlvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwib3B0aW9uLnZhbHVlID09PSB2YWx1ZVwiXG4gICAgICAgIGNsYXNzPVwibWwtMiBmbGV4IHNocmluay0wIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZFwiXG4gICAgICA+XG4gICAgICAgIDxwZG0taWNvblxuICAgICAgICAgIG5hbWU9XCJjaGVja1wiXG4gICAgICAgICAgW3NpemVdPVwiMTZcIlxuICAgICAgICAgIGNsYXNzTmFtZT1cInNocmluay0wIHRleHQtY3VycmVudFwiXG4gICAgICAgID48L3BkbS1pY29uPlxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,29 +1,29 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  export class PdmSwitchComponent {
5
5
  constructor(cdr) {
6
6
  this.cdr = cdr;
7
- this.id = '';
7
+ this.id = "";
8
8
  this.checked = false;
9
9
  this.disabled = false;
10
- this.label = '';
11
- this.className = '';
12
- this.size = 'default';
10
+ this.label = "";
11
+ this.className = "";
12
+ this.size = "default";
13
13
  this.checkedChange = new EventEmitter();
14
14
  }
15
15
  get rootClasses() {
16
16
  return [
17
- 'peer relative inline-flex appearance-none shrink-0 items-center rounded-full border border-transparent outline-none transition-all focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50',
18
- this.size === 'sm' ? 'h-[14px] w-[24px]' : 'h-[18.4px] w-[32px]',
19
- this.checked ? 'bg-primary' : 'bg-input dark:bg-input/80'
17
+ "peer relative inline-flex appearance-none shrink-0 items-center rounded-full border border-transparent outline-none transition-all focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50",
18
+ this.size === "sm" ? "h-[14px] w-[24px]" : "h-[18.4px] w-[32px]",
19
+ this.checked ? "bg-primary" : "bg-input dark:bg-input/80",
20
20
  ];
21
21
  }
22
22
  get thumbClasses() {
23
23
  return [
24
- 'pointer-events-none block rounded-full bg-background ring-0 transition-transform',
25
- this.size === 'sm' ? 'size-3' : 'size-4',
26
- this.checked ? 'translate-x-[calc(100%-2px)]' : 'translate-x-0'
24
+ "pointer-events-none self-center block rounded-full bg-background ring-0 transition-transform",
25
+ this.size === "sm" ? "size-3" : "size-4",
26
+ this.checked ? "translate-x-[calc(100%-2px)]" : "translate-x-0",
27
27
  ];
28
28
  }
29
29
  onToggle() {
@@ -39,7 +39,7 @@ PdmSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", versi
39
39
  PdmSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmSwitchComponent, selector: "pdm-switch", inputs: { id: "id", checked: "checked", disabled: "disabled", label: "label", className: "className", size: "size" }, outputs: { checkedChange: "checkedChange" }, ngImport: i0, template: "<div [ngClass]=\"['flex items-center space-x-2', className]\">\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-disabled]=\"disabled\"\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-disabled]=\"disabled ? 'true' : 'false'\"\n [attr.data-size]=\"size\"\n [attr.data-slot]=\"'switch'\"\n [attr.value]=\"checked ? 'on' : 'off'\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [ngClass]=\"rootClasses\"\n (click)=\"onToggle()\"\n >\n <span\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-slot]=\"'switch-thumb'\"\n [ngClass]=\"thumbClasses\"\n ></span>\n </button>\n <label\n *ngIf=\"label\"\n [attr.for]=\"id\"\n [attr.data-slot]=\"'label'\"\n class=\"flex cursor-pointer items-center gap-2 text-sm leading-none font-medium select-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50\"\n (click)=\"onToggle()\"\n >\n {{ label }}\n </label>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmSwitchComponent, decorators: [{
41
41
  type: Component,
42
- args: [{ selector: 'pdm-switch', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['flex items-center space-x-2', className]\">\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-disabled]=\"disabled\"\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-disabled]=\"disabled ? 'true' : 'false'\"\n [attr.data-size]=\"size\"\n [attr.data-slot]=\"'switch'\"\n [attr.value]=\"checked ? 'on' : 'off'\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [ngClass]=\"rootClasses\"\n (click)=\"onToggle()\"\n >\n <span\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-slot]=\"'switch-thumb'\"\n [ngClass]=\"thumbClasses\"\n ></span>\n </button>\n <label\n *ngIf=\"label\"\n [attr.for]=\"id\"\n [attr.data-slot]=\"'label'\"\n class=\"flex cursor-pointer items-center gap-2 text-sm leading-none font-medium select-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50\"\n (click)=\"onToggle()\"\n >\n {{ label }}\n </label>\n</div>\n" }]
42
+ args: [{ selector: "pdm-switch", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['flex items-center space-x-2', className]\">\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-disabled]=\"disabled\"\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-disabled]=\"disabled ? 'true' : 'false'\"\n [attr.data-size]=\"size\"\n [attr.data-slot]=\"'switch'\"\n [attr.value]=\"checked ? 'on' : 'off'\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [ngClass]=\"rootClasses\"\n (click)=\"onToggle()\"\n >\n <span\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-slot]=\"'switch-thumb'\"\n [ngClass]=\"thumbClasses\"\n ></span>\n </button>\n <label\n *ngIf=\"label\"\n [attr.for]=\"id\"\n [attr.data-slot]=\"'label'\"\n class=\"flex cursor-pointer items-center gap-2 text-sm leading-none font-medium select-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50\"\n (click)=\"onToggle()\"\n >\n {{ label }}\n </label>\n</div>\n" }]
43
43
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
44
44
  type: Input
45
45
  }], checked: [{
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
55
55
  }], checkedChange: [{
56
56
  type: Output
57
57
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTbkgsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUE2QixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUUxQyxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsU0FBSSxHQUFrQixTQUFTLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBVEEsQ0FBQztJQVd2RCxJQUFJLFdBQVc7UUFDYixPQUFPO1lBQ0wsOFBBQThQO1lBQzlQLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMscUJBQXFCO1lBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsMkJBQTJCO1NBQzFELENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTztZQUNMLGtGQUFrRjtZQUNsRixJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxlQUFlO1NBQ2hFLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7OytHQWxDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixxTkNUL0Isb2dDQWdDQTsyRkR2QmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLFlBQVksbUJBRUwsdUJBQXVCLENBQUMsTUFBTTt3R0FLdEMsRUFBRTtzQkFBVixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBQZG1Td2l0Y2hTaXplID0gJ2RlZmF1bHQnIHwgJ3NtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLXN3aXRjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2l0Y2guY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1Td2l0Y2hDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgQElucHV0KCkgaWQgPSAnJztcbiAgQElucHV0KCkgY2hlY2tlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgc2l6ZTogUGRtU3dpdGNoU2l6ZSA9ICdkZWZhdWx0JztcblxuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBnZXQgcm9vdENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICAncGVlciByZWxhdGl2ZSBpbmxpbmUtZmxleCBhcHBlYXJhbmNlLW5vbmUgc2hyaW5rLTAgaXRlbXMtY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLXRyYW5zcGFyZW50IG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWFsbCBmb2N1cy12aXNpYmxlOmJvcmRlci1yaW5nIGZvY3VzLXZpc2libGU6cmluZy0zIGZvY3VzLXZpc2libGU6cmluZy1yaW5nLzUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwJyxcbiAgICAgIHRoaXMuc2l6ZSA9PT0gJ3NtJyA/ICdoLVsxNHB4XSB3LVsyNHB4XScgOiAnaC1bMTguNHB4XSB3LVszMnB4XScsXG4gICAgICB0aGlzLmNoZWNrZWQgPyAnYmctcHJpbWFyeScgOiAnYmctaW5wdXQgZGFyazpiZy1pbnB1dC84MCdcbiAgICBdO1xuICB9XG5cbiAgZ2V0IHRodW1iQ2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdwb2ludGVyLWV2ZW50cy1ub25lIGJsb2NrIHJvdW5kZWQtZnVsbCBiZy1iYWNrZ3JvdW5kIHJpbmctMCB0cmFuc2l0aW9uLXRyYW5zZm9ybScsXG4gICAgICB0aGlzLnNpemUgPT09ICdzbScgPyAnc2l6ZS0zJyA6ICdzaXplLTQnLFxuICAgICAgdGhpcy5jaGVja2VkID8gJ3RyYW5zbGF0ZS14LVtjYWxjKDEwMCUtMnB4KV0nIDogJ3RyYW5zbGF0ZS14LTAnXG4gICAgXTtcbiAgfVxuXG4gIG9uVG9nZ2xlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgY29uc3QgbmV4dCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgdGhpcy5jaGVja2VkID0gbmV4dDtcbiAgICB0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdChuZXh0KTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJbJ2ZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMicsIGNsYXNzTmFtZV1cIj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIHJvbGU9XCJzd2l0Y2hcIlxuICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5kYXRhLXN0YXRlXT1cImNoZWNrZWQgPyAnY2hlY2tlZCcgOiAndW5jaGVja2VkJ1wiXG4gICAgW2F0dHIuZGF0YS1kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAgIFthdHRyLmRhdGEtc2l6ZV09XCJzaXplXCJcbiAgICBbYXR0ci5kYXRhLXNsb3RdPVwiJ3N3aXRjaCdcIlxuICAgIFthdHRyLnZhbHVlXT1cImNoZWNrZWQgPyAnb24nIDogJ29mZidcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmdDbGFzc109XCJyb290Q2xhc3Nlc1wiXG4gICAgKGNsaWNrKT1cIm9uVG9nZ2xlKClcIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIFthdHRyLmRhdGEtc3RhdGVdPVwiY2hlY2tlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnXCJcbiAgICAgIFthdHRyLmRhdGEtc2xvdF09XCInc3dpdGNoLXRodW1iJ1wiXG4gICAgICBbbmdDbGFzc109XCJ0aHVtYkNsYXNzZXNcIlxuICAgID48L3NwYW4+XG4gIDwvYnV0dG9uPlxuICA8bGFiZWxcbiAgICAqbmdJZj1cImxhYmVsXCJcbiAgICBbYXR0ci5mb3JdPVwiaWRcIlxuICAgIFthdHRyLmRhdGEtc2xvdF09XCInbGFiZWwnXCJcbiAgICBjbGFzcz1cImZsZXggY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtc20gbGVhZGluZy1ub25lIGZvbnQtbWVkaXVtIHNlbGVjdC1ub25lIHBlZXItZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIHBlZXItZGlzYWJsZWQ6b3BhY2l0eS01MFwiXG4gICAgKGNsaWNrKT1cIm9uVG9nZ2xlKClcIlxuICA+XG4gICAge3sgbGFiZWwgfX1cbiAgPC9sYWJlbD5cbjwvZGl2PlxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNOLE1BQU0sZUFBZSxDQUFDOzs7QUFTdkIsTUFBTSxPQUFPLGtCQUFrQjtJQUM5QixZQUE2QixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUUxQyxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsU0FBSSxHQUFrQixTQUFTLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBVEEsQ0FBQztJQVd2RCxJQUFJLFdBQVc7UUFDZCxPQUFPO1lBQ04sOFBBQThQO1lBQzlQLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMscUJBQXFCO1lBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsMkJBQTJCO1NBQ3pELENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2YsT0FBTztZQUNOLDhGQUE4RjtZQUM5RixJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxlQUFlO1NBQy9ELENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7OytHQWxDVyxrQkFBa0I7bUdBQWxCLGtCQUFrQixxTkNoQi9CLG9nQ0FnQ0E7MkZEaEJhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDQyxZQUFZLG1CQUVMLHVCQUF1QixDQUFDLE1BQU07d0dBS3RDLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRFdmVudEVtaXR0ZXIsXG5cdElucHV0LFxuXHRPdXRwdXQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCB0eXBlIFBkbVN3aXRjaFNpemUgPSBcImRlZmF1bHRcIiB8IFwic21cIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcInBkbS1zd2l0Y2hcIixcblx0dGVtcGxhdGVVcmw6IFwiLi9zd2l0Y2guY29tcG9uZW50Lmh0bWxcIixcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBkbVN3aXRjaENvbXBvbmVudCB7XG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuXHRASW5wdXQoKSBpZCA9IFwiXCI7XG5cdEBJbnB1dCgpIGNoZWNrZWQgPSBmYWxzZTtcblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblx0QElucHV0KCkgbGFiZWwgPSBcIlwiO1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXHRASW5wdXQoKSBzaXplOiBQZG1Td2l0Y2hTaXplID0gXCJkZWZhdWx0XCI7XG5cblx0QE91dHB1dCgpIGNoZWNrZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cblx0Z2V0IHJvb3RDbGFzc2VzKCk6IHN0cmluZ1tdIHtcblx0XHRyZXR1cm4gW1xuXHRcdFx0XCJwZWVyIHJlbGF0aXZlIGlubGluZS1mbGV4IGFwcGVhcmFuY2Utbm9uZSBzaHJpbmstMCBpdGVtcy1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgb3V0bGluZS1ub25lIHRyYW5zaXRpb24tYWxsIGZvY3VzLXZpc2libGU6Ym9yZGVyLXJpbmcgZm9jdXMtdmlzaWJsZTpyaW5nLTMgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcvNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTBcIixcblx0XHRcdHRoaXMuc2l6ZSA9PT0gXCJzbVwiID8gXCJoLVsxNHB4XSB3LVsyNHB4XVwiIDogXCJoLVsxOC40cHhdIHctWzMycHhdXCIsXG5cdFx0XHR0aGlzLmNoZWNrZWQgPyBcImJnLXByaW1hcnlcIiA6IFwiYmctaW5wdXQgZGFyazpiZy1pbnB1dC84MFwiLFxuXHRcdF07XG5cdH1cblxuXHRnZXQgdGh1bWJDbGFzc2VzKCk6IHN0cmluZ1tdIHtcblx0XHRyZXR1cm4gW1xuXHRcdFx0XCJwb2ludGVyLWV2ZW50cy1ub25lIHNlbGYtY2VudGVyIGJsb2NrIHJvdW5kZWQtZnVsbCBiZy1iYWNrZ3JvdW5kIHJpbmctMCB0cmFuc2l0aW9uLXRyYW5zZm9ybVwiLFxuXHRcdFx0dGhpcy5zaXplID09PSBcInNtXCIgPyBcInNpemUtM1wiIDogXCJzaXplLTRcIixcblx0XHRcdHRoaXMuY2hlY2tlZCA/IFwidHJhbnNsYXRlLXgtW2NhbGMoMTAwJS0ycHgpXVwiIDogXCJ0cmFuc2xhdGUteC0wXCIsXG5cdFx0XTtcblx0fVxuXG5cdG9uVG9nZ2xlKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG5cdFx0Y29uc3QgbmV4dCA9ICF0aGlzLmNoZWNrZWQ7XG5cdFx0dGhpcy5jaGVja2VkID0gbmV4dDtcblx0XHR0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdChuZXh0KTtcblx0XHR0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblx0fVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJbJ2ZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMicsIGNsYXNzTmFtZV1cIj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIHJvbGU9XCJzd2l0Y2hcIlxuICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5kYXRhLXN0YXRlXT1cImNoZWNrZWQgPyAnY2hlY2tlZCcgOiAndW5jaGVja2VkJ1wiXG4gICAgW2F0dHIuZGF0YS1kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAgIFthdHRyLmRhdGEtc2l6ZV09XCJzaXplXCJcbiAgICBbYXR0ci5kYXRhLXNsb3RdPVwiJ3N3aXRjaCdcIlxuICAgIFthdHRyLnZhbHVlXT1cImNoZWNrZWQgPyAnb24nIDogJ29mZidcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmdDbGFzc109XCJyb290Q2xhc3Nlc1wiXG4gICAgKGNsaWNrKT1cIm9uVG9nZ2xlKClcIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIFthdHRyLmRhdGEtc3RhdGVdPVwiY2hlY2tlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnXCJcbiAgICAgIFthdHRyLmRhdGEtc2xvdF09XCInc3dpdGNoLXRodW1iJ1wiXG4gICAgICBbbmdDbGFzc109XCJ0aHVtYkNsYXNzZXNcIlxuICAgID48L3NwYW4+XG4gIDwvYnV0dG9uPlxuICA8bGFiZWxcbiAgICAqbmdJZj1cImxhYmVsXCJcbiAgICBbYXR0ci5mb3JdPVwiaWRcIlxuICAgIFthdHRyLmRhdGEtc2xvdF09XCInbGFiZWwnXCJcbiAgICBjbGFzcz1cImZsZXggY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtc20gbGVhZGluZy1ub25lIGZvbnQtbWVkaXVtIHNlbGVjdC1ub25lIHBlZXItZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIHBlZXItZGlzYWJsZWQ6b3BhY2l0eS01MFwiXG4gICAgKGNsaWNrKT1cIm9uVG9nZ2xlKClcIlxuICA+XG4gICAge3sgbGFiZWwgfX1cbiAgPC9sYWJlbD5cbjwvZGl2PlxuIl19
@@ -316,7 +316,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
316
316
  }] } });
317
317
 
318
318
  const ROOT_LAYOUT = {
319
- horizontal: "flex flex-col sm:flex-row sm:items-center sm:flex-wrap",
319
+ horizontal: "w-full flex flex-row items-center overflow-x-auto",
320
320
  vertical: "flex flex-col items-stretch",
321
321
  };
322
322
  const ATTACHMENT_EDGE_CLASSES = {
@@ -344,7 +344,9 @@ const ATTACHMENT_CONTROL_CLASSES = {
344
344
  "[&>pdm-button:first-child>button]:!rounded-l-md",
345
345
  "[&>pdm-button:last-child>button]:!rounded-r-md",
346
346
  "[&>pdm-input]:flex-1",
347
+ "[&>pdm-input]:min-w-0",
347
348
  "[&>pdm-input>div]:w-full",
349
+ "[&>pdm-input>div]:min-w-0",
348
350
  "[&>pdm-input>div]:!rounded-none",
349
351
  "[&>pdm-input>div]:shadow-none",
350
352
  "[&>pdm-input>div>input]:!rounded-none",
@@ -354,6 +356,7 @@ const ATTACHMENT_CONTROL_CLASSES = {
354
356
  "[&>pdm-input:last-child>div]:!rounded-r-md",
355
357
  "[&>pdm-input:first-child>div>input]:!rounded-l-md",
356
358
  "[&>pdm-input:last-child>div>input]:!rounded-r-md",
359
+ "[&>pdm-input-group]:min-w-0",
357
360
  "[&>pdm-input-group>div]:!rounded-none",
358
361
  "[&>pdm-input-group>div]:shadow-none",
359
362
  "[&>pdm-input-group:first-child>div]:!rounded-l-md",
@@ -5409,10 +5412,10 @@ class PdmSelectComponent {
5409
5412
  }
5410
5413
  }
5411
5414
  PdmSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
5412
- PdmSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmSelectComponent, selector: "pdm-select", inputs: { id: "id", value: "value", options: "options", disabled: "disabled", invalid: "invalid", className: "className", placeholder: "placeholder", overlayOptions: "overlayOptions" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, queries: [{ propertyName: "projectedOptions", predicate: PdmSelectOptionDirective }], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"['relative', className || 'w-full']\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-expanded]=\"open\"\n [attr.data-state]=\"open ? 'open' : 'closed'\"\n aria-haspopup=\"listbox\"\n (click)=\"toggle()\"\n [ngClass]=\"[\n 'border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive flex h-9 w-full appearance-none items-center justify-between rounded-md border bg-background px-3 py-2 text-sm shadow-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\n ]\"\n >\n <span\n [ngClass]=\"[\n 'min-w-0 flex-1 truncate text-left leading-5',\n selectedOption\n ? 'font-medium text-foreground'\n : 'font-normal text-muted-foreground',\n ]\"\n >\n {{ selectedLabel }}\n </span>\n <pdm-icon\n name=\"chevron-down\"\n [size]=\"16\"\n className=\"shrink-0 text-muted-foreground\"\n ></pdm-icon>\n </button>\n\n <!-- Hidden native select kept for screen-reader / form fallback -->\n <select\n class=\"sr-only\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [value]=\"value\"\n (change)=\"onChange($event)\"\n >\n <option\n *ngFor=\"let option of resolvedOptions\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{ option.label }}\n </option>\n </select>\n\n <!-- Slot for content-projected pdm-select-option elements (hidden from layout) -->\n <span class=\"hidden\">\n <ng-content select=\"pdm-select-option\"></ng-content>\n </span>\n</div>\n\n<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n [attr.aria-labelledby]=\"id || null\"\n class=\"overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md max-h-96\"\n >\n <button\n *ngFor=\"let option of resolvedOptions\"\n type=\"button\"\n role=\"option\"\n [attr.aria-selected]=\"option.value === value\"\n [disabled]=\"option.disabled\"\n (click)=\"selectOption(option)\"\n [ngClass]=\"[\n 'flex w-full appearance-none items-center justify-between rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors',\n option.disabled\n ? 'cursor-not-allowed opacity-50'\n : 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground',\n option.value === value ? 'text-foreground' : '',\n ]\"\n >\n <span class=\"min-w-0 flex-1 truncate leading-5\">{{ option.label }}</span>\n <span\n *ngIf=\"option.value === value\"\n class=\"ml-2 flex shrink-0 items-center justify-end\"\n >\n <pdm-icon\n name=\"check\"\n [size]=\"16\"\n className=\"shrink-0 text-current\"\n ></pdm-icon>\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PdmIconComponent, selector: "pdm-icon", inputs: ["name", "library", "assetUrl", "size", "strokeWidth", "className", "ariaLabel", "decorative"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5415
+ PdmSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmSelectComponent, selector: "pdm-select", inputs: { id: "id", value: "value", options: "options", disabled: "disabled", invalid: "invalid", className: "className", placeholder: "placeholder", overlayOptions: "overlayOptions" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, queries: [{ propertyName: "projectedOptions", predicate: PdmSelectOptionDirective }], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"['relative', className || 'w-full']\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-expanded]=\"open\"\n [attr.data-state]=\"open ? 'open' : 'closed'\"\n aria-haspopup=\"listbox\"\n (click)=\"toggle()\"\n [ngClass]=\"[\n 'border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive flex h-9 w-full appearance-none items-center justify-between rounded-md border bg-background px-3 py-2 text-sm shadow-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\n ]\"\n >\n <span\n [ngClass]=\"[\n 'min-w-0 flex-1 truncate text-left leading-5',\n selectedOption\n ? 'font-medium text-foreground'\n : 'font-normal text-muted-foreground',\n ]\"\n >\n {{ selectedLabel }}\n </span>\n <pdm-icon\n name=\"chevron-down\"\n [size]=\"16\"\n className=\"shrink-0 text-muted-foreground\"\n ></pdm-icon>\n </button>\n\n <!-- Hidden native select kept for screen-reader / form fallback -->\n <select\n class=\"sr-only\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [value]=\"value\"\n (change)=\"onChange($event)\"\n >\n <option\n *ngFor=\"let option of resolvedOptions\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{ option.label }}\n </option>\n </select>\n\n <!-- Slot for content-projected pdm-select-option elements (hidden from layout) -->\n <span class=\"hidden\">\n <ng-content select=\"pdm-select-option\"></ng-content>\n </span>\n</div>\n\n<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n [attr.aria-labelledby]=\"id || null\"\n class=\"w-full overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md max-h-96\"\n >\n <button\n *ngFor=\"let option of resolvedOptions\"\n type=\"button\"\n role=\"option\"\n [attr.aria-selected]=\"option.value === value\"\n [disabled]=\"option.disabled\"\n (click)=\"selectOption(option)\"\n [ngClass]=\"[\n 'flex w-full appearance-none items-center justify-between rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors',\n option.disabled\n ? 'cursor-not-allowed opacity-50'\n : 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground',\n option.value === value ? 'text-foreground' : '',\n ]\"\n >\n <span class=\"min-w-0 flex-1 truncate leading-5\">{{ option.label }}</span>\n <span\n *ngIf=\"option.value === value\"\n class=\"ml-2 flex shrink-0 items-center justify-end\"\n >\n <pdm-icon\n name=\"check\"\n [size]=\"16\"\n className=\"shrink-0 text-current\"\n ></pdm-icon>\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PdmIconComponent, selector: "pdm-icon", inputs: ["name", "library", "assetUrl", "size", "strokeWidth", "className", "ariaLabel", "decorative"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5413
5416
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmSelectComponent, decorators: [{
5414
5417
  type: Component,
5415
- args: [{ selector: "pdm-select", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['relative', className || 'w-full']\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-expanded]=\"open\"\n [attr.data-state]=\"open ? 'open' : 'closed'\"\n aria-haspopup=\"listbox\"\n (click)=\"toggle()\"\n [ngClass]=\"[\n 'border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive flex h-9 w-full appearance-none items-center justify-between rounded-md border bg-background px-3 py-2 text-sm shadow-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\n ]\"\n >\n <span\n [ngClass]=\"[\n 'min-w-0 flex-1 truncate text-left leading-5',\n selectedOption\n ? 'font-medium text-foreground'\n : 'font-normal text-muted-foreground',\n ]\"\n >\n {{ selectedLabel }}\n </span>\n <pdm-icon\n name=\"chevron-down\"\n [size]=\"16\"\n className=\"shrink-0 text-muted-foreground\"\n ></pdm-icon>\n </button>\n\n <!-- Hidden native select kept for screen-reader / form fallback -->\n <select\n class=\"sr-only\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [value]=\"value\"\n (change)=\"onChange($event)\"\n >\n <option\n *ngFor=\"let option of resolvedOptions\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{ option.label }}\n </option>\n </select>\n\n <!-- Slot for content-projected pdm-select-option elements (hidden from layout) -->\n <span class=\"hidden\">\n <ng-content select=\"pdm-select-option\"></ng-content>\n </span>\n</div>\n\n<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n [attr.aria-labelledby]=\"id || null\"\n class=\"overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md max-h-96\"\n >\n <button\n *ngFor=\"let option of resolvedOptions\"\n type=\"button\"\n role=\"option\"\n [attr.aria-selected]=\"option.value === value\"\n [disabled]=\"option.disabled\"\n (click)=\"selectOption(option)\"\n [ngClass]=\"[\n 'flex w-full appearance-none items-center justify-between rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors',\n option.disabled\n ? 'cursor-not-allowed opacity-50'\n : 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground',\n option.value === value ? 'text-foreground' : '',\n ]\"\n >\n <span class=\"min-w-0 flex-1 truncate leading-5\">{{ option.label }}</span>\n <span\n *ngIf=\"option.value === value\"\n class=\"ml-2 flex shrink-0 items-center justify-end\"\n >\n <pdm-icon\n name=\"check\"\n [size]=\"16\"\n className=\"shrink-0 text-current\"\n ></pdm-icon>\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
5418
+ args: [{ selector: "pdm-select", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['relative', className || 'w-full']\">\n <button\n #triggerEl\n type=\"button\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-expanded]=\"open\"\n [attr.data-state]=\"open ? 'open' : 'closed'\"\n aria-haspopup=\"listbox\"\n (click)=\"toggle()\"\n [ngClass]=\"[\n 'border-input focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 aria-invalid:ring-2 aria-invalid:ring-destructive aria-invalid:border-destructive flex h-9 w-full appearance-none items-center justify-between rounded-md border bg-background px-3 py-2 text-sm shadow-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\n ]\"\n >\n <span\n [ngClass]=\"[\n 'min-w-0 flex-1 truncate text-left leading-5',\n selectedOption\n ? 'font-medium text-foreground'\n : 'font-normal text-muted-foreground',\n ]\"\n >\n {{ selectedLabel }}\n </span>\n <pdm-icon\n name=\"chevron-down\"\n [size]=\"16\"\n className=\"shrink-0 text-muted-foreground\"\n ></pdm-icon>\n </button>\n\n <!-- Hidden native select kept for screen-reader / form fallback -->\n <select\n class=\"sr-only\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [value]=\"value\"\n (change)=\"onChange($event)\"\n >\n <option\n *ngFor=\"let option of resolvedOptions\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{ option.label }}\n </option>\n </select>\n\n <!-- Slot for content-projected pdm-select-option elements (hidden from layout) -->\n <span class=\"hidden\">\n <ng-content select=\"pdm-select-option\"></ng-content>\n </span>\n</div>\n\n<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n [attr.aria-labelledby]=\"id || null\"\n class=\"w-full overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md max-h-96\"\n >\n <button\n *ngFor=\"let option of resolvedOptions\"\n type=\"button\"\n role=\"option\"\n [attr.aria-selected]=\"option.value === value\"\n [disabled]=\"option.disabled\"\n (click)=\"selectOption(option)\"\n [ngClass]=\"[\n 'flex w-full appearance-none items-center justify-between rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm outline-none transition-colors',\n option.disabled\n ? 'cursor-not-allowed opacity-50'\n : 'hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground',\n option.value === value ? 'text-foreground' : '',\n ]\"\n >\n <span class=\"min-w-0 flex-1 truncate leading-5\">{{ option.label }}</span>\n <span\n *ngIf=\"option.value === value\"\n class=\"ml-2 flex shrink-0 items-center justify-end\"\n >\n <pdm-icon\n name=\"check\"\n [size]=\"16\"\n className=\"shrink-0 text-current\"\n ></pdm-icon>\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
5416
5419
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { id: [{
5417
5420
  type: Input
5418
5421
  }], value: [{
@@ -6062,26 +6065,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
6062
6065
  class PdmSwitchComponent {
6063
6066
  constructor(cdr) {
6064
6067
  this.cdr = cdr;
6065
- this.id = '';
6068
+ this.id = "";
6066
6069
  this.checked = false;
6067
6070
  this.disabled = false;
6068
- this.label = '';
6069
- this.className = '';
6070
- this.size = 'default';
6071
+ this.label = "";
6072
+ this.className = "";
6073
+ this.size = "default";
6071
6074
  this.checkedChange = new EventEmitter();
6072
6075
  }
6073
6076
  get rootClasses() {
6074
6077
  return [
6075
- 'peer relative inline-flex appearance-none shrink-0 items-center rounded-full border border-transparent outline-none transition-all focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50',
6076
- this.size === 'sm' ? 'h-[14px] w-[24px]' : 'h-[18.4px] w-[32px]',
6077
- this.checked ? 'bg-primary' : 'bg-input dark:bg-input/80'
6078
+ "peer relative inline-flex appearance-none shrink-0 items-center rounded-full border border-transparent outline-none transition-all focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50",
6079
+ this.size === "sm" ? "h-[14px] w-[24px]" : "h-[18.4px] w-[32px]",
6080
+ this.checked ? "bg-primary" : "bg-input dark:bg-input/80",
6078
6081
  ];
6079
6082
  }
6080
6083
  get thumbClasses() {
6081
6084
  return [
6082
- 'pointer-events-none block rounded-full bg-background ring-0 transition-transform',
6083
- this.size === 'sm' ? 'size-3' : 'size-4',
6084
- this.checked ? 'translate-x-[calc(100%-2px)]' : 'translate-x-0'
6085
+ "pointer-events-none self-center block rounded-full bg-background ring-0 transition-transform",
6086
+ this.size === "sm" ? "size-3" : "size-4",
6087
+ this.checked ? "translate-x-[calc(100%-2px)]" : "translate-x-0",
6085
6088
  ];
6086
6089
  }
6087
6090
  onToggle() {
@@ -6097,7 +6100,7 @@ PdmSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", versi
6097
6100
  PdmSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmSwitchComponent, selector: "pdm-switch", inputs: { id: "id", checked: "checked", disabled: "disabled", label: "label", className: "className", size: "size" }, outputs: { checkedChange: "checkedChange" }, ngImport: i0, template: "<div [ngClass]=\"['flex items-center space-x-2', className]\">\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-disabled]=\"disabled\"\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-disabled]=\"disabled ? 'true' : 'false'\"\n [attr.data-size]=\"size\"\n [attr.data-slot]=\"'switch'\"\n [attr.value]=\"checked ? 'on' : 'off'\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [ngClass]=\"rootClasses\"\n (click)=\"onToggle()\"\n >\n <span\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-slot]=\"'switch-thumb'\"\n [ngClass]=\"thumbClasses\"\n ></span>\n </button>\n <label\n *ngIf=\"label\"\n [attr.for]=\"id\"\n [attr.data-slot]=\"'label'\"\n class=\"flex cursor-pointer items-center gap-2 text-sm leading-none font-medium select-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50\"\n (click)=\"onToggle()\"\n >\n {{ label }}\n </label>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6098
6101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmSwitchComponent, decorators: [{
6099
6102
  type: Component,
6100
- args: [{ selector: 'pdm-switch', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['flex items-center space-x-2', className]\">\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-disabled]=\"disabled\"\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-disabled]=\"disabled ? 'true' : 'false'\"\n [attr.data-size]=\"size\"\n [attr.data-slot]=\"'switch'\"\n [attr.value]=\"checked ? 'on' : 'off'\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [ngClass]=\"rootClasses\"\n (click)=\"onToggle()\"\n >\n <span\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-slot]=\"'switch-thumb'\"\n [ngClass]=\"thumbClasses\"\n ></span>\n </button>\n <label\n *ngIf=\"label\"\n [attr.for]=\"id\"\n [attr.data-slot]=\"'label'\"\n class=\"flex cursor-pointer items-center gap-2 text-sm leading-none font-medium select-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50\"\n (click)=\"onToggle()\"\n >\n {{ label }}\n </label>\n</div>\n" }]
6103
+ args: [{ selector: "pdm-switch", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['flex items-center space-x-2', className]\">\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-disabled]=\"disabled\"\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-disabled]=\"disabled ? 'true' : 'false'\"\n [attr.data-size]=\"size\"\n [attr.data-slot]=\"'switch'\"\n [attr.value]=\"checked ? 'on' : 'off'\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [ngClass]=\"rootClasses\"\n (click)=\"onToggle()\"\n >\n <span\n [attr.data-state]=\"checked ? 'checked' : 'unchecked'\"\n [attr.data-slot]=\"'switch-thumb'\"\n [ngClass]=\"thumbClasses\"\n ></span>\n </button>\n <label\n *ngIf=\"label\"\n [attr.for]=\"id\"\n [attr.data-slot]=\"'label'\"\n class=\"flex cursor-pointer items-center gap-2 text-sm leading-none font-medium select-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50\"\n (click)=\"onToggle()\"\n >\n {{ label }}\n </label>\n</div>\n" }]
6101
6104
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
6102
6105
  type: Input
6103
6106
  }], checked: [{