otimus-library 0.2.45 → 0.2.47
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.
- package/README.md +26 -26
- package/ng-package.json +12 -0
- package/package.json +4 -13
- package/src/assets/images/loading.svg +0 -0
- package/src/assets/images/not-found-bg.jpg +0 -0
- package/src/lib/components/oc-accordion/oc-accordion.component.html +3 -0
- package/src/lib/components/oc-accordion/oc-accordion.component.scss +4 -0
- package/src/lib/components/oc-accordion/oc-accordion.component.ts +44 -0
- package/src/lib/components/oc-accordion-item/oc-accordion-item.component.html +19 -0
- package/src/lib/components/oc-accordion-item/oc-accordion-item.component.scss +86 -0
- package/src/lib/components/oc-accordion-item/oc-accordion-item.component.ts +27 -0
- package/src/lib/components/oc-accordion-item/styles/oc-accordion-item.shui-component.scss +41 -0
- package/src/lib/components/oc-autocomplete/oc-autocomplete.component.html +66 -0
- package/src/lib/components/oc-autocomplete/oc-autocomplete.component.scss +157 -0
- package/src/lib/components/oc-autocomplete/oc-autocomplete.component.ts +277 -0
- package/src/lib/components/oc-badge/oc-badge.component.html +7 -0
- package/src/lib/components/oc-badge/oc-badge.component.scss +125 -0
- package/src/lib/components/oc-badge/oc-badge.component.ts +22 -0
- package/src/lib/components/oc-checkbox/oc-checkbox.component.html +30 -0
- package/src/lib/components/oc-checkbox/oc-checkbox.component.scss +103 -0
- package/src/lib/components/oc-checkbox/oc-checkbox.component.ts +132 -0
- package/src/lib/components/oc-checkbox/styles/oc-checkbox.shui-component.scss +21 -0
- package/src/lib/components/oc-chip/oc-chip.component.html +20 -0
- package/src/lib/components/oc-chip/oc-chip.component.scss +102 -0
- package/src/lib/components/oc-chip/oc-chip.component.ts +32 -0
- package/src/lib/components/oc-filter/oc-filter.component.html +22 -0
- package/src/lib/components/oc-filter/oc-filter.component.scss +78 -0
- package/src/lib/components/oc-filter/oc-filter.component.spec.ts +23 -0
- package/src/lib/components/oc-filter/oc-filter.component.ts +30 -0
- package/src/lib/components/oc-input/oc-input.component.html +21 -0
- package/src/lib/components/oc-input/oc-input.component.scss +3 -0
- package/src/lib/components/oc-input/oc-input.component.ts +100 -0
- package/src/lib/components/oc-key-value/oc-key-value.component.html +12 -0
- package/src/lib/components/oc-key-value/oc-key-value.component.scss +26 -0
- package/src/lib/components/oc-key-value/oc-key-value.component.ts +23 -0
- package/src/lib/components/oc-key-value/styles/oc-key-value.shui-component.scss +26 -0
- package/src/lib/components/oc-log/oc-log.component.html +18 -0
- package/src/lib/components/oc-log/oc-log.component.scss +61 -0
- package/src/lib/components/oc-log/oc-log.component.ts +15 -0
- package/src/lib/components/oc-menu/oc-menu.component.html +31 -0
- package/src/lib/components/oc-menu/oc-menu.component.scss +101 -0
- package/src/lib/components/oc-menu/oc-menu.component.ts +84 -0
- package/src/lib/components/oc-modal/oc-modal.component.html +54 -0
- package/src/lib/components/oc-modal/oc-modal.component.scss +204 -0
- package/src/lib/components/oc-modal/oc-modal.component.ts +82 -0
- package/src/lib/components/oc-modal/styles/oc-modal.shui-component.scss +3 -0
- package/src/lib/components/oc-modal-footer/oc-modal-footer.component.html +11 -0
- package/src/lib/components/oc-modal-footer/oc-modal-footer.component.scss +27 -0
- package/src/lib/components/oc-modal-footer/oc-modal-footer.component.ts +15 -0
- package/src/lib/components/oc-not-found/oc-not-found.component.html +14 -0
- package/src/lib/components/oc-not-found/oc-not-found.component.scss +153 -0
- package/src/lib/components/oc-not-found/oc-not-found.component.spec.ts +23 -0
- package/src/lib/components/oc-not-found/oc-not-found.component.ts +12 -0
- package/src/lib/components/oc-pagination/oc-pagination.component.html +32 -0
- package/src/lib/components/oc-pagination/oc-pagination.component.scss +80 -0
- package/src/lib/components/oc-pagination/oc-pagination.component.ts +46 -0
- package/src/lib/components/oc-profile/oc-profile.component.html +17 -0
- package/src/lib/components/oc-profile/oc-profile.component.scss +80 -0
- package/src/lib/components/oc-profile/oc-profile.component.ts +38 -0
- package/src/lib/components/oc-step/oc-step.component.html +32 -0
- package/src/lib/components/oc-step/oc-step.component.scss +106 -0
- package/src/lib/components/oc-step/oc-step.component.ts +39 -0
- package/src/lib/components/oc-step/styles/oc-step.shui-component.scss +52 -0
- package/src/lib/components/oc-stepper/oc-stepper.component.html +3 -0
- package/src/lib/components/oc-stepper/oc-stepper.component.scss +9 -0
- package/src/lib/components/oc-stepper/oc-stepper.component.ts +86 -0
- package/src/lib/components/oc-tab/oc-tab.component.html +3 -0
- package/src/lib/components/oc-tab/oc-tab.component.scss +0 -0
- package/src/lib/components/oc-tab/oc-tab.component.ts +15 -0
- package/src/lib/components/oc-table/oc-table.component.html +62 -0
- package/src/lib/components/oc-table/oc-table.component.scss +2 -0
- package/src/lib/components/oc-table/oc-table.component.ts +51 -0
- package/src/lib/components/oc-tabs/oc-tabs.component.html +13 -0
- package/src/lib/components/oc-tabs/oc-tabs.component.scss +47 -0
- package/src/lib/components/oc-tabs/oc-tabs.component.ts +46 -0
- package/src/lib/components/oc-tabs/styles/oc-tabs.shui-component.scss +25 -0
- package/src/lib/components/oc-toast/oc-toast.component.html +46 -0
- package/src/lib/components/oc-toast/oc-toast.component.scss +133 -0
- package/src/lib/components/oc-toast/oc-toast.component.ts +15 -0
- package/src/lib/components/oc-toggle/oc-toggle.component.html +4 -0
- package/src/lib/components/oc-toggle/oc-toggle.component.scss +73 -0
- package/src/lib/components/oc-toggle/oc-toggle.component.spec.ts +23 -0
- package/src/lib/components/oc-toggle/oc-toggle.component.ts +32 -0
- package/src/lib/directives/oc-tooltip/oc-tooltip.directive.ts +108 -0
- package/src/lib/interfaces/internal/languages.ts +16 -0
- package/src/lib/interfaces/oc-autocomplete.ts +6 -0
- package/src/lib/interfaces/oc-menu.ts +10 -0
- package/src/lib/interfaces/oc-style-theme.ts +3 -0
- package/src/lib/interfaces/oc-table.ts +12 -0
- package/src/lib/interfaces/oc-toast.ts +8 -0
- package/src/lib/otimus-library.component.ts +16 -0
- package/src/lib/otimus-library.service.ts +9 -0
- package/src/lib/services/internationalization.service.ts +73 -0
- package/src/lib/services/oc-toast.service.ts +107 -0
- package/src/lib/services/style-theme.service.ts +19 -0
- package/src/public-api.ts +30 -0
- package/{styles → src/styles}/colors.scss +70 -70
- package/{styles → src/styles}/components/buttons/buttons.scss +225 -225
- package/{styles → src/styles}/components/buttons/buttons.shui.scss +61 -61
- package/{styles → src/styles}/components/index.scss +2 -2
- package/{styles → src/styles}/components/inputs/inputs.scss +249 -247
- package/{styles → src/styles}/components/inputs/inputs.shui.scss +212 -212
- package/{styles → src/styles}/components/table/table.scss +69 -69
- package/{styles → src/styles}/components/table/table.shui.scss +50 -50
- package/{styles → src/styles}/components/tooltip.scss +26 -26
- package/{styles → src/styles}/grid.scss +1122 -1122
- package/{styles → src/styles}/patterns/shui/colors.shui.scss +154 -154
- package/{styles → src/styles}/patterns/shui/fonts.shui.scss +65 -65
- package/{styles → src/styles}/patterns/shui/index.shui.scss +24 -24
- package/{styles → src/styles}/patterns/shui/variables.shui.scss +22 -22
- package/{styles → src/styles}/states.scss +5 -5
- package/{styles → src/styles}/styles.scss +46 -46
- package/{styles → src/styles}/variables.scss +47 -47
- package/tsconfig.lib.json +14 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2022/lib/components/oc-accordion/oc-accordion.component.mjs +0 -48
- package/esm2022/lib/components/oc-accordion-item/oc-accordion-item.component.mjs +0 -35
- package/esm2022/lib/components/oc-autocomplete/oc-autocomplete.component.mjs +0 -275
- package/esm2022/lib/components/oc-badge/oc-badge.component.mjs +0 -30
- package/esm2022/lib/components/oc-checkbox/oc-checkbox.component.mjs +0 -133
- package/esm2022/lib/components/oc-chip/oc-chip.component.mjs +0 -45
- package/esm2022/lib/components/oc-filter/oc-filter.component.mjs +0 -39
- package/esm2022/lib/components/oc-input/oc-input.component.mjs +0 -97
- package/esm2022/lib/components/oc-key-value/oc-key-value.component.mjs +0 -29
- package/esm2022/lib/components/oc-log/oc-log.component.mjs +0 -22
- package/esm2022/lib/components/oc-menu/oc-menu.component.mjs +0 -81
- package/esm2022/lib/components/oc-modal/oc-modal.component.mjs +0 -85
- package/esm2022/lib/components/oc-modal-footer/oc-modal-footer.component.mjs +0 -23
- package/esm2022/lib/components/oc-not-found/oc-not-found.component.mjs +0 -11
- package/esm2022/lib/components/oc-pagination/oc-pagination.component.mjs +0 -49
- package/esm2022/lib/components/oc-profile/oc-profile.component.mjs +0 -38
- package/esm2022/lib/components/oc-step/oc-step.component.mjs +0 -49
- package/esm2022/lib/components/oc-stepper/oc-stepper.component.mjs +0 -90
- package/esm2022/lib/components/oc-tab/oc-tab.component.mjs +0 -20
- package/esm2022/lib/components/oc-tabs/oc-tabs.component.mjs +0 -42
- package/esm2022/lib/components/oc-toast/oc-toast.component.mjs +0 -17
- package/esm2022/lib/components/oc-toggle/oc-toggle.component.mjs +0 -34
- package/esm2022/lib/directives/oc-tooltip/oc-tooltip.directive.mjs +0 -117
- package/esm2022/lib/interfaces/oc-autocomplete.mjs +0 -2
- package/esm2022/lib/interfaces/oc-menu.mjs +0 -2
- package/esm2022/lib/interfaces/oc-style-theme.mjs +0 -2
- package/esm2022/lib/interfaces/oc-toast.mjs +0 -2
- package/esm2022/lib/otimus-library.component.mjs +0 -19
- package/esm2022/lib/otimus-library.service.mjs +0 -14
- package/esm2022/lib/services/internationalization.service.mjs +0 -68
- package/esm2022/lib/services/oc-toast.service.mjs +0 -81
- package/esm2022/lib/services/style-theme.service.mjs +0 -21
- package/esm2022/otimus-library.mjs +0 -5
- package/esm2022/public-api.mjs +0 -30
- package/fesm2022/otimus-library.mjs +0 -1513
- package/fesm2022/otimus-library.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/components/oc-accordion/oc-accordion.component.d.ts +0 -18
- package/lib/components/oc-accordion-item/oc-accordion-item.component.d.ts +0 -12
- package/lib/components/oc-autocomplete/oc-autocomplete.component.d.ts +0 -68
- package/lib/components/oc-badge/oc-badge.component.d.ts +0 -11
- package/lib/components/oc-checkbox/oc-checkbox.component.d.ts +0 -35
- package/lib/components/oc-chip/oc-chip.component.d.ts +0 -14
- package/lib/components/oc-filter/oc-filter.component.d.ts +0 -17
- package/lib/components/oc-input/oc-input.component.d.ts +0 -31
- package/lib/components/oc-key-value/oc-key-value.component.d.ts +0 -14
- package/lib/components/oc-log/oc-log.component.d.ts +0 -7
- package/lib/components/oc-menu/oc-menu.component.d.ts +0 -20
- package/lib/components/oc-modal/oc-modal.component.d.ts +0 -30
- package/lib/components/oc-modal-footer/oc-modal-footer.component.d.ts +0 -8
- package/lib/components/oc-not-found/oc-not-found.component.d.ts +0 -5
- package/lib/components/oc-pagination/oc-pagination.component.d.ts +0 -14
- package/lib/components/oc-profile/oc-profile.component.d.ts +0 -12
- package/lib/components/oc-step/oc-step.component.d.ts +0 -22
- package/lib/components/oc-stepper/oc-stepper.component.d.ts +0 -24
- package/lib/components/oc-tab/oc-tab.component.d.ts +0 -8
- package/lib/components/oc-tabs/oc-tabs.component.d.ts +0 -18
- package/lib/components/oc-toast/oc-toast.component.d.ts +0 -8
- package/lib/components/oc-toggle/oc-toggle.component.d.ts +0 -12
- package/lib/directives/oc-tooltip/oc-tooltip.directive.d.ts +0 -20
- package/lib/interfaces/oc-autocomplete.d.ts +0 -5
- package/lib/interfaces/oc-menu.d.ts +0 -9
- package/lib/interfaces/oc-style-theme.d.ts +0 -2
- package/lib/interfaces/oc-toast.d.ts +0 -8
- package/lib/otimus-library.component.d.ts +0 -5
- package/lib/otimus-library.service.d.ts +0 -6
- package/lib/services/internationalization.service.d.ts +0 -17
- package/lib/services/oc-toast.service.d.ts +0 -14
- package/lib/services/style-theme.service.d.ts +0 -8
- package/public-api.d.ts +0 -26
- /package/{assets → src/assets}/fonts/siemens/SH-Bree-Headline-Oblique.woff +0 -0
- /package/{assets → src/assets}/fonts/siemens/SH-Bree-Headline-Oblique.woff2 +0 -0
- /package/{assets → src/assets}/fonts/siemens/SH-Bree-Headline-Regular.woff +0 -0
- /package/{assets → src/assets}/fonts/siemens/SH-Bree-Headline-Regular.woff2 +0 -0
- /package/{assets → src/assets}/fonts/siemens/SiemensSans-Black.woff +0 -0
- /package/{assets → src/assets}/fonts/siemens/SiemensSans-Black.woff2 +0 -0
- /package/{assets → src/assets}/fonts/siemens/SiemensSans-BlackItalic.woff +0 -0
- /package/{assets → src/assets}/fonts/siemens/SiemensSans-BlackItalic.woff2 +0 -0
- /package/{assets → src/assets}/fonts/siemens/SiemensSans-Bold.woff +0 -0
- /package/{assets → src/assets}/fonts/siemens/SiemensSans-Bold.woff2 +0 -0
- /package/{assets → src/assets}/fonts/siemens/SiemensSans-BoldItalic.woff +0 -0
- /package/{assets → src/assets}/fonts/siemens/SiemensSans-BoldItalic.woff2 +0 -0
- /package/{assets → src/assets}/fonts/siemens/SiemensSans-Italic.woff +0 -0
- /package/{assets → src/assets}/fonts/siemens/SiemensSans-Italic.woff2 +0 -0
- /package/{assets → src/assets}/fonts/siemens/SiemensSans-Roman.woff +0 -0
- /package/{assets → src/assets}/fonts/siemens/SiemensSans-Roman.woff2 +0 -0
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
@import './patterns/shui/variables.shui.scss';
|
|
2
|
-
|
|
3
|
-
// Cor Primária (Roxo)
|
|
4
|
-
$color-brand-p-1: #5505a2;
|
|
5
|
-
$color-brand-p-2: #661eab;
|
|
6
|
-
$color-brand-p-3: #7737b5;
|
|
7
|
-
$color-brand-p-4: #8850be;
|
|
8
|
-
$color-brand-p-5: #9969c7;
|
|
9
|
-
$color-brand-p-6: #bb9cd9;
|
|
10
|
-
|
|
11
|
-
// Variações escuras da cor Primária
|
|
12
|
-
$color-brand-dp-1: #1e0832;
|
|
13
|
-
$color-brand-dp-2: #352147;
|
|
14
|
-
$color-brand-dp-3: #4b395b;
|
|
15
|
-
$color-brand-dp-4: #625270;
|
|
16
|
-
$color-brand-dp-5: #786b84;
|
|
17
|
-
|
|
18
|
-
// Cor secundária (Verde)
|
|
19
|
-
$color-brand-g-1: #00dda3;
|
|
20
|
-
$color-brand-g-2: #1ae0ac;
|
|
21
|
-
$color-brand-g-3: #33e4b5;
|
|
22
|
-
$color-brand-g-4: #4de7bf;
|
|
23
|
-
$color-brand-g-5: #66ebc8;
|
|
24
|
-
$color-brand-g-6: #94ffe3;
|
|
25
|
-
|
|
26
|
-
// Cores de estado/feedback
|
|
27
|
-
$color-success: #4ab858;
|
|
28
|
-
$color-warning: #ebbc2e;
|
|
29
|
-
$color-error: #ed3a3a;
|
|
30
|
-
|
|
31
|
-
// Tons de Cinza
|
|
32
|
-
$color-gray-1: #353535;
|
|
33
|
-
$color-gray-2: #7e8485;
|
|
34
|
-
$color-gray-3: #8f9596;
|
|
35
|
-
$color-gray-4: #d1d5db;
|
|
36
|
-
$color-gray-5: #f7f7f7;
|
|
37
|
-
$color-gray-6: #f8f9ff;
|
|
38
|
-
$color-white: #ffffff;
|
|
39
|
-
|
|
40
|
-
// Cores para Background
|
|
41
|
-
$color-bg-1: $color-gray-5;
|
|
42
|
-
|
|
43
|
-
// Cores para texto
|
|
44
|
-
$color-text-1: $color-gray-1;
|
|
45
|
-
$color-text-2: $color-gray-2;
|
|
46
|
-
$color-text-3: $color-brand-p-1;
|
|
47
|
-
$color-text-4: $color-brand-g-1;
|
|
1
|
+
@import './patterns/shui/variables.shui.scss';
|
|
2
|
+
|
|
3
|
+
// Cor Primária (Roxo)
|
|
4
|
+
$color-brand-p-1: #5505a2;
|
|
5
|
+
$color-brand-p-2: #661eab;
|
|
6
|
+
$color-brand-p-3: #7737b5;
|
|
7
|
+
$color-brand-p-4: #8850be;
|
|
8
|
+
$color-brand-p-5: #9969c7;
|
|
9
|
+
$color-brand-p-6: #bb9cd9;
|
|
10
|
+
|
|
11
|
+
// Variações escuras da cor Primária
|
|
12
|
+
$color-brand-dp-1: #1e0832;
|
|
13
|
+
$color-brand-dp-2: #352147;
|
|
14
|
+
$color-brand-dp-3: #4b395b;
|
|
15
|
+
$color-brand-dp-4: #625270;
|
|
16
|
+
$color-brand-dp-5: #786b84;
|
|
17
|
+
|
|
18
|
+
// Cor secundária (Verde)
|
|
19
|
+
$color-brand-g-1: #00dda3;
|
|
20
|
+
$color-brand-g-2: #1ae0ac;
|
|
21
|
+
$color-brand-g-3: #33e4b5;
|
|
22
|
+
$color-brand-g-4: #4de7bf;
|
|
23
|
+
$color-brand-g-5: #66ebc8;
|
|
24
|
+
$color-brand-g-6: #94ffe3;
|
|
25
|
+
|
|
26
|
+
// Cores de estado/feedback
|
|
27
|
+
$color-success: #4ab858;
|
|
28
|
+
$color-warning: #ebbc2e;
|
|
29
|
+
$color-error: #ed3a3a;
|
|
30
|
+
|
|
31
|
+
// Tons de Cinza
|
|
32
|
+
$color-gray-1: #353535;
|
|
33
|
+
$color-gray-2: #7e8485;
|
|
34
|
+
$color-gray-3: #8f9596;
|
|
35
|
+
$color-gray-4: #d1d5db;
|
|
36
|
+
$color-gray-5: #f7f7f7;
|
|
37
|
+
$color-gray-6: #f8f9ff;
|
|
38
|
+
$color-white: #ffffff;
|
|
39
|
+
|
|
40
|
+
// Cores para Background
|
|
41
|
+
$color-bg-1: $color-gray-5;
|
|
42
|
+
|
|
43
|
+
// Cores para texto
|
|
44
|
+
$color-text-1: $color-gray-1;
|
|
45
|
+
$color-text-2: $color-gray-2;
|
|
46
|
+
$color-text-3: $color-brand-p-1;
|
|
47
|
+
$color-text-4: $color-brand-g-1;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"extends": "../../tsconfig.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "../../out-tsc/lib",
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"declarationMap": true,
|
|
8
|
+
"inlineSources": true,
|
|
9
|
+
"types": []
|
|
10
|
+
},
|
|
11
|
+
"exclude": [
|
|
12
|
+
"**/*.spec.ts"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"extends": "../../tsconfig.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "../../out-tsc/spec",
|
|
6
|
+
"types": [
|
|
7
|
+
"jasmine"
|
|
8
|
+
]
|
|
9
|
+
},
|
|
10
|
+
"include": [
|
|
11
|
+
"**/*.spec.ts",
|
|
12
|
+
"**/*.d.ts"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Component, ContentChildren, Input } from '@angular/core';
|
|
2
|
-
import { OcAccordionItemComponent } from '../oc-accordion-item/oc-accordion-item.component';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../services/style-theme.service";
|
|
6
|
-
export class OcAccordionComponent {
|
|
7
|
-
constructor(styleThemeService) {
|
|
8
|
-
this.styleThemeService = styleThemeService;
|
|
9
|
-
this.ocAlternate = true;
|
|
10
|
-
this.ocStyle = 'otimus';
|
|
11
|
-
}
|
|
12
|
-
ngAfterViewInit() {
|
|
13
|
-
this.items.forEach((item, i) => {
|
|
14
|
-
item.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle;
|
|
15
|
-
item.closeAllItems.subscribe(() => this.closeAllItems());
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
closeAllItems() {
|
|
19
|
-
if (this.ocAlternate) {
|
|
20
|
-
this.items.forEach((item) => (item.ocIsOpen = false));
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
alternateToIndex(index) {
|
|
24
|
-
this.items.forEach((item, i) => {
|
|
25
|
-
if (i === index) {
|
|
26
|
-
item.ocIsOpen = true;
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
item.ocIsOpen = false;
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcAccordionComponent, deps: [{ token: i1.StyleThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: OcAccordionComponent, isStandalone: true, selector: "oc-accordion", inputs: { ocAlternate: "ocAlternate", ocCurrentIndex: "ocCurrentIndex", ocStyle: "ocStyle" }, queries: [{ propertyName: "items", predicate: OcAccordionItemComponent }], ngImport: i0, template: "<div>\r\n <ng-content></ng-content>\r\n</div>", styles: [".oc-accordion{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcAccordionComponent, decorators: [{
|
|
36
|
-
type: Component,
|
|
37
|
-
args: [{ selector: 'oc-accordion', standalone: true, imports: [CommonModule, OcAccordionItemComponent], template: "<div>\r\n <ng-content></ng-content>\r\n</div>", styles: [".oc-accordion{display:flex;flex-direction:column}\n"] }]
|
|
38
|
-
}], ctorParameters: () => [{ type: i1.StyleThemeService }], propDecorators: { items: [{
|
|
39
|
-
type: ContentChildren,
|
|
40
|
-
args: [OcAccordionItemComponent]
|
|
41
|
-
}], ocAlternate: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], ocCurrentIndex: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], ocStyle: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hY2NvcmRpb24vb2MtYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hY2NvcmRpb24vb2MtYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUE7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUE7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7QUFXOUMsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUovQyxnQkFBVyxHQUFZLElBQUksQ0FBQTtRQUUzQixZQUFPLEdBQXFCLFFBQVEsQ0FBQTtJQUVjLENBQUM7SUFFNUQsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUE7WUFDckUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUE7UUFDMUQsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN2RCxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO2dCQUNwQixPQUFNO1lBQ1IsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ3ZCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzsrR0E3QlUsb0JBQW9CO21HQUFwQixvQkFBb0IsNExBQ2Qsd0JBQXdCLDZCQ2QzQyxnREFFTSw0R0RPTSxZQUFZOzs0RkFJWCxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx3QkFBd0IsQ0FBQztzRkFLTixLQUFLO3NCQUEvQyxlQUFlO3VCQUFDLHdCQUF3QjtnQkFDaEMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgT2NBY2NvcmRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vb2MtYWNjb3JkaW9uLWl0ZW0vb2MtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50J1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7IE9jU3R5bGVUaGVtZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLXN0eWxlLXRoZW1lJ1xyXG5pbXBvcnQgeyBTdHlsZVRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0eWxlLXRoZW1lLnNlcnZpY2UnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ29jLWFjY29yZGlvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPY0FjY29yZGlvbkl0ZW1Db21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vYy1hY2NvcmRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9vYy1hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT2NBY2NvcmRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBAQ29udGVudENoaWxkcmVuKE9jQWNjb3JkaW9uSXRlbUNvbXBvbmVudCkgaXRlbXMhOiBRdWVyeUxpc3Q8T2NBY2NvcmRpb25JdGVtQ29tcG9uZW50PlxyXG4gIEBJbnB1dCgpIG9jQWx0ZXJuYXRlOiBib29sZWFuID0gdHJ1ZVxyXG4gIEBJbnB1dCgpIG9jQ3VycmVudEluZGV4PzogbnVtYmVyXHJcbiAgQElucHV0KCkgb2NTdHlsZTogT2NTdHlsZVRoZW1lVHlwZSA9ICdvdGltdXMnXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3R5bGVUaGVtZVNlcnZpY2U6IFN0eWxlVGhlbWVTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcclxuICAgICAgaXRlbS5vY1N0eWxlID0gdGhpcy5zdHlsZVRoZW1lU2VydmljZS5nZXRTdHlsZVRoZW1lKCkgfHwgdGhpcy5vY1N0eWxlXHJcbiAgICAgIGl0ZW0uY2xvc2VBbGxJdGVtcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZUFsbEl0ZW1zKCkpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgY2xvc2VBbGxJdGVtcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9jQWx0ZXJuYXRlKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4gKGl0ZW0ub2NJc09wZW4gPSBmYWxzZSkpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhbHRlcm5hdGVUb0luZGV4KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICBpZiAoaSA9PT0gaW5kZXgpIHtcclxuICAgICAgICBpdGVtLm9jSXNPcGVuID0gdHJ1ZVxyXG4gICAgICAgIHJldHVyblxyXG4gICAgICB9XHJcbiAgICAgIGl0ZW0ub2NJc09wZW4gPSBmYWxzZVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIiwiPGRpdj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class OcAccordionItemComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.ocIsOpen = false;
|
|
8
|
-
this.ocTitle = '';
|
|
9
|
-
this.ocStyle = 'otimus';
|
|
10
|
-
this.closeAllItems = new EventEmitter();
|
|
11
|
-
}
|
|
12
|
-
toggle() {
|
|
13
|
-
if (this.ocIsOpen) {
|
|
14
|
-
this.ocIsOpen = !this.ocIsOpen;
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
this.closeAllItems.emit();
|
|
18
|
-
this.ocIsOpen = !this.ocIsOpen;
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcAccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: OcAccordionItemComponent, isStandalone: true, selector: "oc-accordion-item", inputs: { ocIsOpen: "ocIsOpen", ocTitle: "ocTitle", ocStyle: "ocStyle" }, outputs: { closeAllItems: "closeAllItems" }, ngImport: i0, template: "<div class=\"oc-accordion-item\" [ngClass]=\"{\r\n 'shui': ocStyle === 'shui'\r\n}\">\r\n <div class=\"item-header\" [ngClass]=\"{\r\n open: ocIsOpen\r\n }\" (click)=\"toggle()\">\r\n <h3>{{ocTitle}}</h3>\r\n <span class=\"material-symbols-outlined\">\r\n keyboard_control_key\r\n </span>\r\n </div>\r\n @if (ocIsOpen) {\r\n <div class=\"oc-content\" [ngClass]=\"{\r\n open: ocIsOpen\r\n }\">\r\n <ng-content></ng-content>\r\n </div>\r\n }\r\n</div>", styles: [".oc-accordion-item{width:100%}.oc-accordion-item .item-header{cursor:pointer;transition:.1s ease;display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-radius:1rem}.oc-accordion-item .item-header h3{color:#353535;padding:0;margin:0}.oc-accordion-item .item-header span{transition:.3s ease;color:#7e8485}.oc-accordion-item .item-header:hover{background-color:#f8f9ff}.oc-accordion-item .item-header:active{transform:scale(.99)}.oc-accordion-item .item-header.open{background-color:#f8f9ff;border-bottom-left-radius:0;border-bottom-right-radius:0}.oc-accordion-item .item-header.open h3{color:#5505a2}.oc-accordion-item .item-header.open span{color:#00dda3;transform:rotate(180deg)}.oc-accordion-item .closed,.oc-accordion-item closed *{display:none}.oc-accordion-item .oc-content{animation:show-up .15s ease;padding:2rem 1.5rem 2.5rem;border-radius:0 0 16px 16px}.oc-accordion-item .oc-content.open{background-color:#f8f9ff}@keyframes show-up{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.oc-accordion-item.shui{width:100%}.oc-accordion-item.shui .item-header{border-radius:0}.oc-accordion-item.shui .item-header h3{color:#000000bf}.oc-accordion-item.shui .item-header span{color:#7d7d7d}.oc-accordion-item.shui .item-header:hover,.oc-accordion-item.shui .item-header.open{background-color:#f5f5f5}.oc-accordion-item.shui .item-header.open h3{color:#0169b2}.oc-accordion-item.shui .item-header.open span{color:#099}.oc-accordion-item.shui .oc-content{border-radius:0}.oc-accordion-item.shui .oc-content.open{background-color:#f5f5f566}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcAccordionItemComponent, decorators: [{
|
|
24
|
-
type: Component,
|
|
25
|
-
args: [{ selector: 'oc-accordion-item', standalone: true, imports: [CommonModule], template: "<div class=\"oc-accordion-item\" [ngClass]=\"{\r\n 'shui': ocStyle === 'shui'\r\n}\">\r\n <div class=\"item-header\" [ngClass]=\"{\r\n open: ocIsOpen\r\n }\" (click)=\"toggle()\">\r\n <h3>{{ocTitle}}</h3>\r\n <span class=\"material-symbols-outlined\">\r\n keyboard_control_key\r\n </span>\r\n </div>\r\n @if (ocIsOpen) {\r\n <div class=\"oc-content\" [ngClass]=\"{\r\n open: ocIsOpen\r\n }\">\r\n <ng-content></ng-content>\r\n </div>\r\n }\r\n</div>", styles: [".oc-accordion-item{width:100%}.oc-accordion-item .item-header{cursor:pointer;transition:.1s ease;display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-radius:1rem}.oc-accordion-item .item-header h3{color:#353535;padding:0;margin:0}.oc-accordion-item .item-header span{transition:.3s ease;color:#7e8485}.oc-accordion-item .item-header:hover{background-color:#f8f9ff}.oc-accordion-item .item-header:active{transform:scale(.99)}.oc-accordion-item .item-header.open{background-color:#f8f9ff;border-bottom-left-radius:0;border-bottom-right-radius:0}.oc-accordion-item .item-header.open h3{color:#5505a2}.oc-accordion-item .item-header.open span{color:#00dda3;transform:rotate(180deg)}.oc-accordion-item .closed,.oc-accordion-item closed *{display:none}.oc-accordion-item .oc-content{animation:show-up .15s ease;padding:2rem 1.5rem 2.5rem;border-radius:0 0 16px 16px}.oc-accordion-item .oc-content.open{background-color:#f8f9ff}@keyframes show-up{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.oc-accordion-item.shui{width:100%}.oc-accordion-item.shui .item-header{border-radius:0}.oc-accordion-item.shui .item-header h3{color:#000000bf}.oc-accordion-item.shui .item-header span{color:#7d7d7d}.oc-accordion-item.shui .item-header:hover,.oc-accordion-item.shui .item-header.open{background-color:#f5f5f5}.oc-accordion-item.shui .item-header.open h3{color:#0169b2}.oc-accordion-item.shui .item-header.open span{color:#099}.oc-accordion-item.shui .oc-content{border-radius:0}.oc-accordion-item.shui .oc-content.open{background-color:#f5f5f566}\n"] }]
|
|
26
|
-
}], propDecorators: { ocIsOpen: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}], ocTitle: [{
|
|
29
|
-
type: Input
|
|
30
|
-
}], ocStyle: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], closeAllItems: [{
|
|
33
|
-
type: Output
|
|
34
|
-
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWFjY29yZGlvbi1pdGVtL29jLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hY2NvcmRpb24taXRlbS9vYy1hY2NvcmRpb24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7OztBQVdyRixNQUFNLE9BQU8sd0JBQXdCO0lBUHJDO1FBUVcsYUFBUSxHQUFZLEtBQUssQ0FBQTtRQUN6QixZQUFPLEdBQVcsRUFBRSxDQUFBO1FBQ3BCLFlBQU8sR0FBcUIsUUFBUSxDQUFBO1FBQ25DLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtLQVU3QztJQVJXLE1BQU07UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtZQUM5QixPQUFNO1FBQ1IsQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDaEMsQ0FBQzsrR0FiVSx3QkFBd0I7bUdBQXhCLHdCQUF3QixvTUNackMsbWVBa0JNLDJtRERWTSxZQUFZOzs0RkFJWCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs4QkFLZCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPY1N0eWxlVGhlbWVUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9vYy1zdHlsZS10aGVtZSdcclxuaW1wb3J0IHsgU3R5bGVUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdHlsZS10aGVtZS5zZXJ2aWNlJ1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdvYy1hY2NvcmRpb24taXRlbScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2MtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9vYy1hY2NvcmRpb24taXRlbS5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPY0FjY29yZGlvbkl0ZW1Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpIG9jSXNPcGVuOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY1RpdGxlOiBzdHJpbmcgPSAnJ1xyXG4gIEBJbnB1dCgpIG9jU3R5bGU6IE9jU3R5bGVUaGVtZVR5cGUgPSAnb3RpbXVzJ1xyXG4gIEBPdXRwdXQoKSBjbG9zZUFsbEl0ZW1zID0gbmV3IEV2ZW50RW1pdHRlcigpXHJcblxyXG4gIHByb3RlY3RlZCB0b2dnbGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vY0lzT3Blbikge1xyXG4gICAgICB0aGlzLm9jSXNPcGVuID0gIXRoaXMub2NJc09wZW5cclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICB0aGlzLmNsb3NlQWxsSXRlbXMuZW1pdCgpXHJcbiAgICB0aGlzLm9jSXNPcGVuID0gIXRoaXMub2NJc09wZW5cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm9jLWFjY29yZGlvbi1pdGVtXCIgW25nQ2xhc3NdPVwie1xyXG4gICdzaHVpJzogb2NTdHlsZSA9PT0gJ3NodWknXHJcbn1cIj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbS1oZWFkZXJcIiBbbmdDbGFzc109XCJ7XHJcbiAgICBvcGVuOiBvY0lzT3BlblxyXG4gIH1cIiAoY2xpY2spPVwidG9nZ2xlKClcIj5cclxuICAgIDxoMz57e29jVGl0bGV9fTwvaDM+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5cclxuICAgICAga2V5Ym9hcmRfY29udHJvbF9rZXlcclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICBAaWYgKG9jSXNPcGVuKSB7XHJcbiAgPGRpdiBjbGFzcz1cIm9jLWNvbnRlbnRcIiBbbmdDbGFzc109XCJ7XHJcbiAgICBvcGVuOiBvY0lzT3BlblxyXG4gIH1cIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PiJdfQ==
|
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewChild, } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { InternationalizationService } from '../../services/internationalization.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../services/internationalization.service";
|
|
7
|
-
import * as i2 from "../../services/style-theme.service";
|
|
8
|
-
import * as i3 from "@angular/common";
|
|
9
|
-
import * as i4 from "@angular/forms";
|
|
10
|
-
export class OcAutocompleteComponent {
|
|
11
|
-
constructor(renderer, el, translateService, styleThemeService, cdr) {
|
|
12
|
-
this.renderer = renderer;
|
|
13
|
-
this.el = el;
|
|
14
|
-
this.translateService = translateService;
|
|
15
|
-
this.styleThemeService = styleThemeService;
|
|
16
|
-
this.cdr = cdr;
|
|
17
|
-
this.ocSize = 'medium';
|
|
18
|
-
this.ocData = [];
|
|
19
|
-
this.ocValue = '';
|
|
20
|
-
this.ocClearOnChange = false;
|
|
21
|
-
this.ocRequired = false;
|
|
22
|
-
this.ocAllowNotListedValue = false;
|
|
23
|
-
this.ocLoading = false;
|
|
24
|
-
this.ocSemanticLike = false; // deprecated. Prefer using ocStyleTheme instead
|
|
25
|
-
this.ocStyle = 'otimus';
|
|
26
|
-
this.ocHasDeleteButton = false;
|
|
27
|
-
this.ocValueChange = new EventEmitter();
|
|
28
|
-
this.ocChange = new EventEmitter();
|
|
29
|
-
this.ocOptionNotFound = new EventEmitter();
|
|
30
|
-
this.ocClick = new EventEmitter();
|
|
31
|
-
this.hasSuffix = false;
|
|
32
|
-
this.hasPrefix = false;
|
|
33
|
-
this.isOptionsShown = false;
|
|
34
|
-
this.filteredData = [];
|
|
35
|
-
this.selectedValue = {
|
|
36
|
-
name: '',
|
|
37
|
-
value: null,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
get computedWidth() {
|
|
41
|
-
return this.ocWidth ? this.ocWidth : null;
|
|
42
|
-
}
|
|
43
|
-
get computedMinWidth() {
|
|
44
|
-
return this.ocMinWidth || '0';
|
|
45
|
-
}
|
|
46
|
-
get computedMaxWidth() {
|
|
47
|
-
return this.ocMaxWidth || '100%';
|
|
48
|
-
}
|
|
49
|
-
ngOnChanges(changes) {
|
|
50
|
-
if (this.ocPrefix) {
|
|
51
|
-
this.hasPrefix = true;
|
|
52
|
-
}
|
|
53
|
-
if (this.ocSuffix) {
|
|
54
|
-
this.hasSuffix = true;
|
|
55
|
-
}
|
|
56
|
-
this.formatOcValueType();
|
|
57
|
-
this.loadOptions();
|
|
58
|
-
this.cdr.detectChanges();
|
|
59
|
-
}
|
|
60
|
-
ngOnInit() {
|
|
61
|
-
if (this.ocValue === undefined) {
|
|
62
|
-
this.ocValue = null;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
ngAfterViewInit() {
|
|
66
|
-
this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle;
|
|
67
|
-
if (this.ocPrefix) {
|
|
68
|
-
this.hasPrefix = true;
|
|
69
|
-
}
|
|
70
|
-
if (this.ocSuffix) {
|
|
71
|
-
this.hasSuffix = true;
|
|
72
|
-
}
|
|
73
|
-
this.formatOcValueType();
|
|
74
|
-
this.loadOptions();
|
|
75
|
-
this.translateService.getTranslationsByLanguage();
|
|
76
|
-
this.cdr.detectChanges();
|
|
77
|
-
}
|
|
78
|
-
ngAfterContentChecked() {
|
|
79
|
-
if (this.ocPrefix) {
|
|
80
|
-
this.hasPrefix = true;
|
|
81
|
-
}
|
|
82
|
-
if (this.ocSuffix) {
|
|
83
|
-
this.hasSuffix = true;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
formatOcValueType() {
|
|
87
|
-
if (this.ocValue) {
|
|
88
|
-
return `${this.ocValue}`;
|
|
89
|
-
}
|
|
90
|
-
return null;
|
|
91
|
-
}
|
|
92
|
-
getTranslation(code) {
|
|
93
|
-
return this.translateService.getTranslation(code);
|
|
94
|
-
}
|
|
95
|
-
loadOptions() {
|
|
96
|
-
this.formatOcValueType();
|
|
97
|
-
setTimeout(() => {
|
|
98
|
-
this.filteredData = this.ocData;
|
|
99
|
-
const inputBox = this.el.nativeElement;
|
|
100
|
-
const found = this.ocData.find((el) => el.value == this.ocValue);
|
|
101
|
-
if (found) {
|
|
102
|
-
this.selectedValue = found;
|
|
103
|
-
this.ocValue = found.name;
|
|
104
|
-
}
|
|
105
|
-
if (inputBox) {
|
|
106
|
-
const inputElement = inputBox.querySelector('input');
|
|
107
|
-
if (inputElement && !this.ocSemanticLike && ['otimus', 'shui'].includes(this.ocStyle)) {
|
|
108
|
-
this.renderer.setAttribute(inputElement, 'placeholder', '');
|
|
109
|
-
this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString());
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}, 50);
|
|
113
|
-
}
|
|
114
|
-
closeOnClickOut() {
|
|
115
|
-
this.renderer.listen('window', 'click', (e) => {
|
|
116
|
-
if (this.input && this.options) {
|
|
117
|
-
if (e.target !== this.input.nativeElement && e.target !== this.options.nativeElement) {
|
|
118
|
-
this.isOptionsShown = false;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
this.findByTyping();
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
findByTyping() {
|
|
125
|
-
if (!this.ocValue || !this.ocValue?.toString().trim().length) {
|
|
126
|
-
this.ocChange.emit(null);
|
|
127
|
-
this.ocOptionNotFound.emit();
|
|
128
|
-
}
|
|
129
|
-
const foundValue = this.ocData.find((data) => data.name.toString().toLowerCase() === this.ocValue?.toString().toLowerCase() ||
|
|
130
|
-
data.value.toString().toLowerCase() === this.ocValue?.toString().toLowerCase());
|
|
131
|
-
if (!foundValue) {
|
|
132
|
-
this.selectedValue = {
|
|
133
|
-
name: '',
|
|
134
|
-
value: null,
|
|
135
|
-
};
|
|
136
|
-
if (!this.ocAllowNotListedValue) {
|
|
137
|
-
this.ocValue = '';
|
|
138
|
-
}
|
|
139
|
-
this.filteredData = this.ocData;
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
this.selectedValue = foundValue;
|
|
143
|
-
}
|
|
144
|
-
filterData(name) {
|
|
145
|
-
this.isOptionsShown = true;
|
|
146
|
-
this.filteredData = this.ocData.filter((data) => {
|
|
147
|
-
return this.getFormattedName(data.name)?.includes(this.getFormattedName(name));
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
getFormattedName(str) {
|
|
151
|
-
return str
|
|
152
|
-
?.toLowerCase()
|
|
153
|
-
.normalize('NFD')
|
|
154
|
-
.replace(/[\u0300-\u036f]/g, ''); // Remove marcas diacríticas
|
|
155
|
-
}
|
|
156
|
-
toggleOptions() {
|
|
157
|
-
this.closeOnClickOut();
|
|
158
|
-
this.isOptionsShown = !this.isOptionsShown;
|
|
159
|
-
}
|
|
160
|
-
selectValue(value) {
|
|
161
|
-
const foundValue = this.ocData.find((data) => data.value == value);
|
|
162
|
-
if (!foundValue) {
|
|
163
|
-
this.selectedValue = {
|
|
164
|
-
name: '',
|
|
165
|
-
value: null,
|
|
166
|
-
};
|
|
167
|
-
this.cdr.detectChanges();
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
this.selectedValue = foundValue;
|
|
171
|
-
if (this.ocClearOnChange) {
|
|
172
|
-
this.ocValue = '';
|
|
173
|
-
this.filteredData = this.ocData;
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
this.ocValue = foundValue.name;
|
|
177
|
-
}
|
|
178
|
-
this.isOptionsShown = false;
|
|
179
|
-
this.ocChange.emit(this.selectedValue.value);
|
|
180
|
-
this.cdr.detectChanges();
|
|
181
|
-
}
|
|
182
|
-
clearValue() {
|
|
183
|
-
this.selectedValue = {
|
|
184
|
-
name: '',
|
|
185
|
-
value: null,
|
|
186
|
-
};
|
|
187
|
-
this.ocValue = '';
|
|
188
|
-
this.filteredData = this.ocData;
|
|
189
|
-
}
|
|
190
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcAutocompleteComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.InternationalizationService }, { token: i2.StyleThemeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
191
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: OcAutocompleteComponent, isStandalone: true, selector: "oc-autocomplete", inputs: { ocPlaceholder: "ocPlaceholder", ocError: "ocError", ocSize: "ocSize", ocData: "ocData", ocValue: "ocValue", ocClearOnChange: "ocClearOnChange", ocWidth: "ocWidth", ocMinWidth: "ocMinWidth", ocMaxWidth: "ocMaxWidth", ocOptionsMaxHeight: "ocOptionsMaxHeight", ocOptionsWidth: "ocOptionsWidth", ocRequired: "ocRequired", ocMaxResults: "ocMaxResults", ocAllowNotListedValue: "ocAllowNotListedValue", ocNoAvailableOptionsText: "ocNoAvailableOptionsText", ocTypeForMoreResultsText: "ocTypeForMoreResultsText", ocLoading: "ocLoading", ocSemanticLike: "ocSemanticLike", ocStyle: "ocStyle", ocTabIndex: "ocTabIndex", ocHasDeleteButton: "ocHasDeleteButton" }, outputs: { ocValueChange: "ocValueChange", ocChange: "ocChange", ocOptionNotFound: "ocOptionNotFound", ocClick: "ocClick" }, host: { properties: { "style.width": "this.computedWidth", "style.min-width": "this.computedMinWidth", "style.max-width": "this.computedMaxWidth" } }, providers: [InternationalizationService], queries: [{ propertyName: "ocPrefix", first: true, predicate: ["ocPrefix"], descendants: true }, { propertyName: "ocSuffix", first: true, predicate: ["ocSuffix"], descendants: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "options", first: true, predicate: ["options"], descendants: true }, { propertyName: "outerDiv", first: true, predicate: ["outerDiv"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\r\n [ngClass]=\"{\r\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\r\n small: ocSize === 'small',\r\n large: ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix || ocHasDeleteButton,\r\n shui: ocStyle === 'shui',\r\n 'shui-input-box': ocStyle === 'shui',\r\n }\"\r\n>\r\n <ng-content></ng-content>\r\n <input\r\n [placeholder]=\"ocPlaceholder\"\r\n #input\r\n (click)=\"toggleOptions(); ocClick.emit()\"\r\n type=\"text\"\r\n (input)=\"filterData(ocValue)\"\r\n [(ngModel)]=\"ocValue\"\r\n (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\"\r\n [ngClass]=\"{\r\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\r\n }\"\r\n [tabindex]=\"ocTabIndex\"\r\n />\r\n @if (!ocSemanticLike && ocStyle !== 'semantic') {\r\n <label>\r\n <span [innerHTML]=\"ocPlaceholder\"></span>\r\n @if (ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n }\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ ocError }}</small\r\n >\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n @if (ocHasDeleteButton) {\r\n <button\r\n class=\"oc-has-close-button oc suffix\"\r\n (click)=\"clearValue()\"\r\n >\r\n <span class=\"material-symbols-outlined\">backspace</span>\r\n </button>\r\n }\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div class=\"oc-options-div\">\r\n @if (isOptionsShown && !ocLoading) {\r\n <ul\r\n #options\r\n class=\"oc-options\"\r\n [ngStyle]=\"{\r\n 'max-height': ocOptionsMaxHeight,\r\n width: ocOptionsWidth,\r\n }\"\r\n >\r\n @if (!filteredData.length) {\r\n <li class=\"no-options\">\r\n {{ ocNoAvailableOptionsText || 'Nenhum resultado dispon\u00EDvel' }}\r\n </li>\r\n } @else {\r\n @for (data of filteredData; track data.value; let i = $index) {\r\n @if (!ocMaxResults || i < ocMaxResults) {\r\n <li>\r\n <button\r\n type=\"button\"\r\n (click)=\"selectValue(data.value)\"\r\n >\r\n {{ data.name }}\r\n </button>\r\n </li>\r\n }\r\n }\r\n @if (ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{ ocTypeForMoreResultsText || 'Digite para ver mais resultados' }}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n } @else if (isOptionsShown && ocLoading) {\r\n <div class=\"oc-options loader\">\r\n <span class=\"material-symbols-outlined loading\"> progress_activity </span>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box label .oc.color.error{font-weight:700;margin-left:.2rem}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}.oc-input-box.small input,.oc-input-box.small textarea,.oc-input-box.small select{padding:.3rem .7rem;border-radius:.5rem}.oc-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}.oc-input-box.small.prefix label{padding:.45rem 2.5rem}.oc-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem}.oc-input-box.small.suffix label{padding:.45rem .7rem}.oc-input-box.small label{padding:.5rem .7rem}.oc-input-box.small input:focus~label,.oc-input-box.small input:not(:placeholder-shown)~label,.oc-input-box.small textarea:focus~label,.oc-input-box.small textarea:not(:placeholder-shown)~label,.oc-input-box.small select:focus~label,.oc-input-box.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box.large input,.oc-input-box.large textarea,.oc-input-box.large select{padding:1rem;border-radius:1rem}.oc-input-box.large label,.oc-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.oc-input-box.large.prefix input{padding-left:2.5rem}.oc-input-box.large.prefix label{padding:1.1rem 2.5rem}.oc-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.oc-input-box.large.suffix input{padding-right:2.5rem}.oc-input-box.large.suffix label{padding:1.1rem .7rem}.oc-input-box.large input:focus~label,.oc-input-box.large input:not(:placeholder-shown)~label,.oc-input-box.large textarea:focus~label,.oc-input-box.large textarea:not(:placeholder-shown)~label,.oc-input-box.large select:focus~label,.oc-input-box.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box{position:relative}.oc-options-div{position:absolute;width:100%}.oc-has-close-button-input{padding-right:60px}.oc-has-close-button{display:flex;justify-content:center;align-items:center;position:absolute;right:.5rem!important;top:8%;height:84%;width:2.2rem;border:2px solid transparent;border-radius:.5rem;background-color:transparent;padding:0!important;transition:border-color .2s ease,box-shadow .2s ease}.oc-has-close-button:hover{border:2px solid #8f9596;box-shadow:0 4px 8.7px #00000021;cursor:pointer}.oc-has-close-button span{padding:0!important;margin:.3rem}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer}.oc-options>li button:hover{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}.oc-options.loader{display:flex;align-items:center;justify-content:center}.oc-options.loader span{width:24px;margin:3rem;color:#5505a2}.loading{animation:spinLoad .5s linear infinite}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}@keyframes spinLoad{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
192
|
-
}
|
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcAutocompleteComponent, decorators: [{
|
|
194
|
-
type: Component,
|
|
195
|
-
args: [{ selector: 'oc-autocomplete', standalone: true, imports: [CommonModule, FormsModule], providers: [InternationalizationService], host: {
|
|
196
|
-
'[style.width]': 'computedWidth',
|
|
197
|
-
'[style.min-width]': 'computedMinWidth',
|
|
198
|
-
'[style.max-width]': 'computedMaxWidth',
|
|
199
|
-
}, changeDetection: ChangeDetectionStrategy.Default, template: "<div\r\n [ngClass]=\"{\r\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\r\n small: ocSize === 'small',\r\n large: ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix || ocHasDeleteButton,\r\n shui: ocStyle === 'shui',\r\n 'shui-input-box': ocStyle === 'shui',\r\n }\"\r\n>\r\n <ng-content></ng-content>\r\n <input\r\n [placeholder]=\"ocPlaceholder\"\r\n #input\r\n (click)=\"toggleOptions(); ocClick.emit()\"\r\n type=\"text\"\r\n (input)=\"filterData(ocValue)\"\r\n [(ngModel)]=\"ocValue\"\r\n (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\"\r\n [ngClass]=\"{\r\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\r\n }\"\r\n [tabindex]=\"ocTabIndex\"\r\n />\r\n @if (!ocSemanticLike && ocStyle !== 'semantic') {\r\n <label>\r\n <span [innerHTML]=\"ocPlaceholder\"></span>\r\n @if (ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n }\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ ocError }}</small\r\n >\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n @if (ocHasDeleteButton) {\r\n <button\r\n class=\"oc-has-close-button oc suffix\"\r\n (click)=\"clearValue()\"\r\n >\r\n <span class=\"material-symbols-outlined\">backspace</span>\r\n </button>\r\n }\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div class=\"oc-options-div\">\r\n @if (isOptionsShown && !ocLoading) {\r\n <ul\r\n #options\r\n class=\"oc-options\"\r\n [ngStyle]=\"{\r\n 'max-height': ocOptionsMaxHeight,\r\n width: ocOptionsWidth,\r\n }\"\r\n >\r\n @if (!filteredData.length) {\r\n <li class=\"no-options\">\r\n {{ ocNoAvailableOptionsText || 'Nenhum resultado dispon\u00EDvel' }}\r\n </li>\r\n } @else {\r\n @for (data of filteredData; track data.value; let i = $index) {\r\n @if (!ocMaxResults || i < ocMaxResults) {\r\n <li>\r\n <button\r\n type=\"button\"\r\n (click)=\"selectValue(data.value)\"\r\n >\r\n {{ data.name }}\r\n </button>\r\n </li>\r\n }\r\n }\r\n @if (ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{ ocTypeForMoreResultsText || 'Digite para ver mais resultados' }}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n } @else if (isOptionsShown && ocLoading) {\r\n <div class=\"oc-options loader\">\r\n <span class=\"material-symbols-outlined loading\"> progress_activity </span>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box label .oc.color.error{font-weight:700;margin-left:.2rem}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}.oc-input-box.small input,.oc-input-box.small textarea,.oc-input-box.small select{padding:.3rem .7rem;border-radius:.5rem}.oc-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}.oc-input-box.small.prefix label{padding:.45rem 2.5rem}.oc-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem}.oc-input-box.small.suffix label{padding:.45rem .7rem}.oc-input-box.small label{padding:.5rem .7rem}.oc-input-box.small input:focus~label,.oc-input-box.small input:not(:placeholder-shown)~label,.oc-input-box.small textarea:focus~label,.oc-input-box.small textarea:not(:placeholder-shown)~label,.oc-input-box.small select:focus~label,.oc-input-box.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box.large input,.oc-input-box.large textarea,.oc-input-box.large select{padding:1rem;border-radius:1rem}.oc-input-box.large label,.oc-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.oc-input-box.large.prefix input{padding-left:2.5rem}.oc-input-box.large.prefix label{padding:1.1rem 2.5rem}.oc-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.oc-input-box.large.suffix input{padding-right:2.5rem}.oc-input-box.large.suffix label{padding:1.1rem .7rem}.oc-input-box.large input:focus~label,.oc-input-box.large input:not(:placeholder-shown)~label,.oc-input-box.large textarea:focus~label,.oc-input-box.large textarea:not(:placeholder-shown)~label,.oc-input-box.large select:focus~label,.oc-input-box.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box{position:relative}.oc-options-div{position:absolute;width:100%}.oc-has-close-button-input{padding-right:60px}.oc-has-close-button{display:flex;justify-content:center;align-items:center;position:absolute;right:.5rem!important;top:8%;height:84%;width:2.2rem;border:2px solid transparent;border-radius:.5rem;background-color:transparent;padding:0!important;transition:border-color .2s ease,box-shadow .2s ease}.oc-has-close-button:hover{border:2px solid #8f9596;box-shadow:0 4px 8.7px #00000021;cursor:pointer}.oc-has-close-button span{padding:0!important;margin:.3rem}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer}.oc-options>li button:hover{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}.oc-options.loader{display:flex;align-items:center;justify-content:center}.oc-options.loader span{width:24px;margin:3rem;color:#5505a2}.loading{animation:spinLoad .5s linear infinite}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}@keyframes spinLoad{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
200
|
-
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.InternationalizationService }, { type: i2.StyleThemeService }, { type: i0.ChangeDetectorRef }], propDecorators: { input: [{
|
|
201
|
-
type: ViewChild,
|
|
202
|
-
args: ['input']
|
|
203
|
-
}], options: [{
|
|
204
|
-
type: ViewChild,
|
|
205
|
-
args: ['options']
|
|
206
|
-
}], outerDiv: [{
|
|
207
|
-
type: ViewChild,
|
|
208
|
-
args: ['outerDiv']
|
|
209
|
-
}], ocPrefix: [{
|
|
210
|
-
type: ContentChild,
|
|
211
|
-
args: ['ocPrefix']
|
|
212
|
-
}], ocSuffix: [{
|
|
213
|
-
type: ContentChild,
|
|
214
|
-
args: ['ocSuffix']
|
|
215
|
-
}], ocPlaceholder: [{
|
|
216
|
-
type: Input
|
|
217
|
-
}], ocError: [{
|
|
218
|
-
type: Input
|
|
219
|
-
}], ocSize: [{
|
|
220
|
-
type: Input
|
|
221
|
-
}], ocData: [{
|
|
222
|
-
type: Input
|
|
223
|
-
}], ocValue: [{
|
|
224
|
-
type: Input
|
|
225
|
-
}], ocClearOnChange: [{
|
|
226
|
-
type: Input
|
|
227
|
-
}], ocWidth: [{
|
|
228
|
-
type: Input
|
|
229
|
-
}], ocMinWidth: [{
|
|
230
|
-
type: Input
|
|
231
|
-
}], ocMaxWidth: [{
|
|
232
|
-
type: Input
|
|
233
|
-
}], ocOptionsMaxHeight: [{
|
|
234
|
-
type: Input
|
|
235
|
-
}], ocOptionsWidth: [{
|
|
236
|
-
type: Input
|
|
237
|
-
}], ocRequired: [{
|
|
238
|
-
type: Input
|
|
239
|
-
}], ocMaxResults: [{
|
|
240
|
-
type: Input
|
|
241
|
-
}], ocAllowNotListedValue: [{
|
|
242
|
-
type: Input
|
|
243
|
-
}], ocNoAvailableOptionsText: [{
|
|
244
|
-
type: Input
|
|
245
|
-
}], ocTypeForMoreResultsText: [{
|
|
246
|
-
type: Input
|
|
247
|
-
}], ocLoading: [{
|
|
248
|
-
type: Input
|
|
249
|
-
}], ocSemanticLike: [{
|
|
250
|
-
type: Input
|
|
251
|
-
}], ocStyle: [{
|
|
252
|
-
type: Input
|
|
253
|
-
}], ocTabIndex: [{
|
|
254
|
-
type: Input
|
|
255
|
-
}], ocHasDeleteButton: [{
|
|
256
|
-
type: Input
|
|
257
|
-
}], ocValueChange: [{
|
|
258
|
-
type: Output
|
|
259
|
-
}], ocChange: [{
|
|
260
|
-
type: Output
|
|
261
|
-
}], ocOptionNotFound: [{
|
|
262
|
-
type: Output
|
|
263
|
-
}], ocClick: [{
|
|
264
|
-
type: Output
|
|
265
|
-
}], computedWidth: [{
|
|
266
|
-
type: HostBinding,
|
|
267
|
-
args: ['style.width']
|
|
268
|
-
}], computedMinWidth: [{
|
|
269
|
-
type: HostBinding,
|
|
270
|
-
args: ['style.min-width']
|
|
271
|
-
}], computedMaxWidth: [{
|
|
272
|
-
type: HostBinding,
|
|
273
|
-
args: ['style.max-width']
|
|
274
|
-
}] } });
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBR0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUE7Ozs7OztBQWtCekYsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUNVLFFBQW1CLEVBQ25CLEVBQWMsRUFDZCxnQkFBNkMsRUFDN0MsaUJBQW9DLEVBQ3BDLEdBQXNCO1FBSnRCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBNkI7UUFDN0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVd2QixXQUFNLEdBQWlDLFFBQVEsQ0FBQTtRQUMvQyxXQUFNLEdBQXlCLEVBQUUsQ0FBQTtRQUNqQyxZQUFPLEdBQVEsRUFBRSxDQUFBO1FBQ2pCLG9CQUFlLEdBQVksS0FB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QXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFhSCxhQUFhO3NCQURoQixXQUFXO3VCQUFDLGFBQWE7Z0JBTXRCLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTFCLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE9jQXV0b0NvbXBsZXRlVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvb2MtYXV0b2NvbXBsZXRlJ1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xyXG5pbXBvcnQgeyBJbnRlcm5hdGlvbmFsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbnRlcm5hdGlvbmFsaXphdGlvbi5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBPY1N0eWxlVGhlbWVUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9vYy1zdHlsZS10aGVtZSdcclxuaW1wb3J0IHsgU3R5bGVUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdHlsZS10aGVtZS5zZXJ2aWNlJ1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdvYy1hdXRvY29tcGxldGUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW0ludGVybmF0aW9uYWxpemF0aW9uU2VydmljZV0sXHJcbiAgaG9zdDoge1xyXG4gICAgJ1tzdHlsZS53aWR0aF0nOiAnY29tcHV0ZWRXaWR0aCcsXHJcbiAgICAnW3N0eWxlLm1pbi13aWR0aF0nOiAnY29tcHV0ZWRNaW5XaWR0aCcsXHJcbiAgICAnW3N0eWxlLm1heC13aWR0aF0nOiAnY29tcHV0ZWRNYXhXaWR0aCcsXHJcbiAgfSxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPY0F1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkluaXRcclxue1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdHlsZVRoZW1lU2VydmljZTogU3R5bGVUaGVtZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQhOiBFbGVtZW50UmVmXHJcbiAgQFZpZXdDaGlsZCgnb3B0aW9ucycpIG9wdGlvbnMhOiBFbGVtZW50UmVmXHJcbiAgQFZpZXdDaGlsZCgnb3V0ZXJEaXYnKSBvdXRlckRpdiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ29jUHJlZml4Jykgb2NQcmVmaXg6IGFueVxyXG4gIEBDb250ZW50Q2hpbGQoJ29jU3VmZml4Jykgb2NTdWZmaXg6IGFueVxyXG4gIEBJbnB1dCgpIG9jUGxhY2Vob2xkZXI/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY0Vycm9yPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NTaXplOiAnc21hbGwnIHwgJ2xhcmdlJyB8ICdtZWRpdW0nID0gJ21lZGl1bSdcclxuICBASW5wdXQoKSBvY0RhdGE6IE9jQXV0b0NvbXBsZXRlVHlwZVtdID0gW11cclxuICBASW5wdXQoKSBvY1ZhbHVlOiBhbnkgPSAnJ1xyXG4gIEBJbnB1dCgpIG9jQ2xlYXJPbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgb2NXaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTWluV2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY01heFdpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NPcHRpb25zTWF4SGVpZ2h0Pzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NPcHRpb25zV2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY01heFJlc3VsdHM/OiBudW1iZXJcclxuICBASW5wdXQoKSBvY0FsbG93Tm90TGlzdGVkVmFsdWU6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jTm9BdmFpbGFibGVPcHRpb25zVGV4dD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jVHlwZUZvck1vcmVSZXN1bHRzVGV4dD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgb2NTZW1hbnRpY0xpa2U6IGJvb2xlYW4gPSBmYWxzZSAvLyBkZXByZWNhdGVkLiBQcmVmZXIgdXNpbmcgb2NTdHlsZVRoZW1lIGluc3RlYWRcclxuICBASW5wdXQoKSBvY1N0eWxlOiBPY1N0eWxlVGhlbWVUeXBlID0gJ290aW11cydcclxuICBASW5wdXQoKSBvY1RhYkluZGV4PzogbnVtYmVyXHJcblxyXG4gIEBJbnB1dCgpIG9jSGFzRGVsZXRlQnV0dG9uPzogYm9vbGVhbiA9IGZhbHNlXHJcblxyXG4gIEBPdXRwdXQoKSBvY1ZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KClcclxuICBAT3V0cHV0KCkgb2NDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KClcclxuICBAT3V0cHV0KCkgb2NPcHRpb25Ob3RGb3VuZCA9IG5ldyBFdmVudEVtaXR0ZXIoKVxyXG4gIEBPdXRwdXQoKSBvY0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpXHJcblxyXG4gIGhhc1N1ZmZpeDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgaGFzUHJlZml4OiBib29sZWFuID0gZmFsc2VcclxuXHJcbiAgaXNPcHRpb25zU2hvd246IGJvb2xlYW4gPSBmYWxzZVxyXG4gIGZpbHRlcmVkRGF0YTogT2NBdXRvQ29tcGxldGVUeXBlW10gPSBbXVxyXG4gIHNlbGVjdGVkVmFsdWU6IE9jQXV0b0NvbXBsZXRlVHlwZSA9IHtcclxuICAgIG5hbWU6ICcnLFxyXG4gICAgdmFsdWU6IG51bGwsXHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJylcclxuICBnZXQgY29tcHV0ZWRXaWR0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jV2lkdGggPyB0aGlzLm9jV2lkdGggOiBudWxsXHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkTWluV2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vY01pbldpZHRoIHx8ICcwJ1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZE1heFdpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NNYXhXaWR0aCB8fCAnMTAwJSdcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9jUHJlZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub2NTdWZmaXgpIHtcclxuICAgICAgdGhpcy5oYXNTdWZmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcclxuICAgIHRoaXMubG9hZE9wdGlvbnMoKVxyXG5cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vY1ZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5vY1ZhbHVlID0gbnVsbFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vY1N0eWxlID0gdGhpcy5zdHlsZVRoZW1lU2VydmljZS5nZXRTdHlsZVRoZW1lKCkgfHwgdGhpcy5vY1N0eWxlXHJcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xyXG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXHJcbiAgICB0aGlzLmxvYWRPcHRpb25zKClcclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXRUcmFuc2xhdGlvbnNCeUxhbmd1YWdlKClcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub2NQcmVmaXgpIHtcclxuICAgICAgdGhpcy5oYXNQcmVmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vY1N1ZmZpeCkge1xyXG4gICAgICB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvcm1hdE9jVmFsdWVUeXBlKCkge1xyXG4gICAgaWYgKHRoaXMub2NWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gYCR7dGhpcy5vY1ZhbHVlfWBcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsXHJcbiAgfVxyXG5cclxuICBnZXRUcmFuc2xhdGlvbihjb2RlOiBudW1iZXIgfCBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0VHJhbnNsYXRpb24oY29kZSlcclxuICB9XHJcblxyXG4gIGxvYWRPcHRpb25zKCkge1xyXG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG4gICAgICBjb25zdCBpbnB1dEJveCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudFxyXG5cclxuICAgICAgY29uc3QgZm91bmQgPSB0aGlzLm9jRGF0YS5maW5kKChlbCkgPT4gZWwudmFsdWUgPT0gdGhpcy5vY1ZhbHVlKVxyXG4gICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFxyXG4gICAgICAgIHRoaXMub2NWYWx1ZSA9IGZvdW5kLm5hbWVcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGlucHV0Qm94KSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gaW5wdXRCb3gucXVlcnlTZWxlY3RvcignaW5wdXQnKVxyXG5cclxuICAgICAgICBpZiAoaW5wdXRFbGVtZW50ICYmICF0aGlzLm9jU2VtYW50aWNMaWtlICYmIFsnb3RpbXVzJywgJ3NodWknXS5pbmNsdWRlcyh0aGlzLm9jU3R5bGUpKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsZW1lbnQsICdwbGFjZWhvbGRlcicsICcnKVxyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaW5wdXRFbGVtZW50LCAncmVxdWlyZWQnLCB0aGlzLm9jUmVxdWlyZWQudG9TdHJpbmcoKSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDUwKVxyXG4gIH1cclxuXHJcbiAgY2xvc2VPbkNsaWNrT3V0KCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdjbGljaycsIChlOiBFdmVudCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5pbnB1dCAmJiB0aGlzLm9wdGlvbnMpIHtcclxuICAgICAgICBpZiAoZS50YXJnZXQgIT09IHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCAmJiBlLnRhcmdldCAhPT0gdGhpcy5vcHRpb25zLm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpbmRCeVR5cGluZygpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZmluZEJ5VHlwaW5nKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm9jVmFsdWUgfHwgIXRoaXMub2NWYWx1ZT8udG9TdHJpbmcoKS50cmltKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMub2NDaGFuZ2UuZW1pdChudWxsKVxyXG4gICAgICB0aGlzLm9jT3B0aW9uTm90Rm91bmQuZW1pdCgpXHJcbiAgICB9XHJcbiAgICBjb25zdCBmb3VuZFZhbHVlID0gdGhpcy5vY0RhdGEuZmluZChcclxuICAgICAgKGRhdGEpID0+XHJcbiAgICAgICAgZGF0YS5uYW1lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gdGhpcy5vY1ZhbHVlPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgfHxcclxuICAgICAgICBkYXRhLnZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gdGhpcy5vY1ZhbHVlPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKClcclxuICAgIClcclxuXHJcbiAgICBpZiAoIWZvdW5kVmFsdWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0ge1xyXG4gICAgICAgIG5hbWU6ICcnLFxyXG4gICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICB9XHJcbiAgICAgIGlmICghdGhpcy5vY0FsbG93Tm90TGlzdGVkVmFsdWUpIHtcclxuICAgICAgICB0aGlzLm9jVmFsdWUgPSAnJ1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFZhbHVlXHJcbiAgfVxyXG5cclxuICBmaWx0ZXJEYXRhKG5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5pc09wdGlvbnNTaG93biA9IHRydWVcclxuICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGEuZmlsdGVyKChkYXRhKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZE5hbWUoZGF0YS5uYW1lKT8uaW5jbHVkZXModGhpcy5nZXRGb3JtYXR0ZWROYW1lKG5hbWUpKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldEZvcm1hdHRlZE5hbWUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHN0clxyXG4gICAgICA/LnRvTG93ZXJDYXNlKClcclxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKSAvLyBSZW1vdmUgbWFyY2FzIGRpYWNyw610aWNhc1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlT3B0aW9ucygpIHtcclxuICAgIHRoaXMuY2xvc2VPbkNsaWNrT3V0KClcclxuICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSAhdGhpcy5pc09wdGlvbnNTaG93blxyXG4gIH1cclxuXHJcbiAgc2VsZWN0VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgY29uc3QgZm91bmRWYWx1ZSA9IHRoaXMub2NEYXRhLmZpbmQoKGRhdGEpID0+IGRhdGEudmFsdWUgPT0gdmFsdWUpXHJcblxyXG4gICAgaWYgKCFmb3VuZFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcclxuICAgICAgICBuYW1lOiAnJyxcclxuICAgICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kVmFsdWVcclxuICAgIGlmICh0aGlzLm9jQ2xlYXJPbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLm9jVmFsdWUgPSAnJ1xyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9jVmFsdWUgPSBmb3VuZFZhbHVlLm5hbWVcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gZmFsc2VcclxuXHJcbiAgICB0aGlzLm9jQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKVxyXG5cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxyXG4gIH1cclxuXHJcbiAgY2xlYXJWYWx1ZSgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcclxuICAgICAgbmFtZTogJycsXHJcbiAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgfVxyXG4gICAgdGhpcy5vY1ZhbHVlID0gJydcclxuICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIFtuZ0NsYXNzXT1cIntcclxuICAgICdvYy1pbnB1dC1ib3gnOiAhb2NTZW1hbnRpY0xpa2UgJiYgb2NTdHlsZSA9PT0gJ290aW11cycsXHJcbiAgICBzbWFsbDogb2NTaXplID09PSAnc21hbGwnLFxyXG4gICAgbGFyZ2U6IG9jU2l6ZSA9PT0gJ2xhcmdlJyxcclxuICAgIGVycm9yOiAhIW9jRXJyb3IsXHJcbiAgICBwcmVmaXg6IGhhc1ByZWZpeCxcclxuICAgIHN1ZmZpeDogaGFzU3VmZml4IHx8IG9jSGFzRGVsZXRlQnV0dG9uLFxyXG4gICAgc2h1aTogb2NTdHlsZSA9PT0gJ3NodWknLFxyXG4gICAgJ3NodWktaW5wdXQtYm94Jzogb2NTdHlsZSA9PT0gJ3NodWknLFxyXG4gIH1cIlxyXG4+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDxpbnB1dFxyXG4gICAgW3BsYWNlaG9sZGVyXT1cIm9jUGxhY2Vob2xkZXJcIlxyXG4gICAgI2lucHV0XHJcbiAgICAoY2xpY2spPVwidG9nZ2xlT3B0aW9ucygpOyBvY0NsaWNrLmVtaXQoKVwiXHJcbiAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAoaW5wdXQpPVwiZmlsdGVyRGF0YShvY1ZhbHVlKVwiXHJcbiAgICBbKG5nTW9kZWwpXT1cIm9jVmFsdWVcIlxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib2NWYWx1ZSA9ICRldmVudDsgb2NWYWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAnc2VtYW50aWMtaW5wdXQnOiBvY1NlbWFudGljTGlrZSB8fCBvY1N0eWxlID09PSAnc2VtYW50aWMnLFxyXG4gICAgfVwiXHJcbiAgICBbdGFiaW5kZXhdPVwib2NUYWJJbmRleFwiXHJcbiAgLz5cclxuICBAaWYgKCFvY1NlbWFudGljTGlrZSAmJiBvY1N0eWxlICE9PSAnc2VtYW50aWMnKSB7XHJcbiAgICA8bGFiZWw+XHJcbiAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwib2NQbGFjZWhvbGRlclwiPjwvc3Bhbj5cclxuICAgICAgQGlmIChvY1JlcXVpcmVkKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJvYyBjb2xvciBlcnJvclwiPio8L3NwYW4+XHJcbiAgICAgIH1cclxuICAgIDwvbGFiZWw+XHJcbiAgfVxyXG4gIDxzbWFsbFxyXG4gICAgKm5nSWY9XCJvY0Vycm9yXCJcclxuICAgIGNsYXNzPVwiZXJyb3ItbXNnXCJcclxuICAgID57eyBvY0Vycm9yIH19PC9zbWFsbFxyXG4gID5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvY1ByZWZpeFwiPjwvbmctY29udGVudD5cclxuICBAaWYgKG9jSGFzRGVsZXRlQnV0dG9uKSB7XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIGNsYXNzPVwib2MtaGFzLWNsb3NlLWJ1dHRvbiBvYyBzdWZmaXhcIlxyXG4gICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgpXCJcclxuICAgID5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+YmFja3NwYWNlPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgfVxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm9jU3VmZml4XCI+PC9uZy1jb250ZW50PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwib2Mtb3B0aW9ucy1kaXZcIj5cclxuICAgIEBpZiAoaXNPcHRpb25zU2hvd24gJiYgIW9jTG9hZGluZykge1xyXG4gICAgICA8dWxcclxuICAgICAgICAjb3B0aW9uc1xyXG4gICAgICAgIGNsYXNzPVwib2Mtb3B0aW9uc1wiXHJcbiAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgJ21heC1oZWlnaHQnOiBvY09wdGlvbnNNYXhIZWlnaHQsXHJcbiAgICAgICAgICB3aWR0aDogb2NPcHRpb25zV2lkdGgsXHJcbiAgICAgICAgfVwiXHJcbiAgICAgID5cclxuICAgICAgICBAaWYgKCFmaWx0ZXJlZERhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgICA8bGkgY2xhc3M9XCJuby1vcHRpb25zXCI+XHJcbiAgICAgICAgICAgIHt7IG9jTm9BdmFpbGFibGVPcHRpb25zVGV4dCB8fCAnTmVuaHVtIHJlc3VsdGFkbyBkaXNwb27DrXZlbCcgfX1cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICBAZm9yIChkYXRhIG9mIGZpbHRlcmVkRGF0YTsgdHJhY2sgZGF0YS52YWx1ZTsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgICAgICAgICAgQGlmICghb2NNYXhSZXN1bHRzIHx8IGkgPCBvY01heFJlc3VsdHMpIHtcclxuICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VmFsdWUoZGF0YS52YWx1ZSlcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBkYXRhLm5hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAob2NNYXhSZXN1bHRzICYmIGZpbHRlcmVkRGF0YS5sZW5ndGggPiBvY01heFJlc3VsdHMpIHtcclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibm8tb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIHt7IG9jVHlwZUZvck1vcmVSZXN1bHRzVGV4dCB8fCAnRGlnaXRlIHBhcmEgdmVyIG1haXMgcmVzdWx0YWRvcycgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIDwvdWw+XHJcbiAgICB9IEBlbHNlIGlmIChpc09wdGlvbnNTaG93biAmJiBvY0xvYWRpbmcpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cIm9jLW9wdGlvbnMgbG9hZGVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGxvYWRpbmdcIj4gcHJvZ3Jlc3NfYWN0aXZpdHkgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|