primereact 10.3.3 → 10.5.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/accordion/accordion.cjs.js +1 -1
- package/accordion/accordion.cjs.min.js +1 -1
- package/accordion/accordion.esm.js +1 -1
- package/accordion/accordion.esm.min.js +1 -1
- package/accordion/accordion.js +1 -1
- package/accordion/accordion.min.js +1 -1
- package/calendar/calendar.cjs.js +29 -14
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +29 -14
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +29 -14
- package/calendar/calendar.min.js +1 -1
- package/carousel/carousel.cjs.js +1 -0
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +1 -0
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +1 -0
- package/carousel/carousel.min.js +1 -1
- package/checkbox/checkbox.cjs.js +2 -0
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.esm.js +2 -0
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +2 -0
- package/checkbox/checkbox.min.js +1 -1
- package/chips/chips.cjs.js +111 -21
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +111 -21
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +111 -21
- package/chips/chips.min.js +1 -1
- package/core/core.js +696 -505
- package/core/core.min.js +5 -5
- package/datatable/datatable.cjs.js +577 -153
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +573 -149
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +577 -153
- package/datatable/datatable.min.js +1 -1
- package/dataview/dataview.d.ts +2 -2
- package/divider/divider.cjs.js +2 -2
- package/divider/divider.cjs.min.js +1 -1
- package/divider/divider.esm.js +2 -2
- package/divider/divider.esm.min.js +1 -1
- package/divider/divider.js +2 -2
- package/divider/divider.min.js +1 -1
- package/dropdown/dropdown.cjs.js +327 -160
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +9 -0
- package/dropdown/dropdown.esm.js +327 -160
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +327 -160
- package/dropdown/dropdown.min.js +1 -1
- package/editor/editor.cjs.js +1 -1
- package/editor/editor.cjs.min.js +1 -1
- package/editor/editor.esm.js +1 -1
- package/editor/editor.esm.min.js +1 -1
- package/editor/editor.js +1 -1
- package/editor/editor.min.js +1 -1
- package/focustrap/focustrap.cjs.js +168 -0
- package/focustrap/focustrap.cjs.min.js +1 -0
- package/focustrap/focustrap.esm.js +159 -0
- package/focustrap/focustrap.esm.min.js +1 -0
- package/focustrap/focustrap.js +167 -0
- package/focustrap/focustrap.min.js +1 -0
- package/focustrap/package.json +7 -0
- package/galleria/galleria.cjs.js +26 -24
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +26 -24
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +26 -24
- package/galleria/galleria.min.js +1 -1
- package/hooks/hooks.d.ts +1 -1
- package/inputnumber/inputnumber.cjs.js +21 -17
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +21 -17
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +21 -17
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/inputswitch.cjs.js +3 -1
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.esm.js +3 -1
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +3 -1
- package/inputswitch/inputswitch.min.js +1 -1
- package/knob/knob.cjs.js +62 -0
- package/knob/knob.cjs.min.js +1 -1
- package/knob/knob.esm.js +62 -0
- package/knob/knob.esm.min.js +1 -1
- package/knob/knob.js +62 -0
- package/knob/knob.min.js +1 -1
- package/listbox/listbox.cjs.js +362 -92
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.esm.js +363 -93
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +362 -92
- package/listbox/listbox.min.js +1 -1
- package/menu/menu.cjs.js +4 -2
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +4 -2
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +5 -4
- package/menu/menu.min.js +1 -1
- package/menubar/menubar.cjs.js +3 -0
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +3 -0
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +3 -0
- package/menubar/menubar.min.js +1 -1
- package/multiselect/multiselect.cjs.js +377 -107
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +377 -107
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +377 -107
- package/multiselect/multiselect.min.js +1 -1
- package/package.json +1 -1
- package/paginator/paginator.cjs.js +251 -251
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +258 -258
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +251 -251
- package/paginator/paginator.min.js +1 -1
- package/panelmenu/panelmenu.cjs.js +34 -22
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +34 -22
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +35 -24
- package/panelmenu/panelmenu.min.js +1 -1
- package/passthrough/tailwind/index.cjs.js +3 -2
- package/passthrough/tailwind/index.cjs.min.js +1 -1
- package/passthrough/tailwind/index.esm.js +3 -2
- package/passthrough/tailwind/index.esm.min.js +1 -1
- package/passthrough/tailwind/index.js +3 -2
- package/passthrough/tailwind/index.min.js +1 -1
- package/password/password.cjs.js +22 -20
- package/password/password.cjs.min.js +1 -1
- package/password/password.esm.js +22 -20
- package/password/password.esm.min.js +1 -1
- package/password/password.js +22 -20
- package/password/password.min.js +1 -1
- package/primereact.all.cjs.js +2199 -951
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +2199 -951
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +2199 -951
- package/primereact.all.min.js +1 -1
- package/radiobutton/radiobutton.cjs.js +1 -0
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.esm.js +1 -0
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +1 -0
- package/radiobutton/radiobutton.min.js +1 -1
- package/rating/rating.cjs.js +103 -4
- package/rating/rating.cjs.min.js +1 -1
- package/rating/rating.esm.js +103 -4
- package/rating/rating.esm.min.js +1 -1
- package/rating/rating.js +103 -4
- package/rating/rating.min.js +1 -1
- package/resources/themes/arya-blue/theme.css +328 -67
- package/resources/themes/arya-green/theme.css +328 -67
- package/resources/themes/arya-orange/theme.css +328 -67
- package/resources/themes/arya-purple/theme.css +26 -6
- package/resources/themes/bootstrap4-dark-blue/theme.css +328 -67
- package/resources/themes/bootstrap4-dark-purple/theme.css +26 -6
- package/resources/themes/bootstrap4-light-blue/theme.css +328 -67
- package/resources/themes/bootstrap4-light-purple/theme.css +26 -6
- package/resources/themes/fluent-light/theme.css +327 -66
- package/resources/themes/lara-dark-amber/theme.css +328 -67
- package/resources/themes/lara-dark-blue/theme.css +328 -67
- package/resources/themes/lara-dark-cyan/theme.css +328 -67
- package/resources/themes/lara-dark-green/theme.css +328 -67
- package/resources/themes/lara-dark-indigo/theme.css +328 -67
- package/resources/themes/lara-dark-pink/theme.css +328 -67
- package/resources/themes/lara-dark-purple/theme.css +26 -6
- package/resources/themes/lara-dark-teal/theme.css +328 -67
- package/resources/themes/lara-light-amber/theme.css +328 -67
- package/resources/themes/lara-light-blue/theme.css +328 -67
- package/resources/themes/lara-light-cyan/theme.css +328 -67
- package/resources/themes/lara-light-green/theme.css +328 -67
- package/resources/themes/lara-light-indigo/theme.css +328 -67
- package/resources/themes/lara-light-pink/theme.css +328 -67
- package/resources/themes/lara-light-purple/theme.css +26 -6
- package/resources/themes/lara-light-teal/theme.css +328 -67
- package/resources/themes/luna-amber/theme.css +328 -67
- package/resources/themes/luna-blue/theme.css +328 -67
- package/resources/themes/luna-green/theme.css +328 -67
- package/resources/themes/luna-pink/theme.css +328 -67
- package/resources/themes/md-dark-deeppurple/theme.css +158 -138
- package/resources/themes/md-dark-indigo/theme.css +454 -193
- package/resources/themes/md-light-deeppurple/theme.css +26 -6
- package/resources/themes/md-light-indigo/theme.css +328 -67
- package/resources/themes/mdc-dark-deeppurple/theme.css +158 -138
- package/resources/themes/mdc-dark-indigo/theme.css +454 -193
- package/resources/themes/mdc-light-deeppurple/theme.css +26 -6
- package/resources/themes/mdc-light-indigo/theme.css +328 -67
- package/resources/themes/mira/theme.css +328 -67
- package/resources/themes/nano/theme.css +328 -67
- package/resources/themes/nova/theme.css +328 -67
- package/resources/themes/nova-accent/theme.css +328 -67
- package/resources/themes/nova-alt/theme.css +328 -67
- package/resources/themes/rhea/theme.css +328 -67
- package/resources/themes/saga-blue/theme.css +328 -67
- package/resources/themes/saga-green/theme.css +328 -67
- package/resources/themes/saga-orange/theme.css +328 -67
- package/resources/themes/saga-purple/theme.css +26 -6
- package/resources/themes/soho-dark/theme.css +353 -92
- package/resources/themes/soho-light/theme.css +328 -67
- package/resources/themes/tailwind-light/theme.css +329 -71
- package/resources/themes/vela-blue/theme.css +328 -67
- package/resources/themes/vela-green/theme.css +328 -67
- package/resources/themes/vela-orange/theme.css +328 -67
- package/resources/themes/vela-purple/theme.css +26 -6
- package/resources/themes/viva-dark/theme.css +328 -67
- package/resources/themes/viva-light/theme.css +328 -67
- package/selectbutton/selectbutton.cjs.js +96 -50
- package/selectbutton/selectbutton.cjs.min.js +1 -1
- package/selectbutton/selectbutton.esm.js +96 -50
- package/selectbutton/selectbutton.esm.min.js +1 -1
- package/selectbutton/selectbutton.js +96 -50
- package/selectbutton/selectbutton.min.js +1 -1
- package/sidebar/sidebar.cjs.js +18 -16
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.esm.js +18 -16
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +18 -16
- package/sidebar/sidebar.min.js +1 -1
- package/slider/slider.cjs.js +25 -4
- package/slider/slider.cjs.min.js +1 -1
- package/slider/slider.esm.js +25 -4
- package/slider/slider.esm.min.js +1 -1
- package/slider/slider.js +25 -4
- package/slider/slider.min.js +1 -1
- package/splitbutton/splitbutton.cjs.js +4 -3
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +4 -3
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +4 -3
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/splitter.cjs.js +71 -25
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.d.ts +13 -1
- package/splitter/splitter.esm.js +73 -27
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +71 -25
- package/splitter/splitter.min.js +1 -1
- package/tabview/tabview.cjs.js +6 -5
- package/tabview/tabview.cjs.min.js +1 -1
- package/tabview/tabview.d.ts +39 -34
- package/tabview/tabview.esm.js +6 -5
- package/tabview/tabview.esm.min.js +1 -1
- package/tabview/tabview.js +6 -5
- package/tabview/tabview.min.js +1 -1
- package/tieredmenu/tieredmenu.cjs.js +4 -3
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +4 -3
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +4 -3
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/togglebutton/togglebutton.cjs.js +15 -14
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.esm.js +14 -13
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +15 -14
- package/togglebutton/togglebutton.min.js +1 -1
- package/tree/tree.cjs.js +33 -15
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +34 -16
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +33 -15
- package/tree/tree.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.cjs.js +3 -2
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +3 -2
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +3 -2
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/web-types.json +19 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";import{PrimeReactContext as t,FilterService as r,localeOption as n}from"primereact/api";import{ComponentBase as l,useHandleStyle as o}from"primereact/componentbase";import{useMergeProps as i,useMountEffect as a}from"primereact/hooks";import{Tooltip as u}from"primereact/tooltip";import{classNames as s,IconUtils as c,ObjectUtils as p,DomHandler as f}from"primereact/utils";import{VirtualScroller as m}from"primereact/virtualscroller";import{SearchIcon as d}from"primereact/icons/search";import{InputText as b}from"primereact/inputtext";import{Ripple as v}from"primereact/ripple";function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},y.apply(this,arguments)}function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function h(e,t){if("object"!==g(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==g(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function O(e){var t=h(e,"string");return"symbol"===g(t)?t:String(t)}function x(e,t,r){return(t=O(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function S(e){if(Array.isArray(e))return E(e)}function w(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function P(e,t){if(e){if("string"==typeof e)return E(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?E(e,t):void 0}}function j(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function I(e){return S(e)||w(e)||P(e)||j()}function D(e){if(Array.isArray(e))return e}function C(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,l,o,i,a=[],u=!0,s=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==t);u=!0);}catch(e){s=!0,l=e}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw l}}return a}}function N(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function F(e,t){return D(e)||C(e,t)||P(e,t)||N()}var L=l.extend({defaultProps:{__TYPE:"ListBox",className:null,dataKey:null,disabled:null,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterIcon:null,filterBy:null,filterInputProps:null,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,filterValue:null,id:null,itemTemplate:null,listClassName:null,listStyle:null,metaKeySelection:!1,multiple:!1,onChange:null,onFilterValueChange:null,optionDisabled:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,optionValue:null,options:null,style:null,tabIndex:0,tooltip:null,tooltipOptions:null,value:null,virtualScrollerOptions:null,children:void 0},css:{classes:{itemGroup:"p-listbox-item-group",emptyMessage:"p-listbox-empty-message",list:function(e){return e.props.virtualScrollerOptions?s("p-listbox-list",e.options.className):"p-listbox-list"},wrapper:function(e){return s("p-listbox-list-wrapper",e.props.listClassName)},root:function(e){var t=e.props;return s("p-listbox p-component",{"p-disabled":t.disabled},t.className)},item:function(e){var t=e.props;return s("p-listbox-item",{"p-highlight":t.selected,"p-disabled":t.disabled},t.option.className)},filterContainer:"p-listbox-filter-container",filterIcon:"p-listbox-filter-icon",filterInput:"p-listbox-filter",header:"p-listbox-header"},styles:"\n@layer primereact {\n .p-listbox-list-wrapper {\n overflow: auto;\n }\n \n .p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n \n .p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n }\n \n .p-listbox-filter-container {\n position: relative;\n }\n \n .p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-listbox-filter {\n width: 100%;\n }\n}\n",inlineStyles:{itemGroup:function(e){var t=e.scrollerOptions;return{height:t.props?t.props.itemSize:void 0}},list:function(e){return e.props.virtualScrollerOptions?e.options.style:void 0}}}});function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function A(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach((function(t){x(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var k=e.memo((function(t){var r=i(),n=t.ptCallbacks,l=n.ptm,o=n.cx,a=function(e,r){return l(e,A({hostName:t.hostName},r))},u={filter:function(e){return s(e)},reset:function(){return t.resetFilter()}},s=function(e){t.onFilter&&t.onFilter({originalEvent:e,value:e.target.value})},f=function(){var n=r({className:o("filterIcon")},a("filterIcon")),i=c.getJSXIcon(t.filterIcon||e.createElement(d,n),A({},n),{props:t}),f=r({className:o("header")},a("header")),m=r({className:o("filterContainer")},a("filterContainer")),v=e.createElement("div",m,e.createElement(b,y({type:"text",value:t.filter,onChange:s,className:o("filterInput"),disabled:t.disabled,placeholder:t.filterPlaceholder},t.filterInputProps,{pt:l("filterInput"),unstyled:t.unstyled,__parentMetadata:{parent:t.metaData}})),i);t.filterTemplate&&(v=p.getJSXElement(t.filterTemplate,{className:"p-listbox-filter-container",element:v,filterOptions:u,filterInputChange:s,filterIconClassName:"p-dropdown-filter-icon",props:t}));return e.createElement("div",f,v)}();return e.createElement(e.Fragment,null,f)}));k.displayName="ListBoxHeader";var M=e.memo((function(t){var r=F(e.useState(!1),2),n=r[0],l=r[1],o=i(),a=t.ptCallbacks,u=a.ptm,s=a.cx,c=function(e){t.onClick&&t.onClick({originalEvent:e,option:t.option}),e.preventDefault()},m=function e(t){var r=t.nextElementSibling;return r?f.isAttributeEquals(r,"data-p-disabled",!0)||f.isAttributeEquals(r,"data-pc-section","itemgroup")?e(r):r:null},d=function e(t){var r=t.previousElementSibling;return r?f.isAttributeEquals(r,"data-p-disabled",!0)||f.isAttributeEquals(r,"data-pc-section","itemgroup")?e(r):r:null},b=t.template?p.getJSXElement(t.template,t.option):t.label,y=o({className:s("item",{props:t}),style:t.style,onClick:c,onTouchEnd:function(e){t.onTouchEnd&&t.onTouchEnd({originalEvent:e,option:t.option})},onKeyDown:function(e){var t=e.currentTarget;switch(e.which){case 40:var r=m(t);r&&r.focus(),e.preventDefault();break;case 38:var n=d(t);n&&n.focus(),e.preventDefault();break;case 13:c(e),e.preventDefault()}},onFocus:function(e){l(!0)},onBlur:function(e){l(!1)},tabIndex:"-1","aria-label":t.label,key:t.label,role:"option","aria-selected":t.selected,"aria-disabled":t.disabled,"data-p-disabled":t.disabled},u("item",{hostName:t.hostName,context:{selected:t.selected,disabled:t.disabled,focused:n}}));return e.createElement("li",y,b,e.createElement(v,null))}));function G(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function K(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?G(Object(r),!0).forEach((function(t){x(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function V(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=B(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,l=function(){};return{s:l,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:l}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){a=!0,o=e},f:function(){try{i||null==r.return||r.return()}finally{if(a)throw o}}}}function B(e,t){if(e){if("string"==typeof e)return q(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?q(e,t):void 0}}function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}M.displayName="ListBoxItem";var _=e.memo(e.forwardRef((function(l,s){var c=i(),d=e.useContext(t),b=L.getProps(l,d),v=F(e.useState(""),2),g=v[0],h=v[1],O=e.useRef(null),x=e.useRef(null),E=e.useRef(!1),S=(b.onFilterValueChange?b.filterValue:g)||"",w=S&&S.trim().length>0,P={props:b,state:{filterValue:S}},j=L.setMetaData(P);o(L.css.styles,j.isUnstyled,{name:"listbox"});var D=function(e){var t=e.option;b.disabled||$(t)||(b.multiple?T(e.originalEvent,t):N(e.originalEvent,t),E.current=!1)},C=function(){b.disabled||(E.current=!0)},N=function(e,t){var r=X(t),n=!1,l=null;!E.current&&b.metaKeySelection?r?(e.metaKey||e.ctrlKey)&&(l=null,n=!0):(l=U(t),n=!0):(l=r?null:U(t),n=!0);n&&B(e,l)},T=function(e,t){var r=X(t),n=!1,l=null;if(!E&&b.metaKeySelection){var o=e.metaKey||e.ctrlKey;r?(l=o?q(t):[U(t)],n=!0):(l=[].concat(I(l=o&&b.value||[]),[U(t)]),n=!0)}else l=r?q(t):[].concat(I(b.value||[]),[U(t)]),n=!0;n&&b.onChange({originalEvent:e,value:l,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:b.name,id:b.id,value:l}})},A=function(e){x.current&&x.current.scrollToIndex(0);var t=e.value;b.onFilterValueChange?b.onFilterValueChange({originalEvent:e.originalEvent,value:t}):h(t)},G=function(){h(""),b.onFilter&&b.onFilter({filter:""})},B=function(e,t){b.onChange&&b.onChange({originalEvent:e,value:t,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:b.name,id:b.id,value:t}})},q=function(e){return b.value.filter((function(t){return!p.equals(t,U(e),b.dataKey)}))},_=function(){if(null!=b.value&&re){if(!b.optionGroupLabel)return J(b.value,re);for(var e=0;e<re.length;e++){var t=J(b.value,Q(re[e]));if(-1!==t)return{group:e,option:t}}}return-1},R=function(){return b.optionValue?null:b.dataKey},J=function(e,t){var r=R();return t.findIndex((function(t){return p.equals(e,U(t),r)}))},X=function(e){var t=U(e),r=R();return b.multiple&&b.value?b.value.some((function(e){return p.equals(e,t,r)})):p.equals(b.value,t,r)},z=function(e){return b.optionLabel?p.resolveFieldData(e,b.optionLabel):e&&void 0!==e.label?e.label:e},U=function(e){return b.optionValue?p.resolveFieldData(e,b.optionValue):e&&void 0!==e.value?e.value:e},H=function(e){return b.dataKey?p.resolveFieldData(e,b.dataKey):z(e)},$=function(e){return b.optionDisabled?p.isFunction(b.optionDisabled)?b.optionDisabled(e):p.resolveFieldData(e,b.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},Y=function(e){return p.resolveFieldData(e,b.optionGroupLabel)},Q=function(e){return p.resolveFieldData(e,b.optionGroupChildren)},W=function(){if(x.current){var e=_();-1!==e&&setTimeout((function(){return x.current.scrollToIndex(e)}),0)}};e.useImperativeHandle(s,(function(){return{props:b,focus:function(){return f.focusFirstElement(O.current)},getElement:function(){return O.current},getVirtualScroller:function(){return x.current}}})),a((function(){W()}));var Z=function(t,r){return Q(t).map((function(t,n){var l=z(t),o=n+"_"+H(t),i=$(t),a=i?null:b.tabIndex||0;return e.createElement(M,{hostName:"ListBox",key:o,label:l,option:t,style:r,template:b.itemTemplate,selected:X(t),onClick:D,onTouchEnd:C,tabIndex:a,disabled:i,ptCallbacks:j,metaData:P})}))},ee=function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l={height:n.props?n.props.itemSize:void 0};if(b.optionGroupLabel){var o=b.optionGroupTemplate?p.getJSXElement(b.optionGroupTemplate,t,r):p.resolveFieldData(t,b.optionGroupLabel),i=Z(t,l),a=r+"_"+Y(t),u=c({className:j.cx("itemGroup"),style:j.sx("itemGroup",{scrollerOptions:n}),role:"group"},j.ptm("itemGroup"));return e.createElement(e.Fragment,{key:a},e.createElement("li",u,o),i)}var s=z(t),f=r+"_"+H(t),m=$(t),d=m?null:b.tabIndex||0;return e.createElement(M,{hostName:"ListBox",key:f,label:s,option:t,style:l,template:b.itemTemplate,selected:X(t),onClick:D,onTouchEnd:C,tabIndex:d,disabled:m,ptCallbacks:j,metaData:P})},te=function(t,r){var l=c({className:j.cx("emptyMessage")},j.ptm("emptyMessage")),o=p.getJSXElement(t,b)||n(r?"emptyFilterMessage":"emptyMessage");return e.createElement("li",l,o)},re=function(){if(w){var e=S.trim().toLocaleLowerCase(b.filterLocale),t=b.filterBy?b.filterBy.split(","):[b.optionLabel||"label"];if(b.optionGroupLabel){var n,l=[],o=V(b.options);try{for(o.s();!(n=o.n()).done;){var i=n.value,a=r.filter(Q(i),t,e,b.filterMatchMode,b.filterLocale);a&&a.length&&l.push(K(K({},i),{items:a}))}}catch(e){o.e(e)}finally{o.f()}return l}return r.filter(b.options,t,e,b.filterMatchMode,b.filterLocale)}return b.options}(),ne=p.isNotEmpty(b.tooltip),le=L.getOtherProps(b),oe=p.reduceKeys(le,f.ARIA_PROPS),ie=function(){if(b.virtualScrollerOptions){var t=K(K({},b.virtualScrollerOptions),{items:re,onLazyLoad:function(e){return b.virtualScrollerOptions.onLazyLoad(K(K({},e),{filter:re}))},itemTemplate:function(e,t){return e&&ee(e,t.index,t)},contentTemplate:function(t){var r=c(K({ref:t.contentRef,style:j.sx("list",{options:t}),className:j.cx("list",{options:t}),role:"listbox","aria-multiselectable":b.multiple},oe),j.ptm("list"));return e.createElement("ul",r,t.children)}});return e.createElement(m,y({ref:x},t,{pt:j.ptm("virtualScroller")}))}var r=p.isNotEmpty(re)?re.map(ee):w?te(b.emptyFilterMessage,!0):te(b.emptyMessage),n=c(K({className:j.cx("list"),role:"listbox","aria-multiselectable":b.multiple},oe),j.ptm("list"));return e.createElement("ul",n,r)}(),ae=b.filter?e.createElement(k,{hostName:"ListBox",filter:S,filterIcon:b.filterIcon,onFilter:A,resetFilter:G,filterTemplate:b.filterTemplate,disabled:b.disabled,filterPlaceholder:b.filterPlaceholder,filterInputProps:b.filterInputProps,ptCallbacks:j,metaData:P}):null,ue=c({className:j.cx("wrapper"),style:b.listStyle},j.ptm("wrapper")),se=c({ref:O,id:b.id,className:j.cx("root"),style:b.style},L.getOtherProps(b),j.ptm("root"));return e.createElement(e.Fragment,null,e.createElement("div",se,ae,e.createElement("div",ue,ie)),ne&&e.createElement(u,y({target:O,content:b.tooltip},b.tooltipOptions,{pt:j.ptm("tooltip")})))})));_.displayName="ListBox";export{_ as ListBox};
|
|
1
|
+
import*as e from"react";import{PrimeReactContext as t,FilterService as n,localeOption as r}from"primereact/api";import{ComponentBase as o,useHandleStyle as l}from"primereact/componentbase";import{useMergeProps as i,useMountEffect as a}from"primereact/hooks";import{Tooltip as u}from"primereact/tooltip";import{classNames as c,IconUtils as s,ObjectUtils as p,UniqueComponentId as f,DomHandler as d}from"primereact/utils";import{VirtualScroller as m}from"primereact/virtualscroller";import{SearchIcon as b}from"primereact/icons/search";import{InputText as v}from"primereact/inputtext";import{Ripple as y}from"primereact/ripple";function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},h.apply(this,arguments)}function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function x(e,t){if("object"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==g(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function O(e){var t=x(e,"string");return"symbol"===g(t)?t:String(t)}function E(e,t,n){return(t=O(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function S(e){if(Array.isArray(e))return I(e)}function w(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function F(e,t){if(e){if("string"==typeof e)return I(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I(e,t):void 0}}function D(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function P(e){return S(e)||w(e)||F(e)||D()}function L(e){throw new TypeError('"'+e+'" is read-only')}function j(e){if(Array.isArray(e))return e}function N(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],u=!0,c=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return a}}function T(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(e,t){return j(e)||N(e,t)||F(e,t)||T()}var k,K={itemGroup:"p-listbox-item-group",emptyMessage:"p-listbox-empty-message",list:"p-listbox-list",wrapper:function(e){return c("p-listbox-list-wrapper",e.props.listClassName)},root:function(e){var t=e.props;return c("p-listbox p-component",{"p-disabled":t.disabled},t.className)},item:function(e){var t=e.props;return c("p-listbox-item",{"p-highlight":t.selected,"p-focus":t.focusedOptionIndex===t.index,"p-disabled":t.disabled},t.option.className)},filterContainer:"p-listbox-filter-container",filterIcon:"p-listbox-filter-icon",filterInput:"p-listbox-filter",header:"p-listbox-header"},M={itemGroup:function(e){var t=e.scrollerOptions;return{height:t.props?t.props.itemSize:void 0}},list:function(e){return e.props.virtualScrollerOptions?e.options.style:void 0}},A=o.extend({defaultProps:(k={__TYPE:"ListBox",className:null,dataKey:null,disabled:null,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterIcon:null,filterBy:null,filterInputProps:null,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,filterValue:null,selectOnFocus:!1,id:null,itemTemplate:null,listClassName:null,listStyle:null,metaKeySelection:!1},E(E(E(E(E(E(E(E(E(E(k,"selectOnFocus",!1),"autoOptionFocus",!0),"multiple",!1),"onChange",null),"onFilterValueChange",null),"optionDisabled",null),"optionGroupChildren",null),"optionGroupLabel",null),"optionGroupTemplate",null),"optionLabel",null),E(E(E(E(E(E(E(E(E(k,"optionValue",null),"options",null),"style",null),"tabIndex",0),"tooltip",null),"tooltipOptions",null),"value",null),"virtualScrollerOptions",null),"children",void 0)),css:{classes:K,styles:"\n@layer primereact {\n .p-listbox-list-wrapper {\n overflow: auto;\n }\n \n .p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n \n .p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n outline: none;\n }\n \n .p-listbox-filter-container {\n position: relative;\n }\n \n .p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-listbox-filter {\n width: 100%;\n }\n}\n",inlineStyles:M}});function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?G(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var R=e.memo((function(t){var n=i(),r=t.ptCallbacks,o=r.ptm,l=r.cx,a=function(e,n){return o(e,V({hostName:t.hostName},n))},u={filter:function(e){return c(e)},reset:function(){return t.resetFilter()}},c=function(e){t.onFilter&&t.onFilter({originalEvent:e,value:e.target.value})},f=function(){var r=n({className:l("filterIcon")},a("filterIcon")),i=s.getJSXIcon(t.filterIcon||e.createElement(b,r),V({},r),{props:t}),f=n({className:l("header")},a("header")),d=n({className:l("filterContainer")},a("filterContainer")),m=e.createElement("div",d,e.createElement(v,h({type:"text",value:t.filter,onChange:c,className:l("filterInput"),disabled:t.disabled,placeholder:t.filterPlaceholder},t.filterInputProps,{pt:o("filterInput"),unstyled:t.unstyled,__parentMetadata:{parent:t.metaData}})),i);t.filterTemplate&&(m=p.getJSXElement(t.filterTemplate,{className:"p-listbox-filter-container",element:m,filterOptions:u,filterInputChange:c,filterIconClassName:"p-dropdown-filter-icon",props:t}));return e.createElement("div",f,m)}();return e.createElement(e.Fragment,null,f)}));R.displayName="ListBoxHeader";var _=e.memo((function(t){var n=C(e.useState(!1),2),r=n[0],o=n[1],l=i(),a=t.ptCallbacks,u=a.ptm,c=a.cx,s=t.template?p.getJSXElement(t.template,t.option):t.label,f=l({id:t.id,className:c("item",{props:t}),style:t.style,onClick:function(e){return t.onClick(e,t.option,t.index)},onTouchEnd:function(e){t.onTouchEnd&&t.onTouchEnd({originalEvent:e,option:t.option})},onFocus:function(e){o(!0)},onBlur:function(e){o(!1)},tabIndex:"-1","aria-label":t.label,key:t.label,role:"option","aria-selected":t.selected,"aria-disabled":t.disabled,"data-p-disabled":t.disabled},u("item",{hostName:t.hostName,context:{selected:t.selected,disabled:t.disabled,focused:r,focusedOptionIndex:t.focusedOptionIndex}}));return e.createElement("li",f,s,e.createElement(y,null))}));function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?B(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):B(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function J(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=U(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,i=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){a=!0,l=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw l}}}}function U(e,t){if(e){if("string"==typeof e)return X(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?X(e,t):void 0}}function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}_.displayName="ListBoxItem";var z=e.memo(e.forwardRef((function(o,c){var s=i(),b=e.useContext(t),v=A.getProps(o,b),y=C(e.useState(null),2),g=y[0],x=y[1],O=e.useRef(null),E=e.useRef(null),I=e.useRef(null),S=C(e.useState(-1),2),w=S[0],F=S[1],D=C(e.useState(""),2),j=D[0],N=D[1],T=e.useRef(null),k=e.useRef(null),K=e.useRef(f()),M=e.useRef(null),G=e.useRef(!1),V=(v.onFilterValueChange?v.filterValue:j)||"",B=V&&V.trim().length>0,U={props:v,state:{filterValue:V}},X=A.setMetaData(U);l(A.css.styles,X.isUnstyled,{name:"listbox"});var z=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;v.disabled||Ne(t)||(v.multiple?W(e.originalEvent,t):$(e.originalEvent,t),G.current=!1,-1!==n&&x(n))},H=function(){v.disabled||(G.current=!0)},$=function(e,t){var n=De(t),r=!1,o=null;!G.current&&v.metaKeySelection?n?(e.metaKey||e.ctrlKey)&&(o=null,r=!0):(o=Le(t),r=!0):(o=n?null:Le(t),r=!0);r&&Ee(e,o)},W=function(e,t){var n=De(t),r=!1,o=null;if(!G&&v.metaKeySelection){var l=e.metaKey||e.ctrlKey;n?(o=l?Ie(t):[Le(t)],r=!0):(o=[].concat(P(o=l&&v.value||[]),[Le(t)]),r=!0)}else o=n?Ie(t):[].concat(P(v.value||[]),[Le(t)]),r=!0;r&&v.onChange({originalEvent:e,value:o,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:v.name,id:v.id,value:o}})},Y=function(){return p.isNotEmpty(v.value)},Q=function(e){return v.optionGroupLabel&&e.optionGroup&&e.group},Z=function(e){return p.isNotEmpty(e)&&!(Ne(e)||Q(e))},ee=function(e){return Z(e)&&De(e)},te=function(){return Ge.findIndex((function(e){return Z(e)}))},ne=function(e){var t=-1;return Y&&(t=arguments.length>1&&void 0!==arguments[1]&&arguments[1]?-1===(t=ie(e))?le(e):t:-1===(t=le(e))?ie(e):t),t>-1?t:e},re=function(e){var t;return Z(e)&&(null===(t=Pe(e))||void 0===t?void 0:t.toLocaleLowerCase(v.filterLocale).startsWith(searchValue.toLocaleLowerCase(v.filterLocale)))},oe=function(e,t){searchValue=(searchValue||"")+t;var n=-1;p.isNotEmpty(searchValue)&&(-1===(n=-1!==g?-1===(n=Ge.slice(g).findIndex((function(e){return re(e)})))?Ge.slice(0,g).findIndex((function(e){return re(e)})):n+g:Ge.findIndex((function(e){return re(e)})))&&-1===g&&(n=ue()),-1!==n&&ce(e,n)),O.current&&clearTimeout(O.current),O.current=setTimeout((function(){searchValue="",O.current=null}),500)},le=function(e){var t=Y&&e<Ge.length-1?Ge.slice(e+1).findIndex((function(e){return ee(e)})):-1;return t>-1?t+e+1:-1},ie=function(e){var t=Y&&e>0?p.findLastIndex(Ge.slice(0,e),(function(e){return ee(e)})):-1;return t>-1?t:-1},ae=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(-1===t&&(t=ne(n,!0)),-1===n&&(n=ne(t)),-1!==t&&-1!==n){var r=Math.min(t,n),o=Math.max(t,n),l=Ge.slice(r,o+1).filter((function(e){return Z(e)})).map((function(e){return Le(e)}));Ee(e,l)}},ue=function(){var e=findFirstSelectedOptionIndex();return e<0?te():e},ce=function(e,t){g!==t&&(x(t),ge(),v.selectOnFocus&&!v.multiple&&z(e,Ge[t]))},se=function(e){var t,n,r=-1!==g?(n=(t=g)<Ge.length-1?Ge.slice(t+1).findIndex((function(e){return Z(e)})):-1)>-1?n+t+1:t:ue();v.multiple&&e.shiftKey&&ae(e,w,r),ce(e,r),e.preventDefault()},pe=function(e){var t,n,r=-1!==g?(n=(t=g)>0?p.findLastIndex(Ge.slice(0,t),(function(e){return Z(e)})):-1)>-1?n:t:findLastFocusedOptionIndex();v.multiple&&e.shiftKey&&ae(e,r,w),ce(e,r),e.preventDefault()},fe=function(e){-1!==g&&(v.multiple&&e.shiftKey?ae(e,g):z(e,Ge[g])),e.preventDefault()},de=function(e){fe(e)},me=function(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1])e.currentTarget.setSelectionRange(0,0),x(-1);else{var t=e.metaKey||e.ctrlKey,n=te();v.multiple&&e.shiftKey&&t&&ae(e,n,w),ce(e,n)}e.preventDefault()},be=function(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var t=e.currentTarget,n=t.value.length;t.setSelectionRange(n,n),L("focusedOptionIndex")}else{var r=e.metaKey||e.ctrlKey,o=p.findLastIndex(Ge,(function(e){return Z(e)}));v.multiple&&e.shiftKey&&r&&ae(e,w,o),ce(e,o)}e.preventDefault()},ve=function(e){ge(0),e.preventDefault()},ye=function(e){ge(Ge.length-1),e.preventDefault()},he=function(e){var t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":se(e);break;case"ArrowUp":pe(e);break;case"Home":me(e);break;case"End":be(e);break;case"PageDown":ye(e);break;case"PageUp":ve(e);break;case"Enter":case"NumpadEnter":case"Space":de(e),e.preventDefault();break;case"Tab":break;case"ShiftLeft":case"ShiftRight":F(g);break;default:if(v.multiple&&"KeyA"===e.code&&t){var n=Ge.filter((function(e){return Z(e)})).map((function(e){return Le(e)}));Ee(e,n),e.preventDefault();break}!t&&p.isPrintableCharacter(e.key)&&(oe(e,e.key),e.preventDefault())}},ge=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;setTimeout((function(){var t=-1!==e?"".concat(K.current,"_").concat(e):-1!==g?"".concat(K.current,"_").concat(g):null,n=M.current.querySelector('li[id="'.concat(t,'"]'));n?n.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"}):v.virtualScrollerOptions&&k.current&&k.current.scrollToIndex(-1!==e?e:v.focusedOptionIndex)}),0)},xe=function(e){k.current&&k.current.scrollToIndex(0);var t=e.value;v.onFilterValueChange?v.onFilterValueChange({originalEvent:e.originalEvent,value:t}):N(t)},Oe=function(){N(""),v.onFilter&&v.onFilter({filter:""})},Ee=function(e,t){v.onChange&&v.onChange({originalEvent:e,value:t,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:v.name,id:v.id,value:t}})},Ie=function(e){return v.value.filter((function(t){return!p.equals(t,Le(e),v.dataKey)}))},Se=function(){if(null!=v.value&&Ge){if(!v.optionGroupLabel)return Fe(v.value,Ge);for(var e=0;e<Ge.length;e++){var t=Fe(v.value,Ce(Ge[e]));if(-1!==t)return{group:e,option:t}}}return-1},we=function(){return v.optionValue?null:v.dataKey},Fe=function(e,t){var n=we();return t.findIndex((function(t){return p.equals(e,Le(t),n)}))},De=function(e){var t=Le(e),n=we();return v.multiple&&v.value?v.value.some((function(e){return p.equals(e,t,n)})):p.equals(v.value,t,n)},Pe=function(e){return v.optionLabel?p.resolveFieldData(e,v.optionLabel):e&&void 0!==e.label?e.label:e},Le=function(e){return v.optionValue?p.resolveFieldData(e,v.optionValue):e&&void 0!==e.value?e.value:e},je=function(e){return v.dataKey?p.resolveFieldData(e,v.dataKey):Pe(e)},Ne=function(e){return v.optionDisabled?p.isFunction(v.optionDisabled)?v.optionDisabled(e):p.resolveFieldData(e,v.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},Te=function(e){return p.resolveFieldData(e,v.optionGroupLabel)},Ce=function(e){return p.resolveFieldData(e,v.optionGroupChildren)},ke=function(){if(k.current){var e=Se();-1!==e&&setTimeout((function(){return k.current.scrollToIndex(e)}),0)}};e.useImperativeHandle(c,(function(){return{props:v,focus:function(){return d.focusFirstElement(T.current)},getElement:function(){return T.current},getVirtualScroller:function(){return k.current}}})),a((function(){ke()}));var Ke=function(t,n){return Ce(t).map((function(t,r){var o=Pe(t),l=r+"_"+je(t),i=Ne(t);return e.createElement(_,{id:K.current+"_"+r,hostName:"ListBox",key:l,label:o,option:t,style:n,template:v.itemTemplate,selected:De(t),onClick:z,index:r,focusedOptionIndex:g,onTouchEnd:H,disabled:i,ptCallbacks:X,metaData:U})}))},Me=function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o={height:r.props?r.props.itemSize:void 0};if(v.optionGroupLabel){var l=v.optionGroupTemplate?p.getJSXElement(v.optionGroupTemplate,t,n):p.resolveFieldData(t,v.optionGroupLabel),i=Ke(t,o),a=n+"_"+Te(t),u=s({className:X.cx("itemGroup"),style:X.sx("itemGroup",{scrollerOptions:r}),role:"group"},X.ptm("itemGroup"));return e.createElement(e.Fragment,{key:a},e.createElement("li",u,l),i)}var c=Pe(t),f=n+"_"+je(t),d=Ne(t);return e.createElement(_,{id:K.current+"_"+n,hostName:"ListBox",key:f,label:c,index:n,focusedOptionIndex:g,option:t,style:o,template:v.itemTemplate,selected:De(t),onClick:z,onTouchEnd:H,disabled:d,ptCallbacks:X,metaData:U})},Ae=function(t,n){var o=s({className:X.cx("emptyMessage")},X.ptm("emptyMessage")),l=p.getJSXElement(t,v)||r(n?"emptyFilterMessage":"emptyMessage");return e.createElement("li",o,l)},Ge=function(){if(B){var e=V.trim().toLocaleLowerCase(v.filterLocale),t=v.filterBy?v.filterBy.split(","):[v.optionLabel||"label"];if(v.optionGroupLabel){var r,o=[],l=J(v.options);try{for(l.s();!(r=l.n()).done;){var i=r.value,a=n.filter(Ce(i),t,e,v.filterMatchMode,v.filterLocale);a&&a.length&&o.push(q(q({},i),{items:a}))}}catch(e){l.e(e)}finally{l.f()}return o}return n.filter(v.options,t,e,v.filterMatchMode,v.filterLocale)}return v.options}(),Ve=p.isNotEmpty(v.tooltip),Re=A.getOtherProps(v),_e=p.reduceKeys(Re,d.ARIA_PROPS),Be=function(){if(v.virtualScrollerOptions){var t=q(q({},v.virtualScrollerOptions),{items:Ge,onLazyLoad:function(e){return v.virtualScrollerOptions.onLazyLoad(q(q({},e),{filter:Ge}))},itemTemplate:function(e,t){return e&&Me(e,t.index,t)},contentTemplate:function(t){var n=s(q({ref:t.contentRef,style:X.sx("list",{options:t}),className:X.cx("list",{options:t}),role:"listbox",tabIndex:"-1","aria-multiselectable":v.multiple},_e),X.ptm("list"));return e.createElement("ul",n,t.children)}});return e.createElement(m,h({ref:k},t,{pt:X.ptm("virtualScroller")}))}var n=p.isNotEmpty(Ge)?Ge.map(Me):B?Ae(v.emptyFilterMessage,!0):Ae(v.emptyMessage),r=s(q({ref:M,className:X.cx("list"),role:"listbox","aria-multiselectable":v.multiple,tabIndex:"-1",onKeyDown:he},_e),X.ptm("list"));return e.createElement("ul",r,n)}(),qe=v.filter?e.createElement(R,{hostName:"ListBox",filter:V,filterIcon:v.filterIcon,onFilter:xe,resetFilter:Oe,filterTemplate:v.filterTemplate,disabled:v.disabled,filterPlaceholder:v.filterPlaceholder,filterInputProps:v.filterInputProps,ptCallbacks:X,metaData:U}):null,Je=s({className:X.cx("wrapper"),style:v.listStyle},X.ptm("wrapper")),Ue=s({ref:T,id:v.id,className:X.cx("root"),style:v.style},A.getOtherProps(v),X.ptm("root")),Xe=s({ref:E,role:"presentation","aria-hidden":"true",className:"p-hidden-accessible p-hidden-focusable",tabIndex:v.disabled?-1:v.tabIndex,onFocus:function(){d.focus(M.current);var e=d.getFirstFocusableElement(T.current,':not([data-p-hidden-focusable="true"])');I.current.tabIndex=d.isElement(e)?void 0:-1,E.current.tabIndex=-1},"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},X.ptm("hiddenFirstFocusableEl")),ze=s({ref:I,role:"presentation","aria-hidden":"true",className:"p-hidden-accessible p-hidden-focusable",tabIndex:v.disabled?-1:v.tabIndex,onFocus:function(e){if(e.relatedTarget===M.current){var t=d.getFirstFocusableElement(T.current,':not([data-p-hidden-focusable="true"])');d.focus(t),E.current.tabIndex=void 0}else d.focus(E.current);astHiddenFocusableElement.current.tabIndex=-1},"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},X.ptm("hiddenFirstFocusableEl"));return e.createElement(e.Fragment,null,e.createElement("div",Ue,e.createElement("span",Xe),qe,e.createElement("div",Je,Be),e.createElement("span",ze)),Ve&&e.createElement(u,h({target:T,content:v.tooltip},v.tooltipOptions,{pt:X.ptm("tooltip")})))})));z.displayName="ListBox";export{z as ListBox};
|