@1money/component-ui 0.0.95-alpha.1 → 0.0.95-alpha.11

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 (131) hide show
  1. package/es/business/Dialog/BaseDialog/BaseDialog.d.ts +0 -1
  2. package/es/business/Dialog/BaseDialog/BaseDialog.js +43 -66
  3. package/es/business/Dialog/BaseDialog/constants.d.ts +7 -8
  4. package/es/business/Dialog/BaseDialog/constants.js +8 -9
  5. package/es/business/Dialog/VerificationDialog/VerificationDialog.js +10 -6
  6. package/es/business/Dialog/VerificationDialog/interface.d.ts +9 -2
  7. package/es/business/Dialog/variants/LoadingDialog.js +3 -3
  8. package/es/business/{PageForm → Form/PageForm}/PageForm.d.ts +1 -1
  9. package/es/business/Form/PageForm/PageForm.js +98 -0
  10. package/es/business/Form/PageForm/index.js +5 -0
  11. package/es/business/{PageForm → Form/PageForm}/interface.d.ts +10 -9
  12. package/es/business/Form/PageForm/interface.js +2 -0
  13. package/es/business/Form/ResultForm/ResultForm.d.ts +2 -0
  14. package/es/business/Form/ResultForm/ResultForm.js +38 -0
  15. package/es/business/Form/ResultForm/index.d.ts +4 -0
  16. package/es/business/Form/ResultForm/index.js +5 -0
  17. package/es/business/Form/ResultForm/interface.d.ts +10 -0
  18. package/es/business/Form/ResultForm/interface.js +2 -0
  19. package/es/business/Form/index.d.ts +3 -0
  20. package/es/business/Form/index.js +15 -0
  21. package/es/business/Form/variants/ExpiredForm.d.ts +3 -0
  22. package/es/business/Form/variants/ExpiredForm.js +21 -0
  23. package/es/business/Form/variants/FailureForm.d.ts +3 -0
  24. package/es/business/Form/variants/FailureForm.js +20 -0
  25. package/es/business/Form/variants/PendingForm.d.ts +3 -0
  26. package/es/business/Form/variants/PendingForm.js +20 -0
  27. package/es/business/Form/variants/SuccessForm.d.ts +3 -0
  28. package/es/business/Form/variants/SuccessForm.js +20 -0
  29. package/es/business/Form/variants/index.d.ts +8 -0
  30. package/es/business/Form/variants/index.js +12 -0
  31. package/es/business/index.d.ts +1 -1
  32. package/es/business/index.js +2 -2
  33. package/es/components/ActionBar/ActionBar.js +49 -19
  34. package/es/components/ActionBar/constants.d.ts +8 -0
  35. package/es/components/ActionBar/constants.js +8 -1
  36. package/es/components/ActionBar/interface.d.ts +42 -8
  37. package/es/components/ActionBar/style/ActionBar.css +3 -0
  38. package/es/components/Dialog/interface.d.ts +10 -4
  39. package/es/components/FormLayout/config.d.ts +23 -19
  40. package/es/components/FormLayout/config.js +19 -15
  41. package/es/components/FormLayout/interface.d.ts +7 -2
  42. package/es/components/PanelLayout/PanelLayout.d.ts +3 -0
  43. package/es/components/PanelLayout/PanelLayout.js +163 -0
  44. package/es/components/PanelLayout/constants.d.ts +60 -0
  45. package/es/components/PanelLayout/constants.js +48 -0
  46. package/es/components/PanelLayout/index.d.ts +6 -0
  47. package/es/components/PanelLayout/index.js +6 -0
  48. package/es/components/PanelLayout/interface.d.ts +73 -0
  49. package/es/components/PanelLayout/interface.js +2 -0
  50. package/es/components/PanelLayout/style/PanelLayout.css +56 -0
  51. package/es/components/PanelLayout/style/css.js +2 -0
  52. package/es/components/PanelLayout/style/index.d.ts +1 -0
  53. package/es/components/PanelLayout/style/index.js +2 -0
  54. package/es/index.css +1 -1
  55. package/es/index.d.ts +2 -0
  56. package/es/index.js +2 -1
  57. package/lib/business/Dialog/BaseDialog/BaseDialog.d.ts +0 -1
  58. package/lib/business/Dialog/BaseDialog/BaseDialog.js +42 -65
  59. package/lib/business/Dialog/BaseDialog/constants.d.ts +7 -8
  60. package/lib/business/Dialog/BaseDialog/constants.js +9 -10
  61. package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +10 -6
  62. package/lib/business/Dialog/VerificationDialog/interface.d.ts +9 -2
  63. package/lib/business/Dialog/variants/LoadingDialog.js +3 -3
  64. package/lib/business/{PageForm → Form/PageForm}/PageForm.d.ts +1 -1
  65. package/lib/business/Form/PageForm/PageForm.js +104 -0
  66. package/lib/business/Form/PageForm/index.js +30 -0
  67. package/lib/business/{PageForm → Form/PageForm}/interface.d.ts +10 -9
  68. package/lib/business/Form/PageForm/interface.js +6 -0
  69. package/lib/business/Form/ResultForm/ResultForm.d.ts +2 -0
  70. package/lib/business/Form/ResultForm/ResultForm.js +44 -0
  71. package/lib/business/Form/ResultForm/index.d.ts +4 -0
  72. package/lib/business/Form/ResultForm/index.js +30 -0
  73. package/lib/business/Form/ResultForm/interface.d.ts +10 -0
  74. package/lib/business/Form/ResultForm/interface.js +6 -0
  75. package/lib/business/Form/index.d.ts +3 -0
  76. package/lib/business/Form/index.js +39 -0
  77. package/lib/business/Form/variants/ExpiredForm.d.ts +3 -0
  78. package/lib/business/Form/variants/ExpiredForm.js +27 -0
  79. package/lib/business/Form/variants/FailureForm.d.ts +3 -0
  80. package/lib/business/Form/variants/FailureForm.js +26 -0
  81. package/lib/business/Form/variants/PendingForm.d.ts +3 -0
  82. package/lib/business/Form/variants/PendingForm.js +26 -0
  83. package/lib/business/Form/variants/SuccessForm.d.ts +3 -0
  84. package/lib/business/Form/variants/SuccessForm.js +26 -0
  85. package/lib/business/Form/variants/index.d.ts +8 -0
  86. package/lib/business/Form/variants/index.js +34 -0
  87. package/lib/business/index.d.ts +1 -1
  88. package/lib/business/index.js +5 -5
  89. package/lib/components/ActionBar/ActionBar.js +48 -18
  90. package/lib/components/ActionBar/constants.d.ts +8 -0
  91. package/lib/components/ActionBar/constants.js +9 -2
  92. package/lib/components/ActionBar/interface.d.ts +42 -8
  93. package/lib/components/ActionBar/style/ActionBar.css +3 -0
  94. package/lib/components/Dialog/interface.d.ts +10 -4
  95. package/lib/components/FormLayout/config.d.ts +23 -19
  96. package/lib/components/FormLayout/config.js +19 -15
  97. package/lib/components/FormLayout/interface.d.ts +7 -2
  98. package/lib/components/PanelLayout/PanelLayout.d.ts +3 -0
  99. package/lib/components/PanelLayout/PanelLayout.js +172 -0
  100. package/lib/components/PanelLayout/constants.d.ts +60 -0
  101. package/lib/components/PanelLayout/constants.js +54 -0
  102. package/lib/components/PanelLayout/index.d.ts +6 -0
  103. package/lib/components/PanelLayout/index.js +52 -0
  104. package/lib/components/PanelLayout/interface.d.ts +73 -0
  105. package/lib/components/PanelLayout/interface.js +6 -0
  106. package/lib/components/PanelLayout/style/PanelLayout.css +56 -0
  107. package/lib/components/PanelLayout/style/css.js +4 -0
  108. package/lib/components/PanelLayout/style/index.d.ts +1 -0
  109. package/lib/components/PanelLayout/style/index.js +4 -0
  110. package/lib/index.css +1 -1
  111. package/lib/index.d.ts +2 -0
  112. package/lib/index.js +14 -1
  113. package/package.json +29 -4
  114. package/scripts/mcp-server/examples.generated.json +48 -6
  115. package/scripts/mcp-server/index.generated.json +240 -7
  116. package/es/business/Dialog/BaseDialog/style/BaseDialog.css +0 -72
  117. package/es/business/Dialog/BaseDialog/style/css.js +0 -2
  118. package/es/business/Dialog/BaseDialog/style/index.d.ts +0 -1
  119. package/es/business/Dialog/BaseDialog/style/index.js +0 -2
  120. package/es/business/PageForm/PageForm.js +0 -97
  121. package/es/business/PageForm/index.js +0 -5
  122. package/es/business/PageForm/interface.js +0 -2
  123. package/lib/business/Dialog/BaseDialog/style/BaseDialog.css +0 -72
  124. package/lib/business/Dialog/BaseDialog/style/css.js +0 -4
  125. package/lib/business/Dialog/BaseDialog/style/index.d.ts +0 -1
  126. package/lib/business/Dialog/BaseDialog/style/index.js +0 -4
  127. package/lib/business/PageForm/PageForm.js +0 -103
  128. package/lib/business/PageForm/index.js +0 -30
  129. package/lib/business/PageForm/interface.js +0 -6
  130. /package/es/business/{PageForm → Form/PageForm}/index.d.ts +0 -0
  131. /package/lib/business/{PageForm → Form/PageForm}/index.d.ts +0 -0
@@ -0,0 +1,8 @@
1
+ export { SuccessForm } from './SuccessForm';
2
+ export type { SuccessFormProps } from './SuccessForm';
3
+ export { FailureForm } from './FailureForm';
4
+ export type { FailureFormProps } from './FailureForm';
5
+ export { PendingForm } from './PendingForm';
6
+ export type { PendingFormProps } from './PendingForm';
7
+ export { ExpiredForm } from './ExpiredForm';
8
+ export type { ExpiredFormProps } from './ExpiredForm';
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ExpiredForm", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _ExpiredForm.ExpiredForm;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "FailureForm", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _FailureForm.FailureForm;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "PendingForm", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _PendingForm.PendingForm;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "SuccessForm", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _SuccessForm.SuccessForm;
28
+ }
29
+ });
30
+ var _SuccessForm = require("./SuccessForm");
31
+ var _FailureForm = require("./FailureForm");
32
+ var _PendingForm = require("./PendingForm");
33
+ var _ExpiredForm = require("./ExpiredForm");
34
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0Zvcm0vc3JjL2J1c2luZXNzL0Zvcm0vdmFyaWFudHMvaW5kZXgudHMiXSwibmFtZXMiOlsiX1N1Y2Nlc3NGb3JtIiwicmVxdWlyZSIsIl9GYWlsdXJlRm9ybSIsIl9QZW5kaW5nRm9ybSIsIl9FeHBpcmVkRm9ybSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSxJQUFBQSxZQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxZQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxZQUFBLEdBQUFILE9BQUEiLCJmaWxlIjoiYnVzaW5lc3MvRm9ybS92YXJpYW50cy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,6 +1,6 @@
1
1
  export * from './Filter';
2
2
  export * from './Dialog';
3
3
  export * from './Select';
4
- export * from './PageForm';
4
+ export * from './Form';
5
5
  export { default as FieldList } from './FieldList';
6
6
  export type { FieldRow, FieldListProps } from './FieldList';
@@ -49,17 +49,17 @@ Object.keys(_Select).forEach(function (key) {
49
49
  }
50
50
  });
51
51
  });
52
- var _PageForm = require("./PageForm");
53
- Object.keys(_PageForm).forEach(function (key) {
52
+ var _Form = require("./Form");
53
+ Object.keys(_Form).forEach(function (key) {
54
54
  if (key === "default" || key === "__esModule") return;
55
55
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
56
- if (key in exports && exports[key] === _PageForm[key]) return;
56
+ if (key in exports && exports[key] === _Form[key]) return;
57
57
  Object.defineProperty(exports, key, {
58
58
  enumerable: true,
59
59
  get: function get() {
60
- return _PageForm[key];
60
+ return _Form[key];
61
61
  }
62
62
  });
63
63
  });
64
64
  var _FieldList = _interopRequireDefault(require("./FieldList"));
65
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9idXNpbmVzcy9pbmRleC50cyJdLCJuYW1lcyI6WyJfRmlsdGVyIiwicmVxdWlyZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiX2V4cG9ydE5hbWVzIiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl9EaWFsb2ciLCJfU2VsZWN0IiwiX1BhZ2VGb3JtIiwiX0ZpZWxkTGlzdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUgsT0FBQSxFQUFBSSxPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBQyxZQUFBLEVBQUFKLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFLLE9BQUEsSUFBQUEsT0FBQSxDQUFBTCxHQUFBLE1BQUFMLE9BQUEsQ0FBQUssR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxJQUFBO01BQUEsT0FBQWIsT0FBQSxDQUFBSyxHQUFBO0lBQUE7RUFBQTtBQUFBO0FBQ0EsSUFBQVMsT0FBQSxHQUFBYixPQUFBO0FBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBVyxPQUFBLEVBQUFWLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQVMsT0FBQSxDQUFBVCxHQUFBO0VBQUFILE1BQUEsQ0FBQVMsY0FBQSxDQUFBRCxPQUFBLEVBQUFMLEdBQUE7SUFBQU8sVUFBQTtJQUFBQyxHQUFBLFdBQUFBLElBQUE7TUFBQSxPQUFBQyxPQUFBLENBQUFULEdBQUE7SUFBQTtFQUFBO0FBQUE7QUFDQSxJQUFBVSxPQUFBLEdBQUFkLE9BQUE7QUFBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFZLE9BQUEsRUFBQVgsT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQUMsWUFBQSxFQUFBSixHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBSyxPQUFBLElBQUFBLE9BQUEsQ0FBQUwsR0FBQSxNQUFBVSxPQUFBLENBQUFWLEdBQUE7RUFBQUgsTUFBQSxDQUFBUyxjQUFBLENBQUFELE9BQUEsRUFBQUwsR0FBQTtJQUFBTyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFFLE9BQUEsQ0FBQVYsR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUNBLElBQUFXLFNBQUEsR0FBQWYsT0FBQTtBQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQWEsU0FBQSxFQUFBWixPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBQyxZQUFBLEVBQUFKLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFLLE9BQUEsSUFBQUEsT0FBQSxDQUFBTCxHQUFBLE1BQUFXLFNBQUEsQ0FBQVgsR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxJQUFBO01BQUEsT0FBQUcsU0FBQSxDQUFBWCxHQUFBO0lBQUE7RUFBQTtBQUFBO0FBQ0EsSUFBQVksVUFBQSxHQUFBQyxzQkFBQSxDQUFBakIsT0FBQSIsImZpbGUiOiJidXNpbmVzcy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
65
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9idXNpbmVzcy9pbmRleC50cyJdLCJuYW1lcyI6WyJfRmlsdGVyIiwicmVxdWlyZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiX2V4cG9ydE5hbWVzIiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl9EaWFsb2ciLCJfU2VsZWN0IiwiX0Zvcm0iLCJfRmllbGRMaXN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSCxPQUFBLEVBQUFJLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQUwsT0FBQSxDQUFBSyxHQUFBO0VBQUFILE1BQUEsQ0FBQVMsY0FBQSxDQUFBRCxPQUFBLEVBQUFMLEdBQUE7SUFBQU8sVUFBQTtJQUFBQyxHQUFBLFdBQUFBLElBQUE7TUFBQSxPQUFBYixPQUFBLENBQUFLLEdBQUE7SUFBQTtFQUFBO0FBQUE7QUFDQSxJQUFBUyxPQUFBLEdBQUFiLE9BQUE7QUFBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFXLE9BQUEsRUFBQVYsT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQUMsWUFBQSxFQUFBSixHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBSyxPQUFBLElBQUFBLE9BQUEsQ0FBQUwsR0FBQSxNQUFBUyxPQUFBLENBQUFULEdBQUE7RUFBQUgsTUFBQSxDQUFBUyxjQUFBLENBQUFELE9BQUEsRUFBQUwsR0FBQTtJQUFBTyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFDLE9BQUEsQ0FBQVQsR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUNBLElBQUFVLE9BQUEsR0FBQWQsT0FBQTtBQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQVksT0FBQSxFQUFBWCxPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBQyxZQUFBLEVBQUFKLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFLLE9BQUEsSUFBQUEsT0FBQSxDQUFBTCxHQUFBLE1BQUFVLE9BQUEsQ0FBQVYsR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxJQUFBO01BQUEsT0FBQUUsT0FBQSxDQUFBVixHQUFBO0lBQUE7RUFBQTtBQUFBO0FBQ0EsSUFBQVcsS0FBQSxHQUFBZixPQUFBO0FBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBYSxLQUFBLEVBQUFaLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQVcsS0FBQSxDQUFBWCxHQUFBO0VBQUFILE1BQUEsQ0FBQVMsY0FBQSxDQUFBRCxPQUFBLEVBQUFMLEdBQUE7SUFBQU8sVUFBQTtJQUFBQyxHQUFBLFdBQUFBLElBQUE7TUFBQSxPQUFBRyxLQUFBLENBQUFYLEdBQUE7SUFBQTtFQUFBO0FBQUE7QUFDQSxJQUFBWSxVQUFBLEdBQUFDLHNCQUFBLENBQUFqQixPQUFBIiwiZmlsZSI6ImJ1c2luZXNzL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -16,6 +16,14 @@ var _constants = require("./constants");
16
16
  require("./style");
17
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
19
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
20
+ var t = {};
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
22
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
24
+ }
25
+ return t;
26
+ };
19
27
  var ACTIVATION_KEYS = ['Enter', ' '];
20
28
  var renderAction = function renderAction(action, fallbackLabel, defaultColor, size) {
21
29
  var _a, _b;
@@ -35,36 +43,50 @@ var renderAction = function renderAction(action, fallbackLabel, defaultColor, si
35
43
  var Footnote = function Footnote(_ref) {
36
44
  var prompt = _ref.prompt,
37
45
  action = _ref.action,
46
+ href = _ref.href,
47
+ target = _ref.target,
48
+ rel = _ref.rel,
38
49
  onClick = _ref.onClick,
39
- divided = _ref.divided,
50
+ _ref$align = _ref.align,
51
+ align = _ref$align === void 0 ? _constants.ACTION_BAR_FOOTNOTE_DEFAULT_ALIGN : _ref$align,
40
52
  classes = _ref.classes;
41
53
  var handleKeyDown = function handleKeyDown(event) {
42
54
  if (!ACTIVATION_KEYS.includes(event.key)) return;
43
55
  event.preventDefault();
44
56
  onClick === null || onClick === void 0 ? void 0 : onClick();
45
57
  };
46
- return (0, _jsxRuntime.jsxs)("div", {
47
- className: classes(_constants.ACTION_BAR_SLOT.footnote),
48
- children: [divided && (0, _jsxRuntime.jsx)(_Divider.Divider, {}), (0, _jsxRuntime.jsxs)(_Flex.Flex, {
58
+ return (
59
+ /*
60
+ DS footnote type (Figma "Dialog Body" 39571-18982): 12/16 throughout —
61
+ the prompt is regular-weight tertiary, the action medium-weight brand
62
+ and underlined. Deliberately one step below the body copy above it.
63
+ */
64
+ (0, _jsxRuntime.jsxs)(_Flex.Flex, {
65
+ className: classes(_constants.ACTION_BAR_SLOT.footnote),
49
66
  align: 'center',
50
- justify: 'center',
67
+ justify: align,
51
68
  gap: 4,
52
69
  children: [prompt && (0, _jsxRuntime.jsx)(_Typography.Typography.Body, {
53
- size: 'md',
54
- strong: true,
70
+ size: 'sm',
55
71
  color: 'default-tertiary',
56
72
  children: prompt
57
73
  }), action && (0, _jsxRuntime.jsx)(_Typography.Typography.Link, {
58
- size: 'md',
74
+ size: 'sm',
59
75
  color: 'brand',
60
- role: 'button',
61
- tabIndex: 0,
76
+ href: href,
77
+ target: target,
78
+ rel: rel,
79
+ // A real destination makes this a link; without one it is a
80
+ // control that happens to look like one, so it keeps the button
81
+ // semantics and the keyboard activation that go with that.
82
+ role: href ? undefined : 'button',
83
+ tabIndex: href ? undefined : 0,
62
84
  onClick: onClick,
63
- onKeyDown: handleKeyDown,
85
+ onKeyDown: href ? undefined : handleKeyDown,
64
86
  children: action
65
87
  })]
66
- })]
67
- });
88
+ })
89
+ );
68
90
  };
69
91
  /**
70
92
  * Footer action engine shared by every form/dialog surface. Order and tones
@@ -89,6 +111,8 @@ var ActionBarBase = function ActionBarBase(_ref2) {
89
111
  var classes = (0, _classnames["default"])(prefixCls);
90
112
  var vertical = direction === 'vertical';
91
113
  var buttonSize = _constants.ACTION_BAR_BUTTON_SIZE[layout];
114
+ // One row or many — normalized so the render path never branches on shape.
115
+ var footnotes = footnote ? Array.isArray(footnote) ? footnote : [footnote] : [];
92
116
  // Default order: horizontal → secondary left of primary; vertical →
93
117
  // primary on top. An explicit `action.order` overrides either.
94
118
  var items = [secondary && {
@@ -104,7 +128,7 @@ var ActionBarBase = function ActionBarBase(_ref2) {
104
128
  }).sort(function (a, b) {
105
129
  return a.order - b.order;
106
130
  });
107
- if (!items.length && !footnote) return null;
131
+ if (!items.length && !footnotes.length) return null;
108
132
  return (0, _jsxRuntime.jsxs)(_Flex.Flex, {
109
133
  vertical: true,
110
134
  gap: 16,
@@ -117,10 +141,16 @@ var ActionBarBase = function ActionBarBase(_ref2) {
117
141
  children: item.node
118
142
  }, item.key);
119
143
  })
120
- }), footnote && (0, _jsxRuntime.jsx)(Footnote, Object.assign({}, footnote, {
121
- classes: classes
122
- }))]
144
+ }), footnotes.map(function (_a, index) {
145
+ var divided = _a.divided,
146
+ row = __rest(_a, ["divided"]);
147
+ return (0, _jsxRuntime.jsxs)(_react.Fragment, {
148
+ children: [divided && (0, _jsxRuntime.jsx)(_Divider.Divider, {}), (0, _jsxRuntime.jsx)(Footnote, Object.assign({}, row, {
149
+ classes: classes
150
+ }))]
151
+ }, index);
152
+ })]
123
153
  });
124
154
  };
125
155
  var ActionBar = exports.ActionBar = /*#__PURE__*/(0, _react.memo)(ActionBarBase);
126
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0J1dHRvbiIsIl9EaXZpZGVyIiwiX0ZsZXgiLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiQUNUSVZBVElPTl9LRVlTIiwicmVuZGVyQWN0aW9uIiwiYWN0aW9uIiwiZmFsbGJhY2tMYWJlbCIsImRlZmF1bHRDb2xvciIsInNpemUiLCJfYSIsIl9iIiwiX2pzeCIsIkJ1dHRvbiIsInZhcmlhbnQiLCJjb2xvciIsImljb25TdGFydCIsImljb24iLCJsb2FkaW5nIiwiZGlzYWJsZWQiLCJvbkNsaWNrIiwidHlwZSIsImZvcm0iLCJjaGlsZHJlbiIsImxhYmVsIiwiRm9vdG5vdGUiLCJfcmVmIiwicHJvbXB0IiwiZGl2aWRlZCIsImNsYXNzZXMiLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJpbmNsdWRlcyIsImtleSIsInByZXZlbnREZWZhdWx0IiwiX2pzeHMiLCJjbGFzc05hbWUiLCJBQ1RJT05fQkFSX1NMT1QiLCJmb290bm90ZSIsIkRpdmlkZXIiLCJGbGV4IiwiYWxpZ24iLCJqdXN0aWZ5IiwiZ2FwIiwiVHlwb2dyYXBoeSIsIkJvZHkiLCJzdHJvbmciLCJMaW5rIiwicm9sZSIsInRhYkluZGV4Iiwib25LZXlEb3duIiwiQWN0aW9uQmFyQmFzZSIsIl9yZWYyIiwiX3JlZjIkbGF5b3V0IiwibGF5b3V0IiwiX3JlZjIkZGlyZWN0aW9uIiwiZGlyZWN0aW9uIiwicHJpbWFyeSIsInByaW1hcnlTbG90Iiwic2Vjb25kYXJ5IiwiX3JlZjIkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiQUNUSU9OX0JBUl9QUkVGSVgiLCJfYyIsIl9kIiwiY2xhc3NuYW1lcyIsInZlcnRpY2FsIiwiYnV0dG9uU2l6ZSIsIkFDVElPTl9CQVJfQlVUVE9OX1NJWkUiLCJpdGVtcyIsIm9yZGVyIiwibm9kZSIsIkFDVElPTl9CQVJfREVGQVVMVFMiLCJzZWNvbmRhcnlMYWJlbCIsInNlY29uZGFyeUNvbG9yIiwicHJpbWFyeUxhYmVsIiwicHJpbWFyeUNvbG9yIiwidW5kZWZpbmVkIiwiZmlsdGVyIiwiaXRlbSIsIkJvb2xlYW4iLCJzb3J0IiwiYiIsImxlbmd0aCIsImpvaW5DbHMiLCJhY3Rpb25zIiwibWFwIiwiRnJhZ21lbnQiLCJhc3NpZ24iLCJBY3Rpb25CYXIiLCJleHBvcnRzIiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBQVVBQSxPQUFBO0FBQWlCLFNBQUFTLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFG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UUFBUSxFQUFBLElBQUE7SUFDUnZCLEdBQUcsRUFBRSxFQUFFO0lBQ1BQLFNBQVMsRUFBRSxJQUFBZ0QsbUJBQU8sRUFBQ3ZELE9BQU8sQ0FBQSxDQUFFLEVBQUVBLE9BQU8sQ0FBQ3lCLE1BQU0sQ0FBQyxFQUFFekIsT0FBTyxDQUFDMkIsU0FBUyxDQUFDLEVBQUVwQixTQUFTLENBQUM7SUFBQWIsUUFBQSxFQUFBLENBRTVFOEMsS0FBSyxDQUFDYyxNQUFNLEdBQUcsQ0FBQyxJQUNmLElBQUF2RSxlQUFBLEVBQUM0QixVQUFJLEVBQUE7TUFBQzBCLFFBQVEsRUFBRUEsUUFBUTtNQUFFOUIsU0FBUyxFQUFFUCxPQUFPLENBQUNRLDBCQUFlLENBQUNnRCxPQUFPLENBQUM7TUFBQTlELFFBQUEsRUFDbEU4QyxLQUFLLENBQUNpQixHQUFHLENBQUMsVUFBQ1AsSUFBSTtRQUFBLE9BQ2QsSUFBQW5FLGVBQUEsRUFBQzJFLGVBQVEsRUFBQTtVQUFBaEUsUUFBQSxFQUFpQndELElBQUksQ0FBQ1I7UUFBSSxDQUFBLEVBQXBCUSxJQUFJLENBQUM5QyxHQUFHLENBQXdCO01BQUEsQ0FDaEQ7SUFBQyxDQUFBLENBRUwsRUFDQUssUUFBUSxJQUFJLElBQUExQixlQUFBLEVBQUNhLFFBQVEsRUFBQTdCLE1BQUEsQ0FBQTRGLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBS2xELFFBQVEsRUFBQTtNQUFFVCxPQUFPLEVBQUVBO0lBQU8sQ0FBQSxDQUFBLENBQUk7RUFBQSxDQUFBLENBQ3BEO0FBRVgsQ0FBQztBQUVNLElBQU00RCxTQUFTLEdBQUFDLE9BQUEsQ0FBQUQsU0FBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUN4QyxhQUFhLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9BY3Rpb25CYXIvQWN0aW9uQmFyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJztcbmltcG9ydCB7IERpdmlkZXIgfSBmcm9tICcuLi9EaXZpZGVyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi9GbGV4JztcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQUNUSU9OX0JBUl9CVVRUT05fU0laRSwgQUNUSU9OX0JBUl9ERUZBVUxUUywgQUNUSU9OX0JBUl9QUkVGSVgsIEFDVElPTl9CQVJfU0xPVCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgQUNUSVZBVElPTl9LRVlTID0gWydFbnRlcicsICcgJ107XG5jb25zdCByZW5kZXJBY3Rpb24gPSAoYWN0aW9uLCBmYWxsYmFja0xhYmVsLCBkZWZhdWx0Q29sb3IsIHNpemUpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIHJldHVybiAoX2pzeChCdXR0b24sIHsgc2l6ZTogc2l6ZSwgdmFyaWFudDogYWN0aW9uLnZhcmlhbnQsIGNvbG9yOiAoX2EgPSBhY3Rpb24uY29sb3IpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGRlZmF1bHRDb2xvciwgaWNvblN0YXJ0OiBhY3Rpb24uaWNvbiwgbG9hZGluZzogYWN0aW9uLmxvYWRpbmcsIGRpc2FibGVkOiBhY3Rpb24uZGlzYWJsZWQsIG9uQ2xpY2s6IGFjdGlvbi5vbkNsaWNrLCB0eXBlOiBhY3Rpb24udHlwZSwgZm9ybTogYWN0aW9uLmZvcm0sIGNoaWxkcmVuOiAoX2IgPSBhY3Rpb24ubGFiZWwpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGZhbGxiYWNrTGFiZWwgfSkpO1xufTtcbmNvbnN0IEZvb3Rub3RlID0gKHsgcHJvbXB0LCBhY3Rpb24sIG9uQ2xpY2ssIGRpdmlkZWQsIGNsYXNzZXMsIH0pID0+IHtcbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghQUNUSVZBVElPTl9LRVlTLmluY2x1ZGVzKGV2ZW50LmtleSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljaygpO1xuICAgIH07XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcyhBQ1RJT05fQkFSX1NMT1QuZm9vdG5vdGUpLCBjaGlsZHJlbjogW2RpdmlkZWQgJiYgX2pzeChEaXZpZGVyLCB7fSksIF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnY2VudGVyJywgZ2FwOiA0LCBjaGlsZHJlbjogW3Byb21wdCAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjaGlsZHJlbjogcHJvbXB0IH0pKSwgYWN0aW9uICYmIChfanN4KFR5cG9ncmFwaHkuTGluaywgeyBzaXplOiAnbWQnLCBjb2xvcjogJ2JyYW5kJywgcm9sZTogJ2J1dHRvbicsIHRhYkluZGV4OiAwLCBvbkNsaWNrOiBvbkNsaWNrLCBvbktleURvd246IGhhbmRsZUtleURvd24sIGNoaWxkcmVuOiBhY3Rpb24gfSkpXSB9KV0gfSkpO1xufTtcbi8qKlxuICogRm9vdGVyIGFjdGlvbiBlbmdpbmUgc2hhcmVkIGJ5IGV2ZXJ5IGZvcm0vZGlhbG9nIHN1cmZhY2UuIE9yZGVyIGFuZCB0b25lc1xuICogYXJlIGxvY2tlZCAoc2Vjb25kYXJ5IGxlZnQsIHByaW1hcnkgcmlnaHQpOyB0aGUgYGxheW91dGAg4oCUIGNob3NlbiBieSB0aGVcbiAqIHNjZW5hcmlvIHNoZWxsLCBuZXZlciBieSBidXNpbmVzcyBjb2RlIOKAlCBkZWNpZGVzIHRoZSB0d28gRFMgZm9vdGVyIHNoYXBlczpcbiAqIGBmaWxsYCAocm93LXNoYXJpbmcgbGFyZ2UgYnV0dG9ucykgb3IgYGNvbXBhY3RgIChhdXRvLXdpZHRoIG1lZGl1bSBidXR0b25zLFxuICogbGVmdC1hbGlnbmVkKS5cbiAqL1xuY29uc3QgQWN0aW9uQmFyQmFzZSA9ICh7IGxheW91dCA9ICdmaWxsJywgZGlyZWN0aW9uID0gJ2hvcml6b250YWwnLCBwcmltYXJ5LCBwcmltYXJ5U2xvdCwgc2Vjb25kYXJ5LCBmb290bm90ZSwgcHJlZml4Q2xzID0gQUNUSU9OX0JBUl9QUkVGSVgsIGNsYXNzTmFtZSwgfSkgPT4ge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IHZlcnRpY2FsID0gZGlyZWN0aW9uID09PSAndmVydGljYWwnO1xuICAgIGNvbnN0IGJ1dHRvblNpemUgPSBBQ1RJT05fQkFSX0JVVFRPTl9TSVpFW2xheW91dF07XG4gICAgLy8gRGVmYXVsdCBvcmRlcjogaG9yaXpvbnRhbCDihpIgc2Vjb25kYXJ5IGxlZnQgb2YgcHJpbWFyeTsgdmVydGljYWwg4oaSXG4gICAgLy8gcHJpbWFyeSBvbiB0b3AuIEFuIGV4cGxpY2l0IGBhY3Rpb24ub3JkZXJgIG92ZXJyaWRlcyBlaXRoZXIuXG4gICAgY29uc3QgaXRlbXMgPSBbXG4gICAgICAgIHNlY29uZGFyeSAmJiB7XG4gICAgICAgICAgICBrZXk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgb3JkZXI6IChfYSA9IHNlY29uZGFyeS5vcmRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogKHZlcnRpY2FsID8gMSA6IDApLFxuICAgICAgICAgICAgbm9kZTogcmVuZGVyQWN0aW9uKHNlY29uZGFyeSwgQUNUSU9OX0JBUl9ERUZBVUxUUy5zZWNvbmRhcnlMYWJlbCwgQUNUSU9OX0JBUl9ERUZBVUxUUy5zZWNvbmRhcnlDb2xvciwgKF9iID0gc2Vjb25kYXJ5LnNpemUpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGJ1dHRvblNpemUpLFxuICAgICAgICB9LFxuICAgICAgICAocHJpbWFyeSB8fCBwcmltYXJ5U2xvdCAhPSBudWxsKSA/IHtcbiAgICAgICAgICAgIGtleTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgb3JkZXI6IChfYyA9IHByaW1hcnkgPT09IG51bGwgfHwgcHJpbWFyeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJpbWFyeS5vcmRlcikgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogKHZlcnRpY2FsID8gMCA6IDEpLFxuICAgICAgICAgICAgbm9kZTogcHJpbWFyeVNsb3QgIT09IG51bGwgJiYgcHJpbWFyeVNsb3QgIT09IHZvaWQgMCA/IHByaW1hcnlTbG90IDogcmVuZGVyQWN0aW9uKHByaW1hcnksIEFDVElPTl9CQVJfREVGQVVMVFMucHJpbWFyeUxhYmVsLCBBQ1RJT05fQkFSX0RFRkFVTFRTLnByaW1hcnlDb2xvciwgKF9kID0gcHJpbWFyeS5zaXplKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiBidXR0b25TaXplKSxcbiAgICAgICAgfSA6IHVuZGVmaW5lZCxcbiAgICBdXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IEJvb2xlYW4oaXRlbSkpXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gICAgaWYgKCFpdGVtcy5sZW5ndGggJiYgIWZvb3Rub3RlKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgdmVydGljYWw6IHRydWUsIGdhcDogMTYsIGNsYXNzTmFtZTogam9pbkNscyhjbGFzc2VzKCksIGNsYXNzZXMobGF5b3V0KSwgY2xhc3NlcyhkaXJlY3Rpb24pLCBjbGFzc05hbWUpLCBjaGlsZHJlbjogW2l0ZW1zLmxlbmd0aCA+IDAgJiYgKF9qc3goRmxleCwgeyB2ZXJ0aWNhbDogdmVydGljYWwsIGNsYXNzTmFtZTogY2xhc3NlcyhBQ1RJT05fQkFSX1NMT1QuYWN0aW9ucyksIGNoaWxkcmVuOiBpdGVtcy5tYXAoKGl0ZW0pID0+IChfanN4KEZyYWdtZW50LCB7IGNoaWxkcmVuOiBpdGVtLm5vZGUgfSwgaXRlbS5rZXkpKSkgfSkpLCBmb290bm90ZSAmJiBfanN4KEZvb3Rub3RlLCBPYmplY3QuYXNzaWduKHt9LCBmb290bm90ZSwgeyBjbGFzc2VzOiBjbGFzc2VzIH0pKV0gfSkpO1xufTtcbmV4cG9ydCBjb25zdCBBY3Rpb25CYXIgPSBtZW1vKEFjdGlvbkJhckJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
156
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0J1dHRvbiIsIl9EaXZpZGVyIiwiX0ZsZXgiLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX19yZXN0IiwicyIsInAiLCJwcm90b3R5cGUiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJBQ1RJVkFUSU9OX0tFWVMiLCJyZW5kZXJBY3Rpb24iLCJhY3Rpb24iLCJmYWxsYmFja0xhYmVsIiwiZGVmYXVsdENvbG9yIiwic2l6ZSIsIl9hIiwiX2IiLCJfanN4IiwiQnV0dG9uIiwidmFyaWFudCIsImNvbG9yIiwiaWNvblN0YXJ0IiwiaWNvbiIsImxvYWRpbmciLCJkaXNhYmxlZCIsIm9uQ2xpY2siLCJ0eXBlIiwiZm9ybSIsImNoaWxkcmVuIiwibGFiZWwiLCJGb290bm90ZSIsIl9yZWYiLCJwcm9tcHQiLCJocmVmIiwidGFyZ2V0IiwicmVsIiwiX3JlZiRhbGlnbiIsImFsaWduIiwiQUNUSU9OX0JBUl9GT09UTk9URV9ERUZBVUxUX0FMSUdOIiwiY2xhc3NlcyIsImhhbmRsZUtleURvd24iLCJldmVudCIsImluY2x1ZGVzIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJfanN4cyIsIkZsZXgiLCJjbGFzc05hbWUiLCJBQ1RJT05fQkFSX1NMT1QiLCJmb290bm90ZSIsImp1c3RpZnkiLCJnYXAiLCJUeXBvZ3JhcGh5IiwiQm9keSIsIkxpbmsiLCJyb2xlIiwidW5kZWZpbmVkIiwidGFiSW5kZXgiLCJvbktleURvd24iLCJBY3Rpb25CYXJCYXNlIiwiX3JlZjIiLCJfcmVmMiRsYXlvdXQiLCJsYXlvdXQiLCJfcmVmMiRkaXJlY3Rpb24iLCJkaXJlY3Rpb24iLCJwcmltYXJ5IiwicHJpbWFyeVNsb3QiLCJzZWNvbmRhcnkiLCJfcmVmMiRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJBQ1RJT05fQkFSX1BSRUZJWCIsIl9jIiwiX2QiLCJjbGFzc25hbWVzIiwidmVydGljYWwiLCJidXR0b25TaXplIiwiQUNUSU9OX0JBUl9CVVRUT05fU0laRSIsImZvb3Rub3RlcyIsIkFycmF5IiwiaXNBcnJheSIsIml0ZW1zIiwib3JkZXIiLCJub2RlIiwiQUNUSU9OX0JBUl9ERUZBVUxUUyIsInNlY29uZGFyeUxhYmVsIiwic2Vjb25kYXJ5Q29sb3IiLCJwcmltYXJ5TGFiZWwiLCJwcmltYXJ5Q29sb3IiLCJmaWx0ZXIiLCJpdGVtIiwiQm9vbGVhbiIsInNvcnQiLCJiIiwiam9pbkNscyIsImFjdGlvbnMiLCJtYXAiLCJGcmFnbWVudCIsImluZGV4IiwiZGl2aWRlZCIsInJvdyIsIkRpdmlkZXIiLCJhc3NpZ24iLCJBY3Rpb25CYXIiLCJleHBvcnRzIiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQVAs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LENBQ2hEO0lBQUMsQ0FBQSxDQUVMLEVBT0FrQyxTQUFTLENBQUNrQixHQUFHLENBQUMsVUFBQ2hGLEVBQW1CLEVBQUVrRixLQUFLLEVBQUk7TUFBOUIsSUFBRUMsT0FBTyxHQUFBbkYsRUFBVSxDQUFqQm1GLE9BQU87UUFBS0MsR0FBRyxHQUFBbEcsTUFBQSxDQUFBYyxFQUFBLEVBQWpCLENBQUEsU0FBQSxDQUFtQixDQUFGO01BQWMsT0FDN0MsSUFBQThCLGdCQUFBLEVBQUNtRCxlQUFRLEVBQUE7UUFBQXBFLFFBQUEsRUFBQSxDQUNOc0UsT0FBTyxJQUFJLElBQUFqRixlQUFBLEVBQUNtRixnQkFBTyxFQUFBLENBQUEsQ0FBQSxDQUFHLEVBQ3ZCLElBQUFuRixlQUFBLEVBQUNhLFFBQVEsRUFBQXJDLE1BQUEsQ0FBQTRHLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBS0YsR0FBRyxFQUFBO1VBQUU1RCxPQUFPLEVBQUVBO1FBQU8sQ0FBQSxDQUFBLENBQUk7TUFBQSxDQUFBLEVBRjFCMEQsS0FBSyxDQUdUO0lEeEZQLENDeUZMLENBQUM7RUFBQSxDQUFBLENBQ0c7QUFFWCxDQUFDO0FBRU0sSUFBTUssU0FBUyxHQUFBQyxPQUFBLENBQUFELFNBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDN0MsYUFBYSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbic7XG5pbXBvcnQgeyBEaXZpZGVyIH0gZnJvbSAnLi4vRGl2aWRlcic7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vRmxleCc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEFDVElPTl9CQVJfQlVUVE9OX1NJWkUsIEFDVElPTl9CQVJfREVGQVVMVFMsIEFDVElPTl9CQVJfRk9PVE5PVEVfREVGQVVMVF9BTElHTiwgQUNUSU9OX0JBUl9QUkVGSVgsIEFDVElPTl9CQVJfU0xPVCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgQUNUSVZBVElPTl9LRVlTID0gWydFbnRlcicsICcgJ107XG5jb25zdCByZW5kZXJBY3Rpb24gPSAoYWN0aW9uLCBmYWxsYmFja0xhYmVsLCBkZWZhdWx0Q29sb3IsIHNpemUpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIHJldHVybiAoX2pzeChCdXR0b24sIHsgc2l6ZTogc2l6ZSwgdmFyaWFudDogYWN0aW9uLnZhcmlhbnQsIGNvbG9yOiAoX2EgPSBhY3Rpb24uY29sb3IpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGRlZmF1bHRDb2xvciwgaWNvblN0YXJ0OiBhY3Rpb24uaWNvbiwgbG9hZGluZzogYWN0aW9uLmxvYWRpbmcsIGRpc2FibGVkOiBhY3Rpb24uZGlzYWJsZWQsIG9uQ2xpY2s6IGFjdGlvbi5vbkNsaWNrLCB0eXBlOiBhY3Rpb24udHlwZSwgZm9ybTogYWN0aW9uLmZvcm0sIGNoaWxkcmVuOiAoX2IgPSBhY3Rpb24ubGFiZWwpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGZhbGxiYWNrTGFiZWwgfSkpO1xufTtcbmNvbnN0IEZvb3Rub3RlID0gKHsgcHJvbXB0LCBhY3Rpb24sIGhyZWYsIHRhcmdldCwgcmVsLCBvbkNsaWNrLCBhbGlnbiA9IEFDVElPTl9CQVJfRk9PVE5PVEVfREVGQVVMVF9BTElHTiwgY2xhc3NlcywgfSkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCFBQ1RJVkFUSU9OX0tFWVMuaW5jbHVkZXMoZXZlbnQua2V5KSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25DbGljayA9PT0gbnVsbCB8fCBvbkNsaWNrID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNsaWNrKCk7XG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgIC8qXG4gICAgICBEUyBmb290bm90ZSB0eXBlIChGaWdtYSBcIkRpYWxvZyBCb2R5XCIgMzk1NzEtMTg5ODIpOiAxMi8xNiB0aHJvdWdob3V0IOKAlFxuICAgICAgdGhlIHByb21wdCBpcyByZWd1bGFyLXdlaWdodCB0ZXJ0aWFyeSwgdGhlIGFjdGlvbiBtZWRpdW0td2VpZ2h0IGJyYW5kXG4gICAgICBhbmQgdW5kZXJsaW5lZC4gRGVsaWJlcmF0ZWx5IG9uZSBzdGVwIGJlbG93IHRoZSBib2R5IGNvcHkgYWJvdmUgaXQuXG4gICAgKi9cbiAgICBfanN4cyhGbGV4LCB7IGNsYXNzTmFtZTogY2xhc3NlcyhBQ1RJT05fQkFSX1NMT1QuZm9vdG5vdGUpLCBhbGlnbjogJ2NlbnRlcicsIGp1c3RpZnk6IGFsaWduLCBnYXA6IDQsIGNoaWxkcmVuOiBbcHJvbXB0ICYmIChfanN4KFR5cG9ncmFwaHkuQm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjaGlsZHJlbjogcHJvbXB0IH0pKSwgYWN0aW9uICYmIChfanN4KFR5cG9ncmFwaHkuTGluaywgeyBzaXplOiAnc20nLCBjb2xvcjogJ2JyYW5kJywgaHJlZjogaHJlZiwgdGFyZ2V0OiB0YXJnZXQsIHJlbDogcmVsLCBcbiAgICAgICAgICAgICAgICAvLyBBIHJlYWwgZGVzdGluYXRpb24gbWFrZXMgdGhpcyBhIGxpbms7IHdpdGhvdXQgb25lIGl0IGlzIGFcbiAgICAgICAgICAgICAgICAvLyBjb250cm9sIHRoYXQgaGFwcGVucyB0byBsb29rIGxpa2Ugb25lLCBzbyBpdCBrZWVwcyB0aGUgYnV0dG9uXG4gICAgICAgICAgICAgICAgLy8gc2VtYW50aWNzIGFuZCB0aGUga2V5Ym9hcmQgYWN0aXZhdGlvbiB0aGF0IGdvIHdpdGggdGhhdC5cbiAgICAgICAgICAgICAgICByb2xlOiBocmVmID8gdW5kZWZpbmVkIDogJ2J1dHRvbicsIHRhYkluZGV4OiBocmVmID8gdW5kZWZpbmVkIDogMCwgb25DbGljazogb25DbGljaywgb25LZXlEb3duOiBocmVmID8gdW5kZWZpbmVkIDogaGFuZGxlS2V5RG93biwgY2hpbGRyZW46IGFjdGlvbiB9KSldIH0pKTtcbn07XG4vKipcbiAqIEZvb3RlciBhY3Rpb24gZW5naW5lIHNoYXJlZCBieSBldmVyeSBmb3JtL2RpYWxvZyBzdXJmYWNlLiBPcmRlciBhbmQgdG9uZXNcbiAqIGFyZSBsb2NrZWQgKHNlY29uZGFyeSBsZWZ0LCBwcmltYXJ5IHJpZ2h0KTsgdGhlIGBsYXlvdXRgIOKAlCBjaG9zZW4gYnkgdGhlXG4gKiBzY2VuYXJpbyBzaGVsbCwgbmV2ZXIgYnkgYnVzaW5lc3MgY29kZSDigJQgZGVjaWRlcyB0aGUgdHdvIERTIGZvb3RlciBzaGFwZXM6XG4gKiBgZmlsbGAgKHJvdy1zaGFyaW5nIGxhcmdlIGJ1dHRvbnMpIG9yIGBjb21wYWN0YCAoYXV0by13aWR0aCBtZWRpdW0gYnV0dG9ucyxcbiAqIGxlZnQtYWxpZ25lZCkuXG4gKi9cbmNvbnN0IEFjdGlvbkJhckJhc2UgPSAoeyBsYXlvdXQgPSAnZmlsbCcsIGRpcmVjdGlvbiA9ICdob3Jpem9udGFsJywgcHJpbWFyeSwgcHJpbWFyeVNsb3QsIHNlY29uZGFyeSwgZm9vdG5vdGUsIHByZWZpeENscyA9IEFDVElPTl9CQVJfUFJFRklYLCBjbGFzc05hbWUsIH0pID0+IHtcbiAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCB2ZXJ0aWNhbCA9IGRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJztcbiAgICBjb25zdCBidXR0b25TaXplID0gQUNUSU9OX0JBUl9CVVRUT05fU0laRVtsYXlvdXRdO1xuICAgIC8vIE9uZSByb3cgb3IgbWFueSDigJQgbm9ybWFsaXplZCBzbyB0aGUgcmVuZGVyIHBhdGggbmV2ZXIgYnJhbmNoZXMgb24gc2hhcGUuXG4gICAgY29uc3QgZm9vdG5vdGVzID0gZm9vdG5vdGUgPyAoQXJyYXkuaXNBcnJheShmb290bm90ZSkgPyBmb290bm90ZSA6IFtmb290bm90ZV0pIDogW107XG4gICAgLy8gRGVmYXVsdCBvcmRlcjogaG9yaXpvbnRhbCDihpIgc2Vjb25kYXJ5IGxlZnQgb2YgcHJpbWFyeTsgdmVydGljYWwg4oaSXG4gICAgLy8gcHJpbWFyeSBvbiB0b3AuIEFuIGV4cGxpY2l0IGBhY3Rpb24ub3JkZXJgIG92ZXJyaWRlcyBlaXRoZXIuXG4gICAgY29uc3QgaXRlbXMgPSBbXG4gICAgICAgIHNlY29uZGFyeSAmJiB7XG4gICAgICAgICAgICBrZXk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgb3JkZXI6IChfYSA9IHNlY29uZGFyeS5vcmRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogKHZlcnRpY2FsID8gMSA6IDApLFxuICAgICAgICAgICAgbm9kZTogcmVuZGVyQWN0aW9uKHNlY29uZGFyeSwgQUNUSU9OX0JBUl9ERUZBVUxUUy5zZWNvbmRhcnlMYWJlbCwgQUNUSU9OX0JBUl9ERUZBVUxUUy5zZWNvbmRhcnlDb2xvciwgKF9iID0gc2Vjb25kYXJ5LnNpemUpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGJ1dHRvblNpemUpLFxuICAgICAgICB9LFxuICAgICAgICAocHJpbWFyeSB8fCBwcmltYXJ5U2xvdCAhPSBudWxsKSA/IHtcbiAgICAgICAgICAgIGtleTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgb3JkZXI6IChfYyA9IHByaW1hcnkgPT09IG51bGwgfHwgcHJpbWFyeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJpbWFyeS5vcmRlcikgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogKHZlcnRpY2FsID8gMCA6IDEpLFxuICAgICAgICAgICAgbm9kZTogcHJpbWFyeVNsb3QgIT09IG51bGwgJiYgcHJpbWFyeVNsb3QgIT09IHZvaWQgMCA/IHByaW1hcnlTbG90IDogcmVuZGVyQWN0aW9uKHByaW1hcnksIEFDVElPTl9CQVJfREVGQVVMVFMucHJpbWFyeUxhYmVsLCBBQ1RJT05fQkFSX0RFRkFVTFRTLnByaW1hcnlDb2xvciwgKF9kID0gcHJpbWFyeS5zaXplKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiBidXR0b25TaXplKSxcbiAgICAgICAgfSA6IHVuZGVmaW5lZCxcbiAgICBdXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IEJvb2xlYW4oaXRlbSkpXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gICAgaWYgKCFpdGVtcy5sZW5ndGggJiYgIWZvb3Rub3Rlcy5sZW5ndGgpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiAoX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiAxNiwgY2xhc3NOYW1lOiBqb2luQ2xzKGNsYXNzZXMoKSwgY2xhc3NlcyhsYXlvdXQpLCBjbGFzc2VzKGRpcmVjdGlvbiksIGNsYXNzTmFtZSksIGNoaWxkcmVuOiBbaXRlbXMubGVuZ3RoID4gMCAmJiAoX2pzeChGbGV4LCB7IHZlcnRpY2FsOiB2ZXJ0aWNhbCwgY2xhc3NOYW1lOiBjbGFzc2VzKEFDVElPTl9CQVJfU0xPVC5hY3Rpb25zKSwgY2hpbGRyZW46IGl0ZW1zLm1hcCgoaXRlbSkgPT4gKF9qc3goRnJhZ21lbnQsIHsgY2hpbGRyZW46IGl0ZW0ubm9kZSB9LCBpdGVtLmtleSkpKSB9KSksIGZvb3Rub3Rlcy5tYXAoKF9hLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciB7IGRpdmlkZWQgfSA9IF9hLCByb3cgPSBfX3Jlc3QoX2EsIFtcImRpdmlkZWRcIl0pO1xuICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeHMoRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtkaXZpZGVkICYmIF9qc3goRGl2aWRlciwge30pLCBfanN4KEZvb3Rub3RlLCBPYmplY3QuYXNzaWduKHt9LCByb3csIHsgY2xhc3NlczogY2xhc3NlcyB9KSldIH0sIGluZGV4KSk7XG4gICAgICAgICAgICB9KV0gfSkpO1xufTtcbmV4cG9ydCBjb25zdCBBY3Rpb25CYXIgPSBtZW1vKEFjdGlvbkJhckJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -22,6 +22,14 @@ export type ActionBarLayout = (typeof ACTION_BAR_LAYOUTS)[number];
22
22
  * "Dialog Body" spec).
23
23
  */
24
24
  export declare const ACTION_BAR_BUTTON_SIZE: Record<ActionBarLayout, ButtonSize>;
25
+ /**
26
+ * Footnote row alignment. The DS uses `center` for a prompt + action pair and
27
+ * `start` for a bare action link sitting under the buttons (the auth card's
28
+ * "Forgot your password?", Figma 39579:28516).
29
+ */
30
+ export declare const ACTION_BAR_FOOTNOTE_ALIGNS: readonly ["center", "start"];
31
+ export type ActionBarFootnoteAlign = (typeof ACTION_BAR_FOOTNOTE_ALIGNS)[number];
32
+ export declare const ACTION_BAR_FOOTNOTE_DEFAULT_ALIGN: ActionBarFootnoteAlign;
25
33
  export declare const ACTION_BAR_SLOT: {
26
34
  readonly root: "root";
27
35
  readonly actions: "actions";
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ACTION_BAR_SLOT = exports.ACTION_BAR_PREFIX = exports.ACTION_BAR_LAYOUTS = exports.ACTION_BAR_DIRECTIONS = exports.ACTION_BAR_DEFAULTS = exports.ACTION_BAR_BUTTON_SIZE = void 0;
6
+ exports.ACTION_BAR_SLOT = exports.ACTION_BAR_PREFIX = exports.ACTION_BAR_LAYOUTS = exports.ACTION_BAR_FOOTNOTE_DEFAULT_ALIGN = exports.ACTION_BAR_FOOTNOTE_ALIGNS = exports.ACTION_BAR_DIRECTIONS = exports.ACTION_BAR_DEFAULTS = exports.ACTION_BAR_BUTTON_SIZE = void 0;
7
7
  var ACTION_BAR_PREFIX = exports.ACTION_BAR_PREFIX = 'action-bar';
8
8
  /**
9
9
  * Generic, overridable UI vocabulary — NOT product copy. Scenario copy
@@ -28,9 +28,16 @@ var ACTION_BAR_BUTTON_SIZE = exports.ACTION_BAR_BUTTON_SIZE = {
28
28
  fill: 'large',
29
29
  compact: 'medium'
30
30
  };
31
+ /**
32
+ * Footnote row alignment. The DS uses `center` for a prompt + action pair and
33
+ * `start` for a bare action link sitting under the buttons (the auth card's
34
+ * "Forgot your password?", Figma 39579:28516).
35
+ */
36
+ var ACTION_BAR_FOOTNOTE_ALIGNS = exports.ACTION_BAR_FOOTNOTE_ALIGNS = ['center', 'start'];
37
+ var ACTION_BAR_FOOTNOTE_DEFAULT_ALIGN = exports.ACTION_BAR_FOOTNOTE_DEFAULT_ALIGN = 'center';
31
38
  var ACTION_BAR_SLOT = exports.ACTION_BAR_SLOT = {
32
39
  root: 'root',
33
40
  actions: 'actions',
34
41
  footnote: 'footnote'
35
42
  };
36
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQWN0aW9uQmFyL2NvbnN0YW50cy50cyIsImNvbXBvbmVudHMvQWN0aW9uQmFyL2NvbnN0YW50cy5qcyJdLCJuYW1lcyI6WyJBQ1RJT05fQkFSX1BSRUZJWCIsImV4cG9ydHMiLCJBQ1RJT05fQkFSX0RFRkFVTFRTIiwicHJpbWFyeUxhYmVsIiwic2Vjb25kYXJ5TGFiZWwiLCJwcmltYXJ5Q29sb3IiLCJzZWNvbmRhcnlDb2xvciIsIkFDVElPTl9CQVJfTEFZT1VUUyIsIkFDVElPTl9CQVJfRElSRUNUSU9OUyIsIkFDVElPTl9CQVJfQlVUVE9OX1NJWkUiLCJmaWxsIiwiY29tcGFjdCIsIkFDVElPTl9CQVJfU0xPVCIsInJvb3QiLCJhY3Rpb25zIiwiZm9vdG5vdGUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVPLElBQU1BLGlCQUFpQixHQUFBQyxPQUFBLENBQUFELGlCQUFBLEdBQUcsWUFBWTtBQUU3QztBQ0ZBO0FBQ0E7QUFDQTtBRElPLElBQU1FLG1CQUFtQixHQUFBRCxPQUFBLENBQUFDLG1CQUFBLEdBQUc7RUFDakNDLFlBQVksRUFBRSxTQUFTO0VBQ3ZCQyxjQUFjLEVBQUUsUUFBUTtFQUN4QkMsWUFBWSxFQUFFLFNBQXFEO0VBQ25FQyxjQUFjLEVBQUU7QUNGbEIsQ0RHVTtBQUVILElBQU1DLGtCQUFrQixHQUFBTixPQUFBLENBQUFNLGtCQUFBLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFVO0FBRXZELElBQU1DLHFCQUFxQixHQUFBUCxPQUFBLENBQUFPLHFCQUFBLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFVO0FBV3hFO0FDZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEZ0JPLElBQU1DLHNCQUFzQixHQUFBUixPQUFBLENBQUFRLHNCQUFBLEdBQXdDO0VBQ3pFQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxPQUFPLEVBQUU7QUNkWCxDRGVDO0FBRU0sSUFBTUMsZUFBZSxHQUFBWCxPQUFBLENBQUFXLGVBQUEsR0FBRztFQUM3QkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsT0FBTyxFQUFFLFNBQVM7RUFDbEJDLFFBQVEsRUFBRTtBQ2ZaLENEZ0JVIiwiZmlsZSI6ImNvbXBvbmVudHMvQWN0aW9uQmFyL2NvbnN0YW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiZXhwb3J0IGNvbnN0IEFDVElPTl9CQVJfUFJFRklYID0gJ2FjdGlvbi1iYXInO1xuLyoqXG4gKiBHZW5lcmljLCBvdmVycmlkYWJsZSBVSSB2b2NhYnVsYXJ5IOKAlCBOT1QgcHJvZHVjdCBjb3B5LiBTY2VuYXJpbyBjb3B5XG4gKiAodGl0bGVzLCBkZXNjcmlwdGlvbnMsIHNjZW5hcmlvIGJ1dHRvbiBsYWJlbHMpIGFsd2F5cyBjb21lcyBmcm9tIGNvbnN1bWVycy5cbiAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9CQVJfREVGQVVMVFMgPSB7XG4gICAgcHJpbWFyeUxhYmVsOiAnQ29uZmlybScsXG4gICAgc2Vjb25kYXJ5TGFiZWw6ICdDYW5jZWwnLFxuICAgIHByaW1hcnlDb2xvcjogJ3ByaW1hcnknLFxuICAgIHNlY29uZGFyeUNvbG9yOiAnZ3JleScsXG59O1xuZXhwb3J0IGNvbnN0IEFDVElPTl9CQVJfTEFZT1VUUyA9IFsnZmlsbCcsICdjb21wYWN0J107XG5leHBvcnQgY29uc3QgQUNUSU9OX0JBUl9ESVJFQ1RJT05TID0gWydob3Jpem9udGFsJywgJ3ZlcnRpY2FsJ107XG4vKipcbiAqIExheW91dCBpcyBjaG9zZW4gYnkgdGhlIFNDRU5BUklPIFNIRUxMLCBuZXZlciBieSBidXNpbmVzcyBjb2RlOlxuICogLSBgZmlsbGAg4oCUIGJ1dHRvbnMgc2hhcmUgdGhlIGZ1bGwgcm93IChyZXN1bHQgZGlhbG9ncywgcGFnZSBmb3Jtcyk7XG4gKiAgIG9uZSBhY3Rpb24gc3BhbnMgdGhlIHJvdywgdHdvIHNwbGl0IGl0IGV2ZW5seS5cbiAqIC0gYGNvbXBhY3RgIOKAlCBhdXRvLXdpZHRoIGJ1dHRvbnMsIGxlZnQtYWxpZ25lZCAoZm9ybSBkaWFsb2dzLCBwZXIgdGhlIERTXG4gKiAgIFwiRGlhbG9nIEJvZHlcIiBzcGVjKS5cbiAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9CQVJfQlVUVE9OX1NJWkUgPSB7XG4gICAgZmlsbDogJ2xhcmdlJyxcbiAgICBjb21wYWN0OiAnbWVkaXVtJyxcbn07XG5leHBvcnQgY29uc3QgQUNUSU9OX0JBUl9TTE9UID0ge1xuICAgIHJvb3Q6ICdyb290JyxcbiAgICBhY3Rpb25zOiAnYWN0aW9ucycsXG4gICAgZm9vdG5vdGU6ICdmb290bm90ZScsXG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
43
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQWN0aW9uQmFyL2NvbnN0YW50cy50cyIsImNvbXBvbmVudHMvQWN0aW9uQmFyL2NvbnN0YW50cy5qcyJdLCJuYW1lcyI6WyJBQ1RJT05fQkFSX1BSRUZJWCIsImV4cG9ydHMiLCJBQ1RJT05fQkFSX0RFRkFVTFRTIiwicHJpbWFyeUxhYmVsIiwic2Vjb25kYXJ5TGFiZWwiLCJwcmltYXJ5Q29sb3IiLCJzZWNvbmRhcnlDb2xvciIsIkFDVElPTl9CQVJfTEFZT1VUUyIsIkFDVElPTl9CQVJfRElSRUNUSU9OUyIsIkFDVElPTl9CQVJfQlVUVE9OX1NJWkUiLCJmaWxsIiwiY29tcGFjdCIsIkFDVElPTl9CQVJfRk9PVE5PVEVfQUxJR05TIiwiQUNUSU9OX0JBUl9GT09UTk9URV9ERUZBVUxUX0FMSUdOIiwiQUNUSU9OX0JBUl9TTE9UIiwicm9vdCIsImFjdGlvbnMiLCJmb290bm90ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRU8sSUFBTUEsaUJBQWlCLEdBQUFDLE9BQUEsQ0FBQUQsaUJBQUEsR0FBRyxZQUFZO0FBRTdDO0FDRkE7QUFDQTtBQUNBO0FESU8sSUFBTUUsbUJBQW1CLEdBQUFELE9BQUEsQ0FBQUMsbUJBQUEsR0FBRztFQUNqQ0MsWUFBWSxFQUFFLFNBQVM7RUFDdkJDLGNBQWMsRUFBRSxRQUFRO0VBQ3hCQyxZQUFZLEVBQUUsU0FBcUQ7RUFDbkVDLGNBQWMsRUFBRTtBQ0ZsQixDREdVO0FBRUgsSUFBTUMsa0JBQWtCLEdBQUFOLE9BQUEsQ0FBQU0sa0JBQUEsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQVU7QUFFdkQsSUFBTUMscUJBQXFCLEdBQUFQLE9BQUEsQ0FBQU8scUJBQUEsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQVU7QUFXeEU7QUNkQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QURnQk8sSUFBTUMsc0JBQXNCLEdBQUFSLE9BQUEsQ0FBQVEsc0JBQUEsR0FBd0M7RUFDekVDLElBQUksRUFBRSxPQUFPO0VBQ2JDLE9BQU8sRUFBRTtBQ2RYLENEZUM7QUFFRDtBQ2ZBO0FBQ0E7QUFDQTtBQUNBO0FEaUJPLElBQU1DLDBCQUEwQixHQUFBWCxPQUFBLENBQUFXLDBCQUFBLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFVO0FBSS9ELElBQU1DLGlDQUFpQyxHQUFBWixPQUFBLENBQUFZLGlDQUFBLEdBQTJCLFFBQVE7QUFFMUUsSUFBTUMsZUFBZSxHQUFBYixPQUFBLENBQUFhLGVBQUEsR0FBRztFQUM3QkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsT0FBTyxFQUFFLFNBQVM7RUFDbEJDLFFBQVEsRUFBRTtBQ25CWixDRG9CVSIsImZpbGUiOiJjb21wb25lbnRzL0FjdGlvbkJhci9jb25zdGFudHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImV4cG9ydCBjb25zdCBBQ1RJT05fQkFSX1BSRUZJWCA9ICdhY3Rpb24tYmFyJztcbi8qKlxuICogR2VuZXJpYywgb3ZlcnJpZGFibGUgVUkgdm9jYWJ1bGFyeSDigJQgTk9UIHByb2R1Y3QgY29weS4gU2NlbmFyaW8gY29weVxuICogKHRpdGxlcywgZGVzY3JpcHRpb25zLCBzY2VuYXJpbyBidXR0b24gbGFiZWxzKSBhbHdheXMgY29tZXMgZnJvbSBjb25zdW1lcnMuXG4gKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fQkFSX0RFRkFVTFRTID0ge1xuICAgIHByaW1hcnlMYWJlbDogJ0NvbmZpcm0nLFxuICAgIHNlY29uZGFyeUxhYmVsOiAnQ2FuY2VsJyxcbiAgICBwcmltYXJ5Q29sb3I6ICdwcmltYXJ5JyxcbiAgICBzZWNvbmRhcnlDb2xvcjogJ2dyZXknLFxufTtcbmV4cG9ydCBjb25zdCBBQ1RJT05fQkFSX0xBWU9VVFMgPSBbJ2ZpbGwnLCAnY29tcGFjdCddO1xuZXhwb3J0IGNvbnN0IEFDVElPTl9CQVJfRElSRUNUSU9OUyA9IFsnaG9yaXpvbnRhbCcsICd2ZXJ0aWNhbCddO1xuLyoqXG4gKiBMYXlvdXQgaXMgY2hvc2VuIGJ5IHRoZSBTQ0VOQVJJTyBTSEVMTCwgbmV2ZXIgYnkgYnVzaW5lc3MgY29kZTpcbiAqIC0gYGZpbGxgIOKAlCBidXR0b25zIHNoYXJlIHRoZSBmdWxsIHJvdyAocmVzdWx0IGRpYWxvZ3MsIHBhZ2UgZm9ybXMpO1xuICogICBvbmUgYWN0aW9uIHNwYW5zIHRoZSByb3csIHR3byBzcGxpdCBpdCBldmVubHkuXG4gKiAtIGBjb21wYWN0YCDigJQgYXV0by13aWR0aCBidXR0b25zLCBsZWZ0LWFsaWduZWQgKGZvcm0gZGlhbG9ncywgcGVyIHRoZSBEU1xuICogICBcIkRpYWxvZyBCb2R5XCIgc3BlYykuXG4gKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05fQkFSX0JVVFRPTl9TSVpFID0ge1xuICAgIGZpbGw6ICdsYXJnZScsXG4gICAgY29tcGFjdDogJ21lZGl1bScsXG59O1xuLyoqXG4gKiBGb290bm90ZSByb3cgYWxpZ25tZW50LiBUaGUgRFMgdXNlcyBgY2VudGVyYCBmb3IgYSBwcm9tcHQgKyBhY3Rpb24gcGFpciBhbmRcbiAqIGBzdGFydGAgZm9yIGEgYmFyZSBhY3Rpb24gbGluayBzaXR0aW5nIHVuZGVyIHRoZSBidXR0b25zICh0aGUgYXV0aCBjYXJkJ3NcbiAqIFwiRm9yZ290IHlvdXIgcGFzc3dvcmQ/XCIsIEZpZ21hIDM5NTc5OjI4NTE2KS5cbiAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTl9CQVJfRk9PVE5PVEVfQUxJR05TID0gWydjZW50ZXInLCAnc3RhcnQnXTtcbmV4cG9ydCBjb25zdCBBQ1RJT05fQkFSX0ZPT1ROT1RFX0RFRkFVTFRfQUxJR04gPSAnY2VudGVyJztcbmV4cG9ydCBjb25zdCBBQ1RJT05fQkFSX1NMT1QgPSB7XG4gICAgcm9vdDogJ3Jvb3QnLFxuICAgIGFjdGlvbnM6ICdhY3Rpb25zJyxcbiAgICBmb290bm90ZTogJ2Zvb3Rub3RlJyxcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,7 +1,7 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { ButtonColor, ButtonProps, ButtonSize } from "../Button";
3
- import type { ActionBarDirection, ActionBarLayout } from './constants';
4
- export type { ActionBarDirection, ActionBarLayout } from './constants';
3
+ import type { ActionBarDirection, ActionBarFootnoteAlign, ActionBarLayout } from './constants';
4
+ export type { ActionBarDirection, ActionBarFootnoteAlign, ActionBarLayout } from './constants';
5
5
  /**
6
6
  * One footer action. The bar owns size, order, and layout; consumers only
7
7
  * supply label, behavior, and (optionally) a color tone override.
@@ -48,7 +48,7 @@ export interface ActionBarAction {
48
48
  */
49
49
  export type ActionBarPrimarySlot = ReactNode;
50
50
  /**
51
- * Optional centered footnote row under the actions, e.g.
51
+ * Optional footnote row under the actions, e.g.
52
52
  * `"Don't have access to your 2FA? Reset 2FA"`.
53
53
  */
54
54
  export interface ActionBarFootnote {
@@ -56,9 +56,32 @@ export interface ActionBarFootnote {
56
56
  prompt?: ReactNode;
57
57
  /** Trailing brand-colored action text. */
58
58
  action?: ReactNode;
59
+ /**
60
+ * Row alignment. Defaults to `center` (the prompt + action pair). Use
61
+ * `start` for a bare action link under the buttons — the auth card's
62
+ * "Forgot your password?" sits left-aligned while the passkey row below it
63
+ * stays centered.
64
+ */
65
+ align?: ActionBarFootnoteAlign;
66
+ /**
67
+ * Destination for an action that navigates. The action already renders as
68
+ * an anchor, so giving it the `href` is what makes it behave like the link
69
+ * it looks like — open-in-new-tab, middle click, copy address, and the
70
+ * status bar preview all come back. Handing it an `onClick` that navigates
71
+ * instead leaves an anchor with no destination, which none of those work on.
72
+ */
73
+ href?: string;
74
+ /** Anchor target, e.g. `_blank`. Only meaningful with `href`. */
75
+ target?: string;
76
+ /** Anchor rel, e.g. `noopener noreferrer`. Only meaningful with `href`. */
77
+ rel?: string;
59
78
  /** Fires when the action text is clicked or activated via keyboard. */
60
79
  onClick?: () => void;
61
- /** Render a hairline divider above the row (matches the OTP dialog design). */
80
+ /**
81
+ * Render a hairline divider above the row (matches the OTP dialog design).
82
+ * The divider is a row of the bar in its own right, so the bar's uniform
83
+ * gap surrounds it — it carries no margin of its own.
84
+ */
62
85
  divided?: boolean;
63
86
  }
64
87
  export interface ActionBarProps {
@@ -69,8 +92,13 @@ export interface ActionBarProps {
69
92
  */
70
93
  layout?: ActionBarLayout;
71
94
  /**
72
- * Arrangement: `horizontal` (default) or `vertical` (stacked, each button
73
- * full-width — result-dialog style).
95
+ * Arrangement: `horizontal` (default — two actions split the row) or
96
+ * `vertical` (stacked, each button full-width).
97
+ *
98
+ * The default applies everywhere, result surfaces included: `PanelLayout`
99
+ * and `BaseDialog` pass this straight through and set no default of their
100
+ * own. `vertical` is opt-in, for flows that want the actions read
101
+ * top-to-bottom rather than weighed side by side.
74
102
  */
75
103
  direction?: ActionBarDirection;
76
104
  /**
@@ -81,8 +109,14 @@ export interface ActionBarProps {
81
109
  primarySlot?: ReactNode;
82
110
  /** Optional secondary (left) action. */
83
111
  secondary?: ActionBarAction;
84
- /** Optional centered footnote row below the actions. */
85
- footnote?: ActionBarFootnote;
112
+ /**
113
+ * Footnote row(s) below the actions. Pass an array for surfaces that stack
114
+ * more than one — the auth card (Figma 39579:28516) puts a left-aligned
115
+ * "Forgot your password?" directly under the buttons, then a divided,
116
+ * centered passkey row. Rows render in array order and are spaced by the
117
+ * bar's own gap.
118
+ */
119
+ footnote?: ActionBarFootnote | ActionBarFootnote[];
86
120
  /** CSS class prefix. */
87
121
  prefixCls?: string;
88
122
  /** Additional class on the root element. */
@@ -41,4 +41,7 @@
41
41
  }
42
42
  .om-component-ui-action-bar-footnote a {
43
43
  cursor: pointer;
44
+ }
45
+ .om-component-ui-action-bar > .om-component-ui-divider {
46
+ margin: 0;
44
47
  }
@@ -15,10 +15,16 @@ export interface DialogProps extends Omit<HTMLAttributes<HTMLDivElement>, 'child
15
15
  fullWidth?: boolean;
16
16
  fixed?: boolean;
17
17
  /**
18
- * Bare panel mode: keep the overlay machinery (portal, mask, Esc, close /
19
- * back controls, viewport max-height, width presets) but render NO panel
20
- * chrome and NO header/body/footer slots — children fill the panel
21
- * directly. For surfaces that bring their own chrome (e.g. FormLayout).
18
+ * Bare panel mode: keep the overlay machinery (portal, mask, Esc, the close
19
+ * control, viewport max-height, width presets) but render NO panel chrome
20
+ * and NO header/body/footer slots — children fill the panel directly. For
21
+ * surfaces that bring their own chrome (e.g. FormLayout).
22
+ *
23
+ * `showBackIcon` is NOT honoured here. The close control is absolutely
24
+ * positioned overlay chrome and works in either mode, but the back arrow
25
+ * takes its own row in the content flow — and a bare panel has no content
26
+ * flow to put it in. A bare host that needs one renders it into its own
27
+ * surface instead (PanelLayout takes `showBackIcon`/`onBack` of its own).
22
28
  */
23
29
  bare?: boolean;
24
30
  width?: number | string;
@@ -50,24 +50,28 @@ export type FormLayoutSize = (typeof FORM_LAYOUT_SIZES)[number];
50
50
  /**
51
51
  * Per-size density overrides on a variant's baseline (the baseline IS the
52
52
  * `large` size). Only `page/small` exists today — the compact auth-card
53
- * surface (448 wide, matching the app's sign-in card): a narrower panel with
54
- * 24 padding and a uniform 16 spacing (row gap, column gutter, AND the region
55
- * gap between header / fields / footer). It is tighter than the baseline in
56
- * width and padding, but its 16 row gap / column gutter are LOOSER than the
57
- * baseline's 12 — the auth card is deliberately airier between fields.
58
- * Only `actionGap` and `controlSize` fall back to the baseline. A variant/size with no entry
59
- * uses the baseline unchanged, so `large` never needs an entry. `modal`
60
- * intentionally has no `small`: the 380 confirm/result dialog is BaseDialog,
61
- * which is not a form surface and does not use FormLayout.
53
+ * surface: a narrower, less padded panel that keeps the page baseline's gap
54
+ * rhythm untouched (12 row gap / 12 column gutter / 16 region gap), so a field
55
+ * stack reads identically in the auth card and in the full-width page form.
56
+ * Width and padding are the ONLY deviations.
57
+ *
58
+ * Its 380 width is the SAME number `PanelLayout` uses, and deliberately so:
59
+ * an auth flow swaps a form card for a result panel in place (forgot-password
60
+ * → "we've sent a link"), so a different width would make the card jump.
61
+ * The two tables still hold it separately — they are different surfaces that
62
+ * happen to agree, not one value with two readers.
63
+ *
64
+ * Every gap (rowGap / colGutter / regionGap / actionGap) plus `controlSize`
65
+ * falls back to the baseline. A variant/size with no entry uses the baseline
66
+ * unchanged, so `large` never needs an entry. `modal` intentionally has no
67
+ * `small`: the confirm/result dialog is BaseDialog, which is not a form
68
+ * surface and does not use FormLayout.
62
69
  */
63
70
  export declare const FORM_LAYOUT_SIZE: {
64
71
  readonly page: {
65
72
  readonly small: {
66
- readonly width: 448;
73
+ readonly width: 380;
67
74
  readonly padding: 24;
68
- readonly rowGap: 16;
69
- readonly colGutter: 16;
70
- readonly regionGap: 16;
71
75
  };
72
76
  };
73
77
  };
@@ -77,18 +81,18 @@ export declare const FORM_LAYOUT_SIZE: {
77
81
  * (BaseProForm) read, so width / padding / gaps / control size never diverge.
78
82
  */
79
83
  export declare const resolveFormLayoutConfig: (variant: FormLayoutVariant, size?: FormLayoutSize) => {
80
- width: 640 | 448;
84
+ width: 640 | 380;
81
85
  padding: 24;
82
- rowGap: 16 | 12;
83
- colGutter: 16 | 12;
86
+ rowGap: 12;
87
+ colGutter: 12;
84
88
  regionGap: 16;
85
89
  actionGap: 12;
86
90
  controlSize: "small";
87
91
  } | {
88
- width: 738 | 448;
92
+ width: 738 | 380;
89
93
  padding: 32 | 24;
90
- rowGap: 16 | 12;
91
- colGutter: 16 | 12;
94
+ rowGap: 12;
95
+ colGutter: 12;
92
96
  regionGap: 16;
93
97
  actionGap: 12;
94
98
  controlSize: "large";
@@ -53,24 +53,28 @@ var FORM_LAYOUT_SIZES = exports.FORM_LAYOUT_SIZES = ['large', 'small'];
53
53
  /**
54
54
  * Per-size density overrides on a variant's baseline (the baseline IS the
55
55
  * `large` size). Only `page/small` exists today — the compact auth-card
56
- * surface (448 wide, matching the app's sign-in card): a narrower panel with
57
- * 24 padding and a uniform 16 spacing (row gap, column gutter, AND the region
58
- * gap between header / fields / footer). It is tighter than the baseline in
59
- * width and padding, but its 16 row gap / column gutter are LOOSER than the
60
- * baseline's 12 — the auth card is deliberately airier between fields.
61
- * Only `actionGap` and `controlSize` fall back to the baseline. A variant/size with no entry
62
- * uses the baseline unchanged, so `large` never needs an entry. `modal`
63
- * intentionally has no `small`: the 380 confirm/result dialog is BaseDialog,
64
- * which is not a form surface and does not use FormLayout.
56
+ * surface: a narrower, less padded panel that keeps the page baseline's gap
57
+ * rhythm untouched (12 row gap / 12 column gutter / 16 region gap), so a field
58
+ * stack reads identically in the auth card and in the full-width page form.
59
+ * Width and padding are the ONLY deviations.
60
+ *
61
+ * Its 380 width is the SAME number `PanelLayout` uses, and deliberately so:
62
+ * an auth flow swaps a form card for a result panel in place (forgot-password
63
+ * → "we've sent a link"), so a different width would make the card jump.
64
+ * The two tables still hold it separately — they are different surfaces that
65
+ * happen to agree, not one value with two readers.
66
+ *
67
+ * Every gap (rowGap / colGutter / regionGap / actionGap) plus `controlSize`
68
+ * falls back to the baseline. A variant/size with no entry uses the baseline
69
+ * unchanged, so `large` never needs an entry. `modal` intentionally has no
70
+ * `small`: the confirm/result dialog is BaseDialog, which is not a form
71
+ * surface and does not use FormLayout.
65
72
  */
66
73
  var FORM_LAYOUT_SIZE = exports.FORM_LAYOUT_SIZE = {
67
74
  page: {
68
75
  small: {
69
- width: 448,
70
- padding: 24,
71
- rowGap: 16,
72
- colGutter: 16,
73
- regionGap: 16
76
+ width: 380,
77
+ padding: 24
74
78
  }
75
79
  }
76
80
  };
@@ -104,4 +108,4 @@ var formLayoutCssVars = exports.formLayoutCssVars = function formLayoutCssVars(v
104
108
  '--form-layout-action-gap': "".concat(config.actionGap, "px")
105
109
  };
106
110
  };
107
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRm9ybUxheW91dC9jb25maWcudHMiLCJjb21wb25lbnRzL0Zvcm1MYXlvdXQvY29uZmlnLmpzIl0sIm5hbWVzIjpbIkZPUk1fTEFZT1VUX1BSRUZJWCIsImV4cG9ydHMiLCJGT1JNX0xBWU9VVF9DT05GSUciLCJtb2RhbCIsIndpZHRoIiwicGFkZGluZyIsInJvd0dhcCIsImNvbEd1dHRlciIsInJlZ2lvbkdhcCIsImFjdGlvbkdhcCIsImNvbnRyb2xTaXplIiwicGFnZSIsIkZPUk1fTEFZT1VUX1ZBUklBTlRTIiwiT2JqZWN0Iiwia2V5cyIsIkZPUk1fTEFZT1VUX1NJWkVTIiwiRk9STV9MQVlPVVRfU0laRSIsInNtYWxsIiwicmVzb2x2ZUZvcm1MYXlvdXRDb25maWciLCJ2YXJpYW50Iiwic2l6ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm92ZXJyaWRlcyIsIm92ZXJyaWRlIiwiYXNzaWduIiwiRk9STV9MQVlPVVRfU0xPVCIsImhlYWRlciIsInRpdGxlIiwiZXh0cmEiLCJjb250ZW50IiwiZm9vdGVyIiwiZm9ybUxheW91dENzc1ZhcnMiLCJjb25maWciLCJjb25jYXQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVPLElBQU1BLGtCQUFrQixHQUFBQyxPQUFBLENBQUFELGtCQUFBLEdBQUcsYUFBYTtBQUUvQztBQ0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRElPLElBQU1FLGtCQUFrQixHQUFBRCxPQUFBLENBQUFDLGtCQUFBLEdBQUc7RUFDaEM7RUFDQUMsS0FBSyxFQUFFO0lBQ0w7SUFDQUMsS0FBSyxFQUFFLEdBQUc7SUFDVjtJQUNBQyxPQUFPLEVBQUUsRUFBRTtJQUNYO0lBQ0FDLE1BQU0sRUFBRSxFQUFFO0lBQ1Y7SUFDQUMsU0FBUyxFQUFFLEVBQUU7SUFDYjtJQUNBQyxTQUFTLEVBQUUsRUFBRTtJQUNiO0lBQ0FDLFNBQVMsRUFBRSxFQUFF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b3V0L2NvbmZpZy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiZXhwb3J0IGNvbnN0IEZPUk1fTEFZT1VUX1BSRUZJWCA9ICdmb3JtLWxheW91dCc7XG4vKipcbiAqIFRIRSBkZW5zaXR5IHRhYmxlIGZvciBmb3JtIHN1cmZhY2VzIOKAlCB0aGUgc2luZ2xlIHRoaW5nIHRvIGVkaXQgd2hlbiB0aGVcbiAqIGRlc2lnbiBjaGFuZ2VzIG9yIGEgbmV3IGRlbnNpdHkgaXMgYWRkZWQuIEV2ZXJ5IHZhbHVlIGlzIGNvbnN1bWVkIHRocm91Z2hcbiAqIENTUyBjdXN0b20gcHJvcGVydGllcyAoY29udGFpbmVyIHNwYWNpbmcpIG9yIHJlYWQgYnkgdGhlIGZvcm0gcHJlc2V0XG4gKiAocm93IGdhcCAvIGNvbHVtbiBndXR0ZXIgZm9yIFByb0Zvcm0pLCBzbyBhZGRpbmcgYSB2YXJpYW50IGhlcmUgaXMgdGhlXG4gKiB3aG9sZSBqb2IuXG4gKlxuICogU291cmNlOiAxTW9uZXkgRGVzaWduIFN5c3RlbSAoQmV0YSkg4oCUIFwiRGlhbG9nIEJvZHlcIiAobm9kZSAzOTc0My00NjM0KVxuICogZm9yIGBtb2RhbGA7IHBhZ2UgdXNhZ2UgKG5vZGUgMzk5NTYtOTcxMikgZm9yIGBwYWdlYC5cbiAqL1xuZXhwb3J0IGNvbnN0IEZPUk1fTEFZT1VUX0NPTkZJRyA9IHtcbiAgICAvKiogSW5zaWRlIGEgZGlhbG9nOiB0aWdodGVyIGRlbnNpdHkuICovXG4gICAgbW9kYWw6IHtcbiAgICAgICAgLyoqIERlZmF1bHQgcGFuZWwgd2lkdGggKHB4KTsgdGhlIGB3aWR0aGAgcHJvcCBvdmVycmlkZXMuICovXG4gICAgICAgIHdpZHRoOiA2NDAsXG4gICAgICAgIC8qKiBQYW5lbCBwYWRkaW5nIChweCkuICovXG4gICAgICAgIHBhZGRpbmc6IDI0LFxuICAgICAgICAvKiogVmVydGljYWwgZ2FwIGJldHdlZW4gZmllbGQgcm93cyAocHgpLiAqL1xuICAgICAgICByb3dHYXA6IDEyLFxuICAgICAgICAvKiogSG9yaXpvbnRhbCBndXR0ZXIgYmV0d2VlbiBjb2x1bW5zIGluIGEgcm93IChweCkuICovXG4gICAgICAgIGNvbEd1dHRlcjogMTIsXG4gICAgICAgIC8qKiBHYXAgYmV0d2VlbiB0aGUgaGVhZGVyIC8gZmllbGRzIC8gZm9vdGVyIHJlZ2lvbnMgKHB4KS4gKi9cbiAgICAgICAgcmVnaW9uR2FwOiAxNixcbiAgICAgICAgLyoqIEdhcCBiZXR3ZWVuIGZvb3RlciBhY3Rpb24gYnV0dG9ucyAocHgpOyBBY3Rpb25CYXIgcmVhZHMgaXQgdmlhIHZhci4gKi9cbiAgICAgICAgYWN0aW9uR2FwOiAxMixcbiAgICAgICAgLyoqIENvbnRyb2wgc2l6ZSBjYXNjYWRlZCB0byBldmVyeSBmaWVsZCB2aWEgUHJvRm9ybSBgc2l6ZWAuICovXG4gICAgICAgIGNvbnRyb2xTaXplOiAnc21hbGwnLFxuICAgIH0sXG4gICAgLyoqXG4gICAgICogU3RhbmRhbG9uZSBvbiBhIHBhZ2U6IGEgd2lkZXIgcGFuZWwgd2l0aCByb29taWVyIHBhZGRpbmcsIGJ1dCB0aGUgU0FNRVxuICAgICAqIHRpZ2h0IDEyLzE2IGdhcCByaHl0aG0gYXMgdGhlIGRpYWxvZyDigJQgb25seSBgd2lkdGhgICg3MzgpIGFuZCBgcGFkZGluZ2BcbiAgICAgKiAoMzIpIHNlcGFyYXRlIHRoZSB0d28gZGVuc2l0aWVzLCBwbHVzIHRoZSBsYXJnZSBjb250cm9sIHNpemUuXG4gICAgICovXG4gICAgcGFnZToge1xuICAgICAgICB3aWR0aDogNzM4LFxuICAgICAgICBwYWRkaW5nOiAzMixcbiAgICAgICAgcm93R2FwOiAxMixcbiAgICAgICAgY29sR3V0dGVyOiAxMixcbiAgICAgICAgcmVnaW9uR2FwOiAxNixcbiAgICAgICAgYWN0aW9uR2FwOiAxMixcbiAgICAgICAgY29udHJvbFNpemU6ICdsYXJnZScsXG4gICAgfSxcbn07XG5leHBvcnQgY29uc3QgRk9STV9MQVlPVVRfVkFSSUFOVFMgPSBPYmplY3Qua2V5cyhGT1JNX0xBWU9VVF9DT05GSUcpO1xuZXhwb3J0IGNvbnN0IEZPUk1fTEFZT1VUX1NJWkVTID0gWydsYXJnZScsICdzbWFsbCddO1xuLyoqXG4gKiBQZXItc2l6ZSBkZW5zaXR5IG92ZXJyaWRlcyBvbiBhIHZhcmlhbnQncyBiYXNlbGluZSAodGhlIGJhc2VsaW5lIElTIHRoZVxuICogYGxhcmdlYCBzaXplKS4gT25seSBgcGFnZS9zbWFsbGAgZXhpc3RzIHRvZGF5IOKAlCB0aGUgY29tcGFjdCBhdXRoLWNhcmRcbiAqIHN1cmZhY2UgKDQ0OCB3aWRlLCBtYXRjaGluZyB0aGUgYXBwJ3Mgc2lnbi1pbiBjYXJkKTogYSBuYXJyb3dlciBwYW5lbCB3aXRoXG4gKiAyNCBwYWRkaW5nIGFuZCBhIHVuaWZvcm0gMTYgc3BhY2luZyAocm93IGdhcCwgY29sdW1uIGd1dHRlciwgQU5EIHRoZSByZWdpb25cbiAqIGdhcCBiZXR3ZWVuIGhlYWRlciAvIGZpZWxkcyAvIGZvb3RlcikuIEl0IGlzIHRpZ2h0ZXIgdGhhbiB0aGUgYmFzZWxpbmUgaW5cbiAqIHdpZHRoIGFuZCBwYWRkaW5nLCBidXQgaXRzIDE2IHJvdyBnYXAgLyBjb2x1bW4gZ3V0dGVyIGFyZSBMT09TRVIgdGhhbiB0aGVcbiAqIGJhc2VsaW5lJ3MgMTIg4oCUIHRoZSBhdXRoIGNhcmQgaXMgZGVsaWJlcmF0ZWx5IGFpcmllciBiZXR3ZWVuIGZpZWxkcy5cbiAqIE9ubHkgYGFjdGlvbkdhcGAgYW5kIGBjb250cm9sU2l6ZWAgZmFsbCBiYWNrIHRvIHRoZSBiYXNlbGluZS4gQSB2YXJpYW50L3NpemUgd2l0aCBubyBlbnRyeVxuICogdXNlcyB0aGUgYmFzZWxpbmUgdW5jaGFuZ2VkLCBzbyBgbGFyZ2VgIG5ldmVyIG5lZWRzIGFuIGVudHJ5LiBgbW9kYWxgXG4gKiBpbnRlbnRpb25hbGx5IGhhcyBubyBgc21hbGxgOiB0aGUgMzgwIGNvbmZpcm0vcmVzdWx0IGRpYWxvZyBpcyBCYXNlRGlhbG9nLFxuICogd2hpY2ggaXMgbm90IGEgZm9ybSBzdXJmYWNlIGFuZCBkb2VzIG5vdCB1c2UgRm9ybUxheW91dC5cbiAqL1xuZXhwb3J0IGNvbnN0IEZPUk1fTEFZT1VUX1NJWkUgPSB7XG4gICAgcGFnZToge1xuICAgICAgICBzbWFsbDogeyB3aWR0aDogNDQ4LCBwYWRkaW5nOiAyNCwgcm93R2FwOiAxNiwgY29sR3V0dGVyOiAxNiwgcmVnaW9uR2FwOiAxNiB9LFxuICAgIH0sXG59O1xuLyoqXG4gKiBCYXNlbGluZSBkZW5zaXR5IGZvciBhIHZhcmlhbnQgbWVyZ2VkIHdpdGggdGhlIHJlcXVlc3RlZCBzaXplJ3MgZGV2aWF0aW9ucy5cbiAqIFRoZSBzaW5nbGUgbG9va3VwIGJvdGggdGhlIHN1cmZhY2UgKEZvcm1MYXlvdXQpIGFuZCB0aGUgZm9ybSBwcmVzZXRcbiAqIChCYXNlUHJvRm9ybSkgcmVhZCwgc28gd2lkdGggLyBwYWRkaW5nIC8gZ2FwcyAvIGNvbnRyb2wgc2l6ZSBuZXZlciBkaXZlcmdlLlxuICovXG5leHBvcnQgY29uc3QgcmVzb2x2ZUZvcm1MYXlvdXRDb25maWcgPSAodmFyaWFudCwgc2l6ZSA9ICdsYXJnZScpID0+IHtcbiAgICBjb25zdCBvdmVycmlkZXMgPSBGT1JNX0xBWU9VVF9TSVpFW3ZhcmlhbnRdO1xuICAgIGNvbnN0IG92ZXJyaWRlID0gb3ZlcnJpZGVzID8gb3ZlcnJpZGVzW3NpemVdIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIEZPUk1fTEFZT1VUX0NPTkZJR1t2YXJpYW50XSksIG92ZXJyaWRlKTtcbn07XG5leHBvcnQgY29uc3QgRk9STV9MQVlPVVRfU0xPVCA9IHtcbiAgICBoZWFkZXI6ICdoZWFkZXInLFxuICAgIHRpdGxlOiAndGl0bGUnLFxuICAgIGV4dHJhOiAnZXh0cmEnLFxuICAgIGNvbnRlbnQ6ICdjb250ZW50JyxcbiAgICBmb290ZXI6ICdmb290ZXInLFxufTtcbi8qKiBCcmlkZ2UgdGhlIHJlc29sdmVkICh2YXJpYW50LCBzaXplKSBudW1iZXJzIGludG8gQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzLiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1MYXlvdXRDc3NWYXJzID0gKHZhcmlhbnQsIHNpemUgPSAnbGFyZ2UnKSA9PiB7XG4gICAgY29uc3QgY29uZmlnID0gcmVzb2x2ZUZvcm1MYXlvdXRDb25maWcodmFyaWFudCwgc2l6ZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgJy0tZm9ybS1sYXlvdXQtd2lkdGgnOiBgJHtjb25maWcud2lkdGh9cHhgLFxuICAgICAgICAnLS1mb3JtLWxheW91dC1wYWRkaW5nJzogYCR7Y29uZmlnLnBhZGRpbmd9cHhgLFxuICAgICAgICAnLS1mb3JtLWxheW91dC1yb3ctZ2FwJzogYCR7Y29uZmlnLnJvd0dhcH1weGAsXG4gICAgICAgICctLWZvcm0tbGF5b3V0LXJlZ2lvbi1nYXAnOiBgJHtjb25maWcucmVnaW9uR2FwfXB4YCxcbiAgICAgICAgJy0tZm9ybS1sYXlvdXQtYWN0aW9uLWdhcCc6IGAke2NvbmZpZy5hY3Rpb25HYXB9cHhgLFxuICAgIH07XG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
111
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRm9ybUxheW91dC9jb25maWcudHMiLCJjb21wb25lbnRzL0Zvcm1MYXlvdXQvY29uZmlnLmpzIl0sIm5hbWVzIjpbIkZPUk1fTEFZT1VUX1BSRUZJWCIsImV4cG9ydHMiLCJGT1JNX0xBWU9VVF9DT05GSUciLCJtb2RhbCIsIndpZHRoIiwicGFkZGluZyIsInJvd0dhcCIsImNvbEd1dHRlciIsInJlZ2lvbkdhcCIsImFjdGlvbkdhcCIsImNvbnRyb2xTaXplIiwicGFnZSIsIkZPUk1fTEFZT1VUX1ZBUklBTlRTIiwiT2JqZWN0Iiwia2V5cyIsIkZPUk1fTEFZT1VUX1NJWkVTIiwiRk9STV9MQVlPVVRfU0laRSIsInNtYWxsIiwicmVzb2x2ZUZvcm1MYXlvdXRDb25maWciLCJ2YXJpYW50Iiwic2l6ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm92ZXJyaWRlcyIsIm92ZXJyaWRlIiwiYXNzaWduIiwiRk9STV9MQVlPVVRfU0xPVCIsImhlYWRlciIsInRpdGxlIiwiZXh0cmEiLCJjb250ZW50IiwiZm9vdGVyIiwiZm9ybUxheW91dENzc1ZhcnMiLCJjb25maWciLCJjb25jYXQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVPLElBQU1BLGtCQUFrQixHQUFBQyxPQUFBLENBQUFELGtCQUFBLEdBQUcsYUFBYTtBQUUvQztBQ0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRElPLElBQU1FLGtCQUFrQixHQUFBRCxPQUFBLENBQUFDLGtCQUFBLEdBQUc7RUFDaEM7RUFDQUMsS0FBSyxFQUFFO0lBQ0w7SUFDQUMsS0FBSyxFQUFFLEdBQUc7SUFDVjtJQUNBQyxPQUFPLEVBQUUsRUFBRTtJQUNYO0lBQ0FDLE1BQU0sRUFBRSxFQUFFO0lBQ1Y7SUFDQUMsU0FBUyxFQUFFLEVBQUU7SUFDYjtJQUNBQyxTQUFTLEVBQUUsRUFBRTtJQUNiO0lBQ0FDLFNBQVMsRUFBRSxFQUFF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bnQiOltudWxsLCJleHBvcnQgY29uc3QgRk9STV9MQVlPVVRfUFJFRklYID0gJ2Zvcm0tbGF5b3V0Jztcbi8qKlxuICogVEhFIGRlbnNpdHkgdGFibGUgZm9yIGZvcm0gc3VyZmFjZXMg4oCUIHRoZSBzaW5nbGUgdGhpbmcgdG8gZWRpdCB3aGVuIHRoZVxuICogZGVzaWduIGNoYW5nZXMgb3IgYSBuZXcgZGVuc2l0eSBpcyBhZGRlZC4gRXZlcnkgdmFsdWUgaXMgY29uc3VtZWQgdGhyb3VnaFxuICogQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzIChjb250YWluZXIgc3BhY2luZykgb3IgcmVhZCBieSB0aGUgZm9ybSBwcmVzZXRcbiAqIChyb3cgZ2FwIC8gY29sdW1uIGd1dHRlciBmb3IgUHJvRm9ybSksIHNvIGFkZGluZyBhIHZhcmlhbnQgaGVyZSBpcyB0aGVcbiAqIHdob2xlIGpvYi5cbiAqXG4gKiBTb3VyY2U6IDFNb25leSBEZXNpZ24gU3lzdGVtIChCZXRhKSDigJQgXCJEaWFsb2cgQm9keVwiIChub2RlIDM5NzQzLTQ2MzQpXG4gKiBmb3IgYG1vZGFsYDsgcGFnZSB1c2FnZSAobm9kZSAzOTk1Ni05NzEyKSBmb3IgYHBhZ2VgLlxuICovXG5leHBvcnQgY29uc3QgRk9STV9MQVlPVVRfQ09ORklHID0ge1xuICAgIC8qKiBJbnNpZGUgYSBkaWFsb2c6IHRpZ2h0ZXIgZGVuc2l0eS4gKi9cbiAgICBtb2RhbDoge1xuICAgICAgICAvKiogRGVmYXVsdCBwYW5lbCB3aWR0aCAocHgpOyB0aGUgYHdpZHRoYCBwcm9wIG92ZXJyaWRlcy4gKi9cbiAgICAgICAgd2lkdGg6IDY0MCxcbiAgICAgICAgLyoqIFBhbmVsIHBhZGRpbmcgKHB4KS4gKi9cbiAgICAgICAgcGFkZGluZzogMjQsXG4gICAgICAgIC8qKiBWZXJ0aWNhbCBnYXAgYmV0d2VlbiBmaWVsZCByb3dzIChweCkuICovXG4gICAgICAgIHJvd0dhcDogMTIsXG4gICAgICAgIC8qKiBIb3Jpem9udGFsIGd1dHRlciBiZXR3ZWVuIGNvbHVtbnMgaW4gYSByb3cgKHB4KS4gKi9cbiAgICAgICAgY29sR3V0dGVyOiAxMixcbiAgICAgICAgLyoqIEdhcCBiZXR3ZWVuIHRoZSBoZWFkZXIgLyBmaWVsZHMgLyBmb290ZXIgcmVnaW9ucyAocHgpLiAqL1xuICAgICAgICByZWdpb25HYXA6IDE2LFxuICAgICAgICAvKiogR2FwIGJldHdlZW4gZm9vdGVyIGFjdGlvbiBidXR0b25zIChweCk7IEFjdGlvbkJhciByZWFkcyBpdCB2aWEgdmFyLiAqL1xuICAgICAgICBhY3Rpb25HYXA6IDEyLFxuICAgICAgICAvKiogQ29udHJvbCBzaXplIGNhc2NhZGVkIHRvIGV2ZXJ5IGZpZWxkIHZpYSBQcm9Gb3JtIGBzaXplYC4gKi9cbiAgICAgICAgY29udHJvbFNpemU6ICdzbWFsbCcsXG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBTdGFuZGFsb25lIG9uIGEgcGFnZTogYSB3aWRlciBwYW5lbCB3aXRoIHJvb21pZXIgcGFkZGluZywgYnV0IHRoZSBTQU1FXG4gICAgICogdGlnaHQgMTIvMTYgZ2FwIHJoeXRobSBhcyB0aGUgZGlhbG9nIOKAlCBvbmx5IGB3aWR0aGAgKDczOCkgYW5kIGBwYWRkaW5nYFxuICAgICAqICgzMikgc2VwYXJhdGUgdGhlIHR3byBkZW5zaXRpZXMsIHBsdXMgdGhlIGxhcmdlIGNvbnRyb2wgc2l6ZS5cbiAgICAgKi9cbiAgICBwYWdlOiB7XG4gICAgICAgIHdpZHRoOiA3MzgsXG4gICAgICAgIHBhZGRpbmc6IDMyLFxuICAgICAgICByb3dHYXA6IDEyLFxuICAgICAgICBjb2xHdXR0ZXI6IDEyLFxuICAgICAgICByZWdpb25HYXA6IDE2LFxuICAgICAgICBhY3Rpb25HYXA6IDEyLFxuICAgICAgICBjb250cm9sU2l6ZTogJ2xhcmdlJyxcbiAgICB9LFxufTtcbmV4cG9ydCBjb25zdCBGT1JNX0xBWU9VVF9WQVJJQU5UUyA9IE9iamVjdC5rZXlzKEZPUk1fTEFZT1VUX0NPTkZJRyk7XG5leHBvcnQgY29uc3QgRk9STV9MQVlPVVRfU0laRVMgPSBbJ2xhcmdlJywgJ3NtYWxsJ107XG4vKipcbiAqIFBlci1zaXplIGRlbnNpdHkgb3ZlcnJpZGVzIG9uIGEgdmFyaWFudCdzIGJhc2VsaW5lICh0aGUgYmFzZWxpbmUgSVMgdGhlXG4gKiBgbGFyZ2VgIHNpemUpLiBPbmx5IGBwYWdlL3NtYWxsYCBleGlzdHMgdG9kYXkg4oCUIHRoZSBjb21wYWN0IGF1dGgtY2FyZFxuICogc3VyZmFjZTogYSBuYXJyb3dlciwgbGVzcyBwYWRkZWQgcGFuZWwgdGhhdCBrZWVwcyB0aGUgcGFnZSBiYXNlbGluZSdzIGdhcFxuICogcmh5dGhtIHVudG91Y2hlZCAoMTIgcm93IGdhcCAvIDEyIGNvbHVtbiBndXR0ZXIgLyAxNiByZWdpb24gZ2FwKSwgc28gYSBmaWVsZFxuICogc3RhY2sgcmVhZHMgaWRlbnRpY2FsbHkgaW4gdGhlIGF1dGggY2FyZCBhbmQgaW4gdGhlIGZ1bGwtd2lkdGggcGFnZSBmb3JtLlxuICogV2lkdGggYW5kIHBhZGRpbmcgYXJlIHRoZSBPTkxZIGRldmlhdGlvbnMuXG4gKlxuICogSXRzIDM4MCB3aWR0aCBpcyB0aGUgU0FNRSBudW1iZXIgYFBhbmVsTGF5b3V0YCB1c2VzLCBhbmQgZGVsaWJlcmF0ZWx5IHNvOlxuICogYW4gYXV0aCBmbG93IHN3YXBzIGEgZm9ybSBjYXJkIGZvciBhIHJlc3VsdCBwYW5lbCBpbiBwbGFjZSAoZm9yZ290LXBhc3N3b3JkXG4gKiDihpIgXCJ3ZSd2ZSBzZW50IGEgbGlua1wiKSwgc28gYSBkaWZmZXJlbnQgd2lkdGggd291bGQgbWFrZSB0aGUgY2FyZCBqdW1wLlxuICogVGhlIHR3byB0YWJsZXMgc3RpbGwgaG9sZCBpdCBzZXBhcmF0ZWx5IOKAlCB0aGV5IGFyZSBkaWZmZXJlbnQgc3VyZmFjZXMgdGhhdFxuICogaGFwcGVuIHRvIGFncmVlLCBub3Qgb25lIHZhbHVlIHdpdGggdHdvIHJlYWRlcnMuXG4gKlxuICogRXZlcnkgZ2FwIChyb3dHYXAgLyBjb2xHdXR0ZXIgLyByZWdpb25HYXAgLyBhY3Rpb25HYXApIHBsdXMgYGNvbnRyb2xTaXplYFxuICogZmFsbHMgYmFjayB0byB0aGUgYmFzZWxpbmUuIEEgdmFyaWFudC9zaXplIHdpdGggbm8gZW50cnkgdXNlcyB0aGUgYmFzZWxpbmVcbiAqIHVuY2hhbmdlZCwgc28gYGxhcmdlYCBuZXZlciBuZWVkcyBhbiBlbnRyeS4gYG1vZGFsYCBpbnRlbnRpb25hbGx5IGhhcyBub1xuICogYHNtYWxsYDogdGhlIGNvbmZpcm0vcmVzdWx0IGRpYWxvZyBpcyBCYXNlRGlhbG9nLCB3aGljaCBpcyBub3QgYSBmb3JtXG4gKiBzdXJmYWNlIGFuZCBkb2VzIG5vdCB1c2UgRm9ybUxheW91dC5cbiAqL1xuZXhwb3J0IGNvbnN0IEZPUk1fTEFZT1VUX1NJWkUgPSB7XG4gICAgcGFnZToge1xuICAgICAgICBzbWFsbDogeyB3aWR0aDogMzgwLCBwYWRkaW5nOiAyNCB9LFxuICAgIH0sXG59O1xuLyoqXG4gKiBCYXNlbGluZSBkZW5zaXR5IGZvciBhIHZhcmlhbnQgbWVyZ2VkIHdpdGggdGhlIHJlcXVlc3RlZCBzaXplJ3MgZGV2aWF0aW9ucy5cbiAqIFRoZSBzaW5nbGUgbG9va3VwIGJvdGggdGhlIHN1cmZhY2UgKEZvcm1MYXlvdXQpIGFuZCB0aGUgZm9ybSBwcmVzZXRcbiAqIChCYXNlUHJvRm9ybSkgcmVhZCwgc28gd2lkdGggLyBwYWRkaW5nIC8gZ2FwcyAvIGNvbnRyb2wgc2l6ZSBuZXZlciBkaXZlcmdlLlxuICovXG5leHBvcnQgY29uc3QgcmVzb2x2ZUZvcm1MYXlvdXRDb25maWcgPSAodmFyaWFudCwgc2l6ZSA9ICdsYXJnZScpID0+IHtcbiAgICBjb25zdCBvdmVycmlkZXMgPSBGT1JNX0xBWU9VVF9TSVpFW3ZhcmlhbnRdO1xuICAgIGNvbnN0IG92ZXJyaWRlID0gb3ZlcnJpZGVzID8gb3ZlcnJpZGVzW3NpemVdIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIEZPUk1fTEFZT1VUX0NPTkZJR1t2YXJpYW50XSksIG92ZXJyaWRlKTtcbn07XG5leHBvcnQgY29uc3QgRk9STV9MQVlPVVRfU0xPVCA9IHtcbiAgICBoZWFkZXI6ICdoZWFkZXInLFxuICAgIHRpdGxlOiAndGl0bGUnLFxuICAgIGV4dHJhOiAnZXh0cmEnLFxuICAgIGNvbnRlbnQ6ICdjb250ZW50JyxcbiAgICBmb290ZXI6ICdmb290ZXInLFxufTtcbi8qKiBCcmlkZ2UgdGhlIHJlc29sdmVkICh2YXJpYW50LCBzaXplKSBudW1iZXJzIGludG8gQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzLiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1MYXlvdXRDc3NWYXJzID0gKHZhcmlhbnQsIHNpemUgPSAnbGFyZ2UnKSA9PiB7XG4gICAgY29uc3QgY29uZmlnID0gcmVzb2x2ZUZvcm1MYXlvdXRDb25maWcodmFyaWFudCwgc2l6ZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgJy0tZm9ybS1sYXlvdXQtd2lkdGgnOiBgJHtjb25maWcud2lkdGh9cHhgLFxuICAgICAgICAnLS1mb3JtLWxheW91dC1wYWRkaW5nJzogYCR7Y29uZmlnLnBhZGRpbmd9cHhgLFxuICAgICAgICAnLS1mb3JtLWxheW91dC1yb3ctZ2FwJzogYCR7Y29uZmlnLnJvd0dhcH1weGAsXG4gICAgICAgICctLWZvcm0tbGF5b3V0LXJlZ2lvbi1nYXAnOiBgJHtjb25maWcucmVnaW9uR2FwfXB4YCxcbiAgICAgICAgJy0tZm9ybS1sYXlvdXQtYWN0aW9uLWdhcCc6IGAke2NvbmZpZy5hY3Rpb25HYXB9cHhgLFxuICAgIH07XG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=