@ebay/ui-core-react 7.4.0-alpha.8 → 7.4.0

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 (153) hide show
  1. package/README.md +2 -2
  2. package/array.polyfill.flat-5BAolFdk.js +1 -0
  3. package/badge-CoHKfiPt.js +1 -0
  4. package/button-DGuEBUDJ.js +1 -0
  5. package/calendar-lAu6VfAb.js +1 -0
  6. package/common/component-utils/forwardRef/index.js +1 -10
  7. package/common/component-utils/index.js +1 -9
  8. package/common/component-utils/utils/index.js +1 -25
  9. package/common/event-utils/index.js +1 -113
  10. package/common/floating-label-utils/hooks/index.js +1 -106
  11. package/common/notice-utils/notice-cta/index.js +1 -5
  12. package/common/random-id/index.js +1 -13
  13. package/common/tooltip-utils/constants/index.js +1 -97
  14. package/common/tooltip-utils/index.js +1 -11
  15. package/debounce-BQsYxxOL.js +1 -0
  16. package/dialog-previous-button-CpuFLkQp.js +1 -0
  17. package/drawer-rqXAEeqd.js +1 -0
  18. package/ebay-alert-dialog/index.js +1 -26
  19. package/ebay-badge/index.js +1 -4
  20. package/ebay-breadcrumbs/index.js +1 -47
  21. package/ebay-button/index.js +1 -5
  22. package/ebay-calendar/index.js +1 -4
  23. package/ebay-carousel/index.js +1 -345
  24. package/ebay-checkbox/index.js +1 -52
  25. package/ebay-confirm-dialog/index.js +1 -28
  26. package/ebay-cta-button/index.js +1 -22
  27. package/ebay-date-textbox/index.js +1 -140
  28. package/ebay-dialog-base/components/animation/index.js +1 -92
  29. package/ebay-dialog-base/components/dialog-footer/index.js +1 -4
  30. package/ebay-dialog-base/components/dialog-header/index.js +1 -4
  31. package/ebay-dialog-base/index.js +1 -13
  32. package/ebay-drawer-dialog/index.js +1 -4
  33. package/ebay-eek/index.js +1 -54
  34. package/ebay-fake-menu/index.js +1 -10
  35. package/ebay-fake-menu/menu-item/index.js +1 -49
  36. package/ebay-fake-menu-button/index.js +1 -7
  37. package/ebay-fake-menu-button/menu-button/index.js +1 -12
  38. package/ebay-fake-tabs/index.js +1 -30
  39. package/ebay-field/index.js +1 -21
  40. package/ebay-fullscreen-dialog/index.js +1 -10
  41. package/ebay-icon/index.js +1 -4
  42. package/ebay-icon/types.d.ts +1 -1
  43. package/ebay-icon/types.d.ts.map +1 -1
  44. package/ebay-icon-button/index.js +1 -4
  45. package/ebay-infotip/index.js +1 -76
  46. package/ebay-inline-notice/index.js +1 -36
  47. package/ebay-lightbox-dialog/index.js +1 -12
  48. package/ebay-listbox-button/index.d.ts +2 -1
  49. package/ebay-listbox-button/index.d.ts.map +1 -1
  50. package/ebay-listbox-button/index.js +2 -151
  51. package/ebay-listbox-button/listbox-button-option.d.ts +10 -0
  52. package/ebay-listbox-button/listbox-button-option.d.ts.map +1 -0
  53. package/ebay-listbox-button/listbox-button.d.ts +5 -15
  54. package/ebay-listbox-button/listbox-button.d.ts.map +1 -1
  55. package/ebay-menu/index.js +1 -9
  56. package/ebay-menu-button/index.js +1 -113
  57. package/ebay-notice-base/index.js +1 -7
  58. package/ebay-page-notice/index.js +1 -50
  59. package/ebay-pagination/index.js +1 -244
  60. package/ebay-panel-dialog/index.js +1 -12
  61. package/ebay-progress-bar/index.js +1 -6
  62. package/ebay-progress-spinner/index.js +1 -4
  63. package/ebay-progress-stepper/index.js +1 -72
  64. package/ebay-radio/index.js +1 -4
  65. package/ebay-radio/radio/index.js +1 -48
  66. package/ebay-section-notice/index.js +1 -69
  67. package/ebay-section-title/index.js +1 -38
  68. package/ebay-segmented-buttons/index.js +1 -46
  69. package/ebay-select/index.js +1 -98
  70. package/ebay-signal/index.js +1 -9
  71. package/ebay-snackbar-dialog/index.js +1 -81
  72. package/ebay-split-button/index.js +1 -22
  73. package/ebay-star-rating/index.js +1 -9
  74. package/ebay-star-rating-select/index.js +1 -55
  75. package/ebay-svg/index.js +1 -5189
  76. package/ebay-svg/symbols.d.ts.map +1 -1
  77. package/ebay-switch/index.js +1 -27
  78. package/ebay-tabs/index.js +1 -88
  79. package/ebay-textbox/index.js +1 -10
  80. package/ebay-toast-dialog/index.js +1 -9
  81. package/ebay-toggle-button/README.md +39 -0
  82. package/ebay-toggle-button/index.d.ts +3 -0
  83. package/ebay-toggle-button/index.d.ts.map +1 -0
  84. package/ebay-toggle-button/index.js +1 -0
  85. package/ebay-toggle-button/toggle-button.d.ts +5 -0
  86. package/ebay-toggle-button/toggle-button.d.ts.map +1 -0
  87. package/ebay-toggle-button/types.d.ts +23 -0
  88. package/ebay-toggle-button/types.d.ts.map +1 -0
  89. package/ebay-toggle-button-group/README.md +56 -0
  90. package/ebay-toggle-button-group/index.d.ts +3 -0
  91. package/ebay-toggle-button-group/index.d.ts.map +1 -0
  92. package/ebay-toggle-button-group/index.js +1 -0
  93. package/ebay-toggle-button-group/toggle-button-group.d.ts +5 -0
  94. package/ebay-toggle-button-group/toggle-button-group.d.ts.map +1 -0
  95. package/ebay-toggle-button-group/types.d.ts +20 -0
  96. package/ebay-toggle-button-group/types.d.ts.map +1 -0
  97. package/ebay-tooltip/index.js +1 -64
  98. package/ebay-tourtip/index.js +1 -54
  99. package/ebay-video/index.js +1 -229
  100. package/events/index.js +1 -18
  101. package/icon-TuxfQndO.js +1 -0
  102. package/icon-button-Cwaj-eT9.js +1 -0
  103. package/label-CnrpYJ-g.js +1 -0
  104. package/menu-CV-INYLM.js +1 -0
  105. package/menu-_LzP6yje.js +1 -0
  106. package/menu-button-BZ66jxvI.js +1 -0
  107. package/notice-content-9iF4T8uB.js +1 -0
  108. package/notice-content-C0ZStfuX.js +1 -0
  109. package/notice-footer-Cw1DMzoB.js +1 -0
  110. package/package.json +2 -5
  111. package/progress-spinner-U2qOANON.js +1 -0
  112. package/range-DOsPN0h5.js +1 -0
  113. package/textbox-dUhinDwj.js +1 -0
  114. package/toggle-button-D8l0YB43.js +1 -0
  115. package/use-roving-index-DoAVBgsp.js +1 -0
  116. package/use-tooltip-CL3_zAeg.js +1 -0
  117. package/utils/index.js +1 -13
  118. package/array.polyfill.flat-DyxysTxZ.js +0 -21
  119. package/badge-CR5t7-2L.js +0 -8
  120. package/button-B4bZIgwB.js +0 -83
  121. package/calendar-D-DWjrMU.js +0 -333
  122. package/debounce-v8bWAUnY.js +0 -9
  123. package/dialog-previous-button-EC_Y6KaT.js +0 -370
  124. package/drawer-DBDktEBZ.js +0 -69
  125. package/ebay-listbox/README.md +0 -100
  126. package/ebay-listbox/index.d.ts +0 -4
  127. package/ebay-listbox/index.d.ts.map +0 -1
  128. package/ebay-listbox/index.js +0 -6
  129. package/ebay-listbox/listbox-option-description.d.ts +0 -4
  130. package/ebay-listbox/listbox-option-description.d.ts.map +0 -1
  131. package/ebay-listbox/listbox-option.d.ts +0 -10
  132. package/ebay-listbox/listbox-option.d.ts.map +0 -1
  133. package/ebay-listbox/listbox.d.ts +0 -21
  134. package/ebay-listbox/listbox.d.ts.map +0 -1
  135. package/icon-B17Di3YL.js +0 -56
  136. package/icon-button-BQWoMgX1.js +0 -31
  137. package/index-BXizW4ue.js +0 -89
  138. package/index-DcH7Tjjd.js +0 -272
  139. package/label-C0AS4fnO.js +0 -19
  140. package/listbox-DGbY99kq.js +0 -674
  141. package/menu-Bsy48CE1.js +0 -163
  142. package/menu-button-CKGsgg6G.js +0 -89
  143. package/menu-fCOy6wBS.js +0 -29
  144. package/notice-content-BTXVxttv.js +0 -8
  145. package/notice-content-BhUeK1pd.js +0 -3
  146. package/notice-footer-CIQ8SM6N.js +0 -10
  147. package/progress-spinner-DOFKRtuu.js +0 -20
  148. package/range-C5qzyhg4.js +0 -3
  149. package/textbox-J291yCpJ.js +0 -136
  150. package/use-roving-index-CEM_UsCH.js +0 -58
  151. package/use-tooltip-7JxcZHJn.js +0 -92
  152. package/utils/scroll.d.ts +0 -2
  153. package/utils/scroll.d.ts.map +0 -1
@@ -1,229 +1 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
6
- const React = require("react");
7
- const classNames = require("classnames");
8
- const shaka = require("shaka-player/dist/shaka-player.ui");
9
- const common_componentUtils_utils = require("../common/component-utils/utils/index.js");
10
- const icon = require("../icon-B17Di3YL.js");
11
- const progressSpinner = require("../progress-spinner-DOFKRtuu.js");
12
- const client = require("react-dom/client");
13
- const EbayVideoSource = ({ ...rest }) => React.createElement("source", { ...rest });
14
- const ERROR_ANOTHER_LOAD = 7e3;
15
- const ERROR_NO_PLAYER = 11;
16
- const defaultVideoConfig = {
17
- addBigPlayButton: false,
18
- addSeekBar: true,
19
- controlPanelElements: [
20
- "play_pause",
21
- "time_and_duration",
22
- "spacer",
23
- "mute",
24
- "report",
25
- "captions",
26
- // 'quality', // uncomment this to show a gear icon for video quality control
27
- "fullscreen"
28
- ]
29
- };
30
- const ReportButton = ({ callback, children }) => React.createElement(
31
- "button",
32
- { className: "video-player__report-button", ref: callback },
33
- React.createElement(icon.EbayIcon, { name: "flag24" }),
34
- children
35
- );
36
- function customControls(onReport = () => {
37
- }) {
38
- const Report = class extends shaka.ui.Element {
39
- constructor(parent, controls, text) {
40
- super(parent, controls);
41
- const tempEl = document.createElement("div");
42
- const buttonCallback = () => {
43
- const reportButton = tempEl.firstChild;
44
- parent.appendChild(reportButton);
45
- tempEl.remove();
46
- this.eventManager.listen(reportButton, "click", onReport);
47
- };
48
- client.createRoot(tempEl).render(React.createElement(ReportButton, { callback: buttonCallback }, text));
49
- }
50
- };
51
- Report.Factory = class {
52
- constructor(reportText) {
53
- __publicField(this, "reportText");
54
- this.reportText = reportText;
55
- }
56
- create(rootElement, controls) {
57
- return new Report(rootElement, controls, this.reportText);
58
- }
59
- };
60
- return { Report };
61
- }
62
- const EbayVideo = ({ width, height, thumbnail, action, muted, playView = "inline", a11yLoadText, a11yPlayText, reportText, volumeSlider, volume = 1, hideReportButton, errorText, onVolumeChange = () => {
63
- }, onLoadError = () => {
64
- }, onPlay = () => {
65
- }, onReport = () => {
66
- }, children, ...rest }) => {
67
- const [loaded, setLoaded] = React.useState();
68
- const [buffering, setBuffering] = React.useState();
69
- const [playing, setPlaying] = React.useState();
70
- const [failed, setFailed] = React.useState();
71
- const containerRef = React.useRef(null);
72
- const videoRef = React.useRef(null);
73
- const playerRef = React.useRef(null);
74
- const uiRef = React.useRef(null);
75
- const sources = common_componentUtils_utils.filterByType(children, EbayVideoSource).map(({ props }) => props);
76
- const handleError = (err) => {
77
- setLoaded(true);
78
- setFailed(true);
79
- onLoadError(err);
80
- };
81
- const loadSource = (index = 0) => {
82
- var _a;
83
- if (!sources.length || !playerRef.current)
84
- return;
85
- setLoaded(false);
86
- playerRef.current.load((_a = sources[index]) == null ? void 0 : _a.src).then(() => {
87
- setFailed(false);
88
- }).catch((err) => {
89
- console.error(err);
90
- switch (err.code) {
91
- case ERROR_ANOTHER_LOAD:
92
- return;
93
- case ERROR_NO_PLAYER:
94
- setTimeout(() => loadSource(index), 0);
95
- break;
96
- default: {
97
- const nextIndex = sources.length > index + 1 && index + 1;
98
- if (nextIndex) {
99
- setTimeout(() => loadSource(nextIndex), 0);
100
- } else {
101
- handleError(err);
102
- }
103
- }
104
- }
105
- }).finally(() => {
106
- setLoaded(true);
107
- });
108
- };
109
- React.useEffect(() => {
110
- const video = videoRef.current;
111
- const container = containerRef.current;
112
- if (!video || !container)
113
- return;
114
- video.volume = volume;
115
- shaka.polyfill.installAll();
116
- playerRef.current = new shaka.Player(video);
117
- if (!playerRef.current)
118
- return;
119
- playerRef.current.addEventListener("error", handleError);
120
- playerRef.current.addEventListener("buffering", (e) => {
121
- setBuffering(e.buffering);
122
- });
123
- uiRef.current = new shaka.ui.Overlay(playerRef.current, container, video, reportText);
124
- uiRef.current.configure({
125
- addBigPlayButton: true,
126
- controlPanelElements: [],
127
- addSeekBar: false
128
- });
129
- if (!hideReportButton) {
130
- const { Report } = customControls(onReport);
131
- shaka.ui.Controls.registerElement("report", new Report.Factory(reportText));
132
- }
133
- loadSource();
134
- hideSpinner(container);
135
- }, []);
136
- React.useEffect(() => {
137
- switch (action) {
138
- case "play":
139
- videoRef.current.play();
140
- break;
141
- case "pause":
142
- videoRef.current.pause();
143
- break;
144
- }
145
- }, [action]);
146
- const showControls = () => {
147
- if (!uiRef.current)
148
- return;
149
- const updatedControls = volumeSlider ? {
150
- controlPanelElements: withVolumeControl(defaultVideoConfig.controlPanelElements)
151
- } : {};
152
- uiRef.current.configure({
153
- ...defaultVideoConfig,
154
- ...updatedControls
155
- });
156
- videoRef.current.controls = false;
157
- };
158
- const handlePlaying = (e) => {
159
- e.stopPropagation();
160
- showControls();
161
- if (playView === "fullscreen") {
162
- videoRef.current.requestFullscreen();
163
- }
164
- setPlaying(true);
165
- onPlay(e, { player: playerRef.current });
166
- };
167
- const handleOnPlayClick = () => {
168
- videoRef.current.play();
169
- };
170
- const handleVolumeChange = (e) => {
171
- const eventTarget = e.currentTarget;
172
- onVolumeChange(e, {
173
- volume: Math.round((eventTarget.volume + Number.EPSILON) * 100) / 100,
174
- muted: eventTarget.muted
175
- });
176
- };
177
- const handleOnPause = () => {
178
- videoRef.current.controls = false;
179
- };
180
- const style = {
181
- width: width ? `${width}px` : void 0,
182
- height: height ? `${height}px` : void 0
183
- };
184
- return React.createElement(
185
- "div",
186
- { style, className: classNames("video-player", { "video-player--poster": !playing }) },
187
- !playing && loaded && !failed && !buffering && React.createElement(
188
- "div",
189
- { className: "shaka-play-button-container" },
190
- React.createElement(
191
- "button",
192
- { onClick: handleOnPlayClick, className: "shaka-play-button", style: { opacity: 1, zIndex: 999 }, "aria-label": a11yPlayText },
193
- React.createElement(icon.EbayIcon, { name: "playFilled64Colored" })
194
- )
195
- ),
196
- React.createElement(
197
- "div",
198
- { className: "video-player__container", ref: containerRef },
199
- React.createElement("video", { ref: videoRef, style, poster: thumbnail, muted: muted || false, onPlaying: handlePlaying, onPause: handleOnPause, onVolumeChange: handleVolumeChange, ...rest }, sources.map((source, i) => React.createElement("source", { key: i, ...source })))
200
- ),
201
- React.createElement(
202
- "div",
203
- { className: classNames("video-player__overlay", { "video-player__overlay--hidden": !failed }) },
204
- React.createElement(icon.EbayIcon, { name: "attention64" }),
205
- React.createElement("div", { className: "video-player__overlay-text" }, errorText)
206
- ),
207
- React.createElement(
208
- "div",
209
- { className: classNames("video-player__overlay", {
210
- "video-player__overlay--hidden": loaded && (failed || !buffering)
211
- }) },
212
- React.createElement(progressSpinner.EbayProgressSpinner, { size: "large", "aria-label": a11yLoadText })
213
- )
214
- );
215
- };
216
- function withVolumeControl(controls) {
217
- const insertAt = controls.length - 2 > 0 ? controls.length - 2 : controls.length;
218
- const controlsWithVolume = [...controls];
219
- controlsWithVolume.splice(insertAt, 0, "volume");
220
- return controlsWithVolume;
221
- }
222
- function hideSpinner(container) {
223
- const shakaSpinner = container.querySelectorAll(".shaka-spinner")[0];
224
- if (shakaSpinner) {
225
- shakaSpinner.setAttribute("hidden", "");
226
- }
227
- }
228
- exports.EbayVideo = EbayVideo;
229
- exports.EbayVideoSource = EbayVideoSource;
1
+ "use strict";var Q=Object.defineProperty;var X=(n,r,o)=>r in n?Q(n,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[r]=o;var T=(n,r,o)=>X(n,typeof r!="symbol"?r+"":r,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),b=require("classnames"),d=require("shaka-player/dist/shaka-player.ui"),Z=require("../common/component-utils/utils/index.js"),_=require("../icon-TuxfQndO.js"),ee=require("../progress-spinner-U2qOANON.js"),te=require("react-dom/client"),w=({...n})=>e.createElement("source",{...n}),ne=7e3,re=11,V={addBigPlayButton:!1,addSeekBar:!0,controlPanelElements:["play_pause","time_and_duration","spacer","mute","report","captions","fullscreen"]},oe=({callback:n,children:r})=>e.createElement("button",{className:"video-player__report-button",ref:n},e.createElement(_.EbayIcon,{name:"flag24"}),r);function ae(n=()=>{}){const r=class extends d.ui.Element{constructor(o,u,y){super(o,u);const i=document.createElement("div"),E=()=>{const m=i.firstChild;o.appendChild(m),i.remove(),this.eventManager.listen(m,"click",n)};te.createRoot(i).render(e.createElement(oe,{callback:E},y))}};return r.Factory=class{constructor(o){T(this,"reportText");this.reportText=o}create(o,u){return new r(o,u,this.reportText)}},{Report:r}}const le=({width:n,height:r,thumbnail:o,action:u,muted:y,playView:i="inline",a11yLoadText:E,a11yPlayText:m,reportText:R,volumeSlider:A,volume:x=1,hideReportButton:I,errorText:L,onVolumeChange:F=()=>{},onLoadError:M=()=>{},onPlay:z=()=>{},onReport:$=()=>{},children:j,...D})=>{const[P,v]=e.useState(),[S,H]=e.useState(),[k,U]=e.useState(),[h,C]=e.useState(),N=e.useRef(null),l=e.useRef(null),s=e.useRef(null),p=e.useRef(null),f=Z.filterByType(j,w).map(({props:t})=>t),B=t=>{v(!0),C(!0),M(t)},g=(t=0)=>{var a;!f.length||!s.current||(v(!1),s.current.load((a=f[t])==null?void 0:a.src).then(()=>{C(!1)}).catch(c=>{switch(console.error(c),c.code){case ne:return;case re:setTimeout(()=>g(t),0);break;default:{const q=f.length>t+1&&t+1;q?setTimeout(()=>g(q),0):B(c)}}}).finally(()=>{v(!0)}))};e.useEffect(()=>{const t=l.current,a=N.current;if(!(!t||!a)&&(t.volume=x,d.polyfill.installAll(),s.current=new d.Player(t),!!s.current)){if(s.current.addEventListener("error",B),s.current.addEventListener("buffering",c=>{H(c.buffering)}),p.current=new d.ui.Overlay(s.current,a,t,R),p.current.configure({addBigPlayButton:!0,controlPanelElements:[],addSeekBar:!1}),!I){const{Report:c}=ae($);d.ui.Controls.registerElement("report",new c.Factory(R))}g(),ce(a)}},[]),e.useEffect(()=>{switch(u){case"play":l.current.play();break;case"pause":l.current.pause();break}},[u]);const W=()=>{if(!p.current)return;const t=A?{controlPanelElements:se(V.controlPanelElements)}:{};p.current.configure({...V,...t}),l.current.controls=!1},Y=t=>{t.stopPropagation(),W(),i==="fullscreen"&&l.current.requestFullscreen(),U(!0),z(t,{player:s.current})},G=()=>{l.current.play()},J=t=>{const a=t.currentTarget;F(t,{volume:Math.round((a.volume+Number.EPSILON)*100)/100,muted:a.muted})},K=()=>{l.current.controls=!1},O={width:n?`${n}px`:void 0,height:r?`${r}px`:void 0};return e.createElement("div",{style:O,className:b("video-player",{"video-player--poster":!k})},!k&&P&&!h&&!S&&e.createElement("div",{className:"shaka-play-button-container"},e.createElement("button",{onClick:G,className:"shaka-play-button",style:{opacity:1,zIndex:999},"aria-label":m},e.createElement(_.EbayIcon,{name:"playFilled64Colored"}))),e.createElement("div",{className:"video-player__container",ref:N},e.createElement("video",{ref:l,style:O,poster:o,muted:y||!1,onPlaying:Y,onPause:K,onVolumeChange:J,...D},f.map((t,a)=>e.createElement("source",{key:a,...t})))),e.createElement("div",{className:b("video-player__overlay",{"video-player__overlay--hidden":!h})},e.createElement(_.EbayIcon,{name:"attention64"}),e.createElement("div",{className:"video-player__overlay-text"},L)),e.createElement("div",{className:b("video-player__overlay",{"video-player__overlay--hidden":P&&(h||!S)})},e.createElement(ee.EbayProgressSpinner,{size:"large","aria-label":E})))};function se(n){const r=n.length-2>0?n.length-2:n.length,o=[...n];return o.splice(r,0,"volume"),o}function ce(n){const r=n.querySelectorAll(".shaka-spinner")[0];r&&r.setAttribute("hidden","")}exports.EbayVideo=le;exports.EbayVideoSource=w;
package/events/index.js CHANGED
@@ -1,18 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const common_eventUtils = require("../common/event-utils/index.js");
4
- const useRovingIndex = require("../use-roving-index-CEM_UsCH.js");
5
- exports.addEventListener = common_eventUtils.addEventListener;
6
- exports.handleActionKeydown = common_eventUtils.handleActionKeydown;
7
- exports.handleEnterKeydown = common_eventUtils.handleEnterKeydown;
8
- exports.handleEscapeKeydown = common_eventUtils.handleEscapeKeydown;
9
- exports.handleLeftRightArrowsKeydown = common_eventUtils.handleLeftRightArrowsKeydown;
10
- exports.handleResize = common_eventUtils.handleResize;
11
- exports.handleTextInput = common_eventUtils.handleTextInput;
12
- exports.handleUpDownArrowsKeydown = common_eventUtils.handleUpDownArrowsKeydown;
13
- exports.isActionKey = common_eventUtils.isActionKey;
14
- exports.preventDefaultIfHijax = common_eventUtils.preventDefaultIfHijax;
15
- exports.removeEventListener = common_eventUtils.removeEventListener;
16
- exports.wrapEvent = common_eventUtils.wrapEvent;
17
- exports.useKeyPress = useRovingIndex.useKeyPress;
18
- exports.useRovingIndex = useRovingIndex.useRovingIndex;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../common/event-utils/index.js"),n=require("../use-roving-index-DoAVBgsp.js");exports.addEventListener=e.addEventListener;exports.handleActionKeydown=e.handleActionKeydown;exports.handleEnterKeydown=e.handleEnterKeydown;exports.handleEscapeKeydown=e.handleEscapeKeydown;exports.handleLeftRightArrowsKeydown=e.handleLeftRightArrowsKeydown;exports.handleResize=e.handleResize;exports.handleTextInput=e.handleTextInput;exports.handleUpDownArrowsKeydown=e.handleUpDownArrowsKeydown;exports.isActionKey=e.isActionKey;exports.preventDefaultIfHijax=e.preventDefaultIfHijax;exports.removeEventListener=e.removeEventListener;exports.wrapEvent=e.wrapEvent;exports.useKeyPress=n.useKeyPress;exports.useRovingIndex=n.useRovingIndex;
@@ -0,0 +1 @@
1
+ "use strict";const r=require("react"),g=require("classnames"),w=require("./common/component-utils/forwardRef/index.js");require("./array.polyfill.flat-5BAolFdk.js");const p=require("./common/random-id/index.js"),E=({name:o,className:n,noSkinClasses:e=!1,a11yText:t,a11yVariant:l,forwardedRef:d,...m})=>{const[u,f]=r.useState("");r.useEffect(()=>{f(p.randomId())},[]);const c=l==="label",i=t&&`icon-title-${u}`,b=t?{"aria-labelledby":c?void 0:i,"aria-label":c?t:void 0,role:"img"}:{"aria-hidden":!0},s=a(o),I=["icon",`icon--${$(s)||s}`,h(s)].filter(Boolean).join(" "),N=g(n,{[I]:!e});return r.createElement("svg",{...m,className:N,xmlns:"http://www.w3.org/2000/svg",focusable:!1,ref:d,...b},t&&!c&&r.createElement("title",{id:i},t),r.createElement("use",{xlinkHref:`#icon-${s}`}))};function $(o){const n=o.split("-"),e=n[n.length-1];return e==="colored"?n[n.length-2]:isNaN(Number(e))?"":e}function h(o){const n=o.split("-"),e=n.indexOf("filled");return e===-1?"":`icon--${n.slice(0,e+1).join("-")}`}function a(o){return o.replace(/([0-9]+)/g,(n,e)=>`-${e}`).replace(/([A-Z])/g,(n,e)=>`-${e.toLowerCase()}`)}const k=w.withForwardRef(E);exports.EbayIcon=k;exports.kebabCased=a;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react"),w=require("classnames"),$=require("./icon-TuxfQndO.js"),d=require("./badge-CoHKfiPt.js"),k=require("./common/component-utils/forwardRef/index.js");require("./array.polyfill.flat-5BAolFdk.js");const B=({href:c,icon:m,badgeNumber:o,badgeAriaLabel:y,transparent:E,className:b,forwardedRef:a,size:r,onEscape:q=()=>{},onKeyDown:p=()=>{},...s})=>{const n=c?"icon-link":"icon-btn",i=w(b,n,r&&`${n}--${r}`,{[`${n}--badged`]:o,[`${n}--transparent`]:E}),l=e.createElement(e.Fragment,null,e.createElement($.EbayIcon,{name:m}),o&&e.createElement(d.EbayBadge,{type:"icon",number:o,"aria-label":y})),u=t=>{(t.key==="Escape"||t.key==="Esc")&&q(t),p(t)};return c?e.createElement("a",{ref:a,className:i,href:c,onKeyDown:u,...s},l):e.createElement("button",{ref:a,type:"button",className:i,onKeyDown:u,...s},l)},I=k.withForwardRef(B);exports.EbayIconButton=I;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react"),d=require("classnames"),i=({className:l,children:a,stacked:s=!1,required:t=!1,position:r="start",...n})=>{const c=d("field__label",l,{"field__label--stacked":s},{"field__label--end":r==="end"}),u=t?e.createElement(e.Fragment,null," ",e.createElement("sup",null,"*")):null;return e.createElement("label",{className:c,...n},a,u)};exports.Label=i;
@@ -0,0 +1 @@
1
+ "use strict";const t=require("react"),V=require("classnames"),U=require("./use-roving-index-DoAVBgsp.js"),S=require("./common/event-utils/index.js"),T=require("./common/component-utils/forwardRef/index.js");require("./array.polyfill.flat-5BAolFdk.js");const $=require("./badge-CoHKfiPt.js"),j=require("./icon-TuxfQndO.js"),A=({className:d,checked:r,type:I,focused:a=!1,tabIndex:p,disabled:y,badgeNumber:f,badgeAriaLabel:h,children:v,...w})=>{const u=t.useRef(null),i=f!==void 0;t.useEffect(()=>{u.current&&a&&u.current.focus()},[u,a]);const x=["radio","checkbox"];return t.createElement("div",{"aria-label":h,...w,ref:u,className:V(d,"menu__item",i&&"menu__item--badged"),role:z(I),"aria-checked":x.includes(I)?r:void 0,"aria-disabled":y,tabIndex:a?0:p},t.createElement("span",{"aria-hidden":i},v,i&&t.createElement($.EbayBadge,{type:"menu",number:f})),t.createElement(j.EbayIcon,{name:"tick16"}))};function z(d){return{radio:"menuitemradio",checkbox:"menuitemcheckbox"}[d]||"menuitem"}const G=({baseEl:d="span",type:r,priority:I="secondary",checked:a,className:p,autofocus:y,onClick:f=()=>{},onKeyDown:h=()=>{},onChange:v=()=>{},onSelect:w=()=>{},forwardedRef:u,children:i,...x})=>{const m=t.Children.toArray(i),[C,q]=U.useRovingIndex(i,A,y===!0?0:void 0),[l,F]=t.useState(m.map(()=>!1)),B=n=>m.reduce((e,c,s)=>n[s]?[...e,c.props.value]:e,[]),g=n=>n.reduce((e,c,s)=>c?[...e,s]:e,[]),_=(n,e)=>({index:n,checked:g(e)}),R=(n,e)=>({..._(n,e),indexes:g(e),checkedValues:B(e)}),M=(n,e,c=!1)=>{let s=!1;const b=l.map((E,o)=>{const P=c?!1:E;return n===o?(E!==e&&(s=!0),e):P});if(s)return F(b),b},k=n=>{switch(r){case"radio":return M(n,!0,!0);case"checkbox":return M(n,!l[n],!1);default:return l.map((e,c)=>c===n)}};t.useEffect(()=>{if(r==="radio")if(a===void 0){const n=m.findIndex(e=>e.props.checked);n>-1&&k(n)}else k(a);else r==="checkbox"&&F(m.map(n=>!!n.props.checked))},[]);const K=(n,e,c)=>{switch(r){case"radio":case"checkbox":return v(n,R(e,c));default:return w(n,_(e,c))}},D=(n,e)=>{let c;switch(S.isActionKey(n.key)&&(c=k(e),c&&K(n,e,c)),r){case"radio":case"checkbox":return h(n,R(e,c||l));default:return h(n,_(e,c||l))}},N=(n,e)=>{q(e);const c=k(e);c&&K(n,e,c)};return t.createElement(d,{...x,className:V(p,"menu")},t.createElement("div",{className:"menu__items",role:"menu",ref:u},m.map((n,e)=>{const{onClick:c=()=>{},onFocus:s=()=>{},onKeyDown:b=()=>{},...E}=n.props;return t.cloneElement(n,{...E,type:r,focused:e===C,tabIndex:C===void 0?0:-1,checked:l[e],onFocus:o=>{q(e),s(o)},onClick:o=>{N(o,e),c(o),f(o)},onKeyDown:o=>{D(o,e),b(o)}})})))},H=T.withForwardRef(G);exports.EbayMenu=H;exports.EbayMenuItem=A;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react"),E=require("classnames"),f=({className:a,itemMatchesUrl:c=!0,onKeyDown:s=()=>{},onSelect:u=()=>{},children:l,...o})=>{const i=e.Children.toArray(l),m=c===!1?"true":"page";return e.createElement("div",{...o,className:E(a,"fake-menu")},e.createElement("ul",{className:"fake-menu__items",tabIndex:-1},i.map((t,r)=>{const{current:d,onClick:k=()=>{},...y}=t.props;return e.createElement("li",{key:r},e.cloneElement(t,{...y,"aria-current":d?m:void 0,onClick:n=>{u(n,{index:r}),k(n)},onKeyDown:n=>{s(n,{index:r})}}))})))};exports.EbayFakeMenu=f;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react"),s=require("classnames"),l=require("./common/component-utils/utils/index.js"),K=require("./common/event-utils/index.js"),T=require("./common/random-id/index.js"),D=require("./button-DGuEBUDJ.js"),R=require("./icon-TuxfQndO.js"),U=require("./icon-button-Cwaj-eT9.js"),z=require("./menu-_LzP6yje.js"),H=require("./ebay-fake-menu/menu-item/index.js"),p=H,y=({className:a,...r})=>e.createElement("hr",{...r,className:s(a,"menu-button__separator"),role:"separator"}),_=({children:a})=>e.createElement(e.Fragment,null,a),P=({a11yText:a,noToggleIcon:r,fixWidth:k,reverse:B,variant:i,expanded:M=!1,className:I,onCollapse:q=()=>{},onExpand:v=()=>{},onMouseDown:F=()=>{},onSelect:w=()=>{},text:d="",children:c,...x})=>{const[o,m]=e.useState(M),[b,N]=e.useState(),u=e.useRef(),f=l.findComponent(c,R.EbayIcon),C=l.findComponent(c,_)||(f?e.createElement("span",null,d):d),S=l.filterByType(c,[p,y]);e.useEffect(()=>{const n=t=>{u.current&&!u.current.contains(t.currentTarget)&&m(!1)};return o?(v(),setTimeout(()=>{document.addEventListener("click",n,!1)})):o===!1&&q(),()=>document.removeEventListener("click",n,!1)},[o]),e.useEffect(()=>{N(T.randomId())},[]);const h=n=>{K.handleEscapeKeydown(n,()=>{var t;m(!1),(t=u.current)==null||t.focus()})},L=s("fake-menu-button__menu",{"menu-button__menu--fix-width":k,"menu-button__menu--reverse":B}),E={ref:u,className:"fake-menu-button__button","aria-expanded":!!o,"aria-haspopup":!0,"aria-label":a,"aria-controls":b,onClick:()=>m(!o),...x};return e.createElement("span",{className:s("fake-menu-button",I)},i==="overflow"?e.createElement(U.EbayIconButton,{icon:"overflowHorizontal24",...E}):e.createElement(D.EbayButton,{variant:i==="form"?"form":void 0,bodyState:r?void 0:"expand",...E},f,C),o&&e.createElement(z.EbayFakeMenu,{className:L,id:b,tabIndex:-1,onKeyDown:h,onSelect:w},S.map((n,t)=>e.cloneElement(n,{...n.props,onMouseDown:g=>{F(g,{index:t})},className:s(n.props.className,"fake-menu-button__item"),key:t,autoFocus:t===0}))))};exports.EbayFakeMenuButtonItem=p;exports.EbayFakeMenuButtonLabel=_;exports.EbayMenuButton=P;exports.EbayMenuButtonSeparator=y;
@@ -0,0 +1 @@
1
+ "use strict";const s=require("react"),i=require("classnames"),o=({className:t,type:e,children:n})=>{const c=e==="inline"?"span":"div";return s.createElement(c,{className:i(t,`${e}-notice__main`)},n)};exports.NoticeContent=o;
@@ -0,0 +1 @@
1
+ "use strict";const t=()=>null;exports.EbayNoticeContent=t;
@@ -0,0 +1 @@
1
+ "use strict";const i=require("react"),s=require("classnames"),n=({className:e,type:t,as:c,children:o,...r})=>{const a=c||"h2";return i.createElement(a,{className:s(e,`${t}-notice__title`),...r},o)},l=({className:e,type:t,children:c,...o})=>i.createElement("div",{className:s(e,`${t}-notice__footer`),...o},c);exports.NoticeFooter=l;exports.NoticeTitle=n;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ebay/ui-core-react",
3
- "version": "7.4.0-alpha.8",
3
+ "version": "7.4.0",
4
4
  "description": "Skin components build off React",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org"
@@ -128,12 +128,9 @@
128
128
  },
129
129
  "dependencies": {
130
130
  "classnames": "^2.2.6",
131
- "makeup-active-descendant": "^0.7.3",
132
- "makeup-expander": "^0.11.3",
131
+ "makeup-expander": "^0.10.1",
133
132
  "makeup-keyboard-trap": "^0.4.1",
134
- "makeup-prevent-scroll-keys": "^0.3.2",
135
133
  "makeup-screenreader-trap": "^0.4.1",
136
- "makeup-typeahead": "^0.3.2",
137
134
  "react-remove-scroll": "^2.2.0"
138
135
  },
139
136
  "devDependencies": {
@@ -0,0 +1 @@
1
+ "use strict";const s=require("react"),l=require("classnames"),i=require("./icon-TuxfQndO.js"),t={default:"",small:"progress-spinner--small",large:"progress-spinner--large"},c={default:"spinner24",small:"spinner20",large:"spinner30"},o=({size:e="default","aria-label":r="Busy",className:a,...n})=>s.createElement("span",{...n,className:l("progress-spinner",t[e],a),"aria-label":r,role:"img"},s.createElement(i.EbayIcon,{name:c[e]}));exports.EbayProgressSpinner=o;
@@ -0,0 +1 @@
1
+ "use strict";const l=(a,c,r=1)=>Array(Math.ceil((c+1-a)/r)).fill(a).map((e,i)=>e+i*r);exports.range=l;
@@ -0,0 +1 @@
1
+ "use strict";const t=require("react"),ue=require("classnames"),xe=require("./common/component-utils/forwardRef/index.js"),p=require("./common/component-utils/utils/index.js"),v=require("./icon-TuxfQndO.js"),be=require("./icon-button-Cwaj-eT9.js"),de=require("./common/floating-label-utils/hooks/index.js"),P=({name:n,buttonAriaLabel:a,onClick:c=()=>{},...r})=>a?t.createElement(be.EbayIconButton,{"aria-label":a,icon:n,transparent:!0,onClick:c,...r}):t.createElement(v.EbayIcon,{name:n,...r}),w=n=>t.createElement("span",{...n}),B=({name:n,...a})=>t.createElement(v.EbayIcon,{name:n,...a}),_=n=>t.createElement("span",{...n}),m=n=>typeof n<"u",pe=({type:n="text",invalid:a,fluid:c,multiline:r,onChange:q=()=>{},onInputChange:F=()=>{},onFocus:N=()=>{},onBlur:K=()=>{},onKeyPress:k=()=>{},onKeyUp:U=()=>{},onKeyDown:L=()=>{},onInvalid:R=()=>{},onFloatingLabelInit:D=()=>{},onButtonClick:j=()=>{},autoFocus:E,defaultValue:f="",value:i,forwardedRef:M,inputSize:y="default",floatingLabel:O,children:u,placeholder:S,opaqueLabel:V,...s})=>{var T,h;const[I,W]=t.useState(f),[g,$]=t.useState(f),{label:G,Container:H,onBlur:J,onFocus:Q,ref:X,placeholder:Y}=de.useFloatingLabel({ref:M,inputId:s.id,className:s.className,disabled:s.disabled,label:O,inputSize:y,inputValue:i||g,placeholder:S,invalid:a,type:n,opaqueLabel:V,onMount:D}),C=e=>{var o;N(e,{value:((o=e==null?void 0:e.target)==null?void 0:o.value)||f}),Q()},Z=e=>{var l;const o=(l=e.target)==null?void 0:l.value;K(e,{value:o}),o!==I&&(q(e,{value:o}),W(o)),J()},z=e=>{const o=e.target;k(e,{value:o==null?void 0:o.value})},A=e=>{const o=e.target;U(e,{value:o==null?void 0:o.value})},ee=e=>{const o=e.target;L(e,{value:o==null?void 0:o.value})},oe=e=>{const o=e.target;R(e,{value:o==null?void 0:o.value})},ne=e=>{j(e,{value:I})};t.useEffect(()=>{E&&C()},[]);const te=e=>{var l;const o=(l=e.target)==null?void 0:l.value;m(i)||$(o),F(e,{value:o})},ae=r?"textarea":"input",se=c?"div":"span",le=p.findComponent(u,B),x=p.findComponent(u,_),ce=(T=x==null?void 0:x.props)==null?void 0:T.id,b=p.findComponent(u,P),d=p.findComponent(u,w),re=(h=d==null?void 0:d.props)==null?void 0:h.id,ie=ue("textbox",s.className,{"textbox--fluid":c,"textbox--large":y==="large","textbox--disabled":s.disabled,"textbox--invalid":a,"textbox--readonly":s.readOnly});return t.createElement(H,null,G,t.createElement(se,{className:ie},le,x,t.createElement(ae,{"aria-describedby":[ce,re].filter(Boolean).join(" ")||void 0,...s,className:"textbox__control",type:n,"aria-invalid":a,value:m(i)?i:g,onChange:te,onBlur:Z,onFocus:C,onKeyPress:z,onKeyUp:A,onKeyDown:ee,onInvalid:oe,autoFocus:E,ref:X,placeholder:Y}),d,b&&t.cloneElement(b,{...b.props,onClick:e=>{const{onClick:o=()=>{}}=b.props;o(e),ne(e)}})))},fe=xe.withForwardRef(pe);exports.EbayTextbox=fe;exports.EbayTextboxPostfixIcon=P;exports.EbayTextboxPostfixText=w;exports.EbayTextboxPrefixIcon=B;exports.EbayTextboxPrefixText=_;exports.isControlled=m;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react"),_=require("classnames"),E=require("./icon-TuxfQndO.js"),N=({pressed:n=!1,children:l,className:d,title:s,subtitle:o,layoutType:a="minimal",icon:r,img:t,onToggle:c,...g})=>{const u=b=>{c&&c(b,{pressed:!n})},m=()=>l||e.createElement(e.Fragment,null,e.createElement("p",{className:"toggle-button__title"},s),o&&e.createElement("p",{className:"toggle-button__subtitle"},o)),i=()=>{if(r)return e.createElement("div",{className:"toggle-button__icon"},e.createElement(E.EbayIcon,{name:r}));if(t)return e.createElement("span",{className:"toggle-button__image-container"},t.fillPlacement?e.createElement("span",{role:"img","aria-label":t.alt,className:"toggle-button__image",style:{backgroundImage:`url(${t.src})`,backgroundPosition:t.fillPlacement||"center",backgroundSize:"cover",backgroundRepeat:"no-repeat"}}):e.createElement("span",{className:"toggle-button__image"},e.createElement("img",{src:t.src,alt:t.alt})))};return e.createElement("button",{onClick:u,className:_("toggle-button",{"toggle-button--minimal-layout":a==="minimal","toggle-button--list-layout":a==="list","toggle-button--gallery-layout":a==="gallery"}),"aria-pressed":n,...g},i(),e.createElement("div",{className:"toggle-button__content"},m()))};exports.ToggleButton=N;
@@ -0,0 +1 @@
1
+ "use strict";const o=require("react"),v=()=>{const[w,i]=o.useState(!1),[c,e]=o.useState(!1),s=({key:t})=>{const r={ArrowUp:i,ArrowDown:e}[t];r&&r(!1)},d=({key:t})=>{const r={ArrowUp:i,ArrowDown:e}[t];r&&r(!0)};return o.useEffect(()=>(window.addEventListener("keydown",d),window.addEventListener("keyup",s),()=>{window.removeEventListener("keydown",d),window.removeEventListener("keyup",s)}),[]),[w,c]},y=(w,i,c)=>{const[e,s]=o.useState(c),[d,t]=v(),r=o.Children.toArray(w).reduce((n,p,x)=>p.type===i?[...n,x]:n,[]),u=r.indexOf(e),a=()=>{if(u===-1)return e;const n=r[u-1];return n===void 0?e:n},f=()=>{if(u===-1)return e;const n=r[u+1];return n===void 0?e:n};return o.useEffect(()=>{d&&s(a()),t&&s(f())},[d,t]),[e,s]};exports.useKeyPress=v;exports.useRovingIndex=y;
@@ -0,0 +1 @@
1
+ "use strict";const o=require("react"),E=require("classnames"),N=require("./common/component-utils/forwardRef/index.js"),p=require("./common/component-utils/utils/index.js"),f=require("./icon-TuxfQndO.js"),_=require("./common/tooltip-utils/constants/index.js"),u=({children:e,className:t,forwardedRef:l,...n})=>(o.Children.only(e),o.cloneElement(e,{ref:l,...n,className:E(t,e.props.className)})),C=({className:e,type:t,isExpanded:l,children:n,forwardedRef:s,...r})=>{var m;const i=p.findComponent(n,u),c=p.excludeComponent(n,u)[0];if(!i)throw new Error("Tooltip: Please use a TooltipHost that defines the host of the tooltip");const a=o.cloneElement(i,{className:`${t}__host`,"aria-expanded":l,"aria-describedby":(m=c==null?void 0:c.props)==null?void 0:m.id,...i.props});return o.createElement("span",{...r,ref:s,className:E(e,t,{[`${t}--expanded`]:l})},a,c)},$=N.withForwardRef(C),b=()=>null,T=({children:e,className:t,type:l="tourtip"})=>o.createElement("div",{className:E(`${l}__footer`,t)},e),x=({id:e,style:t,pointer:l=_.DEFAULT_POINTER_DIRECTION,children:n,type:s="tooltip",showCloseButton:r,a11yCloseText:i,onClose:c})=>{const a=p.findComponent(n,b),m=p.findComponent(n,T),d=p.excludeComponent(n,T);return o.createElement("span",{className:`${s}__overlay`,id:e,role:_.TYPE_ROLES[s]||null,style:{..._.POINTER_STYLES[l],...t}},o.createElement("span",{className:`${s}__pointer ${s}__pointer--${l}`}),o.createElement("span",{className:`${s}__mask`},o.createElement("span",{className:`${s}__cell`},o.createElement("span",{className:`${s}__content`},d),r?o.createElement("button",{...a==null?void 0:a.props,className:`icon-btn icon-btn--transparent ${s}__close`,type:"button","aria-label":i,onClick:c},o.createElement(f.EbayIcon,{name:"close16"})):null,m)))},q=({onExpand:e,onCollapse:t,initialExpanded:l=!1,hostRef:n})=>{const[s,r]=o.useState(l);return{isExpanded:s,expandTooltip:()=>{r(!0),e&&e()},collapseTooltip:()=>{var a;r(!1),t&&t(),(a=n==null?void 0:n.current)==null||a.focus()}}};exports.Tooltip=$;exports.TooltipContent=x;exports.TooltipFooter=T;exports.TooltipHost=u;exports.useTooltip=q;
package/utils/index.js CHANGED
@@ -1,13 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const common_randomId = require("../common/random-id/index.js");
4
- const debounce = require("../debounce-v8bWAUnY.js");
5
- const common_componentUtils_forwardRef = require("../common/component-utils/forwardRef/index.js");
6
- const common_componentUtils_utils = require("../common/component-utils/utils/index.js");
7
- exports.useRandomId = common_randomId.useRandomId;
8
- exports.debounce = debounce.debounce;
9
- exports.withForwardRef = common_componentUtils_forwardRef.withForwardRef;
10
- exports.excludeComponent = common_componentUtils_utils.excludeComponent;
11
- exports.filterBy = common_componentUtils_utils.filterBy;
12
- exports.filterByType = common_componentUtils_utils.filterByType;
13
- exports.findComponent = common_componentUtils_utils.findComponent;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../common/random-id/index.js"),n=require("../debounce-BQsYxxOL.js"),t=require("../common/component-utils/forwardRef/index.js"),e=require("../common/component-utils/utils/index.js");exports.useRandomId=o.useRandomId;exports.debounce=n.debounce;exports.withForwardRef=t.withForwardRef;exports.excludeComponent=e.excludeComponent;exports.filterBy=e.filterBy;exports.filterByType=e.filterByType;exports.findComponent=e.findComponent;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- if (!Array.prototype.flat) {
3
- Object.defineProperty(Array.prototype, "flat", {
4
- configurable: true,
5
- writable: true,
6
- value: function(d) {
7
- const depthArg = typeof d === "undefined" ? 1 : Number(d) || 0;
8
- const result = [];
9
- const forEach = result.forEach;
10
- const flatDeep = (arr, depth) => forEach.call(arr, (val) => {
11
- if (depth > 0 && Array.isArray(val)) {
12
- flatDeep(val, depth - 1);
13
- } else {
14
- result.push(val);
15
- }
16
- });
17
- flatDeep(this, depthArg);
18
- return result;
19
- }
20
- });
21
- }
package/badge-CR5t7-2L.js DELETED
@@ -1,8 +0,0 @@
1
- "use strict";
2
- const React = require("react");
3
- const classNames = require("classnames");
4
- const EbayBadge = ({ number, type = "img", className, ...rest }) => {
5
- const parsed = Math.round(parseInt(String(number), 10));
6
- return parsed <= 0 ? null : React.createElement("span", { ...rest, className: classNames("badge", className), role: type === "img" ? "img" : void 0, "aria-hidden": type !== "img" }, parsed > 99 ? "99+" : parsed);
7
- };
8
- exports.EbayBadge = EbayBadge;
@@ -1,83 +0,0 @@
1
- "use strict";
2
- const React = require("react");
3
- const classNames$1 = require("classnames");
4
- const common_componentUtils_forwardRef = require("./common/component-utils/forwardRef/index.js");
5
- require("./array.polyfill.flat-DyxysTxZ.js");
6
- const icon = require("./icon-B17Di3YL.js");
7
- const progressSpinner = require("./progress-spinner-DOFKRtuu.js");
8
- const classNames = {
9
- cta: "cta-",
10
- fake: "fake-",
11
- expand: "expand-",
12
- default: ""
13
- };
14
- const EbayButtonCell = ({ type = "default", children, ...rest }) => React.createElement(
15
- "span",
16
- { className: `${classNames[type]}btn__cell`, ...rest },
17
- React.createElement(React.Fragment, null, children)
18
- );
19
- const EbayButtonLoading = () => React.createElement(
20
- EbayButtonCell,
21
- null,
22
- React.createElement(progressSpinner.EbayProgressSpinner, null)
23
- );
24
- const EbayButtonText = ({ className, children }) => React.createElement("span", { className: classNames$1(className, "btn__text") }, children);
25
- const EbayButtonExpand = ({ children }) => children ? React.createElement(
26
- EbayButtonCell,
27
- null,
28
- React.createElement(EbayButtonText, null, children),
29
- React.createElement(icon.EbayIcon, { name: "chevronDown12" })
30
- ) : React.createElement(icon.EbayIcon, { name: "chevronDown12" });
31
- const EbayButton = ({ priority = "secondary", variant = "standard", size = "regular", bodyState, split, transparent = false, fluid = false, disabled, partiallyDisabled, children, onKeyDown = () => {
32
- }, onEscape = () => {
33
- }, truncate = false, href, className: extraClasses, forwardedRef, borderless, fixedHeight, ...rest }) => {
34
- const classPrefix = href ? "fake-btn" : "btn";
35
- const priorityStyles = {
36
- primary: `${classPrefix}--primary`,
37
- secondary: `${classPrefix}--secondary`,
38
- tertiary: `${classPrefix}--tertiary`,
39
- none: ""
40
- };
41
- const sizeStyles = {
42
- large: `${classPrefix}--large`,
43
- small: `${classPrefix}--small`,
44
- regular: "",
45
- default: ""
46
- };
47
- const splitStyles = {
48
- start: `${classPrefix}--split-start`,
49
- end: `${classPrefix}--split-end`
50
- };
51
- const isDestructive = variant === "destructive";
52
- const isForm = variant === "form";
53
- const isLoading = bodyState === "loading";
54
- const isExpand = bodyState === "expand";
55
- const isSlim = isForm && (isIconOnly(children) || isExpand && !children);
56
- const className = classNames$1(classPrefix, extraClasses, priorityStyles[isForm || borderless ? "none" : priority], sizeStyles[size], splitStyles[split], isDestructive && `${classPrefix}--destructive`, isForm && `${classPrefix}--form`, isSlim && `${classPrefix}--slim`, transparent && `${classPrefix}--transparent`, fluid && `${classPrefix}--fluid`, truncate && `${classPrefix}--truncated`, borderless && `${classPrefix}--borderless`, fixedHeight && (sizeStyles[size] ? `${sizeStyles[size]}-${fixedHeight}` : `${classPrefix}--fixed-height`));
57
- const keyDownHandler = (e) => {
58
- onKeyDown(e);
59
- if (e.key === "Escape" || e.key === "Esc") {
60
- onEscape(e);
61
- }
62
- };
63
- const bodyContent = getBodyContent(children, { isLoading, isExpand });
64
- const ariaLive = isLoading ? `polite` : null;
65
- return href ? React.createElement("a", { className, href: disabled ? void 0 : href, ref: forwardedRef, onKeyDown: keyDownHandler, "aria-live": ariaLive, ...rest }, bodyContent) : React.createElement("button", { disabled, "aria-disabled": partiallyDisabled, "aria-live": ariaLive, className, ref: forwardedRef, onKeyDown: keyDownHandler, ...rest }, bodyContent);
66
- };
67
- function getBodyContent(children, { isLoading, isExpand }) {
68
- switch (true) {
69
- case isLoading:
70
- return React.createElement(EbayButtonLoading, null);
71
- case isExpand:
72
- return React.createElement(EbayButtonExpand, null, children);
73
- default:
74
- return children;
75
- }
76
- }
77
- function isIconOnly(children) {
78
- const childrenArray = React.Children.toArray(children);
79
- return childrenArray.length === 1 && childrenArray[0].type === icon.EbayIcon;
80
- }
81
- const EbayButton$1 = common_componentUtils_forwardRef.withForwardRef(EbayButton);
82
- exports.EbayButton = EbayButton$1;
83
- exports.EbayButtonCell = EbayButtonCell;