@planningcenter/tapestry-react 4.4.1 → 4.5.0-rc.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/dist/Select/Select.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { ItemList } from '../ItemList';
|
|
|
5
5
|
import Inline from './Inline';
|
|
6
6
|
import Option from './Option';
|
|
7
7
|
import OptionGroup from './OptionGroup';
|
|
8
|
-
import { toggleValue } from './utils';
|
|
8
|
+
import { SelectedOption, toggleValue } from './utils';
|
|
9
9
|
import Value from './Value';
|
|
10
10
|
type ValueBase = boolean | string | number | null | undefined;
|
|
11
11
|
type ValueFindFn = (item?: ValueBase) => boolean;
|
|
@@ -40,7 +40,7 @@ type Props<V extends Value | Value[], IsMultiple extends boolean = false> = {
|
|
|
40
40
|
placement?: Placement;
|
|
41
41
|
popoverProps?: object;
|
|
42
42
|
renderTo?: HTMLElement | string;
|
|
43
|
-
renderValue?: (
|
|
43
|
+
renderValue?: (items: SelectedOption<V>[]) => ReactNode;
|
|
44
44
|
tooltip?: Object;
|
|
45
45
|
value?: IsMultiple extends true ? V[] : V;
|
|
46
46
|
};
|
|
@@ -75,7 +75,7 @@ declare class Select<V extends Value | Value[] = Value | Value[], IsMultiple ext
|
|
|
75
75
|
state: {
|
|
76
76
|
isPopoverOpen: boolean;
|
|
77
77
|
isPopoverVisible: boolean;
|
|
78
|
-
selectedOptions:
|
|
78
|
+
selectedOptions: SelectedOption<V>[];
|
|
79
79
|
uncontrolledValue: any[] | (IsMultiple extends true ? V[] : V);
|
|
80
80
|
};
|
|
81
81
|
componentDidMount(): void;
|
|
@@ -88,7 +88,7 @@ declare class Select<V extends Value | Value[] = Value | Value[], IsMultiple ext
|
|
|
88
88
|
closePopover: () => void;
|
|
89
89
|
togglePopover: () => void;
|
|
90
90
|
setSelectedOptions(): void;
|
|
91
|
-
getSortedSelectedOptions(value: any):
|
|
91
|
+
getSortedSelectedOptions(value: any): SelectedOption<V>[];
|
|
92
92
|
getValue: () => any;
|
|
93
93
|
getHiddenInputValues: () => JSX.Element[];
|
|
94
94
|
getSelected: (item: any) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAc,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAInE,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAA;AAa1D,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,WAAW,MAAM,eAAe,CAAA;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/Select/Select.tsx"],"names":[],"mappings":"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"}
|
package/dist/Select/Select.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__extends as e,__spreadArray as t,__rest as n,__assign as o}from'./../ext/tslib/tslib.es6.js';import r from"lodash/isEqual";import i,{Component as l}from"react";import a from"../FocusGroup/FocusGroup.js";import u from"../Icon/Icon.js";import c from"../Input/Input.js";import p from"../ItemList/ItemList.js";import s from"../ItemList/ItemListController.js";import"../ItemList/ItemListItem.js";import d from"../Menu/Menu.js";import{Popover as f}from"../Popover/Popover.js";import m from"../Tooltip/Tooltip.js";import{joinChildren as b,generateId as v,isArray as g,isValueInArray as h,shallowEqual as O}from"../utils.js";import{SELECT_DISPLAY_NAME as y}from"./constants.js";import P from"./Context.js";import S from"./Inline.js";import w from"./Option.js";import j from"./OptionGroup.js";import{toggleValue as V,optionsToElements as I,getSelectedOptions as x,renderOptions as C}from"./utils.js";import L from"./Value.js";function k(e){return i.createElement(d,o({},e,{as:"ul"}))}var E=function(l){function d(){var e=null!==l&&l.apply(this,arguments)||this;return Object.defineProperty(e,"input",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"popover",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"itemList",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"id",{enumerable:!0,configurable:!0,writable:!0,value:v("select")}),Object.defineProperty(e,"canCallFocus",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(e,"contextValue",{enumerable:!0,configurable:!0,writable:!0,value:{canSelectOption:{current:!1},multiple:e.props.multiple}}),Object.defineProperty(e,"state",{enumerable:!0,configurable:!0,writable:!0,value:{isPopoverOpen:e.props.defaultOpen,isPopoverVisible:!1,selectedOptions:[],uncontrolledValue:void 0===e.props.defaultValue?e.props.multiple?[]:null:e.props.defaultValue}}),Object.defineProperty(e,"addUserSelectStyle",{enumerable:!0,configurable:!0,writable:!0,value:function(){document.body.style.webkitUserSelect="none"}}),Object.defineProperty(e,"clearUserSelectStyle",{enumerable:!0,configurable:!0,writable:!0,value:function(){document.body.style.webkitUserSelect=""}}),Object.defineProperty(e,"openPopover",{enumerable:!0,configurable:!0,writable:!0,value:function(t){t&&(setTimeout((function(){e.contextValue.canSelectOption.current=!0}),300),setTimeout((function(){var t=e.state.selectedOptions;t.length>0&&e.itemList.scrollItemIntoViewByIndex(t[0].index)}))),e.setState({isPopoverOpen:!0,isPopoverVisible:t})}}),Object.defineProperty(e,"closePopover",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.contextValue.canSelectOption.current=!1,e.setState({isPopoverOpen:!1,isPopoverVisible:!1}),e.itemList&&e.itemList.clearHighlightedIndex()}}),Object.defineProperty(e,"togglePopover",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.state.isPopoverVisible&&e.state.isPopoverOpen?e.closePopover():e.openPopover(!0)}}),Object.defineProperty(e,"getValue",{enumerable:!0,configurable:!0,writable:!0,value:function(){if(e.state.selectedOptions.length>0){var t=e.isControlled()?e.props.value:e.state.uncontrolledValue;return e.props.renderValue(g(t)?e.getSortedSelectedOptions(t):e.state.selectedOptions)}return e.props.emptyValue}}),Object.defineProperty(e,"getHiddenInputValues",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=e.props.name,n=e.state.selectedOptions;return t&&n.length>0?n.map((function(e,n){return i.createElement("input",{key:n,name:t,type:"hidden",value:e.value})})):null}}),Object.defineProperty(e,"getSelected",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var n=e.props.value,o=e.state.uncontrolledValue;return e.isControlled()?"function"==typeof n?n(t):g(n)?h(n,t)>-1:n===t:g(o)?h(o,t)>-1:o===t}}),Object.defineProperty(e,"handleSelect",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var n=e.props,o=n.multiple,r=n.value,i=t;e.isControlled()?g(r)&&(i=d.toggleValue(e.props.value,t)):(o&&(i=d.toggleValue(e.state.uncontrolledValue,t)),e.setState({uncontrolledValue:i},e.setSelectedOptions)),e.props.onChange&&e.props.onChange({selectedValue:t,value:i}),!o&&e.state.isPopoverVisible&&e.focusInput()}}),Object.defineProperty(e,"highlightFirstSelectedOption",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=e.state.selectedOptions;t.length>0?e.itemList.setHighlightedIndex(t[0].index):e.itemList.moveHighlightedIndex(1,{contain:!0})}}),Object.defineProperty(e,"highlightLastSelectedOption",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=e.state.selectedOptions;t.length>0?e.itemList.setHighlightedIndex(t[Math.max(0,t.length-1)].index):e.itemList.moveHighlightedIndex(-1,{contain:!0})}}),Object.defineProperty(e,"focusInput",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.input&&(e.contextValue.canSelectOption.current=!1,e.setState({isPopoverVisible:!1}),e.canCallFocus=!1,e.input.focus(),e.canCallFocus=!0)}}),e}return e(d,l),Object.defineProperty(d.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){"undefined"!=typeof document&&document.addEventListener("mouseup",this.clearUserSelectStyle),this.setSelectedOptions()}}),Object.defineProperty(d.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.isControlled()&&this.setSelectedOptions()}}),Object.defineProperty(d.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){"undefined"!=typeof document&&(document.removeEventListener("mouseup",this.clearUserSelectStyle),this.clearUserSelectStyle())}}),Object.defineProperty(d.prototype,"isControlled",{enumerable:!1,configurable:!0,writable:!0,value:function(){return void 0!==this.props.value}}),Object.defineProperty(d.prototype,"setSelectedOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props.options?I(this.props.options):this.props.children,t=x(e,this.getSelected);O(this.state.selectedOptions.map((function(e){return e.value})),t.map((function(e){return e.value})))&&r(this.state.selectedOptions.map((function(e){return e.children})),t.map((function(e){return e.children})))||this.setState({selectedOptions:t})}}),Object.defineProperty(d.prototype,"getSortedSelectedOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return t([],this.state.selectedOptions,!0).sort((function(t,n){return h(e,t.value)-h(e,n.value)}))}}),Object.defineProperty(d.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.props,r=t.children;t.defaultValue;var l=t.disabled;t.emptyValue;var d=t.innerRef;t.defaultOpen;var b=t.keepInView,v=t.lockScrollWhileOpen,g=t.matchWidths,h=t.multiple;t.name;var O=t.onBlur;t.onChange,t.onClick;var y=t.onFocus,S=t.onKeyDown,w=t.onMouseDown,j=t.onMouseUp,V=t.options,x=t.placement,L=t.popoverProps,E=t.renderTo;t.renderValue;var D=t.tooltip;t.value;var F=n(t,["children","defaultValue","disabled","emptyValue","innerRef","defaultOpen","keepInView","lockScrollWhileOpen","matchWidths","multiple","name","onBlur","onChange","onClick","onFocus","onKeyDown","onMouseDown","onMouseUp","options","placement","popoverProps","renderTo","renderValue","tooltip","value"]),U=this.state,H=U.isPopoverOpen,R=U.isPopoverVisible;return i.createElement(P.Provider,{value:this.contextValue},i.createElement(a,{onBlur:this.closePopover},(function(t){var n=t.requestBlur,a=t.setRef;return i.createElement(p,{ref:function(t){return e.itemList=t},selected:e.getSelected,onSelect:e.handleSelect},(function(t){var p=t.getItemByText,P=t.getHighlightedIndex,U=t.moveHighlightedIndex,T=t.selectHighlightedItem,B=t.setHighlightedIndex,M=t.selectItemByIndex,W=t.stringSearch;return i.createElement(f,o({},L,{ref:function(t){e.popover=t},innerRef:function(t){a("".concat(e.id,"-popover"))(t)},as:k,tabIndex:-1,"aria-labelledby":e.id,"aria-multiselectable":h,role:"listbox",display:R?void 0:"none",minWidth:16,padding:0,elevation:2,matchWidths:g,lockScrollWhileOpen:!!R&&v,keepInView:b,placement:x,renderTo:E,open:H,onRequestClose:function(){return e.setState({isPopoverVisible:!1})},onBlur:n,onKeyDown:function(t){switch(t.key){case"ArrowUp":t.preventDefault(),R?U(-1,{contain:!0}):(e.openPopover(!0),setTimeout((function(){e.highlightLastSelectedOption()})));break;case"ArrowDown":t.preventDefault(),R?U(1,{contain:!0}):(e.openPopover(!0),setTimeout((function(){e.highlightFirstSelectedOption()})));break;case"Enter":R&&(t.preventDefault(),T());break;case"Escape":H&&!R&&(t.preventDefault(),e.closePopover());break;case" ":t.preventDefault(),null===P()?(e.togglePopover(),setTimeout((function(){e.highlightFirstSelectedOption()}))):R?T():e.openPopover(!0);break;default:W(t).then((function(e){var t=p(e);t&&(R?B(t.props.index):M(t.props.index))}))}},anchorElement:function(t){var r=l?{}:{onBlur:function(e){n(e),O&&O(e)},onFocus:function(t){e.canCallFocus&&e.openPopover(!1),y&&y(t)},onKeyDown:function(e){t.onKeyDown(e),S&&S(e)},onMouseDown:function(t){0===t.button&&(e.addUserSelectStyle(),e.canCallFocus=!1,e.togglePopover()),w&&w(t)},onMouseUp:function(t){e.canCallFocus=!0,j&&j(t)}};return i.createElement(s,null,(function(n){var p=n.getHighlightedItemId;return i.createElement(m,o({triggerOnHover:!R,triggerOnFocus:!R},D),i.createElement(c.InputBox,o({innerRef:function(n){"function"==typeof t.innerRef?t.innerRef(n):t.innerRef&&t.innerRef.current&&(t.innerRef.current=n),e.input=n,a("".concat(e.id,"-button"))(n),d&&d(n)},id:e.id,tabIndex:0,role:"combobox",disabled:l,"aria-disabled":l,"aria-haspopup":R,"aria-expanded":R,"aria-activedescendant":p(),cursor:"pointer",userSelect:"none",touchAction:"manipulation",focusChildrenOnFocus:!1,renderRight:i.createElement(u,{name:R?"general.upCaret":"general.downCaret"})},F,r),e.getValue(),e.getHiddenInputValues()))}))}}),C(V?I(V):r))}))})))}}),Object.defineProperty(d,"displayName",{enumerable:!0,configurable:!0,writable:!0,value:y}),Object.defineProperty(d,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{defaultOpen:!1,emptyValue:i.createElement(L,null,"Select an item"),lockScrollWhileOpen:!0,matchWidths:"minimum",renderValue:function(e){return i.createElement(L,null,b(e.map((function(e){return e.children}))))}}}),d}(l);E.Inline=S,E.Option=w,E.OptionGroup=j,E.Value=L,E.toggleValue=V;export{E as default};
|
|
1
|
+
import{__extends as e,__spreadArray as t,__rest as n,__assign as o}from'./../ext/tslib/tslib.es6.js';import r from"lodash/isEqual";import i,{Component as l}from"react";import a from"../FocusGroup/FocusGroup.js";import u from"../Icon/Icon.js";import c from"../Input/Input.js";import p from"../ItemList/ItemList.js";import s from"../ItemList/ItemListController.js";import"../ItemList/ItemListItem.js";import d from"../Menu/Menu.js";import{Popover as f}from"../Popover/Popover.js";import m from"../Tooltip/Tooltip.js";import{joinChildren as b,generateId as v,isArray as g,isValueInArray as h,shallowEqual as O}from"../utils.js";import{SELECT_DISPLAY_NAME as y}from"./constants.js";import P from"./Context.js";import S from"./Inline.js";import w from"./Option.js";import j from"./OptionGroup.js";import{toggleValue as V,optionsToElements as I,getSelectedOptions as x,renderOptions as C}from"./utils.js";import L from"./Value.js";function k(e){return i.createElement(d,o({},e,{as:"ul"}))}var E=function(l){function d(){var e=null!==l&&l.apply(this,arguments)||this;return Object.defineProperty(e,"input",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"popover",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"itemList",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(e,"id",{enumerable:!0,configurable:!0,writable:!0,value:v("select")}),Object.defineProperty(e,"canCallFocus",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(e,"contextValue",{enumerable:!0,configurable:!0,writable:!0,value:{canSelectOption:{current:!1},multiple:e.props.multiple}}),Object.defineProperty(e,"state",{enumerable:!0,configurable:!0,writable:!0,value:{isPopoverOpen:e.props.defaultOpen,isPopoverVisible:!1,selectedOptions:[],uncontrolledValue:void 0===e.props.defaultValue?e.props.multiple?[]:null:e.props.defaultValue}}),Object.defineProperty(e,"addUserSelectStyle",{enumerable:!0,configurable:!0,writable:!0,value:function(){document.body.style.webkitUserSelect="none"}}),Object.defineProperty(e,"clearUserSelectStyle",{enumerable:!0,configurable:!0,writable:!0,value:function(){document.body.style.webkitUserSelect=""}}),Object.defineProperty(e,"openPopover",{enumerable:!0,configurable:!0,writable:!0,value:function(t){t&&(setTimeout((function(){e.contextValue.canSelectOption.current=!0}),300),setTimeout((function(){var t=e.state.selectedOptions;t.length>0&&e.itemList.scrollItemIntoViewByIndex(t[0].index)}))),e.setState({isPopoverOpen:!0,isPopoverVisible:t})}}),Object.defineProperty(e,"closePopover",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.contextValue.canSelectOption.current=!1,e.setState({isPopoverOpen:!1,isPopoverVisible:!1}),e.itemList&&e.itemList.clearHighlightedIndex()}}),Object.defineProperty(e,"togglePopover",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.state.isPopoverVisible&&e.state.isPopoverOpen?e.closePopover():e.openPopover(!0)}}),Object.defineProperty(e,"getValue",{enumerable:!0,configurable:!0,writable:!0,value:function(){if(e.state.selectedOptions.length>0){var t=e.isControlled()?e.props.value:e.state.uncontrolledValue;return e.props.renderValue(g(t)?e.getSortedSelectedOptions(t):e.state.selectedOptions)}return e.props.emptyValue}}),Object.defineProperty(e,"getHiddenInputValues",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=e.props.name,n=e.state.selectedOptions;return t&&n.length>0?n.map((function(e,n){return i.createElement("input",{key:n,name:t,type:"hidden",value:e.value.toString()})})):null}}),Object.defineProperty(e,"getSelected",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var n=e.props.value,o=e.state.uncontrolledValue;return e.isControlled()?"function"==typeof n?n(t):g(n)?h(n,t)>-1:n===t:g(o)?h(o,t)>-1:o===t}}),Object.defineProperty(e,"handleSelect",{enumerable:!0,configurable:!0,writable:!0,value:function(t){var n=e.props,o=n.multiple,r=n.value,i=t;e.isControlled()?g(r)&&(i=d.toggleValue(e.props.value,t)):(o&&(i=d.toggleValue(e.state.uncontrolledValue,t)),e.setState({uncontrolledValue:i},e.setSelectedOptions)),e.props.onChange&&e.props.onChange({selectedValue:t,value:i}),!o&&e.state.isPopoverVisible&&e.focusInput()}}),Object.defineProperty(e,"highlightFirstSelectedOption",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=e.state.selectedOptions;t.length>0?e.itemList.setHighlightedIndex(t[0].index):e.itemList.moveHighlightedIndex(1,{contain:!0})}}),Object.defineProperty(e,"highlightLastSelectedOption",{enumerable:!0,configurable:!0,writable:!0,value:function(){var t=e.state.selectedOptions;t.length>0?e.itemList.setHighlightedIndex(t[Math.max(0,t.length-1)].index):e.itemList.moveHighlightedIndex(-1,{contain:!0})}}),Object.defineProperty(e,"focusInput",{enumerable:!0,configurable:!0,writable:!0,value:function(){e.input&&(e.contextValue.canSelectOption.current=!1,e.setState({isPopoverVisible:!1}),e.canCallFocus=!1,e.input.focus(),e.canCallFocus=!0)}}),e}return e(d,l),Object.defineProperty(d.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){"undefined"!=typeof document&&document.addEventListener("mouseup",this.clearUserSelectStyle),this.setSelectedOptions()}}),Object.defineProperty(d.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.isControlled()&&this.setSelectedOptions()}}),Object.defineProperty(d.prototype,"componentWillUnmount",{enumerable:!1,configurable:!0,writable:!0,value:function(){"undefined"!=typeof document&&(document.removeEventListener("mouseup",this.clearUserSelectStyle),this.clearUserSelectStyle())}}),Object.defineProperty(d.prototype,"isControlled",{enumerable:!1,configurable:!0,writable:!0,value:function(){return void 0!==this.props.value}}),Object.defineProperty(d.prototype,"setSelectedOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props.options?I(this.props.options):this.props.children,t=x(e,this.getSelected);O(this.state.selectedOptions.map((function(e){return e.value})),t.map((function(e){return e.value})))&&r(this.state.selectedOptions.map((function(e){return e.children})),t.map((function(e){return e.children})))||this.setState({selectedOptions:t})}}),Object.defineProperty(d.prototype,"getSortedSelectedOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return t([],this.state.selectedOptions,!0).sort((function(t,n){return h(e,t.value)-h(e,n.value)}))}}),Object.defineProperty(d.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.props,r=t.children;t.defaultValue;var l=t.disabled;t.emptyValue;var d=t.innerRef;t.defaultOpen;var b=t.keepInView,v=t.lockScrollWhileOpen,g=t.matchWidths,h=t.multiple;t.name;var O=t.onBlur;t.onChange,t.onClick;var y=t.onFocus,S=t.onKeyDown,w=t.onMouseDown,j=t.onMouseUp,V=t.options,x=t.placement,L=t.popoverProps,E=t.renderTo;t.renderValue;var D=t.tooltip;t.value;var F=n(t,["children","defaultValue","disabled","emptyValue","innerRef","defaultOpen","keepInView","lockScrollWhileOpen","matchWidths","multiple","name","onBlur","onChange","onClick","onFocus","onKeyDown","onMouseDown","onMouseUp","options","placement","popoverProps","renderTo","renderValue","tooltip","value"]),U=this.state,H=U.isPopoverOpen,R=U.isPopoverVisible;return i.createElement(P.Provider,{value:this.contextValue},i.createElement(a,{onBlur:this.closePopover},(function(t){var n=t.requestBlur,a=t.setRef;return i.createElement(p,{ref:function(t){return e.itemList=t},selected:e.getSelected,onSelect:e.handleSelect},(function(t){var p=t.getItemByText,P=t.getHighlightedIndex,U=t.moveHighlightedIndex,T=t.selectHighlightedItem,B=t.setHighlightedIndex,M=t.selectItemByIndex,W=t.stringSearch;return i.createElement(f,o({},L,{ref:function(t){e.popover=t},innerRef:function(t){a("".concat(e.id,"-popover"))(t)},as:k,tabIndex:-1,"aria-labelledby":e.id,"aria-multiselectable":h,role:"listbox",display:R?void 0:"none",minWidth:16,padding:0,elevation:2,matchWidths:g,lockScrollWhileOpen:!!R&&v,keepInView:b,placement:x,renderTo:E,open:H,onRequestClose:function(){return e.setState({isPopoverVisible:!1})},onBlur:n,onKeyDown:function(t){switch(t.key){case"ArrowUp":t.preventDefault(),R?U(-1,{contain:!0}):(e.openPopover(!0),setTimeout((function(){e.highlightLastSelectedOption()})));break;case"ArrowDown":t.preventDefault(),R?U(1,{contain:!0}):(e.openPopover(!0),setTimeout((function(){e.highlightFirstSelectedOption()})));break;case"Enter":R&&(t.preventDefault(),T());break;case"Escape":H&&!R&&(t.preventDefault(),e.closePopover());break;case" ":t.preventDefault(),null===P()?(e.togglePopover(),setTimeout((function(){e.highlightFirstSelectedOption()}))):R?T():e.openPopover(!0);break;default:W(t).then((function(e){var t=p(e);t&&(R?B(t.props.index):M(t.props.index))}))}},anchorElement:function(t){var r=l?{}:{onBlur:function(e){n(e),O&&O(e)},onFocus:function(t){e.canCallFocus&&e.openPopover(!1),y&&y(t)},onKeyDown:function(e){t.onKeyDown(e),S&&S(e)},onMouseDown:function(t){0===t.button&&(e.addUserSelectStyle(),e.canCallFocus=!1,e.togglePopover()),w&&w(t)},onMouseUp:function(t){e.canCallFocus=!0,j&&j(t)}};return i.createElement(s,null,(function(n){var p=n.getHighlightedItemId;return i.createElement(m,o({triggerOnHover:!R,triggerOnFocus:!R},D),i.createElement(c.InputBox,o({innerRef:function(n){"function"==typeof t.innerRef?t.innerRef(n):t.innerRef&&t.innerRef.current&&(t.innerRef.current=n),e.input=n,a("".concat(e.id,"-button"))(n),d&&d(n)},id:e.id,tabIndex:0,role:"combobox",disabled:l,"aria-disabled":l,"aria-haspopup":R,"aria-expanded":R,"aria-activedescendant":p(),cursor:"pointer",userSelect:"none",touchAction:"manipulation",focusChildrenOnFocus:!1,renderRight:i.createElement(u,{name:R?"general.upCaret":"general.downCaret"})},F,r),e.getValue(),e.getHiddenInputValues()))}))}}),C(V?I(V):r))}))})))}}),Object.defineProperty(d,"displayName",{enumerable:!0,configurable:!0,writable:!0,value:y}),Object.defineProperty(d,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{defaultOpen:!1,emptyValue:i.createElement(L,null,"Select an item"),lockScrollWhileOpen:!0,matchWidths:"minimum",renderValue:function(e){return i.createElement(L,null,b(e.map((function(e){return e.children}))))}}}),d}(l);E.Inline=S,E.Option=w,E.OptionGroup=j,E.Value=L,E.toggleValue=V;export{E as default};
|
|
2
2
|
//# sourceMappingURL=Select.js.map
|
package/dist/Select/utils.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type SelectedOption<V> = {
|
|
2
|
+
children: any;
|
|
3
|
+
index: number;
|
|
4
|
+
text: string;
|
|
5
|
+
value: V;
|
|
6
|
+
};
|
|
7
|
+
export declare function getSelectedOptions<V>(children: any, selected: any): SelectedOption<V>[];
|
|
2
8
|
export declare function renderOptions(children: any): any;
|
|
3
9
|
export declare function optionsToElements(options: any): any;
|
|
4
10
|
export declare function toggleValue(collection: any, item: any): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/Select/utils.tsx"],"names":[],"mappings":"AAeA,wBAAgB,kBAAkB,CAAC,QAAQ,KAAA,EAAE,QAAQ,KAAA,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/Select/utils.tsx"],"names":[],"mappings":"AAeA,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAA;AAExF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,KAAA,EAAE,QAAQ,KAAA,uBA2CvD;AAED,wBAAgB,aAAa,CAAC,QAAQ,KAAA,OAsBrC;AAED,wBAAgB,iBAAiB,CAAC,OAAO,KAAA,OAaxC;AAED,wBAAgB,WAAW,CAAC,UAAU,KAAA,EAAE,IAAI,KAAA,OAc3C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@planningcenter/tapestry-react",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.0-rc.0",
|
|
4
4
|
"description": "A collection of flexible React components to help you build resilient, accessible user interfaces quickly and effectively.",
|
|
5
5
|
"author": "Front End Systems Engineering <frontend@pco.bz>",
|
|
6
6
|
"main": "./dist/index.js",
|