@cloudoperators/juno-ui-components 2.30.0 → 2.32.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/build/AppBody.component-C9lIZEeC.js +5 -0
- package/build/AppBody.js +1 -1
- package/build/AppShell.component-BNckh29Y.js +1 -0
- package/build/AppShell.js +1 -1
- package/build/Badge.component-CLaF9Up0.js +15 -0
- package/build/Badge.js +1 -1
- package/build/Box.component-V4TDnAgb.js +10 -0
- package/build/Box.js +1 -1
- package/build/Breadcrumb.component-BSGoKK2S.js +1 -0
- package/build/Breadcrumb.js +1 -1
- package/build/BreadcrumbItem.component-C99Dj0IW.js +14 -0
- package/build/BreadcrumbItem.js +1 -1
- package/build/Button.component-liw0UuGT.js +56 -0
- package/build/Button.js +1 -1
- package/build/ButtonRow.component-CzhKhK_N.js +1 -0
- package/build/ButtonRow.js +1 -1
- package/build/Checkbox.component-DgDvGt3W.js +77 -0
- package/build/Checkbox.js +1 -1
- package/build/CheckboxGroup.component-B_uoXPNo.js +33 -0
- package/build/CheckboxGroup.js +1 -1
- package/build/CheckboxRow.component-DzLTV4cd.js +1 -0
- package/build/CheckboxRow.js +1 -1
- package/build/Code.component-mlP3SwWy.js +4 -0
- package/build/Code.js +1 -1
- package/build/CodeBlock.component-CZxYJPlk.js +45 -0
- package/build/CodeBlock.js +1 -1
- package/build/ComboBox.component-CVfbabwk.js +115 -0
- package/build/ComboBox.js +1 -1
- package/build/ComboBoxOption.js +39 -1
- package/build/Container.component-xJsCyUG8.js +4 -0
- package/build/Container.js +1 -1
- package/build/ContentContainer.component-wLeOohOT.js +8 -0
- package/build/ContentContainer.js +1 -1
- package/build/ContentHeading.component-bhh41uEk.js +6 -0
- package/build/ContentHeading.js +1 -1
- package/build/ContextMenu.component-B24LaAwt.js +16 -0
- package/build/ContextMenu.js +1 -1
- package/build/DataGrid.component-Dt5OQxY5.js +4 -0
- package/build/DataGrid.js +1 -1
- package/build/DataGridCell.component-Gy81mVxf.js +13 -0
- package/build/DataGridCell.js +1 -1
- package/build/DataGridCheckboxCell.js +1 -1
- package/build/DataGridFoot.js +1 -1
- package/build/DataGridHeadCell.component-4DKn7eQ9.js +6 -0
- package/build/DataGridHeadCell.js +1 -1
- package/build/DataGridRow.component-CBEnaLYU.js +3 -0
- package/build/DataGridRow.js +1 -1
- package/build/DataGridToolbar.component-BfgKal7m.js +10 -0
- package/build/DataGridToolbar.js +1 -1
- package/build/{DateTimePicker.component-C2tX_eji.js → DateTimePicker.component-BMkIzxY0.js} +3 -3
- package/build/DateTimePicker.js +1 -1
- package/build/Form.component-C-FIXwo-.js +7 -0
- package/build/Form.js +1 -1
- package/build/FormHint.component-C7TZlbwG.js +10 -0
- package/build/FormHint.js +1 -1
- package/build/FormRow.component-CbFLRaDK.js +3 -0
- package/build/FormRow.js +1 -1
- package/build/FormSection.component-DDGHfPV5.js +8 -0
- package/build/FormSection.js +1 -1
- package/build/FormattedText.component-Oc4b8IPi.js +1 -0
- package/build/FormattedText.js +1 -1
- package/build/Grid.component-BG4AMsb5.js +1 -0
- package/build/Grid.js +1 -1
- package/build/GridColumn.component-BmzNy9N0.js +4 -0
- package/build/GridColumn.js +1 -1
- package/build/GridRow.component-Cf7FxOjh.js +5 -0
- package/build/GridRow.js +1 -1
- package/build/Icon.component-ClhnejN0.js +20 -0
- package/build/Icon.js +1 -1
- package/build/InputGroup.component-Cjl_JYFs.js +4 -0
- package/build/InputGroup.js +1 -1
- package/build/IntroBox.component-BmoEq45u.js +31 -0
- package/build/IntroBox.js +1 -1
- package/build/JsonViewer.component-lHoI-LCD.js +1 -0
- package/build/JsonViewer.js +1 -1
- package/build/Label.component-BYZfB1oK.js +37 -0
- package/build/Label.js +1 -1
- package/build/LoadingIndicator.component-CsNzFwe2.js +1 -0
- package/build/LoadingIndicator.js +1 -1
- package/build/MainContainer.component-DV_tQlek.js +5 -0
- package/build/MainContainer.js +1 -1
- package/build/MainContainerInner.component-DhiRjgBx.js +14 -0
- package/build/MainContainerInner.js +1 -1
- package/build/MainTabs.component-DtTHcxTg.js +1 -0
- package/build/MainTabs.js +1 -1
- package/build/Menu.component-vFmV6jCc.js +17 -0
- package/build/Menu.js +1 -1
- package/build/MenuItem.component-ddsy5_so.js +32 -0
- package/build/MenuItem.js +1 -1
- package/build/MenuSection.component-CteHwLJX.js +11 -0
- package/build/MenuSection.js +1 -1
- package/build/Message.component-A7V1Flcl.js +27 -0
- package/build/Message.js +1 -1
- package/build/Modal.js +31 -1
- package/build/ModalFooter.component-BK0doJJO.js +11 -0
- package/build/ModalFooter.js +1 -1
- package/build/NativeSelect.component-BaWaK11P.js +63 -0
- package/build/NativeSelect.js +1 -1
- package/build/NativeSelectOption.component-BWRxjRz0.js +1 -0
- package/build/NativeSelectOption.js +1 -1
- package/build/NativeSelectOptionGroup.component-GFuGvLsz.js +1 -0
- package/build/NativeSelectOptionGroup.js +1 -1
- package/build/Navigation.component-DaabNHev.js +3 -0
- package/build/Navigation.js +1 -1
- package/build/NavigationItem.component-DI0SMWsi.js +19 -0
- package/build/NavigationItem.js +1 -1
- package/build/PageFooter.component-CeD5DCjY.js +18 -0
- package/build/PageFooter.js +1 -1
- package/build/PageHeader.component-DqYR6Yyo.js +33 -0
- package/build/PageHeader.js +1 -1
- package/build/{Stack.component-fYvcWRNi.js → Pagination.component-CHvISPAw.js} +51 -2
- package/build/Pagination.js +1 -1
- package/build/Pill.component-BjuSYnxs.js +28 -0
- package/build/Pill.js +1 -1
- package/build/PortalProvider.component-CVldWJIG.js +1 -0
- package/build/PortalProvider.js +1 -1
- package/build/Radio.component-DiZc-eBh.js +67 -0
- package/build/Radio.js +1 -1
- package/build/RadioGroup.component-XH90kWYR.js +33 -0
- package/build/RadioGroup.js +1 -1
- package/build/RadioRow.component-B-HE4xRC.js +1 -0
- package/build/RadioRow.js +1 -1
- package/build/SearchInput.component-QwymruVn.js +1 -0
- package/build/SearchInput.js +1 -1
- package/build/SecretText.component-jsJWpOK1.js +40 -0
- package/build/SecretText.js +1 -40
- package/build/Select.component-CwIj9-lM.js +64 -0
- package/build/{Select.component-BfgCOLpX.js → Select.component-DNPTrdQs.js} +1 -1
- package/build/Select.js +1 -1
- package/build/SelectOption.js +42 -1
- package/build/{SelectRow.component-D3y6s-A2.js → SelectRow.component-D0F2VY1t.js} +1 -1
- package/build/SelectRow.js +1 -1
- package/build/ShadowRoot.component-DU_Ra-K3.js +1 -0
- package/build/ShadowRoot.js +1 -1
- package/build/SideNavigation.component-D9IErRcv.js +4 -0
- package/build/SideNavigation.js +1 -1
- package/build/SideNavigationItem.component-5ChkLMgz.js +17 -0
- package/build/SideNavigationItem.js +1 -1
- package/build/Spinner.component-CO095KvL.js +16 -0
- package/build/Spinner.js +1 -1
- package/build/Stack.component-Pe-1jf3W.js +5 -0
- package/build/Stack.js +1 -1
- package/build/StyleProvider.js +1 -1
- package/build/Switch.component-1reoDymi.js +54 -0
- package/build/Switch.js +1 -1
- package/build/Tab.component-SEUcCOS8.js +16 -0
- package/build/Tab.js +1 -1
- package/build/TabList.component-sHDWBb5I.js +12 -0
- package/build/TabList.js +1 -1
- package/build/TabNavigation.component-Cc2F9AVl.js +8 -0
- package/build/TabNavigation.js +1 -1
- package/build/TabNavigationItem.component-D9KvESL0.js +22 -0
- package/build/TabNavigationItem.js +1 -1
- package/build/TabPanel.component-DlnS5hSa.js +1 -0
- package/build/TabPanel.js +1 -1
- package/build/Tabs.component-BRM3cTLV.js +1 -0
- package/build/Tabs.js +1 -1
- package/build/TextInput.component-AyfJ3U8z.js +59 -0
- package/build/TextInput.js +1 -1
- package/build/Textarea.component-DgYR9jem.js +58 -0
- package/build/Textarea.js +1 -1
- package/build/{Textarea.component-4fIvQVeJ.js → TextareaRow.component-DSJ_PFIw.js} +2 -2
- package/build/TextareaRow.js +1 -1
- package/build/Toast.component-x0WA9szy.js +12 -0
- package/build/Toast.js +1 -1
- package/build/Tooltip.component-AWJGzfXT.js +1 -0
- package/build/Tooltip.js +1 -1
- package/build/TooltipContent.component-Go8u2Bz4.js +14 -0
- package/build/TooltipContent.js +1 -1
- package/build/TooltipTrigger.component-CYpGzL4I.js +1 -0
- package/build/TooltipTrigger.js +1 -1
- package/build/TopNavigation.component-CkGidYsu.js +5 -0
- package/build/TopNavigation.js +1 -1
- package/build/TopNavigationItem.component-CqIlCTjB.js +26 -0
- package/build/TopNavigationItem.js +1 -1
- package/build/{ComboBox.component-BpssbOYC.js → combobox-JmdrroKh.js} +2 -116
- package/build/components/Code/Code.component.d.ts +11 -0
- package/build/components/Code/Code.component.d.ts.map +1 -0
- package/build/components/Code/index.d.ts +2 -0
- package/build/components/Code/index.d.ts.map +1 -0
- package/build/components/ComboBox/ComboBox.component.d.ts +69 -0
- package/build/components/ComboBox/ComboBox.component.d.ts.map +1 -0
- package/build/components/ComboBox/index.d.ts +2 -0
- package/build/components/ComboBox/index.d.ts.map +1 -0
- package/build/components/ComboBoxOption/ComboBoxOption.component.d.ts +15 -0
- package/build/components/ComboBoxOption/ComboBoxOption.component.d.ts.map +1 -0
- package/build/components/ComboBoxOption/index.d.ts +2 -0
- package/build/components/ComboBoxOption/index.d.ts.map +1 -0
- package/build/components/SecretText/SecretText.component.d.ts +78 -0
- package/build/components/SecretText/SecretText.component.d.ts.map +1 -0
- package/build/components/SecretText/index.d.ts +2 -0
- package/build/components/SecretText/index.d.ts.map +1 -0
- package/build/{floating-ui.react-dom-DmTNS6Kr.js → floating-ui.react-dom-Bx8TUz-v.js} +1 -1
- package/build/{headlessui-float-lyiwAWIX.js → headlessui-float-BQHnLFxQ.js} +1 -1
- package/build/hooks/useEndlessScrollList.d.ts +17 -0
- package/build/hooks/useEndlessScrollList.d.ts.map +1 -0
- package/build/hooks/useEndlessScrollList.js +60 -0
- package/build/hooks/useLocalStorage.d.ts.map +1 -1
- package/build/index.js +154 -2
- package/build/withDeprecationWarning.component-CsAFJ740.js +1 -0
- package/build/withDeprecationWarning.js +1 -1
- package/package.json +1 -1
- package/build/AppBody.component-DMNphrA9.js +0 -1
- package/build/AppShell.component-kPo9ejh-.js +0 -1
- package/build/Badge.component-Bw_Sw1Jl.js +0 -1
- package/build/Box.component-B-zlG37z.js +0 -1
- package/build/Breadcrumb.component-DmLZCJ80.js +0 -1
- package/build/BreadcrumbItem.component-himz8R38.js +0 -1
- package/build/Button.component-Ck0-XKMD.js +0 -1
- package/build/ButtonRow.component-CgfANnke.js +0 -1
- package/build/ButtonRow.component-CnJPyZ99.js +0 -1
- package/build/Checkbox.component-DxULmNji.js +0 -1
- package/build/CheckboxGroup.component-DJN7waSM.js +0 -1
- package/build/CheckboxRow.component-CrN2DXEm.js +0 -1
- package/build/Code.component-w7x4oiMK.js +0 -4
- package/build/CodeBlock.component-CXDUnHIb.js +0 -1
- package/build/ComboBoxOption.component-D7XdDUph.js +0 -39
- package/build/Container.component-B8M3UgGG.js +0 -1
- package/build/ContentContainer.component-rfZz78lB.js +0 -1
- package/build/ContentHeading.component-Io-M-spm.js +0 -1
- package/build/ContextMenu.component-DyB2n7er.js +0 -1
- package/build/DataGrid.component-BBT0bs34.js +0 -1
- package/build/DataGridCell.component-DTZCr2iq.js +0 -1
- package/build/DataGridHeadCell.component-Ce2yeOu8.js +0 -1
- package/build/DataGridRow.component-D0MKrB0t.js +0 -1
- package/build/DataGridToolbar.component-BxGtUy7D.js +0 -1
- package/build/Form.component-D-BE29tV.js +0 -1
- package/build/FormHint.component-B30ehV71.js +0 -1
- package/build/FormRow.component--LSv8Yz8.js +0 -1
- package/build/FormSection.component-D-txM2wI.js +0 -1
- package/build/FormattedText.component-Dv5KRlOH.js +0 -1
- package/build/Grid.component-DhdNobry.js +0 -1
- package/build/GridColumn.component-Dn_zRSnd.js +0 -1
- package/build/GridRow.component-DP4HP_Ai.js +0 -1
- package/build/Icon.component-7-ap-6Ys.js +0 -1
- package/build/InputGroup.component-BKBRJie5.js +0 -1
- package/build/IntroBox.component-BuW5vo-r.js +0 -1
- package/build/JsonViewer.component-i75ln2HG.js +0 -1
- package/build/Label.component-TbF3yilt.js +0 -1
- package/build/LoadingIndicator.component-CjUcoOtA.js +0 -1
- package/build/MainContainer.component-beO5Qib0.js +0 -1
- package/build/MainContainerInner.component-Dp6YCm8D.js +0 -1
- package/build/MainTabs.component-C4jnzeW8.js +0 -1
- package/build/Menu.component-B2zPLmdP.js +0 -1
- package/build/MenuItem.component-2A91klk9.js +0 -1
- package/build/MenuSection.component-CXCYKlVr.js +0 -1
- package/build/Message.component-COHT30fL.js +0 -1
- package/build/ModalFooter.component-vqu5JEqH.js +0 -1
- package/build/NativeSelect.component-BeYgemsP.js +0 -1
- package/build/NativeSelectOption.component-CLFcWbs7.js +0 -1
- package/build/NativeSelectOptionGroup.component-B9j74Fm2.js +0 -1
- package/build/Navigation.component-Q2fi8-qR.js +0 -1
- package/build/NavigationItem.component-DcH7SF-F.js +0 -1
- package/build/PageFooter.component-CrlDnfPd.js +0 -1
- package/build/PageHeader.component-QuQOQj_P.js +0 -1
- package/build/Pagination.component-6CTFGCb-.js +0 -50
- package/build/Pill.component-CLGgHKga.js +0 -1
- package/build/PortalProvider.component-nShveTMU.js +0 -1
- package/build/Radio.component-qjlCYiuP.js +0 -1
- package/build/RadioGroup.component-Cj0bQHOM.js +0 -1
- package/build/RadioRow.component-CqrB8Bvr.js +0 -1
- package/build/SearchInput.component-CMboCbvO.js +0 -1
- package/build/Select.component-BpoPsXOT.js +0 -1
- package/build/ShadowRoot.component-DZn4gLKB.js +0 -1
- package/build/SideNavigation.component-D9A0_YjX.js +0 -1
- package/build/SideNavigationItem.component-EiOe7rV_.js +0 -1
- package/build/Spinner.component-B_OKKh5D.js +0 -1
- package/build/Stack.component-BNRLhyTo.js +0 -1
- package/build/Switch.component-BxCFYGD_.js +0 -1
- package/build/Tab.component-o-IJCaGX.js +0 -1
- package/build/TabList.component-DeI4QJVH.js +0 -1
- package/build/TabNavigation.component-DlfET9Dg.js +0 -1
- package/build/TabNavigationItem.component-CgTEvAMf.js +0 -1
- package/build/TabPanel.component-CSMpnrRv.js +0 -1
- package/build/Tabs.component-NQTjUypo.js +0 -1
- package/build/TextInput.component-D1qpmHfA.js +0 -1
- package/build/Textarea.component-BrJM-k2b.js +0 -1
- package/build/TextareaRow.component-DfVYxpvo.js +0 -1
- package/build/Toast.component-Ck1OSJRg.js +0 -1
- package/build/Tooltip.component-D23JdNpf.js +0 -1
- package/build/TooltipContent.component-A3crwGIj.js +0 -1
- package/build/TooltipTrigger.component-D5levpwF.js +0 -1
- package/build/TopNavigation.component-gPpoiPKf.js +0 -1
- package/build/TopNavigationItem.component-C99GMBgq.js +0 -1
- package/build/tslib.es6-bjGg6Bxl.js +0 -1
- package/build/withDeprecationWarning.component-DQTD5UdI.js +0 -1
|
@@ -1,118 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import*as React from"react";import React__default,{useRef,useEffect,createContext,useReducer,createRef,useCallback,useMemo,useContext,useState,Fragment}from"react";import{flushSync}from"react-dom";import{T,e,u as u$1,s as s$1,i}from"./form-DXIqO3qN.js";import{o,O,U,u,l,a as y,p,s,d,x,C,I,y as y$1,n,T as T$1,b as u$2,q as s$2,c as u$3,f as c,e as o$1,r,g as o$2,t as n$1,h as f,k as I$1}from"./keyboard-D0PLkOsr.js";import{F}from"./use-tree-walker-BOLu2dNf.js";function memo(a,b,c){var d=Math.max,e=Math.min,f=Math.round;let g,h=c.initialDeps??[];return()=>{var i,j,k,l;let m;c.key&&(null==(i=c.debug)?void 0:i.call(c))&&(m=Date.now());const n=a(),o=n.length!==h.length||n.some((a,b)=>h[b]!==a);if(!o)return g;h=n;let p;if(c.key&&(null==(j=c.debug)?void 0:j.call(c))&&(p=Date.now()),g=b(...n),c.key&&(null==(k=c.debug)?void 0:k.call(c))){const a=f(100*(Date.now()-m))/100,b=f(100*(Date.now()-p))/100,g=(a,b)=>{for(a+="";a.length<b;)a=" "+a;return a};console.info(`%c⏱ ${g(b,5)} /${g(a,5)} ms`,`
|
|
2
2
|
font-size: .6rem;
|
|
3
3
|
font-weight: bold;
|
|
4
|
-
color: hsl(${d(0,e(120-120*(b/16),120))}deg 100% 31%);`,null==c?void 0:c.key)}return null==(l=null==c?void 0:c.onChange)?void 0:l.call(c,g),g}}function notUndefined(a){if(void 0===a)throw new Error(`Unexpected undefined${""}`);else return a}const approxEqual=(c,a)=>1>Math.abs(c-a),debounce=(a,b,c)=>{let d;return function(){for(var e=arguments.length,f=Array(e),g=0;g<e;g++)f[g]=arguments[g];a.clearTimeout(d),d=a.setTimeout(()=>b.apply(this,f),c)}},defaultKeyExtractor=a=>a,defaultRangeExtractor=a=>{const b=Math.max(a.startIndex-a.overscan,0),c=Math.min(a.endIndex+a.overscan,a.count-1),d=[];for(let e=b;e<=c;e++)d.push(e);return d},observeElementRect=(a,b)=>{var c=Math.round;const d=a.scrollElement;if(!d)return;const e=a.targetWindow;if(!e)return;const f=a=>{const{width:d,height:e}=a;b({width:c(d),height:c(e)})};if(f(d.getBoundingClientRect()),!e.ResizeObserver)return()=>{};const g=new e.ResizeObserver(a=>{const b=a[0];if(null==b?void 0:b.borderBoxSize){const a=b.borderBoxSize[0];if(a)return void f({width:a.inlineSize,height:a.blockSize})}f(d.getBoundingClientRect())});return g.observe(d,{box:"border-box"}),()=>{g.unobserve(d)}},addEventListenerOptions={passive:!0},supportsScrollend=!("undefined"!=typeof window)||"onscrollend"in window,observeElementOffset=(a,b)=>{const c=a.scrollElement;if(!c)return;const d=a.targetWindow;if(!d)return;let e=0;const f=supportsScrollend?()=>void 0:debounce(d,()=>{b(e,!1)},a.options.isScrollingResetDelay),g=d=>()=>{const{horizontal:g,isRtl:h}=a.options;e=g?c.scrollLeft*(h&&-1||1):c.scrollTop,f(),b(e,d)},h=g(!0),i=g(!1);return i(),c.addEventListener("scroll",h,addEventListenerOptions),c.addEventListener("scrollend",i,addEventListenerOptions),()=>{c.removeEventListener("scroll",h),c.removeEventListener("scrollend",i)}},measureElement=(a,b,c)=>{var d=Math.round;if(null==b?void 0:b.borderBoxSize){const a=b.borderBoxSize[0];if(a){const b=d(a[c.options.horizontal?"inlineSize":"blockSize"]);return b}}return d(a.getBoundingClientRect()[c.options.horizontal?"width":"height"])},elementScroll=(a,b,c)=>{let{adjustments:e=0,behavior:d}=b;var f,g;null==(g=null==(f=c.scrollElement)?void 0:f.scrollTo)?void 0:g.call(f,{[c.options.horizontal?"left":"top"]:a+e,behavior:d})};class Virtualizer{constructor(a){var b=Math.max,c=Math.min,d=this;this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let a=null;const b=()=>a?a:this.targetWindow&&this.targetWindow.ResizeObserver?a=new this.targetWindow.ResizeObserver(a=>{a.forEach(a=>{this._measureElement(a.target,a)})}):null;return{disconnect:()=>{var c;null==(c=b())?void 0:c.disconnect(),a=null},observe:a=>{var c;return null==(c=b())?void 0:c.observe(a,{box:"border-box"})},unobserve:a=>{var c;return null==(c=b())?void 0:c.unobserve(a)}}})(),this.range=null,this.setOptions=a=>{Object.entries(a).forEach(b=>{let[c,d]=b;"undefined"==typeof d&&delete a[c]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:defaultKeyExtractor,rangeExtractor:defaultRangeExtractor,onChange:()=>{},measureElement,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,...a}},this.notify=a=>{var b,c;null==(c=(b=this.options).onChange)?void 0:c.call(b,this,a)},this.maybeNotify=memo(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),a=>{this.notify(a)},{key:"production"!==process.env.NODE_ENV&&"maybeNotify",debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(a=>a()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var a;const b=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==b){if(this.cleanup(),!b)return void this.maybeNotify();this.scrollElement=b,this.targetWindow=this.scrollElement&&"ownerDocument"in this.scrollElement?this.scrollElement.ownerDocument.defaultView:(null==(a=this.scrollElement)?void 0:a.window)??null,this.elementsCache.forEach(a=>{this.observer.observe(a)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,a=>{this.scrollRect=a,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(a,b)=>{this.scrollAdjustments=0,this.scrollDirection=b?this.getScrollOffset()<a?"forward":"backward":null,this.scrollOffset=a,this.isScrolling=b,this.maybeNotify()}))}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??("function"==typeof this.options.initialOffset?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(a,b)=>{const c=new Map,d=new Map;for(let e=b-1;0<=e;e--){const b=a[e];if(c.has(b.lane))continue;const f=d.get(b.lane);if(null==f||b.end>f.end?d.set(b.lane,b):b.end<f.end&&c.set(b.lane,!0),c.size===this.options.lanes)break}return d.size===this.options.lanes?Array.from(d.values()).sort((c,a)=>c.end===a.end?c.index-a.index:c.end-a.end)[0]:void 0},this.getMeasurementOptions=memo(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(a,b,c,d,e)=>(this.pendingMeasuredCacheIndexes=[],{count:a,paddingStart:b,scrollMargin:c,getItemKey:d,enabled:e}),{key:!1}),this.getMeasurements=memo(()=>[this.getMeasurementOptions(),this.itemSizeCache],(a,b)=>{let{count:d,paddingStart:e,scrollMargin:f,getItemKey:g,enabled:h}=a;if(!h)return this.measurementsCache=[],this.itemSizeCache.clear(),[];0===this.measurementsCache.length&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(a=>{this.itemSizeCache.set(a.key,a.size)}));const j=0<this.pendingMeasuredCacheIndexes.length?c(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];const k=this.measurementsCache.slice(0,j);for(let c=j;c<d;c++){const a=g(c),d=1===this.options.lanes?k[c-1]:this.getFurthestMeasurement(k,c),h=d?d.end+this.options.gap:e+f,i=b.get(a),j="number"==typeof i?i:this.options.estimateSize(c),l=d?d.lane:c%this.options.lanes;k[c]={index:c,start:h,size:j,end:h+j,key:a,lane:l}}return this.measurementsCache=k,k},{key:"production"!==process.env.NODE_ENV&&"getMeasurements",debug:()=>this.options.debug}),this.calculateRange=memo(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset()],(a,b,c)=>this.range=0<a.length&&0<b?calculateRange({measurements:a,outerSize:b,scrollOffset:c}):null,{key:"production"!==process.env.NODE_ENV&&"calculateRange",debug:()=>this.options.debug}),this.getIndexes=memo(()=>[this.options.rangeExtractor,this.calculateRange(),this.options.overscan,this.options.count],(a,b,c,d)=>null===b?[]:a({startIndex:b.startIndex,endIndex:b.endIndex,overscan:c,count:d}),{key:"production"!==process.env.NODE_ENV&&"getIndexes",debug:()=>this.options.debug}),this.indexFromElement=a=>{const b=this.options.indexAttribute,c=a.getAttribute(b);return c?parseInt(c,10):(console.warn(`Missing attribute name '${b}={index}' on measured element.`),-1)},this._measureElement=(a,b)=>{const c=this.indexFromElement(a),d=this.measurementsCache[c];if(!d)return;const e=d.key,f=this.elementsCache.get(e);f!==a&&(f&&this.observer.unobserve(f),this.observer.observe(a),this.elementsCache.set(e,a)),a.isConnected&&this.resizeItem(c,this.options.measureElement(a,b,this))},this.resizeItem=(a,b)=>{const c=this.measurementsCache[a];if(!c)return;const d=this.itemSizeCache.get(c.key)??c.size,e=b-d;0!==e&&((void 0===this.shouldAdjustScrollPositionOnItemSizeChange?c.start<this.getScrollOffset()+this.scrollAdjustments:this.shouldAdjustScrollPositionOnItemSizeChange(c,e,this))&&("production"!==process.env.NODE_ENV&&this.options.debug&&console.info("correction",e),this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:void 0})),this.pendingMeasuredCacheIndexes.push(c.index),this.itemSizeCache=new Map(this.itemSizeCache.set(c.key,b)),this.notify(!1))},this.measureElement=a=>a?void this._measureElement(a,void 0):void this.elementsCache.forEach((a,b)=>{a.isConnected||(this.observer.unobserve(a),this.elementsCache.delete(b))}),this.getVirtualItems=memo(()=>[this.getIndexes(),this.getMeasurements()],(a,b)=>{const c=[];for(let d=0,e=a.length;d<e;d++){const e=a[d],f=b[e];c.push(f)}return c},{key:"production"!==process.env.NODE_ENV&&"getVirtualItems",debug:()=>this.options.debug}),this.getVirtualItemForOffset=a=>{const b=this.getMeasurements();return 0===b.length?void 0:notUndefined(b[findNearestBinarySearch(0,b.length-1,a=>notUndefined(b[a]).start,a)])},this.getOffsetForAlignment=(a,d)=>{const e=this.getSize(),f=this.getScrollOffset();"auto"===d&&(a<=f?d="start":a>=f+e?d="end":d="start"),"start"===d?a=a:"end"===d?a-=e:"center"==d&&(a-=e/2);const g=this.options.horizontal?"scrollWidth":"scrollHeight",h=this.scrollElement?"document"in this.scrollElement?this.scrollElement.document.documentElement[g]:this.scrollElement[g]:0;return b(c(h-e,a),0)},this.getOffsetForIndex=function(a){let e=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"auto";a=b(0,c(a,d.options.count-1));const f=d.measurementsCache[a];if(!f)return;const g=d.getSize(),h=d.getScrollOffset();if("auto"===e)if(f.end>=h+g-d.options.scrollPaddingEnd)e="end";else if(f.start<=h+d.options.scrollPaddingStart)e="start";else return[h,e];const i="end"===e?f.end+d.options.scrollPaddingEnd:f.start-d.options.scrollPaddingStart;return[d.getOffsetForAlignment(i,e),e]},this.isDynamicMode=()=>0<this.elementsCache.size,this.cancelScrollToIndex=()=>{null!==this.scrollToIndexTimeoutId&&this.targetWindow&&(this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId),this.scrollToIndexTimeoutId=null)},this.scrollToOffset=function(a){let{align:c="start",behavior:b}=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};d.cancelScrollToIndex(),"smooth"===b&&d.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),d._scrollToOffset(d.getOffsetForAlignment(a,c),{adjustments:void 0,behavior:b})},this.scrollToIndex=function(a){let{align:f="auto",behavior:e}=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};a=b(0,c(a,d.options.count-1)),d.cancelScrollToIndex(),"smooth"===e&&d.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.");const g=d.getOffsetForIndex(a,f);if(!g)return;const[h,i]=g;d._scrollToOffset(h,{adjustments:void 0,behavior:e}),"smooth"!==e&&d.isDynamicMode()&&d.targetWindow&&(d.scrollToIndexTimeoutId=d.targetWindow.setTimeout(()=>{d.scrollToIndexTimeoutId=null;const b=d.elementsCache.has(d.options.getItemKey(a));if(b){const[b]=notUndefined(d.getOffsetForIndex(a,i));approxEqual(b,d.getScrollOffset())||d.scrollToIndex(a,{align:i,behavior:e})}else d.scrollToIndex(a,{align:i,behavior:e})}))},this.scrollBy=function(a){let{behavior:b}=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};d.cancelScrollToIndex(),"smooth"===b&&d.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),d._scrollToOffset(d.getScrollOffset()+a,{adjustments:void 0,behavior:b})},this.getTotalSize=()=>{var a;const c=this.getMeasurements();let d;return d=0===c.length?this.options.paddingStart:1===this.options.lanes?(null==(a=c[c.length-1])?void 0:a.end)??0:b(...c.slice(-this.options.lanes).map(a=>a.end)),b(d-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(a,b)=>{let{adjustments:c,behavior:d}=b;this.options.scrollToFn(a,{behavior:d,adjustments:c},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(a)}}const findNearestBinarySearch=(a,b,c,d)=>{for(;a<=b;){const e=0|(a+b)/2,f=c(e);if(f<d)a=e+1;else if(f>d)b=e-1;else return e}return 0<a?a-1:0};function calculateRange(a){let{measurements:b,outerSize:c,scrollOffset:d}=a;const e=b.length-1,f=findNearestBinarySearch(0,e,a=>b[a].start,d);let g=f;for(;g<e&&b[g].end<d+c;)g++;return{startIndex:f,endIndex:g}}const useIsomorphicLayoutEffect="undefined"==typeof document?React.useEffect:React.useLayoutEffect;function useVirtualizerBase(a){const b=React.useReducer(()=>({}),{})[1],c={...a,onChange:(c,d)=>{var e;d?flushSync(b):b(),null==(e=a.onChange)?void 0:e.call(a,c,d)}},[d]=React.useState(()=>new Virtualizer(c));return d.setOptions(c),React.useEffect(()=>d._didMount(),[]),useIsomorphicLayoutEffect(()=>d._willUpdate()),d}function useVirtualizer(a){return useVirtualizerBase({observeElementRect,observeElementOffset,scrollToFn:elementScroll,...a})}function m(a,b){let c=useRef([]),d=o(a);useEffect(()=>{let a=[...c.current];for(let[e,f]of b.entries())if(c.current[e]!==f){let e=d(b,a);return c.current=b,e}},[d,...b])}function t$1(a){function b(){"loading"!==document.readyState&&(a(),document.removeEventListener("DOMContentLoaded",b))}"undefined"!=typeof window&&"undefined"!=typeof document&&(document.addEventListener("DOMContentLoaded",b),b())}let t=[];t$1(()=>{function a(a){a.target instanceof HTMLElement&&a.target!==document.body&&t[0]!==a.target&&(t.unshift(a.target),t=t.filter(a=>null!=a&&a.isConnected),t.splice(10))}window.addEventListener("click",a,{capture:!0}),window.addEventListener("mousedown",a,{capture:!0}),window.addEventListener("focus",a,{capture:!0}),document.body.addEventListener("click",a,{capture:!0}),document.body.addEventListener("mousedown",a,{capture:!0}),document.body.addEventListener("focus",a,{capture:!0})});var $e=(a=>(a[a.Open=0]="Open",a[a.Closed=1]="Closed",a))($e||{}),qe=(a=>(a[a.Single=0]="Single",a[a.Multi=1]="Multi",a))(qe||{}),ze=(b=>(b[b.Pointer=0]="Pointer",b[b.Focus=1]="Focus",b[b.Other=2]="Other",b))(ze||{}),Ye=(a=>(a[a.OpenCombobox=0]="OpenCombobox",a[a.CloseCombobox=1]="CloseCombobox",a[a.GoToOption=2]="GoToOption",a[a.RegisterOption=3]="RegisterOption",a[a.UnregisterOption=4]="UnregisterOption",a[a.RegisterLabel=5]="RegisterLabel",a[a.SetActivationTrigger=6]="SetActivationTrigger",a[a.UpdateVirtualOptions=7]="UpdateVirtualOptions",a))(Ye||{});function de(b){let c=1<arguments.length&&arguments[1]!==void 0?arguments[1]:a=>a,d=null===b.activeOptionIndex?null:b.options[b.activeOptionIndex],e=c(b.options.slice()),a=0<e.length&&null!==e[0].dataRef.current.order?e.sort((a,b)=>a.dataRef.current.order-b.dataRef.current.order):I$1(e,a=>a.dataRef.current.domRef.current),f=d?a.indexOf(d):null;return-1===f&&(f=null),{options:a,activeOptionIndex:f}}let Qe={[1](a){var b;return null!=(b=a.dataRef.current)&&b.disabled||1===a.comboboxState?a:{...a,activeOptionIndex:null,comboboxState:1}},[0](b){var a,c;if(null!=(a=b.dataRef.current)&&a.disabled||0===b.comboboxState)return b;if(null!=(c=b.dataRef.current)&&c.value){let c=b.dataRef.current.calculateIndex(b.dataRef.current.value);if(-1!==c)return{...b,activeOptionIndex:c,comboboxState:0}}return{...b,comboboxState:0}},[2](b,d){var g,h,j,k,m;if(null!=(g=b.dataRef.current)&&g.disabled||null!=(h=b.dataRef.current)&&h.optionsRef.current&&!(null!=(j=b.dataRef.current)&&j.optionsPropsRef.current.static)&&1===b.comboboxState)return b;if(b.virtual){let a=d.focus===c.Specific?d.idx:f(d,{resolveItems:()=>b.virtual.options,resolveActiveIndex:()=>{var a,c;return null==(c=null==(a=b.activeOptionIndex)?b.virtual.options.findIndex(a=>!b.virtual.disabled(a)):a)?null:c},resolveDisabled:b.virtual.disabled,resolveId(){throw new Error("Function not implemented.")}}),e=null==(k=d.trigger)?2:k;return b.activeOptionIndex===a&&b.activationTrigger===e?b:{...b,activeOptionIndex:a,activationTrigger:e}}let n=de(b);if(null===n.activeOptionIndex){let a=n.options.findIndex(a=>!a.dataRef.current.disabled);-1!==a&&(n.activeOptionIndex=a)}let o=d.focus===c.Specific?d.idx:f(d,{resolveItems:()=>n.options,resolveActiveIndex:()=>n.activeOptionIndex,resolveId:a=>a.id,resolveDisabled:a=>a.dataRef.current.disabled}),a=null==(m=d.trigger)?2:m;return b.activeOptionIndex===o&&b.activationTrigger===a?b:{...b,...n,activeOptionIndex:o,activationTrigger:a}},[3]:(b,d)=>{var e,f,g;if(null!=(e=b.dataRef.current)&&e.virtual)return{...b,options:[...b.options,d.payload]};let h=d.payload,j=de(b,a=>(a.push(h),a));null===b.activeOptionIndex&&null!=(f=b.dataRef.current)&&f.isSelected(d.payload.dataRef.current.value)&&(j.activeOptionIndex=j.options.indexOf(h));let a={...b,...j,activationTrigger:2};return null!=(g=b.dataRef.current)&&g.__demoMode&&void 0===b.dataRef.current.value&&(a.activeOptionIndex=0),a},[4]:(b,c)=>{var d;if(null!=(d=b.dataRef.current)&&d.virtual)return{...b,options:b.options.filter(a=>a.id!==c.id)};let e=de(b,a=>{let b=a.findIndex(a=>a.id===c.id);return-1!==b&&a.splice(b,1),a});return{...b,...e,activationTrigger:2}},[5]:(a,b)=>a.labelId===b.id?a:{...a,labelId:b.id},[6]:(a,b)=>a.activationTrigger===b.trigger?a:{...a,activationTrigger:b.trigger},[7]:(b,c)=>{var d;if((null==(d=b.virtual)?void 0:d.options)===c.options)return b;let e=b.activeOptionIndex;if(null!==b.activeOptionIndex){let a=c.options.indexOf(b.virtual.options[b.activeOptionIndex]);e=-1===a?null:a}return{...b,activeOptionIndex:e,virtual:Object.assign({},b.virtual,{options:c.options})}}},be=createContext(null);be.displayName="ComboboxActionsContext";function ee(a){let b=useContext(be);if(null===b){let b=new Error(`<${a} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(b,ee),b}return b}let Ce=createContext(null);function Ze(b){var d;let f=j("VirtualProvider"),[e,g]=useMemo(()=>{let a=f.optionsRef.current;if(!a)return[0,0];let b=window.getComputedStyle(a);return[parseFloat(b.paddingBlockStart||b.paddingTop),parseFloat(b.paddingBlockEnd||b.paddingBottom)]},[f.optionsRef.current]),a=useVirtualizer({scrollPaddingStart:e,scrollPaddingEnd:g,count:f.virtual.options.length,estimateSize(){return 40},getScrollElement(){var a;return null==(a=f.optionsRef.current)?null:a},overscan:12}),[h,i]=useState(0);return l(()=>{i(a=>a+1)},[null==(d=f.virtual)?void 0:d.options]),React__default.createElement(Ce.Provider,{value:a},React__default.createElement("div",{style:{position:"relative",width:"100%",height:`${a.getTotalSize()}px`},ref:b=>{if(b){if("undefined"!=typeof process&&void 0!==process.env.JEST_WORKER_ID||0===f.activationTrigger)return;null!==f.activeOptionIndex&&f.virtual.options.length>f.activeOptionIndex&&a.scrollToIndex(f.activeOptionIndex)}}},a.getVirtualItems().map(a=>{var c;return React__default.createElement(Fragment,{key:a.key},React__default.cloneElement(null==(c=b.children)?void 0:c.call(b,{option:f.virtual.options[a.index],open:0===f.comboboxState}),{key:`${h}-${a.key}`,"data-index":a.index,"aria-setsize":f.virtual.options.length,"aria-posinset":a.index+1,style:{position:"absolute",top:0,left:0,transform:`translateY(${a.start}px)`,overflowAnchor:"none"}}))})))}let ce=createContext(null);ce.displayName="ComboboxDataContext";function j(a){let b=useContext(ce);if(null===b){let b=new Error(`<${a} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(b,j),b}return b}function et(a,b){return u(b.type,Qe,a,b)}let tt=Fragment;function ot(b,j){let{value:m,defaultValue:q,onChange:a,form:i,name:r,by:w=null,disabled:B=!1,__demoMode:G=!1,nullable:H=!1,multiple:M=!1,immediate:g=!1,virtual:f=null,...t}=b,v=null,[R=M?[]:void 0,Q]=T(m,a,q),[I,S]=useReducer(et,{dataRef:createRef(),comboboxState:G?0:1,options:[],virtual:null,activeOptionIndex:null,activationTrigger:2,labelId:null}),E=useRef(!1),k=useRef({static:!1,hold:!1}),J=useRef(null),K=useRef(null),z=useRef(null),P=useRef(null),U=o("string"==typeof w?(a,c)=>{let b=w;return(null==a?void 0:a[b])===(null==c?void 0:c[b])}:null==w?(a,c)=>a===c:w),V=o(a=>I.options.findIndex(c=>U(c.dataRef.current.value,a))),O=useCallback(a=>u(W.mode,{[1]:()=>R.some(c=>U(c,a)),[0]:()=>U(R,a)}),[R]),L=o(a=>I.activeOptionIndex===V(a)),W=useMemo(()=>({...I,immediate:!1,optionsPropsRef:k,labelRef:J,inputRef:K,buttonRef:z,optionsRef:P,value:R,defaultValue:q,disabled:B,mode:M?1:0,virtual:I.virtual,get activeOptionIndex(){if(E.current&&null===I.activeOptionIndex&&0<I.options.length){let a=I.options.findIndex(a=>!a.dataRef.current.disabled);if(-1!==a)return a}return I.activeOptionIndex},calculateIndex:V,compare:U,isSelected:O,isActive:L,nullable:H,__demoMode:G}),[R,q,B,M,H,G,I,v]);l(()=>{},[v,void 0]),l(()=>{I.dataRef.current=W},[W]),y([W.buttonRef,W.inputRef,W.optionsRef],()=>$.closeCombobox(),0===W.comboboxState);let n=useMemo(()=>{var a,c,e;return{open:0===W.comboboxState,disabled:B,activeIndex:W.activeOptionIndex,activeOption:null===W.activeOptionIndex?null:W.virtual?W.virtual.options[null==(a=W.activeOptionIndex)?0:a]:null==(e=null==(c=W.options[W.activeOptionIndex])?void 0:c.dataRef.current.value)?null:e,value:R}},[W,B,R]),F=o(()=>{if(null!==W.activeOptionIndex){if(W.virtual)Y(W.virtual.options[W.activeOptionIndex]);else{let{dataRef:a}=W.options[W.activeOptionIndex];Y(a.current.value)}$.goToOption(c.Specific,W.activeOptionIndex)}}),A=o(()=>{S({type:0}),E.current=!0}),h=o(()=>{S({type:1}),E.current=!1}),X=o((a,d,b)=>(E.current=!1,a===c.Specific?S({type:2,focus:c.Specific,idx:d,trigger:b}):S({type:2,focus:a,trigger:b}))),D=o((a,c)=>(S({type:3,payload:{id:a,dataRef:c}}),()=>{W.isActive(c.current.value)&&(E.current=!0),S({type:4,id:a})})),N=o(a=>(S({type:5,id:a}),()=>S({type:5,id:null}))),Y=o(a=>u(W.mode,{[0](){return null==Q?void 0:Q(a)},[1](){let c=W.value.slice(),b=c.findIndex(b=>U(b,a));return-1===b?c.push(a):c.splice(b,1),null==Q?void 0:Q(c)}})),Z=o(a=>{S({type:6,trigger:a})}),$=useMemo(()=>({onChange:Y,registerOption:D,registerLabel:N,goToOption:X,closeCombobox:h,openCombobox:A,setActivationTrigger:Z,selectActiveOption:F}),[]),_=null===j?{}:{ref:j},aa=useRef(null),ba=p();return useEffect(()=>{aa.current&&void 0!==q&&ba.addEventListener(aa.current,"reset",()=>{null==Q||Q(q)})},[aa,Q]),React__default.createElement(be.Provider,{value:$},React__default.createElement(ce.Provider,{value:W},React__default.createElement(s,{value:u(W.comboboxState,{[0]:d.Open,[1]:d.Closed})},null!=r&&null!=R&&e({[r]:R}).map((a,c)=>{let[e,d]=a;return React__default.createElement(u$1,{features:s$1.Hidden,ref:0===c?a=>{var b;aa.current=null==(b=null==a?void 0:a.closest("form"))?null:b}:void 0,...x({key:e,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:i,disabled:B,name:e,value:d})})}),C({ourProps:_,theirProps:t,slot:n,defaultTag:tt,name:"Combobox"}))))}let nt="input";function rt(b,d){var q,r,w,y,A,h=Math.abs;let B=I(),{id:H=`headlessui-combobox-input-${B}`,onChange:D,displayValue:F,type:a="text",...G}=b,M=j("Combobox.Input"),e=ee("Combobox.Input"),l=y$1(M.inputRef,d),N=n(M.inputRef),g=useRef(!1),f=p(),v=o(()=>{e.onChange(null),M.optionsRef.current&&(M.optionsRef.current.scrollTop=0),e.goToOption(c.Nothing)}),P=function(){var a;return"function"==typeof F&&void 0!==M.value?null==(a=F(M.value))?"":a:"string"==typeof M.value?M.value:""}();m((a,b)=>{let[c,d]=a,[e,f]=b;if(g.current)return;let i=M.inputRef.current;i&&((0===f&&1===d||c!==e)&&(i.value=c),requestAnimationFrame(()=>{if(!g.current&&i&&(null==N?void 0:N.activeElement)===i){let{selectionStart:a,selectionEnd:b}=i;0===h((null==b?0:b)-(null==a?0:a))&&0===a&&i.setSelectionRange(i.value.length,i.value.length)}}))},[P,M.comboboxState,N]),m((a,b)=>{let[c]=a,[d]=b;if(0===c&&1===d){if(g.current)return;let a=M.inputRef.current;if(!a)return;let b=a.value,{selectionStart:c,selectionEnd:d,selectionDirection:e}=a;a.value="",a.value=b,null===e?a.setSelectionRange(c,d):a.setSelectionRange(c,d,e)}},[M.comboboxState]);let Q=useRef(!1),s=o(()=>{Q.current=!0}),R=o(()=>{f.nextFrame(()=>{Q.current=!1})}),S=o(a=>{switch(g.current=!0,a.key){case o$1.Enter:if(g.current=!1,0!==M.comboboxState||Q.current)return;if(a.preventDefault(),a.stopPropagation(),null===M.activeOptionIndex)return void e.closeCombobox();e.selectActiveOption(),0===M.mode&&e.closeCombobox();break;case o$1.ArrowDown:return g.current=!1,a.preventDefault(),a.stopPropagation(),u(M.comboboxState,{[0]:()=>e.goToOption(c.Next),[1]:()=>e.openCombobox()});case o$1.ArrowUp:return g.current=!1,a.preventDefault(),a.stopPropagation(),u(M.comboboxState,{[0]:()=>e.goToOption(c.Previous),[1]:()=>{e.openCombobox(),f.nextFrame(()=>{M.value||e.goToOption(c.Last)})}});case o$1.Home:if(a.shiftKey)break;return g.current=!1,a.preventDefault(),a.stopPropagation(),e.goToOption(c.First);case o$1.PageUp:return g.current=!1,a.preventDefault(),a.stopPropagation(),e.goToOption(c.First);case o$1.End:if(a.shiftKey)break;return g.current=!1,a.preventDefault(),a.stopPropagation(),e.goToOption(c.Last);case o$1.PageDown:return g.current=!1,a.preventDefault(),a.stopPropagation(),e.goToOption(c.Last);case o$1.Escape:return g.current=!1,0===M.comboboxState?(a.preventDefault(),M.optionsRef.current&&!M.optionsPropsRef.current.static&&a.stopPropagation(),M.nullable&&0===M.mode&&null===M.value&&v(),e.closeCombobox()):void 0;case o$1.Tab:if(g.current=!1,0!==M.comboboxState)return;0===M.mode&&1!==M.activationTrigger&&e.selectActiveOption(),e.closeCombobox()}}),T=o(a=>{null==D||D(a),M.nullable&&0===M.mode&&""===a.target.value&&v(),e.openCombobox()}),E=o(a=>{var b,c,d;let f=null==(b=a.relatedTarget)?t.find(b=>b!==a.currentTarget):b;if(g.current=!1,!(null!=(c=M.optionsRef.current)&&c.contains(f))&&!(null!=(d=M.buttonRef.current)&&d.contains(f))&&0===M.comboboxState)return a.preventDefault(),0===M.mode&&(M.nullable&&null===M.value?v():1!==M.activationTrigger&&e.selectActiveOption()),e.closeCombobox()}),k=o(a=>{var b,c,d;let g=null==(b=a.relatedTarget)?t.find(b=>b!==a.currentTarget):b;null!=(c=M.buttonRef.current)&&c.contains(g)||null!=(d=M.optionsRef.current)&&d.contains(g)||M.disabled||M.immediate&&0!==M.comboboxState&&(e.openCombobox(),f.nextFrame(()=>{e.setActivationTrigger(1)}))}),J=i(()=>{if(M.labelId)return[M.labelId].join(" ")},[M.labelId]),K=useMemo(()=>({open:0===M.comboboxState,disabled:M.disabled}),[M]),z={ref:l,id:H,role:"combobox",type:a,"aria-controls":null==(q=M.optionsRef.current)?void 0:q.id,"aria-expanded":0===M.comboboxState,"aria-activedescendant":null===M.activeOptionIndex?void 0:M.virtual?null==(r=M.options.find(a=>{var b;return!(null!=(b=M.virtual)&&b.disabled(a.dataRef.current.value))&&M.compare(a.dataRef.current.value,M.virtual.options[M.activeOptionIndex])}))?void 0:r.id:null==(w=M.options[M.activeOptionIndex])?void 0:w.id,"aria-labelledby":J,"aria-autocomplete":"list",defaultValue:null==(A=null==(y=b.defaultValue)?void 0===M.defaultValue?null:null==F?void 0:F(M.defaultValue):y)?M.defaultValue:A,disabled:M.disabled,onCompositionStart:s,onCompositionEnd:R,onKeyDown:S,onChange:T,onFocus:k,onBlur:E};return C({ourProps:z,theirProps:G,slot:K,defaultTag:nt,name:"Combobox.Input"})}let at="button";function lt(b,d){var h;let k=j("Combobox.Button"),m=ee("Combobox.Button"),a=y$1(k.buttonRef,d),n=I(),{id:s=`headlessui-combobox-button-${n}`,...q}=b,t=p(),e=o(a=>{switch(a.key){case o$1.ArrowDown:return a.preventDefault(),a.stopPropagation(),1===k.comboboxState&&m.openCombobox(),t.nextFrame(()=>{var a;return null==(a=k.inputRef.current)?void 0:a.focus({preventScroll:!0})});case o$1.ArrowUp:return a.preventDefault(),a.stopPropagation(),1===k.comboboxState&&(m.openCombobox(),t.nextFrame(()=>{k.value||m.goToOption(c.Last)})),t.nextFrame(()=>{var a;return null==(a=k.inputRef.current)?void 0:a.focus({preventScroll:!0})});case o$1.Escape:return 0===k.comboboxState?(a.preventDefault(),k.optionsRef.current&&!k.optionsPropsRef.current.static&&a.stopPropagation(),m.closeCombobox(),t.nextFrame(()=>{var a;return null==(a=k.inputRef.current)?void 0:a.focus({preventScroll:!0})})):void 0;default:}}),l=o(a=>r(a.currentTarget)?a.preventDefault():void(0===k.comboboxState?m.closeCombobox():(a.preventDefault(),m.openCombobox()),t.nextFrame(()=>{var a;return null==(a=k.inputRef.current)?void 0:a.focus({preventScroll:!0})}))),u=i(()=>{if(k.labelId)return[k.labelId,s].join(" ")},[k.labelId,s]),g=useMemo(()=>({open:0===k.comboboxState,disabled:k.disabled,value:k.value}),[k]),f={ref:a,id:s,type:T$1(b,k.buttonRef),tabIndex:-1,"aria-haspopup":"listbox","aria-controls":null==(h=k.optionsRef.current)?void 0:h.id,"aria-expanded":0===k.comboboxState,"aria-labelledby":u,disabled:k.disabled,onClick:l,onKeyDown:e};return C({ourProps:f,theirProps:q,slot:g,defaultTag:at,name:"Combobox.Button"})}let it="label";function ut(b,d){let f=I(),{id:h=`headlessui-combobox-label-${f}`,...g}=b,a=j("Combobox.Label"),i=ee("Combobox.Label"),k=y$1(a.labelRef,d);l(()=>i.registerLabel(h),[h]);let c=o(()=>{var b;return null==(b=a.inputRef.current)?void 0:b.focus({preventScroll:!0})}),e=useMemo(()=>({open:0===a.comboboxState,disabled:a.disabled}),[a]);return C({ourProps:{ref:k,id:h,onClick:c},theirProps:g,slot:e,defaultTag:it,name:"Combobox.Label"})}let pt="ul",st=O.RenderStrategy|O.Static;function dt(b,h){let k=I(),{id:n=`headlessui-combobox-options-${k}`,hold:a=!1,...m}=b,o=j("Combobox.Options"),p=y$1(o.optionsRef,h),c=u$2(),e=(()=>null===c?0===o.comboboxState:(c&d.Open)===d.Open)();l(()=>{var a;o.optionsPropsRef.current.static=null!=(a=b.static)&&a},[o.optionsPropsRef,b.static]),l(()=>{o.optionsPropsRef.current.hold=a},[o.optionsPropsRef,a]),F({container:o.optionsRef.current,enabled:0===o.comboboxState,accept(a){return"option"===a.getAttribute("role")?NodeFilter.FILTER_REJECT:a.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(a){a.setAttribute("role","none")}});let q=i(()=>{var a,b;return null==(b=o.labelId)?null==(a=o.buttonRef.current)?void 0:a.id:b},[o.labelId,o.buttonRef.current]),r=useMemo(()=>({open:0===o.comboboxState,option:void 0}),[o]),g={"aria-labelledby":q,role:"listbox","aria-multiselectable":1===o.mode||void 0,id:n,ref:p};return o.virtual&&0===o.comboboxState&&Object.assign(m,{children:React__default.createElement(Ze,null,m.children)}),C({ourProps:g,theirProps:m,slot:r,defaultTag:pt,features:st,visible:e,name:"Combobox.Options"})}let bt="li";function ct(b,d){var h;let m=I(),{id:r=`headlessui-combobox-option-${m}`,disabled:a=!1,value:n,order:i=null,...q}=b,p=j("Combobox.Option"),e=ee("Combobox.Option"),t=p.virtual?p.activeOptionIndex===p.calculateIndex(n):null!==p.activeOptionIndex&&(null==(h=p.options[p.activeOptionIndex])?void 0:h.id)===r,u=p.isSelected(n),g=useRef(null),f=s$2({disabled:a,value:n,domRef:g,order:i}),v=useContext(Ce),w=y$1(d,g,v?v.measureElement:null),y=o(()=>e.onChange(n));l(()=>e.registerOption(r,f),[f,r]);let s=useRef(!(p.virtual||p.__demoMode));l(()=>{if(p.virtual&&p.__demoMode){let a=o$2();return a.requestAnimationFrame(()=>{s.current=!0}),a.dispose}},[p.virtual,p.__demoMode]),l(()=>{if(s.current&&0===p.comboboxState&&t&&0!==p.activationTrigger){let a=o$2();return a.requestAnimationFrame(()=>{var a,b;null==(b=null==(a=g.current)?void 0:a.scrollIntoView)||b.call(a,{block:"nearest"})}),a.dispose}},[g,t,p.comboboxState,p.activationTrigger,p.activeOptionIndex]);let x=o(b=>{var c;return a||null!=(c=p.virtual)&&c.disabled(n)?b.preventDefault():void(y(),n$1()||requestAnimationFrame(()=>{var a;return null==(a=p.inputRef.current)?void 0:a.focus({preventScroll:!0})}),0===p.mode&&requestAnimationFrame(()=>e.closeCombobox()))}),A=o(()=>{var b;if(a||null!=(b=p.virtual)&&b.disabled(n))return e.goToOption(c.Nothing);let d=p.calculateIndex(n);e.goToOption(c.Specific,d)}),B=u$3(),D=o(a=>B.update(a)),k=o(b=>{var d;if(!(!B.wasMoved(b)||a||null!=(d=p.virtual)&&d.disabled(n)||t)){let a=p.calculateIndex(n);e.goToOption(c.Specific,a,0)}}),E=o(b=>{var d;B.wasMoved(b)&&(a||null!=(d=p.virtual)&&d.disabled(n)||t&&(p.optionsPropsRef.current.hold||e.goToOption(c.Nothing)))}),F=useMemo(()=>({active:t,selected:u,disabled:a}),[t,u,a]);return C({ourProps:{id:r,ref:w,role:"option",tabIndex:!0===a?void 0:-1,"aria-disabled":!0===a||void 0,"aria-selected":u,disabled:void 0,onClick:x,onFocus:A,onPointerEnter:D,onMouseEnter:D,onPointerMove:k,onMouseMove:k,onPointerLeave:E,onMouseLeave:E},theirProps:q,slot:F,defaultTag:bt,name:"Combobox.Option"})}let ft=U(ot),mt=U(lt),Tt=U(rt),xt=U(ut),gt=U(dt),vt=U(ct),qt=Object.assign(ft,{Input:Tt,Button:mt,Label:xt,Options:gt,Option:vt});const inputWrapperStyles=`
|
|
5
|
-
jn-relative
|
|
6
|
-
`,labelStyles=`
|
|
7
|
-
jn-pointer-events-none
|
|
8
|
-
jn-top-2
|
|
9
|
-
jn-left-[0.9375rem]
|
|
10
|
-
`,inputStyles=`
|
|
11
|
-
jn-rounded-3px
|
|
12
|
-
jn-bg-theme-textinput
|
|
13
|
-
jn-text-theme-textinput
|
|
14
|
-
jn-border
|
|
15
|
-
jn-text-base
|
|
16
|
-
jn-leading-4
|
|
17
|
-
jn-w-full
|
|
18
|
-
jn-px-4
|
|
19
|
-
jn-h-textinput
|
|
20
|
-
jn-text-left
|
|
21
|
-
jn-overflow-hidden
|
|
22
|
-
jn-text-ellipsis
|
|
23
|
-
jn-whitespace-nowrap
|
|
24
|
-
focus:jn-outline-none
|
|
25
|
-
focus:jn-ring-2
|
|
26
|
-
focus:jn-ring-theme-focus
|
|
27
|
-
`,withLabelInputStyles=`
|
|
28
|
-
jn-pt-[1.125rem]
|
|
29
|
-
jn-pb-1
|
|
30
|
-
`,noLabelInputStyles=`
|
|
31
|
-
jn-py-4
|
|
32
|
-
`,disabledInputStyles=`
|
|
33
|
-
jn-cursor-not-allowed
|
|
34
|
-
jn-pointer-events-none
|
|
35
|
-
jn-opacity-50
|
|
36
|
-
`,defaultBorderStyles=`
|
|
37
|
-
jn-border-theme-textinput-default
|
|
38
|
-
`,validStyles=`
|
|
39
|
-
jn-border-theme-success
|
|
40
|
-
`,invalidStyles=`
|
|
41
|
-
jn-border-theme-error
|
|
42
|
-
`,buttonStyles=`
|
|
43
|
-
jn-absolute
|
|
44
|
-
jn-top-0
|
|
45
|
-
jn-right-0
|
|
46
|
-
jn-h-textinput
|
|
47
|
-
jn-w-6
|
|
48
|
-
jn-h-4
|
|
49
|
-
jn-border-l-0
|
|
50
|
-
jn-border-y-[1px]
|
|
51
|
-
jn-border-r-[1px]
|
|
52
|
-
jn-rounded-tr
|
|
53
|
-
jn-rounded-br
|
|
54
|
-
jn-appearance-none
|
|
55
|
-
jn-bg-theme-textinput
|
|
56
|
-
jn-text-theme-textinput
|
|
57
|
-
`,defaultButtonStyles=`
|
|
58
|
-
jn-border-theme-textinput-default
|
|
59
|
-
`,invalidButtonStyles=`
|
|
60
|
-
jn-border-theme-error
|
|
61
|
-
`,validButtonStyles=`
|
|
62
|
-
jn-border-theme-success
|
|
63
|
-
`,disabledButtonStyles=`
|
|
64
|
-
jn-cursor-not-allowed
|
|
65
|
-
jn-pointer-events-none
|
|
66
|
-
jn-bg-transparent
|
|
67
|
-
jn-opacity-50
|
|
68
|
-
`,menuStyles=`
|
|
69
|
-
jn-rounded
|
|
70
|
-
jn-bg-theme-background-lvl-1
|
|
71
|
-
jn-w-full
|
|
72
|
-
jn-overflow-y-auto
|
|
73
|
-
`,iconContainerStyles=`
|
|
74
|
-
jn-absolute
|
|
75
|
-
jn-top-[.4rem]
|
|
76
|
-
jn-right-6
|
|
77
|
-
`,centeredIconStyles=`
|
|
78
|
-
jn-absolute
|
|
79
|
-
jn-top-1/2
|
|
80
|
-
jn-left-1/2
|
|
81
|
-
jn-translate-y-[-50%]
|
|
82
|
-
jn-translate-x-[-0.75rem]
|
|
83
|
-
`,ComboBoxContext=createContext(),ComboBox=a=>{let{ariaLabel:b,children:j=null,className:k="",defaultValue:l="",disabled:m=!1,error:n=!1,errortext:o="",helptext:p="",id:q="",invalid:r=!1,loading:s=!1,label:c,name:t="",nullable:u=!0,onBlur:d,onChange:e,onFocus:f,onInputChange:g,placeholder:v="Select\u2026",required:w=!1,successtext:x="",truncateOptions:y=!1,valid:z=!1,value:A="",valueLabel:h,width:B="full",wrapperClassName:C="",...i}=a;const D=a=>"string"!=typeof a||0!==a.trim().length,E=q||"juno-combobox-"+useId(),F="juno-combobox-helptext-"+useId(),[G,H]=useState(new Map),[I,J]=useState(""),[K,L]=useState(A),[M,N]=useState(!1),[O,P]=useState(!1),[Q,R]=useState(!1),[S,T]=useState(!1),[U,V]=useState(!1),W=useMemo(()=>r||!!(o&&D(o)),[r,o]),X=useMemo(()=>z||!!(x&&D(x)),[z,x]);useEffect(()=>{L(A)},[A]),useEffect(()=>{P(n)},[n]),useEffect(()=>{N(s)},[s]),useEffect(()=>{T(W)},[W]),useEffect(()=>{V(X)},[X]);const Y=usePortalRef(),Z=[offset(4),shift(),flip(),size({boundary:"viewport",apply(a){let{availableWidth:b,availableHeight:c,elements:d}=a;Object.assign(d.floating.style,{maxWidth:`${b}px`,maxHeight:`${c}px`,overflowY:"auto"})}})],$=""===I?j:j.filter(a=>{const b=a.props.children?.toString()||a.props.label||a.props.value;return b?.toLowerCase().includes(I.toLowerCase())});return React__default.createElement(ComboBoxContext.Provider,{value:{selectedValue:K,truncateOptions:y,addOptionValueAndLabel:(a,b,c)=>{H(d=>new Map(d).set(a||c,{val:a,label:b,children:c}))}}},React__default.createElement("div",{className:`
|
|
84
|
-
juno-combobox-wrapper
|
|
85
|
-
jn-relative
|
|
86
|
-
${"auto"==B?"jn-inline-block":"jn-block"}
|
|
87
|
-
${"auto"==B?"jn-w-auto":"jn-w-full"}
|
|
88
|
-
${C}
|
|
89
|
-
`},React__default.createElement(qt,_extends({defaultValue:l,disabled:m||M||O,name:t,nullable:u,onChange:a=>{L(a),e&&e(a)},value:K||l},i),React__default.createElement(pr,{composable:!0,adaptiveWidth:!0,middleware:Z},React__default.createElement(pr.Reference,null,React__default.createElement("div",{className:`
|
|
90
|
-
juno-combobox-input-wrapper
|
|
91
|
-
${inputWrapperStyles}
|
|
92
|
-
${m?"jn-cursor-not-allowed":""}
|
|
93
|
-
`},c&&D(c)&&!M&&!O?React__default.createElement(Label,{text:c,disabled:m,required:w,htmlFor:E,className:`${labelStyles}`,floating:!0,minimized:!!(v||Q||I&&D(I)||K&&D(K))}):"",React__default.createElement(qt.Input,{autoComplete:"off","aria-label":b||c,"aria-describedby":p?F:"",disabled:m||M||O,id:E,onBlur:a=>{R(!1),d&&d(a)},onChange:a=>{J(a?.target?.value),g&&g(a)},onFocus:a=>{R(!0),f&&f(a)},placeholder:M||O?"":v,displayValue:a=>G.get(a)?.children||G.get(a)?.label||h||a,className:`
|
|
94
|
-
juno-combobox-input
|
|
95
|
-
${inputStyles}
|
|
96
|
-
${c&&D(c)?withLabelInputStyles:noLabelInputStyles}
|
|
97
|
-
${m?disabledInputStyles:""}
|
|
98
|
-
${S?"juno-combobox-invalid "+invalidStyles:""}
|
|
99
|
-
${U?"juno-combobox-valid "+validStyles:""}
|
|
100
|
-
${U||S?"":defaultBorderStyles}
|
|
101
|
-
${M?"juno-combobox-loading jn-cursor-not-allowed":""}
|
|
102
|
-
${O?"juno-combobox-error jn-cursor-not-allowed":""}
|
|
103
|
-
${k}
|
|
104
|
-
`}),M||O?React__default.createElement("span",{className:`${centeredIconStyles}`},M?React__default.createElement(Spinner,{className:"jn-cursor-not-allowed"}):React__default.createElement(Icon,{icon:"errorOutline",color:"jn-text-theme-error",className:"jn-cursor-not-allowed"})):U||S?React__default.createElement("span",{className:`
|
|
105
|
-
juno-combobox-icon-container
|
|
106
|
-
${iconContainerStyles}
|
|
107
|
-
${m?"jn-opacity-50":""}
|
|
108
|
-
`},React__default.createElement(Icon,{icon:U?"checkCircle":"dangerous",color:U?"jn-text-theme-success":"jn-text-theme-error"})):"",O||M?"":React__default.createElement(qt.Button,{disabled:m,className:`
|
|
109
|
-
juno-combobox-toggle
|
|
110
|
-
${buttonStyles}
|
|
111
|
-
${m?disabledButtonStyles:""}
|
|
112
|
-
${S?"juno-combobox-toggle-invalid "+invalidButtonStyles:""}
|
|
113
|
-
${U?"juno-combobox-toggle-valid "+validButtonStyles:""}
|
|
114
|
-
${U||S?"":defaultButtonStyles}
|
|
115
|
-
`},a=>{let{open:b}=a;return React__default.createElement(Icon,{icon:b?"expandLess":"expandMore"})}))),createPortal(React__default.createElement(pr.Content,null,React__default.createElement(qt.Options,{unmount:!1,className:`
|
|
116
|
-
juno-combobox-options
|
|
117
|
-
${menuStyles}
|
|
118
|
-
`},$)),Y?Y:document.body))),o&&D(o)?React__default.createElement(FormHint,{text:o,variant:"error"}):"",x&&D(x)?React__default.createElement(FormHint,{text:x,variant:"success"}):"",p&&D(p)?React__default.createElement(FormHint,{text:p,id:F}):""))};ComboBox.propTypes={ariaLabel:PropTypes.string,children:PropTypes.node,className:PropTypes.string,defaultValue:PropTypes.string,disabled:PropTypes.bool,error:PropTypes.bool,errortext:PropTypes.node,helptext:PropTypes.node,id:PropTypes.string,invalid:PropTypes.bool,label:PropTypes.string,loading:PropTypes.bool,name:PropTypes.string,nullable:PropTypes.bool,onBlur:PropTypes.func,onChange:PropTypes.func,onFocus:PropTypes.func,onInputChange:PropTypes.func,placeholder:PropTypes.string,required:PropTypes.bool,successtext:PropTypes.node,truncateOptions:PropTypes.bool,valid:PropTypes.bool,value:PropTypes.string,valueLabel:PropTypes.string,width:PropTypes.oneOf(["full","auto"]),wrapperClassName:PropTypes.string};export{ComboBox as C,ComboBoxContext as a,qt as q};
|
|
4
|
+
color: hsl(${d(0,e(120-120*(b/16),120))}deg 100% 31%);`,null==c?void 0:c.key)}return null==(l=null==c?void 0:c.onChange)?void 0:l.call(c,g),g}}function notUndefined(a){if(void 0===a)throw new Error(`Unexpected undefined${""}`);else return a}const approxEqual=(c,a)=>1>Math.abs(c-a),debounce=(a,b,c)=>{let d;return function(){for(var e=arguments.length,f=Array(e),g=0;g<e;g++)f[g]=arguments[g];a.clearTimeout(d),d=a.setTimeout(()=>b.apply(this,f),c)}},defaultKeyExtractor=a=>a,defaultRangeExtractor=a=>{const b=Math.max(a.startIndex-a.overscan,0),c=Math.min(a.endIndex+a.overscan,a.count-1),d=[];for(let e=b;e<=c;e++)d.push(e);return d},observeElementRect=(a,b)=>{var c=Math.round;const d=a.scrollElement;if(!d)return;const e=a.targetWindow;if(!e)return;const f=a=>{const{width:d,height:e}=a;b({width:c(d),height:c(e)})};if(f(d.getBoundingClientRect()),!e.ResizeObserver)return()=>{};const g=new e.ResizeObserver(a=>{const b=a[0];if(null==b?void 0:b.borderBoxSize){const a=b.borderBoxSize[0];if(a)return void f({width:a.inlineSize,height:a.blockSize})}f(d.getBoundingClientRect())});return g.observe(d,{box:"border-box"}),()=>{g.unobserve(d)}},addEventListenerOptions={passive:!0},supportsScrollend=!("undefined"!=typeof window)||"onscrollend"in window,observeElementOffset=(a,b)=>{const c=a.scrollElement;if(!c)return;const d=a.targetWindow;if(!d)return;let e=0;const f=supportsScrollend?()=>void 0:debounce(d,()=>{b(e,!1)},a.options.isScrollingResetDelay),g=d=>()=>{const{horizontal:g,isRtl:h}=a.options;e=g?c.scrollLeft*(h&&-1||1):c.scrollTop,f(),b(e,d)},h=g(!0),i=g(!1);return i(),c.addEventListener("scroll",h,addEventListenerOptions),c.addEventListener("scrollend",i,addEventListenerOptions),()=>{c.removeEventListener("scroll",h),c.removeEventListener("scrollend",i)}},measureElement=(a,b,c)=>{var d=Math.round;if(null==b?void 0:b.borderBoxSize){const a=b.borderBoxSize[0];if(a){const b=d(a[c.options.horizontal?"inlineSize":"blockSize"]);return b}}return d(a.getBoundingClientRect()[c.options.horizontal?"width":"height"])},elementScroll=(a,b,c)=>{let{adjustments:e=0,behavior:d}=b;var f,g;null==(g=null==(f=c.scrollElement)?void 0:f.scrollTo)?void 0:g.call(f,{[c.options.horizontal?"left":"top"]:a+e,behavior:d})};class Virtualizer{constructor(a){var b=Math.max,c=Math.min,d=this;this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let a=null;const b=()=>a?a:this.targetWindow&&this.targetWindow.ResizeObserver?a=new this.targetWindow.ResizeObserver(a=>{a.forEach(a=>{this._measureElement(a.target,a)})}):null;return{disconnect:()=>{var c;null==(c=b())?void 0:c.disconnect(),a=null},observe:a=>{var c;return null==(c=b())?void 0:c.observe(a,{box:"border-box"})},unobserve:a=>{var c;return null==(c=b())?void 0:c.unobserve(a)}}})(),this.range=null,this.setOptions=a=>{Object.entries(a).forEach(b=>{let[c,d]=b;"undefined"==typeof d&&delete a[c]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:defaultKeyExtractor,rangeExtractor:defaultRangeExtractor,onChange:()=>{},measureElement,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,...a}},this.notify=a=>{var b,c;null==(c=(b=this.options).onChange)?void 0:c.call(b,this,a)},this.maybeNotify=memo(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),a=>{this.notify(a)},{key:"production"!==process.env.NODE_ENV&&"maybeNotify",debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(a=>a()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var a;const b=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==b){if(this.cleanup(),!b)return void this.maybeNotify();this.scrollElement=b,this.targetWindow=this.scrollElement&&"ownerDocument"in this.scrollElement?this.scrollElement.ownerDocument.defaultView:(null==(a=this.scrollElement)?void 0:a.window)??null,this.elementsCache.forEach(a=>{this.observer.observe(a)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,a=>{this.scrollRect=a,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(a,b)=>{this.scrollAdjustments=0,this.scrollDirection=b?this.getScrollOffset()<a?"forward":"backward":null,this.scrollOffset=a,this.isScrolling=b,this.maybeNotify()}))}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??("function"==typeof this.options.initialOffset?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(a,b)=>{const c=new Map,d=new Map;for(let e=b-1;0<=e;e--){const b=a[e];if(c.has(b.lane))continue;const f=d.get(b.lane);if(null==f||b.end>f.end?d.set(b.lane,b):b.end<f.end&&c.set(b.lane,!0),c.size===this.options.lanes)break}return d.size===this.options.lanes?Array.from(d.values()).sort((c,a)=>c.end===a.end?c.index-a.index:c.end-a.end)[0]:void 0},this.getMeasurementOptions=memo(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(a,b,c,d,e)=>(this.pendingMeasuredCacheIndexes=[],{count:a,paddingStart:b,scrollMargin:c,getItemKey:d,enabled:e}),{key:!1}),this.getMeasurements=memo(()=>[this.getMeasurementOptions(),this.itemSizeCache],(a,b)=>{let{count:d,paddingStart:e,scrollMargin:f,getItemKey:g,enabled:h}=a;if(!h)return this.measurementsCache=[],this.itemSizeCache.clear(),[];0===this.measurementsCache.length&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(a=>{this.itemSizeCache.set(a.key,a.size)}));const j=0<this.pendingMeasuredCacheIndexes.length?c(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];const k=this.measurementsCache.slice(0,j);for(let c=j;c<d;c++){const a=g(c),d=1===this.options.lanes?k[c-1]:this.getFurthestMeasurement(k,c),h=d?d.end+this.options.gap:e+f,i=b.get(a),j="number"==typeof i?i:this.options.estimateSize(c),l=d?d.lane:c%this.options.lanes;k[c]={index:c,start:h,size:j,end:h+j,key:a,lane:l}}return this.measurementsCache=k,k},{key:"production"!==process.env.NODE_ENV&&"getMeasurements",debug:()=>this.options.debug}),this.calculateRange=memo(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset()],(a,b,c)=>this.range=0<a.length&&0<b?calculateRange({measurements:a,outerSize:b,scrollOffset:c}):null,{key:"production"!==process.env.NODE_ENV&&"calculateRange",debug:()=>this.options.debug}),this.getIndexes=memo(()=>[this.options.rangeExtractor,this.calculateRange(),this.options.overscan,this.options.count],(a,b,c,d)=>null===b?[]:a({startIndex:b.startIndex,endIndex:b.endIndex,overscan:c,count:d}),{key:"production"!==process.env.NODE_ENV&&"getIndexes",debug:()=>this.options.debug}),this.indexFromElement=a=>{const b=this.options.indexAttribute,c=a.getAttribute(b);return c?parseInt(c,10):(console.warn(`Missing attribute name '${b}={index}' on measured element.`),-1)},this._measureElement=(a,b)=>{const c=this.indexFromElement(a),d=this.measurementsCache[c];if(!d)return;const e=d.key,f=this.elementsCache.get(e);f!==a&&(f&&this.observer.unobserve(f),this.observer.observe(a),this.elementsCache.set(e,a)),a.isConnected&&this.resizeItem(c,this.options.measureElement(a,b,this))},this.resizeItem=(a,b)=>{const c=this.measurementsCache[a];if(!c)return;const d=this.itemSizeCache.get(c.key)??c.size,e=b-d;0!==e&&((void 0===this.shouldAdjustScrollPositionOnItemSizeChange?c.start<this.getScrollOffset()+this.scrollAdjustments:this.shouldAdjustScrollPositionOnItemSizeChange(c,e,this))&&("production"!==process.env.NODE_ENV&&this.options.debug&&console.info("correction",e),this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:void 0})),this.pendingMeasuredCacheIndexes.push(c.index),this.itemSizeCache=new Map(this.itemSizeCache.set(c.key,b)),this.notify(!1))},this.measureElement=a=>a?void this._measureElement(a,void 0):void this.elementsCache.forEach((a,b)=>{a.isConnected||(this.observer.unobserve(a),this.elementsCache.delete(b))}),this.getVirtualItems=memo(()=>[this.getIndexes(),this.getMeasurements()],(a,b)=>{const c=[];for(let d=0,e=a.length;d<e;d++){const e=a[d],f=b[e];c.push(f)}return c},{key:"production"!==process.env.NODE_ENV&&"getVirtualItems",debug:()=>this.options.debug}),this.getVirtualItemForOffset=a=>{const b=this.getMeasurements();return 0===b.length?void 0:notUndefined(b[findNearestBinarySearch(0,b.length-1,a=>notUndefined(b[a]).start,a)])},this.getOffsetForAlignment=(a,d)=>{const e=this.getSize(),f=this.getScrollOffset();"auto"===d&&(a<=f?d="start":a>=f+e?d="end":d="start"),"start"===d?a=a:"end"===d?a-=e:"center"==d&&(a-=e/2);const g=this.options.horizontal?"scrollWidth":"scrollHeight",h=this.scrollElement?"document"in this.scrollElement?this.scrollElement.document.documentElement[g]:this.scrollElement[g]:0;return b(c(h-e,a),0)},this.getOffsetForIndex=function(a){let e=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"auto";a=b(0,c(a,d.options.count-1));const f=d.measurementsCache[a];if(!f)return;const g=d.getSize(),h=d.getScrollOffset();if("auto"===e)if(f.end>=h+g-d.options.scrollPaddingEnd)e="end";else if(f.start<=h+d.options.scrollPaddingStart)e="start";else return[h,e];const i="end"===e?f.end+d.options.scrollPaddingEnd:f.start-d.options.scrollPaddingStart;return[d.getOffsetForAlignment(i,e),e]},this.isDynamicMode=()=>0<this.elementsCache.size,this.cancelScrollToIndex=()=>{null!==this.scrollToIndexTimeoutId&&this.targetWindow&&(this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId),this.scrollToIndexTimeoutId=null)},this.scrollToOffset=function(a){let{align:c="start",behavior:b}=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};d.cancelScrollToIndex(),"smooth"===b&&d.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),d._scrollToOffset(d.getOffsetForAlignment(a,c),{adjustments:void 0,behavior:b})},this.scrollToIndex=function(a){let{align:f="auto",behavior:e}=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};a=b(0,c(a,d.options.count-1)),d.cancelScrollToIndex(),"smooth"===e&&d.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.");const g=d.getOffsetForIndex(a,f);if(!g)return;const[h,i]=g;d._scrollToOffset(h,{adjustments:void 0,behavior:e}),"smooth"!==e&&d.isDynamicMode()&&d.targetWindow&&(d.scrollToIndexTimeoutId=d.targetWindow.setTimeout(()=>{d.scrollToIndexTimeoutId=null;const b=d.elementsCache.has(d.options.getItemKey(a));if(b){const[b]=notUndefined(d.getOffsetForIndex(a,i));approxEqual(b,d.getScrollOffset())||d.scrollToIndex(a,{align:i,behavior:e})}else d.scrollToIndex(a,{align:i,behavior:e})}))},this.scrollBy=function(a){let{behavior:b}=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};d.cancelScrollToIndex(),"smooth"===b&&d.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),d._scrollToOffset(d.getScrollOffset()+a,{adjustments:void 0,behavior:b})},this.getTotalSize=()=>{var a;const c=this.getMeasurements();let d;return d=0===c.length?this.options.paddingStart:1===this.options.lanes?(null==(a=c[c.length-1])?void 0:a.end)??0:b(...c.slice(-this.options.lanes).map(a=>a.end)),b(d-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(a,b)=>{let{adjustments:c,behavior:d}=b;this.options.scrollToFn(a,{behavior:d,adjustments:c},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(a)}}const findNearestBinarySearch=(a,b,c,d)=>{for(;a<=b;){const e=0|(a+b)/2,f=c(e);if(f<d)a=e+1;else if(f>d)b=e-1;else return e}return 0<a?a-1:0};function calculateRange(a){let{measurements:b,outerSize:c,scrollOffset:d}=a;const e=b.length-1,f=findNearestBinarySearch(0,e,a=>b[a].start,d);let g=f;for(;g<e&&b[g].end<d+c;)g++;return{startIndex:f,endIndex:g}}const useIsomorphicLayoutEffect="undefined"==typeof document?React.useEffect:React.useLayoutEffect;function useVirtualizerBase(a){const b=React.useReducer(()=>({}),{})[1],c={...a,onChange:(c,d)=>{var e;d?flushSync(b):b(),null==(e=a.onChange)?void 0:e.call(a,c,d)}},[d]=React.useState(()=>new Virtualizer(c));return d.setOptions(c),React.useEffect(()=>d._didMount(),[]),useIsomorphicLayoutEffect(()=>d._willUpdate()),d}function useVirtualizer(a){return useVirtualizerBase({observeElementRect,observeElementOffset,scrollToFn:elementScroll,...a})}function m(a,b){let c=useRef([]),d=o(a);useEffect(()=>{let a=[...c.current];for(let[e,f]of b.entries())if(c.current[e]!==f){let e=d(b,a);return c.current=b,e}},[d,...b])}function t$1(a){function b(){"loading"!==document.readyState&&(a(),document.removeEventListener("DOMContentLoaded",b))}"undefined"!=typeof window&&"undefined"!=typeof document&&(document.addEventListener("DOMContentLoaded",b),b())}let t=[];t$1(()=>{function a(a){a.target instanceof HTMLElement&&a.target!==document.body&&t[0]!==a.target&&(t.unshift(a.target),t=t.filter(a=>null!=a&&a.isConnected),t.splice(10))}window.addEventListener("click",a,{capture:!0}),window.addEventListener("mousedown",a,{capture:!0}),window.addEventListener("focus",a,{capture:!0}),document.body.addEventListener("click",a,{capture:!0}),document.body.addEventListener("mousedown",a,{capture:!0}),document.body.addEventListener("focus",a,{capture:!0})});var $e=(a=>(a[a.Open=0]="Open",a[a.Closed=1]="Closed",a))($e||{}),qe=(a=>(a[a.Single=0]="Single",a[a.Multi=1]="Multi",a))(qe||{}),ze=(b=>(b[b.Pointer=0]="Pointer",b[b.Focus=1]="Focus",b[b.Other=2]="Other",b))(ze||{}),Ye=(a=>(a[a.OpenCombobox=0]="OpenCombobox",a[a.CloseCombobox=1]="CloseCombobox",a[a.GoToOption=2]="GoToOption",a[a.RegisterOption=3]="RegisterOption",a[a.UnregisterOption=4]="UnregisterOption",a[a.RegisterLabel=5]="RegisterLabel",a[a.SetActivationTrigger=6]="SetActivationTrigger",a[a.UpdateVirtualOptions=7]="UpdateVirtualOptions",a))(Ye||{});function de(b){let c=1<arguments.length&&arguments[1]!==void 0?arguments[1]:a=>a,d=null===b.activeOptionIndex?null:b.options[b.activeOptionIndex],e=c(b.options.slice()),a=0<e.length&&null!==e[0].dataRef.current.order?e.sort((a,b)=>a.dataRef.current.order-b.dataRef.current.order):I$1(e,a=>a.dataRef.current.domRef.current),f=d?a.indexOf(d):null;return-1===f&&(f=null),{options:a,activeOptionIndex:f}}let Qe={[1](a){var b;return null!=(b=a.dataRef.current)&&b.disabled||1===a.comboboxState?a:{...a,activeOptionIndex:null,comboboxState:1}},[0](b){var a,c;if(null!=(a=b.dataRef.current)&&a.disabled||0===b.comboboxState)return b;if(null!=(c=b.dataRef.current)&&c.value){let c=b.dataRef.current.calculateIndex(b.dataRef.current.value);if(-1!==c)return{...b,activeOptionIndex:c,comboboxState:0}}return{...b,comboboxState:0}},[2](b,d){var g,h,j,k,m;if(null!=(g=b.dataRef.current)&&g.disabled||null!=(h=b.dataRef.current)&&h.optionsRef.current&&!(null!=(j=b.dataRef.current)&&j.optionsPropsRef.current.static)&&1===b.comboboxState)return b;if(b.virtual){let a=d.focus===c.Specific?d.idx:f(d,{resolveItems:()=>b.virtual.options,resolveActiveIndex:()=>{var a,c;return null==(c=null==(a=b.activeOptionIndex)?b.virtual.options.findIndex(a=>!b.virtual.disabled(a)):a)?null:c},resolveDisabled:b.virtual.disabled,resolveId(){throw new Error("Function not implemented.")}}),e=null==(k=d.trigger)?2:k;return b.activeOptionIndex===a&&b.activationTrigger===e?b:{...b,activeOptionIndex:a,activationTrigger:e}}let n=de(b);if(null===n.activeOptionIndex){let a=n.options.findIndex(a=>!a.dataRef.current.disabled);-1!==a&&(n.activeOptionIndex=a)}let o=d.focus===c.Specific?d.idx:f(d,{resolveItems:()=>n.options,resolveActiveIndex:()=>n.activeOptionIndex,resolveId:a=>a.id,resolveDisabled:a=>a.dataRef.current.disabled}),a=null==(m=d.trigger)?2:m;return b.activeOptionIndex===o&&b.activationTrigger===a?b:{...b,...n,activeOptionIndex:o,activationTrigger:a}},[3]:(b,d)=>{var e,f,g;if(null!=(e=b.dataRef.current)&&e.virtual)return{...b,options:[...b.options,d.payload]};let h=d.payload,j=de(b,a=>(a.push(h),a));null===b.activeOptionIndex&&null!=(f=b.dataRef.current)&&f.isSelected(d.payload.dataRef.current.value)&&(j.activeOptionIndex=j.options.indexOf(h));let a={...b,...j,activationTrigger:2};return null!=(g=b.dataRef.current)&&g.__demoMode&&void 0===b.dataRef.current.value&&(a.activeOptionIndex=0),a},[4]:(b,c)=>{var d;if(null!=(d=b.dataRef.current)&&d.virtual)return{...b,options:b.options.filter(a=>a.id!==c.id)};let e=de(b,a=>{let b=a.findIndex(a=>a.id===c.id);return-1!==b&&a.splice(b,1),a});return{...b,...e,activationTrigger:2}},[5]:(a,b)=>a.labelId===b.id?a:{...a,labelId:b.id},[6]:(a,b)=>a.activationTrigger===b.trigger?a:{...a,activationTrigger:b.trigger},[7]:(b,c)=>{var d;if((null==(d=b.virtual)?void 0:d.options)===c.options)return b;let e=b.activeOptionIndex;if(null!==b.activeOptionIndex){let a=c.options.indexOf(b.virtual.options[b.activeOptionIndex]);e=-1===a?null:a}return{...b,activeOptionIndex:e,virtual:Object.assign({},b.virtual,{options:c.options})}}},be=createContext(null);be.displayName="ComboboxActionsContext";function ee(a){let b=useContext(be);if(null===b){let b=new Error(`<${a} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(b,ee),b}return b}let Ce=createContext(null);function Ze(b){var d;let f=j("VirtualProvider"),[e,g]=useMemo(()=>{let a=f.optionsRef.current;if(!a)return[0,0];let b=window.getComputedStyle(a);return[parseFloat(b.paddingBlockStart||b.paddingTop),parseFloat(b.paddingBlockEnd||b.paddingBottom)]},[f.optionsRef.current]),a=useVirtualizer({scrollPaddingStart:e,scrollPaddingEnd:g,count:f.virtual.options.length,estimateSize(){return 40},getScrollElement(){var a;return null==(a=f.optionsRef.current)?null:a},overscan:12}),[h,i]=useState(0);return l(()=>{i(a=>a+1)},[null==(d=f.virtual)?void 0:d.options]),React__default.createElement(Ce.Provider,{value:a},React__default.createElement("div",{style:{position:"relative",width:"100%",height:`${a.getTotalSize()}px`},ref:b=>{if(b){if("undefined"!=typeof process&&void 0!==process.env.JEST_WORKER_ID||0===f.activationTrigger)return;null!==f.activeOptionIndex&&f.virtual.options.length>f.activeOptionIndex&&a.scrollToIndex(f.activeOptionIndex)}}},a.getVirtualItems().map(a=>{var c;return React__default.createElement(Fragment,{key:a.key},React__default.cloneElement(null==(c=b.children)?void 0:c.call(b,{option:f.virtual.options[a.index],open:0===f.comboboxState}),{key:`${h}-${a.key}`,"data-index":a.index,"aria-setsize":f.virtual.options.length,"aria-posinset":a.index+1,style:{position:"absolute",top:0,left:0,transform:`translateY(${a.start}px)`,overflowAnchor:"none"}}))})))}let ce=createContext(null);ce.displayName="ComboboxDataContext";function j(a){let b=useContext(ce);if(null===b){let b=new Error(`<${a} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(b,j),b}return b}function et(a,b){return u(b.type,Qe,a,b)}let tt=Fragment;function ot(b,j){let{value:m,defaultValue:q,onChange:a,form:i,name:r,by:w=null,disabled:B=!1,__demoMode:G=!1,nullable:H=!1,multiple:M=!1,immediate:g=!1,virtual:f=null,...t}=b,v=null,[R=M?[]:void 0,Q]=T(m,a,q),[I,S]=useReducer(et,{dataRef:createRef(),comboboxState:G?0:1,options:[],virtual:null,activeOptionIndex:null,activationTrigger:2,labelId:null}),E=useRef(!1),k=useRef({static:!1,hold:!1}),J=useRef(null),K=useRef(null),z=useRef(null),P=useRef(null),U=o("string"==typeof w?(a,c)=>{let b=w;return(null==a?void 0:a[b])===(null==c?void 0:c[b])}:null==w?(a,c)=>a===c:w),V=o(a=>I.options.findIndex(c=>U(c.dataRef.current.value,a))),O=useCallback(a=>u(W.mode,{[1]:()=>R.some(c=>U(c,a)),[0]:()=>U(R,a)}),[R]),L=o(a=>I.activeOptionIndex===V(a)),W=useMemo(()=>({...I,immediate:!1,optionsPropsRef:k,labelRef:J,inputRef:K,buttonRef:z,optionsRef:P,value:R,defaultValue:q,disabled:B,mode:M?1:0,virtual:I.virtual,get activeOptionIndex(){if(E.current&&null===I.activeOptionIndex&&0<I.options.length){let a=I.options.findIndex(a=>!a.dataRef.current.disabled);if(-1!==a)return a}return I.activeOptionIndex},calculateIndex:V,compare:U,isSelected:O,isActive:L,nullable:H,__demoMode:G}),[R,q,B,M,H,G,I,v]);l(()=>{},[v,void 0]),l(()=>{I.dataRef.current=W},[W]),y([W.buttonRef,W.inputRef,W.optionsRef],()=>$.closeCombobox(),0===W.comboboxState);let n=useMemo(()=>{var a,c,e;return{open:0===W.comboboxState,disabled:B,activeIndex:W.activeOptionIndex,activeOption:null===W.activeOptionIndex?null:W.virtual?W.virtual.options[null==(a=W.activeOptionIndex)?0:a]:null==(e=null==(c=W.options[W.activeOptionIndex])?void 0:c.dataRef.current.value)?null:e,value:R}},[W,B,R]),F=o(()=>{if(null!==W.activeOptionIndex){if(W.virtual)Y(W.virtual.options[W.activeOptionIndex]);else{let{dataRef:a}=W.options[W.activeOptionIndex];Y(a.current.value)}$.goToOption(c.Specific,W.activeOptionIndex)}}),A=o(()=>{S({type:0}),E.current=!0}),h=o(()=>{S({type:1}),E.current=!1}),X=o((a,d,b)=>(E.current=!1,a===c.Specific?S({type:2,focus:c.Specific,idx:d,trigger:b}):S({type:2,focus:a,trigger:b}))),D=o((a,c)=>(S({type:3,payload:{id:a,dataRef:c}}),()=>{W.isActive(c.current.value)&&(E.current=!0),S({type:4,id:a})})),N=o(a=>(S({type:5,id:a}),()=>S({type:5,id:null}))),Y=o(a=>u(W.mode,{[0](){return null==Q?void 0:Q(a)},[1](){let c=W.value.slice(),b=c.findIndex(b=>U(b,a));return-1===b?c.push(a):c.splice(b,1),null==Q?void 0:Q(c)}})),Z=o(a=>{S({type:6,trigger:a})}),$=useMemo(()=>({onChange:Y,registerOption:D,registerLabel:N,goToOption:X,closeCombobox:h,openCombobox:A,setActivationTrigger:Z,selectActiveOption:F}),[]),_=null===j?{}:{ref:j},aa=useRef(null),ba=p();return useEffect(()=>{aa.current&&void 0!==q&&ba.addEventListener(aa.current,"reset",()=>{null==Q||Q(q)})},[aa,Q]),React__default.createElement(be.Provider,{value:$},React__default.createElement(ce.Provider,{value:W},React__default.createElement(s,{value:u(W.comboboxState,{[0]:d.Open,[1]:d.Closed})},null!=r&&null!=R&&e({[r]:R}).map((a,c)=>{let[e,d]=a;return React__default.createElement(u$1,{features:s$1.Hidden,ref:0===c?a=>{var b;aa.current=null==(b=null==a?void 0:a.closest("form"))?null:b}:void 0,...x({key:e,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:i,disabled:B,name:e,value:d})})}),C({ourProps:_,theirProps:t,slot:n,defaultTag:tt,name:"Combobox"}))))}let nt="input";function rt(b,d){var q,r,w,y,A,h=Math.abs;let B=I(),{id:H=`headlessui-combobox-input-${B}`,onChange:D,displayValue:F,type:a="text",...G}=b,M=j("Combobox.Input"),e=ee("Combobox.Input"),l=y$1(M.inputRef,d),N=n(M.inputRef),g=useRef(!1),f=p(),v=o(()=>{e.onChange(null),M.optionsRef.current&&(M.optionsRef.current.scrollTop=0),e.goToOption(c.Nothing)}),P=function(){var a;return"function"==typeof F&&void 0!==M.value?null==(a=F(M.value))?"":a:"string"==typeof M.value?M.value:""}();m((a,b)=>{let[c,d]=a,[e,f]=b;if(g.current)return;let i=M.inputRef.current;i&&((0===f&&1===d||c!==e)&&(i.value=c),requestAnimationFrame(()=>{if(!g.current&&i&&(null==N?void 0:N.activeElement)===i){let{selectionStart:a,selectionEnd:b}=i;0===h((null==b?0:b)-(null==a?0:a))&&0===a&&i.setSelectionRange(i.value.length,i.value.length)}}))},[P,M.comboboxState,N]),m((a,b)=>{let[c]=a,[d]=b;if(0===c&&1===d){if(g.current)return;let a=M.inputRef.current;if(!a)return;let b=a.value,{selectionStart:c,selectionEnd:d,selectionDirection:e}=a;a.value="",a.value=b,null===e?a.setSelectionRange(c,d):a.setSelectionRange(c,d,e)}},[M.comboboxState]);let Q=useRef(!1),s=o(()=>{Q.current=!0}),R=o(()=>{f.nextFrame(()=>{Q.current=!1})}),S=o(a=>{switch(g.current=!0,a.key){case o$1.Enter:if(g.current=!1,0!==M.comboboxState||Q.current)return;if(a.preventDefault(),a.stopPropagation(),null===M.activeOptionIndex)return void e.closeCombobox();e.selectActiveOption(),0===M.mode&&e.closeCombobox();break;case o$1.ArrowDown:return g.current=!1,a.preventDefault(),a.stopPropagation(),u(M.comboboxState,{[0]:()=>e.goToOption(c.Next),[1]:()=>e.openCombobox()});case o$1.ArrowUp:return g.current=!1,a.preventDefault(),a.stopPropagation(),u(M.comboboxState,{[0]:()=>e.goToOption(c.Previous),[1]:()=>{e.openCombobox(),f.nextFrame(()=>{M.value||e.goToOption(c.Last)})}});case o$1.Home:if(a.shiftKey)break;return g.current=!1,a.preventDefault(),a.stopPropagation(),e.goToOption(c.First);case o$1.PageUp:return g.current=!1,a.preventDefault(),a.stopPropagation(),e.goToOption(c.First);case o$1.End:if(a.shiftKey)break;return g.current=!1,a.preventDefault(),a.stopPropagation(),e.goToOption(c.Last);case o$1.PageDown:return g.current=!1,a.preventDefault(),a.stopPropagation(),e.goToOption(c.Last);case o$1.Escape:return g.current=!1,0===M.comboboxState?(a.preventDefault(),M.optionsRef.current&&!M.optionsPropsRef.current.static&&a.stopPropagation(),M.nullable&&0===M.mode&&null===M.value&&v(),e.closeCombobox()):void 0;case o$1.Tab:if(g.current=!1,0!==M.comboboxState)return;0===M.mode&&1!==M.activationTrigger&&e.selectActiveOption(),e.closeCombobox()}}),T=o(a=>{null==D||D(a),M.nullable&&0===M.mode&&""===a.target.value&&v(),e.openCombobox()}),E=o(a=>{var b,c,d;let f=null==(b=a.relatedTarget)?t.find(b=>b!==a.currentTarget):b;if(g.current=!1,!(null!=(c=M.optionsRef.current)&&c.contains(f))&&!(null!=(d=M.buttonRef.current)&&d.contains(f))&&0===M.comboboxState)return a.preventDefault(),0===M.mode&&(M.nullable&&null===M.value?v():1!==M.activationTrigger&&e.selectActiveOption()),e.closeCombobox()}),k=o(a=>{var b,c,d;let g=null==(b=a.relatedTarget)?t.find(b=>b!==a.currentTarget):b;null!=(c=M.buttonRef.current)&&c.contains(g)||null!=(d=M.optionsRef.current)&&d.contains(g)||M.disabled||M.immediate&&0!==M.comboboxState&&(e.openCombobox(),f.nextFrame(()=>{e.setActivationTrigger(1)}))}),J=i(()=>{if(M.labelId)return[M.labelId].join(" ")},[M.labelId]),K=useMemo(()=>({open:0===M.comboboxState,disabled:M.disabled}),[M]),z={ref:l,id:H,role:"combobox",type:a,"aria-controls":null==(q=M.optionsRef.current)?void 0:q.id,"aria-expanded":0===M.comboboxState,"aria-activedescendant":null===M.activeOptionIndex?void 0:M.virtual?null==(r=M.options.find(a=>{var b;return!(null!=(b=M.virtual)&&b.disabled(a.dataRef.current.value))&&M.compare(a.dataRef.current.value,M.virtual.options[M.activeOptionIndex])}))?void 0:r.id:null==(w=M.options[M.activeOptionIndex])?void 0:w.id,"aria-labelledby":J,"aria-autocomplete":"list",defaultValue:null==(A=null==(y=b.defaultValue)?void 0===M.defaultValue?null:null==F?void 0:F(M.defaultValue):y)?M.defaultValue:A,disabled:M.disabled,onCompositionStart:s,onCompositionEnd:R,onKeyDown:S,onChange:T,onFocus:k,onBlur:E};return C({ourProps:z,theirProps:G,slot:K,defaultTag:nt,name:"Combobox.Input"})}let at="button";function lt(b,d){var h;let k=j("Combobox.Button"),m=ee("Combobox.Button"),a=y$1(k.buttonRef,d),n=I(),{id:s=`headlessui-combobox-button-${n}`,...q}=b,t=p(),e=o(a=>{switch(a.key){case o$1.ArrowDown:return a.preventDefault(),a.stopPropagation(),1===k.comboboxState&&m.openCombobox(),t.nextFrame(()=>{var a;return null==(a=k.inputRef.current)?void 0:a.focus({preventScroll:!0})});case o$1.ArrowUp:return a.preventDefault(),a.stopPropagation(),1===k.comboboxState&&(m.openCombobox(),t.nextFrame(()=>{k.value||m.goToOption(c.Last)})),t.nextFrame(()=>{var a;return null==(a=k.inputRef.current)?void 0:a.focus({preventScroll:!0})});case o$1.Escape:return 0===k.comboboxState?(a.preventDefault(),k.optionsRef.current&&!k.optionsPropsRef.current.static&&a.stopPropagation(),m.closeCombobox(),t.nextFrame(()=>{var a;return null==(a=k.inputRef.current)?void 0:a.focus({preventScroll:!0})})):void 0;default:}}),l=o(a=>r(a.currentTarget)?a.preventDefault():void(0===k.comboboxState?m.closeCombobox():(a.preventDefault(),m.openCombobox()),t.nextFrame(()=>{var a;return null==(a=k.inputRef.current)?void 0:a.focus({preventScroll:!0})}))),u=i(()=>{if(k.labelId)return[k.labelId,s].join(" ")},[k.labelId,s]),g=useMemo(()=>({open:0===k.comboboxState,disabled:k.disabled,value:k.value}),[k]),f={ref:a,id:s,type:T$1(b,k.buttonRef),tabIndex:-1,"aria-haspopup":"listbox","aria-controls":null==(h=k.optionsRef.current)?void 0:h.id,"aria-expanded":0===k.comboboxState,"aria-labelledby":u,disabled:k.disabled,onClick:l,onKeyDown:e};return C({ourProps:f,theirProps:q,slot:g,defaultTag:at,name:"Combobox.Button"})}let it="label";function ut(b,d){let f=I(),{id:h=`headlessui-combobox-label-${f}`,...g}=b,a=j("Combobox.Label"),i=ee("Combobox.Label"),k=y$1(a.labelRef,d);l(()=>i.registerLabel(h),[h]);let c=o(()=>{var b;return null==(b=a.inputRef.current)?void 0:b.focus({preventScroll:!0})}),e=useMemo(()=>({open:0===a.comboboxState,disabled:a.disabled}),[a]);return C({ourProps:{ref:k,id:h,onClick:c},theirProps:g,slot:e,defaultTag:it,name:"Combobox.Label"})}let pt="ul",st=O.RenderStrategy|O.Static;function dt(b,h){let k=I(),{id:n=`headlessui-combobox-options-${k}`,hold:a=!1,...m}=b,o=j("Combobox.Options"),p=y$1(o.optionsRef,h),c=u$2(),e=(()=>null===c?0===o.comboboxState:(c&d.Open)===d.Open)();l(()=>{var a;o.optionsPropsRef.current.static=null!=(a=b.static)&&a},[o.optionsPropsRef,b.static]),l(()=>{o.optionsPropsRef.current.hold=a},[o.optionsPropsRef,a]),F({container:o.optionsRef.current,enabled:0===o.comboboxState,accept(a){return"option"===a.getAttribute("role")?NodeFilter.FILTER_REJECT:a.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(a){a.setAttribute("role","none")}});let q=i(()=>{var a,b;return null==(b=o.labelId)?null==(a=o.buttonRef.current)?void 0:a.id:b},[o.labelId,o.buttonRef.current]),r=useMemo(()=>({open:0===o.comboboxState,option:void 0}),[o]),g={"aria-labelledby":q,role:"listbox","aria-multiselectable":1===o.mode||void 0,id:n,ref:p};return o.virtual&&0===o.comboboxState&&Object.assign(m,{children:React__default.createElement(Ze,null,m.children)}),C({ourProps:g,theirProps:m,slot:r,defaultTag:pt,features:st,visible:e,name:"Combobox.Options"})}let bt="li";function ct(b,d){var h;let m=I(),{id:r=`headlessui-combobox-option-${m}`,disabled:a=!1,value:n,order:i=null,...q}=b,p=j("Combobox.Option"),e=ee("Combobox.Option"),t=p.virtual?p.activeOptionIndex===p.calculateIndex(n):null!==p.activeOptionIndex&&(null==(h=p.options[p.activeOptionIndex])?void 0:h.id)===r,u=p.isSelected(n),g=useRef(null),f=s$2({disabled:a,value:n,domRef:g,order:i}),v=useContext(Ce),w=y$1(d,g,v?v.measureElement:null),y=o(()=>e.onChange(n));l(()=>e.registerOption(r,f),[f,r]);let s=useRef(!(p.virtual||p.__demoMode));l(()=>{if(p.virtual&&p.__demoMode){let a=o$2();return a.requestAnimationFrame(()=>{s.current=!0}),a.dispose}},[p.virtual,p.__demoMode]),l(()=>{if(s.current&&0===p.comboboxState&&t&&0!==p.activationTrigger){let a=o$2();return a.requestAnimationFrame(()=>{var a,b;null==(b=null==(a=g.current)?void 0:a.scrollIntoView)||b.call(a,{block:"nearest"})}),a.dispose}},[g,t,p.comboboxState,p.activationTrigger,p.activeOptionIndex]);let x=o(b=>{var c;return a||null!=(c=p.virtual)&&c.disabled(n)?b.preventDefault():void(y(),n$1()||requestAnimationFrame(()=>{var a;return null==(a=p.inputRef.current)?void 0:a.focus({preventScroll:!0})}),0===p.mode&&requestAnimationFrame(()=>e.closeCombobox()))}),A=o(()=>{var b;if(a||null!=(b=p.virtual)&&b.disabled(n))return e.goToOption(c.Nothing);let d=p.calculateIndex(n);e.goToOption(c.Specific,d)}),B=u$3(),D=o(a=>B.update(a)),k=o(b=>{var d;if(!(!B.wasMoved(b)||a||null!=(d=p.virtual)&&d.disabled(n)||t)){let a=p.calculateIndex(n);e.goToOption(c.Specific,a,0)}}),E=o(b=>{var d;B.wasMoved(b)&&(a||null!=(d=p.virtual)&&d.disabled(n)||t&&(p.optionsPropsRef.current.hold||e.goToOption(c.Nothing)))}),F=useMemo(()=>({active:t,selected:u,disabled:a}),[t,u,a]);return C({ourProps:{id:r,ref:w,role:"option",tabIndex:!0===a?void 0:-1,"aria-disabled":!0===a||void 0,"aria-selected":u,disabled:void 0,onClick:x,onFocus:A,onPointerEnter:D,onMouseEnter:D,onPointerMove:k,onMouseMove:k,onPointerLeave:E,onMouseLeave:E},theirProps:q,slot:F,defaultTag:bt,name:"Combobox.Option"})}let ft=U(ot),mt=U(lt),Tt=U(rt),xt=U(ut),gt=U(dt),vt=U(ct),qt=Object.assign(ft,{Input:Tt,Button:mt,Label:xt,Options:gt,Option:vt});export{qt as q};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/** A basic inline <code> component.
|
|
3
|
+
* Accepts "content" prop or renders children as passed.
|
|
4
|
+
*/
|
|
5
|
+
export declare const Code: React.FC<CodeProps>;
|
|
6
|
+
export interface CodeProps extends React.ComponentPropsWithoutRef<"code"> {
|
|
7
|
+
content?: string;
|
|
8
|
+
className?: string;
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=Code.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Code.component.d.ts","sourceRoot":"","sources":["../../../src/components/Code/Code.component.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAMpC,CAAA;AAED,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC;IACvE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Code/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
type AddOptionValueAndLabelFunction = (value: string, label: string | undefined, children: React.ReactNode) => void;
|
|
3
|
+
export type ComboBoxContextType = {
|
|
4
|
+
selectedValue?: string;
|
|
5
|
+
truncateOptions: boolean;
|
|
6
|
+
addOptionValueAndLabel: AddOptionValueAndLabelFunction;
|
|
7
|
+
};
|
|
8
|
+
export declare const ComboBoxContext: React.Context<ComboBoxContextType | undefined>;
|
|
9
|
+
export declare const ComboBox: React.FC<ComboBoxProps>;
|
|
10
|
+
export type ComboBoxWidth = "full" | "auto";
|
|
11
|
+
type OnChangeHandler = (value: string) => void;
|
|
12
|
+
export interface ComboBoxProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "onInput" | "children"> {
|
|
13
|
+
/** The aria-label of the ComboBox. Defaults to the label if label was passed. */
|
|
14
|
+
ariaLabel?: string;
|
|
15
|
+
/** The children to Render. Use `ComboBox.Option` elements. */
|
|
16
|
+
children?: React.ReactNode;
|
|
17
|
+
/** A custom className. Will be passed to the internal text input element of the ComboBox */
|
|
18
|
+
className?: string;
|
|
19
|
+
/** Pass a defaultValue to use as an uncontrolled Component that will handle its state internally */
|
|
20
|
+
defaultValue?: string;
|
|
21
|
+
/** Whether the ComboBox is disabled */
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
/** Whether the ComboBox has an error. Note this refers to an internal error like failing to load options etc., to indicate failed validation use `invalid` instead. */
|
|
24
|
+
error?: boolean;
|
|
25
|
+
/** An errortext to display when the ComboBox failed validation or an internal error occurred. */
|
|
26
|
+
errortext?: React.ReactNode;
|
|
27
|
+
/** A helptext to render to explain meaning and significance of the ComboBox */
|
|
28
|
+
helptext?: React.ReactNode;
|
|
29
|
+
/** The Id of the ComboBox. Will be assigned to the text input part of the ComboBox. If not passed, an id will be auto-generated. */
|
|
30
|
+
id?: string;
|
|
31
|
+
/** Whether the ComboBox failed validation */
|
|
32
|
+
invalid?: boolean;
|
|
33
|
+
/** The label of the ComboBox */
|
|
34
|
+
label?: string;
|
|
35
|
+
/** Whether the ComboBox is busy loading options */
|
|
36
|
+
loading?: boolean;
|
|
37
|
+
/** The name attribute of the ComboBox when used as part of a form */
|
|
38
|
+
name?: string;
|
|
39
|
+
/** Whether the ComboBox can be reset to having no value selected by manually clearing the text and clicking outside of the ComboBox. Default is TRUE. When set to FALSE, the selected value can only be changed by selecting another value after the initial selection, but never back to no selected value at all. */
|
|
40
|
+
nullable?: boolean;
|
|
41
|
+
/** A handler to execute when the ComboBox looses focus */
|
|
42
|
+
onBlur?: React.FocusEventHandler<HTMLInputElement>;
|
|
43
|
+
/** A handler to execute when the ComboBox' selected value changes */
|
|
44
|
+
onChange?: OnChangeHandler;
|
|
45
|
+
/** A handler to execute when the ComboBox input receives focus */
|
|
46
|
+
onFocus?: React.FocusEventHandler<HTMLInputElement>;
|
|
47
|
+
/** Handler to execute when the ComboBox text input value changes */
|
|
48
|
+
onInputChange?: React.ChangeEventHandler<HTMLInputElement>;
|
|
49
|
+
/** A placeholder to render in the text input */
|
|
50
|
+
placeholder?: string;
|
|
51
|
+
/** Whether the ComboBox is required */
|
|
52
|
+
required?: boolean;
|
|
53
|
+
/** A text to display in case the ComboBox was successfully validated. Will set the ComboBox to `valid` when passed. */
|
|
54
|
+
successtext?: React.ReactNode;
|
|
55
|
+
/** Whether the option labels should be truncated in case they are longer/wider than the available space in an option or not. Default is FALSE. */
|
|
56
|
+
truncateOptions?: boolean;
|
|
57
|
+
/** Whether the ComboBox was successfully validated */
|
|
58
|
+
valid?: boolean;
|
|
59
|
+
/** The selected value of the ComboBox in Controlled Mode. */
|
|
60
|
+
value?: string;
|
|
61
|
+
/** The label of the passed value or defaultValue. If you want to use controlled mode or pass as defaultValue in uncontrolled mode and additionally use labels for human-readable SelectOptions, you need to also pass the matching label for the passed value/defaultValue so that the Select component can render itself properly */
|
|
62
|
+
valueLabel?: string;
|
|
63
|
+
/** The width of the text input. Either 'full' (default) or 'auto'. */
|
|
64
|
+
width?: ComboBoxWidth;
|
|
65
|
+
/** Pass a custom classname to the wrapping <div> element. This can be useful if you must add styling to the outermost wrapping element of this component, e.g. for positioning. */
|
|
66
|
+
wrapperClassName?: string;
|
|
67
|
+
}
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=ComboBox.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboBox.component.d.ts","sourceRoot":"","sources":["../../../src/components/ComboBox/ComboBox.component.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA6D,MAAM,OAAO,CAAA;AA8HjF,KAAK,8BAA8B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAA;AAEnH,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,OAAO,CAAA;IACxB,sBAAsB,EAAE,8BAA8B,CAAA;CACvD,CAAA;AAED,eAAO,MAAM,eAAe,gDAA4D,CAAA;AASxF,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAwS5C,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAA;AAG3C,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACpH,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oGAAoG;IACpG,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uKAAuK;IACvK,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,iGAAiG;IACjG,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,oIAAoI;IACpI,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uTAAuT;IACvT,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;IAClD,qEAAqE;IACrE,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,kEAAkE;IAClE,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;IACnD,oEAAoE;IACpE,aAAa,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IAC1D,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uHAAuH;IACvH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,kJAAkJ;IAClJ,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sUAAsU;IACtU,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,mLAAmL;IACnL,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ComboBox/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const ComboBoxOption: React.FC<ComboBoxOptionProps>;
|
|
3
|
+
export interface ComboBoxOptionProps extends React.HTMLProps<HTMLLIElement> {
|
|
4
|
+
/** Content to render inside the ComboBoxOption. Is specified should be string. */
|
|
5
|
+
children?: string;
|
|
6
|
+
/** If option is disabled. */
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
/** Option value. */
|
|
9
|
+
value?: string;
|
|
10
|
+
/** Option label. */
|
|
11
|
+
label?: string;
|
|
12
|
+
/** CSS class for the option. */
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ComboBoxOption.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboBoxOption.component.d.ts","sourceRoot":"","sources":["../../../src/components/ComboBoxOption/ComboBoxOption.component.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA0C,MAAM,OAAO,CAAA;AA8C9D,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAgDxD,CAAA;AAED,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC;IACzE,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ComboBoxOption/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/** A component to hold a secret text, e.g. an SSH key, and conceal or reveal as needed. */
|
|
3
|
+
export declare const SecretText: React.FC<SecretTextProps>;
|
|
4
|
+
type ValueChangeHandler = (value: string) => void;
|
|
5
|
+
export interface SecretTextProps extends Omit<React.HTMLAttributes<HTMLTextAreaElement>, "onCopy" | "onPaste"> {
|
|
6
|
+
/** Whether the secret field should autocomplete. */
|
|
7
|
+
autoComplete?: string;
|
|
8
|
+
/** Pass a custom className to the Secret input field. */
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Whether the Clear button is rendered. */
|
|
11
|
+
clear?: boolean;
|
|
12
|
+
/** Whether the Copy button is rendered. */
|
|
13
|
+
copy?: boolean;
|
|
14
|
+
/** A small text to display for a second to confirm the secret's content was copied to the clipboard. */
|
|
15
|
+
copyConfirmtext?: string;
|
|
16
|
+
/** Disable the Clear button */
|
|
17
|
+
disableClear?: boolean;
|
|
18
|
+
/** Disable the Copy button */
|
|
19
|
+
disableCopy?: boolean;
|
|
20
|
+
/** Whether the Secret's input is disabled. */
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
/** Disable the Paste button */
|
|
23
|
+
disablePaste?: boolean;
|
|
24
|
+
/** Disable the Hide/Reveal button */
|
|
25
|
+
disableToggle?: boolean;
|
|
26
|
+
/** A small text to display information regarding any errors in the context of the Secret. */
|
|
27
|
+
errortext?: string;
|
|
28
|
+
/** A small text to display giving more information and context about the Secret. */
|
|
29
|
+
helptext?: string;
|
|
30
|
+
/** Pass an id */
|
|
31
|
+
id?: string;
|
|
32
|
+
/** Whether the Secret's content is invalid. */
|
|
33
|
+
invalid?: boolean;
|
|
34
|
+
/** A label to display above the SecretText's textarea. */
|
|
35
|
+
label?: string;
|
|
36
|
+
/** The name of the SecretText's textarea. */
|
|
37
|
+
name?: string;
|
|
38
|
+
/** A handler to execute when the Secret's input area looses focus. */
|
|
39
|
+
onBlur?: React.FocusEventHandler<HTMLTextAreaElement>;
|
|
40
|
+
/** A handler to execute when the Secret's content changes. */
|
|
41
|
+
onChange?: React.ChangeEventHandler<HTMLTextAreaElement>;
|
|
42
|
+
/** A handler to execute when the user clears the Secret's content using the Clear button. */
|
|
43
|
+
onClear?: () => void;
|
|
44
|
+
/** A handler to execute when the user copies the Secret's content to the clipboard. */
|
|
45
|
+
onCopy?: ValueChangeHandler;
|
|
46
|
+
/** A handler to execute when the SecretText textarea receives focus */
|
|
47
|
+
onFocus?: React.FocusEventHandler<HTMLTextAreaElement>;
|
|
48
|
+
/** A handler to execute when the user hides the Secret's content. */
|
|
49
|
+
onHide?: () => void;
|
|
50
|
+
/** A handler to execute when the user pastes text from the clipboard into the SecretText. */
|
|
51
|
+
onPaste?: ValueChangeHandler;
|
|
52
|
+
/** A handler to execute when the user reveals the Secret's content. */
|
|
53
|
+
onReveal?: () => void;
|
|
54
|
+
/** A handler to execute when the visibility of the SecretText's content is toggled, i.e. this will be run when the content is revealed and when it is hidden. */
|
|
55
|
+
onToggle?: () => void;
|
|
56
|
+
/** Whether a button to paste text content even in hidden mode is rendered. */
|
|
57
|
+
paste?: boolean;
|
|
58
|
+
/** Pass a placeholder to the SecretText's textarea */
|
|
59
|
+
placeholder?: string;
|
|
60
|
+
/** Whether the SecretText content is read only, i.e. can not be edited..*/
|
|
61
|
+
readOnly?: boolean;
|
|
62
|
+
/** Whether the SecretText is required. Passing `true` will render a small required marker to the label. This will only have an effect when a label is passed, too. */
|
|
63
|
+
required?: boolean;
|
|
64
|
+
/** Whether the secret's content is revealed / legible. */
|
|
65
|
+
reveal?: boolean;
|
|
66
|
+
/** A small text to display giving information in the context of the secret, e.g. when it was successfully validated or matches specific requirements, etc. */
|
|
67
|
+
successtext?: string;
|
|
68
|
+
/** Whether a button to toggle visibility of the SecretText's content should be rendered. */
|
|
69
|
+
toggle?: boolean;
|
|
70
|
+
/** Whether the Secret's content was successfully validated. */
|
|
71
|
+
valid?: boolean;
|
|
72
|
+
/** The value of the SecretText, i.e. the Secret's content. */
|
|
73
|
+
value?: string;
|
|
74
|
+
/** Pass a className to the outer wrapper element */
|
|
75
|
+
wrapperClassName?: string;
|
|
76
|
+
}
|
|
77
|
+
export {};
|
|
78
|
+
//# sourceMappingURL=SecretText.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecretText.component.d.ts","sourceRoot":"","sources":["../../../src/components/SecretText/SecretText.component.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAqC,MAAM,OAAO,CAAA;AAuDzD,2FAA2F;AAC3F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgPhD,CAAA;AAGD,KAAK,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;AAEjD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5G,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2CAA2C;IAC3C,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wGAAwG;IACxG,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAA;IACrD,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;IACxD,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,uFAAuF;IACvF,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,uEAAuE;IACvE,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAA;IACtD,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,iKAAiK;IACjK,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uKAAuK;IACvK,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,+JAA+J;IAC/J,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SecretText/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA"}
|