@ebay/ui-core-react 7.4.0-alpha.7 → 7.4.0-alpha.9

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 (121) hide show
  1. package/array.polyfill.flat-DyxysTxZ.js +21 -0
  2. package/badge-CR5t7-2L.js +8 -0
  3. package/button-B4bZIgwB.js +83 -0
  4. package/calendar-D-DWjrMU.js +333 -0
  5. package/common/component-utils/forwardRef/index.js +10 -1
  6. package/common/component-utils/index.js +9 -1
  7. package/common/component-utils/utils/index.js +25 -1
  8. package/common/event-utils/index.js +113 -1
  9. package/common/floating-label-utils/hooks/index.js +106 -1
  10. package/common/notice-utils/notice-cta/index.js +5 -1
  11. package/common/random-id/index.js +13 -1
  12. package/common/tooltip-utils/constants/index.js +97 -1
  13. package/common/tooltip-utils/index.js +11 -1
  14. package/debounce-v8bWAUnY.js +9 -0
  15. package/dialog-previous-button-EC_Y6KaT.js +370 -0
  16. package/drawer-DBDktEBZ.js +69 -0
  17. package/ebay-alert-dialog/index.js +26 -1
  18. package/ebay-badge/index.js +4 -1
  19. package/ebay-breadcrumbs/index.js +47 -1
  20. package/ebay-button/index.js +5 -1
  21. package/ebay-calendar/index.js +4 -1
  22. package/ebay-carousel/index.js +345 -1
  23. package/ebay-checkbox/index.js +52 -1
  24. package/ebay-confirm-dialog/index.js +28 -1
  25. package/ebay-cta-button/index.js +22 -1
  26. package/ebay-date-textbox/index.js +140 -1
  27. package/ebay-dialog-base/components/animation/index.js +92 -1
  28. package/ebay-dialog-base/components/dialog-footer/index.js +4 -1
  29. package/ebay-dialog-base/components/dialog-header/index.js +4 -1
  30. package/ebay-dialog-base/index.js +13 -1
  31. package/ebay-drawer-dialog/index.js +4 -1
  32. package/ebay-eek/index.js +54 -1
  33. package/ebay-fake-menu/index.js +10 -1
  34. package/ebay-fake-menu/menu-item/index.js +49 -1
  35. package/ebay-fake-menu-button/index.js +7 -1
  36. package/ebay-fake-menu-button/menu-button/index.js +12 -1
  37. package/ebay-fake-tabs/index.js +30 -1
  38. package/ebay-field/index.js +21 -1
  39. package/ebay-fullscreen-dialog/index.js +10 -1
  40. package/ebay-icon/index.js +4 -1
  41. package/ebay-icon-button/index.js +4 -1
  42. package/ebay-infotip/index.js +76 -1
  43. package/ebay-inline-notice/index.js +36 -1
  44. package/ebay-lightbox-dialog/index.js +12 -1
  45. package/ebay-listbox/index.js +6 -1
  46. package/ebay-listbox/listbox.d.ts +1 -0
  47. package/ebay-listbox/listbox.d.ts.map +1 -1
  48. package/ebay-listbox-button/index.js +151 -1
  49. package/ebay-listbox-button/listbox-button.d.ts.map +1 -1
  50. package/ebay-menu/index.js +9 -1
  51. package/ebay-menu-button/index.js +113 -1
  52. package/ebay-notice-base/index.js +7 -1
  53. package/ebay-page-notice/index.js +50 -1
  54. package/ebay-pagination/index.js +244 -1
  55. package/ebay-panel-dialog/index.js +12 -1
  56. package/ebay-progress-bar/index.js +6 -1
  57. package/ebay-progress-spinner/index.js +4 -1
  58. package/ebay-progress-stepper/index.js +72 -1
  59. package/ebay-radio/index.js +4 -1
  60. package/ebay-radio/radio/index.js +48 -1
  61. package/ebay-section-notice/index.js +69 -1
  62. package/ebay-section-title/index.js +38 -1
  63. package/ebay-segmented-buttons/index.js +46 -1
  64. package/ebay-select/index.js +98 -1
  65. package/ebay-signal/index.js +9 -1
  66. package/ebay-snackbar-dialog/index.js +81 -1
  67. package/ebay-split-button/index.js +22 -1
  68. package/ebay-star-rating/index.js +9 -1
  69. package/ebay-star-rating-select/index.js +55 -1
  70. package/ebay-svg/index.js +5189 -1
  71. package/ebay-switch/index.js +27 -1
  72. package/ebay-tabs/index.js +88 -1
  73. package/ebay-textbox/index.js +10 -1
  74. package/ebay-toast-dialog/index.js +9 -1
  75. package/ebay-tooltip/index.js +64 -1
  76. package/ebay-tourtip/index.js +54 -1
  77. package/ebay-video/index.js +229 -1
  78. package/events/index.js +18 -1
  79. package/icon-B17Di3YL.js +56 -0
  80. package/icon-button-BQWoMgX1.js +31 -0
  81. package/index-BXizW4ue.js +89 -0
  82. package/index-DcH7Tjjd.js +272 -0
  83. package/label-C0AS4fnO.js +19 -0
  84. package/listbox-DfOw_fJc.js +662 -0
  85. package/menu-Bsy48CE1.js +163 -0
  86. package/menu-button-CKGsgg6G.js +89 -0
  87. package/menu-fCOy6wBS.js +29 -0
  88. package/notice-content-BTXVxttv.js +8 -0
  89. package/notice-content-BhUeK1pd.js +3 -0
  90. package/notice-footer-CIQ8SM6N.js +10 -0
  91. package/package.json +1 -1
  92. package/progress-spinner-DOFKRtuu.js +20 -0
  93. package/range-C5qzyhg4.js +3 -0
  94. package/textbox-J291yCpJ.js +136 -0
  95. package/use-roving-index-CEM_UsCH.js +58 -0
  96. package/use-tooltip-7JxcZHJn.js +92 -0
  97. package/utils/index.js +13 -1
  98. package/array.polyfill.flat-5BAolFdk.js +0 -1
  99. package/badge-CoHKfiPt.js +0 -1
  100. package/button-DGuEBUDJ.js +0 -1
  101. package/calendar-lAu6VfAb.js +0 -1
  102. package/debounce-BQsYxxOL.js +0 -1
  103. package/dialog-previous-button-5cTKpmJ-.js +0 -1
  104. package/drawer-xTtCoO3F.js +0 -1
  105. package/icon-TuxfQndO.js +0 -1
  106. package/icon-button-Cwaj-eT9.js +0 -1
  107. package/index-D3xZmuzJ.js +0 -1
  108. package/index-Dkz0UnlJ.js +0 -1
  109. package/label-CnrpYJ-g.js +0 -1
  110. package/listbox-Br0AMj3v.js +0 -1
  111. package/menu-CV-INYLM.js +0 -1
  112. package/menu-_LzP6yje.js +0 -1
  113. package/menu-button-BZ66jxvI.js +0 -1
  114. package/notice-content-9iF4T8uB.js +0 -1
  115. package/notice-content-C0ZStfuX.js +0 -1
  116. package/notice-footer-Cw1DMzoB.js +0 -1
  117. package/progress-spinner-U2qOANON.js +0 -1
  118. package/range-DOsPN0h5.js +0 -1
  119. package/textbox-dUhinDwj.js +0 -1
  120. package/use-roving-index-DoAVBgsp.js +0 -1
  121. package/use-tooltip-CL3_zAeg.js +0 -1
@@ -1 +1,140 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),k=require("../index-Dkz0UnlJ.js"),S=require("../calendar-lAu6VfAb.js"),i=require("../textbox-dUhinDwj.js");require("../icon-TuxfQndO.js");const H=require("classnames"),U=600,V=({className:O,inputPlaceholderText:E="YYYY-MM-DD",a11yOpenPopoverText:T="open calendar",range:s,value:v,rangeEnd:g,defaultValue:_,defaultRangeEnd:D,collapseOnSelect:R,onChange:b=()=>{},onInputChange:M=()=>{},onInputRangeEndChange:P=()=>{},...q})=>{const m=n.useRef(),l=n.useRef(null),[w,d]=n.useState(_||""),[A,u]=n.useState(D||""),f=i.isControlled(v)?v:w,y=i.isControlled(g)?g:A,[o,p]=n.useState(()=>S.dateArgToISO(f)),[c,x]=n.useState(()=>S.dateArgToISO(y)),[C,I]=n.useState(!1),[L,Y]=n.useState(1),B=()=>{I(!0)},z=()=>{I(!1)};n.useEffect(()=>{if(!l.current)return;m.current=new k.src_default(l.current,{hostSelector:".ebay-date-textbox--main > .icon-btn",contentSelector:".date-textbox__popover",expandOnClick:!0,autoCollapse:!0}),l.current.addEventListener("expander-expand",B),l.current.addEventListener("expander-collapse",z);const e=()=>{Y(document.documentElement.clientWidth<U?1:2)};return e(),window.addEventListener("resize",e),()=>{var t;(t=m.current)==null||t.destroy(),window.removeEventListener("resize",e)}},[]);const h=(e,t)=>{const r=new Date(e.target.value),a=isNaN(r.getTime())?null:S.toISO(r);t===0?(p(a),d(a||"")):(x(a),u(a||"")),s?b(e,{rangeStart:t===0?a:o,rangeEnd:t===1?a:c}):b(e,{selected:a})},F=(e,{iso:t})=>{if(p(t),d(t),s){const r=o||c,a={rangeStart:t,rangeEnd:r};o&&c?(u(""),x(null),a.rangeEnd=null):r&&(r<t?(p(r),d(r),u(t),x(t),a.rangeStart=r,a.rangeEnd=t):(p(t),d(t),u(r),x(r),a.rangeStart=t,a.rangeEnd=r)),b(e,a)}else b(e,{selected:t});R&&(m.current.expanded=!1)},N=(e,t)=>{t===0?(d(e.target.value),M(e)):(u(e.target.value),P(e))},[W,j]=Array.isArray(E)?E:[E,E];return n.createElement("span",{className:H("date-textbox",O),ref:l},s&&n.createElement(i.EbayTextbox,{value:f,placeholder:W,onInputChange:e=>N(e,0),onBlur:e=>h(e,0)}),n.createElement(i.EbayTextbox,{className:"ebay-date-textbox--main",placeholder:j,value:s?y:f,onInputChange:e=>N(e,s?1:0),onBlur:e=>h(e,s?1:0)},n.createElement(i.EbayTextboxPostfixIcon,{name:"calendar24",buttonAriaLabel:T})),n.createElement("div",{hidden:!C,className:"date-textbox__popover"},n.createElement(S.EbayCalendar,{...q,range:s,interactive:!0,navigable:!0,numMonths:L,selected:o&&c?[o,c]:o||c||void 0,onSelect:F})))};exports.EbayDateTextbox=V;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const index = require("../index-DcH7Tjjd.js");
5
+ const calendar = require("../calendar-D-DWjrMU.js");
6
+ const textbox = require("../textbox-J291yCpJ.js");
7
+ require("../icon-B17Di3YL.js");
8
+ const classNames = require("classnames");
9
+ const MIN_WIDTH_FOR_DOUBLE_PANE = 600;
10
+ const EbayDateTextbox = ({ className, inputPlaceholderText = "YYYY-MM-DD", a11yOpenPopoverText = "open calendar", range, value: controlledValue, rangeEnd: controlledRangeEnd, defaultValue, defaultRangeEnd, collapseOnSelect, onChange = () => {
11
+ }, onInputChange = () => {
12
+ }, onInputRangeEndChange = () => {
13
+ }, ...rest }) => {
14
+ const expander = React.useRef();
15
+ const containerRef = React.useRef(null);
16
+ const [internalValue, setInternalValue] = React.useState(defaultValue || "");
17
+ const [internalRangeEnd, setInternalRangeEnd] = React.useState(defaultRangeEnd || "");
18
+ const valueToRender = textbox.isControlled(controlledValue) ? controlledValue : internalValue;
19
+ const rangeEndToRender = textbox.isControlled(controlledRangeEnd) ? controlledRangeEnd : internalRangeEnd;
20
+ const [firstSelected, setFirstSelected] = React.useState(() => calendar.dateArgToISO(valueToRender));
21
+ const [secondSelected, setSecondSelected] = React.useState(() => calendar.dateArgToISO(rangeEndToRender));
22
+ const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);
23
+ const [numMonths, setNumMonths] = React.useState(1);
24
+ const openPopover = () => {
25
+ setIsPopoverOpen(true);
26
+ };
27
+ const closePopover = () => {
28
+ setIsPopoverOpen(false);
29
+ };
30
+ React.useEffect(() => {
31
+ if (!containerRef.current) {
32
+ return;
33
+ }
34
+ expander.current = new index.src_default(containerRef.current, {
35
+ hostSelector: ".ebay-date-textbox--main > .icon-btn",
36
+ contentSelector: ".date-textbox__popover",
37
+ expandOnClick: true,
38
+ autoCollapse: true
39
+ });
40
+ containerRef.current.addEventListener("expander-expand", openPopover);
41
+ containerRef.current.addEventListener("expander-collapse", closePopover);
42
+ const calculateNumMonths = () => {
43
+ setNumMonths(document.documentElement.clientWidth < MIN_WIDTH_FOR_DOUBLE_PANE ? 1 : 2);
44
+ };
45
+ calculateNumMonths();
46
+ window.addEventListener("resize", calculateNumMonths);
47
+ return () => {
48
+ var _a;
49
+ (_a = expander.current) == null ? void 0 : _a.destroy();
50
+ window.removeEventListener("resize", calculateNumMonths);
51
+ };
52
+ }, []);
53
+ const handleInputChange = (event, index2) => {
54
+ const date = new Date(event.target.value);
55
+ const iso = isNaN(date.getTime()) ? null : calendar.toISO(date);
56
+ if (index2 === 0) {
57
+ setFirstSelected(iso);
58
+ setInternalValue(iso || "");
59
+ } else {
60
+ setSecondSelected(iso);
61
+ setInternalRangeEnd(iso || "");
62
+ }
63
+ if (range) {
64
+ onChange(event, {
65
+ rangeStart: index2 === 0 ? iso : firstSelected,
66
+ rangeEnd: index2 === 1 ? iso : secondSelected
67
+ });
68
+ } else {
69
+ onChange(event, {
70
+ selected: iso
71
+ });
72
+ }
73
+ };
74
+ const handlePopoverSelect = (event, { iso }) => {
75
+ setFirstSelected(iso);
76
+ setInternalValue(iso);
77
+ if (range) {
78
+ const selected = firstSelected || secondSelected;
79
+ const eventData = {
80
+ rangeStart: iso,
81
+ rangeEnd: selected
82
+ };
83
+ if (firstSelected && secondSelected) {
84
+ setInternalRangeEnd("");
85
+ setSecondSelected(null);
86
+ eventData.rangeEnd = null;
87
+ } else if (selected) {
88
+ if (selected < iso) {
89
+ setFirstSelected(selected);
90
+ setInternalValue(selected);
91
+ setInternalRangeEnd(iso);
92
+ setSecondSelected(iso);
93
+ eventData.rangeStart = selected;
94
+ eventData.rangeEnd = iso;
95
+ } else {
96
+ setFirstSelected(iso);
97
+ setInternalValue(iso);
98
+ setInternalRangeEnd(selected);
99
+ setSecondSelected(selected);
100
+ eventData.rangeStart = iso;
101
+ eventData.rangeEnd = selected;
102
+ }
103
+ }
104
+ onChange(event, eventData);
105
+ } else {
106
+ onChange(event, {
107
+ selected: iso
108
+ });
109
+ }
110
+ if (collapseOnSelect) {
111
+ expander.current.expanded = false;
112
+ }
113
+ };
114
+ const handleInternalChange = (event, index2) => {
115
+ if (index2 === 0) {
116
+ setInternalValue(event.target.value);
117
+ onInputChange(event);
118
+ } else {
119
+ setInternalRangeEnd(event.target.value);
120
+ onInputRangeEndChange(event);
121
+ }
122
+ };
123
+ const [rangeStartPlaceholder, mainPlaceholder] = Array.isArray(inputPlaceholderText) ? inputPlaceholderText : [inputPlaceholderText, inputPlaceholderText];
124
+ return React.createElement(
125
+ "span",
126
+ { className: classNames("date-textbox", className), ref: containerRef },
127
+ range && React.createElement(textbox.EbayTextbox, { value: valueToRender, placeholder: rangeStartPlaceholder, onInputChange: (event) => handleInternalChange(event, 0), onBlur: (event) => handleInputChange(event, 0) }),
128
+ React.createElement(
129
+ textbox.EbayTextbox,
130
+ { className: "ebay-date-textbox--main", placeholder: mainPlaceholder, value: range ? rangeEndToRender : valueToRender, onInputChange: (event) => handleInternalChange(event, range ? 1 : 0), onBlur: (event) => handleInputChange(event, range ? 1 : 0) },
131
+ React.createElement(textbox.EbayTextboxPostfixIcon, { name: "calendar24", buttonAriaLabel: a11yOpenPopoverText })
132
+ ),
133
+ React.createElement(
134
+ "div",
135
+ { hidden: !isPopoverOpen, className: "date-textbox__popover" },
136
+ React.createElement(calendar.EbayCalendar, { ...rest, range, interactive: true, navigable: true, numMonths, selected: firstSelected && secondSelected ? [firstSelected, secondSelected] : firstSelected || secondSelected || void 0, onSelect: handlePopoverSelect })
137
+ )
138
+ );
139
+ };
140
+ exports.EbayDateTextbox = EbayDateTextbox;
@@ -1 +1,92 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react");function m({open:t,classPrefix:n,transitionElement:r,dialogRef:i,dialogWindowRef:c,enabled:a,onTransitionEnd:o}){const s=f.useRef(t);f.useLayoutEffect(()=>{if(!a)return;let e=[c,i];r==="window"?e=[c]:r==="root"&&(e=[i]);let u;return t?u=l({dialog:i,waitFor:e,classPrefix:n,onTransitionEnd:o}):s.current!==t&&(u=A({dialog:i,waitFor:e,classPrefix:n,onTransitionEnd:o})),s.current=t,()=>{u&&u()}},[t,a])}function l({dialog:t,waitFor:n,classPrefix:r,onTransitionEnd:i}){return w(t,n,`${r}--show`,i)}function A({dialog:t,waitFor:n,classPrefix:r,onTransitionEnd:i}){return w(t,n,`${r}--hide`,i)}function w(t,n,r,i){if(!t.current||!r)return;let c=0;const a=n?n.length:0,o=`${r}-init`;return t.current.classList.add(o),v(()=>{t.current&&(t.current.classList.add(r),t.current.classList.remove(o),n.forEach(s=>{const e=()=>{var u,d;++c===a&&((u=t.current)==null||u.classList.remove(r),i(),(d=s.current)==null||d.removeEventListener("transitionend",e))};s.current.addEventListener("transitionend",e,{once:!0})}))})}function v(t){let n,r;return window.requestAnimationFrame?(n=window.requestAnimationFrame(()=>{n=window.requestAnimationFrame(t)}),r=window.cancelAnimationFrame):(n=window.setTimeout(t,26),r=window.clearTimeout),()=>{n&&(r(n),n=void 0)}}exports.useDialogAnimation=m;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ function useDialogAnimation({ open, classPrefix, transitionElement, dialogRef, dialogWindowRef, enabled, onTransitionEnd }) {
5
+ const previousOpenValue = React.useRef(open);
6
+ React.useLayoutEffect(() => {
7
+ if (!enabled) {
8
+ return;
9
+ }
10
+ let transitionElements = [dialogWindowRef, dialogRef];
11
+ if (transitionElement === "window") {
12
+ transitionElements = [dialogWindowRef];
13
+ } else if (transitionElement === "root") {
14
+ transitionElements = [dialogRef];
15
+ }
16
+ let cancelCurrentAnimation;
17
+ if (open) {
18
+ cancelCurrentAnimation = showAnimation({
19
+ dialog: dialogRef,
20
+ waitFor: transitionElements,
21
+ classPrefix,
22
+ onTransitionEnd
23
+ });
24
+ } else if (previousOpenValue.current !== open) {
25
+ cancelCurrentAnimation = hideAnimation({
26
+ dialog: dialogRef,
27
+ waitFor: transitionElements,
28
+ classPrefix,
29
+ onTransitionEnd
30
+ });
31
+ }
32
+ previousOpenValue.current = open;
33
+ return () => {
34
+ if (cancelCurrentAnimation) {
35
+ cancelCurrentAnimation();
36
+ }
37
+ };
38
+ }, [open, enabled]);
39
+ }
40
+ function showAnimation({ dialog, waitFor, classPrefix, onTransitionEnd }) {
41
+ return transition(dialog, waitFor, `${classPrefix}--show`, onTransitionEnd);
42
+ }
43
+ function hideAnimation({ dialog, waitFor, classPrefix, onTransitionEnd }) {
44
+ return transition(dialog, waitFor, `${classPrefix}--hide`, onTransitionEnd);
45
+ }
46
+ function transition(element, waitFor, className, onTransitionEnd) {
47
+ if (!element.current || !className) {
48
+ return;
49
+ }
50
+ let ran = 0;
51
+ const pending = waitFor ? waitFor.length : 0;
52
+ const initClass = `${className}-init`;
53
+ element.current.classList.add(initClass);
54
+ return nextFrame(() => {
55
+ if (!element.current) {
56
+ return;
57
+ }
58
+ element.current.classList.add(className);
59
+ element.current.classList.remove(initClass);
60
+ waitFor.forEach((ref) => {
61
+ const listener = () => {
62
+ var _a, _b;
63
+ if (++ran === pending) {
64
+ (_a = element.current) == null ? void 0 : _a.classList.remove(className);
65
+ onTransitionEnd();
66
+ (_b = ref.current) == null ? void 0 : _b.removeEventListener("transitionend", listener);
67
+ }
68
+ };
69
+ ref.current.addEventListener("transitionend", listener, { once: true });
70
+ });
71
+ });
72
+ }
73
+ function nextFrame(callback) {
74
+ let frame;
75
+ let cancelFrame;
76
+ if (window.requestAnimationFrame) {
77
+ frame = window.requestAnimationFrame(() => {
78
+ frame = window.requestAnimationFrame(callback);
79
+ });
80
+ cancelFrame = window.cancelAnimationFrame;
81
+ } else {
82
+ frame = window.setTimeout(callback, 26);
83
+ cancelFrame = window.clearTimeout;
84
+ }
85
+ return () => {
86
+ if (frame) {
87
+ cancelFrame(frame);
88
+ frame = void 0;
89
+ }
90
+ };
91
+ }
92
+ exports.useDialogAnimation = useDialogAnimation;
@@ -1 +1,4 @@
1
- "use strict";const e=require("react"),r=({children:t})=>e.createElement(e.Fragment,null,t);module.exports=r;
1
+ "use strict";
2
+ const React = require("react");
3
+ const EbayDialogFooter = ({ children }) => React.createElement(React.Fragment, null, children);
4
+ module.exports = EbayDialogFooter;
@@ -1 +1,4 @@
1
- "use strict";const r=require("react"),a=({children:e,...t})=>r.createElement("h2",{...t},e);module.exports=a;
1
+ "use strict";
2
+ const React = require("react");
3
+ const EbayDialogHeader = ({ children, ...rest }) => React.createElement("h2", { ...rest }, children);
4
+ module.exports = EbayDialogHeader;
@@ -1 +1,13 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./components/dialog-header/index.js"),e=require("./components/dialog-footer/index.js"),o=require("../dialog-previous-button-5cTKpmJ-.js"),i=require("./components/animation/index.js");exports.EbayDialogHeader=a;exports.EbayDialogFooter=e;exports.DialogBaseWithState=o.DialogBaseWithState;exports.EbayDialogActions=o.EbayDialogActions;exports.EbayDialogCloseButton=o.EbayDialogCloseButton;exports.EbayDialogPreviousButton=o.EbayDialogPreviousButton;exports.useDialogAnimation=i.useDialogAnimation;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const ebayDialogBase_components_dialogHeader = require("./components/dialog-header/index.js");
4
+ const ebayDialogBase_components_dialogFooter = require("./components/dialog-footer/index.js");
5
+ const dialogPreviousButton = require("../dialog-previous-button-EC_Y6KaT.js");
6
+ const ebayDialogBase_components_animation = require("./components/animation/index.js");
7
+ exports.EbayDialogHeader = ebayDialogBase_components_dialogHeader;
8
+ exports.EbayDialogFooter = ebayDialogBase_components_dialogFooter;
9
+ exports.DialogBaseWithState = dialogPreviousButton.DialogBaseWithState;
10
+ exports.EbayDialogActions = dialogPreviousButton.EbayDialogActions;
11
+ exports.EbayDialogCloseButton = dialogPreviousButton.EbayDialogCloseButton;
12
+ exports.EbayDialogPreviousButton = dialogPreviousButton.EbayDialogPreviousButton;
13
+ exports.useDialogAnimation = ebayDialogBase_components_animation.useDialogAnimation;
@@ -1 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../drawer-xTtCoO3F.js");exports.EbayDrawerDialog=e.EbayDrawerDialog;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const drawer = require("../drawer-DBDktEBZ.js");
4
+ exports.EbayDrawerDialog = drawer.EbayDrawerDialog;
package/ebay-eek/index.js CHANGED
@@ -1 +1,54 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),u=require("classnames"),i=require("../icon-TuxfQndO.js"),d={"A+++":["D","E","G"],"A++":["E","G"],"A+":["F","G"],A:["G"]},E=r=>{const{max:t,min:n,rating:s}=r,l=d[t];if(!(l&&l.indexOf(n)>-1))return null;let e=t,c=1;for(;e!==s;){if(c++,n===e)return null;e.length>1?e=e.slice(0,e.length-1):e=String.fromCharCode(e.charCodeAt(0)+1)}return c>7?7:c},m=({min:r="",max:t="",rating:n,a11yText:s,className:l})=>{const e=E({rating:n,min:r,max:t}),c=u(l,"eek",{[`eek--rating-${e}`]:!!e}),o=`Energy Rating: ${n}. Range: ${t} - ${r}.`;return a.createElement("div",{className:c,role:"figure","aria-label":s||o},a.createElement("div",{className:"eek__container","aria-hidden":!0},a.createElement("span",{className:"eek__rating-range"},a.createElement("span",{"aria-hidden":"true"},t),a.createElement(i.EbayIcon,{name:"eekRangeArrow"}),a.createElement("span",{"aria-hidden":"true"},r)),a.createElement("span",{className:"eek__rating","aria-hidden":"true"},n)),a.createElement(i.EbayIcon,{name:"eekArrow"}))};exports.EbayEek=m;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const classNames = require("classnames");
5
+ const icon = require("../icon-B17Di3YL.js");
6
+ const validRanges = {
7
+ "A+++": ["D", "E", "G"],
8
+ "A++": ["E", "G"],
9
+ "A+": ["F", "G"],
10
+ A: ["G"]
11
+ };
12
+ const eekUtil = (input) => {
13
+ const { max, min, rating } = input;
14
+ const validMax = validRanges[max];
15
+ if (!(validMax && validMax.indexOf(min) > -1)) {
16
+ return null;
17
+ }
18
+ let current = max;
19
+ let i = 1;
20
+ while (current !== rating) {
21
+ i++;
22
+ if (min === current) {
23
+ return null;
24
+ } else if (current.length > 1) {
25
+ current = current.slice(0, current.length - 1);
26
+ } else {
27
+ current = String.fromCharCode(current.charCodeAt(0) + 1);
28
+ }
29
+ }
30
+ return i > 7 ? 7 : i;
31
+ };
32
+ const EbayEek = ({ min = "", max = "", rating, a11yText, className: extraClasses }) => {
33
+ const parsedRating = eekUtil({ rating, min, max });
34
+ const className = classNames(extraClasses, "eek", { [`eek--rating-${parsedRating}`]: !!parsedRating });
35
+ const backupA11yText = `Energy Rating: ${rating}. Range: ${max} - ${min}.`;
36
+ return React.createElement(
37
+ "div",
38
+ { className, role: "figure", "aria-label": a11yText || backupA11yText },
39
+ React.createElement(
40
+ "div",
41
+ { className: "eek__container", "aria-hidden": true },
42
+ React.createElement(
43
+ "span",
44
+ { className: "eek__rating-range" },
45
+ React.createElement("span", { "aria-hidden": "true" }, max),
46
+ React.createElement(icon.EbayIcon, { name: "eekRangeArrow" }),
47
+ React.createElement("span", { "aria-hidden": "true" }, min)
48
+ ),
49
+ React.createElement("span", { className: "eek__rating", "aria-hidden": "true" }, rating)
50
+ ),
51
+ React.createElement(icon.EbayIcon, { name: "eekArrow" })
52
+ );
53
+ };
54
+ exports.EbayEek = EbayEek;
@@ -1 +1,10 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../menu-_LzP6yje.js"),t=require("./menu-item/index.js"),n=require("react"),u=require("classnames"),o=({className:e,...a})=>n.createElement("hr",{...a,className:u(e,"fake-menu__separator"),role:"separator"});exports.EbayFakeMenu=r.EbayFakeMenu;exports.EbayFakeMenuItem=t;exports.EbayFakeMenuSeparator=o;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const menu = require("../menu-fCOy6wBS.js");
4
+ const ebayFakeMenu_menuItem = require("./menu-item/index.js");
5
+ const React = require("react");
6
+ const classNames = require("classnames");
7
+ const EbayMenuItemSeparator = ({ className, ...rest }) => React.createElement("hr", { ...rest, className: classNames(className, "fake-menu__separator"), role: "separator" });
8
+ exports.EbayFakeMenu = menu.EbayFakeMenu;
9
+ exports.EbayFakeMenuItem = ebayFakeMenu_menuItem;
10
+ exports.EbayFakeMenuSeparator = EbayMenuItemSeparator;
@@ -1 +1,49 @@
1
- "use strict";const e=require("react"),p=require("classnames"),d=require("../../icon-TuxfQndO.js"),y=require("../../badge-CoHKfiPt.js"),q=({className:m,current:v,disabled:t,autoFocus:l,type:b,badgeNumber:n,badgeAriaLabel:g,children:a,...E})=>{const c=e.useRef(),r=n!==void 0;e.useEffect(()=>{var u;l&&((u=c.current)==null||u.focus())});const s={...E,ref:c,className:p(m,"fake-menu__item",r&&"menu__item--badged"),"aria-label":g},i=e.createElement(d.EbayIcon,{name:"tick16"}),f={marginLeft:"var(--spacing-100)",marginRight:"var(--spacing-100)"},o=r&&e.createElement(y.EbayBadge,{type:"menu",number:n,style:f});return b==="button"?e.createElement("button",{...s,type:"button",disabled:t},e.createElement("span",null,a,o),i):e.createElement("a",{...s,"aria-disabled":t?"true":void 0},e.createElement("span",null,a,o),i)};module.exports=q;
1
+ "use strict";
2
+ const React = require("react");
3
+ const classNames = require("classnames");
4
+ const icon = require("../../icon-B17Di3YL.js");
5
+ const badge = require("../../badge-CR5t7-2L.js");
6
+ const EbayMenuItem = ({ className, current, disabled, autoFocus, type, badgeNumber, badgeAriaLabel, children, ...rest }) => {
7
+ const ref = React.useRef();
8
+ const hasBadge = badgeNumber !== void 0;
9
+ React.useEffect(() => {
10
+ var _a;
11
+ if (autoFocus) {
12
+ (_a = ref.current) == null ? void 0 : _a.focus();
13
+ }
14
+ });
15
+ const itemProps = {
16
+ ...rest,
17
+ ref,
18
+ className: classNames(className, "fake-menu__item", hasBadge && "menu__item--badged"),
19
+ "aria-label": badgeAriaLabel
20
+ };
21
+ const tick = React.createElement(icon.EbayIcon, { name: "tick16" });
22
+ const badgeStyleFix = {
23
+ marginLeft: "var(--spacing-100)",
24
+ marginRight: "var(--spacing-100)"
25
+ };
26
+ const badge$1 = hasBadge && React.createElement(badge.EbayBadge, { type: "menu", number: badgeNumber, style: badgeStyleFix });
27
+ return type === "button" ? React.createElement(
28
+ "button",
29
+ { ...itemProps, type: "button", disabled },
30
+ React.createElement(
31
+ "span",
32
+ null,
33
+ children,
34
+ badge$1
35
+ ),
36
+ tick
37
+ ) : React.createElement(
38
+ "a",
39
+ { ...itemProps, "aria-disabled": disabled ? "true" : void 0 },
40
+ React.createElement(
41
+ "span",
42
+ null,
43
+ children,
44
+ badge$1
45
+ ),
46
+ tick
47
+ );
48
+ };
49
+ module.exports = EbayMenuItem;
@@ -1 +1,7 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../menu-button-BZ66jxvI.js");exports.EbayFakeMenuButton=e.EbayMenuButton;exports.EbayFakeMenuButtonItem=e.EbayFakeMenuButtonItem;exports.EbayFakeMenuButtonLabel=e.EbayFakeMenuButtonLabel;exports.EbayFakeMenuButtonSeparator=e.EbayMenuButtonSeparator;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const ebayFakeMenuButton_menuButton = require("../menu-button-CKGsgg6G.js");
4
+ exports.EbayFakeMenuButton = ebayFakeMenuButton_menuButton.EbayMenuButton;
5
+ exports.EbayFakeMenuButtonItem = ebayFakeMenuButton_menuButton.EbayFakeMenuButtonItem;
6
+ exports.EbayFakeMenuButtonLabel = ebayFakeMenuButton_menuButton.EbayFakeMenuButtonLabel;
7
+ exports.EbayFakeMenuButtonSeparator = ebayFakeMenuButton_menuButton.EbayMenuButtonSeparator;
@@ -1 +1,12 @@
1
- "use strict";require("react");require("classnames");require("../../common/component-utils/utils/index.js");require("../../common/event-utils/index.js");require("../../common/random-id/index.js");require("../../button-DGuEBUDJ.js");require("../../icon-TuxfQndO.js");require("../../icon-button-Cwaj-eT9.js");require("../../menu-_LzP6yje.js");const e=require("../../menu-button-BZ66jxvI.js");module.exports=e.EbayMenuButton;
1
+ "use strict";
2
+ require("react");
3
+ require("classnames");
4
+ require("../../common/component-utils/utils/index.js");
5
+ require("../../common/event-utils/index.js");
6
+ require("../../common/random-id/index.js");
7
+ require("../../button-B4bZIgwB.js");
8
+ require("../../icon-B17Di3YL.js");
9
+ require("../../icon-button-BQWoMgX1.js");
10
+ require("../../menu-fCOy6wBS.js");
11
+ const ebayFakeMenuButton_menuButton = require("../../menu-button-CKGsgg6G.js");
12
+ module.exports = ebayFakeMenuButton_menuButton.EbayMenuButton;
@@ -1 +1,30 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),m=require("classnames"),o=require("../common/component-utils/utils/index.js"),r=({children:t,href:s,ariaCurrent:n,className:a,...c})=>e.createElement("li",{...c,className:m(a,"fake-tabs__item")},e.createElement("a",{href:s,"aria-current":n},t)),_=({selectedIndex:t=0,tabMatchesCurrentUrl:s,className:n,children:a,...c})=>{const i=s===!1?"true":"page",b=o.filterByType(a,r).map((l,E)=>e.cloneElement(l,{...l.props,ariaCurrent:t===E?i:null})),u=o.excludeComponent(a,r);return e.createElement("div",{...c,className:m(n,"fake-tabs")},e.createElement("ul",{className:"fake-tabs__items"},b),e.createElement("div",{className:"fake-tabs__content"},e.createElement("div",{className:"fake-tabs__cell"},u)))};exports.EbayFakeTab=r;exports.EbayFakeTabs=_;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const classNames = require("classnames");
5
+ const common_componentUtils_utils = require("../common/component-utils/utils/index.js");
6
+ const Tab = ({ children, href, ariaCurrent, className, ...rest }) => React.createElement(
7
+ "li",
8
+ { ...rest, className: classNames(className, "fake-tabs__item") },
9
+ React.createElement("a", { href, "aria-current": ariaCurrent }, children)
10
+ );
11
+ const EbayFakeTabs = ({ selectedIndex = 0, tabMatchesCurrentUrl, className, children, ...rest }) => {
12
+ const ariaCurrent = tabMatchesCurrentUrl === false ? "true" : "page";
13
+ const tabHeadings = common_componentUtils_utils.filterByType(children, Tab).map((item, i) => React.cloneElement(item, {
14
+ ...item.props,
15
+ ariaCurrent: selectedIndex === i ? ariaCurrent : null
16
+ }));
17
+ const tabContent = common_componentUtils_utils.excludeComponent(children, Tab);
18
+ return React.createElement(
19
+ "div",
20
+ { ...rest, className: classNames(className, "fake-tabs") },
21
+ React.createElement("ul", { className: "fake-tabs__items" }, tabHeadings),
22
+ React.createElement(
23
+ "div",
24
+ { className: "fake-tabs__content" },
25
+ React.createElement("div", { className: "fake-tabs__cell" }, tabContent)
26
+ )
27
+ );
28
+ };
29
+ exports.EbayFakeTab = Tab;
30
+ exports.EbayFakeTabs = EbayFakeTabs;
@@ -1 +1,21 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),a=require("classnames"),o=require("../label-CnrpYJ-g.js"),p=({className:e,layout:l="inline",children:t})=>{const n=l==="block"?"div":"span";return r.createElement(n,{className:a("field",e)},t)},d=({type:e,position:l="below",className:t,children:n,...s})=>{const i=a(t,"field__description",{[`field__description--${e}`]:e}),c=l==="below"?"div":"span";return r.createElement(c,{...s,className:i},r.createElement("span",null,n))};exports.EbayLabel=o.Label;exports.EbayField=p;exports.EbayFieldDescription=d;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const classNames = require("classnames");
5
+ const label = require("../label-C0AS4fnO.js");
6
+ const Field = ({ className, layout = "inline", children }) => {
7
+ const WrapperElement = layout === "block" ? "div" : "span";
8
+ return React.createElement(WrapperElement, { className: classNames("field", className) }, children);
9
+ };
10
+ const Description = ({ type, position = "below", className, children, ...rest }) => {
11
+ const wrapperClassName = classNames(className, "field__description", { [`field__description--${type}`]: type });
12
+ const WrapperElement = position === "below" ? `div` : `span`;
13
+ return React.createElement(
14
+ WrapperElement,
15
+ { ...rest, className: wrapperClassName },
16
+ React.createElement("span", null, children)
17
+ );
18
+ };
19
+ exports.EbayLabel = label.Label;
20
+ exports.EbayField = Field;
21
+ exports.EbayFieldDescription = Description;
@@ -1 +1,10 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),o=require("classnames"),r=require("../dialog-previous-button-5cTKpmJ-.js");require("../icon-button-Cwaj-eT9.js");const e="fullscreen-dialog",c=({open:s,onClose:t=()=>{},className:i,animated:l,...n})=>a.createElement(r.DialogBaseWithState,{...n,classPrefix:e,buttonPosition:"right",onCloseBtnClick:t,transitionElement:"window",animated:l,className:o(i,`${e}--mask-fade-slow`),windowClass:o(`${e}__window`,`${e}__window--slide`),open:s});exports.EbayFullscreenDialog=c;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const classNames = require("classnames");
5
+ const dialogPreviousButton = require("../dialog-previous-button-EC_Y6KaT.js");
6
+ require("../icon-button-BQWoMgX1.js");
7
+ const classPrefix = "fullscreen-dialog";
8
+ const EbayFullscreenDialog = ({ open, onClose = () => {
9
+ }, className, animated, ...rest }) => React.createElement(dialogPreviousButton.DialogBaseWithState, { ...rest, classPrefix, buttonPosition: "right", onCloseBtnClick: onClose, transitionElement: "window", animated, className: classNames(className, `${classPrefix}--mask-fade-slow`), windowClass: classNames(`${classPrefix}__window`, `${classPrefix}__window--slide`), open });
10
+ exports.EbayFullscreenDialog = EbayFullscreenDialog;
@@ -1 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../icon-TuxfQndO.js");exports.EbayIcon=e.EbayIcon;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const icon = require("../icon-B17Di3YL.js");
4
+ exports.EbayIcon = icon.EbayIcon;
@@ -1 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../icon-button-Cwaj-eT9.js");exports.EbayIconButton=t.EbayIconButton;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const iconButton = require("../icon-button-BQWoMgX1.js");
4
+ exports.EbayIconButton = iconButton.EbayIconButton;
@@ -1 +1,76 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),T=require("classnames"),E=require("../common/component-utils/utils/index.js"),r=require("../use-tooltip-CL3_zAeg.js"),$=require("../drawer-xTtCoO3F.js"),B=require("../ebay-dialog-base/components/dialog-header/index.js");require("react-remove-scroll");const M=require("../icon-TuxfQndO.js");require("../icon-button-Cwaj-eT9.js");const S=require("classnames/dedupe"),U=require("../common/component-utils/forwardRef/index.js"),j=({icon:t,className:o,children:n,forwardedRef:c,variant:l,...p})=>{const a=l==="modal"?"dialog--mini":"infotip",i=e.createElement(M.EbayIcon,{name:t}),f=n instanceof Function?n({icon:i}):n;return e.createElement("button",{...p,className:S("icon-btn icon-btn--transparent",o,`${a}__host`),type:"button",ref:c},f||i)},b=U.withForwardRef(j),k=({variant:t="default",pointer:o,overlayStyle:n,disabled:c,onExpand:l,onCollapse:p,children:a,initialExpanded:i,icon:f="information16",a11yCloseText:d,"aria-label":R,className:H,a11yMaximizeText:N,a11yMinimizeText:F})=>{const y=e.useRef(),{isExpanded:s,expandTooltip:P,collapseTooltip:m}=r.useTooltip({onCollapse:p,onExpand:l,initialExpanded:i,hostRef:y}),u=t==="modal",x=e.useRef(),g=E.findComponent(a,h),C=E.findComponent(a,w),I=E.findComponent(a,b)||e.createElement(b),D=()=>{s?m():P()};if(!C)throw new Error("EbayInfotip: Please use a EbayInfotipContent that defines the content of the infotip");const{children:_,...q}=C.props;return e.createElement(e.Fragment,null,e.createElement(r.Tooltip,{type:"infotip",isExpanded:s,className:T(H,{"dialog--mini":u}),ref:x},e.createElement(r.TooltipHost,null,e.cloneElement(I,{ref:y,onClick:D,disabled:c,variant:t,"aria-label":R,"aria-expanded":s,icon:f,...I.props})),!u&&e.createElement(r.TooltipContent,{...q,type:"infotip",style:n,pointer:o,showCloseButton:!0,a11yCloseText:d,onClose:m},g,_)),u&&e.createElement($.EbayDrawerDialog,{...q,open:s,onClose:m,a11yCloseText:d,className:"dialog--mini__overlay",a11yMaximizeText:N,a11yMinimizeText:F},e.createElement(B,null,g),_))},h=({className:t,...o})=>e.createElement("span",{...o,className:T("infotip__heading",t)}),w=({children:t})=>e.createElement(e.Fragment,null,t);exports.EbayInfotip=k;exports.EbayInfotipContent=w;exports.EbayInfotipHeading=h;exports.EbayInfotipHost=b;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const classNames$1 = require("classnames");
5
+ const common_componentUtils_utils = require("../common/component-utils/utils/index.js");
6
+ const useTooltip = require("../use-tooltip-7JxcZHJn.js");
7
+ const drawer = require("../drawer-DBDktEBZ.js");
8
+ const ebayDialogBase_components_dialogHeader = require("../ebay-dialog-base/components/dialog-header/index.js");
9
+ require("react-remove-scroll");
10
+ const icon = require("../icon-B17Di3YL.js");
11
+ require("../icon-button-BQWoMgX1.js");
12
+ const classNames = require("classnames/dedupe");
13
+ const common_componentUtils_forwardRef = require("../common/component-utils/forwardRef/index.js");
14
+ const EbayInfotipHost = ({ icon: icon$1, className, children, forwardedRef, variant, ...rest }) => {
15
+ const classPrefix = variant === "modal" ? "dialog--mini" : "infotip";
16
+ const buttonIcon = React.createElement(icon.EbayIcon, { name: icon$1 });
17
+ const buttonContent = children instanceof Function ? children({ icon: buttonIcon }) : children;
18
+ return React.createElement("button", { ...rest, className: classNames("icon-btn icon-btn--transparent", className, `${classPrefix}__host`), type: "button", ref: forwardedRef }, buttonContent || buttonIcon);
19
+ };
20
+ const EbayInfotipHost$1 = common_componentUtils_forwardRef.withForwardRef(EbayInfotipHost);
21
+ const EbayInfotip = ({ variant = "default", pointer, overlayStyle, disabled, onExpand, onCollapse, children, initialExpanded, icon: icon2 = "information16", a11yCloseText, "aria-label": ariaLabel, className, a11yMaximizeText, a11yMinimizeText }) => {
22
+ const buttonRef = React.useRef();
23
+ const { isExpanded, expandTooltip, collapseTooltip } = useTooltip.useTooltip({ onCollapse, onExpand, initialExpanded, hostRef: buttonRef });
24
+ const isModal = variant === "modal";
25
+ const containerRef = React.useRef();
26
+ const heading = common_componentUtils_utils.findComponent(children, EbayTooltipHeading);
27
+ const content = common_componentUtils_utils.findComponent(children, EbayInfotipContent);
28
+ const button = common_componentUtils_utils.findComponent(children, EbayInfotipHost$1) || React.createElement(EbayInfotipHost$1);
29
+ const toggleTooltip = () => {
30
+ if (isExpanded) {
31
+ collapseTooltip();
32
+ } else {
33
+ expandTooltip();
34
+ }
35
+ };
36
+ if (!content) {
37
+ throw new Error(`EbayInfotip: Please use a EbayInfotipContent that defines the content of the infotip`);
38
+ }
39
+ const { children: contentChildren, ...contentProps } = content.props;
40
+ return React.createElement(
41
+ React.Fragment,
42
+ null,
43
+ React.createElement(
44
+ useTooltip.Tooltip,
45
+ { type: "infotip", isExpanded, className: classNames$1(className, { "dialog--mini": isModal }), ref: containerRef },
46
+ React.createElement(useTooltip.TooltipHost, null, React.cloneElement(button, {
47
+ ref: buttonRef,
48
+ onClick: toggleTooltip,
49
+ disabled,
50
+ variant,
51
+ "aria-label": ariaLabel,
52
+ "aria-expanded": isExpanded,
53
+ icon: icon2,
54
+ ...button.props
55
+ })),
56
+ !isModal && React.createElement(
57
+ useTooltip.TooltipContent,
58
+ { ...contentProps, type: "infotip", style: overlayStyle, pointer, showCloseButton: true, a11yCloseText, onClose: collapseTooltip },
59
+ heading,
60
+ contentChildren
61
+ )
62
+ ),
63
+ isModal && React.createElement(
64
+ drawer.EbayDrawerDialog,
65
+ { ...contentProps, open: isExpanded, onClose: collapseTooltip, a11yCloseText, className: "dialog--mini__overlay", a11yMaximizeText, a11yMinimizeText },
66
+ React.createElement(ebayDialogBase_components_dialogHeader, null, heading),
67
+ contentChildren
68
+ )
69
+ );
70
+ };
71
+ const EbayTooltipHeading = ({ className, ...props }) => React.createElement("span", { ...props, className: classNames$1("infotip__heading", className) });
72
+ const EbayInfotipContent = ({ children }) => React.createElement(React.Fragment, null, children);
73
+ exports.EbayInfotip = EbayInfotip;
74
+ exports.EbayInfotipContent = EbayInfotipContent;
75
+ exports.EbayInfotipHeading = EbayTooltipHeading;
76
+ exports.EbayInfotipHost = EbayInfotipHost$1;
@@ -1 +1,36 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),E=require("classnames"),c=require("../notice-content-C0ZStfuX.js"),m=require("../notice-content-9iF4T8uB.js"),y=require("../common/component-utils/utils/index.js"),b=require("../icon-TuxfQndO.js"),N=({className:a,status:n="general",children:r,hidden:t=!1,"aria-label":l,onNoticeShow:s=()=>{},...u})=>{if(e.useEffect(()=>{t||s()},[t]),t)return null;const o=y.findComponent(r,c.EbayNoticeContent);if(!o)throw new Error("EbayInlineNotice: Please use a EbayNoticeContent that defines the content of the notice");const i=n==="general";return e.createElement("div",{...u,className:E(a,"inline-notice",{[`inline-notice--${n}`]:!i})},i?null:e.createElement("span",{className:"inline-notice__header"},e.createElement(b.EbayIcon,{name:`${n}Filled16`,a11yText:l,a11yVariant:"label"})),e.createElement(m.NoticeContent,{...o.props,type:"inline"}))};exports.EbayNoticeContent=c.EbayNoticeContent;exports.EbayInlineNotice=N;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const classNames = require("classnames");
5
+ const noticeContent = require("../notice-content-BhUeK1pd.js");
6
+ const noticeContent$1 = require("../notice-content-BTXVxttv.js");
7
+ const common_componentUtils_utils = require("../common/component-utils/utils/index.js");
8
+ const icon = require("../icon-B17Di3YL.js");
9
+ const EbayInlineNotice = ({ className, status = "general", children, hidden = false, "aria-label": ariaLabel, onNoticeShow = () => {
10
+ }, ...rest }) => {
11
+ React.useEffect(() => {
12
+ if (!hidden) {
13
+ onNoticeShow();
14
+ }
15
+ }, [hidden]);
16
+ if (hidden) {
17
+ return null;
18
+ }
19
+ const content = common_componentUtils_utils.findComponent(children, noticeContent.EbayNoticeContent);
20
+ if (!content) {
21
+ throw new Error(`EbayInlineNotice: Please use a EbayNoticeContent that defines the content of the notice`);
22
+ }
23
+ const isGeneral = status === `general`;
24
+ return React.createElement(
25
+ "div",
26
+ { ...rest, className: classNames(className, "inline-notice", { [`inline-notice--${status}`]: !isGeneral }) },
27
+ !isGeneral ? React.createElement(
28
+ "span",
29
+ { className: "inline-notice__header" },
30
+ React.createElement(icon.EbayIcon, { name: `${status}Filled16`, a11yText: ariaLabel, a11yVariant: "label" })
31
+ ) : null,
32
+ React.createElement(noticeContent$1.NoticeContent, { ...content.props, type: "inline" })
33
+ );
34
+ };
35
+ exports.EbayNoticeContent = noticeContent.EbayNoticeContent;
36
+ exports.EbayInlineNotice = EbayInlineNotice;