@ebay/ui-core-react 8.15.0 → 8.16.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.
- package/ebay-date-textbox/index.js +1 -1
- package/ebay-file-preview-card/index.js +1 -1
- package/ebay-file-preview-card-group/index.js +1 -1
- package/ebay-filter-input/README.md +106 -0
- package/ebay-filter-input/filter-input.d.ts +18 -0
- package/ebay-filter-input/filter-input.d.ts.map +1 -0
- package/ebay-filter-input/index.d.ts +2 -0
- package/ebay-filter-input/index.d.ts.map +1 -0
- package/ebay-filter-input/index.js +1 -0
- package/ebay-item-tile/index.js +1 -1
- package/ebay-item-tile-group/index.js +1 -1
- package/ebay-menu/index.js +1 -1
- package/ebay-menu/menu.d.ts.map +1 -1
- package/ebay-menu-button/index.js +1 -1
- package/ebay-number-input/index.js +1 -1
- package/ebay-phone-input/index.js +1 -1
- package/ebay-split-button/index.js +1 -1
- package/ebay-svg/index.js +1 -1
- package/ebay-textbox/index.js +1 -1
- package/ebay-textbox/textbox.d.ts +1 -0
- package/ebay-textbox/textbox.d.ts.map +1 -1
- package/{file-preview-card-C2KakGGD.js → file-preview-card-Dikvua1q.js} +1 -1
- package/icons/ebay-icon-stepper-confirmation-24/index.js +1 -1
- package/icons/ebay-icon-stepper-current-24/index.js +1 -1
- package/icons/ebay-icon-stepper-upcoming-24/index.js +1 -1
- package/{item-tile-CRNk_vOp.js → item-tile-BOdixw8F.js} +1 -1
- package/menu-D1yitU4y.js +1 -0
- package/{menu-button-7r4Zgf7-.js → menu-button-IlgSfSj5.js} +1 -1
- package/package.json +1 -1
- package/textbox-5DvabGMY.js +1 -0
- package/menu-DwFmC8e3.js +0 -1
- package/textbox-DAb7vY_B.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const K=require("../tslib.es6-C4EgNkz1.js"),n=require("react"),x=require("makeup-expander"),Q=require("classnames"),X=require("../utils-C9NL3q0j.js"),b=require("../calendar-B6lRC_bC.js"),l=require("../textbox-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const K=require("../tslib.es6-C4EgNkz1.js"),n=require("react"),x=require("makeup-expander"),Q=require("classnames"),X=require("../utils-C9NL3q0j.js"),b=require("../calendar-B6lRC_bC.js"),l=require("../textbox-5DvabGMY.js");require("../icon-I30uh1Ov.js");const Z=require("../dropdown-B6wMNyjP.js"),$=require("../icons/ebay-icon-calendar-24/index.js"),{default:ee=x}=x?.default?.__esModule?x.default:x,te=600,ne=y=>{var{className:R,inputPlaceholderText:i="YYYY-MM-DD",a11yOpenPopoverText:N="open calendar",range:o,value:v,rangeEnd:S,defaultValue:q,defaultRangeEnd:D,collapseOnSelect:w,children:M,onChange:p=()=>{},onInputChange:A=()=>{},onInputRangeEndChange:L=()=>{}}=y,j=K.__rest(y,["className","inputPlaceholderText","a11yOpenPopoverText","range","value","rangeEnd","defaultValue","defaultRangeEnd","collapseOnSelect","children","onChange","onInputChange","onInputRangeEndChange"]);const m=n.useRef(null),[V,d]=n.useState(q||""),[B,u]=n.useState(D||""),f=l.isControlled(v)?v:V,T=l.isControlled(S)?S:B,s=b.dateArgToISO(f),c=b.dateArgToISO(T),[C,I]=n.useState(!1),[Y,z]=n.useState(1),E=X.filterByType(M,l.EbayTextbox),_=o?E[1]||n.createElement(l.EbayTextbox,null):E[0]||n.createElement(l.EbayTextbox,null),F=o?E[0]||n.createElement(l.EbayTextbox,null):E[1]||n.createElement(l.EbayTextbox,null),{overlayStyles:H,refs:h}=Z.useFloatingDropdown({open:C}),g=h.host,W=()=>{I(!0)},k=()=>{I(!1)};n.useEffect(()=>{if(!g.current)return;m.current=new ee(g.current,{hostSelector:".ebay-date-textbox--main > .icon-btn",contentSelector:".date-textbox__popover",expandOnClick:!0,autoCollapse:!0}),g.current.addEventListener("expander-expand",W),g.current.addEventListener("expander-collapse",k);const e=()=>{z(document.documentElement.clientWidth<te?1:2)};return e(),window.addEventListener("resize",e),()=>{var t;(t=m.current)===null||t===void 0||t.destroy(),window.removeEventListener("resize",e)}},[]);const O=(e,t)=>{const r=new Date(e.target.value),a=isNaN(r.getTime())?null:b.toISO(r);t===0?d(a||""):u(a||""),o?p(e,{rangeStart:t===0?a:s,rangeEnd:t===1?a:c}):p(e,{selected:a})},U=(e,{iso:t})=>{if(d(t),o){const r=s||c,a={rangeStart:t,rangeEnd:r};s&&c?(u(""),a.rangeEnd=null):r&&(r<t?(d(r),u(t),a.rangeStart=r,a.rangeEnd=t):(d(t),u(r),a.rangeStart=t,a.rangeEnd=r)),p(e,a)}else p(e,{selected:t});w&&(m.current.expanded=!1)},P=(e,t)=>{t===0?(d(e.target.value),A(e)):(u(e.target.value),L(e))},[G,J]=Array.isArray(i)?i:[i,i];return n.createElement("span",{className:Q("date-textbox",R),ref:h.setHost},o&&n.cloneElement(F,{value:f,placeholder:G,onInputChange:e=>P(e,0),onBlur:e=>O(e,0)}),n.cloneElement(_,Object.assign(Object.assign({},_.props),{className:"ebay-date-textbox--main",placeholder:J,value:o?T:f,onInputChange:e=>P(e,o?1:0),onBlur:e=>O(e,o?1:0)}),n.createElement(l.EbayTextboxPostfixIcon,{icon:n.createElement($.EbayIconCalendar24,null),buttonAriaLabel:N})),n.createElement("div",{hidden:!C,ref:h.setOverlay,style:H,className:"date-textbox__popover"},n.createElement(b.EbayCalendar,Object.assign({},j,{range:o,interactive:!0,navigable:!0,numMonths:Y,selected:s&&c?[s,c]:s||c||void 0,onSelect:U}))))};exports.EbayDateTextbox=ne;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../file-preview-card-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../file-preview-card-Dikvua1q.js");exports.EbayFilePreviewCard=e.EbayFilePreviewCard;exports.EbayFilePreviewCardAction=e.EbayFilePreviewCardAction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("../tslib.es6-C4EgNkz1.js"),o=require("react"),C=require("classnames"),E=require("../utils-C9NL3q0j.js"),b=require("../file-preview-card-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("../tslib.es6-C4EgNkz1.js"),o=require("react"),C=require("classnames"),E=require("../utils-C9NL3q0j.js"),b=require("../file-preview-card-Dikvua1q.js"),m=15,f=i=>{var{a11ySeeMoreText:M,onDelete:c,onCancel:l,onAction:a,onMenuAction:u,className:S,children:p}=i,g=A.__rest(i,["a11ySeeMoreText","onDelete","onCancel","onAction","onMenuAction","className","children"]);const[t,h]=o.useState(m),v=()=>{h(r=>r+m)},n=E.filterByType(p,b.EbayFilePreviewCard),d=n.length-t,w=n.slice(0,Math.min(t,n.length));return o.createElement("div",Object.assign({className:C("file-preview-card-group",S)},g),o.createElement("ul",null,w.map((r,s)=>o.cloneElement(r,{as:r.props.as||"li",onDelete:e=>c&&c(e,{index:s}),onCancel:e=>l&&l(e,{index:s}),onAction:e=>a&&a(e,{index:s}),onMenuAction:(e,y)=>u&&u(e,{index:s,menuActionEvent:y})})),d>0&&o.cloneElement(n[t],{seeMore:d,a11ySeeMoreText:M,onSeeMore:v,as:n[t].props.as||"li"})))};exports.EbayFilePreviewCardGroup=f;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# EbayFilterInput
|
|
2
|
+
|
|
3
|
+
## Demo
|
|
4
|
+
|
|
5
|
+
- [Storybook](https://ebay.github.io/evo-web/ebayui-core-react/?path=/story/form-input-ebay-filter-input)
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
### Import JS
|
|
10
|
+
|
|
11
|
+
```jsx
|
|
12
|
+
import { EbayFilterInput } from "@ebay/ui-core-react/ebay-filter-input";
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Import following styles from SKIN
|
|
16
|
+
|
|
17
|
+
```jsx
|
|
18
|
+
import "@ebay/skin/filter-input";
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### If tokens haven't been added to the project at a higher level, make sure to import
|
|
22
|
+
|
|
23
|
+
```jsx
|
|
24
|
+
import "@ebay/skin/tokens";
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Or import styles using SCSS/CSS
|
|
28
|
+
|
|
29
|
+
```jsx
|
|
30
|
+
import "@ebay/skin/filter-input.css";
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```jsx
|
|
34
|
+
<EbayFilterInput placeholder="Search items" />
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Props
|
|
38
|
+
|
|
39
|
+
| Name | Type | Stateful | Required | Description |
|
|
40
|
+
| ------------------ | ---------------------------------------------- | -------- | -------- | -------------------------------------------------------------------- |
|
|
41
|
+
| `size` | `"large"` \| `"small"` | No | No | The input size variant |
|
|
42
|
+
| `placeholder` | String | No | No | Placeholder text (default: `"Filter"`) |
|
|
43
|
+
| `a11yClearButton` | String | No | No | Aria-label for clear button. When provided, shows clear button |
|
|
44
|
+
| `a11yControlsId` | String | No | No | ID of element that this input controls (for `aria-controls`) |
|
|
45
|
+
| `onClear` | Function | No | No | Callback for clear button click: `(event, { value }) => void` |
|
|
46
|
+
| `onChange` | Function | No | No | Callback for input blur: `(event, { value }) => void` |
|
|
47
|
+
| `onInputChange` | Function | No | No | Callback for input value change: `(event, { value }) => void` |
|
|
48
|
+
| `onFocus` | Function | No | No | Callback for input focus: `(event, { value }) => void` |
|
|
49
|
+
| `onBlur` | Function | No | No | Callback for input blur: `(event, { value }) => void` |
|
|
50
|
+
| `onKeyDown` | Function | No | No | Callback for key down: `(event, { value }) => void` |
|
|
51
|
+
| `onKeyPress` | Function | No | No | Callback for key press: `(event, { value }) => void` |
|
|
52
|
+
| `onKeyUp` | Function | No | No | Callback for key up: `(event, { value }) => void` |
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
|
|
56
|
+
### Basic Filter Input
|
|
57
|
+
|
|
58
|
+
```jsx
|
|
59
|
+
<EbayFilterInput placeholder="Filter results" />
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### With Clear Button
|
|
63
|
+
|
|
64
|
+
```jsx
|
|
65
|
+
<EbayFilterInput
|
|
66
|
+
placeholder="Filter results"
|
|
67
|
+
a11yClearButton="Clear filters"
|
|
68
|
+
onClear={(event, { value }) => console.log('Cleared:', value)}
|
|
69
|
+
/>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### With Size Variants
|
|
73
|
+
|
|
74
|
+
```jsx
|
|
75
|
+
<EbayFilterInput size="large" placeholder="Large filter input" />
|
|
76
|
+
<EbayFilterInput size="small" placeholder="Small filter input" />
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### With Event Handlers
|
|
80
|
+
|
|
81
|
+
```jsx
|
|
82
|
+
<EbayFilterInput
|
|
83
|
+
placeholder="Search items"
|
|
84
|
+
a11yClearButton="Clear search"
|
|
85
|
+
onInputChange={(event, { value }) => console.log('Input changed:', value)}
|
|
86
|
+
onKeyDown={(event, { value }) => {
|
|
87
|
+
if (event.key === 'Enter') {
|
|
88
|
+
console.log('Search submitted:', value);
|
|
89
|
+
}
|
|
90
|
+
}}
|
|
91
|
+
onClear={(event, { value }) => console.log('Search cleared')}
|
|
92
|
+
/>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Controlling Results List
|
|
96
|
+
|
|
97
|
+
```jsx
|
|
98
|
+
<EbayFilterInput
|
|
99
|
+
placeholder="Filter list items"
|
|
100
|
+
a11yControlsId="filtered-list"
|
|
101
|
+
onInputChange={(event, { value }) => filterList(value)}
|
|
102
|
+
/>
|
|
103
|
+
<ul id="filtered-list">
|
|
104
|
+
{/* Filtered list items */}
|
|
105
|
+
</ul>
|
|
106
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import { type EbayTextboxProps } from "../ebay-textbox";
|
|
3
|
+
import { EbayEventHandler, EbayMouseEventHandler } from "../common/event-utils/types";
|
|
4
|
+
export type Size = "large" | "small";
|
|
5
|
+
export type FilterInputEventProps = {
|
|
6
|
+
value: string;
|
|
7
|
+
};
|
|
8
|
+
export type EbayFilterInputProps = Omit<EbayTextboxProps, "inputSize" | "ref" | "onInputChange" | "size"> & {
|
|
9
|
+
size?: Size;
|
|
10
|
+
a11yClearButton?: string;
|
|
11
|
+
a11yControlsId?: string;
|
|
12
|
+
inputRef?: EbayTextboxProps["forwardedRef"];
|
|
13
|
+
onClear?: EbayMouseEventHandler<HTMLButtonElement, FilterInputEventProps>;
|
|
14
|
+
onInputChange?: EbayEventHandler<HTMLInputElement | HTMLButtonElement, FilterInputEventProps>;
|
|
15
|
+
};
|
|
16
|
+
declare const EbayFilterInput: FC<EbayFilterInputProps>;
|
|
17
|
+
export default EbayFilterInput;
|
|
18
|
+
//# sourceMappingURL=filter-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-input.d.ts","sourceRoot":"","sources":["../../src/ebay-filter-input/filter-input.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAC5C,OAAO,EAA8D,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGpH,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAItF,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC;AAErC,MAAM,MAAM,qBAAqB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,KAAK,GAAG,eAAe,GAAG,MAAM,CAAC,GAAG;IACxG,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IAC1E,aAAa,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;CACjG,CAAC;AAEF,QAAA,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAoF7C,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ebay-filter-input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("../tslib.es6-C4EgNkz1.js"),z=require("classnames"),e=require("react"),o=require("../textbox-5DvabGMY.js"),N=require("../icons/ebay-icon-search-16/index.js"),_=require("../icons/ebay-icon-clear-16/index.js"),b=["large","small"],T=r=>{var{size:t,a11yClearButton:s,a11yControlsId:d,onClear:p=()=>{},className:f,placeholder:y="Filter",value:c,defaultValue:C,onInputChange:n,inputRef:m}=r,I=q.__rest(r,["size","a11yClearButton","a11yControlsId","onClear","className","placeholder","value","defaultValue","onInputChange","inputRef"]);const l=c!==void 0,[E,i]=e.useState(C||""),x=l?c:E,h=t&&b.includes(t)?t==="small"?"default":"large":void 0,v=(a,{value:u})=>{l||i(u),n&&n(a,{value:u})},g=a=>{l||i(""),n&&n(a,{value:""}),p(a,{value:""})},S=z("filter-input",t&&b.includes(t)&&`filter-input--${t}`,f);return e.createElement("span",{className:S},e.createElement(o.EbayTextbox,Object.assign({},I,{inputRef:m,value:x,onInputChange:v,fluid:!0,type:"search","aria-controls":d,placeholder:y,inputSize:h}),e.createElement(o.EbayTextboxPrefixIcon,{icon:e.createElement(N.EbayIconSearch16,null)}),s&&e.createElement(o.EbayTextboxPostfixIcon,{icon:e.createElement(_.EbayIconClear16,null),buttonAriaLabel:s,className:"filter-input__clear-btn",onClick:a=>g(a)})))};exports.EbayFilterInput=T;
|
package/ebay-item-tile/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../item-tile-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../item-tile-BOdixw8F.js");exports.EbayItemTile=e.EbayItemTile;exports.EbayItemTileAction=e.EbayItemTileAction;exports.EbayItemTileDescription=e.EbayItemTileDescription;exports.EbayItemTileSubtitle=e.EbayItemTileSubtitle;exports.EbayItemTileSupertitle=e.EbayItemTileSupertitle;exports.EbayItemTileTitle=e.EbayItemTileTitle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("../tslib.es6-C4EgNkz1.js"),e=require("react"),y=require("classnames"),p=require("../utils-C9NL3q0j.js"),b=require("../item-tile-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("../tslib.es6-C4EgNkz1.js"),e=require("react"),y=require("classnames"),p=require("../utils-C9NL3q0j.js"),b=require("../item-tile-BOdixw8F.js"),d=t=>{var{layout:i,className:n,onAction:l,children:s}=t,o=m.__rest(t,["layout","className","onAction","children"]);const c=p.filterByType(s,b.EbayItemTile);return e.createElement("div",Object.assign({className:y("layout-grid item-tile-group",n,{"item-tile-group--list-view":i==="list"})},o),e.createElement("ul",null,c.map((a,r)=>e.createElement("li",{key:r},e.cloneElement(a,{layout:i,onAction:u=>l&&l(u,{index:r})})))))};exports.EbayItemTileGroup=d;
|
package/ebay-menu/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../menu-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../menu-D1yitU4y.js"),n=require("../tslib.es6-C4EgNkz1.js"),u=require("react"),c=require("classnames"),b=e=>{var{className:s,baseClass:r="menu"}=e,t=n.__rest(e,["className","baseClass"]);return u.createElement("hr",Object.assign({},t,{className:c(s,`${r}__separator`)}))};exports.EbayMenu=a.EbayMenu;exports.EbayMenuItem=a.EbayMenuItem;exports.EbayMenuSeparator=b;
|
package/ebay-menu/menu.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmG,MAAM,OAAO,CAAC;AAOxH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;;
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmG,MAAM,OAAO,CAAC;AAOxH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;;AAyL7C,wBAAwC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../menu-button-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../menu-button-IlgSfSj5.js"),t=require("../menu-D1yitU4y.js");require("react");require("classnames");exports.EbayMenuButton=e.EbayMenuButton;exports.EbayMenuButtonLabel=e.EbayMenuButtonLabel;exports.EbayMenuButtonSeparator=e.EbayMenuButtonSeparator;exports.EbayMenuButtonItem=t.EbayMenuItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("../tslib.es6-C4EgNkz1.js"),t=require("react"),M=require("classnames"),d=require("../textbox-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("../tslib.es6-C4EgNkz1.js"),t=require("react"),M=require("classnames"),d=require("../textbox-5DvabGMY.js"),y=require("../icon-button-AJ6dtyvc.js"),S=require("../icons/ebay-icon-remove-24/index.js"),j=require("../icons/ebay-icon-delete-24/index.js"),O=require("../icons/ebay-icon-add-24/index.js"),W=v=>{const{className:x="",value:c=1,min:o=1,max:r=1/0,label:p="",a11yDeleteText:u="",onChange:I=()=>{},onInputChange:N=()=>{},onFocus:f=()=>{},onBlur:D=()=>{},onKeyDown:C=()=>{},onKeyPress:K=()=>{},onKeyUp:_=()=>{},onDeleteClick:g=()=>{},onIncrement:w=()=>{},onDecrement:B=()=>{}}=v,s=A.__rest(v,["className","value","min","max","label","a11yDeleteText","onChange","onInputChange","onFocus","onBlur","onKeyDown","onKeyPress","onKeyUp","onDeleteClick","onIncrement","onDecrement"]),q=u?1:0,[a,i]=t.useState(c??q),m=t.useRef(null),b=(n,e=0)=>{const z=u?1:0;let l=parseInt(n,10)+e;return isNaN(l)?l=z:l>r?l=r:l<o&&(l=o),l},h=n=>{if(!m.current)return;const e=m.current;e.classList.remove("number-input--increment"),e.classList.remove("number-input--decrement"),e.classList.remove("number-input--increment-disabled"),e.classList.remove("number-input--decrement-disabled"),e.offsetWidth,e.classList.add(`number-input--${n}`)},k=n=>{const e=b(a,1);h(e>=r?"increment-disabled":"increment"),i(e),w(n,{value:e}),I(n,{value:e})},P=n=>{const e=b(a,-1);h(e<=o?"decrement-disabled":"decrement"),i(e),B(n,{value:e}),I(n,{value:e})},E=n=>{const e=b(n.target.value,0);i(e),N(n,{value:e})},T=(n,e)=>{f(n,{value:Number(e.value)})},V=(n,e)=>{D(n,{value:Number(e.value)})},F=(n,e)=>{C(n,{value:Number(e.value)})},L=(n,e)=>{K(n,{value:Number(e.value)})},R=(n,e)=>{_(n,{value:Number(e.value)})},U=n=>{g(n,{value:a})};return t.createElement("span",{ref:m,className:M("number-input",u&&a===1&&"number-input--show-delete",x)},t.createElement(d.EbayTextbox,{max:r,min:o,onBlur:V,onChange:E,onFocus:T,onInputChange:E,onKeyDown:F,onKeyPress:L,onKeyUp:R,type:"number",value:a},t.createElement(d.EbayTextboxPrefixIcon,null,p&&t.createElement("label",{htmlFor:s?.id||"number-input"},p),t.createElement(y.EbayIconButton,{"aria-hidden":!0,className:"number-input__decrement",disabled:a<=o,icon:t.createElement(S.EbayIconRemove24,null),onClick:P,size:"small",tabIndex:-1,transparent:!0})),t.createElement(d.EbayTextboxPostfixIcon,null,u&&t.createElement(y.EbayIconButton,{"aria-label":u,className:"number-input__delete",icon:t.createElement(j.EbayIconDelete24,null),onClick:U,size:"small",transparent:!0}),t.createElement(y.EbayIconButton,{"aria-hidden":!0,className:"number-input__increment",disabled:a>=r,icon:t.createElement(O.EbayIconAdd24,null),onClick:k,size:"small",tabIndex:-1,transparent:!0}))))};exports.EbayNumberInput=W;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const X=require("../tslib.es6-C4EgNkz1.js"),z=require("classnames"),l=require("react"),N=require("../listbox-button-lokrqNk6.js"),w=require("../textbox-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const X=require("../tslib.es6-C4EgNkz1.js"),z=require("classnames"),l=require("react"),N=require("../listbox-button-lokrqNk6.js"),w=require("../textbox-5DvabGMY.js");require("../icon-I30uh1Ov.js");require("../icon-button-AJ6dtyvc.js");const $=require("../flag-DU-1tRv6.js"),v={US:{countryCode:"US",callingCode:"1",mask:"(000) 000-0000"},CA:{countryCode:"CA",callingCode:"1",mask:"(000) 000-0000"},GB:{countryCode:"GB",callingCode:"44",mask:"0000 000 0000"},AU:{countryCode:"AU",callingCode:"61",mask:"0 0000 0000"},DE:{countryCode:"DE",callingCode:"49",mask:"000 00000000"},FR:{countryCode:"FR",callingCode:"33",mask:"0 00 00 00 00"},IT:{countryCode:"IT",callingCode:"39",mask:"000 000 0000"},ES:{countryCode:"ES",callingCode:"34",mask:"000 00 00 00"},IN:{countryCode:"IN",callingCode:"91",mask:"00000 00000"},JP:{countryCode:"JP",callingCode:"81",mask:"000-0000-0000"},CN:{countryCode:"CN",callingCode:"86",mask:"000 0000 0000"},BR:{countryCode:"BR",callingCode:"55",mask:"(00) 00000-0000"},MX:{countryCode:"MX",callingCode:"52",mask:"000 000 0000"}};function H(n,r){let t=r;const a=s=>{B(n,t,n.value,s.inputType)};return n.addEventListener("input",a),{update(s,c){t=c,B(n,t,s,"")},destroy(){n.removeEventListener("input",a)},get value(){return n.value}}}function B(n,r,t,a){const s=/delete.*Backwards/.test(a),c=n.selectionStart||0,u=Q(t,r);if(t!==u){n.value=u;const C=Y(u,t,c,s);C!==void 0&&n.setSelectionRange(C,C)}}function U(n){return n.replace(/\D+/g,"")}function Q(n,r){const t=U(n);let a="",s=0;if(t.length){for(const c of r)if(c==="0"){if(a+=t[s++],s===t.length)break}else a+=c;s<t.length&&(a+=" "+t.slice(s))}return a}function Y(n,r,t,a){const s=t===r.length;if(a||!s){const c=r.slice(0,t),u=r.slice(t);if(n.startsWith(c))return t;if(n.endsWith(u))return n.length-u.length;{const C=P(c);let p=0,m=0;for(;m<C.length;)P(n[p])&&m++,p++;return p}}}function P(n){return n.replace(/[.,\\/#!$%^&*;:{}=+\-_`~()\s]/g,"")}const Z=n=>n||(typeof navigator<"u"?navigator.language:"en-US"),V=n=>{var{countryCode:r,value:t,locale:a,floatingLabel:s,disabled:c,readonly:u,invalid:C,className:p,onFocus:m,onBlur:k,onChange:x,onInputChange:E,onKeyDown:I,onKeyPress:T,onKeyUp:D,onExpand:L,onCollapse:R}=n,q=X.__rest(n,["countryCode","value","locale","floatingLabel","disabled","readonly","invalid","className","onFocus","onBlur","onChange","onInputChange","onKeyDown","onKeyPress","onKeyUp","onExpand","onCollapse"]);const h=l.useMemo(()=>{const e=Z(a),o=new Intl.DisplayNames([e],{type:"region"});return Object.keys(v).map(i=>{var d;return[i,(d=o.of(i))!==null&&d!==void 0?d:""]}).sort(([,i],[,d])=>i.localeCompare(d))},[a]),[S,K]=l.useState(()=>{if(r){const e=h.findIndex(([o])=>o===r.toUpperCase());return e!==-1?e:0}return 0}),b=l.useRef(null),f=l.useRef(null);l.useEffect(()=>{if(r){const e=h.findIndex(([o])=>o===r.toUpperCase());K(e!==-1?e:0)}},[r,h]);const y=(e=S)=>{const[o]=h[e];return v[o]};l.useEffect(()=>{b.current&&y()&&(f.current||(f.current=H(b.current,y().mask)),f.current.update(b.current.value,y().mask))},[y().mask]),l.useEffect(()=>()=>{f.current&&f.current.destroy()},[]);const g=e=>{var o,i;return{value:((o=f.current)===null||o===void 0?void 0:o.value)||"",rawValue:U(((i=f.current)===null||i===void 0?void 0:i.value)||""),callingCode:y(e).callingCode,countryCode:y(e).countryCode}},F=(e,{index:o})=>{K(o),x&&x(e,g(o))},A=e=>{m&&m(e,g())},O=e=>{k&&k(e,g())},_=e=>{x&&x(e,g())},M=e=>{E&&E(e,g())},j=e=>{I&&I(e,g())},G=e=>{T&&T(e,g())},J=e=>{D&&D(e,g())},W=h.map(([e,o],i)=>{const d=v[e];return l.createElement(N.ListboxOption,{key:e,value:d.callingCode,selected:i===S,icon:l.createElement($.EbayFlagIcon,{flag:d.countryCode.toLowerCase()})},l.createElement("span",null,o," ( + ",d.callingCode," )"))});return l.createElement("span",Object.assign({},q,{className:z("phone-input",p,{"phone-input--disabled":c,"phone-input--readonly":u,"phone-input--error":C})}),l.createElement(N.ListboxButton,{split:"start",disabled:u||c,onChange:F,onExpand:L,onCollapse:R},W),l.createElement(w.EbayTextbox,{type:"tel",value:t,disabled:c,floatingLabel:s,floatingLabelStatic:!0,readOnly:u,invalid:C,onBlur:O,onFocus:A,onKeyDown:j,onKeyPress:G,onKeyUp:J,onChange:_,onInputChange:M,ref:b},l.createElement(w.EbayTextboxPrefixText,{id:"phone-prefix"},"+ ",y().callingCode)))};exports.EbayPhoneInput=V;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("../tslib.es6-C4EgNkz1.js"),n=require("react"),i=require("../utils-C9NL3q0j.js"),g=require("../button-xYFMCdP0.js"),s=require("../menu-button-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("../tslib.es6-C4EgNkz1.js"),n=require("react"),i=require("../utils-C9NL3q0j.js"),g=require("../button-xYFMCdP0.js"),s=require("../menu-button-IlgSfSj5.js"),x=require("../menu-D1yitU4y.js");require("classnames");const q=a=>{var{a11yMenuText:l,children:o,type:u,bodyState:t,a11yButtonLoadingText:y,onCollapse:d,onExpand:p,onSelect:c=()=>{},onChange:b=()=>{}}=a,e=S.__rest(a,["a11yMenuText","children","type","bodyState","a11yButtonLoadingText","onCollapse","onExpand","onSelect","onChange"]);const r=[x.EbayMenuItem,s.EbayMenuButtonSeparator],m=i.filterBy(o,B=>!r.includes(B.type)),E=i.filterByType(o,r);return n.createElement("span",{className:"split-button"},n.createElement(g.EbayButton,Object.assign({"aria-label":t==="loading"?y:void 0},e,{ref:void 0,split:"start",bodyState:t==="expand"?void 0:t}),m),n.createElement(s.EbayMenuButton,{priority:e.priority,disabled:e.disabled,transparent:e.transparent,partiallyDisabled:e.partiallyDisabled,size:e.size,type:u,split:"end",reverse:!0,a11yText:l,onCollapse:d,onExpand:p,onSelect:c,onChange:b},E))};exports.EbaySplitButton=q;
|