@1money/component-ui 0.1.16 → 0.1.18

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 (82) hide show
  1. package/es/business/Filter/Account/Account.js +5 -2
  2. package/es/business/Filter/Account/interface.d.ts +7 -0
  3. package/es/business/Filter/DateRange/DateRange.js +30 -13
  4. package/es/business/Filter/DateRange/style/DateRange.css +80 -9
  5. package/es/components/Calendar/Calendar.js +14 -10
  6. package/es/components/Calendar/style/Calendar.css +14 -0
  7. package/es/components/Dialog/hooks.d.ts +1 -2
  8. package/es/components/Dialog/hooks.js +2 -21
  9. package/es/components/Drawer/hooks/useDialogFocus.d.ts +1 -2
  10. package/es/components/Drawer/hooks/useDialogFocus.js +2 -22
  11. package/es/components/Input/Mask/Mask.js +2 -6
  12. package/es/components/Input/Search/Search.js +2 -2
  13. package/es/components/Pagination/Pagination.js +9 -5
  14. package/es/components/Pagination/constants.d.ts +1 -0
  15. package/es/components/Pagination/constants.js +2 -1
  16. package/es/components/Pagination/interface.d.ts +4 -0
  17. package/es/components/Pagination/style/Pagination.css +12 -0
  18. package/es/components/Select/Select.js +15 -4
  19. package/es/components/Select/SelectSearchControl.d.ts +2 -1
  20. package/es/components/Select/SelectSearchControl.js +15 -1
  21. package/es/components/Select/style/Select.css +11 -0
  22. package/es/components/Select/utils.js +27 -3
  23. package/es/components/Table/internal/kernel/Table.js +14 -14
  24. package/es/components/Table/internal/kernel/utils/getScrollBarSize.js +12 -2
  25. package/es/components/Table/style/Table.css +6 -0
  26. package/es/components/Tooltip/Tooltip.js +9 -2
  27. package/es/components/Tooltip/style/Tooltip.css +2 -0
  28. package/es/components/Typography/constants.d.ts +0 -1
  29. package/es/components/Typography/constants.js +1 -2
  30. package/es/components/Typography/useTypographyEnhancements.js +5 -7
  31. package/es/hooks/useDialogFocus.d.ts +2 -0
  32. package/es/hooks/useDialogFocus.js +22 -0
  33. package/es/index.css +1 -1
  34. package/es/locale/en_US/business.js +2 -1
  35. package/es/locale/interface.d.ts +1 -0
  36. package/es/locale/pt_BR/business.js +2 -1
  37. package/es/locale/zh_CN/business.js +2 -1
  38. package/lib/business/Filter/Account/Account.js +5 -2
  39. package/lib/business/Filter/Account/interface.d.ts +7 -0
  40. package/lib/business/Filter/DateRange/DateRange.js +29 -12
  41. package/lib/business/Filter/DateRange/style/DateRange.css +80 -9
  42. package/lib/components/Calendar/Calendar.js +14 -10
  43. package/lib/components/Calendar/style/Calendar.css +14 -0
  44. package/lib/components/Dialog/hooks.d.ts +1 -2
  45. package/lib/components/Dialog/hooks.js +10 -22
  46. package/lib/components/Drawer/hooks/useDialogFocus.d.ts +1 -2
  47. package/lib/components/Drawer/hooks/useDialogFocus.js +8 -23
  48. package/lib/components/Input/Mask/Mask.js +2 -6
  49. package/lib/components/Input/Search/Search.js +2 -2
  50. package/lib/components/Pagination/Pagination.js +9 -5
  51. package/lib/components/Pagination/constants.d.ts +1 -0
  52. package/lib/components/Pagination/constants.js +2 -1
  53. package/lib/components/Pagination/interface.d.ts +4 -0
  54. package/lib/components/Pagination/style/Pagination.css +12 -0
  55. package/lib/components/Select/Select.js +14 -3
  56. package/lib/components/Select/SelectSearchControl.d.ts +2 -1
  57. package/lib/components/Select/SelectSearchControl.js +15 -1
  58. package/lib/components/Select/style/Select.css +11 -0
  59. package/lib/components/Select/utils.js +27 -3
  60. package/lib/components/Table/internal/kernel/Table.js +14 -14
  61. package/lib/components/Table/internal/kernel/utils/getScrollBarSize.js +12 -2
  62. package/lib/components/Table/style/Table.css +6 -0
  63. package/lib/components/Tooltip/Tooltip.js +9 -2
  64. package/lib/components/Tooltip/style/Tooltip.css +2 -0
  65. package/lib/components/Typography/constants.d.ts +0 -1
  66. package/lib/components/Typography/constants.js +2 -3
  67. package/lib/components/Typography/useTypographyEnhancements.js +4 -6
  68. package/lib/hooks/useDialogFocus.d.ts +2 -0
  69. package/lib/hooks/useDialogFocus.js +28 -0
  70. package/lib/index.css +1 -1
  71. package/lib/locale/en_US/business.js +2 -1
  72. package/lib/locale/interface.d.ts +1 -0
  73. package/lib/locale/pt_BR/business.js +2 -1
  74. package/lib/locale/zh_CN/business.js +2 -1
  75. package/package.json +1 -12
  76. package/scripts/mcp-server/README.md +5 -0
  77. package/scripts/mcp-server/examples.generated.json +18 -0
  78. package/scripts/mcp-server/index.generated.json +28 -0
  79. package/scripts/mcp-server/index.mjs +2 -1
  80. package/scripts/mcp-server/tools/get-symbol.mjs +5 -25
  81. package/scripts/mcp-server/tools/resolve-import.mjs +5 -19
  82. package/scripts/mcp-server/tools/symbol-lookups.mjs +29 -0
@@ -59,32 +59,103 @@
59
59
  border-bottom: 1px solid var(--om-border-neutral, #e3e4e4);
60
60
  }
61
61
  .om-date-range-filter__custom-header {
62
- height: 36px;
63
- margin-bottom: var(--om-spacing-400, 16px);
62
+ height: var(--om-component-height-xs, 24px);
63
+ margin-bottom: var(--om-spacing-100, 4px);
64
64
  }
65
- .om-date-range-filter__back-icon {
65
+ .om-date-range-filter__custom-title {
66
+ flex: 1;
67
+ min-width: 0;
68
+ text-align: center;
69
+ }
70
+ .om-date-range-filter__back, .om-date-range-filter__header-spacer {
71
+ flex: 0 0 var(--om-spacing-400, 16px);
72
+ width: var(--om-spacing-400, 16px);
73
+ height: var(--om-spacing-400, 16px);
74
+ }
75
+ .om-date-range-filter__back {
76
+ padding: 0;
77
+ color: var(--om-icon-default, #131313);
78
+ background: transparent;
79
+ border: 0;
66
80
  cursor: pointer;
67
81
  }
68
82
  .om-date-range-filter__calendar {
69
83
  display: block;
70
84
  width: 100%;
71
- margin-bottom: var(--om-spacing-600, 24px);
72
85
  }
73
- .om-date-range-filter__calendar .p-inputwrapper, .om-date-range-filter__calendar input {
86
+ .om-date-range-filter__calendar .p-inputwrapper,
87
+ .om-date-range-filter__calendar input {
74
88
  display: block;
75
89
  width: 100%;
76
90
  }
91
+ .om-date-range-filter__calendar .om-component-ui-calendar input {
92
+ font-size: var(--om-body-md-font-size);
93
+ font-family: var(--om-body-md-font-family);
94
+ line-height: var(--om-body-md-line-height);
95
+ letter-spacing: var(--om-body-md-letter-spacing);
96
+ font-weight: var(--om-body-md-strong-font-weight);
97
+ line-height: 20px !important;
98
+ padding-inline: calc(var(--om-spacing-400, 16px) - 1px);
99
+ border-radius: var(--om-radius-200, 8px);
100
+ }
101
+ .om-date-range-filter__calendar .om-component-ui-calendar input::-moz-placeholder {
102
+ font-size: var(--om-body-md-font-size);
103
+ font-family: var(--om-body-md-font-family);
104
+ line-height: var(--om-body-md-line-height);
105
+ letter-spacing: var(--om-body-md-letter-spacing);
106
+ font-weight: var(--om-body-md-font-weight);
107
+ color: var(--om-text-neutral-secondary, #9fa3a3);
108
+ }
109
+ .om-date-range-filter__calendar .om-component-ui-calendar input::placeholder {
110
+ font-size: var(--om-body-md-font-size);
111
+ font-family: var(--om-body-md-font-family);
112
+ line-height: var(--om-body-md-line-height);
113
+ letter-spacing: var(--om-body-md-letter-spacing);
114
+ font-weight: var(--om-body-md-font-weight);
115
+ color: var(--om-text-neutral-secondary, #9fa3a3);
116
+ }
117
+ .om-date-range-filter__calendar.om-component-ui-calendar-wrapper .om-component-ui-calendar.p-calendar.p-focus > .p-inputtext {
118
+ padding-inline: calc(var(--om-spacing-400, 16px) - 2px);
119
+ }
77
120
  .om-date-range-filter__footer {
78
121
  padding: var(--om-spacing-200, 8px) 0;
79
122
  }
80
- .om-date-range-filter__footer--bordered {
81
- border-top: 1px solid var(--om-border-neutral, #e3e4e4);
123
+ .om-date-range-filter__footer--custom {
124
+ padding-top: var(--om-spacing-300, 12px);
125
+ padding-bottom: var(--om-spacing-100, 4px);
82
126
  }
83
127
 
84
- .om-date-range-filter-calendar-panel {
128
+ .om-component-ui-calendar-panel.om-date-range-filter-calendar-panel {
85
129
  z-index: 2000 !important;
130
+ margin-top: var(--om-spacing-100, 4px);
131
+ border: 0;
132
+ box-shadow: var(--om-shadow-100, 0 4px 8px rgba(65, 91, 130, 0.12)), inset 0 0 0 1px var(--om-border-neutral-tertiary, #f8f8f8);
133
+ }
134
+ .om-component-ui-calendar-panel.om-date-range-filter-calendar-panel[style*="transform-origin: bottom"], .om-component-ui-calendar-panel.om-date-range-filter-calendar-panel[style*="transform-origin: center bottom"] {
135
+ margin-top: calc(-1 * var(--om-spacing-100, 4px));
136
+ }
137
+ .om-component-ui-calendar-panel.om-date-range-filter-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-header {
138
+ height: calc(var(--om-component-height-xs, 24px) + var(--om-spacing-300, 12px));
139
+ }
140
+ .om-component-ui-calendar-panel.om-date-range-filter-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-header .p-datepicker-prev,
141
+ .om-component-ui-calendar-panel.om-date-range-filter-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-header .p-datepicker-next {
142
+ width: var(--om-spacing-400, 16px);
143
+ height: var(--om-spacing-400, 16px);
144
+ }
145
+ .om-component-ui-calendar-panel.om-date-range-filter-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-calendar-container .p-datepicker-calendar thead tr th {
146
+ font-size: var(--om-body-sm-font-size);
147
+ font-family: var(--om-body-sm-font-family);
148
+ line-height: var(--om-body-sm-line-height);
149
+ letter-spacing: var(--om-body-sm-letter-spacing);
150
+ font-weight: var(--om-body-sm-font-weight);
151
+ height: calc(var(--om-spacing-400, 16px) + var(--om-spacing-100, 4px));
86
152
  }
87
153
 
88
- .om-date-range-filter-panel .om-component-ui-select-panel-body {
154
+ .om-component-ui-select-panel.om-date-range-filter-panel {
155
+ box-sizing: border-box;
156
+ border: 0;
157
+ box-shadow: var(--om-shadow-100, 0 4px 8px rgba(65, 91, 130, 0.12)), inset 0 0 0 1px var(--om-border-neutral-tertiary, #f8f8f8);
158
+ }
159
+ .om-component-ui-select-panel.om-date-range-filter-panel .om-component-ui-select-panel-body {
89
160
  gap: 0;
90
161
  }
@@ -74,10 +74,20 @@ var Calendar = exports.Calendar = function Calendar(props) {
74
74
  contentWidth = props.contentWidth,
75
75
  panelStyle = props.panelStyle,
76
76
  viewDateProp = props.viewDate,
77
+ _props$prevIcon = props.prevIcon,
78
+ prevIcon = _props$prevIcon === void 0 ? (0, _jsxRuntime.jsx)(_Icons.Icons, {
79
+ name: 'chevronLeft',
80
+ size: 24
81
+ }) : _props$prevIcon,
82
+ _props$nextIcon = props.nextIcon,
83
+ nextIcon = _props$nextIcon === void 0 ? (0, _jsxRuntime.jsx)(_Icons.Icons, {
84
+ name: 'chevronRight',
85
+ size: 24
86
+ }) : _props$nextIcon,
77
87
  onViewDateChange = props.onViewDateChange,
78
88
  onChange = props.onChange,
79
89
  ref = props.ref,
80
- rest = __rest(props, ["prefixCls", "wrapperCls", "labelCls", "feedbackCls", "className", "panelClassName", "label", "feedback", "feedbackIcon", "required", "status", "placeholder", "defaultValue", "value", "size", "selectionMode", "contentWidth", "panelStyle", "viewDate", "onViewDateChange", "onChange", "ref"]);
90
+ rest = __rest(props, ["prefixCls", "wrapperCls", "labelCls", "feedbackCls", "className", "panelClassName", "label", "feedback", "feedbackIcon", "required", "status", "placeholder", "defaultValue", "value", "size", "selectionMode", "contentWidth", "panelStyle", "viewDate", "prevIcon", "nextIcon", "onViewDateChange", "onChange", "ref"]);
81
91
  var isError = status === 'error';
82
92
  var isWarning = status === 'warning';
83
93
  var isSuccess = status === 'success';
@@ -142,14 +152,8 @@ var Calendar = exports.Calendar = function Calendar(props) {
142
152
  className: classes(void 0, (0, _classnames.joinCls)(className, classes(size), date && classes('filled'), isWarning && classes('warning'), isSuccess && classes('success'))),
143
153
  panelClassName: classes('panel', panelClassName),
144
154
  placeholder: placeholder,
145
- prevIcon: (0, _jsxRuntime.jsx)(_Icons.Icons, {
146
- name: "chevronLeft",
147
- size: 24
148
- }),
149
- nextIcon: (0, _jsxRuntime.jsx)(_Icons.Icons, {
150
- name: "chevronRight",
151
- size: 24
152
- }),
155
+ prevIcon: prevIcon,
156
+ nextIcon: nextIcon,
153
157
  selectionMode: selectionMode,
154
158
  pt: selectionMode === 'range' ? {
155
159
  day: function day(params) {
@@ -171,4 +175,4 @@ var Calendar = exports.Calendar = function Calendar(props) {
171
175
  };
172
176
  Calendar.displayName = 'Calendar';
173
177
  var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(Calendar);
174
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQ2FsZW5kYXIvQ2FsZW5kYXIuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0NhbGVuZGFyL0NhbGVuZGFyLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9jYWxlbmRhciIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Db25maWdQcm92aWRlciIsIl91c2VFdmVudENhbGxiYWNrIiwiX0ljb25zIiwiX1R5cG9ncmFwaHkiLCJfY2xhc3NuYW1lcyIsIl9jb25zdGFudHMiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9fcmVzdCIsInMiLCJwIiwicHJvdG90eXBlIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiaXNTYW1lRGF5IiwiZDEiLCJkMiIsImdldEZ1bGxZZWFyIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwiZ2V0UmFuZ2VEYXRlU3R5bGVzIiwicGFyYW1zIiwic2VsZWN0ZWREYXRlcyIsImNsYXNzZXMiLCJfYSIsIl9iIiwiX3JlZiIsImNvbnRleHQiLCJfcmVmMiIsImRhdGUiLCJBcnJheSIsImlzQXJyYXkiLCJjZWxsRGF0ZSIsIkRhdGUiLCJ5ZWFyIiwibW9udGgiLCJkYXkiLCJoYXNSYW5nZSIsImlzU3RhcnQiLCJ1bmRlZmluZWQiLCJpc0VuZCIsImluUmFuZ2UiLCJqb2luQ2xzIiwiQ2FsZW5kYXIiLCJleHBvcnRzIiwicHJvcHMiLCJsb2NhbGUiLCJ1c2VMb2NhbGUiLCJmaWVsZExvY2FsZSIsImxvY2FsZUNvZGUiLCJ1c2VMb2NhbGVDb2RlIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIndyYXBwZXJDbHMiLCJsYWJlbENscyIsImZlZWRiYWNrQ2xzIiwiY2xhc3NOYW1lIiwicGFuZWxDbGFzc05hbWUiLCJsYWJlbCIsImZlZWRiYWNrIiwiZmVlZGJhY2tJY29uIiwiX3Byb3BzJHJlcXVpcmVkIiwicmVxdWlyZWQiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJkZWZhdWx0VmFsdWUiLCJ2YWx1ZSIsIl9wcm9wcyRzaXplIiwic2l6ZSIsIl9wcm9wcyRzZWxlY3Rpb25Nb2RlIiwic2VsZWN0aW9uTW9kZSIsImNvbnRlbnRXaWR0aCIsInBhbmVsU3R5bGUiLCJ2aWV3RGF0ZVByb3AiLCJ2aWV3RGF0ZSIsIm9uVmlld0RhdGVDaGFuZ2UiLCJvbkNoYW5nZSIsInJlZiIsInJlc3QiLCJpc0Vycm9yIiwiaXNXYXJuaW5nIiwiaXNTdWNjZXNzIiwiY2xhc3NuYW1lcyIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNldERhdGUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJzZXRWaWV3RGF0ZSIsImhhbmRsZVZpZXdEYXRlQ2hhbmdlIiwidXNlRXZlbnRDYWxsYmFjayIsImhhbmRsZUNoYW5nZSIsImV2ZW50IiwiRXZlbnQiLCJidWJibGVzIiwib3JpZ2luYWxFdmVudCIsInRhcmdldCIsImRpc3BhdGNoRXZlbnQiLCJfanN4cyIsImNoaWxkcmVuIiwiVHlwb2dyYXBoeUxhYmVsIiwiYXMiLCJzdHJvbmciLCJDQUxFTkRBUl9MQUJFTF9TSVpFIiwiY29sb3IiLCJDQUxFTkRBUl9MQUJFTF9DT0xPUiIsIl9qc3giLCJpdGFsaWMiLCJvcHRpb25hbCIsIlByaW1lQ2FsZW5kYXIiLCJhc3NpZ24iLCJwcmltZSIsImludmFsaWQiLCJwcmV2SWNvbiIsIkljb25zIiwibmFtZSIsIm5leHRJY29uIiwicHQiLCJjb25jYXQiLCJyb2xlIiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLG9CQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTSxlQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVEsTUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBRUEsSUFBQVUsV0FBQSxHQUFBUix1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVcsVUFBQSxHQUFBWCxPQUFBO0FBR0FBLE9BQUE7QUFBaUIsU0FBQUUsd0JBQUFVLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFaLHVCQUFBLFlBQUFBLHdCQUFBVSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsbUJBQUFULENBQUEsaUJBQUFBLENBQUEsZ0JBQUFVLE9BQUEsQ0FBQVYsQ0FBQSwwQkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENB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QSxhQUFhO01BQzVCa0QsRUFBRSxFQUNBbEQsYUFBYSxLQUFLLE9BQU8sR0FDckI7UUFDRXBDLEdBQUcsRUFBRSxTQUFMQSxHQUFHQSxDQUFFZixNQUFNO1VBQUEsT0FBSztZQUNkbUMsU0FBUyxFQUFFcEMsa0JBQWtCLENBQzNCQyxNQUErRSxFQUMvRVEsSUFBNEMsRUFDNUNOLE9BQU87VUR4RkgsQ0MwRlA7UUFBQTtNRHpGRyxDQzBGTCxHQUNEZ0I7SUFBUyxDQUFBLENBQUEsQ0FFZixFQUNEb0IsUUFBUSxJQUNQLElBQUE0QyxnQkFBQSxFQUFBLE1BQUEsRUFBQTtNQUNFL0MsU0FBUyxFQUFFakMsT0FBTyxDQUNoQixVQUFVLEVBQ1YsSUFBQW1CLG1CQUFPLEVBQ0xzQixNQUFNLEtBQUssU0FBUyxJQUFJekMsT0FBTyxhQUFBb0csTUFBQSxDQUFhM0QsTUFBTSxDQUFFLENBQUMsRUFDckRULFdBQVcsQ0FDWixDQUNGO01BQ0RxRSxJQUFJLEVBQUUzQyxPQUFPLElBQUlDLFNBQVMsR0FBRyxPQUFPLEdBQUcsUUFBUTtNQUFBc0IsUUFBQSxFQUFBLENBRTlDNUMsWUFBWSxLQUFLLE9BQU9BLFlBQVksS0FBSyxRQUFRLEdBQzlDLElBQUFtRCxlQUFBLEVBQUNRLFlBQUssRUFBQTtRQUFDL0QsU0FBUyxFQUFFakMsT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUFFaUcsSUFBSSxFQUFFNUQsWUFBd0I7UUFBRVUsSUFBSSxFQUFFO01BQUUsQ0FBQSxDQUFJLEdBQ3hGVixZQUFZLENBQUMsRUFDaEJELFFBQVE7SUFBQSxDQUFBLENBRVo7RUFBQSxDQUFBLENBQ0c7QUFFVixDQUFDO0FBRURoQixRQUFRLENBQUNrRixXQUFXLEdBQUcsVUFBVTtBQUFDLElBQUFDLFFBQUEsR0FBQWxGLE9BQUEsMkJBRW5CLElBQUFtRixXQUFJLEVBQUNwRixRQUFRLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9DYWxlbmRhci9DYWxlbmRhci5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgUmVhY3QsIHsgbWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDYWxlbmRhciBhcyBQcmltZUNhbGVuZGFyIH0gZnJvbSAncHJpbWVyZWFjdC9jYWxlbmRhcic7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB7IHVzZUxvY2FsZSwgdXNlTG9jYWxlQ29kZSB9IGZyb20gJy4uL0NvbmZpZ1Byb3ZpZGVyJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHlMYWJlbCB9IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBDQUxFTkRBUl9MQUJFTF9DT0xPUiwgQ0FMRU5EQVJfTEFCRUxfU0laRSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5jb25zdCBpc1NhbWVEYXkgPSAoZDEsIGQyKSA9PiB7XG4gICAgaWYgKCFkMSB8fCAhZDIpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gKGQxLmdldEZ1bGxZZWFyKCkgPT09IGQyLmdldEZ1bGxZZWFyKCkgJiZcbiAgICAgICAgZDEuZ2V0TW9udGgoKSA9PT0gZDIuZ2V0TW9udGgoKSAmJlxuICAgICAgICBkMS5nZXREYXRlKCkgPT09IGQyLmdldERhdGUoKSk7XG59O1xuY29uc3QgZ2V0UmFuZ2VEYXRlU3R5bGVzID0gKHBhcmFtcywgc2VsZWN0ZWREYXRlcywgY2xhc3NlcykgPT4ge1xuICAgIHZhciBfYSwgX2I7XG4gICAgY29uc3QgeyBjb250ZXh0IH0gPSBwYXJhbXMgfHwge307XG4gICAgY29uc3QgeyBkYXRlIH0gPSBjb250ZXh0IHx8IHt9O1xuICAgIGlmICghZGF0ZSB8fCAhQXJyYXkuaXNBcnJheShzZWxlY3RlZERhdGVzKSlcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIGNvbnN0IGNlbGxEYXRlID0gbmV3IERhdGUoZGF0ZS55ZWFyLCBkYXRlLm1vbnRoLCBkYXRlLmRheSk7XG4gICAgY29uc3QgaGFzUmFuZ2UgPSBzZWxlY3RlZERhdGVzWzBdICYmXG4gICAgICAgIHNlbGVjdGVkRGF0ZXNbMV0gJiZcbiAgICAgICAgIWlzU2FtZURheShzZWxlY3RlZERhdGVzWzBdLCBzZWxlY3RlZERhdGVzWzFdKTtcbiAgICBjb25zdCBpc1N0YXJ0ID0gaGFzUmFuZ2UgJiYgaXNTYW1lRGF5KGNlbGxEYXRlLCAoX2EgPSBzZWxlY3RlZERhdGVzWzBdKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGlzRW5kID0gaGFzUmFuZ2UgJiYgaXNTYW1lRGF5KGNlbGxEYXRlLCAoX2IgPSBzZWxlY3RlZERhdGVzWzFdKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGluUmFuZ2UgPSBzZWxlY3RlZERhdGVzWzBdICYmXG4gICAgICAgIHNlbGVjdGVkRGF0ZXNbMV0gJiZcbiAgICAgICAgY2VsbERhdGUgPiBzZWxlY3RlZERhdGVzWzBdICYmXG4gICAgICAgIGNlbGxEYXRlIDwgc2VsZWN0ZWREYXRlc1sxXTtcbiAgICByZXR1cm4gam9pbkNscyhpc1N0YXJ0ICYmIGNsYXNzZXMoJ3Atc3RhcnQnKSwgaXNFbmQgJiYgY2xhc3NlcygncC1lbmQnKSwgaW5SYW5nZSAmJiBjbGFzc2VzKCdwLXJhbmdlJykpO1xufTtcbmV4cG9ydCBjb25zdCBDYWxlbmRhciA9IHByb3BzID0+IHtcbiAgICBjb25zdCBsb2NhbGUgPSB1c2VMb2NhbGUoJ0NhbGVuZGFyJyk7XG4gICAgY29uc3QgZmllbGRMb2NhbGUgPSB1c2VMb2NhbGUoJ0ZpZWxkJyk7XG4gICAgY29uc3QgbG9jYWxlQ29kZSA9IHVzZUxvY2FsZUNvZGUoKTtcbiAgICBjb25zdCB7IHByZWZpeENscyA9ICdjYWxlbmRhcicsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBmZWVkYmFja0NscywgY2xhc3NOYW1lLCBwYW5lbENsYXNzTmFtZSwgbGFiZWwsIGZlZWRiYWNrLCBmZWVkYmFja0ljb24sIHJlcXVpcmVkID0gdHJ1ZSwgc3RhdHVzID0gJ2RlZmF1bHQnLCBwbGFjZWhvbGRlciA9IGxvY2FsZS5wbGFjZWhvbGRlciwgZGVmYXVsdFZhbHVlLCB2YWx1ZSwgc2l6ZSA9ICdsYXJnZScsIHNlbGVjdGlvbk1vZGUgPSAnc2luZ2xlJywgY29udGVudFdpZHRoLCBwYW5lbFN0eWxlLCB2aWV3RGF0ZTogdmlld0RhdGVQcm9wLCBvblZpZXdEYXRlQ2hhbmdlLCBvbkNoYW5nZSwgcmVmIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wicHJlZml4Q2xzXCIsIFwid3JhcHBlckNsc1wiLCBcImxhYmVsQ2xzXCIsIFwiZmVlZGJhY2tDbHNcIiwgXCJjbGFzc05hbWVcIiwgXCJwYW5lbENsYXNzTmFtZVwiLCBcImxhYmVsXCIsIFwiZmVlZGJhY2tcIiwgXCJmZWVkYmFja0ljb25cIiwgXCJyZXF1aXJlZFwiLCBcInN0YXR1c1wiLCBcInBsYWNlaG9sZGVyXCIsIFwiZGVmYXVsdFZhbHVlXCIsIFwidmFsdWVcIiwgXCJzaXplXCIsIFwic2VsZWN0aW9uTW9kZVwiLCBcImNvbnRlbnRXaWR0aFwiLCBcInBhbmVsU3R5bGVcIiwgXCJ2aWV3RGF0ZVwiLCBcIm9uVmlld0RhdGVDaGFuZ2VcIiwgXCJvbkNoYW5nZVwiLCBcInJlZlwiXSk7XG4gICAgY29uc3QgaXNFcnJvciA9IHN0YXR1cyA9PT0gJ2Vycm9yJztcbiAgICBjb25zdCBpc1dhcm5pbmcgPSBzdGF0dXMgPT09ICd3YXJuaW5nJztcbiAgICBjb25zdCBpc1N1Y2Nlc3MgPSBzdGF0dXMgPT09ICdzdWNjZXNzJztcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtkYXRlLCBzZXREYXRlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0VmFsdWUgIT09IG51bGwgJiYgZGVmYXVsdFZhbHVlICE9PSB2b2lkIDAgPyBkZWZhdWx0VmFsdWUgOiBudWxsLCB2YWx1ZSk7XG4gICAgY29uc3QgW3ZpZXdEYXRlLCBzZXRWaWV3RGF0ZV0gPSB1c2VTdGF0ZSh2aWV3RGF0ZVByb3AgIT09IG51bGwgJiYgdmlld0RhdGVQcm9wICE9PSB2b2lkIDAgPyB2aWV3RGF0ZVByb3AgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGhhbmRsZVZpZXdEYXRlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZSkgPT4ge1xuICAgICAgICBzZXRWaWV3RGF0ZShlLnZhbHVlKTtcbiAgICAgICAgb25WaWV3RGF0ZUNoYW5nZSA9PT0gbnVsbCB8fCBvblZpZXdEYXRlQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblZpZXdEYXRlQ2hhbmdlKGUpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKGUpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgc2V0RGF0ZShlLnZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGUpO1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pO1xuICAgICAgICAoX2IgPSAoX2EgPSBlLm9yaWdpbmFsRXZlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50YXJnZXQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICB9KTtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIHsgcmVmOiByZWYsIGNsYXNzTmFtZTogY2xhc3Nlcygnd3JhcHBlcicsIHdyYXBwZXJDbHMpLCBjaGlsZHJlbjogW2xhYmVsICYmIChfanN4cyhUeXBvZ3JhcGh5TGFiZWwsIHsgYXM6IFwic3BhblwiLCBzdHJvbmc6IHRydWUsIHNpemU6IENBTEVOREFSX0xBQkVMX1NJWkVbc2l6ZV0sIGNvbG9yOiBDQUxFTkRBUl9MQUJFTF9DT0xPUiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbCcsIGxhYmVsQ2xzKSwgY2hpbGRyZW46IFtsYWJlbCwgIXJlcXVpcmVkICYmIChfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBhczogXCJzcGFuXCIsIGl0YWxpYzogdHJ1ZSwgc3Ryb25nOiB0cnVlLCBzaXplOiBDQUxFTkRBUl9MQUJFTF9TSVpFW3NpemVdLCBjb2xvcjogXCJkZWZhdWx0LXRlcnRpYXJ5XCIsIGNsYXNzTmFtZTogY2xhc3Nlcygnb3B0aW9uYWwnKSwgY2hpbGRyZW46IGZpZWxkTG9jYWxlLm9wdGlvbmFsIH0pKV0gfSkpLCBfanN4KFByaW1lQ2FsZW5kYXJcbiAgICAgICAgICAgIC8vIE1vbnRoL3dlZWtkYXkgbmFtZXMgcmVzb2x2ZSB0aHJvdWdoIFByaW1lUmVhY3QncyBsb2NhbGUgcmVnaXN0cnkg4oCUXG4gICAgICAgICAgICAvLyB0aGUgQ29uZmlnUHJvdmlkZXIgcmVnaXN0ZXJzIHRoZSBwYWNrJ3MgZGF0YSB1bmRlciBgY29kZWAgd2hlbiB0aGVcbiAgICAgICAgICAgIC8vIHBhY2sgc2hpcHMgYENhbGVuZGFyLnByaW1lYC4gQW4gZXhwbGljaXQgYGxvY2FsZWAgaW4gYHJlc3RgIHdpbnMuXG4gICAgICAgICAgICAsIE9iamVjdC5hc3NpZ24oeyBcbiAgICAgICAgICAgICAgICAvLyBNb250aC93ZWVrZGF5IG5hbWVzIHJlc29sdmUgdGhyb3VnaCBQcmltZVJlYWN0J3MgbG9jYWxlIHJlZ2lzdHJ5IOKAlFxuICAgICAgICAgICAgICAgIC8vIHRoZSBDb25maWdQcm92aWRlciByZWdpc3RlcnMgdGhlIHBhY2sncyBkYXRhIHVuZGVyIGBjb2RlYCB3aGVuIHRoZVxuICAgICAgICAgICAgICAgIC8vIHBhY2sgc2hpcHMgYENhbGVuZGFyLnByaW1lYC4gQW4gZXhwbGljaXQgYGxvY2FsZWAgaW4gYHJlc3RgIHdpbnMuXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGUucHJpbWUgPyBsb2NhbGVDb2RlIDogdW5kZWZpbmVkIH0sIHJlc3QsIHsgaW52YWxpZDogaXNFcnJvciwgdmFsdWU6IGRhdGUsIHZpZXdEYXRlOiB2aWV3RGF0ZSwgb25WaWV3RGF0ZUNoYW5nZTogaGFuZGxlVmlld0RhdGVDaGFuZ2UsIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHBhbmVsU3R5bGU6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcGFuZWxTdHlsZSksIHsgJy0tY29udGVudC13aWR0aCc6IGNvbnRlbnRXaWR0aCB9KSwgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgam9pbkNscyhjbGFzc05hbWUsIGNsYXNzZXMoc2l6ZSksIGRhdGUgJiYgY2xhc3NlcygnZmlsbGVkJyksIGlzV2FybmluZyAmJiBjbGFzc2VzKCd3YXJuaW5nJyksIGlzU3VjY2VzcyAmJiBjbGFzc2VzKCdzdWNjZXNzJykpKSwgcGFuZWxDbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsJywgcGFuZWxDbGFzc05hbWUpLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHByZXZJY29uOiBfanN4KEljb25zLCB7IG5hbWU6IFwiY2hldnJvbkxlZnRcIiwgc2l6ZTogMjQgfSksIG5leHRJY29uOiBfanN4KEljb25zLCB7IG5hbWU6IFwiY2hldnJvblJpZ2h0XCIsIHNpemU6IDI0IH0pLCBzZWxlY3Rpb25Nb2RlOiBzZWxlY3Rpb25Nb2RlLCBwdDogc2VsZWN0aW9uTW9kZSA9PT0gJ3JhbmdlJ1xuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRheTogcGFyYW1zID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBnZXRSYW5nZURhdGVTdHlsZXMocGFyYW1zLCBkYXRlLCBjbGFzc2VzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkIH0pKSwgZmVlZGJhY2sgJiYgKF9qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZmVlZGJhY2snLCBqb2luQ2xzKHN0YXR1cyAhPT0gJ2RlZmF1bHQnICYmIGNsYXNzZXMoYGZlZWRiYWNrLSR7c3RhdHVzfWApLCBmZWVkYmFja0NscykpLCByb2xlOiBpc0Vycm9yIHx8IGlzV2FybmluZyA/ICdhbGVydCcgOiAnc3RhdHVzJywgY2hpbGRyZW46IFtmZWVkYmFja0ljb24gJiYgKHR5cGVvZiBmZWVkYmFja0ljb24gPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgICAgICAgICAgICA/IF9qc3goSWNvbnMsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdmZWVkYmFjay1pY29uJyksIG5hbWU6IGZlZWRiYWNrSWNvbiwgc2l6ZTogMTYgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZmVlZGJhY2tJY29uKSwgZmVlZGJhY2tdIH0pKV0gfSkpO1xufTtcbkNhbGVuZGFyLmRpc3BsYXlOYW1lID0gJ0NhbGVuZGFyJztcbmV4cG9ydCBkZWZhdWx0IG1lbW8oQ2FsZW5kYXIpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
178
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQ2FsZW5kYXIvQ2FsZW5kYXIuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0NhbGVuZGFyL0NhbGVuZGFyLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9jYWxlbmRhciIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Db25maWdQcm92aWRlciIsIl91c2VFdmVudENhbGxiYWNrIiwiX0ljb25zIiwiX1R5cG9ncmFwaHkiLCJfY2xhc3NuYW1lcyIsIl9jb25zdGFudHMiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9fcmVzdCIsInMiLCJwIiwicHJvdG90eXBlIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiaXNTYW1lRGF5IiwiZDEiLCJkMiIsImdldEZ1bGxZZWFyIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwiZ2V0UmFuZ2VEYXRlU3R5bGVzIiwicGFyYW1zIiwic2VsZWN0ZWREYXRlcyIsImNsYXNzZXMiLCJfYSIsIl9iIiwiX3JlZiIsImNvbnRleHQiLCJfcmVmMiIsImRhdGUiLCJBcnJheSIsImlzQXJyYXkiLCJjZWxsRGF0ZSIsIkRhdGUiLCJ5ZWFyIiwibW9udGgiLCJkYXkiLCJoYXNSYW5nZSIsImlzU3RhcnQiLCJ1bmRlZmluZWQiLCJpc0VuZCIsImluUmFuZ2UiLCJqb2luQ2xzIiwiQ2FsZW5kYXIiLCJleHBvcnRzIiwicHJvcHMiLCJsb2NhbGUiLCJ1c2VMb2NhbGUiLCJmaWVsZExvY2FsZSIsImxvY2FsZUNvZGUiLCJ1c2VMb2NhbGVDb2RlIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIndyYXBwZXJDbHMiLCJsYWJlbENscyIsImZlZWRiYWNrQ2xzIiwiY2xhc3NOYW1lIiwicGFuZWxDbGFzc05hbWUiLCJsYWJlbCIsImZlZWRiYWNrIiwiZmVlZGJhY2tJY29uIiwiX3Byb3BzJHJlcXVpcmVkIiwicmVxdWlyZWQiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJkZWZhdWx0VmFsdWUiLCJ2YWx1ZSIsIl9wcm9wcyRzaXplIiwic2l6ZSIsIl9wcm9wcyRzZWxlY3Rpb25Nb2RlIiwic2VsZWN0aW9uTW9kZSIsImNvbnRlbnRXaWR0aCIsInBhbmVsU3R5bGUiLCJ2aWV3RGF0ZVByb3AiLCJ2aWV3RGF0ZSIsIl9wcm9wcyRwcmV2SWNvbiIsInByZXZJY29uIiwiX2pzeCIsIkljb25zIiwibmFtZSIsIl9wcm9wcyRuZXh0SWNvbiIsIm5leHRJY29uIiwib25WaWV3RGF0ZUNoYW5nZSIsIm9uQ2hhbmdlIiwicmVmIiwicmVzdCIsImlzRXJyb3IiLCJpc1dhcm5pbmciLCJpc1N1Y2Nlc3MiLCJjbGFzc25hbWVzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2V0RGF0ZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsInNldFZpZXdEYXRlIiwiaGFuZGxlVmlld0RhdGVDaGFuZ2UiLCJ1c2VFdmVudENhbGxiYWNrIiwiaGFuZGxlQ2hhbmdlIiwiZXZlbnQiLCJFdmVudCIsImJ1YmJsZXMiLCJvcmlnaW5hbEV2ZW50IiwidGFyZ2V0IiwiZGlzcGF0Y2hFdmVudCIsIl9qc3hzIiwiY2hpbGRyZW4iLCJUeXBvZ3JhcGh5TGFiZWwiLCJhcyIsInN0cm9uZyIsIkNBTEVOREFSX0xBQkVMX1NJWkUiLCJjb2xvciIsIkNBTEVOREFSX0xBQkVMX0NPTE9SIiwiaXRhbGljIiwib3B0aW9uYWwiLCJQcmltZUNhbGVuZGFyIiwiYXNzaWduIiwicHJpbWUiLCJpbnZhbGlkIiwicHQiLCJjb25jYXQiLCJyb2xlIiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLG9CQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTSxlQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVEsTUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBRUEsSUFBQVUsV0FBQSxHQUFBUix1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVcsVUFBQSxHQUFBWCxPQUFBO0FBR0FBLE9BQUE7QUFBaUIsU0FBQUUsd0JBQUFVLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFaLHVCQUFBLFlBQUFBLHdCQUFBVSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsbUJBQUFULENBQUEsaUJBQUFBLENBQUEsZ0JBQUFVLE9BQUEsQ0FBQVYsQ0FBQSwwQkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFY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QUFBLENBQUEsQ0FFWjtFQUFBLENBQUEsQ0FDRztBQUVWLENBQUM7QUFFRGhCLFFBQVEsQ0FBQ29GLFdBQVcsR0FBRyxVQUFVO0FBQUMsSUFBQUMsUUFBQSxHQUFBcEYsT0FBQSwyQkFFbkIsSUFBQXFGLFdBQUksRUFBQ3RGLFFBQVEsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL0NhbGVuZGFyL0NhbGVuZGFyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBSZWFjdCwgeyBtZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENhbGVuZGFyIGFzIFByaW1lQ2FsZW5kYXIgfSBmcm9tICdwcmltZXJlYWN0L2NhbGVuZGFyJztcbmltcG9ydCB1c2VDb250cm9sbGVkU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VDb250cm9sbGVkU3RhdGUnO1xuaW1wb3J0IHsgdXNlTG9jYWxlLCB1c2VMb2NhbGVDb2RlIH0gZnJvbSAnLi4vQ29uZmlnUHJvdmlkZXInO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IENBTEVOREFSX0xBQkVMX0NPTE9SLCBDQUxFTkRBUl9MQUJFTF9TSVpFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IGlzU2FtZURheSA9IChkMSwgZDIpID0+IHtcbiAgICBpZiAoIWQxIHx8ICFkMilcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiAoZDEuZ2V0RnVsbFllYXIoKSA9PT0gZDIuZ2V0RnVsbFllYXIoKSAmJlxuICAgICAgICBkMS5nZXRNb250aCgpID09PSBkMi5nZXRNb250aCgpICYmXG4gICAgICAgIGQxLmdldERhdGUoKSA9PT0gZDIuZ2V0RGF0ZSgpKTtcbn07XG5jb25zdCBnZXRSYW5nZURhdGVTdHlsZXMgPSAocGFyYW1zLCBzZWxlY3RlZERhdGVzLCBjbGFzc2VzKSA9PiB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBjb25zdCB7IGNvbnRleHQgfSA9IHBhcmFtcyB8fCB7fTtcbiAgICBjb25zdCB7IGRhdGUgfSA9IGNvbnRleHQgfHwge307XG4gICAgaWYgKCFkYXRlIHx8ICFBcnJheS5pc0FycmF5KHNlbGVjdGVkRGF0ZXMpKVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgY29uc3QgY2VsbERhdGUgPSBuZXcgRGF0ZShkYXRlLnllYXIsIGRhdGUubW9udGgsIGRhdGUuZGF5KTtcbiAgICBjb25zdCBoYXNSYW5nZSA9IHNlbGVjdGVkRGF0ZXNbMF0gJiZcbiAgICAgICAgc2VsZWN0ZWREYXRlc1sxXSAmJlxuICAgICAgICAhaXNTYW1lRGF5KHNlbGVjdGVkRGF0ZXNbMF0sIHNlbGVjdGVkRGF0ZXNbMV0pO1xuICAgIGNvbnN0IGlzU3RhcnQgPSBoYXNSYW5nZSAmJiBpc1NhbWVEYXkoY2VsbERhdGUsIChfYSA9IHNlbGVjdGVkRGF0ZXNbMF0pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgaXNFbmQgPSBoYXNSYW5nZSAmJiBpc1NhbWVEYXkoY2VsbERhdGUsIChfYiA9IHNlbGVjdGVkRGF0ZXNbMV0pICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgaW5SYW5nZSA9IHNlbGVjdGVkRGF0ZXNbMF0gJiZcbiAgICAgICAgc2VsZWN0ZWREYXRlc1sxXSAmJlxuICAgICAgICBjZWxsRGF0ZSA+IHNlbGVjdGVkRGF0ZXNbMF0gJiZcbiAgICAgICAgY2VsbERhdGUgPCBzZWxlY3RlZERhdGVzWzFdO1xuICAgIHJldHVybiBqb2luQ2xzKGlzU3RhcnQgJiYgY2xhc3NlcygncC1zdGFydCcpLCBpc0VuZCAmJiBjbGFzc2VzKCdwLWVuZCcpLCBpblJhbmdlICYmIGNsYXNzZXMoJ3AtcmFuZ2UnKSk7XG59O1xuZXhwb3J0IGNvbnN0IENhbGVuZGFyID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IGxvY2FsZSA9IHVzZUxvY2FsZSgnQ2FsZW5kYXInKTtcbiAgICBjb25zdCBmaWVsZExvY2FsZSA9IHVzZUxvY2FsZSgnRmllbGQnKTtcbiAgICBjb25zdCBsb2NhbGVDb2RlID0gdXNlTG9jYWxlQ29kZSgpO1xuICAgIGNvbnN0IHsgcHJlZml4Q2xzID0gJ2NhbGVuZGFyJywgd3JhcHBlckNscywgbGFiZWxDbHMsIGZlZWRiYWNrQ2xzLCBjbGFzc05hbWUsIHBhbmVsQ2xhc3NOYW1lLCBsYWJlbCwgZmVlZGJhY2ssIGZlZWRiYWNrSWNvbiwgcmVxdWlyZWQgPSB0cnVlLCBzdGF0dXMgPSAnZGVmYXVsdCcsIHBsYWNlaG9sZGVyID0gbG9jYWxlLnBsYWNlaG9sZGVyLCBkZWZhdWx0VmFsdWUsIHZhbHVlLCBzaXplID0gJ2xhcmdlJywgc2VsZWN0aW9uTW9kZSA9ICdzaW5nbGUnLCBjb250ZW50V2lkdGgsIHBhbmVsU3R5bGUsIHZpZXdEYXRlOiB2aWV3RGF0ZVByb3AsIHByZXZJY29uID0gX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvbkxlZnQnLCBzaXplOiAyNCB9KSwgbmV4dEljb24gPSBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uUmlnaHQnLCBzaXplOiAyNCB9KSwgb25WaWV3RGF0ZUNoYW5nZSwgb25DaGFuZ2UsIHJlZiB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcInByZWZpeENsc1wiLCBcIndyYXBwZXJDbHNcIiwgXCJsYWJlbENsc1wiLCBcImZlZWRiYWNrQ2xzXCIsIFwiY2xhc3NOYW1lXCIsIFwicGFuZWxDbGFzc05hbWVcIiwgXCJsYWJlbFwiLCBcImZlZWRiYWNrXCIsIFwiZmVlZGJhY2tJY29uXCIsIFwicmVxdWlyZWRcIiwgXCJzdGF0dXNcIiwgXCJwbGFjZWhvbGRlclwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcInZhbHVlXCIsIFwic2l6ZVwiLCBcInNlbGVjdGlvbk1vZGVcIiwgXCJjb250ZW50V2lkdGhcIiwgXCJwYW5lbFN0eWxlXCIsIFwidmlld0RhdGVcIiwgXCJwcmV2SWNvblwiLCBcIm5leHRJY29uXCIsIFwib25WaWV3RGF0ZUNoYW5nZVwiLCBcIm9uQ2hhbmdlXCIsIFwicmVmXCJdKTtcbiAgICBjb25zdCBpc0Vycm9yID0gc3RhdHVzID09PSAnZXJyb3InO1xuICAgIGNvbnN0IGlzV2FybmluZyA9IHN0YXR1cyA9PT0gJ3dhcm5pbmcnO1xuICAgIGNvbnN0IGlzU3VjY2VzcyA9IHN0YXR1cyA9PT0gJ3N1Y2Nlc3MnO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW2RhdGUsIHNldERhdGVdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCAmJiBkZWZhdWx0VmFsdWUgIT09IHZvaWQgMCA/IGRlZmF1bHRWYWx1ZSA6IG51bGwsIHZhbHVlKTtcbiAgICBjb25zdCBbdmlld0RhdGUsIHNldFZpZXdEYXRlXSA9IHVzZVN0YXRlKHZpZXdEYXRlUHJvcCAhPT0gbnVsbCAmJiB2aWV3RGF0ZVByb3AgIT09IHZvaWQgMCA/IHZpZXdEYXRlUHJvcCA6IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgaGFuZGxlVmlld0RhdGVDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChlKSA9PiB7XG4gICAgICAgIHNldFZpZXdEYXRlKGUudmFsdWUpO1xuICAgICAgICBvblZpZXdEYXRlQ2hhbmdlID09PSBudWxsIHx8IG9uVmlld0RhdGVDaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uVmlld0RhdGVDaGFuZ2UoZSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBzZXREYXRlKGUudmFsdWUpO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UoZSk7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSk7XG4gICAgICAgIChfYiA9IChfYSA9IGUub3JpZ2luYWxFdmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRhcmdldCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIH0pO1xuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgeyByZWY6IHJlZiwgY2xhc3NOYW1lOiBjbGFzc2VzKCd3cmFwcGVyJywgd3JhcHBlckNscyksIGNoaWxkcmVuOiBbbGFiZWwgJiYgKF9qc3hzKFR5cG9ncmFwaHlMYWJlbCwgeyBhczogXCJzcGFuXCIsIHN0cm9uZzogdHJ1ZSwgc2l6ZTogQ0FMRU5EQVJfTEFCRUxfU0laRVtzaXplXSwgY29sb3I6IENBTEVOREFSX0xBQkVMX0NPTE9SLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsJywgbGFiZWxDbHMpLCBjaGlsZHJlbjogW2xhYmVsLCAhcmVxdWlyZWQgJiYgKF9qc3goVHlwb2dyYXBoeUxhYmVsLCB7IGFzOiBcInNwYW5cIiwgaXRhbGljOiB0cnVlLCBzdHJvbmc6IHRydWUsIHNpemU6IENBTEVOREFSX0xBQkVMX1NJWkVbc2l6ZV0sIGNvbG9yOiBcImRlZmF1bHQtdGVydGlhcnlcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdvcHRpb25hbCcpLCBjaGlsZHJlbjogZmllbGRMb2NhbGUub3B0aW9uYWwgfSkpXSB9KSksIF9qc3goUHJpbWVDYWxlbmRhclxuICAgICAgICAgICAgLy8gTW9udGgvd2Vla2RheSBuYW1lcyByZXNvbHZlIHRocm91Z2ggUHJpbWVSZWFjdCdzIGxvY2FsZSByZWdpc3RyeSDigJRcbiAgICAgICAgICAgIC8vIHRoZSBDb25maWdQcm92aWRlciByZWdpc3RlcnMgdGhlIHBhY2sncyBkYXRhIHVuZGVyIGBjb2RlYCB3aGVuIHRoZVxuICAgICAgICAgICAgLy8gcGFjayBzaGlwcyBgQ2FsZW5kYXIucHJpbWVgLiBBbiBleHBsaWNpdCBgbG9jYWxlYCBpbiBgcmVzdGAgd2lucy5cbiAgICAgICAgICAgICwgT2JqZWN0LmFzc2lnbih7IFxuICAgICAgICAgICAgICAgIC8vIE1vbnRoL3dlZWtkYXkgbmFtZXMgcmVzb2x2ZSB0aHJvdWdoIFByaW1lUmVhY3QncyBsb2NhbGUgcmVnaXN0cnkg4oCUXG4gICAgICAgICAgICAgICAgLy8gdGhlIENvbmZpZ1Byb3ZpZGVyIHJlZ2lzdGVycyB0aGUgcGFjaydzIGRhdGEgdW5kZXIgYGNvZGVgIHdoZW4gdGhlXG4gICAgICAgICAgICAgICAgLy8gcGFjayBzaGlwcyBgQ2FsZW5kYXIucHJpbWVgLiBBbiBleHBsaWNpdCBgbG9jYWxlYCBpbiBgcmVzdGAgd2lucy5cbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZS5wcmltZSA/IGxvY2FsZUNvZGUgOiB1bmRlZmluZWQgfSwgcmVzdCwgeyBpbnZhbGlkOiBpc0Vycm9yLCB2YWx1ZTogZGF0ZSwgdmlld0RhdGU6IHZpZXdEYXRlLCBvblZpZXdEYXRlQ2hhbmdlOiBoYW5kbGVWaWV3RGF0ZUNoYW5nZSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgcGFuZWxTdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBwYW5lbFN0eWxlKSwgeyAnLS1jb250ZW50LXdpZHRoJzogY29udGVudFdpZHRoIH0pLCBjbGFzc05hbWU6IGNsYXNzZXModm9pZCAwLCBqb2luQ2xzKGNsYXNzTmFtZSwgY2xhc3NlcyhzaXplKSwgZGF0ZSAmJiBjbGFzc2VzKCdmaWxsZWQnKSwgaXNXYXJuaW5nICYmIGNsYXNzZXMoJ3dhcm5pbmcnKSwgaXNTdWNjZXNzICYmIGNsYXNzZXMoJ3N1Y2Nlc3MnKSkpLCBwYW5lbENsYXNzTmFtZTogY2xhc3NlcygncGFuZWwnLCBwYW5lbENsYXNzTmFtZSksIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgcHJldkljb246IHByZXZJY29uLCBuZXh0SWNvbjogbmV4dEljb24sIHNlbGVjdGlvbk1vZGU6IHNlbGVjdGlvbk1vZGUsIHB0OiBzZWxlY3Rpb25Nb2RlID09PSAncmFuZ2UnXG4gICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF5OiBwYXJhbXMgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGdldFJhbmdlRGF0ZVN0eWxlcyhwYXJhbXMsIGRhdGUsIGNsYXNzZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQgfSkpLCBmZWVkYmFjayAmJiAoX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdmZWVkYmFjaycsIGpvaW5DbHMoc3RhdHVzICE9PSAnZGVmYXVsdCcgJiYgY2xhc3NlcyhgZmVlZGJhY2stJHtzdGF0dXN9YCksIGZlZWRiYWNrQ2xzKSksIHJvbGU6IGlzRXJyb3IgfHwgaXNXYXJuaW5nID8gJ2FsZXJ0JyA6ICdzdGF0dXMnLCBjaGlsZHJlbjogW2ZlZWRiYWNrSWNvbiAmJiAodHlwZW9mIGZlZWRiYWNrSWNvbiA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgICAgICAgICAgICAgID8gX2pzeChJY29ucywgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2ZlZWRiYWNrLWljb24nKSwgbmFtZTogZmVlZGJhY2tJY29uLCBzaXplOiAxNiB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBmZWVkYmFja0ljb24pLCBmZWVkYmFja10gfSkpXSB9KSk7XG59O1xuQ2FsZW5kYXIuZGlzcGxheU5hbWUgPSAnQ2FsZW5kYXInO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhDYWxlbmRhcik7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -364,6 +364,10 @@
364
364
  background-color: var(--om-bg-brand-tertiary, #edf2f9);
365
365
  content: "";
366
366
  }
367
+ .om-component-ui-calendar-p-start:not(:last-child)::after {
368
+ right: calc(-1 * var(--om-spacing-300, 12px));
369
+ width: calc(50% + var(--om-spacing-300, 12px));
370
+ }
367
371
  .om-component-ui-calendar-p-start .p-highlight {
368
372
  position: relative;
369
373
  z-index: 1;
@@ -406,9 +410,19 @@
406
410
  }
407
411
 
408
412
  .om-component-ui-calendar-p-range {
413
+ position: relative;
409
414
  color: var(--om-text-default, #131313) !important;
410
415
  background-color: var(--om-bg-brand-tertiary, #edf2f9) !important;
411
416
  }
417
+ .om-component-ui-calendar-p-range:not(:last-child)::after {
418
+ position: absolute;
419
+ top: 0;
420
+ left: 100%;
421
+ width: var(--om-spacing-300, 12px);
422
+ height: 100%;
423
+ background-color: var(--om-bg-brand-tertiary, #edf2f9);
424
+ content: "";
425
+ }
412
426
  .om-component-ui-calendar-p-range span.p-highlight {
413
427
  color: var(--om-text-default, #131313) !important;
414
428
  background-color: transparent !important;
@@ -1,5 +1,4 @@
1
- import type { RefObject } from 'react';
2
1
  import type { DialogAction } from './types';
2
+ export { useDialogFocus } from "../../hooks/useDialogFocus";
3
3
  export declare const useBodyScrollLock: (locked: boolean) => void;
4
- export declare const useDialogFocus: (active: boolean, dialogRef: RefObject<HTMLDivElement | null>) => void;
5
4
  export declare const useEscapeClose: (enabled: boolean, onClose?: DialogAction) => void;
@@ -3,9 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useEscapeClose = exports.useDialogFocus = exports.useBodyScrollLock = void 0;
6
+ exports.useBodyScrollLock = void 0;
7
+ Object.defineProperty(exports, "useDialogFocus", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _useDialogFocus.useDialogFocus;
11
+ }
12
+ });
13
+ exports.useEscapeClose = void 0;
7
14
  var _react = require("react");
8
15
  var _constants = require("./constants");
16
+ var _useDialogFocus = require("../../hooks/useDialogFocus");
9
17
  var scrollLockCount = 0;
10
18
  var setBodyOverflow = function setBodyOverflow(value) {
11
19
  if (typeof document === 'undefined') return;
@@ -38,26 +46,6 @@ var useBodyScrollLock = exports.useBodyScrollLock = function useBodyScrollLock(l
38
46
  };
39
47
  }, [locked]);
40
48
  };
41
- var useDialogFocus = exports.useDialogFocus = function useDialogFocus(active, dialogRef) {
42
- var previousActiveElementRef = (0, _react.useRef)(null);
43
- (0, _react.useEffect)(function () {
44
- if (!active || typeof document === 'undefined') return undefined;
45
- previousActiveElementRef.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
46
- var frame = window.requestAnimationFrame(function () {
47
- var _a;
48
- (_a = dialogRef.current) === null || _a === void 0 ? void 0 : _a.focus();
49
- });
50
- return function () {
51
- window.cancelAnimationFrame(frame);
52
- };
53
- }, [active, dialogRef]);
54
- (0, _react.useEffect)(function () {
55
- var _a, _b;
56
- if (active) return;
57
- (_b = (_a = previousActiveElementRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
58
- previousActiveElementRef.current = null;
59
- }, [active]);
60
- };
61
49
  var useEscapeClose = exports.useEscapeClose = function useEscapeClose(enabled, onClose) {
62
50
  (0, _react.useEffect)(function () {
63
51
  if (!enabled || typeof document === 'undefined') return undefined;
@@ -72,4 +60,4 @@ var useEscapeClose = exports.useEscapeClose = function useEscapeClose(enabled, o
72
60
  };
73
61
  }, [enabled, onClose]);
74
62
  };
75
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL2hvb2tzLnRzIiwiY29tcG9uZW50cy9EaWFsb2cvaG9va3MuanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl9jb25zdGFudHMiLCJzY3JvbGxMb2NrQ291bnQiLCJzZXRCb2R5T3ZlcmZsb3ciLCJ2YWx1ZSIsImRvY3VtZW50IiwiYm9keSIsInN0eWxlIiwib3ZlcmZsb3ciLCJsb2NrQm9keVNjcm9sbCIsIkRJQUxPR19ERUZBVUxUUyIsIm92ZXJmbG93SGlkZGVuIiwidW5sb2NrQm9keVNjcm9sbCIsIk1hdGgiLCJtYXgiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJvdmVyZmxvd1Jlc2V0IiwidXNlQm9keVNjcm9sbExvY2siLCJleHBvcnRzIiwibG9ja2VkIiwiaXNMb2NrZWRSZWYiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwidW5kZWZpbmVkIiwidXNlRGlhbG9nRm9jdXMiLCJhY3RpdmUiLCJkaWFsb2dSZWYiLCJwcmV2aW91c0FjdGl2ZUVsZW1lbnRSZWYiLCJhY3RpdmVFbGVtZW50IiwiSFRNTEVsZW1lbnQiLCJmcmFtZSIsIndpbmRvdyIsIl9hIiwiZm9jdXMiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsIl9iIiwiY2FsbCIsInVzZUVzY2FwZUNsb3NlIiwiZW5hYmxlZCIsIm9uQ2xvc2UiLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJrZXkiLCJlc2NhcGVLZXkiLCJwcmV2ZW50RGVmYXVsdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJrZXlkb3duRXZlbnQiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFJQSxJQUFJRSxlQUFlLEdBQUcsQ0FBQztBQUV2QixJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUlDLEtBQWEsRUFB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QUFFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFBQyxJQUFBLENBQUFKLEVBQUEsQ0FBSTtJQUMzQ0wsd0JBQXdCLENBQUNMLE9BQU8sR0FBRyxJQUFJO0VBQ3pDLENBQUMsRUFBRSxDQUFDRyxNQUFNLENBQUMsQ0FBQztBQUNkLENBQUM7QUFFTSxJQUFNWSxjQUFjLEdBQUFwQixPQUFBLENBQUFvQixjQUFBLEdBQUcsU0FBakJBLGNBQWNBLENBQUlDLE9BQWdCLEVBQUVDLE9BQXNCLEVBQUk7RUFDekUsSUFBQWxCLGdCQUFTLEVBQUMsWUFBSztJQUNiLElBQUksQ0FBQ2lCLE9BQU8sSUFBSSxPQUFPbEMsUUFBUSxLQUFLLFdBQVcsRUFBRSxPQUFPbUIsU0FBUztJQUVqRSxJQUFNaUIsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFJQyxLQUFvQixFQUFJO01BQzdDLElBQUlBLEtBQUssQ0FBQ0MsR0FBRyxLQUFLakMsMEJBQWUsQ0FBQ2tDLFNBQVMsRUFBRTtNQUM3Q0YsS0FBSyxDQUFDRyxjQUFjLENBQUEsQ0FBRTtNQUN0QixNQUFLTCxPQUFPLEtBQUEsSUFBQSxJQUFQQSxPQUFPLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVBBLE9BQU8sQ0FBQSxDQUFJLENBQUE7SUFDbEIsQ0FBQztJQUVEbkMsUUFBUSxDQUFDeUMsZ0JBQWdCLENBQUNwQywwQkFBZSxDQUFDcUMsWUFBWSxFQUFFTixhQUFhLENBQUM7SUFFdEUsT0FBTyxZQUFLO01BQ1ZwQyxRQUFRLENBQUMyQyxtQkFBbUIsQ0FBQ3RDLDBCQUFlLENBQUNxQyxZQUFZLEVBQUVOLGFBQWEsQ0FBQztJQUMzRSxDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUNGLE9BQU8sRUFBRUMsT0FBTyxDQUFDLENBQUM7QUFDeEIsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL0RpYWxvZy9ob29rcy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBESUFMT0dfREVGQVVMVFMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5sZXQgc2Nyb2xsTG9ja0NvdW50ID0gMDtcbmNvbnN0IHNldEJvZHlPdmVyZmxvdyA9ICh2YWx1ZSkgPT4ge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICByZXR1cm47XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IHZhbHVlO1xufTtcbmNvbnN0IGxvY2tCb2R5U2Nyb2xsID0gKCkgPT4ge1xuICAgIHNjcm9sbExvY2tDb3VudCArPSAxO1xuICAgIHNldEJvZHlPdmVyZmxvdyhESUFMT0dfREVGQVVMVFMub3ZlcmZsb3dIaWRkZW4pO1xufTtcbmNvbnN0IHVubG9ja0JvZHlTY3JvbGwgPSAoKSA9PiB7XG4gICAgc2Nyb2xsTG9ja0NvdW50ID0gTWF0aC5tYXgoMCwgc2Nyb2xsTG9ja0NvdW50IC0gMSk7XG4gICAgaWYgKHNjcm9sbExvY2tDb3VudCA9PT0gMCkge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHNjcm9sbExvY2tDb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHNldEJvZHlPdmVyZmxvdyhESUFMT0dfREVGQVVMVFMub3ZlcmZsb3dSZXNldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5leHBvcnQgY29uc3QgdXNlQm9keVNjcm9sbExvY2sgPSAobG9ja2VkKSA9PiB7XG4gICAgY29uc3QgaXNMb2NrZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghbG9ja2VkIHx8IGlzTG9ja2VkUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBpc0xvY2tlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgbG9ja0JvZHlTY3JvbGwoKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGlmICghaXNMb2NrZWRSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBpc0xvY2tlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB1bmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgICAgIH07XG4gICAgfSwgW2xvY2tlZF0pO1xufTtcbmV4cG9ydCBjb25zdCB1c2VEaWFsb2dGb2N1cyA9IChhY3RpdmUsIGRpYWxvZ1JlZikgPT4ge1xuICAgIGNvbnN0IHByZXZpb3VzQWN0aXZlRWxlbWVudFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWFjdGl2ZSB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcHJldmlvdXNBY3RpdmVFbGVtZW50UmVmLmN1cnJlbnQgPVxuICAgICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ID8gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA6IG51bGw7XG4gICAgICAgIGNvbnN0IGZyYW1lID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAoX2EgPSBkaWFsb2dSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKGZyYW1lKTtcbiAgICAgICAgfTtcbiAgICB9LCBbYWN0aXZlLCBkaWFsb2dSZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAoYWN0aXZlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAoX2IgPSAoX2EgPSBwcmV2aW91c0FjdGl2ZUVsZW1lbnRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7XG4gICAgICAgIHByZXZpb3VzQWN0aXZlRWxlbWVudFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9LCBbYWN0aXZlXSk7XG59O1xuZXhwb3J0IGNvbnN0IHVzZUVzY2FwZUNsb3NlID0gKGVuYWJsZWQsIG9uQ2xvc2UpID0+IHtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWVuYWJsZWQgfHwgdHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgIT09IERJQUxPR19ERUZBVUxUUy5lc2NhcGVLZXkpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHZvaWQgKG9uQ2xvc2UgPT09IG51bGwgfHwgb25DbG9zZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbG9zZSgpKTtcbiAgICAgICAgfTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihESUFMT0dfREVGQVVMVFMua2V5ZG93bkV2ZW50LCBoYW5kbGVLZXlEb3duKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoRElBTE9HX0RFRkFVTFRTLmtleWRvd25FdmVudCwgaGFuZGxlS2V5RG93bik7XG4gICAgICAgIH07XG4gICAgfSwgW2VuYWJsZWQsIG9uQ2xvc2VdKTtcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
63
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL2hvb2tzLnRzIl0sIm5hbWVzIjpbIl9yZWFjdCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX3VzZURpYWxvZ0ZvY3VzIiwic2Nyb2xsTG9ja0NvdW50Iiwic2V0Qm9keU92ZXJmbG93IiwidmFsdWUiLCJkb2N1bWVudCIsImJvZHkiLCJzdHlsZSIsIm92ZXJmbG93IiwibG9ja0JvZHlTY3JvbGwiLCJESUFMT0dfREVGQVVMVFMiLCJvdmVyZmxvd0hpZGRlbiIsInVubG9ja0JvZHlTY3JvbGwiLCJNYXRoIiwibWF4IiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwib3ZlcmZsb3dSZXNldCIsInVzZUJvZHlTY3JvbGxMb2NrIiwiZXhwb3J0cyIsImxvY2tlZCIsImlzTG9ja2VkUmVmIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsInVuZGVmaW5lZCIsInVzZUVzY2FwZUNsb3NlIiwiZW5hYmxlZCIsIm9uQ2xvc2UiLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJrZXkiLCJlc2NhcGVLZXkiLCJwcmV2ZW50RGVmYXVsdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJrZXlkb3duRXZlbnQiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBR0EsSUFBQUUsZUFBQSxHQUFBRixPQUFBO0FBRUEsSUFBSUcsZUFBZSxHQUFHLENBQUM7QUFFdkIsSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFJQyxLQUFhLEVBQUk7RUFDeEMsSUFBSSxPQUFPQyxRQUFRLEtBQUssV0FBVyxFQUFFO0VBQ3JDQSxRQUFRLENBQUNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxRQUFRLEdBQUdKLEtBQUs7QUFDdEMsQ0FBQztBQUVELElBQU1LLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBQSxFQUFRO0VBQzFCUCxlQUFlLElBQUksQ0FBQztFQUNwQkMsZUFBZSxDQUFDTywwQkFBZSxDQUFDQyxjQUFjLENBQUM7QUFDakQsQ0FBQztBQUVELElBQU1DLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUEsRUFBUTtFQUM1QlYsZUFBZSxHQUFHVyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDLEVBQUVaLGVBQWUsR0FBRyxDQUFDLENBQUM7RUFFbEQsSUFBSUEsZUFBZSxLQUFLLENBQUMsRUFBRTtJQUN6QmEscUJBQXFCLENBQUMsWUFBSztNQUN6QixJQUFJYixlQUFlLEtBQUssQ0FBQyxFQUFFO1FBQ3pCQyxlQUFlLENBQUNPLDBCQUFlLENBQUNNLGFBQWEsQ0FBQztNQUNoRDtJQUNGLENBQUMsQ0FBQztFQUNKO0FBQ0YsQ0FBQztBQUVNLElBQU1DLGlCQUFpQixHQUFBQyxPQUFBLENBQUFELGlCQUFBLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUUsTUFBZSxFQUFJO0VBQ25ELElBQU1DLFdBQVcsR0FBRyxJQUFBQyxhQUFNLEVBQUMsS0FBSyxDQUFDO0VBRWpDLElBQUFDLGdCQUFTLEVBQUMsWUFBSztJQUNiLElBQUksQ0FBQ0gsTUFBTSxJQUFJQyxXQUFXLENBQUNHLE9BQU8sRUFBRSxPQUFPQyxTQUFTO0lBRXBESixXQUFXLENBQUNHLE9BQU8sR0FBRyxJQUFJO0lBQzFCZCxjQUFjLENBQUEsQ0FBRTtJQUVoQixPQUFPLFlBQUs7TUFDVixJQUFJLENBQUNXLFdBQVcsQ0FBQ0csT0FBTyxFQUFFO01BQzFCSCxXQUFXLENBQUNHLE9BQU8sR0FBRyxLQUFLO01BQzNCWCxnQkFBZ0IsQ0FBQSxDQUFFO0lBQ3BCLENBQUM7RUFDSCxDQUFDLEVBQUUsQ0FBQ08sTUFBTSxDQUFDLENBQUM7QUFDZCxDQUFDO0FBRU0sSUFBTU0sY0FBYyxHQUFBUCxPQUFBLENBQUFPLGNBQUEsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSUMsT0FBZ0IsRUFBRUMsT0FBc0IsRUFBSTtFQUN6RSxJQUFBTCxnQkFBUyxFQUFDLFlBQUs7SUFDYixJQUFJLENBQUNJLE9BQU8sSUFBSSxPQUFPckIsUUFBUSxLQUFLLFdBQVcsRUFBRSxPQUFPbUIsU0FBUztJQUVqRSxJQUFNSSxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUlDLEtBQW9CLEVBQUk7TUFDN0MsSUFBSUEsS0FBSyxDQUFDQyxHQUFHLEtBQUtwQiwwQkFBZSxDQUFDcUIsU0FBUyxFQUFFO01BQzdDRixLQUFLLENBQUNHLGNBQWMsQ0FBQSxDQUFFO01BQ3RCLE1BQUtMLE9BQU8sS0FBQSxJQUFBLElBQVBBLE9BQU8sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUEEsT0FBTyxDQUFBLENBQUksQ0FBQTtJQUNsQixDQUFDO0lBRUR0QixRQUFRLENBQUM0QixnQkFBZ0IsQ0FBQ3ZCLDBCQUFlLENBQUN3QixZQUFZLEVBQUVOLGFBQWEsQ0FBQztJQUV0RSxPQUFPLFlBQUs7TUFDVnZCLFFBQVEsQ0FBQzhCLG1CQUFtQixDQUFDekIsMEJBQWUsQ0FBQ3dCLFlBQVksRUFBRU4sYUFBYSxDQUFDO0lBQzNFLENBQUM7RUFDSCxDQUFDLEVBQUUsQ0FBQ0YsT0FBTyxFQUFFQyxPQUFPLENBQUMsQ0FBQztBQUN4QixDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvRGlhbG9nL2hvb2tzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -1,2 +1 @@
1
- import type { RefObject } from 'react';
2
- export declare const useDialogFocus: (active: boolean, dialogRef: RefObject<HTMLDivElement | null>) => void;
1
+ export { useDialogFocus } from "../../../hooks/useDialogFocus";
@@ -3,26 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useDialogFocus = void 0;
7
- var _react = require("react");
8
- var useDialogFocus = exports.useDialogFocus = function useDialogFocus(active, dialogRef) {
9
- var previousActiveElementRef = (0, _react.useRef)(null);
10
- (0, _react.useEffect)(function () {
11
- if (!active || typeof document === 'undefined') return undefined;
12
- previousActiveElementRef.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
13
- var frame = window.requestAnimationFrame(function () {
14
- var _a;
15
- (_a = dialogRef.current) === null || _a === void 0 ? void 0 : _a.focus();
16
- });
17
- return function () {
18
- window.cancelAnimationFrame(frame);
19
- };
20
- }, [active, dialogRef]);
21
- (0, _react.useEffect)(function () {
22
- var _a, _b;
23
- if (active) return;
24
- (_b = (_a = previousActiveElementRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
25
- previousActiveElementRef.current = null;
26
- }, [active]);
27
- };
28
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRHJhd2VyL3NyYy9jb21wb25lbnRzL0RyYXdlci9ob29rcy91c2VEaWFsb2dGb2N1cy50cyIsImNvbXBvbmVudHMvRHJhd2VyL2hvb2tzL3VzZURpYWxvZ0ZvY3VzLmpzIl0sIm5hbWVzIjpbIl9yZWFjdCIsInJlcXVpcmUiLCJ1c2VEaWFsb2dGb2N1cyIsImV4cG9ydHMiLCJhY3RpdmUiLCJkaWFsb2dSZWYiLCJwcmV2aW91c0FjdGl2ZUVsZW1lbnRSZWYiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJkb2N1bWVudCIsInVuZGVmaW5lZCIsImN1cnJlbnQiLCJhY3RpdmVFbGVtZW50IiwiSFRNTEVsZW1lbnQiLCJmcmFtZSIsIndpbmRvdyIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIl9hIiwiZm9jdXMiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsIl9iIiwiY2FsbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBR08sSUFBTUMsY0FBYyxHQUFBQyxPQUFBLENBQUFELGNBQUEsR0FBRyxTQUFqQkEsY0FBY0EsQ0FDekJFLE1BQWUsRUFDZkMsU0FBMkMsRUFDekM7RUFDRixJQUFNQyx3QkFBd0IsR0FBRyxJQUFBQyxhQUFNLEVBQXFCLElBQUksQ0FBQztFQUVqRSxJQUFBQyxnQkFBUyxFQUFDLFlBQUs7SUFDYixJQUFJLENBQUNKLE1BQU0sSUFBSSxPQUFPSyxRQUFRLEtBQUssV0FBVyxFQUFFLE9BQU9DLFNBQVM7SUFFaEVKLHdCQUF3QixDQUFDSyxPQUFPLEdBQzlCRixRQUFRLENBQUNHLGFBQWEsWUFBWUMsV0FBVyxHQUFHSixRQUFRLENBQUNHLGFBQWEsR0FBRyxJQUFJO0lBRS9FLElBQU1FLEtBQUssR0FBR0MsTUFBTSxDQUFDQyxxQkFBcUIsQ0FBQyxZQUFLO01DTnhDLElBQUlDLEVBQUU7TURPWixDQUFBQSxFQUFBLEdBQUFaLFNBQVMsQ0FBQ00sT0FBTyxNQUFBLElBQUEsSUFBQU0sRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVDLEtBQUssQ0FBQSxDQUFFO0lBQzVCLENBQUMsQ0FBQztJQUVGLE9BQU8sWUFBSztNQUNWSCxNQUFNLENBQUNJLG9CQUFvQixDQUFDTCxLQUFLLENBQUM7SUFDcEMsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDVixNQUFNLEVBQUVDLFNBQVMsQ0FBQyxDQUFDO0VBRXZCLElBQUFHLGdCQUFTLEVBQUMsWUFBSztJQ1BULElBQUlTLEVBQUUsRUFBRUcsRUFBRTtJRFFkLElBQUloQixNQUFNLEVBQUU7SUFFWixDQUFBZ0IsRUFBQSxHQUFBLENBQUFILEVBQUEsR0FBQVgsd0JBQXdCLENBQUNLLE9BQU8sTUFBQSxJQUFBLElBQUFNLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFQyxLQUFLLE1BQUEsSUFBQSxJQUFBRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBQUMsSUFBQSxDQUFBSixFQUFBLENBQUk7SUFDM0NYLHdCQUF3QixDQUFDSyxPQUFPLEdBQUcsSUFBSTtFQUN6QyxDQUFDLEVBQUUsQ0FBQ1AsTUFBTSxDQUFDLENBQUM7QUFDZCxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvRHJhd2VyL2hvb2tzL3VzZURpYWxvZ0ZvY3VzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmV4cG9ydCBjb25zdCB1c2VEaWFsb2dGb2N1cyA9IChhY3RpdmUsIGRpYWxvZ1JlZikgPT4ge1xuICAgIGNvbnN0IHByZXZpb3VzQWN0aXZlRWxlbWVudFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWFjdGl2ZSB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcHJldmlvdXNBY3RpdmVFbGVtZW50UmVmLmN1cnJlbnQgPVxuICAgICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ID8gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA6IG51bGw7XG4gICAgICAgIGNvbnN0IGZyYW1lID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAoX2EgPSBkaWFsb2dSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKGZyYW1lKTtcbiAgICAgICAgfTtcbiAgICB9LCBbYWN0aXZlLCBkaWFsb2dSZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAoYWN0aXZlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAoX2IgPSAoX2EgPSBwcmV2aW91c0FjdGl2ZUVsZW1lbnRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7XG4gICAgICAgIHByZXZpb3VzQWN0aXZlRWxlbWVudFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9LCBbYWN0aXZlXSk7XG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
6
+ Object.defineProperty(exports, "useDialogFocus", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _useDialogFocus.useDialogFocus;
10
+ }
11
+ });
12
+ var _useDialogFocus = require("../../../hooks/useDialogFocus");
13
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRHJhd2VyL3NyYy9jb21wb25lbnRzL0RyYXdlci9ob29rcy91c2VEaWFsb2dGb2N1cy50cyJdLCJuYW1lcyI6WyJfdXNlRGlhbG9nRm9jdXMiLCJyZXF1aXJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLGVBQUEsR0FBQUMsT0FBQSIsImZpbGUiOiJjb21wb25lbnRzL0RyYXdlci9ob29rcy91c2VEaWFsb2dGb2N1cy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==