@onepercentio/one-ui 0.29.9 → 1.0.1

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/dist/components/AdaptiveDialog/AdaptiveDialog.d.ts +2 -1
  2. package/dist/components/AdaptiveDialog/AdaptiveDialog.js +1 -1
  3. package/dist/components/Button/Button.d.ts +3 -2
  4. package/dist/components/Button/Button.js +1 -1
  5. package/dist/components/EmailInput/EmailInput.d.ts +0 -1
  6. package/dist/components/Form/Form.d.ts +15 -49
  7. package/dist/components/Form/{v2/Form.hook.d.ts → Form.hook.d.ts} +1 -1
  8. package/dist/components/Form/Form.hook.js +233 -0
  9. package/dist/components/Form/Form.js +67 -123
  10. package/{dist-ts/components/Form/v2 → dist/components/Form}/Form.types.d.ts +1 -0
  11. package/dist/components/Form/Form.types.js +40 -0
  12. package/{dist-ts/components/Form/v2 → dist/components/Form}/FormField/Extensions/DateField/DateField.d.ts +3 -1
  13. package/dist/components/Form/FormField/Extensions/DateField/DateField.js +71 -0
  14. package/dist/components/Form/FormField/Extensions/DateField/index.js +26 -0
  15. package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.js +90 -0
  16. package/dist/components/Form/FormField/Extensions/PhoneField/index.js +26 -0
  17. package/dist/components/Form/FormField/FormField.js +276 -0
  18. package/{dist-ts/components/Form/v2 → dist/components/Form}/FormField/FormField.types.d.ts +8 -6
  19. package/dist/components/Form/FormField/FormField.types.js +12 -0
  20. package/dist/components/Form/FormField/index.js +26 -0
  21. package/dist/components/Form/index.js +1 -1
  22. package/dist/components/Input/Input.d.ts +0 -6
  23. package/dist/components/Input/Input.js +9 -20
  24. package/dist/components/Input/Input.module.scss +0 -32
  25. package/dist/components/LinkToId/LinkToId.d.ts +3 -2
  26. package/dist/components/LinkToId/LinkToId.js +1 -1
  27. package/dist/components/PasswordInput/PasswordInput.d.ts +0 -1
  28. package/dist/components/Radio/Radio.d.ts +1 -0
  29. package/dist/components/Radio/Radio.js +2 -1
  30. package/dist/components/SectionContainer/SectionContainer.js +1 -1
  31. package/dist/components/Select/Select.js +1 -2
  32. package/dist/components/Spacing/Spacing.d.ts +2 -1
  33. package/dist/components/Spacing/Spacing.js +1 -1
  34. package/dist/components/Tabs/Tabs.js +5 -3
  35. package/dist/components/Text/Text.d.ts +5 -4
  36. package/dist/components/Text/Text.js +2 -2
  37. package/dist/components/Text/Text.module.scss +3 -71
  38. package/dist/context/AsyncProcess.d.ts +5 -4
  39. package/dist/context/AsyncProcess.js +1 -1
  40. package/dist/context/OneUIProvider.d.ts +37 -22
  41. package/dist/context/OneUIProvider.js +1 -1
  42. package/dist/hooks/useHero.js +6 -2
  43. package/dist/hooks/useShortIntl.d.ts +2 -1
  44. package/dist/hooks/useShortIntl.js +1 -1
  45. package/dist/index.d.ts +7 -10
  46. package/dist/index.js +154 -180
  47. package/dist/index.preprocess.js +4 -3
  48. package/dist/type-utils.d.ts +11 -1
  49. package/dist/type-utils.js +1 -1
  50. package/dist/utility.d.js +1 -17
  51. package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.d.ts +2 -1
  52. package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.js.map +1 -1
  53. package/dist-ts/components/Button/Button.d.ts +3 -2
  54. package/dist-ts/components/Button/Button.js.map +1 -1
  55. package/dist-ts/components/EmailInput/EmailInput.d.ts +0 -1
  56. package/dist-ts/components/Form/Form.d.ts +15 -49
  57. package/dist-ts/components/Form/{v2/Form.hook.d.ts → Form.hook.d.ts} +1 -1
  58. package/dist-ts/components/Form/{v2/Form.hook.js → Form.hook.js} +9 -5
  59. package/dist-ts/components/Form/Form.hook.js.map +1 -0
  60. package/dist-ts/components/Form/Form.js +37 -66
  61. package/dist-ts/components/Form/Form.js.map +1 -1
  62. package/{dist/components/Form/v2 → dist-ts/components/Form}/Form.types.d.ts +1 -0
  63. package/dist-ts/components/Form/Form.types.js.map +1 -0
  64. package/{dist/components/Form/v2 → dist-ts/components/Form}/FormField/Extensions/DateField/DateField.d.ts +3 -1
  65. package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/DateField/DateField.js +6 -6
  66. package/dist-ts/components/Form/FormField/Extensions/DateField/DateField.js.map +1 -0
  67. package/dist-ts/components/Form/FormField/Extensions/DateField/index.js.map +1 -0
  68. package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.js +4 -4
  69. package/dist-ts/components/Form/FormField/Extensions/PhoneField/PhoneField.js.map +1 -0
  70. package/dist-ts/components/Form/FormField/Extensions/PhoneField/index.js.map +1 -0
  71. package/dist-ts/components/Form/{v2/FormField → FormField}/FormField.js +15 -16
  72. package/dist-ts/components/Form/FormField/FormField.js.map +1 -0
  73. package/{dist/components/Form/v2 → dist-ts/components/Form}/FormField/FormField.types.d.ts +8 -6
  74. package/dist-ts/components/Form/FormField/FormField.types.js.map +1 -0
  75. package/dist-ts/components/Form/FormField/index.js.map +1 -0
  76. package/dist-ts/components/Form/index.js.map +1 -1
  77. package/dist-ts/components/Input/Input.d.ts +0 -6
  78. package/dist-ts/components/Input/Input.js +4 -15
  79. package/dist-ts/components/Input/Input.js.map +1 -1
  80. package/dist-ts/components/Input/Input.module.scss +0 -32
  81. package/dist-ts/components/LinkToId/LinkToId.d.ts +3 -2
  82. package/dist-ts/components/LinkToId/LinkToId.js.map +1 -1
  83. package/dist-ts/components/PasswordInput/PasswordInput.d.ts +0 -1
  84. package/dist-ts/components/Radio/Radio.d.ts +1 -0
  85. package/dist-ts/components/Radio/Radio.js +1 -1
  86. package/dist-ts/components/Radio/Radio.js.map +1 -1
  87. package/dist-ts/components/SectionContainer/SectionContainer.js.map +1 -1
  88. package/dist-ts/components/Select/Select.js +1 -1
  89. package/dist-ts/components/Select/Select.js.map +1 -1
  90. package/dist-ts/components/Spacing/Spacing.d.ts +2 -1
  91. package/dist-ts/components/Spacing/Spacing.js.map +1 -1
  92. package/dist-ts/components/Tabs/Tabs.js +4 -2
  93. package/dist-ts/components/Tabs/Tabs.js.map +1 -1
  94. package/dist-ts/components/Text/Text.d.ts +5 -4
  95. package/dist-ts/components/Text/Text.js +1 -1
  96. package/dist-ts/components/Text/Text.js.map +1 -1
  97. package/dist-ts/components/Text/Text.module.scss +3 -71
  98. package/dist-ts/context/AsyncProcess.d.ts +5 -4
  99. package/dist-ts/context/AsyncProcess.js.map +1 -1
  100. package/dist-ts/context/OneUIProvider.d.ts +37 -22
  101. package/dist-ts/context/OneUIProvider.js.map +1 -1
  102. package/dist-ts/hooks/useHero.js +3 -1
  103. package/dist-ts/hooks/useHero.js.map +1 -1
  104. package/dist-ts/hooks/useShortIntl.d.ts +2 -1
  105. package/dist-ts/hooks/useShortIntl.js.map +1 -1
  106. package/dist-ts/index.d.ts +7 -10
  107. package/dist-ts/index.js +7 -10
  108. package/dist-ts/index.js.map +1 -1
  109. package/dist-ts/index.preprocess.js +16 -12
  110. package/dist-ts/index.preprocess.js.map +1 -1
  111. package/dist-ts/type-utils.d.ts +11 -1
  112. package/package.json +9 -6
  113. package/tsconfig.prod.json +1 -0
  114. package/dist/components/Form/v2/Form.d.ts +0 -18
  115. package/dist/components/Form/v2/Form.hook.js +0 -230
  116. package/dist/components/Form/v2/Form.js +0 -63
  117. package/dist/components/Form/v2/Form.types.js +0 -40
  118. package/dist/components/Form/v2/FormField/Extensions/DateField/DateField.js +0 -68
  119. package/dist/components/Form/v2/FormField/Extensions/DateField/index.js +0 -26
  120. package/dist/components/Form/v2/FormField/Extensions/PhoneField/PhoneField.js +0 -90
  121. package/dist/components/Form/v2/FormField/Extensions/PhoneField/index.js +0 -26
  122. package/dist/components/Form/v2/FormField/FormField.js +0 -281
  123. package/dist/components/Form/v2/FormField/FormField.module.scss +0 -0
  124. package/dist/components/Form/v2/FormField/FormField.types.js +0 -12
  125. package/dist/components/Form/v2/FormField/index.js +0 -26
  126. package/dist/components/Form/v2/index.d.ts +0 -2
  127. package/dist/components/Form/v2/index.js +0 -26
  128. package/dist/hooks/useForm.d.ts +0 -16
  129. package/dist/hooks/useForm.js +0 -38
  130. package/dist/test.d.ts +0 -0
  131. package/dist/test.js +0 -2
  132. package/dist-ts/components/Form/v2/Form.d.ts +0 -18
  133. package/dist-ts/components/Form/v2/Form.hook.js.map +0 -1
  134. package/dist-ts/components/Form/v2/Form.js +0 -31
  135. package/dist-ts/components/Form/v2/Form.js.map +0 -1
  136. package/dist-ts/components/Form/v2/Form.types.js.map +0 -1
  137. package/dist-ts/components/Form/v2/FormField/Extensions/DateField/DateField.js.map +0 -1
  138. package/dist-ts/components/Form/v2/FormField/Extensions/DateField/index.js.map +0 -1
  139. package/dist-ts/components/Form/v2/FormField/Extensions/PhoneField/PhoneField.js.map +0 -1
  140. package/dist-ts/components/Form/v2/FormField/Extensions/PhoneField/index.js.map +0 -1
  141. package/dist-ts/components/Form/v2/FormField/FormField.js.map +0 -1
  142. package/dist-ts/components/Form/v2/FormField/FormField.module.scss +0 -0
  143. package/dist-ts/components/Form/v2/FormField/FormField.types.js.map +0 -1
  144. package/dist-ts/components/Form/v2/FormField/index.js.map +0 -1
  145. package/dist-ts/components/Form/v2/index.d.ts +0 -2
  146. package/dist-ts/components/Form/v2/index.js +0 -3
  147. package/dist-ts/components/Form/v2/index.js.map +0 -1
  148. package/dist-ts/hooks/useForm.d.ts +0 -16
  149. package/dist-ts/hooks/useForm.js +0 -27
  150. package/dist-ts/hooks/useForm.js.map +0 -1
  151. package/dist-ts/test.d.ts +0 -0
  152. package/dist-ts/test.js +0 -2
  153. package/dist-ts/test.js.map +0 -1
  154. /package/dist/components/Form/{v2/Form.module.scss → Form.module.scss} +0 -0
  155. /package/dist/components/Form/{v2/FormField → FormField}/Extensions/DateField/DateField.module.scss +0 -0
  156. /package/dist/components/Form/{v2/FormField → FormField}/Extensions/DateField/index.d.ts +0 -0
  157. /package/dist/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.d.ts +0 -0
  158. /package/dist/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.module.scss +0 -0
  159. /package/dist/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/index.d.ts +0 -0
  160. /package/dist/components/Form/{v2/FormField → FormField}/FormField.d.ts +0 -0
  161. /package/dist/components/Form/{v2/FormField → FormField}/index.d.ts +0 -0
  162. /package/dist-ts/components/Form/{v2/Form.module.scss → Form.module.scss} +0 -0
  163. /package/dist-ts/components/Form/{v2/Form.types.js → Form.types.js} +0 -0
  164. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/DateField/DateField.module.scss +0 -0
  165. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/DateField/index.d.ts +0 -0
  166. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/DateField/index.js +0 -0
  167. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.d.ts +0 -0
  168. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.module.scss +0 -0
  169. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/index.d.ts +0 -0
  170. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/index.js +0 -0
  171. /package/dist-ts/components/Form/{v2/FormField → FormField}/FormField.d.ts +0 -0
  172. /package/dist-ts/components/Form/{v2/FormField → FormField}/FormField.types.js +0 -0
  173. /package/dist-ts/components/Form/{v2/FormField → FormField}/index.d.ts +0 -0
  174. /package/dist-ts/components/Form/{v2/FormField → FormField}/index.js +0 -0
@@ -1,9 +1,10 @@
1
1
  import { PropsWithChildren } from "react";
2
+ import { FromOnePercentUtility } from "../../type-utils";
2
3
  /**
3
4
  * This component implements a generic drawer that displays it as a drawer on mobile and as a modal on desktop
4
5
  **/
5
6
  export default function AdaptiveDialog({ variant, onClose, open, className, onClickOut, children, onClosed, inline, }: PropsWithChildren<{
6
- variant?: OnepercentUtility.UIElements.AdaptiveDialogVariants;
7
+ variant?: FromOnePercentUtility<'UIElements.AdaptiveDialogVariants'>;
7
8
  className?: string;
8
9
  open: boolean;
9
10
  onClose?: () => void;
@@ -74,4 +74,4 @@ function AdaptiveDialog(_ref) {
74
74
  }), children)));
75
75
  return isVisible || open ? inline ? content : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_reactDom.default.createPortal(content, document.body)) : null;
76
76
  }
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0FkYXB0aXZlRGlhbG9nTW9kdWxlIiwiX011dGFibGVIYW1idXJnZXJCdXR0b24iLCJfU2Nyb2xsQW5kRm9jdXNMb2NrIiwiX09uZVVJUHJvdmlkZXIiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJBZGFwdGl2ZURpYWxvZyIsIl9yZWYiLCJ2YXJpYW50Iiwib25DbG9zZSIsIm9wZW4iLCJjbGFzc05hbWUiLCJvbkNsaWNrT3V0IiwiY2hpbGRyZW4iLCJvbkNsb3NlZCIsImlubGluZSIsInJvb3REaXZSZWYiLCJ1c2VSZWYiLCJpc1Zpc2libGUiLCJzZXRJc1Zpc2libGUiLCJ1c2VTdGF0ZSIsImV4cGFuZGVkIiwic2V0RXhwYW5kZWQiLCJ2YXJpYW50Q2xhc3MiLCJ1c2VPbmVVSUNvbmZpZyIsImNvbmNhdCIsInVzZUVmZmVjdCIsInRvZ2dsZVZpc2JpbGl0eSIsImFuaW1hdGlvbk5hbWUiLCJTdHlsZXMiLCJiYWNrZHJvcERpc21pc3MiLCJ0YXJnZXQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY3VycmVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJnbG9iYWxDbGFzc05hbWUiLCJiYWNrZHJvcCIsImRpYWxvZyIsImNvbnRlbnQiLCJjcmVhdGVFbGVtZW50IiwicmVmIiwiY2xvc2UiLCJvbkNsaWNrIiwib25BbmltYXRpb25FbmQiLCJfcmVmMiIsImN1cnJlbnRUYXJnZXQiLCJzdHlsZSIsInBvaW50ZXJFdmVudHMiLCJjb250YWluZXIiLCJzdG9wUHJvcGFnYXRpb24iLCJjbG9zZUJ0biIsInN0YXRlIiwic2l6ZSIsInAiLCJGcmFnbWVudCIsIlJlYWN0RE9NIiwiY3JlYXRlUG9ydGFsIiwiZG9jdW1lbnQiLCJib2R5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQWRhcHRpdmVEaWFsb2cvQWRhcHRpdmVEaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3RET00gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi9BZGFwdGl2ZURpYWxvZy5tb2R1bGUuc2Nzc1wiO1xuaW1wb3J0IE11dGFibGVIYW1idXJnZXJCdXR0b24gZnJvbSBcIi4uL011dGFibGVIYW1idXJnZXJCdXR0b25cIjtcbmltcG9ydCBTY3JvbGxBbmRGb2N1c0xvY2sgZnJvbSBcIi4uL3V0aWxpdGFyeS9TY3JvbGxBbmRGb2N1c0xvY2tcIjtcbmltcG9ydCB7IHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGltcGxlbWVudHMgYSBnZW5lcmljIGRyYXdlciB0aGF0IGRpc3BsYXlzIGl0IGFzIGEgZHJhd2VyIG9uIG1vYmlsZSBhbmQgYXMgYSBtb2RhbCBvbiBkZXNrdG9wXG4gKiovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBBZGFwdGl2ZURpYWxvZyh7XG4gIHZhcmlhbnQgPSBcImRlZmF1bHRcIixcbiAgb25DbG9zZSxcbiAgb3BlbiA9IGZhbHNlLFxuICBjbGFzc05hbWUgPSBcIlwiLFxuICBvbkNsaWNrT3V0LFxuICBjaGlsZHJlbixcbiAgb25DbG9zZWQsXG4gIGlubGluZSA9IGZhbHNlLFxufTogUHJvcHNXaXRoQ2hpbGRyZW48e1xuICB2YXJpYW50PzogT25lcGVyY2VudFV0aWxpdHkuVUlFbGVtZW50cy5BZGFwdGl2ZURpYWxvZ1ZhcmlhbnRzO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIG9wZW46IGJvb2xlYW47XG4gIG9uQ2xvc2U/OiAoKSA9PiB2b2lkO1xuICBvbkNsaWNrT3V0PzogKCkgPT4gdm9pZDtcbiAgb25DbG9zZWQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogSW5kaWNhdGVzIHRoaXMgcmVuZGVyaW5nIHdpbGwgd3JpdGUgdGhlIGh0bWwgaW5zaWRlIHRoZSBjdXJyZW50IHBvc2l0aW9uIG9uIGRvbS5cbiAgICogSWYgb21pdHRlZCBvciBmYWxzZSwgaXQgd2lsbCByZW5kZXIgb24gdGhlIGRvY3VtZW50IGJvZHksIHRvIHByZXZlbnQgc3R5bGUgYmxlZWRpbmcgKi9cbiAgaW5saW5lPzogYm9vbGVhbjtcbn0+KSB7XG4gIGNvbnN0IHJvb3REaXZSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBbaXNWaXNpYmxlLCBzZXRJc1Zpc2libGVdID0gdXNlU3RhdGUob3Blbik7XG4gIGNvbnN0IFtleHBhbmRlZCwgc2V0RXhwYW5kZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB2YXJpYW50Q2xhc3MgPSB1c2VPbmVVSUNvbmZpZyhcbiAgICBgY29tcG9uZW50LmFkYXB0aXZlRGlhbG9nLnZhcmlhbnQuJHt2YXJpYW50fWAsXG4gICAgXCJcIlxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4pIHtcbiAgICAgIHNldElzVmlzaWJsZSh0cnVlKTtcbiAgICAgIGNvbnN0IHRvZ2dsZVZpc2JpbGl0eSA9IChlOiBBbmltYXRpb25FdmVudCkgPT4ge1xuICAgICAgICBpZiAoZS5hbmltYXRpb25OYW1lID09PSBTdHlsZXMuYmFja2Ryb3BEaXNtaXNzKSB7XG4gICAgICAgICAgb25DbG9zZWQ/LigpO1xuICAgICAgICAgIHNldElzVmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgKGUudGFyZ2V0ISBhcyBIVE1MRGl2RWxlbWVudCkucmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAgIFwiYW5pbWF0aW9uZW5kXCIsXG4gICAgICAgICAgICB0b2dnbGVWaXNiaWxpdHlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgcm9vdERpdlJlZi5jdXJyZW50IS5hZGRFdmVudExpc3RlbmVyKFwiYW5pbWF0aW9uZW5kXCIsIHRvZ2dsZVZpc2JpbGl0eSk7XG4gICAgfVxuICB9LCBbb3Blbl0pO1xuXG4gIGNvbnN0IGdsb2JhbENsYXNzTmFtZSA9IHtcbiAgICBiYWNrZHJvcDogdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuYWRhcHRpdmVEaWFsb2cuYmFja2Ryb3BDbGFzc05hbWVcIiwgXCJcIiksXG4gICAgZGlhbG9nOiB1c2VPbmVVSUNvbmZpZyhcImNvbXBvbmVudC5hZGFwdGl2ZURpYWxvZy5kaWFsb2dDbGFzc05hbWVcIiwgXCJcIiksXG4gIH07XG4gIGNvbnN0IGNvbnRlbnQgPSAoXG4gICAgPGRpdlxuICAgICAgcmVmPXtyb290RGl2UmVmfVxuICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZXMuYmFja2Ryb3B9ICR7b3BlbiA/IFN0eWxlcy5vcGVuIDogU3R5bGVzLmNsb3NlfSAke1xuICAgICAgICBleHBhbmRlZCA/IFN0eWxlcy5leHBhbmRlZCA6IFwiXCJcbiAgICAgIH0gJHtnbG9iYWxDbGFzc05hbWUuYmFja2Ryb3B9ICR7dmFyaWFudENsYXNzfWB9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrT3V0fVxuICAgICAgb25BbmltYXRpb25FbmQ9eyh7IHRhcmdldCwgY3VycmVudFRhcmdldCB9KSA9PiB7XG4gICAgICAgIGlmICh0YXJnZXQgPT09IGN1cnJlbnRUYXJnZXQpXG4gICAgICAgICAgKHRhcmdldCBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUucG9pbnRlckV2ZW50cyA9IFwiaW5pdGlhbFwiO1xuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGVzLmNvbnRhaW5lcn0gJHtjbGFzc05hbWV9ICR7Z2xvYmFsQ2xhc3NOYW1lLmRpYWxvZ31gfVxuICAgICAgICBvbkNsaWNrPXsoZSkgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgID5cbiAgICAgICAgPFNjcm9sbEFuZEZvY3VzTG9jayBvcGVuPXtvcGVufT5cbiAgICAgICAgICB7b25DbG9zZSAmJiAoXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT17U3R5bGVzLmNsb3NlQnRufSBvbkNsaWNrPXtvbkNsb3NlfT5cbiAgICAgICAgICAgICAgPE11dGFibGVIYW1idXJnZXJCdXR0b24gc3RhdGU9XCJjbG9zZWRcIiBzaXplPXsyNH0gLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdiBvbkNsaWNrPXsoKSA9PiBzZXRFeHBhbmRlZCgocCkgPT4gIXApfSAvPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TY3JvbGxBbmRGb2N1c0xvY2s+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcblxuICByZXR1cm4gaXNWaXNpYmxlIHx8IG9wZW4gPyAoXG4gICAgaW5saW5lID8gKFxuICAgICAgY29udGVudFxuICAgICkgOiAoXG4gICAgICA8PntSZWFjdERPTS5jcmVhdGVQb3J0YWwoY29udGVudCwgZG9jdW1lbnQuYm9keSl9PC8+XG4gICAgKVxuICApIDogbnVsbDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcscUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLHVCQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxtQkFBQSxHQUFBSCxzQkFBQSxD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
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0FkYXB0aXZlRGlhbG9nTW9kdWxlIiwiX011dGFibGVIYW1idXJnZXJCdXR0b24iLCJfU2Nyb2xsQW5kRm9jdXNMb2NrIiwiX09uZVVJUHJvdmlkZXIiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJBZGFwdGl2ZURpYWxvZyIsIl9yZWYiLCJ2YXJpYW50Iiwib25DbG9zZSIsIm9wZW4iLCJjbGFzc05hbWUiLCJvbkNsaWNrT3V0IiwiY2hpbGRyZW4iLCJvbkNsb3NlZCIsImlubGluZSIsInJvb3REaXZSZWYiLCJ1c2VSZWYiLCJpc1Zpc2libGUiLCJzZXRJc1Zpc2libGUiLCJ1c2VTdGF0ZSIsImV4cGFuZGVkIiwic2V0RXhwYW5kZWQiLCJ2YXJpYW50Q2xhc3MiLCJ1c2VPbmVVSUNvbmZpZyIsImNvbmNhdCIsInVzZUVmZmVjdCIsInRvZ2dsZVZpc2JpbGl0eSIsImFuaW1hdGlvbk5hbWUiLCJTdHlsZXMiLCJiYWNrZHJvcERpc21pc3MiLCJ0YXJnZXQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY3VycmVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJnbG9iYWxDbGFzc05hbWUiLCJiYWNrZHJvcCIsImRpYWxvZyIsImNvbnRlbnQiLCJjcmVhdGVFbGVtZW50IiwicmVmIiwiY2xvc2UiLCJvbkNsaWNrIiwib25BbmltYXRpb25FbmQiLCJfcmVmMiIsImN1cnJlbnRUYXJnZXQiLCJzdHlsZSIsInBvaW50ZXJFdmVudHMiLCJjb250YWluZXIiLCJzdG9wUHJvcGFnYXRpb24iLCJjbG9zZUJ0biIsInN0YXRlIiwic2l6ZSIsInAiLCJGcmFnbWVudCIsIlJlYWN0RE9NIiwiY3JlYXRlUG9ydGFsIiwiZG9jdW1lbnQiLCJib2R5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQWRhcHRpdmVEaWFsb2cvQWRhcHRpdmVEaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3RET00gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi9BZGFwdGl2ZURpYWxvZy5tb2R1bGUuc2Nzc1wiO1xuaW1wb3J0IE11dGFibGVIYW1idXJnZXJCdXR0b24gZnJvbSBcIi4uL011dGFibGVIYW1idXJnZXJCdXR0b25cIjtcbmltcG9ydCBTY3JvbGxBbmRGb2N1c0xvY2sgZnJvbSBcIi4uL3V0aWxpdGFyeS9TY3JvbGxBbmRGb2N1c0xvY2tcIjtcbmltcG9ydCB7IHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuaW1wb3J0IHsgRnJvbU9uZVBlcmNlbnRVdGlsaXR5IH0gZnJvbSBcIi4uLy4uL3R5cGUtdXRpbHNcIjtcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpbXBsZW1lbnRzIGEgZ2VuZXJpYyBkcmF3ZXIgdGhhdCBkaXNwbGF5cyBpdCBhcyBhIGRyYXdlciBvbiBtb2JpbGUgYW5kIGFzIGEgbW9kYWwgb24gZGVza3RvcFxuICoqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQWRhcHRpdmVEaWFsb2coe1xuICB2YXJpYW50ID0gXCJkZWZhdWx0XCIsXG4gIG9uQ2xvc2UsXG4gIG9wZW4gPSBmYWxzZSxcbiAgY2xhc3NOYW1lID0gXCJcIixcbiAgb25DbGlja091dCxcbiAgY2hpbGRyZW4sXG4gIG9uQ2xvc2VkLFxuICBpbmxpbmUgPSBmYWxzZSxcbn06IFByb3BzV2l0aENoaWxkcmVuPHtcbiAgdmFyaWFudD86IEZyb21PbmVQZXJjZW50VXRpbGl0eTwnVUlFbGVtZW50cy5BZGFwdGl2ZURpYWxvZ1ZhcmlhbnRzJz47XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgb3BlbjogYm9vbGVhbjtcbiAgb25DbG9zZT86ICgpID0+IHZvaWQ7XG4gIG9uQ2xpY2tPdXQ/OiAoKSA9PiB2b2lkO1xuICBvbkNsb3NlZD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhpcyByZW5kZXJpbmcgd2lsbCB3cml0ZSB0aGUgaHRtbCBpbnNpZGUgdGhlIGN1cnJlbnQgcG9zaXRpb24gb24gZG9tLlxuICAgKiBJZiBvbWl0dGVkIG9yIGZhbHNlLCBpdCB3aWxsIHJlbmRlciBvbiB0aGUgZG9jdW1lbnQgYm9keSwgdG8gcHJldmVudCBzdHlsZSBibGVlZGluZyAqL1xuICBpbmxpbmU/OiBib29sZWFuO1xufT4pIHtcbiAgY29uc3Qgcm9vdERpdlJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IFtpc1Zpc2libGUsIHNldElzVmlzaWJsZV0gPSB1c2VTdGF0ZShvcGVuKTtcbiAgY29uc3QgW2V4cGFuZGVkLCBzZXRFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHZhcmlhbnRDbGFzcyA9IHVzZU9uZVVJQ29uZmlnKFxuICAgIGBjb21wb25lbnQuYWRhcHRpdmVEaWFsb2cudmFyaWFudC4ke3ZhcmlhbnR9YCxcbiAgICBcIlwiXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob3Blbikge1xuICAgICAgc2V0SXNWaXNpYmxlKHRydWUpO1xuICAgICAgY29uc3QgdG9nZ2xlVmlzYmlsaXR5ID0gKGU6IEFuaW1hdGlvbkV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChlLmFuaW1hdGlvbk5hbWUgPT09IFN0eWxlcy5iYWNrZHJvcERpc21pc3MpIHtcbiAgICAgICAgICBvbkNsb3NlZD8uKCk7XG4gICAgICAgICAgc2V0SXNWaXNpYmxlKGZhbHNlKTtcbiAgICAgICAgICAoZS50YXJnZXQhIGFzIEhUTUxEaXZFbGVtZW50KS5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAgICAgXCJhbmltYXRpb25lbmRcIixcbiAgICAgICAgICAgIHRvZ2dsZVZpc2JpbGl0eVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByb290RGl2UmVmLmN1cnJlbnQhLmFkZEV2ZW50TGlzdGVuZXIoXCJhbmltYXRpb25lbmRcIiwgdG9nZ2xlVmlzYmlsaXR5KTtcbiAgICB9XG4gIH0sIFtvcGVuXSk7XG5cbiAgY29uc3QgZ2xvYmFsQ2xhc3NOYW1lID0ge1xuICAgIGJhY2tkcm9wOiB1c2VPbmVVSUNvbmZpZyhcImNvbXBvbmVudC5hZGFwdGl2ZURpYWxvZy5iYWNrZHJvcENsYXNzTmFtZVwiLCBcIlwiKSxcbiAgICBkaWFsb2c6IHVzZU9uZVVJQ29uZmlnKFwiY29tcG9uZW50LmFkYXB0aXZlRGlhbG9nLmRpYWxvZ0NsYXNzTmFtZVwiLCBcIlwiKSxcbiAgfTtcbiAgY29uc3QgY29udGVudCA9IChcbiAgICA8ZGl2XG4gICAgICByZWY9e3Jvb3REaXZSZWZ9XG4gICAgICBjbGFzc05hbWU9e2Ake1N0eWxlcy5iYWNrZHJvcH0gJHtvcGVuID8gU3R5bGVzLm9wZW4gOiBTdHlsZXMuY2xvc2V9ICR7ZXhwYW5kZWQgPyBTdHlsZXMuZXhwYW5kZWQgOiBcIlwiXG4gICAgICAgIH0gJHtnbG9iYWxDbGFzc05hbWUuYmFja2Ryb3B9ICR7dmFyaWFudENsYXNzfWB9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrT3V0fVxuICAgICAgb25BbmltYXRpb25FbmQ9eyh7IHRhcmdldCwgY3VycmVudFRhcmdldCB9KSA9PiB7XG4gICAgICAgIGlmICh0YXJnZXQgPT09IGN1cnJlbnRUYXJnZXQpXG4gICAgICAgICAgKHRhcmdldCBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUucG9pbnRlckV2ZW50cyA9IFwiaW5pdGlhbFwiO1xuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGVzLmNvbnRhaW5lcn0gJHtjbGFzc05hbWV9ICR7Z2xvYmFsQ2xhc3NOYW1lLmRpYWxvZ31gfVxuICAgICAgICBvbkNsaWNrPXsoZSkgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgID5cbiAgICAgICAgPFNjcm9sbEFuZEZvY3VzTG9jayBvcGVuPXtvcGVufT5cbiAgICAgICAgICB7b25DbG9zZSAmJiAoXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT17U3R5bGVzLmNsb3NlQnRufSBvbkNsaWNrPXtvbkNsb3NlfT5cbiAgICAgICAgICAgICAgPE11dGFibGVIYW1idXJnZXJCdXR0b24gc3RhdGU9XCJjbG9zZWRcIiBzaXplPXsyNH0gLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdiBvbkNsaWNrPXsoKSA9PiBzZXRFeHBhbmRlZCgocCkgPT4gIXApfSAvPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TY3JvbGxBbmRGb2N1c0xvY2s+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcblxuICByZXR1cm4gaXNWaXNpYmxlIHx8IG9wZW4gPyAoXG4gICAgaW5saW5lID8gKFxuICAgICAgY29udGVudFxuICAgICkgOiAoXG4gICAgICA8PntSZWFjdERPTS5jcmVhdGVQb3J0YWwoY29udGVudCwgZG9jdW1lbnQuYm9keSl9PC8+XG4gICAgKVxuICApIDogbnVsbDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcscUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJ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
@@ -1,13 +1,14 @@
1
1
  import React, { ForwardedRef } from "react";
2
+ import { FromOnePercentUtility } from "../../type-utils";
2
3
  type ButtonProps = React.PropsWithChildren<React.ButtonHTMLAttributes<HTMLButtonElement> & {
3
- variant?: OnepercentUtility.UIElements.ButtonVariants;
4
+ variant?: FromOnePercentUtility<'UIElements.ButtonVariants'>;
4
5
  }>;
5
6
  export declare function _Button({ children, variant, className, ...otherProps }: ButtonProps, ref: ForwardedRef<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
6
7
  /**
7
8
  * A simple button that can be customized via the provider
8
9
  **/
9
10
  declare const Button: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
10
- variant?: OnepercentUtility.UIElements.ButtonVariants | undefined;
11
+ variant?: "link" | "transparent" | "filled" | "outline" | undefined;
11
12
  } & {
12
13
  children?: React.ReactNode;
13
14
  } & React.RefAttributes<HTMLButtonElement>>;
@@ -33,4 +33,4 @@ function _Button(_ref, ref) {
33
33
  **/
34
34
  const Button = /*#__PURE__*/(0, _react.forwardRef)(_Button);
35
35
  var _default = exports.default = Button;
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfT25lVUlQcm92aWRlciIsIl9leGNsdWRlZCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9leHRlbmRzIiwiYXNzaWduIiwiYmluZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFwcGx5IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpbmRleE9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJfQnV0dG9uIiwiX3JlZiIsInJlZiIsImNoaWxkcmVuIiwidmFyaWFudCIsImNsYXNzTmFtZSIsIm90aGVyUHJvcHMiLCJjbGFzc05hbWVUeXBlIiwidXNlT25lVUlDb25maWciLCJDb21wb25lbnQiLCJjcmVhdGVFbGVtZW50IiwiY29uY2F0IiwiQnV0dG9uIiwiZm9yd2FyZFJlZiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0J1dHRvbi9CdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBFbGVtZW50UmVmLCBGb3J3YXJkZWRSZWYsIGZvcndhcmRSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuXG50eXBlIEJ1dHRvblByb3BzID0gUmVhY3QuUHJvcHNXaXRoQ2hpbGRyZW48XG4gIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PiAmIHtcbiAgICB2YXJpYW50PzogT25lcGVyY2VudFV0aWxpdHkuVUlFbGVtZW50cy5CdXR0b25WYXJpYW50cztcbiAgfVxuPjtcblxuZXhwb3J0IGZ1bmN0aW9uIF9CdXR0b24oXG4gIHtcbiAgICBjaGlsZHJlbixcbiAgICB2YXJpYW50ID0gXCJ0cmFuc3BhcmVudFwiLFxuICAgIGNsYXNzTmFtZSA9IFwiXCIsXG4gICAgLi4ub3RoZXJQcm9wc1xuICB9OiBCdXR0b25Qcm9wcyxcbiAgcmVmOiBGb3J3YXJkZWRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4pIHtcbiAgY29uc3QgY2xhc3NOYW1lVHlwZSA9IHVzZU9uZVVJQ29uZmlnKFwiY29tcG9uZW50LmJ1dHRvbi5jbGFzc05hbWVcIiwge30pO1xuICBjb25zdCBDb21wb25lbnQgPSB1c2VPbmVVSUNvbmZpZyhcbiAgICBcImNvbXBvbmVudC5idXR0b24uQ29tcG9uZW50XCIsXG4gICAgXCJidXR0b25cIiBhcyBhbnlcbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8Q29tcG9uZW50XG4gICAgICByZWY9e3JlZn1cbiAgICAgIGNsYXNzTmFtZT17YCR7Y2xhc3NOYW1lfSAke2NsYXNzTmFtZVR5cGVbdmFyaWFudF0gfHwgXCJcIn1gfVxuICAgICAgdmFyaWFudD17dmFyaWFudH1cbiAgICAgIHsuLi5vdGhlclByb3BzfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0NvbXBvbmVudD5cbiAgKTtcbn1cblxuLyoqXG4gKiBBIHNpbXBsZSBidXR0b24gdGhhdCBjYW4gYmUgY3VzdG9taXplZCB2aWEgdGhlIHByb3ZpZGVyXG4gKiovXG5jb25zdCBCdXR0b24gPSBmb3J3YXJkUmVmPEhUTUxCdXR0b25FbGVtZW50LCBCdXR0b25Qcm9wcz4oX0J1dHRvbik7XG5leHBvcnQgZGVmYXVsdCBCdXR0b247XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFD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
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfT25lVUlQcm92aWRlciIsIl9leGNsdWRlZCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9leHRlbmRzIiwiYXNzaWduIiwiYmluZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFwcGx5IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpbmRleE9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJfQnV0dG9uIiwiX3JlZiIsInJlZiIsImNoaWxkcmVuIiwidmFyaWFudCIsImNsYXNzTmFtZSIsIm90aGVyUHJvcHMiLCJjbGFzc05hbWVUeXBlIiwidXNlT25lVUlDb25maWciLCJDb21wb25lbnQiLCJjcmVhdGVFbGVtZW50IiwiY29uY2F0IiwiQnV0dG9uIiwiZm9yd2FyZFJlZiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0J1dHRvbi9CdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBFbGVtZW50UmVmLCBGb3J3YXJkZWRSZWYsIGZvcndhcmRSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuaW1wb3J0IHsgRnJvbU9uZVBlcmNlbnRVdGlsaXR5IH0gZnJvbSBcIi4uLy4uL3R5cGUtdXRpbHNcIjtcblxudHlwZSBCdXR0b25Qcm9wcyA9IFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPFxuICBSZWFjdC5CdXR0b25IVE1MQXR0cmlidXRlczxIVE1MQnV0dG9uRWxlbWVudD4gJiB7XG4gICAgdmFyaWFudD86IEZyb21PbmVQZXJjZW50VXRpbGl0eTwnVUlFbGVtZW50cy5CdXR0b25WYXJpYW50cyc+O1xuICB9XG4+O1xuXG5leHBvcnQgZnVuY3Rpb24gX0J1dHRvbihcbiAge1xuICAgIGNoaWxkcmVuLFxuICAgIHZhcmlhbnQgPSBcInRyYW5zcGFyZW50XCIsXG4gICAgY2xhc3NOYW1lID0gXCJcIixcbiAgICAuLi5vdGhlclByb3BzXG4gIH06IEJ1dHRvblByb3BzLFxuICByZWY6IEZvcndhcmRlZFJlZjxIVE1MQnV0dG9uRWxlbWVudD5cbikge1xuICBjb25zdCBjbGFzc05hbWVUeXBlID0gdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuYnV0dG9uLmNsYXNzTmFtZVwiLCB7fSk7XG4gIGNvbnN0IENvbXBvbmVudCA9IHVzZU9uZVVJQ29uZmlnKFxuICAgIFwiY29tcG9uZW50LmJ1dHRvbi5Db21wb25lbnRcIixcbiAgICBcImJ1dHRvblwiIGFzIGFueVxuICApO1xuICByZXR1cm4gKFxuICAgIDxDb21wb25lbnRcbiAgICAgIHJlZj17cmVmfVxuICAgICAgY2xhc3NOYW1lPXtgJHtjbGFzc05hbWV9ICR7Y2xhc3NOYW1lVHlwZVt2YXJpYW50XSB8fCBcIlwifWB9XG4gICAgICB2YXJpYW50PXt2YXJpYW50fVxuICAgICAgey4uLm90aGVyUHJvcHN9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQ29tcG9uZW50PlxuICApO1xufVxuXG4vKipcbiAqIEEgc2ltcGxlIGJ1dHRvbiB0aGF0IGNhbiBiZSBjdXN0b21pemVkIHZpYSB0aGUgcHJvdmlkZXJcbiAqKi9cbmNvbnN0IEJ1dHRvbiA9IGZvcndhcmRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQsIEJ1dHRvblByb3BzPihfQnV0dG9uKTtcbmV4cG9ydCBkZWZh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
@@ -10,7 +10,6 @@ declare const EmailInput: React.ForwardRefExoticComponent<Omit<Omit<{
10
10
  placeholder?: string | undefined;
11
11
  disclaimer?: string | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | undefined;
12
12
  multiline?: number | undefined;
13
- border?: boolean | undefined;
14
13
  icon?: ({
15
14
  onClick?: (() => void) | undefined;
16
15
  } & React.ClassAttributes<any> & React.ImgHTMLAttributes<HTMLImageElement>) | undefined;
@@ -1,49 +1,15 @@
1
- import React, { ComponentProps, FunctionComponent, RefObject } from "react";
2
- import Input from "../Input";
3
- import Button from "../Button";
4
- import EmailInput from "../EmailInput";
5
- export type BaseForm = {
6
- [k: string]: string | number | any;
7
- };
8
- export type FormForm = {
9
- [k: string]: string | number;
10
- };
11
- export type FieldTypes = "email" | "text" | "textarea" | "select" | "number";
12
- export type FieldDefinition<M extends BaseForm, F extends keyof M, T extends FieldTypes> = {
13
- validator: (v: M[F] | undefined, f: Partial<M>) => string | true;
14
- placeholder?: string;
15
- } & (T extends "select" ? {
16
- type: "select";
17
- choices: ComponentProps<typeof import("../Select")["default"]>["items"];
18
- } : T extends "email" ? {
19
- type: "email";
20
- messages: ComponentProps<typeof EmailInput>["messages"];
21
- } : T extends "textarea" ? {
22
- type: "textarea";
23
- lines: number;
24
- } : {
25
- type: "text" | "number";
26
- inputProps?: ComponentProps<typeof Input>;
27
- });
28
- export type ClassName = string;
29
- export type FormInterface = {
30
- clear: () => void;
31
- };
32
- export type FirebaseFormProps<M extends FormForm> = {
33
- ref?: RefObject<FormInterface>;
34
- submitting: boolean;
35
- onSubmit: (data: M) => void;
36
- submited?: boolean;
37
- config: {
38
- [k in keyof M]: FieldDefinition<M, k, FieldTypes>;
39
- };
40
- submitBtn: string | {
41
- label: [FunctionComponent] | [FunctionComponent, ClassName];
42
- loading: [FunctionComponent] | [FunctionComponent, ClassName];
43
- error: [FunctionComponent] | [FunctionComponent, ClassName];
44
- success: [FunctionComponent] | [FunctionComponent, ClassName];
45
- };
46
- btnProps?: ComponentProps<typeof Button>;
47
- };
48
- declare const FirebaseForm: React.ForwardRefExoticComponent<Omit<FirebaseFormProps<BaseForm>, "ref"> & React.RefAttributes<FormInterface>>;
49
- export default FirebaseForm;
1
+ import React from "react";
2
+ import { FormViewProps } from "./Form.types";
3
+ import { AnswerByField, FormFieldView } from "./FormField/FormField.types";
4
+ export type FormRef<Q extends FormFieldView[]> = {
5
+ setAnswer<I extends Q[number]["id"]>(questionId: I, ans: AnswerByField<Q[number] & {
6
+ id: I;
7
+ }>): void;
8
+ };
9
+ /**
10
+ * A new and improved version of the one-ui design form
11
+ *
12
+ * Custom question types can be defined via @type {OnepercentUtility['UIElements']['FormExtension']['fields']}
13
+ **/
14
+ declare const _default: React.ForwardRefExoticComponent<FormViewProps<FormFieldView[]> & React.RefAttributes<FormRef<FormFieldView[]>>>;
15
+ export default _default;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { OneUIContextSpecs } from "../../../context/OneUIProvider";
2
+ import { OneUIContextSpecs } from "../../context/OneUIProvider";
3
3
  import { AnswerAction, AnswerByField, FormField, FormFieldTypes, FormFieldView, FormMode } from "./FormField/FormField.types";
4
4
  import { AnswersMap } from "./Form.types";
5
5
  export declare function useFormAnswers<A extends AnswersMap<any> = AnswersMap>(defaultAnswers: A, mode: FormMode): {
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.areAllQuestionsAnswered = areAllQuestionsAnswered;
7
+ exports.isValidated = void 0;
8
+ exports.useFieldErrors = useFieldErrors;
9
+ exports.useForm = useForm;
10
+ exports.useFormAnswers = useFormAnswers;
11
+ exports.useFormState = useFormState;
12
+ var _react = require("react");
13
+ var _OneUIProvider = require("../../context/OneUIProvider");
14
+ var _FormField = require("./FormField/FormField.types");
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
+ function useFormAnswers(defaultAnswers, mode) {
21
+ const [answers, setAnswers] = (0, _react.useState)(() => {
22
+ const clone = _objectSpread({}, defaultAnswers);
23
+ if (mode === _FormField.FormMode.READ_ONLY) return clone;
24
+ return clone;
25
+ });
26
+ return {
27
+ answers,
28
+ setAnswers
29
+ };
30
+ }
31
+ function useFormState(currentQuestions, _ref) {
32
+ let {
33
+ answers,
34
+ setAnswers
35
+ } = _ref;
36
+ const formConfig = (0, _OneUIProvider.useOneUIConfig)("component.form");
37
+ const {
38
+ isValid: isQuestionsAnswered
39
+ } = (0, _react.useMemo)(() => {
40
+ return areAllQuestionsAnswered(currentQuestions, answers, formConfig.requiredLabel, formConfig.extensions);
41
+ }, [answers, currentQuestions]);
42
+ const onAnswerAction = (questionType, id, answer) => {
43
+ switch (questionType) {
44
+ case "file":
45
+ const {
46
+ onFileUpload
47
+ } = formConfig;
48
+ setAnswers(prev => {
49
+ const file = answer;
50
+ if (file) return _objectSpread(_objectSpread({}, prev), {}, {
51
+ [id]: onFileUpload(id, file)
52
+ });
53
+ delete prev[id];
54
+ return _objectSpread({}, prev);
55
+ });
56
+ break;
57
+ default:
58
+ setAnswers(prev => {
59
+ if (prev[id] === answer) return prev;
60
+ return _objectSpread(_objectSpread({}, prev), {}, {
61
+ [id]: answer
62
+ });
63
+ });
64
+ }
65
+ };
66
+ const isFilesUploaded = useFileUploads(currentQuestions, answers);
67
+ return {
68
+ answers,
69
+ isQuestionsAnswered,
70
+ isFilesUploaded,
71
+ onAnswerAction,
72
+ questions: currentQuestions
73
+ };
74
+ }
75
+ function useForm(currentQuestions, defaultAnswers, mode) {
76
+ const answers = useFormAnswers(defaultAnswers, mode);
77
+ return useFormState(currentQuestions, answers);
78
+ }
79
+ function useFileUploads(questions, answers) {
80
+ const fileUploadQuestions = (0, _react.useMemo)(() => questions.filter(a => a.type === "file"), [questions]);
81
+ const [fileUploadStatus, setFileUploadStatus] = (0, _react.useState)({});
82
+ (0, _react.useLayoutEffect)(() => {
83
+ const unsubs = [];
84
+ for (let fileQuestion of fileUploadQuestions) {
85
+ const uploadTask = answers[fileQuestion.id];
86
+ if (!uploadTask) setFileUploadStatus(prev => _objectSpread(_objectSpread({}, prev), {}, {
87
+ [fileQuestion.id]: "running"
88
+ }));else if (typeof uploadTask === "boolean") {
89
+ setFileUploadStatus(prev => _objectSpread(_objectSpread({}, prev), {}, {
90
+ [fileQuestion.id]: "success"
91
+ }));
92
+ } else unsubs.push(uploadTask.on("state_changed", r => {
93
+ setFileUploadStatus(prev => _objectSpread(_objectSpread({}, prev), {}, {
94
+ [fileQuestion.id]: r.totalBytes === r.bytesTransferred ? "success" : "running"
95
+ }));
96
+ }));
97
+ }
98
+ return () => {
99
+ unsubs.forEach(unsub => unsub());
100
+ };
101
+ }, [answers, fileUploadQuestions]);
102
+ const areAllFileUploaded = (0, _react.useMemo)(() => {
103
+ return fileUploadQuestions.reduce((r, question) => {
104
+ const uploadStatus = fileUploadStatus[question.id];
105
+ return r && uploadStatus === "success";
106
+ }, true);
107
+ }, [fileUploadStatus, fileUploadQuestions]);
108
+ return areAllFileUploaded;
109
+ }
110
+ function useFieldErrors(currentQuestions, answers, showAllErrors) {
111
+ const {
112
+ requiredLabel,
113
+ extensions
114
+ } = (0, _OneUIProvider.useOneUIConfig)("component.form");
115
+ const errorMap = (0, _react.useMemo)(() => {
116
+ const ans = question => answers[question.id];
117
+ const errorsMap = {};
118
+ for (let question of currentQuestions) {
119
+ const _isValidated = () => {
120
+ return isValidated(ans(question), !!question.optional, question.validator, requiredLabel);
121
+ };
122
+ const updateDefaultError = () => {
123
+ const validation = _isValidated();
124
+ errorsMap[question.id] = validation.error;
125
+ };
126
+ switch (question.type) {
127
+ case "check":
128
+ case "rawcheck":
129
+ updateDefaultError();
130
+ if (question.validator) errorsMap[question.id] = question.validator(ans(question));
131
+ break;
132
+ case "number":
133
+ case "text":
134
+ case "select":
135
+ case "radio":
136
+ case "file":
137
+ updateDefaultError();
138
+ const validationResult = _isValidated();
139
+ if (validationResult.error) errorsMap[question.id] = validationResult.error;
140
+ break;
141
+ default:
142
+ const extendedSupport = extensions === null || extensions === void 0 ? void 0 : extensions[question.type];
143
+ if (extendedSupport) {
144
+ const validationResultExtend = extendedSupport.validator(ans(question), question);
145
+ if (validationResultExtend.error) errorsMap[question.id] = validationResultExtend.error;
146
+ } else {
147
+ updateDefaultError();
148
+ }
149
+ }
150
+ }
151
+ return errorsMap;
152
+ }, [currentQuestions, answers]);
153
+ const currentErrors = (0, _react.useMemo)(() => {
154
+ return Object.entries(errorMap).reduce((r, _ref2) => {
155
+ let [k, v] = _ref2;
156
+ return _objectSpread(_objectSpread({}, r), {}, {
157
+ [k]: showAllErrors ? v : v !== requiredLabel ? v : undefined
158
+ });
159
+ }, {});
160
+ }, [showAllErrors, errorMap]);
161
+ return currentErrors;
162
+ }
163
+ function areAllQuestionsAnswered(currentQuestions, answers, requiredLabel, extensions) {
164
+ const isValid = currentQuestions.reduce((answeredAll, question) => {
165
+ const ans = question => answers[question.id];
166
+ const result = answeredAll && (() => {
167
+ switch (question.type) {
168
+ case "accept":
169
+ const checks = ans(question) || [];
170
+ return question.accept.reduce((r, _ref3, idx) => {
171
+ let {
172
+ optional
173
+ } = _ref3;
174
+ return r && (optional ? true : checks[idx]);
175
+ }, true);
176
+ case "check":
177
+ case "rawcheck":
178
+ if (question.optional) return true;
179
+ if (question.validator) return question.validator(ans(question));
180
+ const checkmarks = ans(question) || [];
181
+ return checkmarks.includes(true);
182
+ case "number":
183
+ case "text":
184
+ case "select":
185
+ case "radio":
186
+ case "file":
187
+ if (!answers[question.id]) return !!question.optional;
188
+ const validationResult = isValidated(ans(question), !!question.optional, question.validator, requiredLabel);
189
+ return validationResult.isValid && answeredAll;
190
+ default:
191
+ const extendedSupport = extensions === null || extensions === void 0 ? void 0 : extensions[question.type];
192
+ if (extendedSupport) {
193
+ const validationResultExtend = extendedSupport.validator(ans(question), question);
194
+ return validationResultExtend.isValid;
195
+ } else return question.validator ? !!question.validator(ans(question)) : !!ans(question);
196
+ }
197
+ })();
198
+ return result;
199
+ }, true);
200
+ return {
201
+ isValid: !!isValid
202
+ };
203
+ }
204
+ const isValidated = (_answer, isOptional, validator, requiredFieldLabel) => {
205
+ const answer = Array.isArray(_answer) ? _answer[0] : _answer;
206
+ if (!answer && !isOptional) return {
207
+ isValid: false,
208
+ error: requiredFieldLabel
209
+ };
210
+ if (!validator) if (Array.isArray(_answer)) {
211
+ const [_, isValid, error] = _answer;
212
+ return {
213
+ isValid,
214
+ error
215
+ };
216
+ } else {
217
+ return {
218
+ isValid: true,
219
+ error: ""
220
+ };
221
+ }
222
+ const validationResult = validator(answer);
223
+ if (typeof validationResult === "string") return {
224
+ isValid: false,
225
+ error: validationResult
226
+ };
227
+ return {
228
+ isValid: validationResult,
229
+ error: ""
230
+ };
231
+ };
232
+ exports.isValidated = isValidated;
233
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX09uZVVJUHJvdmlkZXIiLCJfRm9ybUZpZWxkIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwidmFsdWUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJ1c2VGb3JtQW5zd2VycyIsImRlZmF1bHRBbnN3ZXJzIiwibW9kZSIsImFuc3dlcnMiLCJzZXRBbnN3ZXJzIiwidXNlU3RhdGUiLCJjbG9uZSIsIkZvcm1Nb2RlIiwiUkVBRF9PTkxZIiwidXNlRm9ybVN0YXRlIiwiY3VycmVudFF1ZXN0aW9ucyIsIl9yZWYiLCJmb3JtQ29uZmlnIiwidXNlT25lVUlDb25maWciLCJpc1ZhbGlkIiwiaXNRdWVzdGlvbnNBbnN3ZXJlZCIsInVzZU1lbW8iLCJhcmVBbGxRdWVzdGlvbnNBbnN3ZXJlZCIsInJlcXVpcmVkTGFiZWwiLCJleHRlbnNpb25zIiwib25BbnN3ZXJBY3Rpb24iLCJxdWVzdGlvblR5cGUiLCJpZCIsImFuc3dlciIsIm9uRmlsZVVwbG9hZCIsInByZXYiLCJmaWxlIiwiaXNGaWxlc1VwbG9hZGVkIiwidXNlRmlsZVVwbG9hZHMiLCJxdWVzdGlvbnMiLCJ1c2VGb3JtIiwiZmlsZVVwbG9hZFF1ZXN0aW9ucyIsImEiLCJ0eXBlIiwiZmlsZVVwbG9hZFN0YXR1cyIsInNldEZpbGVVcGxvYWRTdGF0dXMiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1bnN1YnMiLCJmaWxlUXVlc3Rpb24iLCJ1cGxvYWRUYXNrIiwib24iLCJ0b3RhbEJ5dGVzIiwiYnl0ZXNUcmFuc2ZlcnJlZCIsInVuc3ViIiwiYXJlQWxsRmlsZVVwbG9hZGVkIiwicmVkdWNlIiwicXVlc3Rpb24iLCJ1cGxvYWRTdGF0dXMiLCJ1c2VGaWVsZEVycm9ycyIsInNob3dBbGxFcnJvcnMiLCJlcnJvck1hcCIsImFucyIsImVycm9yc01hcCIsIl9pc1ZhbGlkYXRlZCIsImlzVmFsaWRhdGVkIiwib3B0aW9uYWwiLCJ2YWxpZGF0b3IiLCJ1cGRhdGVEZWZhdWx0RXJyb3IiLCJ2YWxpZGF0aW9uIiwiZXJyb3IiLCJ2YWxpZGF0aW9uUmVzdWx0IiwiZXh0ZW5kZWRTdXBwb3J0IiwidmFsaWRhdGlvblJlc3VsdEV4dGVuZCIsImN1cnJlbnRFcnJvcnMiLCJlbnRyaWVzIiwiX3JlZjIiLCJrIiwidiIsInVuZGVmaW5lZCIsImFuc3dlcmVkQWxsIiwicmVzdWx0IiwiY2hlY2tzIiwiYWNjZXB0IiwiX3JlZjMiLCJpZHgiLCJjaGVja21hcmtzIiwiaW5jbHVkZXMiLCJfYW5zd2VyIiwiaXNPcHRpb25hbCIsInJlcXVpcmVkRmllbGRMYWJlbCIsIkFycmF5IiwiaXNBcnJheSIsIl8iLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRm9ybS9Gb3JtLmhvb2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgT25lVUlDb250ZXh0U3BlY3MsIHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgQW5zd2VyQWN0aW9uLFxuICBBbnN3ZXJCeUZpZWxkLFxuICBGb3JtRmllbGQsXG4gIEZvcm1GaWVsZFR5cGVzLFxuICBGb3JtRmllbGRWaWV3LFxuICBGb3JtTW9kZSxcbn0gZnJvbSBcIi4vRm9ybUZpZWxkL0Zvcm1GaWVsZC50eXBlc1wiO1xuaW1wb3J0IHsgQW5zd2Vyc01hcCB9IGZyb20gXCIuL0Zvcm0udHlwZXNcIjtcbmltcG9ydCB7IFVwbG9hZFRhc2ssIFVwbG9hZFRhc2tTbmFwc2hvdCB9IGZyb20gXCJmaXJlYmFzZS9zdG9yYWdlXCI7XG5pbXBvcnQgeyBGcm9tT25lUGVyY2VudFV0aWxpdHkgfSBmcm9tIFwiLi4vLi4vdHlwZS11dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlRm9ybUFuc3dlcnM8QSBleHRlbmRzIEFuc3dlcnNNYXA8YW55PiA9IEFuc3dlcnNNYXA+KFxuICBkZWZhdWx0QW5zd2VyczogQSxcbiAgbW9kZTogRm9ybU1vZGVcbikge1xuICBjb25zdCBbYW5zd2Vycywgc2V0QW5zd2Vyc10gPSB1c2VTdGF0ZTxBPigoKSA9PiB7XG4gICAgY29uc3QgY2xvbmUgPSB7XG4gICAgICAuLi5kZWZhdWx0QW5zd2VycyxcbiAgICB9O1xuICAgIGlmIChtb2RlID09PSBGb3JtTW9kZS5SRUFEX09OTFkpIHJldHVybiBjbG9uZTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGFuc3dlcnMsXG4gICAgc2V0QW5zd2VycyxcbiAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtU3RhdGUoXG4gIGN1cnJlbnRRdWVzdGlvbnM6IEZvcm1GaWVsZFZpZXdbXSxcbiAgeyBhbnN3ZXJzLCBzZXRBbnN3ZXJzIH06IFJldHVyblR5cGU8dHlwZW9mIHVzZUZvcm1BbnN3ZXJzPlxuKSB7XG4gIGNvbnN0IGZvcm1Db25maWcgPSB1c2VPbmVVSUNvbmZpZyhcImNvbXBvbmVudC5mb3JtXCIpO1xuXG4gIGNvbnN0IHsgaXNWYWxpZDogaXNRdWVzdGlvbnNBbnN3ZXJlZCB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGFyZUFsbFF1ZXN0aW9uc0Fuc3dlcmVkKFxuICAgICAgY3VycmVudFF1ZXN0aW9ucyxcbiAgICAgIGFuc3dlcnMsXG4gICAgICBmb3JtQ29uZmlnLnJlcXVpcmVkTGFiZWwsXG4gICAgICBmb3JtQ29uZmlnLmV4dGVuc2lvbnNcbiAgICApO1xuICB9LCBbYW5zd2VycywgY3VycmVudFF1ZXN0aW9uc10pO1xuXG4gIGNvbnN0IG9uQW5zd2VyQWN0aW9uID0gPFQgZXh0ZW5kcyBGb3JtRmllbGRUeXBlcz4oXG4gICAgcXVlc3Rpb25UeXBlOiBULFxuICAgIGlkOiBzdHJpbmcsXG4gICAgYW5zd2VyOlxuICAgICAgfCBBbnN3ZXJBY3Rpb248e1xuICAgICAgICAgIHR5cGU6IFQ7XG4gICAgICAgIH0+XG4gICAgICB8IHVuZGVmaW5lZFxuICApID0+IHtcbiAgICBzd2l0Y2ggKHF1ZXN0aW9uVHlwZSkge1xuICAgICAgY2FzZSBcImZpbGVcIjpcbiAgICAgICAgY29uc3QgeyBvbkZpbGVVcGxvYWQgfSA9IGZvcm1Db25maWc7XG4gICAgICAgIHNldEFuc3dlcnMoKHByZXY6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbGUgPSBhbnN3ZXIgYXMgRmlsZSB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBpZiAoZmlsZSlcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgIFtpZF06IG9uRmlsZVVwbG9hZChpZCwgZmlsZSksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIGRlbGV0ZSBwcmV2W2lkXTtcbiAgICAgICAgICByZXR1cm4geyAuLi5wcmV2IH07XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHNldEFuc3dlcnMoKHByZXYpID0+IHtcbiAgICAgICAgICBpZiAocHJldltpZF0gPT09IGFuc3dlcikgcmV0dXJuIHByZXY7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICBbaWRdOiBhbnN3ZXIgYXMgc3RyaW5nLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBpc0ZpbGVzVXBsb2FkZWQgPSB1c2VGaWxlVXBsb2FkcyhjdXJyZW50UXVlc3Rpb25zLCBhbnN3ZXJzKTtcblxuICByZXR1cm4ge1xuICAgIGFuc3dlcnMsXG4gICAgaXNRdWVzdGlvbnNBbnN3ZXJlZCxcbiAgICBpc0ZpbGVzVXBsb2FkZWQsXG4gICAgb25BbnN3ZXJBY3Rpb24sXG4gICAgcXVlc3Rpb25zOiBjdXJyZW50UXVlc3Rpb25zLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlRm9ybShcbiAgY3VycmVudFF1ZXN0aW9uczogRm9ybUZpZWxkVmlld1tdLFxuICBkZWZhdWx0QW5zd2VyczogQW5zd2Vyc01hcCxcbiAgbW9kZTogRm9ybU1vZGVcbikge1xuICBjb25zdCBhbnN3ZXJzID0gdXNlRm9ybUFuc3dlcnMoZGVmYXVsdEFuc3dlcnMsIG1vZGUpO1xuICByZXR1cm4gdXNlRm9ybVN0YXRlKGN1cnJlbnRRdWVzdGlvbnMsIGFuc3dlcnMpO1xufVxuXG5mdW5jdGlvbiB1c2VGaWxlVXBsb2FkcyhxdWVzdGlvbnM6IEZvcm1GaWVsZFtdLCBhbnN3ZXJzOiBBbnN3ZXJzTWFwKSB7XG4gIGNvbnN0IGZpbGVVcGxvYWRRdWVzdGlvbnMgPSB1c2VNZW1vKFxuICAgICgpID0+IHF1ZXN0aW9ucy5maWx0ZXIoKGEpID0+IGEudHlwZSA9PT0gXCJmaWxlXCIpLFxuICAgIFtxdWVzdGlvbnNdXG4gICk7XG4gIGNvbnN0IFtmaWxlVXBsb2FkU3RhdHVzLCBzZXRGaWxlVXBsb2FkU3RhdHVzXSA9IHVzZVN0YXRlPHtcbiAgICBbcXVlc3Rpb25JRDogc3RyaW5nXTogVXBsb2FkVGFza1NuYXBzaG90W1wic3RhdGVcIl07XG4gIH0+KHt9KTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB1bnN1YnM6IFJldHVyblR5cGU8VXBsb2FkVGFza1tcIm9uXCJdPltdID0gW107XG4gICAgZm9yIChsZXQgZmlsZVF1ZXN0aW9uIG9mIGZpbGVVcGxvYWRRdWVzdGlvbnMpIHtcbiAgICAgIGNvbnN0IHVwbG9hZFRhc2sgPSBhbnN3ZXJzW2ZpbGVRdWVzdGlvbi5pZF0gYXNcbiAgICAgICAgfCBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgICAgIHR5cGU6IFwiZmlsZVwiO1xuICAgICAgICAgIH0+XG4gICAgICAgIHwgdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoIXVwbG9hZFRhc2spXG4gICAgICAgIHNldEZpbGVVcGxvYWRTdGF0dXMoKHByZXYpID0+ICh7XG4gICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICBbZmlsZVF1ZXN0aW9uLmlkXTogXCJydW5uaW5nXCIsXG4gICAgICAgIH0pKTtcbiAgICAgIGVsc2UgaWYgKHR5cGVvZiB1cGxvYWRUYXNrID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICBzZXRGaWxlVXBsb2FkU3RhdHVzKChwcmV2KSA9PiAoe1xuICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgW2ZpbGVRdWVzdGlvbi5pZF06IFwic3VjY2Vzc1wiLFxuICAgICAgICB9KSk7XG4gICAgICB9IGVsc2VcbiAgICAgICAgdW5zdWJzLnB1c2goXG4gICAgICAgICAgdXBsb2FkVGFzay5vbihcInN0YXRlX2NoYW5nZWRcIiwgKHIpID0+IHtcbiAgICAgICAgICAgIHNldEZpbGVVcGxvYWRTdGF0dXMoKHByZXYpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgIFtmaWxlUXVlc3Rpb24uaWRdOlxuICAgICAgICAgICAgICAgIHIudG90YWxCeXRlcyA9PT0gci5ieXRlc1RyYW5zZmVycmVkID8gXCJzdWNjZXNzXCIgOiBcInJ1bm5pbmdcIixcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB1bnN1YnMuZm9yRWFjaCgodW5zdWIpID0+IHVuc3ViKCkpO1xuICAgIH07XG4gIH0sIFthbnN3ZXJzLCBmaWxlVXBsb2FkUXVlc3Rpb25zXSk7XG5cbiAgY29uc3QgYXJlQWxsRmlsZVVwbG9hZGVkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZpbGVVcGxvYWRRdWVzdGlvbnMucmVkdWNlKChyLCBxdWVzdGlvbikgPT4ge1xuICAgICAgY29uc3QgdXBsb2FkU3RhdHVzID0gZmlsZVVwbG9hZFN0YXR1c1txdWVzdGlvbi5pZF07XG4gICAgICByZXR1cm4gciAmJiB1cGxvYWRTdGF0dXMgPT09IFwic3VjY2Vzc1wiO1xuICAgIH0sIHRydWUpO1xuICB9LCBbZmlsZVVwbG9hZFN0YXR1cywgZmlsZVVwbG9hZFF1ZXN0aW9uc10pO1xuXG4gIHJldHVybiBhcmVBbGxGaWxlVXBsb2FkZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VGaWVsZEVycm9yczxcbiAgUSBleHRlbmRzIFJlYWRvbmx5PFxuICAgIFBpY2s8Rm9ybUZpZWxkLCBcInR5cGVcIiB8IFwiaWRcIiB8IFwib3B0aW9uYWxcIiB8IFwidmFsaWRhdG9yXCI+W11cbiAgPlxuPihjdXJyZW50UXVlc3Rpb25zOiBRLCBhbnN3ZXJzOiBBbnN3ZXJzTWFwLCBzaG93QWxsRXJyb3JzOiBib29sZWFuKSB7XG4gIGNvbnN0IHsgcmVxdWlyZWRMYWJlbCwgZXh0ZW5zaW9ucyB9ID0gdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuZm9ybVwiKTtcbiAgY29uc3QgZXJyb3JNYXAgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBhbnMgPSA8VCBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXCJ0eXBlXCJdPihcbiAgICAgIHF1ZXN0aW9uOiBQaWNrPEZvcm1GaWVsZCwgXCJpZFwiPiAmIHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH1cbiAgICApID0+XG4gICAgICBhbnN3ZXJzW3F1ZXN0aW9uLmlkXSBhcyBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH0+O1xuICAgIGNvbnN0IGVycm9yc01hcDoge1xuICAgICAgW3F1ZXN0aW9uSWQ6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB9ID0ge307XG4gICAgZm9yIChsZXQgcXVlc3Rpb24gb2YgY3VycmVudFF1ZXN0aW9ucykge1xuICAgICAgY29uc3QgX2lzVmFsaWRhdGVkID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gaXNWYWxpZGF0ZWQoXG4gICAgICAgICAgYW5zKHF1ZXN0aW9uKSxcbiAgICAgICAgICAhIXF1ZXN0aW9uLm9wdGlvbmFsLFxuICAgICAgICAgIHF1ZXN0aW9uLnZhbGlkYXRvcixcbiAgICAgICAgICByZXF1aXJlZExhYmVsXG4gICAgICAgICk7XG4gICAgICB9O1xuICAgICAgY29uc3QgdXBkYXRlRGVmYXVsdEVycm9yID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWxpZGF0aW9uID0gX2lzVmFsaWRhdGVkKCk7XG4gICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSB2YWxpZGF0aW9uLmVycm9yO1xuICAgICAgfTtcbiAgICAgIHN3aXRjaCAocXVlc3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIFwiY2hlY2tcIjpcbiAgICAgICAgY2FzZSBcInJhd2NoZWNrXCI6XG4gICAgICAgICAgdXBkYXRlRGVmYXVsdEVycm9yKCk7XG4gICAgICAgICAgaWYgKHF1ZXN0aW9uLnZhbGlkYXRvcilcbiAgICAgICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSBxdWVzdGlvbi52YWxpZGF0b3IoXG4gICAgICAgICAgICAgIGFucyhxdWVzdGlvbikgYXMgYW55XG4gICAgICAgICAgICApIGFzIHN0cmluZztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgICBjYXNlIFwic2VsZWN0XCI6XG4gICAgICAgIGNhc2UgXCJyYWRpb1wiOlxuICAgICAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgICAgIHVwZGF0ZURlZmF1bHRFcnJvcigpO1xuICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBfaXNWYWxpZGF0ZWQoKTtcbiAgICAgICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcilcbiAgICAgICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSB2YWxpZGF0aW9uUmVzdWx0LmVycm9yO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGNvbnN0IGV4dGVuZGVkU3VwcG9ydCA9XG4gICAgICAgICAgICBleHRlbnNpb25zPy5bXG4gICAgICAgICAgICAgIHF1ZXN0aW9uLnR5cGUgYXMgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5Gb3JtRXh0ZW5zaW9uXCI+W1wiZmllbGRzXCJdW1widHlwZVwiXVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICBpZiAoZXh0ZW5kZWRTdXBwb3J0KSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kID0gZXh0ZW5kZWRTdXBwb3J0LnZhbGlkYXRvcihcbiAgICAgICAgICAgICAgYW5zKHF1ZXN0aW9uKSBhcyBhbnksXG4gICAgICAgICAgICAgIHF1ZXN0aW9uIGFzIGFueVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kLmVycm9yKVxuICAgICAgICAgICAgICBlcnJvcnNNYXBbcXVlc3Rpb24uaWRdID0gdmFsaWRhdGlvblJlc3VsdEV4dGVuZC5lcnJvcjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdXBkYXRlRGVmYXVsdEVycm9yKCk7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcnJvcnNNYXA7XG4gIH0sIFtjdXJyZW50UXVlc3Rpb25zLCBhbnN3ZXJzXSk7XG5cbiAgY29uc3QgY3VycmVudEVycm9ycyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhlcnJvck1hcCkucmVkdWNlKFxuICAgICAgKHIsIFtrLCB2XSkgPT4gKHtcbiAgICAgICAgLi4ucixcbiAgICAgICAgW2tdOiBzaG93QWxsRXJyb3JzID8gdiA6IHYgIT09IHJlcXVpcmVkTGFiZWwgPyB2IDogdW5kZWZpbmVkLFxuICAgICAgfSksXG4gICAgICB7fVxuICAgICk7XG4gIH0sIFtzaG93QWxsRXJyb3JzLCBlcnJvck1hcF0pO1xuXG4gIHJldHVybiBjdXJyZW50RXJyb3JzIGFzIHsgW2sgaW4gUVtudW1iZXJdW1wiaWRcIl1dOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFyZUFsbFF1ZXN0aW9uc0Fuc3dlcmVkKFxuICBjdXJyZW50UXVlc3Rpb25zOiBGb3JtRmllbGRbXSxcbiAgYW5zd2VyczogQW5zd2Vyc01hcCxcbiAgcmVxdWlyZWRMYWJlbDogc3RyaW5nLFxuICBleHRlbnNpb25zOiBPbmVVSUNvbnRleHRTcGVjc1tcImNvbXBvbmVudFwiXVtcImZvcm1cIl1bXCJleHRlbnNpb25zXCJdXG4pIHtcbiAgY29uc3QgaXNWYWxpZCA9IGN1cnJlbnRRdWVzdGlvbnMucmVkdWNlKChhbnN3ZXJlZEFsbCwgcXVlc3Rpb24pID0+IHtcbiAgICBjb25zdCBhbnMgPSA8VCBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXCJ0eXBlXCJdPihcbiAgICAgIHF1ZXN0aW9uOiBGb3JtRmllbGQgJiB7XG4gICAgICAgIHR5cGU6IFQ7XG4gICAgICB9XG4gICAgKSA9PlxuICAgICAgYW5zd2Vyc1txdWVzdGlvbi5pZF0gYXMgdW5rbm93biBhcyBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH0+O1xuXG4gICAgY29uc3QgcmVzdWx0ID1cbiAgICAgIGFuc3dlcmVkQWxsICYmXG4gICAgICAoKCkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHF1ZXN0aW9uLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIFwiYWNjZXB0XCI6XG4gICAgICAgICAgICBjb25zdCBjaGVja3MgPSBhbnMocXVlc3Rpb24pIHx8IFtdO1xuICAgICAgICAgICAgcmV0dXJuIHF1ZXN0aW9uLmFjY2VwdC5yZWR1Y2UoXG4gICAgICAgICAgICAgIChyLCB7IG9wdGlvbmFsIH0sIGlkeCkgPT4gciAmJiAob3B0aW9uYWwgPyB0cnVlIDogY2hlY2tzW2lkeF0pLFxuICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgXCJjaGVja1wiOlxuICAgICAgICAgIGNhc2UgXCJyYXdjaGVja1wiOlxuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLm9wdGlvbmFsKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChxdWVzdGlvbi52YWxpZGF0b3IpXG4gICAgICAgICAgICAgIHJldHVybiBxdWVzdGlvbi52YWxpZGF0b3IoYW5zKHF1ZXN0aW9uKSBhcyBhbnkpIGFzIGJvb2xlYW47XG4gICAgICAgICAgICBjb25zdCBjaGVja21hcmtzID0gYW5zKHF1ZXN0aW9uKSB8fCBbXTtcbiAgICAgICAgICAgIHJldHVybiBjaGVja21hcmtzLmluY2x1ZGVzKHRydWUpO1xuICAgICAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgICAgIGNhc2UgXCJzZWxlY3RcIjpcbiAgICAgICAgICBjYXNlIFwicmFkaW9cIjpcbiAgICAgICAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgICAgICAgaWYgKCFhbnN3ZXJzW3F1ZXN0aW9uLmlkXSkgcmV0dXJuICEhcXVlc3Rpb24ub3B0aW9uYWw7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gaXNWYWxpZGF0ZWQoXG4gICAgICAgICAgICAgIGFucyhxdWVzdGlvbiksXG4gICAgICAgICAgICAgICEhcXVlc3Rpb24ub3B0aW9uYWwsXG4gICAgICAgICAgICAgIHF1ZXN0aW9uLnZhbGlkYXRvcixcbiAgICAgICAgICAgICAgcmVxdWlyZWRMYWJlbFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0LmlzVmFsaWQgJiYgYW5zd2VyZWRBbGw7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNvbnN0IGV4dGVuZGVkU3VwcG9ydCA9XG4gICAgICAgICAgICAgIGV4dGVuc2lvbnM/LltcbiAgICAgICAgICAgICAgICBxdWVzdGlvbi50eXBlIGFzIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiPltcImZpZWxkc1wiXVtcInR5cGVcIl1cbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGlmIChleHRlbmRlZFN1cHBvcnQpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdEV4dGVuZCA9IGV4dGVuZGVkU3VwcG9ydC52YWxpZGF0b3IoXG4gICAgICAgICAgICAgICAgYW5zKHF1ZXN0aW9uKSBhcyBhbnksXG4gICAgICAgICAgICAgICAgcXVlc3Rpb24gYXMgYW55XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kLmlzVmFsaWQ7XG4gICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgcmV0dXJuIHF1ZXN0aW9uLnZhbGlkYXRvclxuICAgICAgICAgICAgICAgID8gISFxdWVzdGlvbi52YWxpZGF0b3IoYW5zKHF1ZXN0aW9uKSBhcyBhbnkpXG4gICAgICAgICAgICAgICAgOiAhIWFucyhxdWVzdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0pKCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSwgdHJ1ZSk7XG5cbiAgcmV0dXJuIHsgaXNWYWxpZDogISFpc1ZhbGlkIH07XG59XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkYXRlZCA9IChcbiAgX2Fuc3dlcjogQW5zd2VyQnlGaWVsZDx7IHR5cGU6IEZvcm1GaWVsZFR5cGVzIH0+LFxuICBpc09wdGlvbmFsOiBib29sZWFuLFxuICB2YWxpZGF0b3I6ICgodmFsOiBhbnkpID0+IHN0cmluZyB8IGJvb2xlYW4pIHwgdW5kZWZpbmVkLFxuICByZXF1aXJlZEZpZWxkTGFiZWw6IHN0cmluZ1xuKSA9PiB7XG4gIGNvbnN0IGFuc3dlciA9IEFycmF5LmlzQXJyYXkoX2Fuc3dlcikgPyBfYW5zd2VyWzBdIDogX2Fuc3dlcjtcbiAgaWYgKCFhbnN3ZXIgJiYgIWlzT3B0aW9uYWwpXG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVmFsaWQ6IGZhbHNlLFxuICAgICAgZXJyb3I6IHJlcXVpcmVkRmllbGRMYWJlbCxcbiAgICB9O1xuICBpZiAoIXZhbGlkYXRvcilcbiAgICBpZiAoQXJyYXkuaXNBcnJheShfYW5zd2VyKSkge1xuICAgICAgY29uc3QgW18sIGlzVmFsaWQsIGVycm9yXSA9IF9hbnN3ZXI7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpc1ZhbGlkLFxuICAgICAgICBlcnJvcixcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlzVmFsaWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiBcIlwiLFxuICAgICAgfTtcbiAgICB9XG4gIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSB2YWxpZGF0b3IoYW5zd2VyKTtcbiAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uUmVzdWx0ID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiB7XG4gICAgICBpc1ZhbGlkOiBmYWxzZSxcbiAgICAgIGVycm9yOiB2YWxpZGF0aW9uUmVzdWx0LFxuICAgIH07XG4gIHJldHVybiB7XG4gICAgaXNWYWxpZDogdmFsaWRhdGlvblJlc3VsdCxcbiAgICBlcnJvcjogXCJcIixcbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFB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