@fundamental-ngx/core 0.33.5-rc.43 → 0.33.5-rc.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/package.json +1 -1
  8. package/busy-indicator/package.json +1 -1
  9. package/button/package.json +1 -1
  10. package/calendar/package.json +1 -1
  11. package/card/package.json +1 -1
  12. package/carousel/package.json +1 -1
  13. package/checkbox/checkbox/checkbox.component.d.ts +1 -1
  14. package/checkbox/esm2020/checkbox/checkbox.component.mjs +1 -1
  15. package/checkbox/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  16. package/checkbox/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  17. package/checkbox/package.json +1 -1
  18. package/combobox/combobox.component.d.ts +1 -1
  19. package/combobox/esm2020/combobox.component.mjs +1 -1
  20. package/combobox/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
  21. package/combobox/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
  22. package/combobox/package.json +1 -1
  23. package/date-picker/package.json +1 -1
  24. package/datetime/package.json +1 -1
  25. package/datetime-picker/package.json +1 -1
  26. package/dialog/package.json +1 -1
  27. package/dynamic-page/package.json +1 -1
  28. package/dynamic-side-content/package.json +1 -1
  29. package/esm2020/checkbox/checkbox/checkbox.component.mjs +1 -1
  30. package/esm2020/combobox/combobox.component.mjs +1 -1
  31. package/esm2020/form/form-control/form-control.component.mjs +1 -1
  32. package/esm2020/input-group/input-group-directives.mjs +1 -1
  33. package/esm2020/input-group/input-group.component.mjs +1 -1
  34. package/esm2020/menu/services/menu.service.mjs +18 -8
  35. package/esm2020/multi-input/multi-input.component.mjs +1 -1
  36. package/esm2020/progress-indicator/progress-indicator.component.mjs +1 -1
  37. package/esm2020/radio/radio-button/radio-button.component.mjs +1 -1
  38. package/esm2020/step-input/step-input.component.mjs +1 -1
  39. package/esm2020/tabs/tab-panel/tab-panel.component.mjs +1 -1
  40. package/esm2020/tile/directives/numeric-content.directives.mjs +1 -1
  41. package/facets/package.json +1 -1
  42. package/feed-input/package.json +1 -1
  43. package/feed-list-item/package.json +1 -1
  44. package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  45. package/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
  46. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  47. package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  48. package/fesm2015/fundamental-ngx-core-menu.mjs +18 -6
  49. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  50. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  51. package/fesm2015/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  52. package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
  53. package/fesm2015/fundamental-ngx-core-step-input.mjs.map +1 -1
  54. package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  55. package/fesm2015/fundamental-ngx-core-tile.mjs.map +1 -1
  56. package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  57. package/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
  58. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  59. package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  60. package/fesm2020/fundamental-ngx-core-menu.mjs +15 -6
  61. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  62. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  63. package/fesm2020/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  64. package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
  65. package/fesm2020/fundamental-ngx-core-step-input.mjs.map +1 -1
  66. package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  67. package/fesm2020/fundamental-ngx-core-tile.mjs.map +1 -1
  68. package/file-uploader/package.json +1 -1
  69. package/fixed-card-layout/package.json +1 -1
  70. package/flexible-column-layout/package.json +1 -1
  71. package/form/esm2020/form-control/form-control.component.mjs +1 -1
  72. package/form/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  73. package/form/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  74. package/form/form-control/form-control.component.d.ts +1 -1
  75. package/form/package.json +1 -1
  76. package/formatted-text/package.json +1 -1
  77. package/grid-list/package.json +1 -1
  78. package/icon/package.json +1 -1
  79. package/illustrated-message/package.json +1 -1
  80. package/infinite-scroll/package.json +1 -1
  81. package/info-label/package.json +1 -1
  82. package/inline-help/package.json +1 -1
  83. package/input-group/esm2020/input-group-directives.mjs +1 -1
  84. package/input-group/esm2020/input-group.component.mjs +1 -1
  85. package/input-group/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  86. package/input-group/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  87. package/input-group/input-group-directives.d.ts +1 -1
  88. package/input-group/input-group.component.d.ts +1 -1
  89. package/input-group/package.json +1 -1
  90. package/layout-grid/package.json +1 -1
  91. package/layout-panel/package.json +1 -1
  92. package/link/package.json +1 -1
  93. package/list/package.json +1 -1
  94. package/menu/esm2020/services/menu.service.mjs +18 -8
  95. package/menu/fesm2015/fundamental-ngx-core-menu.mjs +18 -6
  96. package/menu/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  97. package/menu/fesm2020/fundamental-ngx-core-menu.mjs +15 -6
  98. package/menu/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  99. package/menu/package.json +1 -1
  100. package/menu/services/menu.service.d.ts +6 -2
  101. package/message-box/package.json +1 -1
  102. package/message-strip/package.json +1 -1
  103. package/message-toast/package.json +1 -1
  104. package/micro-process-flow/package.json +1 -1
  105. package/mobile-mode/package.json +1 -1
  106. package/multi-input/esm2020/multi-input.component.mjs +1 -1
  107. package/multi-input/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  108. package/multi-input/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  109. package/multi-input/multi-input.component.d.ts +1 -1
  110. package/multi-input/package.json +1 -1
  111. package/nested-list/package.json +1 -1
  112. package/notification/package.json +1 -1
  113. package/object-identifier/package.json +1 -1
  114. package/object-marker/package.json +1 -1
  115. package/object-number/package.json +1 -1
  116. package/object-status/package.json +1 -1
  117. package/package.json +1 -1
  118. package/pagination/package.json +1 -1
  119. package/panel/package.json +1 -1
  120. package/popover/package.json +1 -1
  121. package/product-switch/package.json +1 -1
  122. package/progress-indicator/esm2020/progress-indicator.component.mjs +1 -1
  123. package/progress-indicator/fesm2015/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  124. package/progress-indicator/fesm2020/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  125. package/progress-indicator/package.json +1 -1
  126. package/progress-indicator/progress-indicator.component.d.ts +1 -1
  127. package/quick-view/package.json +1 -1
  128. package/radio/esm2020/radio-button/radio-button.component.mjs +1 -1
  129. package/radio/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
  130. package/radio/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
  131. package/radio/package.json +1 -1
  132. package/radio/radio-button/radio-button.component.d.ts +1 -1
  133. package/rating-indicator/package.json +1 -1
  134. package/resizable-card-layout/package.json +1 -1
  135. package/scroll-spy/package.json +1 -1
  136. package/scrollbar/package.json +1 -1
  137. package/segmented-button/package.json +1 -1
  138. package/select/package.json +1 -1
  139. package/shared/package.json +1 -1
  140. package/shellbar/package.json +1 -1
  141. package/side-navigation/package.json +1 -1
  142. package/slider/package.json +1 -1
  143. package/split-button/package.json +1 -1
  144. package/splitter/package.json +1 -1
  145. package/status-indicator/package.json +1 -1
  146. package/step-input/esm2020/step-input.component.mjs +1 -1
  147. package/step-input/fesm2015/fundamental-ngx-core-step-input.mjs.map +1 -1
  148. package/step-input/fesm2020/fundamental-ngx-core-step-input.mjs.map +1 -1
  149. package/step-input/package.json +1 -1
  150. package/step-input/step-input.component.d.ts +1 -1
  151. package/switch/package.json +1 -1
  152. package/table/package.json +1 -1
  153. package/tabs/esm2020/tab-panel/tab-panel.component.mjs +1 -1
  154. package/tabs/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  155. package/tabs/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  156. package/tabs/package.json +1 -1
  157. package/tabs/tab-panel/tab-panel.component.d.ts +1 -1
  158. package/text/package.json +1 -1
  159. package/tile/directives/numeric-content.directives.d.ts +2 -2
  160. package/tile/esm2020/directives/numeric-content.directives.mjs +1 -1
  161. package/tile/fesm2015/fundamental-ngx-core-tile.mjs.map +1 -1
  162. package/tile/fesm2020/fundamental-ngx-core-tile.mjs.map +1 -1
  163. package/tile/package.json +1 -1
  164. package/time/package.json +1 -1
  165. package/time-picker/package.json +1 -1
  166. package/timeline/package.json +1 -1
  167. package/title/package.json +1 -1
  168. package/token/package.json +1 -1
  169. package/toolbar/package.json +1 -1
  170. package/tree/package.json +1 -1
  171. package/upload-collection/package.json +1 -1
  172. package/utils/package.json +1 -1
  173. package/vertical-navigation/package.json +1 -1
  174. package/wizard/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/action-bar",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/action-sheet",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/alert",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/avatar",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/avatar-group",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
package/bar/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/bar",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/breadcrumb",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/busy-indicator",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/button",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/calendar",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
package/card/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/card",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/carousel",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -30,7 +30,7 @@ export declare class CheckboxComponent implements ControlValueAccessor, OnInit,
30
30
  /** Sets [id] property of input, binds input with input label using [for] property. */
31
31
  inputId: string;
32
32
  /** State of control, changes visual appearance of control. */
33
- state: FormStates;
33
+ state?: FormStates;
34
34
  /** Sets [name] property of input. */
35
35
  name: string;
36
36
  /** Sets text of control label. */
@@ -256,4 +256,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
256
256
  }], focusChange: [{
257
257
  type: Output
258
258
  }] } });
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY2hlY2tib3gvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY2hlY2tib3gvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUcsT0FBTyxLQUFLLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQUU1RSxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQW1CekIsTUFBTSxPQUFPLGlCQUFpQjtJQXVIMUIsY0FBYztJQUNkLFlBQ1csVUFBK0IsRUFDSCxnQkFBd0IsQ0FBQyxFQUNwRCxrQkFBcUMsRUFDckMsUUFBbUIsRUFDUCxzQkFBNkMsRUFDaEIsa0JBQXFDO1FBTC9FLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBQ0gsa0JBQWEsR0FBYixhQUFhLENBQVk7UUFDcEQsdUJBQWtCLEdBQWxCLGtCQUFrQixD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QkFDSixRQUNLLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFOzswQkE0SDVCLFNBQVM7MkJBQUMsZUFBZTs7MEJBR3pCLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1COzRDQTNIM0MsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGNBQWM7Z0JBS3pCLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjO2dCQUt6QixTQUFTO3NCQURSLEtBQUs7Z0JBS0YsS0FBSztzQkFEUixLQUFLO2dCQVVOLGNBQWM7c0JBRGIsS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFRRixNQUFNO3NCQURULEtBQUs7Z0JBVUcsUUFBUTtzQkFEaEIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBS3BCLE9BQU87c0JBRGYsV0FBVzt1QkFBQyxlQUFlO2dCQUlsQixXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGZENoZWNrYm94VmFsdWVzIH0gZnJvbSAnLi9mZC1jaGVja2JveC12YWx1ZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExJU1RfSVRFTV9DT01QT05FTlQsIExpc3RJdGVtSW50ZXJmYWNlLCBDb250ZW50RGVuc2l0eVNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1TdGF0ZXMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcbmltcG9ydCB7IEZEX0NIRUNLQk9YX1ZBTFVFU19ERUZBVUxUIH0gZnJvbSAnLi9mZC1jaGVja2JveC12YWx1ZXMuaW50ZXJmYWNlJztcblxubGV0IGNoZWNrYm94VW5pcXVlSWQgPSAwO1xuXG5leHBvcnQgdHlwZSBGZENoZWNrYm94VHlwZXMgPSAnY2hlY2tlZCcgfCAndW5jaGVja2VkJyB8ICdpbmRldGVybWluYXRlJyB8ICdmb3JjZS1jaGVja2VkJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1jaGVja2JveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDogeyAnW2F0dHIudGFiaW5kZXhdJzogJy0xJyB9XG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpXG4gICAgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdsYWJlbEVsZW1lbnQnKVxuICAgIGxhYmVsRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8qKiBTZXRzIHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHRoZSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsID0gJyc7XG5cbiAgICAvKiogQ3VycmVudCBzZWxlY3Rpb24gc3RhdGUgb2YgdGhlIGNoZWNrYm94IGNvbXBvbmVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrYm94VmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIFNldHMgdGhlIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZSB0byB0aGUgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbGxlZEJ5ID0gbnVsbDtcblxuICAgIC8qKiBTZXRzIHRoZSBgYXJpYS1kZXNjcmliZWRieWAgYXR0cmlidXRlIHRvIHRoZSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYURlc2NyaWJlZEJ5OiBzdHJpbmc7XG5cbiAgICAvKiogc2V0cyBjaGVja2JveCB0b29sdGlwICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIFNldHMgW2lkXSBwcm9wZXJ0eSBvZiBpbnB1dCwgYmluZHMgaW5wdXQgd2l0aCBpbnB1dCBsYWJlbCB1c2luZyBbZm9yXSBwcm9wZXJ0eS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlucHV0SWQgPSBgZmQtY2hlY2tib3gtJHtjaGVja2JveFVuaXF1ZUlkKyt9YDtcblxuICAgIC8qKiBTdGF0ZSBvZiBjb250cm9sLCBjaGFuZ2VzIHZpc3VhbCBhcHBlYXJhbmNlIG9mIGNvbnRyb2wuICovXG4gICAgQElucHV0KClcbiAgICBzdGF0ZTogRm9ybVN0YXRlcztcblxuICAgIC8qKiBTZXRzIFtuYW1lXSBwcm9wZXJ0eSBvZiBpbnB1dC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG5hbWU6IHN0cmluZztcblxuICAgIC8qKiBTZXRzIHRleHQgb2YgY29udHJvbCBsYWJlbC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQWxsb3dzIHRvIGRpc2FibGUvZW5hYmxlIGNvbnRyb2wuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKiBBbGxvd3MgdG8gbWluaW1pemUgY29udHJvbCB0byBjb21wYWN0IG1vZGUuICovXG4gICAgQElucHV0KClcbiAgICBjb21wYWN0PzogYm9vbGVhbjtcblxuICAgIC8qKiBFbmFibGVzIGNvbnRyb2xzIHRoaXJkIHN0YXRlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdHJpc3RhdGUgPSBmYWxzZTtcblxuICAgIC8qKiBBbGxvd3MgdG8gcHJldmVudCB1c2VyIGZyb20gbWFudWFsbHkgc2VsZWN0aW5nIGNvbnRyb2xzIHRoaXJkIHN0YXRlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdHJpc3RhdGVTZWxlY3RhYmxlID0gZmFsc2U7XG5cbiAgICAvKiogQXNzaWducyBnaXZlbiBjbGFzcyB0byBjaGVja2JveCBsYWJlbCBlbGVtZW50ICovXG4gICAgQElucHV0KClcbiAgICBsYWJlbENsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogSWYgaXQgaXMgbWFuZGF0b3J5IGZpZWxkICovXG4gICAgQElucHV0KClcbiAgICByZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIFNldHMgdmFsdWVzIHJldHVybmVkIGJ5IGNvbnRyb2wuICovXG4gICAgQElucHV0KClcbiAgICBnZXQgdmFsdWVzKCk6IEZkQ2hlY2tib3hWYWx1ZXMge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWVzO1xuICAgIH1cbiAgICBzZXQgdmFsdWVzKGNoZWNrYm94VmFsdWVzOiBGZENoZWNrYm94VmFsdWVzKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlcyA9IHsgLi4uRkRfQ0hFQ0tCT1hfVkFMVUVTX0RFRkFVTFQsIC4uLihjaGVja2JveFZhbHVlcyA/PyB7fSkgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUucG9zaXRpb24nKVxuICAgIHJlYWRvbmx5IHBvc2l0aW9uID0gJ3JlbGF0aXZlJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5vdXRsaW5lJylcbiAgICByZWFkb25seSBvdXRsaW5lID0gJ25vbmUnO1xuXG4gICAgLyoqIEVtaXRzIGV2ZW50IG9uIGZvY3VzIGNoYW5nZSAqL1xuICAgIEBPdXRwdXQoKSBmb2N1c0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gdmFsdWVzIHJldHVybmVkIGJ5IGNvbnRyb2wuICovXG4gICAgcHJpdmF0ZSBfdmFsdWVzOiBGZENoZWNrYm94VmFsdWVzID0geyAuLi5GRF9DSEVDS0JPWF9WQUxVRVNfREVGQVVMVCB9O1xuICAgIC8qKiBTdG9yZXMgY3VycmVudCBjaGVja2JveCB2YWx1ZS4gKi9cbiAgICBwdWJsaWMgY2hlY2tib3hWYWx1ZTogYW55O1xuICAgIC8qKiBTdG9yZXMgY3VycmVudCBjaGVja2JveCBzdGF0ZS4gKi9cbiAgICBwdWJsaWMgY2hlY2tib3hTdGF0ZTogRmRDaGVja2JveFR5cGVzO1xuXG4gICAgLyoqIEBoaWRkZW4gUmVmZXJlbmNlIHRvIGNhbGxiYWNrIHByb3ZpZGVkIGJ5IEZvcm1Db250cm9sLiovXG4gICAgcHVibGljIG9uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHt9O1xuICAgIC8qKiBAaGlkZGVuIFJlZmVyZW5jZSB0byBjYWxsYmFjayBwcm92aWRlZCBieSBGb3JtQ29udHJvbC4qL1xuICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgLyoqIEBoaWRkZW4gVXNlZCB0byBkZWZpbmUgaWYgY29udHJvbCBpcyBpbiAnaW5kZXRlcm1pbmF0ZScgc3RhdGUuKi9cbiAgICBnZXQgaXNJbmRldGVybWluYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja2JveFN0YXRlID09PSAnaW5kZXRlcm1pbmF0ZSc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gVXNlZCB0byBkZWZpbmUgaWYgY29udHJvbCBpcyBpbiAnY2hlY2tlZCcgLyAndW5jaGVja2VkJyBzdGF0ZS4gKi9cbiAgICBnZXQgaXNDaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja2JveFN0YXRlID09PSAnY2hlY2tlZCcgfHwgdGhpcy5jaGVja2JveFN0YXRlID09PSAnZm9yY2UtY2hlY2tlZCc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8RWxlbWVudD4sXG4gICAgICAgIEBBdHRyaWJ1dGUoJ3RhYkluZGV4VmFsdWUnKSBwdWJsaWMgdGFiSW5kZXhWYWx1ZTogbnVtYmVyID0gMCxcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2NvbnRlbnREZW5zaXR5U2VydmljZTogQ29udGVudERlbnNpdHlTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KExJU1RfSVRFTV9DT01QT05FTlQpIHByaXZhdGUgX2xpc3RJdGVtQ29tcG9uZW50OiBMaXN0SXRlbUludGVyZmFjZVxuICAgICkge1xuICAgICAgICB0aGlzLnRhYkluZGV4VmFsdWUgPSB0YWJJbmRleFZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBhY3QgPT09IHVuZGVmaW5lZCAmJiB0aGlzLl9jb250ZW50RGVuc2l0eVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbnRlbnREZW5zaXR5U2VydmljZS5faXNDb21wYWN0RGVuc2l0eS5zdWJzY3JpYmUoKGlzQ29tcGFjdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBhY3QgPSBpc0NvbXBhY3Q7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gICAgICogLSBzZXRzIG5ldyBjb250cm9sIHZhbHVlXG4gICAgICogLSB1cGRhdGVzIGNvbnRyb2wgc3RhdGVcbiAgICAgKi9cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja2JveFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3NldFN0YXRlKCk7XG4gICAgICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgbWV0aG9kIC0gc2V0cyBvblZhbHVlQ2hhbmdlIGNhbGxiYWNrLiovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSBtZXRob2QgLSBzZXRzIG9uVG91Y2hlZCBjYWxsYmFjay4qL1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBDYWxsZWQgYnkgRm9ybUNvbnRyb2wgLSB1c2VkIHRvIGRpc2FibGUgLyBlbmFibGUgY29udHJvbC4qL1xuICAgIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEJhc2VkIG9uIGN1cnJlbnQgY29udHJvbCBzdGF0ZTpcbiAgICAgKiAtIHNldHMgbmV4dCBjb250cm9sIHZhbHVlXG4gICAgICogLSBlbWl0cyBuZXcgY29udHJvbCB2YWx1ZVxuICAgICAqIC0gdXBkYXRlcyBjb250cm9sIHN0YXRlIGJhc2VkIG9uIG5ldyBjb250cm9sIHZhbHVlXG4gICAgICogKi9cbiAgICBuZXh0VmFsdWUocHJldmlvdXNWYWx1ZT86IEZkQ2hlY2tib3hUeXBlcyk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHByZXZpb3VzVmFsdWUgfHwgdGhpcy5jaGVja2JveFN0YXRlKSB7XG4gICAgICAgICAgICBjYXNlICdjaGVja2VkJzpcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrYm94VmFsdWUgPSB0aGlzLnZhbHVlcy5mYWxzZVZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndW5jaGVja2VkJzpcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrYm94VmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyaXN0YXRlICYmIHRoaXMudHJpc3RhdGVTZWxlY3RhYmxlID8gdGhpcy52YWx1ZXMudGhpcmRTdGF0ZVZhbHVlIDogdGhpcy52YWx1ZXMudHJ1ZVZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnaW5kZXRlcm1pbmF0ZSc6XG4gICAgICAgICAgICBjYXNlICdmb3JjZS1jaGVja2VkJzpcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrYm94VmFsdWUgPSB0aGlzLnZhbHVlcy50cnVlVmFsdWU7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnY2hlY2tlZCcsICd0cnVlJyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tib3hWYWx1ZSA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJpc3RhdGUgJiYgdGhpcy50cmlzdGF0ZVNlbGVjdGFibGUgPyB0aGlzLnZhbHVlcy50aGlyZFN0YXRlVmFsdWUgOiB0aGlzLnZhbHVlcy50cnVlVmFsdWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0U3RhdGUoKTtcbiAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlKHRoaXMuY2hlY2tib3hWYWx1ZSk7XG4gICAgICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBoYW5kbGVzIGJsdXIgZXZlbnQgKi9cbiAgICBfb25CbHVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMub25Ub3VjaGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZm9jdXNDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgfVxuICAgIC8qKiBAaGlkZGVuIGhhbmRsZXMgZm9jdXMgZXZlbnQgKi9cbiAgICBfb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c0NoYW5nZS5lbWl0KHRydWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIGhhbmRsZXMgY2xpY2sgb24gdGhlIGxhYmVsIGFzc29jaWF0ZWQgd2l0aCBuYXRpdmUgY2hlY2tib3ggaW5wdXQgKi9cbiAgICBfb25MYWJlbENsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBXZSBoYXZlIHRvIHN0b3AgcHJvcGFnYXRpb24gZm9yIGNsaWNrIGV2ZW50cyBvbiB0aGUgaW5wdXQgbGFiZWwuXG4gICAgICAgIC8vIEJ5IGRlZmF1bHQsIHdoZW4gYSB1c2VyIGNsaWNrcyBvbiBhIGxhYmVsIGVsZW1lbnQsIGEgZ2VuZXJhdGVkIGNsaWNrIGV2ZW50IHdpbGwgYmVcbiAgICAgICAgLy8gZGlzcGF0Y2hlZCBvbiB0aGUgYXNzb2NpYXRlZCBpbnB1dCBlbGVtZW50LiBUaGlzIHdpbGwgbGVhZCB0byBkdXBsaWNhdGVkIFwiY2xpY2tcIiBldmVudCBkaXNwYXRjaGVkIGZyb20gdGhlIGNvbXBvbmVudFxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBoYW5kbGVzIGNsaWNrIG9uIHRoZSBuYXRpdmUgY2hlY2tib3ggaW5wdXQgKi9cbiAgICBfb25JbnB1dENsaWNrKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gV2hlbiB0aGVyZSdzIGEgY2xpY2sgZXZlbnQgZGlzcGF0Y2hlZCBmcm9tIHRoZSBpbnB1dCwgd2UgaGF2ZSB0byBjYXRjaCBpdCwgcHJvY2VzcyBhbmQgdGhlbiByZS1kaXNwYXRjaCBpdCBmdXJ0aGVyLlxuICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBpbiBvcmRlciB0byBzZXQgdGhlIHZhbHVlIHRvIHRoZSBjb21wb25lbnQgYmVmb3JlIGFueSBleHRlcm5hbCBsaXN0ZW5lcnMgd2lsbCByZWNlaXZlIGl0LlxuICAgICAgICAvLyBPdGhlcndpc2UgY2hlY2tib3ggbWlnaHQgYmUgb3V0IG9mIHN5bmMuXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5leHRWYWx1ZSgpO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBQb2ludGVyRXZlbnQoZXZlbnQudHlwZSwgZXZlbnQpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBCYXNlZCBvbiBjdXJyZW50IGNvbnRyb2wgdmFsdWUgc2V0cyBuZXcgY29udHJvbCBzdGF0ZS4gKi9cbiAgICBwcml2YXRlIF9zZXRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVxdWFsKHRoaXMuY2hlY2tib3hWYWx1ZSwgdGhpcy52YWx1ZXMudHJ1ZVZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja2JveFN0YXRlID0gJ2NoZWNrZWQnO1xuICAgICAgICB9IGVsc2UgaWYgKGVxdWFsKHRoaXMuY2hlY2tib3hWYWx1ZSwgdGhpcy52YWx1ZXMuZmFsc2VWYWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tib3hTdGF0ZSA9ICd1bmNoZWNrZWQnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHJpc3RhdGUgJiYgZXF1YWwodGhpcy5jaGVja2JveFZhbHVlLCB0aGlzLnZhbHVlcy50aGlyZFN0YXRlVmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrYm94U3RhdGUgPSAnaW5kZXRlcm1pbmF0ZSc7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuY2hlY2tib3hWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja2JveFN0YXRlID0gJ3VuY2hlY2tlZCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRvIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiBpbiBjb21wb25lbnQgKi9cbiAgICBwcml2YXRlIF9kZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2NoYW5nZURldGVjdG9yUmVmWydkZXN0cm95ZWQnXSkge1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGlucHV0XG4gICAgI2lucHV0RWxlbWVudFxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgY2xhc3M9XCJmZC1jaGVja2JveFwiXG4gICAgW2lkXT1cImlucHV0SWRcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlXCJcbiAgICBbY2hlY2tlZF09XCJpc0NoZWNrZWRcIlxuICAgIFthdHRyLnRhYmluZGV4XT1cInRhYkluZGV4VmFsdWVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZEJ5XCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbY2xhc3MuZmQtY2hlY2tib3gtLWNvbXBhY3RdPVwiY29tcGFjdFwiXG4gICAgW2NsYXNzXT1cInN0YXRlID8gJ2lzLScgKyBzdGF0ZSA6ICcnXCJcbiAgICAoY2xpY2spPVwiX29uSW5wdXRDbGljaygkZXZlbnQpXCJcbiAgICAoYmx1cik9XCJfb25CbHVyKClcIlxuICAgIChmb2N1cyk9XCJfb25Gb2N1cygpXCJcbi8+XG5cbjxsYWJlbFxuICAgIGNsYXNzPVwiZmQtY2hlY2tib3hfX2xhYmVsXCJcbiAgICAjbGFiZWxFbGVtZW50XG4gICAgW2Zvcl09XCJpbnB1dElkXCJcbiAgICBbY2xhc3NdPVwibGFiZWxDbGFzc1wiXG4gICAgW2F0dHIudGl0bGVdPVwidGl0bGVcIlxuICAgIFtjbGFzcy5mZC1jaGVja2JveF9fbGFiZWwtLWNvbXBhY3RdPVwiY29tcGFjdFwiXG4gICAgW2NsYXNzLmZkLWNoZWNrYm94X19sYWJlbC0tcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIChjbGljayk9XCJfb25MYWJlbENsaWNrKCRldmVudClcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJmZC1jaGVja2JveF9fbGFiZWwtY29udGFpbmVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1jaGVja2JveF9fdGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGFiZWxcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtY2hlY2tib3hfX3RleHRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9sYWJlbD5cbiJdfQ==
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY2hlY2tib3gvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY2hlY2tib3gvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUcsT0FBTyxLQUFLLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQUU1RSxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQW1CekIsTUFBTSxPQUFPLGlCQUFpQjtJQXVIMUIsY0FBYztJQUNkLFlBQ1csVUFBK0IsRUFDSCxnQkFBd0IsQ0FBQyxFQUNwRCxrQkFBcUMsRUFDckMsUUFBbUIsRUFDUCxzQkFBNkMsRUFDaEIsa0JBQXFDO1FBTC9FLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBQ0gsa0JBQWEsR0FBYixhQUFhLENBQVk7UUFDcEQsdUJBQWtCLEdBQWxCLGtCQUFrQixD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QkFDSixRQUNLLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFOzswQkE0SDVCLFNBQVM7MkJBQUMsZUFBZTs7MEJBR3pCLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1COzRDQTNIM0MsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGNBQWM7Z0JBS3pCLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjO2dCQUt6QixTQUFTO3NCQURSLEtBQUs7Z0JBS0YsS0FBSztzQkFEUixLQUFLO2dCQVVOLGNBQWM7c0JBRGIsS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFRRixNQUFNO3NCQURULEtBQUs7Z0JBVUcsUUFBUTtzQkFEaEIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBS3BCLE9BQU87c0JBRGYsV0FBVzt1QkFBQyxlQUFlO2dCQUlsQixXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGZENoZWNrYm94VmFsdWVzIH0gZnJvbSAnLi9mZC1jaGVja2JveC12YWx1ZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExJU1RfSVRFTV9DT01QT05FTlQsIExpc3RJdGVtSW50ZXJmYWNlLCBDb250ZW50RGVuc2l0eVNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1TdGF0ZXMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcbmltcG9ydCB7IEZEX0NIRUNLQk9YX1ZBTFVFU19ERUZBVUxUIH0gZnJvbSAnLi9mZC1jaGVja2JveC12YWx1ZXMuaW50ZXJmYWNlJztcblxubGV0IGNoZWNrYm94VW5pcXVlSWQgPSAwO1xuXG5leHBvcnQgdHlwZSBGZENoZWNrYm94VHlwZXMgPSAnY2hlY2tlZCcgfCAndW5jaGVja2VkJyB8ICdpbmRldGVybWluYXRlJyB8ICdmb3JjZS1jaGVja2VkJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1jaGVja2JveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDogeyAnW2F0dHIudGFiaW5kZXhdJzogJy0xJyB9XG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpXG4gICAgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdsYWJlbEVsZW1lbnQnKVxuICAgIGxhYmVsRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8qKiBTZXRzIHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHRoZSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsID0gJyc7XG5cbiAgICAvKiogQ3VycmVudCBzZWxlY3Rpb24gc3RhdGUgb2YgdGhlIGNoZWNrYm94IGNvbXBvbmVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrYm94VmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIFNldHMgdGhlIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZSB0byB0aGUgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbGxlZEJ5ID0gbnVsbDtcblxuICAgIC8qKiBTZXRzIHRoZSBgYXJpYS1kZXNjcmliZWRieWAgYXR0cmlidXRlIHRvIHRoZSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYURlc2NyaWJlZEJ5OiBzdHJpbmc7XG5cbiAgICAvKiogc2V0cyBjaGVja2JveCB0b29sdGlwICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIFNldHMgW2lkXSBwcm9wZXJ0eSBvZiBpbnB1dCwgYmluZHMgaW5wdXQgd2l0aCBpbnB1dCBsYWJlbCB1c2luZyBbZm9yXSBwcm9wZXJ0eS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlucHV0SWQgPSBgZmQtY2hlY2tib3gtJHtjaGVja2JveFVuaXF1ZUlkKyt9YDtcblxuICAgIC8qKiBTdGF0ZSBvZiBjb250cm9sLCBjaGFuZ2VzIHZpc3VhbCBhcHBlYXJhbmNlIG9mIGNvbnRyb2wuICovXG4gICAgQElucHV0KClcbiAgICBzdGF0ZT86IEZvcm1TdGF0ZXM7XG5cbiAgICAvKiogU2V0cyBbbmFtZV0gcHJvcGVydHkgb2YgaW5wdXQuICovXG4gICAgQElucHV0KClcbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogU2V0cyB0ZXh0IG9mIGNvbnRyb2wgbGFiZWwuICovXG4gICAgQElucHV0KClcbiAgICBsYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIEFsbG93cyB0byBkaXNhYmxlL2VuYWJsZSBjb250cm9sLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICAvKiogQWxsb3dzIHRvIG1pbmltaXplIGNvbnRyb2wgdG8gY29tcGFjdCBtb2RlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29tcGFjdD86IGJvb2xlYW47XG5cbiAgICAvKiogRW5hYmxlcyBjb250cm9scyB0aGlyZCBzdGF0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRyaXN0YXRlID0gZmFsc2U7XG5cbiAgICAvKiogQWxsb3dzIHRvIHByZXZlbnQgdXNlciBmcm9tIG1hbnVhbGx5IHNlbGVjdGluZyBjb250cm9scyB0aGlyZCBzdGF0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRyaXN0YXRlU2VsZWN0YWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIEFzc2lnbnMgZ2l2ZW4gY2xhc3MgdG8gY2hlY2tib3ggbGFiZWwgZWxlbWVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGFiZWxDbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIElmIGl0IGlzIG1hbmRhdG9yeSBmaWVsZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVxdWlyZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBTZXRzIHZhbHVlcyByZXR1cm5lZCBieSBjb250cm9sLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHZhbHVlcygpOiBGZENoZWNrYm94VmFsdWVzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlcztcbiAgICB9XG4gICAgc2V0IHZhbHVlcyhjaGVja2JveFZhbHVlczogRmRDaGVja2JveFZhbHVlcykge1xuICAgICAgICB0aGlzLl92YWx1ZXMgPSB7IC4uLkZEX0NIRUNLQk9YX1ZBTFVFU19ERUZBVUxULCAuLi4oY2hlY2tib3hWYWx1ZXMgPz8ge30pIH07XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBvc2l0aW9uJylcbiAgICByZWFkb25seSBwb3NpdGlvbiA9ICdyZWxhdGl2ZSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUub3V0bGluZScpXG4gICAgcmVhZG9ubHkgb3V0bGluZSA9ICdub25lJztcblxuICAgIC8qKiBFbWl0cyBldmVudCBvbiBmb2N1cyBjaGFuZ2UgKi9cbiAgICBAT3V0cHV0KCkgZm9jdXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBAaGlkZGVuIHZhbHVlcyByZXR1cm5lZCBieSBjb250cm9sLiAqL1xuICAgIHByaXZhdGUgX3ZhbHVlczogRmRDaGVja2JveFZhbHVlcyA9IHsgLi4uRkRfQ0hFQ0tCT1hfVkFMVUVTX0RFRkFVTFQgfTtcbiAgICAvKiogU3RvcmVzIGN1cnJlbnQgY2hlY2tib3ggdmFsdWUuICovXG4gICAgcHVibGljIGNoZWNrYm94VmFsdWU6IGFueTtcbiAgICAvKiogU3RvcmVzIGN1cnJlbnQgY2hlY2tib3ggc3RhdGUuICovXG4gICAgcHVibGljIGNoZWNrYm94U3RhdGU6IEZkQ2hlY2tib3hUeXBlcztcblxuICAgIC8qKiBAaGlkZGVuIFJlZmVyZW5jZSB0byBjYWxsYmFjayBwcm92aWRlZCBieSBGb3JtQ29udHJvbC4qL1xuICAgIHB1YmxpYyBvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7fTtcbiAgICAvKiogQGhpZGRlbiBSZWZlcmVuY2UgdG8gY2FsbGJhY2sgcHJvdmlkZWQgYnkgRm9ybUNvbnRyb2wuKi9cbiAgICBwdWJsaWMgb25WYWx1ZUNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIC8qKiBAaGlkZGVuIFVzZWQgdG8gZGVmaW5lIGlmIGNvbnRyb2wgaXMgaW4gJ2luZGV0ZXJtaW5hdGUnIHN0YXRlLiovXG4gICAgZ2V0IGlzSW5kZXRlcm1pbmF0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tib3hTdGF0ZSA9PT0gJ2luZGV0ZXJtaW5hdGUnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIFVzZWQgdG8gZGVmaW5lIGlmIGNvbnRyb2wgaXMgaW4gJ2NoZWNrZWQnIC8gJ3VuY2hlY2tlZCcgc3RhdGUuICovXG4gICAgZ2V0IGlzQ2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tib3hTdGF0ZSA9PT0gJ2NoZWNrZWQnIHx8IHRoaXMuY2hlY2tib3hTdGF0ZSA9PT0gJ2ZvcmNlLWNoZWNrZWQnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgICAgICBAQXR0cmlidXRlKCd0YWJJbmRleFZhbHVlJykgcHVibGljIHRhYkluZGV4VmFsdWU6IG51bWJlciA9IDAsXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb250ZW50RGVuc2l0eVNlcnZpY2U6IENvbnRlbnREZW5zaXR5U2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChMSVNUX0lURU1fQ09NUE9ORU5UKSBwcml2YXRlIF9saXN0SXRlbUNvbXBvbmVudDogTGlzdEl0ZW1JbnRlcmZhY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy50YWJJbmRleFZhbHVlID0gdGFiSW5kZXhWYWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21wYWN0ID09PSB1bmRlZmluZWQgJiYgdGhpcy5fY29udGVudERlbnNpdHlTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgICAgICB0aGlzLl9jb250ZW50RGVuc2l0eVNlcnZpY2UuX2lzQ29tcGFjdERlbnNpdHkuc3Vic2NyaWJlKChpc0NvbXBhY3QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wYWN0ID0gaXNDb21wYWN0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICAgICAqIC0gc2V0cyBuZXcgY29udHJvbCB2YWx1ZVxuICAgICAqIC0gdXBkYXRlcyBjb250cm9sIHN0YXRlXG4gICAgICovXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tib3hWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9zZXRTdGF0ZSgpO1xuICAgICAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIG1ldGhvZCAtIHNldHMgb25WYWx1ZUNoYW5nZSBjYWxsYmFjay4qL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgbWV0aG9kIC0gc2V0cyBvblRvdWNoZWQgY2FsbGJhY2suKi9cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQ2FsbGVkIGJ5IEZvcm1Db250cm9sIC0gdXNlZCB0byBkaXNhYmxlIC8gZW5hYmxlIGNvbnRyb2wuKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBCYXNlZCBvbiBjdXJyZW50IGNvbnRyb2wgc3RhdGU6XG4gICAgICogLSBzZXRzIG5leHQgY29udHJvbCB2YWx1ZVxuICAgICAqIC0gZW1pdHMgbmV3IGNvbnRyb2wgdmFsdWVcbiAgICAgKiAtIHVwZGF0ZXMgY29udHJvbCBzdGF0ZSBiYXNlZCBvbiBuZXcgY29udHJvbCB2YWx1ZVxuICAgICAqICovXG4gICAgbmV4dFZhbHVlKHByZXZpb3VzVmFsdWU/OiBGZENoZWNrYm94VHlwZXMpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoIChwcmV2aW91c1ZhbHVlIHx8IHRoaXMuY2hlY2tib3hTdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAnY2hlY2tlZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveFZhbHVlID0gdGhpcy52YWx1ZXMuZmFsc2VWYWx1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3VuY2hlY2tlZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveFZhbHVlID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmlzdGF0ZSAmJiB0aGlzLnRyaXN0YXRlU2VsZWN0YWJsZSA/IHRoaXMudmFsdWVzLnRoaXJkU3RhdGVWYWx1ZSA6IHRoaXMudmFsdWVzLnRydWVWYWx1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2luZGV0ZXJtaW5hdGUnOlxuICAgICAgICAgICAgY2FzZSAnZm9yY2UtY2hlY2tlZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveFZhbHVlID0gdGhpcy52YWx1ZXMudHJ1ZVZhbHVlO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2NoZWNrZWQnLCAndHJ1ZScpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrYm94VmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyaXN0YXRlICYmIHRoaXMudHJpc3RhdGVTZWxlY3RhYmxlID8gdGhpcy52YWx1ZXMudGhpcmRTdGF0ZVZhbHVlIDogdGhpcy52YWx1ZXMudHJ1ZVZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NldFN0YXRlKCk7XG4gICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZSh0aGlzLmNoZWNrYm94VmFsdWUpO1xuICAgICAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gaGFuZGxlcyBibHVyIGV2ZW50ICovXG4gICAgX29uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm9uVG91Y2hlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvY3VzQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgICAvKiogQGhpZGRlbiBoYW5kbGVzIGZvY3VzIGV2ZW50ICovXG4gICAgX29uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNDaGFuZ2UuZW1pdCh0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBoYW5kbGVzIGNsaWNrIG9uIHRoZSBsYWJlbCBhc3NvY2lhdGVkIHdpdGggbmF0aXZlIGNoZWNrYm94IGlucHV0ICovXG4gICAgX29uTGFiZWxDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gV2UgaGF2ZSB0byBzdG9wIHByb3BhZ2F0aW9uIGZvciBjbGljayBldmVudHMgb24gdGhlIGlucHV0IGxhYmVsLlxuICAgICAgICAvLyBCeSBkZWZhdWx0LCB3aGVuIGEgdXNlciBjbGlja3Mgb24gYSBsYWJlbCBlbGVtZW50LCBhIGdlbmVyYXRlZCBjbGljayBldmVudCB3aWxsIGJlXG4gICAgICAgIC8vIGRpc3BhdGNoZWQgb24gdGhlIGFzc29jaWF0ZWQgaW5wdXQgZWxlbWVudC4gVGhpcyB3aWxsIGxlYWQgdG8gZHVwbGljYXRlZCBcImNsaWNrXCIgZXZlbnQgZGlzcGF0Y2hlZCBmcm9tIHRoZSBjb21wb25lbnRcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gaGFuZGxlcyBjbGljayBvbiB0aGUgbmF0aXZlIGNoZWNrYm94IGlucHV0ICovXG4gICAgX29uSW5wdXRDbGljayhldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIFdoZW4gdGhlcmUncyBhIGNsaWNrIGV2ZW50IGRpc3BhdGNoZWQgZnJvbSB0aGUgaW5wdXQsIHdlIGhhdmUgdG8gY2F0Y2ggaXQsIHByb2Nlc3MgYW5kIHRoZW4gcmUtZGlzcGF0Y2ggaXQgZnVydGhlci5cbiAgICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgaW4gb3JkZXIgdG8gc2V0IHRoZSB2YWx1ZSB0byB0aGUgY29tcG9uZW50IGJlZm9yZSBhbnkgZXh0ZXJuYWwgbGlzdGVuZXJzIHdpbGwgcmVjZWl2ZSBpdC5cbiAgICAgICAgLy8gT3RoZXJ3aXNlIGNoZWNrYm94IG1pZ2h0IGJlIG91dCBvZiBzeW5jLlxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5uZXh0VmFsdWUoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgUG9pbnRlckV2ZW50KGV2ZW50LnR5cGUsIGV2ZW50KSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQmFzZWQgb24gY3VycmVudCBjb250cm9sIHZhbHVlIHNldHMgbmV3IGNvbnRyb2wgc3RhdGUuICovXG4gICAgcHJpdmF0ZSBfc2V0U3RhdGUoKTogdm9pZCB7XG4gICAgICAgIGlmIChlcXVhbCh0aGlzLmNoZWNrYm94VmFsdWUsIHRoaXMudmFsdWVzLnRydWVWYWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tib3hTdGF0ZSA9ICdjaGVja2VkJztcbiAgICAgICAgfSBlbHNlIGlmIChlcXVhbCh0aGlzLmNoZWNrYm94VmFsdWUsIHRoaXMudmFsdWVzLmZhbHNlVmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrYm94U3RhdGUgPSAndW5jaGVja2VkJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRyaXN0YXRlICYmIGVxdWFsKHRoaXMuY2hlY2tib3hWYWx1ZSwgdGhpcy52YWx1ZXMudGhpcmRTdGF0ZVZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja2JveFN0YXRlID0gJ2luZGV0ZXJtaW5hdGUnO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmNoZWNrYm94VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tib3hTdGF0ZSA9ICd1bmNoZWNrZWQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0byB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb24gaW4gY29tcG9uZW50ICovXG4gICAgcHJpdmF0ZSBfZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZlsnZGVzdHJveWVkJ10pIHtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxpbnB1dFxuICAgICNpbnB1dEVsZW1lbnRcbiAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgIGNsYXNzPVwiZmQtY2hlY2tib3hcIlxuICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtpbmRldGVybWluYXRlXT1cImlzSW5kZXRlcm1pbmF0ZVwiXG4gICAgW2NoZWNrZWRdPVwiaXNDaGVja2VkXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJJbmRleFZhbHVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeVwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2NsYXNzLmZkLWNoZWNrYm94LS1jb21wYWN0XT1cImNvbXBhY3RcIlxuICAgIFtjbGFzc109XCJzdGF0ZSA/ICdpcy0nICsgc3RhdGUgOiAnJ1wiXG4gICAgKGNsaWNrKT1cIl9vbklucHV0Q2xpY2soJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwiX29uQmx1cigpXCJcbiAgICAoZm9jdXMpPVwiX29uRm9jdXMoKVwiXG4vPlxuXG48bGFiZWxcbiAgICBjbGFzcz1cImZkLWNoZWNrYm94X19sYWJlbFwiXG4gICAgI2xhYmVsRWxlbWVudFxuICAgIFtmb3JdPVwiaW5wdXRJZFwiXG4gICAgW2NsYXNzXT1cImxhYmVsQ2xhc3NcIlxuICAgIFthdHRyLnRpdGxlXT1cInRpdGxlXCJcbiAgICBbY2xhc3MuZmQtY2hlY2tib3hfX2xhYmVsLS1jb21wYWN0XT1cImNvbXBhY3RcIlxuICAgIFtjbGFzcy5mZC1jaGVja2JveF9fbGFiZWwtLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAoY2xpY2spPVwiX29uTGFiZWxDbGljaygkZXZlbnQpXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtY2hlY2tib3hfX2xhYmVsLWNvbnRhaW5lclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtY2hlY2tib3hfX3RleHRcIj5cbiAgICAgICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxhYmVsXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWNoZWNrYm94X190ZXh0XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvbGFiZWw+XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-checkbox.mjs","sources":["../../../../../libs/core/src/lib/checkbox/checkbox/fd-checkbox-values.interface.ts","../../../../../libs/core/src/lib/checkbox/checkbox/checkbox.component.ts","../../../../../libs/core/src/lib/checkbox/checkbox/checkbox.component.html","../../../../../libs/core/src/lib/checkbox/checkbox.module.ts","../../../../../libs/core/src/lib/checkbox/fundamental-ngx-core-checkbox.ts"],"sourcesContent":["export interface FdCheckboxValues {\n trueValue?: any;\n falseValue?: any;\n thirdStateValue?: any;\n}\n\nexport const FD_CHECKBOX_VALUES_DEFAULT: Readonly<FdCheckboxValues> = {\n trueValue: true,\n falseValue: false,\n thirdStateValue: null\n};\n","import {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FdCheckboxValues } from './fd-checkbox-values.interface';\nimport { LIST_ITEM_COMPONENT, ListItemInterface, ContentDensityService } from '@fundamental-ngx/core/utils';\nimport equal from 'fast-deep-equal';\nimport { Subscription } from 'rxjs';\nimport { FormStates } from '@fundamental-ngx/core/shared';\nimport { FD_CHECKBOX_VALUES_DEFAULT } from './fd-checkbox-values.interface';\n\nlet checkboxUniqueId = 0;\n\nexport type FdCheckboxTypes = 'checked' | 'unchecked' | 'indeterminate' | 'force-checked';\n\n@Component({\n selector: 'fd-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true\n }\n ],\n host: { '[attr.tabindex]': '-1' }\n})\nexport class CheckboxComponent implements ControlValueAccessor, OnInit, OnDestroy {\n /** @hidden */\n @ViewChild('inputElement')\n inputElement: ElementRef<HTMLInputElement>;\n\n /** @hidden */\n @ViewChild('labelElement')\n labelElement: ElementRef;\n\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabel = '';\n\n /** Current selection state of the checkbox component */\n @Input()\n set value(value: any) {\n this.writeValue(value);\n }\n get value(): any {\n return this.checkboxValue;\n }\n\n /** Sets the `aria-labelledby` attribute to the element. */\n @Input()\n ariaLabelledBy = null;\n\n /** Sets the `aria-describedby` attribute to the element. */\n @Input()\n ariaDescribedBy: string;\n\n /** sets checkbox tooltip */\n @Input()\n title: string;\n\n /** Sets [id] property of input, binds input with input label using [for] property. */\n @Input()\n inputId = `fd-checkbox-${checkboxUniqueId++}`;\n\n /** State of control, changes visual appearance of control. */\n @Input()\n state: FormStates;\n\n /** Sets [name] property of input. */\n @Input()\n name: string;\n\n /** Sets text of control label. */\n @Input()\n label: string;\n\n /** Allows to disable/enable control. */\n @Input()\n disabled: boolean;\n\n /** Allows to minimize control to compact mode. */\n @Input()\n compact?: boolean;\n\n /** Enables controls third state. */\n @Input()\n tristate = false;\n\n /** Allows to prevent user from manually selecting controls third state. */\n @Input()\n tristateSelectable = false;\n\n /** Assigns given class to checkbox label element */\n @Input()\n labelClass: string;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** Sets values returned by control. */\n @Input()\n get values(): FdCheckboxValues {\n return this._values;\n }\n set values(checkboxValues: FdCheckboxValues) {\n this._values = { ...FD_CHECKBOX_VALUES_DEFAULT, ...(checkboxValues ?? {}) };\n }\n\n /** @hidden */\n @HostBinding('style.position')\n readonly position = 'relative';\n\n /** @hidden */\n @HostBinding('style.outline')\n readonly outline = 'none';\n\n /** Emits event on focus change */\n @Output() focusChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden values returned by control. */\n private _values: FdCheckboxValues = { ...FD_CHECKBOX_VALUES_DEFAULT };\n /** Stores current checkbox value. */\n public checkboxValue: any;\n /** Stores current checkbox state. */\n public checkboxState: FdCheckboxTypes;\n\n /** @hidden Reference to callback provided by FormControl.*/\n public onTouched = (): void => {};\n /** @hidden Reference to callback provided by FormControl.*/\n public onValueChange: (value: any) => void = () => {};\n\n /** @hidden Used to define if control is in 'indeterminate' state.*/\n get isIndeterminate(): boolean {\n return this.checkboxState === 'indeterminate';\n }\n\n /** @hidden Used to define if control is in 'checked' / 'unchecked' state. */\n get isChecked(): boolean {\n return this.checkboxState === 'checked' || this.checkboxState === 'force-checked';\n }\n\n /** @hidden */\n constructor(\n public elementRef: ElementRef<Element>,\n @Attribute('tabIndexValue') public tabIndexValue: number = 0,\n private _changeDetectorRef: ChangeDetectorRef,\n private renderer: Renderer2,\n @Optional() private _contentDensityService: ContentDensityService,\n @Optional() @Inject(LIST_ITEM_COMPONENT) private _listItemComponent: ListItemInterface\n ) {\n this.tabIndexValue = tabIndexValue;\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._changeDetectorRef.markForCheck();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /**\n * @hidden ControlValueAccessor interface\n * - sets new control value\n * - updates control state\n */\n writeValue(value: any): void {\n this.checkboxValue = value;\n this._setState();\n this._detectChanges();\n }\n\n /** @hidden ControlValueAccessor interface method - sets onValueChange callback.*/\n registerOnChange(fn: any): void {\n this.onValueChange = fn;\n }\n\n /** @hidden ControlValueAccessor interface method - sets onTouched callback.*/\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden Called by FormControl - used to disable / enable control.*/\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n this._detectChanges();\n }\n\n /**\n * @hidden\n * Based on current control state:\n * - sets next control value\n * - emits new control value\n * - updates control state based on new control value\n * */\n nextValue(previousValue?: FdCheckboxTypes): void {\n switch (previousValue || this.checkboxState) {\n case 'checked':\n this.checkboxValue = this.values.falseValue;\n break;\n case 'unchecked':\n this.checkboxValue =\n this.tristate && this.tristateSelectable ? this.values.thirdStateValue : this.values.trueValue;\n break;\n case 'indeterminate':\n case 'force-checked':\n this.checkboxValue = this.values.trueValue;\n this.renderer.setProperty(this.inputElement.nativeElement, 'checked', 'true');\n break;\n default:\n this.checkboxValue =\n this.tristate && this.tristateSelectable ? this.values.thirdStateValue : this.values.trueValue;\n break;\n }\n this._setState();\n this.onValueChange(this.checkboxValue);\n this._detectChanges();\n }\n\n /** @hidden handles blur event */\n _onBlur(): void {\n if (typeof this.onTouched === 'function') {\n this.onTouched();\n }\n this.focusChange.emit(false);\n }\n /** @hidden handles focus event */\n _onFocus(): void {\n this.focusChange.emit(true);\n }\n\n /** @hidden handles click on the label associated with native checkbox input */\n _onLabelClick(event: Event): void {\n // We have to stop propagation for click events on the input label.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. This will lead to duplicated \"click\" event dispatched from the component\n event.stopPropagation();\n }\n\n /** @hidden handles click on the native checkbox input */\n _onInputClick(event: PointerEvent): void {\n // When there's a click event dispatched from the input, we have to catch it, process and then re-dispatch it further.\n // This is needed in order to set the value to the component before any external listeners will receive it.\n // Otherwise checkbox might be out of sync.\n event.stopPropagation();\n this.nextValue();\n this.elementRef.nativeElement.dispatchEvent(new PointerEvent(event.type, event));\n }\n\n /** @hidden Based on current control value sets new control state. */\n private _setState(): void {\n if (equal(this.checkboxValue, this.values.trueValue)) {\n this.checkboxState = 'checked';\n } else if (equal(this.checkboxValue, this.values.falseValue)) {\n this.checkboxState = 'unchecked';\n } else if (this.tristate && equal(this.checkboxValue, this.values.thirdStateValue)) {\n this.checkboxState = 'indeterminate';\n } else if (!this.checkboxValue) {\n this.checkboxState = 'unchecked';\n }\n }\n\n /** Method to trigger change detection in component */\n private _detectChanges(): void {\n if (!this._changeDetectorRef['destroyed']) {\n this._changeDetectorRef.detectChanges();\n }\n }\n}\n","<input\n #inputElement\n type=\"checkbox\"\n class=\"fd-checkbox\"\n [id]=\"inputId\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [indeterminate]=\"isIndeterminate\"\n [checked]=\"isChecked\"\n [attr.tabindex]=\"tabIndexValue\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [class.fd-checkbox--compact]=\"compact\"\n [class]=\"state ? 'is-' + state : ''\"\n (click)=\"_onInputClick($event)\"\n (blur)=\"_onBlur()\"\n (focus)=\"_onFocus()\"\n/>\n\n<label\n class=\"fd-checkbox__label\"\n #labelElement\n [for]=\"inputId\"\n [class]=\"labelClass\"\n [attr.title]=\"title\"\n [class.fd-checkbox__label--compact]=\"compact\"\n [class.fd-checkbox__label--required]=\"required\"\n (click)=\"_onLabelClick($event)\"\n>\n <div class=\"fd-checkbox__label-container\">\n <ng-container *ngIf=\"label\">\n <span class=\"fd-checkbox__text\">\n {{ label }}\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!label\">\n <span class=\"fd-checkbox__text\">\n <ng-content></ng-content>\n </span>\n </ng-container>\n </div>\n</label>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [CheckboxComponent],\n imports: [CommonModule, FormsModule],\n exports: [CheckboxComponent]\n})\nexport class CheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-checkbox.mjs","sources":["../../../../../libs/core/src/lib/checkbox/checkbox/fd-checkbox-values.interface.ts","../../../../../libs/core/src/lib/checkbox/checkbox/checkbox.component.ts","../../../../../libs/core/src/lib/checkbox/checkbox/checkbox.component.html","../../../../../libs/core/src/lib/checkbox/checkbox.module.ts","../../../../../libs/core/src/lib/checkbox/fundamental-ngx-core-checkbox.ts"],"sourcesContent":["export interface FdCheckboxValues {\n trueValue?: any;\n falseValue?: any;\n thirdStateValue?: any;\n}\n\nexport const FD_CHECKBOX_VALUES_DEFAULT: Readonly<FdCheckboxValues> = {\n trueValue: true,\n falseValue: false,\n thirdStateValue: null\n};\n","import {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FdCheckboxValues } from './fd-checkbox-values.interface';\nimport { LIST_ITEM_COMPONENT, ListItemInterface, ContentDensityService } from '@fundamental-ngx/core/utils';\nimport equal from 'fast-deep-equal';\nimport { Subscription } from 'rxjs';\nimport { FormStates } from '@fundamental-ngx/core/shared';\nimport { FD_CHECKBOX_VALUES_DEFAULT } from './fd-checkbox-values.interface';\n\nlet checkboxUniqueId = 0;\n\nexport type FdCheckboxTypes = 'checked' | 'unchecked' | 'indeterminate' | 'force-checked';\n\n@Component({\n selector: 'fd-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true\n }\n ],\n host: { '[attr.tabindex]': '-1' }\n})\nexport class CheckboxComponent implements ControlValueAccessor, OnInit, OnDestroy {\n /** @hidden */\n @ViewChild('inputElement')\n inputElement: ElementRef<HTMLInputElement>;\n\n /** @hidden */\n @ViewChild('labelElement')\n labelElement: ElementRef;\n\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabel = '';\n\n /** Current selection state of the checkbox component */\n @Input()\n set value(value: any) {\n this.writeValue(value);\n }\n get value(): any {\n return this.checkboxValue;\n }\n\n /** Sets the `aria-labelledby` attribute to the element. */\n @Input()\n ariaLabelledBy = null;\n\n /** Sets the `aria-describedby` attribute to the element. */\n @Input()\n ariaDescribedBy: string;\n\n /** sets checkbox tooltip */\n @Input()\n title: string;\n\n /** Sets [id] property of input, binds input with input label using [for] property. */\n @Input()\n inputId = `fd-checkbox-${checkboxUniqueId++}`;\n\n /** State of control, changes visual appearance of control. */\n @Input()\n state?: FormStates;\n\n /** Sets [name] property of input. */\n @Input()\n name: string;\n\n /** Sets text of control label. */\n @Input()\n label: string;\n\n /** Allows to disable/enable control. */\n @Input()\n disabled: boolean;\n\n /** Allows to minimize control to compact mode. */\n @Input()\n compact?: boolean;\n\n /** Enables controls third state. */\n @Input()\n tristate = false;\n\n /** Allows to prevent user from manually selecting controls third state. */\n @Input()\n tristateSelectable = false;\n\n /** Assigns given class to checkbox label element */\n @Input()\n labelClass: string;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** Sets values returned by control. */\n @Input()\n get values(): FdCheckboxValues {\n return this._values;\n }\n set values(checkboxValues: FdCheckboxValues) {\n this._values = { ...FD_CHECKBOX_VALUES_DEFAULT, ...(checkboxValues ?? {}) };\n }\n\n /** @hidden */\n @HostBinding('style.position')\n readonly position = 'relative';\n\n /** @hidden */\n @HostBinding('style.outline')\n readonly outline = 'none';\n\n /** Emits event on focus change */\n @Output() focusChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden values returned by control. */\n private _values: FdCheckboxValues = { ...FD_CHECKBOX_VALUES_DEFAULT };\n /** Stores current checkbox value. */\n public checkboxValue: any;\n /** Stores current checkbox state. */\n public checkboxState: FdCheckboxTypes;\n\n /** @hidden Reference to callback provided by FormControl.*/\n public onTouched = (): void => {};\n /** @hidden Reference to callback provided by FormControl.*/\n public onValueChange: (value: any) => void = () => {};\n\n /** @hidden Used to define if control is in 'indeterminate' state.*/\n get isIndeterminate(): boolean {\n return this.checkboxState === 'indeterminate';\n }\n\n /** @hidden Used to define if control is in 'checked' / 'unchecked' state. */\n get isChecked(): boolean {\n return this.checkboxState === 'checked' || this.checkboxState === 'force-checked';\n }\n\n /** @hidden */\n constructor(\n public elementRef: ElementRef<Element>,\n @Attribute('tabIndexValue') public tabIndexValue: number = 0,\n private _changeDetectorRef: ChangeDetectorRef,\n private renderer: Renderer2,\n @Optional() private _contentDensityService: ContentDensityService,\n @Optional() @Inject(LIST_ITEM_COMPONENT) private _listItemComponent: ListItemInterface\n ) {\n this.tabIndexValue = tabIndexValue;\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._changeDetectorRef.markForCheck();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /**\n * @hidden ControlValueAccessor interface\n * - sets new control value\n * - updates control state\n */\n writeValue(value: any): void {\n this.checkboxValue = value;\n this._setState();\n this._detectChanges();\n }\n\n /** @hidden ControlValueAccessor interface method - sets onValueChange callback.*/\n registerOnChange(fn: any): void {\n this.onValueChange = fn;\n }\n\n /** @hidden ControlValueAccessor interface method - sets onTouched callback.*/\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden Called by FormControl - used to disable / enable control.*/\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n this._detectChanges();\n }\n\n /**\n * @hidden\n * Based on current control state:\n * - sets next control value\n * - emits new control value\n * - updates control state based on new control value\n * */\n nextValue(previousValue?: FdCheckboxTypes): void {\n switch (previousValue || this.checkboxState) {\n case 'checked':\n this.checkboxValue = this.values.falseValue;\n break;\n case 'unchecked':\n this.checkboxValue =\n this.tristate && this.tristateSelectable ? this.values.thirdStateValue : this.values.trueValue;\n break;\n case 'indeterminate':\n case 'force-checked':\n this.checkboxValue = this.values.trueValue;\n this.renderer.setProperty(this.inputElement.nativeElement, 'checked', 'true');\n break;\n default:\n this.checkboxValue =\n this.tristate && this.tristateSelectable ? this.values.thirdStateValue : this.values.trueValue;\n break;\n }\n this._setState();\n this.onValueChange(this.checkboxValue);\n this._detectChanges();\n }\n\n /** @hidden handles blur event */\n _onBlur(): void {\n if (typeof this.onTouched === 'function') {\n this.onTouched();\n }\n this.focusChange.emit(false);\n }\n /** @hidden handles focus event */\n _onFocus(): void {\n this.focusChange.emit(true);\n }\n\n /** @hidden handles click on the label associated with native checkbox input */\n _onLabelClick(event: Event): void {\n // We have to stop propagation for click events on the input label.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. This will lead to duplicated \"click\" event dispatched from the component\n event.stopPropagation();\n }\n\n /** @hidden handles click on the native checkbox input */\n _onInputClick(event: PointerEvent): void {\n // When there's a click event dispatched from the input, we have to catch it, process and then re-dispatch it further.\n // This is needed in order to set the value to the component before any external listeners will receive it.\n // Otherwise checkbox might be out of sync.\n event.stopPropagation();\n this.nextValue();\n this.elementRef.nativeElement.dispatchEvent(new PointerEvent(event.type, event));\n }\n\n /** @hidden Based on current control value sets new control state. */\n private _setState(): void {\n if (equal(this.checkboxValue, this.values.trueValue)) {\n this.checkboxState = 'checked';\n } else if (equal(this.checkboxValue, this.values.falseValue)) {\n this.checkboxState = 'unchecked';\n } else if (this.tristate && equal(this.checkboxValue, this.values.thirdStateValue)) {\n this.checkboxState = 'indeterminate';\n } else if (!this.checkboxValue) {\n this.checkboxState = 'unchecked';\n }\n }\n\n /** Method to trigger change detection in component */\n private _detectChanges(): void {\n if (!this._changeDetectorRef['destroyed']) {\n this._changeDetectorRef.detectChanges();\n }\n }\n}\n","<input\n #inputElement\n type=\"checkbox\"\n class=\"fd-checkbox\"\n [id]=\"inputId\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [indeterminate]=\"isIndeterminate\"\n [checked]=\"isChecked\"\n [attr.tabindex]=\"tabIndexValue\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [class.fd-checkbox--compact]=\"compact\"\n [class]=\"state ? 'is-' + state : ''\"\n (click)=\"_onInputClick($event)\"\n (blur)=\"_onBlur()\"\n (focus)=\"_onFocus()\"\n/>\n\n<label\n class=\"fd-checkbox__label\"\n #labelElement\n [for]=\"inputId\"\n [class]=\"labelClass\"\n [attr.title]=\"title\"\n [class.fd-checkbox__label--compact]=\"compact\"\n [class.fd-checkbox__label--required]=\"required\"\n (click)=\"_onLabelClick($event)\"\n>\n <div class=\"fd-checkbox__label-container\">\n <ng-container *ngIf=\"label\">\n <span class=\"fd-checkbox__text\">\n {{ label }}\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!label\">\n <span class=\"fd-checkbox__text\">\n <ng-content></ng-content>\n </span>\n </ng-container>\n </div>\n</label>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [CheckboxComponent],\n imports: [CommonModule, FormsModule],\n exports: [CheckboxComponent]\n})\nexport class CheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-checkbox.mjs","sources":["../../../../../libs/core/src/lib/checkbox/checkbox/fd-checkbox-values.interface.ts","../../../../../libs/core/src/lib/checkbox/checkbox/checkbox.component.ts","../../../../../libs/core/src/lib/checkbox/checkbox/checkbox.component.html","../../../../../libs/core/src/lib/checkbox/checkbox.module.ts","../../../../../libs/core/src/lib/checkbox/fundamental-ngx-core-checkbox.ts"],"sourcesContent":["export interface FdCheckboxValues {\n trueValue?: any;\n falseValue?: any;\n thirdStateValue?: any;\n}\n\nexport const FD_CHECKBOX_VALUES_DEFAULT: Readonly<FdCheckboxValues> = {\n trueValue: true,\n falseValue: false,\n thirdStateValue: null\n};\n","import {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FdCheckboxValues } from './fd-checkbox-values.interface';\nimport { LIST_ITEM_COMPONENT, ListItemInterface, ContentDensityService } from '@fundamental-ngx/core/utils';\nimport equal from 'fast-deep-equal';\nimport { Subscription } from 'rxjs';\nimport { FormStates } from '@fundamental-ngx/core/shared';\nimport { FD_CHECKBOX_VALUES_DEFAULT } from './fd-checkbox-values.interface';\n\nlet checkboxUniqueId = 0;\n\nexport type FdCheckboxTypes = 'checked' | 'unchecked' | 'indeterminate' | 'force-checked';\n\n@Component({\n selector: 'fd-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true\n }\n ],\n host: { '[attr.tabindex]': '-1' }\n})\nexport class CheckboxComponent implements ControlValueAccessor, OnInit, OnDestroy {\n /** @hidden */\n @ViewChild('inputElement')\n inputElement: ElementRef<HTMLInputElement>;\n\n /** @hidden */\n @ViewChild('labelElement')\n labelElement: ElementRef;\n\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabel = '';\n\n /** Current selection state of the checkbox component */\n @Input()\n set value(value: any) {\n this.writeValue(value);\n }\n get value(): any {\n return this.checkboxValue;\n }\n\n /** Sets the `aria-labelledby` attribute to the element. */\n @Input()\n ariaLabelledBy = null;\n\n /** Sets the `aria-describedby` attribute to the element. */\n @Input()\n ariaDescribedBy: string;\n\n /** sets checkbox tooltip */\n @Input()\n title: string;\n\n /** Sets [id] property of input, binds input with input label using [for] property. */\n @Input()\n inputId = `fd-checkbox-${checkboxUniqueId++}`;\n\n /** State of control, changes visual appearance of control. */\n @Input()\n state: FormStates;\n\n /** Sets [name] property of input. */\n @Input()\n name: string;\n\n /** Sets text of control label. */\n @Input()\n label: string;\n\n /** Allows to disable/enable control. */\n @Input()\n disabled: boolean;\n\n /** Allows to minimize control to compact mode. */\n @Input()\n compact?: boolean;\n\n /** Enables controls third state. */\n @Input()\n tristate = false;\n\n /** Allows to prevent user from manually selecting controls third state. */\n @Input()\n tristateSelectable = false;\n\n /** Assigns given class to checkbox label element */\n @Input()\n labelClass: string;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** Sets values returned by control. */\n @Input()\n get values(): FdCheckboxValues {\n return this._values;\n }\n set values(checkboxValues: FdCheckboxValues) {\n this._values = { ...FD_CHECKBOX_VALUES_DEFAULT, ...(checkboxValues ?? {}) };\n }\n\n /** @hidden */\n @HostBinding('style.position')\n readonly position = 'relative';\n\n /** @hidden */\n @HostBinding('style.outline')\n readonly outline = 'none';\n\n /** Emits event on focus change */\n @Output() focusChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden values returned by control. */\n private _values: FdCheckboxValues = { ...FD_CHECKBOX_VALUES_DEFAULT };\n /** Stores current checkbox value. */\n public checkboxValue: any;\n /** Stores current checkbox state. */\n public checkboxState: FdCheckboxTypes;\n\n /** @hidden Reference to callback provided by FormControl.*/\n public onTouched = (): void => {};\n /** @hidden Reference to callback provided by FormControl.*/\n public onValueChange: (value: any) => void = () => {};\n\n /** @hidden Used to define if control is in 'indeterminate' state.*/\n get isIndeterminate(): boolean {\n return this.checkboxState === 'indeterminate';\n }\n\n /** @hidden Used to define if control is in 'checked' / 'unchecked' state. */\n get isChecked(): boolean {\n return this.checkboxState === 'checked' || this.checkboxState === 'force-checked';\n }\n\n /** @hidden */\n constructor(\n public elementRef: ElementRef<Element>,\n @Attribute('tabIndexValue') public tabIndexValue: number = 0,\n private _changeDetectorRef: ChangeDetectorRef,\n private renderer: Renderer2,\n @Optional() private _contentDensityService: ContentDensityService,\n @Optional() @Inject(LIST_ITEM_COMPONENT) private _listItemComponent: ListItemInterface\n ) {\n this.tabIndexValue = tabIndexValue;\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._changeDetectorRef.markForCheck();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /**\n * @hidden ControlValueAccessor interface\n * - sets new control value\n * - updates control state\n */\n writeValue(value: any): void {\n this.checkboxValue = value;\n this._setState();\n this._detectChanges();\n }\n\n /** @hidden ControlValueAccessor interface method - sets onValueChange callback.*/\n registerOnChange(fn: any): void {\n this.onValueChange = fn;\n }\n\n /** @hidden ControlValueAccessor interface method - sets onTouched callback.*/\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden Called by FormControl - used to disable / enable control.*/\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n this._detectChanges();\n }\n\n /**\n * @hidden\n * Based on current control state:\n * - sets next control value\n * - emits new control value\n * - updates control state based on new control value\n * */\n nextValue(previousValue?: FdCheckboxTypes): void {\n switch (previousValue || this.checkboxState) {\n case 'checked':\n this.checkboxValue = this.values.falseValue;\n break;\n case 'unchecked':\n this.checkboxValue =\n this.tristate && this.tristateSelectable ? this.values.thirdStateValue : this.values.trueValue;\n break;\n case 'indeterminate':\n case 'force-checked':\n this.checkboxValue = this.values.trueValue;\n this.renderer.setProperty(this.inputElement.nativeElement, 'checked', 'true');\n break;\n default:\n this.checkboxValue =\n this.tristate && this.tristateSelectable ? this.values.thirdStateValue : this.values.trueValue;\n break;\n }\n this._setState();\n this.onValueChange(this.checkboxValue);\n this._detectChanges();\n }\n\n /** @hidden handles blur event */\n _onBlur(): void {\n if (typeof this.onTouched === 'function') {\n this.onTouched();\n }\n this.focusChange.emit(false);\n }\n /** @hidden handles focus event */\n _onFocus(): void {\n this.focusChange.emit(true);\n }\n\n /** @hidden handles click on the label associated with native checkbox input */\n _onLabelClick(event: Event): void {\n // We have to stop propagation for click events on the input label.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. This will lead to duplicated \"click\" event dispatched from the component\n event.stopPropagation();\n }\n\n /** @hidden handles click on the native checkbox input */\n _onInputClick(event: PointerEvent): void {\n // When there's a click event dispatched from the input, we have to catch it, process and then re-dispatch it further.\n // This is needed in order to set the value to the component before any external listeners will receive it.\n // Otherwise checkbox might be out of sync.\n event.stopPropagation();\n this.nextValue();\n this.elementRef.nativeElement.dispatchEvent(new PointerEvent(event.type, event));\n }\n\n /** @hidden Based on current control value sets new control state. */\n private _setState(): void {\n if (equal(this.checkboxValue, this.values.trueValue)) {\n this.checkboxState = 'checked';\n } else if (equal(this.checkboxValue, this.values.falseValue)) {\n this.checkboxState = 'unchecked';\n } else if (this.tristate && equal(this.checkboxValue, this.values.thirdStateValue)) {\n this.checkboxState = 'indeterminate';\n } else if (!this.checkboxValue) {\n this.checkboxState = 'unchecked';\n }\n }\n\n /** Method to trigger change detection in component */\n private _detectChanges(): void {\n if (!this._changeDetectorRef['destroyed']) {\n this._changeDetectorRef.detectChanges();\n }\n }\n}\n","<input\n #inputElement\n type=\"checkbox\"\n class=\"fd-checkbox\"\n [id]=\"inputId\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [indeterminate]=\"isIndeterminate\"\n [checked]=\"isChecked\"\n [attr.tabindex]=\"tabIndexValue\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [class.fd-checkbox--compact]=\"compact\"\n [class]=\"state ? 'is-' + state : ''\"\n (click)=\"_onInputClick($event)\"\n (blur)=\"_onBlur()\"\n (focus)=\"_onFocus()\"\n/>\n\n<label\n class=\"fd-checkbox__label\"\n #labelElement\n [for]=\"inputId\"\n [class]=\"labelClass\"\n [attr.title]=\"title\"\n [class.fd-checkbox__label--compact]=\"compact\"\n [class.fd-checkbox__label--required]=\"required\"\n (click)=\"_onLabelClick($event)\"\n>\n <div class=\"fd-checkbox__label-container\">\n <ng-container *ngIf=\"label\">\n <span class=\"fd-checkbox__text\">\n {{ label }}\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!label\">\n <span class=\"fd-checkbox__text\">\n <ng-content></ng-content>\n </span>\n </ng-container>\n </div>\n</label>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [CheckboxComponent],\n imports: [CommonModule, FormsModule],\n exports: [CheckboxComponent]\n})\nexport class CheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-checkbox.mjs","sources":["../../../../../libs/core/src/lib/checkbox/checkbox/fd-checkbox-values.interface.ts","../../../../../libs/core/src/lib/checkbox/checkbox/checkbox.component.ts","../../../../../libs/core/src/lib/checkbox/checkbox/checkbox.component.html","../../../../../libs/core/src/lib/checkbox/checkbox.module.ts","../../../../../libs/core/src/lib/checkbox/fundamental-ngx-core-checkbox.ts"],"sourcesContent":["export interface FdCheckboxValues {\n trueValue?: any;\n falseValue?: any;\n thirdStateValue?: any;\n}\n\nexport const FD_CHECKBOX_VALUES_DEFAULT: Readonly<FdCheckboxValues> = {\n trueValue: true,\n falseValue: false,\n thirdStateValue: null\n};\n","import {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FdCheckboxValues } from './fd-checkbox-values.interface';\nimport { LIST_ITEM_COMPONENT, ListItemInterface, ContentDensityService } from '@fundamental-ngx/core/utils';\nimport equal from 'fast-deep-equal';\nimport { Subscription } from 'rxjs';\nimport { FormStates } from '@fundamental-ngx/core/shared';\nimport { FD_CHECKBOX_VALUES_DEFAULT } from './fd-checkbox-values.interface';\n\nlet checkboxUniqueId = 0;\n\nexport type FdCheckboxTypes = 'checked' | 'unchecked' | 'indeterminate' | 'force-checked';\n\n@Component({\n selector: 'fd-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true\n }\n ],\n host: { '[attr.tabindex]': '-1' }\n})\nexport class CheckboxComponent implements ControlValueAccessor, OnInit, OnDestroy {\n /** @hidden */\n @ViewChild('inputElement')\n inputElement: ElementRef<HTMLInputElement>;\n\n /** @hidden */\n @ViewChild('labelElement')\n labelElement: ElementRef;\n\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabel = '';\n\n /** Current selection state of the checkbox component */\n @Input()\n set value(value: any) {\n this.writeValue(value);\n }\n get value(): any {\n return this.checkboxValue;\n }\n\n /** Sets the `aria-labelledby` attribute to the element. */\n @Input()\n ariaLabelledBy = null;\n\n /** Sets the `aria-describedby` attribute to the element. */\n @Input()\n ariaDescribedBy: string;\n\n /** sets checkbox tooltip */\n @Input()\n title: string;\n\n /** Sets [id] property of input, binds input with input label using [for] property. */\n @Input()\n inputId = `fd-checkbox-${checkboxUniqueId++}`;\n\n /** State of control, changes visual appearance of control. */\n @Input()\n state?: FormStates;\n\n /** Sets [name] property of input. */\n @Input()\n name: string;\n\n /** Sets text of control label. */\n @Input()\n label: string;\n\n /** Allows to disable/enable control. */\n @Input()\n disabled: boolean;\n\n /** Allows to minimize control to compact mode. */\n @Input()\n compact?: boolean;\n\n /** Enables controls third state. */\n @Input()\n tristate = false;\n\n /** Allows to prevent user from manually selecting controls third state. */\n @Input()\n tristateSelectable = false;\n\n /** Assigns given class to checkbox label element */\n @Input()\n labelClass: string;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** Sets values returned by control. */\n @Input()\n get values(): FdCheckboxValues {\n return this._values;\n }\n set values(checkboxValues: FdCheckboxValues) {\n this._values = { ...FD_CHECKBOX_VALUES_DEFAULT, ...(checkboxValues ?? {}) };\n }\n\n /** @hidden */\n @HostBinding('style.position')\n readonly position = 'relative';\n\n /** @hidden */\n @HostBinding('style.outline')\n readonly outline = 'none';\n\n /** Emits event on focus change */\n @Output() focusChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden values returned by control. */\n private _values: FdCheckboxValues = { ...FD_CHECKBOX_VALUES_DEFAULT };\n /** Stores current checkbox value. */\n public checkboxValue: any;\n /** Stores current checkbox state. */\n public checkboxState: FdCheckboxTypes;\n\n /** @hidden Reference to callback provided by FormControl.*/\n public onTouched = (): void => {};\n /** @hidden Reference to callback provided by FormControl.*/\n public onValueChange: (value: any) => void = () => {};\n\n /** @hidden Used to define if control is in 'indeterminate' state.*/\n get isIndeterminate(): boolean {\n return this.checkboxState === 'indeterminate';\n }\n\n /** @hidden Used to define if control is in 'checked' / 'unchecked' state. */\n get isChecked(): boolean {\n return this.checkboxState === 'checked' || this.checkboxState === 'force-checked';\n }\n\n /** @hidden */\n constructor(\n public elementRef: ElementRef<Element>,\n @Attribute('tabIndexValue') public tabIndexValue: number = 0,\n private _changeDetectorRef: ChangeDetectorRef,\n private renderer: Renderer2,\n @Optional() private _contentDensityService: ContentDensityService,\n @Optional() @Inject(LIST_ITEM_COMPONENT) private _listItemComponent: ListItemInterface\n ) {\n this.tabIndexValue = tabIndexValue;\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._changeDetectorRef.markForCheck();\n })\n );\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /**\n * @hidden ControlValueAccessor interface\n * - sets new control value\n * - updates control state\n */\n writeValue(value: any): void {\n this.checkboxValue = value;\n this._setState();\n this._detectChanges();\n }\n\n /** @hidden ControlValueAccessor interface method - sets onValueChange callback.*/\n registerOnChange(fn: any): void {\n this.onValueChange = fn;\n }\n\n /** @hidden ControlValueAccessor interface method - sets onTouched callback.*/\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden Called by FormControl - used to disable / enable control.*/\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n this._detectChanges();\n }\n\n /**\n * @hidden\n * Based on current control state:\n * - sets next control value\n * - emits new control value\n * - updates control state based on new control value\n * */\n nextValue(previousValue?: FdCheckboxTypes): void {\n switch (previousValue || this.checkboxState) {\n case 'checked':\n this.checkboxValue = this.values.falseValue;\n break;\n case 'unchecked':\n this.checkboxValue =\n this.tristate && this.tristateSelectable ? this.values.thirdStateValue : this.values.trueValue;\n break;\n case 'indeterminate':\n case 'force-checked':\n this.checkboxValue = this.values.trueValue;\n this.renderer.setProperty(this.inputElement.nativeElement, 'checked', 'true');\n break;\n default:\n this.checkboxValue =\n this.tristate && this.tristateSelectable ? this.values.thirdStateValue : this.values.trueValue;\n break;\n }\n this._setState();\n this.onValueChange(this.checkboxValue);\n this._detectChanges();\n }\n\n /** @hidden handles blur event */\n _onBlur(): void {\n if (typeof this.onTouched === 'function') {\n this.onTouched();\n }\n this.focusChange.emit(false);\n }\n /** @hidden handles focus event */\n _onFocus(): void {\n this.focusChange.emit(true);\n }\n\n /** @hidden handles click on the label associated with native checkbox input */\n _onLabelClick(event: Event): void {\n // We have to stop propagation for click events on the input label.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. This will lead to duplicated \"click\" event dispatched from the component\n event.stopPropagation();\n }\n\n /** @hidden handles click on the native checkbox input */\n _onInputClick(event: PointerEvent): void {\n // When there's a click event dispatched from the input, we have to catch it, process and then re-dispatch it further.\n // This is needed in order to set the value to the component before any external listeners will receive it.\n // Otherwise checkbox might be out of sync.\n event.stopPropagation();\n this.nextValue();\n this.elementRef.nativeElement.dispatchEvent(new PointerEvent(event.type, event));\n }\n\n /** @hidden Based on current control value sets new control state. */\n private _setState(): void {\n if (equal(this.checkboxValue, this.values.trueValue)) {\n this.checkboxState = 'checked';\n } else if (equal(this.checkboxValue, this.values.falseValue)) {\n this.checkboxState = 'unchecked';\n } else if (this.tristate && equal(this.checkboxValue, this.values.thirdStateValue)) {\n this.checkboxState = 'indeterminate';\n } else if (!this.checkboxValue) {\n this.checkboxState = 'unchecked';\n }\n }\n\n /** Method to trigger change detection in component */\n private _detectChanges(): void {\n if (!this._changeDetectorRef['destroyed']) {\n this._changeDetectorRef.detectChanges();\n }\n }\n}\n","<input\n #inputElement\n type=\"checkbox\"\n class=\"fd-checkbox\"\n [id]=\"inputId\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [indeterminate]=\"isIndeterminate\"\n [checked]=\"isChecked\"\n [attr.tabindex]=\"tabIndexValue\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [class.fd-checkbox--compact]=\"compact\"\n [class]=\"state ? 'is-' + state : ''\"\n (click)=\"_onInputClick($event)\"\n (blur)=\"_onBlur()\"\n (focus)=\"_onFocus()\"\n/>\n\n<label\n class=\"fd-checkbox__label\"\n #labelElement\n [for]=\"inputId\"\n [class]=\"labelClass\"\n [attr.title]=\"title\"\n [class.fd-checkbox__label--compact]=\"compact\"\n [class.fd-checkbox__label--required]=\"required\"\n (click)=\"_onLabelClick($event)\"\n>\n <div class=\"fd-checkbox__label-container\">\n <ng-container *ngIf=\"label\">\n <span class=\"fd-checkbox__text\">\n {{ label }}\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!label\">\n <span class=\"fd-checkbox__text\">\n <ng-content></ng-content>\n </span>\n </ng-container>\n </div>\n</label>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [CheckboxComponent],\n imports: [CommonModule, FormsModule],\n exports: [CheckboxComponent]\n})\nexport class CheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/checkbox",
3
- "version": "0.33.5-rc.43",
3
+ "version": "0.33.5-rc.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -71,7 +71,7 @@ export declare class ComboboxComponent implements ComboboxInterface, ControlValu
71
71
  * The state of the form control - applies css classes.
72
72
  * Can be `success`, `error`, `warning`, `information` or blank for default.
73
73
  */
74
- state: FormStates;
74
+ state?: FormStates;
75
75
  /**
76
76
  * The template with which to display the individual listed items.
77
77
  * Use it by passing an ng-template with implicit content. See examples for more info.