@magicx-eng/ai-autocomplete-react 0.15.0 → 0.17.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/README.md +53 -18
- package/dist/index.d.mts +15 -9
- package/dist/index.d.ts +15 -9
- package/dist/index.js +49 -21
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +49 -21
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var Ze=Object.defineProperty;var Ft=Object.getOwnPropertyDescriptor;var Ht=Object.getOwnPropertyNames;var Kt=Object.prototype.hasOwnProperty;var Wt=(e,o)=>{for(var a in o)Ze(e,a,{get:o[a],enumerable:!0})},qt=(e,o,a,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of Ht(o))!Kt.call(e,r)&&r!==a&&Ze(e,r,{get:()=>o[r],enumerable:!(n=Ft(o,r))||n.enumerable});return e};var Ut=e=>qt(Ze({},"__esModule",{value:!0}),e);var ia={};Wt(ia,{AIAutocomplete:()=>Tt,AIAutocompleteDropdown:()=>qe,DATE_RANGE_META_END:()=>g.DATE_RANGE_META_END,DATE_RANGE_META_START:()=>g.DATE_RANGE_META_START,WEEKDAY_LABELS:()=>g.WEEKDAY_LABELS,buildSubmitResult:()=>g.buildSubmitResult,cellDay:()=>g.cellDay,cellIso:()=>g.cellIso,dateCellMarks:()=>g.dateCellMarks,formatDate:()=>g.formatDate,formatDateRange:()=>g.formatDateRange,isoDate:()=>g.isoDate,monthLabel:()=>g.monthLabel,parseDate:()=>g.parseDate,parseLooseDate:()=>g.parseLooseDate,parseLooseDateRange:()=>g.parseLooseDateRange,selectedRangeFor:()=>g.selectedRangeFor,useAIAutocomplete:()=>je,visibleDateRange:()=>g.visibleDateRange,withSkippedParams:()=>g.withSkippedParams});module.exports=Ut(ia);var g=require("@magicx-eng/ai-autocomplete-vanilla");var E=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-67791514")){let e=document.createElement("style");e.id="ac-style-67791514",e.textContent=`.AIAutocomplete-module_container_KKjFU {
|
|
2
2
|
position: relative;
|
|
3
3
|
/* Inherits the host page's font by default. Consumers can pin a specific
|
|
4
4
|
font on the library via \`--aia-font-family: 'Custom Font'\` without
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
opacity: 0;
|
|
194
194
|
}
|
|
195
195
|
}
|
|
196
|
-
`,document.head.appendChild(e)}var
|
|
196
|
+
`,document.head.appendChild(e)}var ke={container:"AIAutocomplete-module_container_KKjFU",inputWrapper:"AIAutocomplete-module_inputWrapper_FLq1b",editorArea:"AIAutocomplete-module_editorArea_7rBWq",input:"AIAutocomplete-module_input_IW-P-",pillListContainer:"AIAutocomplete-module_pillListContainer_h92IA",submitSlot:"AIAutocomplete-module_submitSlot_GhuCM",aiaPillReveal:"AIAutocomplete-module_aiaPillReveal_wf05b"};var Ce=require("@magicx-eng/ai-autocomplete-vanilla"),Q=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-0ae03977")){let e=document.createElement("style");e.id="ac-style-0ae03977",e.textContent=`/*
|
|
197
197
|
* Built-in appearance defaults \u2014 zero specificity via :where().
|
|
198
198
|
* Consumer CSS always wins without !important.
|
|
199
199
|
*
|
|
@@ -620,12 +620,13 @@
|
|
|
620
620
|
disc at the bottom-centre of the option list, shown while the list can still
|
|
621
621
|
scroll down. It rests just above the grid's reserved band
|
|
622
622
|
(--aia-scroll-arrow-bottom is measured and set inline by the controller so it
|
|
623
|
-
tracks the grid's bottom edge in every layout)
|
|
624
|
-
the dropdown's lower edge, where the
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
623
|
+
tracks the grid's bottom edge in every layout). Its two moves differ on
|
|
624
|
+
purpose: it ENTERS by rising from below the dropdown's lower edge, where the
|
|
625
|
+
dropdown's overflow clips it \u2014 so it emerges from behind the footer \u2014 and it
|
|
626
|
+
LEAVES by dissolving in place under data-aia-leaving (see below). z-index 2
|
|
627
|
+
puts it over the option rows and under the footer (z-index 3). Declarations
|
|
628
|
+
mirror vanilla's .magicx-aia-scroll-arrow and Angular's copy \u2014 change all
|
|
629
|
+
three in the same commit. */
|
|
629
630
|
.AIAutocompleteDropdown-module_scrollArrow_uUzV0 {
|
|
630
631
|
position: absolute;
|
|
631
632
|
left: 50%;
|
|
@@ -649,15 +650,34 @@
|
|
|
649
650
|
box-shadow: var(--aia-scroll-arrow-shadow, 0 2px 8px rgba(0, 0, 0, 0.12));
|
|
650
651
|
cursor: pointer;
|
|
651
652
|
pointer-events: none;
|
|
653
|
+
/* Parked: below the panel's edge (clipped), and transparent so the re-park
|
|
654
|
+
after a fade \u2014 scale back out to here \u2014 never shows. Only the transform
|
|
655
|
+
transitions here, so the disc rises at full strength instead of fading
|
|
656
|
+
in on the way up. */
|
|
657
|
+
opacity: 0;
|
|
652
658
|
transform: translateY(calc(100% + var(--aia-scroll-arrow-bottom, 8px) + 4px));
|
|
653
659
|
transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
654
660
|
}
|
|
655
661
|
|
|
656
662
|
.AIAutocompleteDropdown-module_scrollArrow_uUzV0[data-aia-visible] {
|
|
657
663
|
pointer-events: auto;
|
|
664
|
+
opacity: 1;
|
|
658
665
|
transform: translateY(0);
|
|
659
666
|
}
|
|
660
667
|
|
|
668
|
+
/* Leaving: dissolve where it stands \u2014 no travel. Ease-out so most of the fade
|
|
669
|
+
happens at once and the last of it lingers; the shrink keeps it from reading
|
|
670
|
+
as a flat cut. The controller holds this attribute for SCROLL_ARROW_LEAVE_MS
|
|
671
|
+
(scrollArrow.ts) \u2014 keep the two durations equal. */
|
|
672
|
+
.AIAutocompleteDropdown-module_scrollArrow_uUzV0[data-aia-leaving] {
|
|
673
|
+
pointer-events: none;
|
|
674
|
+
opacity: 0;
|
|
675
|
+
transform: translateY(0) scale(0.86);
|
|
676
|
+
transition:
|
|
677
|
+
opacity 240ms cubic-bezier(0.22, 0.61, 0.36, 1),
|
|
678
|
+
transform 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
|
|
679
|
+
}
|
|
680
|
+
|
|
661
681
|
.AIAutocompleteDropdown-module_scrollArrow_uUzV0:hover {
|
|
662
682
|
color: var(
|
|
663
683
|
--aia-scroll-arrow-color-hover,
|
|
@@ -667,6 +687,7 @@
|
|
|
667
687
|
|
|
668
688
|
@media (prefers-reduced-motion: reduce) {
|
|
669
689
|
.AIAutocompleteDropdown-module_scrollArrow_uUzV0,
|
|
690
|
+
.AIAutocompleteDropdown-module_scrollArrow_uUzV0[data-aia-leaving],
|
|
670
691
|
.AIAutocompleteDropdown-module_dropdown_yz2KC {
|
|
671
692
|
transition-duration: 0s;
|
|
672
693
|
}
|
|
@@ -780,7 +801,7 @@
|
|
|
780
801
|
opacity: 0.25;
|
|
781
802
|
}
|
|
782
803
|
}
|
|
783
|
-
`,document.head.appendChild(e)}var
|
|
804
|
+
`,document.head.appendChild(e)}var he={dropdown:"AIAutocompleteDropdown-module_dropdown_yz2KC",visible:"AIAutocompleteDropdown-module_visible_QCoXj",scrollArrow:"AIAutocompleteDropdown-module_scrollArrow_uUzV0",pillBar:"AIAutocompleteDropdown-module_pillBar_pwTXe",pillScroll:"AIAutocompleteDropdown-module_pillScroll_Tpzus",skip:"AIAutocompleteDropdown-module_skip_7-olS",skeletonBars:"AIAutocompleteDropdown-module_skeletonBars_HVr9C",skeletonBar:"AIAutocompleteDropdown-module_skeletonBar_O3xIx",aiaSkeletonPulse:"AIAutocompleteDropdown-module_aiaSkeletonPulse_G8W7q"};var C=require("@magicx-eng/ai-autocomplete-vanilla"),ct=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-f687bd03")){let e=document.createElement("style");e.id="ac-style-f687bd03",e.textContent=`/* --- Datepicker (replaces the options grid for date suggestions) ---
|
|
784
805
|
|
|
785
806
|
One of three hand-maintained copies (vanilla styles.css, this file, Angular's
|
|
786
807
|
date-grid.component.css). Only the class-naming layer differs \u2014 the
|
|
@@ -926,6 +947,13 @@
|
|
|
926
947
|
var(--aia-date-today-ring, var(--aia-option-color, var(--aia-color-text-muted, #c1c4cb)));
|
|
927
948
|
}
|
|
928
949
|
|
|
950
|
+
/* Between the two ends of a picked span. The band sits on the CELL, not on the
|
|
951
|
+
number square inside it, so consecutive days join into one continuous strip
|
|
952
|
+
instead of a row of separate pills \u2014 the ends stay the two filled squares. */
|
|
953
|
+
.DateGrid-module_inRange_r9S2q {
|
|
954
|
+
background: var(--aia-date-range-bg, rgba(var(--aia-streak-rgb, 255, 255, 255), 0.06));
|
|
955
|
+
}
|
|
956
|
+
|
|
929
957
|
.DateGrid-module_selected_28KDn .DateGrid-module_number_aoT01 {
|
|
930
958
|
color: var(--aia-option-color-selected, var(--aia-color-text-default, #fff));
|
|
931
959
|
background: var(--aia-date-selected-bg, rgba(var(--aia-streak-rgb, 255, 255, 255), 0.12));
|
|
@@ -936,7 +964,7 @@
|
|
|
936
964
|
opacity: 0.8;
|
|
937
965
|
background: rgba(var(--aia-streak-rgb, 255, 255, 255), 0.06);
|
|
938
966
|
}
|
|
939
|
-
`,document.head.appendChild(e)}var
|
|
967
|
+
`,document.head.appendChild(e)}var D={datepicker:"DateGrid-module_datepicker_6RrTs",header:"DateGrid-module_header_z4LRk",month:"DateGrid-module_month_urB2T",nav:"DateGrid-module_nav_ap4AN",weekdays:"DateGrid-module_weekdays_3EA3q",grid:"DateGrid-module_grid_mQCgw",weekday:"DateGrid-module_weekday_3lF4B",cell:"DateGrid-module_cell_59k0y",number:"DateGrid-module_number_aoT01",day:"DateGrid-module_day_cB3u9",blank:"DateGrid-module_blank_ivgRC",past:"DateGrid-module_past_CEZsj",highlighted:"DateGrid-module_highlighted_YIdtK",today:"DateGrid-module_today_iI3ME",inRange:"DateGrid-module_inRange_r9S2q",selected:"DateGrid-module_selected_28KDn",pressed:"DateGrid-module_pressed_bEyyN"};var B=require("react/jsx-runtime"),jt=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function pt({options:e,activeIndex:o,listboxId:a,view:n,selection:r,onSelect:i,onHighlight:s,onPreviousMonth:f,onNextMonth:b}){let w=(0,C.isoDate)(new Date),k=(0,C.visibleDateRange)({pendingStart:r.rangeStart,highlightedIso:(0,C.cellIso)(e[o]),selected:r.selectedRange});return(0,B.jsxs)("div",{className:D.datepicker,"data-aia-datepicker":"",children:[(0,B.jsxs)("div",{className:D.header,children:[(0,B.jsx)("button",{type:"button",tabIndex:-1,className:D.nav,"data-aia-date-prev":"","aria-label":"Previous month",onMouseDown:p=>p.preventDefault(),onClick:f,children:"\u2039"}),(0,B.jsx)("span",{className:D.month,"data-aia-date-month":"","aria-live":"polite",children:(0,C.monthLabel)(n)}),(0,B.jsx)("button",{type:"button",tabIndex:-1,className:D.nav,"data-aia-date-next":"","aria-label":"Next month",onMouseDown:p=>p.preventDefault(),onClick:b,children:"\u203A"})]}),(0,B.jsx)("div",{className:D.weekdays,"aria-hidden":"true",children:C.WEEKDAY_LABELS.map((p,x)=>(0,B.jsx)("span",{className:D.weekday,children:p},jt[x]))}),(0,B.jsx)("div",{className:D.grid,"data-aia-date-grid":"",children:e.map((p,x)=>(0,B.jsx)($t,{option:p,id:`${a}-option-${x}`,index:x,isHighlighted:x===o&&p.is_tappable,isToday:(0,C.cellIso)(p)===w,isPast:(0,C.cellIso)(p)!=null&&(0,C.cellIso)(p)<w,marks:(0,C.dateCellMarks)((0,C.cellIso)(p),{selectedIso:r.selectedIso,range:k}),onSelect:i,onHighlight:s},(0,C.cellIso)(p)??`pad-${x}`))})]})}function $t({option:e,id:o,index:a,isHighlighted:n,isToday:r,isPast:i,marks:s,onSelect:f,onHighlight:b}){let[w,k]=(0,ct.useState)(!1),p=(0,C.cellDay)(e);if(p==null)return(0,B.jsx)("div",{id:o,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-hidden":"true","aria-selected":!1,tabIndex:-1,className:`${D.cell} ${D.blank}`});let x=()=>{k(!0),f(e),setTimeout(()=>k(!1),170)},_=[D.cell,D.day,i?D.past:"",n?D.highlighted:"",r?D.today:"",s.inRange?D.inRange:"",s.selected?D.selected:"",w?D.pressed:""].filter(Boolean).join(" ");return(0,B.jsx)("div",{id:o,role:"option","data-aia-option":"","data-aia-date-cell":"","aria-selected":n,"aria-label":e.text,tabIndex:0,className:_,onClick:x,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),x())},onMouseEnter:()=>b(a),children:(0,B.jsx)("span",{className:D.number,children:p})})}var Se=require("@magicx-eng/ai-autocomplete-vanilla"),He=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-5259a217")){let e=document.createElement("style");e.id="ac-style-5259a217",e.textContent=`@layer layout {
|
|
940
968
|
.aia-cluster {
|
|
941
969
|
display: flex;
|
|
942
970
|
flex-wrap: wrap;
|
|
@@ -978,7 +1006,7 @@
|
|
|
978
1006
|
justify-content: space-around;
|
|
979
1007
|
}
|
|
980
1008
|
}
|
|
981
|
-
`,document.head.appendChild(e)}var
|
|
1009
|
+
`,document.head.appendChild(e)}var Je=require("react/jsx-runtime");function Oe({gap:e,align:o="center",justify:a="start",noWrap:n=!1,inline:r=!1,className:i,children:s,...f}){let b=e?{"--aia-cluster-gap":e}:void 0,w={className:i?`aia-cluster ${i}`:"aia-cluster","data-align":o,"data-justify":a,"data-nowrap":n||void 0,"data-inline":r||void 0,style:b,...f};return r?(0,Je.jsx)("span",{...w,children:s}):(0,Je.jsx)("div",{...w,children:s})}if(typeof document<"u"&&!document.getElementById("ac-style-56b0c577")){let e=document.createElement("style");e.id="ac-style-56b0c577",e.textContent=`/* The footer adds its own 8px horizontal inset so it stays clear of the
|
|
982
1010
|
dropdown's rounded edges. The top inset (--aia-footer-gap) adds breathing
|
|
983
1011
|
room above the hint/branding row so the footer doesn't butt against the last
|
|
984
1012
|
option row \u2014 additive to the dropdown's 8px section gap. */
|
|
@@ -1112,7 +1140,7 @@
|
|
|
1112
1140
|
justify-content: flex-end;
|
|
1113
1141
|
}
|
|
1114
1142
|
}
|
|
1115
|
-
`,document.head.appendChild(e)}var
|
|
1143
|
+
`,document.head.appendChild(e)}var fe={footer:"DropdownFooter-module_footer_qQQ7x",hintGroup:"DropdownFooter-module_hintGroup_ZzbPf",brandLink:"DropdownFooter-module_brandLink_r4f3R",key:"DropdownFooter-module_key_Bz1H-",hint:"DropdownFooter-module_hint_GKEOH",brand:"DropdownFooter-module_brand_Al-lR",badge:"DropdownFooter-module_badge_Fk9vg",row:"DropdownFooter-module_row_BgZ6Q"};var ae=require("react/jsx-runtime");function ut({isOptionHighlighted:e=!1,isInputEmpty:o=!1}){let{key:a,hint:n}=(0,Se.getFooterHint)(e,o),[r,i]=(0,He.useState)(Se.ATTRIBUTION_URL);return(0,He.useEffect)(()=>{i((0,Se.buildAttributionUrl)())},[]),(0,ae.jsx)("footer",{className:fe.footer,"data-aia-footer":"",children:(0,ae.jsxs)(Oe,{justify:"between",noWrap:!0,className:fe.row,children:[(0,ae.jsxs)(Oe,{gap:"5px",className:fe.hintGroup,children:[(0,ae.jsx)("kbd",{className:fe.key,children:a}),(0,ae.jsx)("span",{className:fe.hint,children:n})]}),(0,ae.jsxs)("a",{className:fe.brandLink,href:r,target:"_blank",rel:"noopener noreferrer",children:[(0,ae.jsx)("span",{className:fe.brand,children:"AI"}),(0,ae.jsx)("span",{className:fe.badge,children:"Autocomplete"})]})]})})}if(typeof document<"u"&&!document.getElementById("ac-style-199d0432")){let e=document.createElement("style");e.id="ac-style-199d0432",e.textContent=`/* ParamPill (Figma "ParamPill") \u2014 unfilled suggestion pill: transparent fill,
|
|
1116
1144
|
no outline. ~28px via 6px padding + 14px text + the 1px border (border-box).
|
|
1117
1145
|
The border is kept as a 1px transparent line so the box stays the same size
|
|
1118
1146
|
as it was when the outline was dashed. */
|
|
@@ -1169,7 +1197,7 @@
|
|
|
1169
1197
|
opacity: 0;
|
|
1170
1198
|
}
|
|
1171
1199
|
}
|
|
1172
|
-
`,document.head.appendChild(e)}var
|
|
1200
|
+
`,document.head.appendChild(e)}var _e={pill:"ParamPill-module_pill_6Ga7S",fadeIn:"ParamPill-module_fadeIn_Ux4eQ",rounded:"ParamPill-module_rounded_y7xA9",skeleton:"ParamPill-module_skeleton_57P0T",skeletonPulse:"ParamPill-module_skeletonPulse_xGcUy"};var ht=require("react/jsx-runtime"),et={selected:1,first:.7,next:.4,last:.2};function mt({label:e,state:o,rounded:a,loading:n,onClick:r}){let i=[_e.pill,a?_e.rounded:"",n?_e.skeleton:""].filter(Boolean).join(" ");return(0,ht.jsx)("button",{type:"button","data-aia-pill":"","data-aia-loading":n?"":void 0,tabIndex:-1,contentEditable:!1,suppressContentEditableWarning:!0,className:i,style:{opacity:et[o]},onMouseDown:s=>s.preventDefault(),onClick:n?void 0:r,disabled:n,children:e})}if(typeof document<"u"&&!document.getElementById("ac-style-0fcb7940")){let e=document.createElement("style");e.id="ac-style-0fcb7940",e.textContent=`.PillList-module_list_qvLqO {
|
|
1173
1201
|
position: relative;
|
|
1174
1202
|
z-index: 1;
|
|
1175
1203
|
pointer-events: auto;
|
|
@@ -1179,7 +1207,7 @@
|
|
|
1179
1207
|
align-items: center;
|
|
1180
1208
|
vertical-align: middle;
|
|
1181
1209
|
}
|
|
1182
|
-
`,document.head.appendChild(e)}var
|
|
1210
|
+
`,document.head.appendChild(e)}var tt={list:"PillList-module_list_qvLqO"};var Me=require("react/jsx-runtime"),Vt=[125,69];function ft(e){return e===0?"first":e===1?"next":"last"}function Ke({pills:e,activePillIndex:o,onSelectPill:a,activeSelected:n,rounded:r,loading:i}){return i&&e.length===0?(0,Me.jsx)("span",{className:tt.list,"data-aia-pill-list-loading":"",children:Vt.map((s,f)=>(0,Me.jsx)("span",{"data-aia-pill-skeleton":"",className:`${_e.pill} ${r?_e.rounded:""} ${_e.skeleton}`,style:{width:s,opacity:et[ft(f)]}},`skel-${s}`))}):(0,Me.jsx)("span",{className:tt.list,"data-aia-pill-list-loading":i?"":void 0,children:e.map((s,f)=>{let b=!!n&&f===o;return(0,Me.jsx)(mt,{label:s.text,state:b?"selected":ft(f),selected:b,rounded:r,loading:i,onClick:()=>a(f)},`${s.type}-${s.text}`)})})}if(typeof document<"u"&&!document.getElementById("ac-style-fef1688d")){let e=document.createElement("style");e.id="ac-style-fef1688d",e.textContent=`/* Product strip \u2014 the React counterpart of the vanilla core's strip rules
|
|
1183
1211
|
(packages/vanilla/src/styles.css). Same tokens, same defaults, so a consumer
|
|
1184
1212
|
theming one package sees the same result in the other.
|
|
1185
1213
|
|
|
@@ -1346,7 +1374,7 @@
|
|
|
1346
1374
|
var(--aia-option-color-selected, var(--aia-color-text-default, #fff))
|
|
1347
1375
|
);
|
|
1348
1376
|
}
|
|
1349
|
-
`,document.head.appendChild(e)}var
|
|
1377
|
+
`,document.head.appendChild(e)}var Y={section:"ProductStrip-module_section_Hugfg",label:"ProductStrip-module_label_nuc93",row:"ProductStrip-module_row_WDVBX",card:"ProductStrip-module_card_JBGYT",media:"ProductStrip-module_media_RrbGe",image:"ProductStrip-module_image_5pNL7",body:"ProductStrip-module_body_ly032",vendor:"ProductStrip-module_vendor_Gvu7G",title:"ProductStrip-module_title_gCNmq",price:"ProductStrip-module_price_gULcE"};var F=require("react/jsx-runtime");function gt({products:e,listboxId:o,onSelect:a,onFocusChange:n,focusable:r=!0}){if(e.length===0)return null;let i=`${o}-products-label`;return(0,F.jsxs)("section",{className:Y.section,"data-aia-products":"",role:"group","aria-labelledby":i,children:[(0,F.jsx)("div",{className:Y.label,id:i,children:"Products"}),(0,F.jsx)("div",{className:Y.row,"data-aia-products-row":"",children:e.map((s,f)=>(0,F.jsx)(Yt,{product:s,id:`${o}-product-${f}`,onSelect:a,onFocusChange:n,focusable:r},s.id))})]})}function Yt({product:e,id:o,onSelect:a,onFocusChange:n,focusable:r}){let i=s=>{s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||s.button!==0||(s.preventDefault(),a(e))};return(0,F.jsxs)("a",{id:o,className:Y.card,"data-aia-product":"",role:"option","aria-selected":!1,href:e.url,tabIndex:r?0:-1,onClick:i,onKeyDown:s=>{s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),a(e))},onFocus:()=>n?.(!0),onBlur:s=>{s.relatedTarget?.closest("[data-aia-dropdown]")||n?.(!1)},children:[(0,F.jsx)("span",{className:Y.media,"data-aia-product-placeholder":e.imageUrl?void 0:"",children:e.imageUrl?(0,F.jsx)("img",{className:Y.image,src:e.imageUrl,alt:"",loading:"lazy",decoding:"async"}):null}),(0,F.jsxs)("span",{className:Y.body,children:[e.vendor?(0,F.jsx)("span",{className:Y.vendor,children:e.vendor}):null,(0,F.jsx)("span",{className:Y.title,children:e.title}),e.price?(0,F.jsx)("span",{className:Y.price,children:e.price}):null]})]})}var H=require("@magicx-eng/ai-autocomplete-vanilla"),ge=require("react");var bt=require("@magicx-eng/ai-autocomplete-vanilla"),We=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-948e58da")){let e=document.createElement("style");e.id="ac-style-948e58da",e.textContent=`@layer layout {
|
|
1350
1378
|
.aia-grid {
|
|
1351
1379
|
display: grid;
|
|
1352
1380
|
grid-template-columns: repeat(
|
|
@@ -1381,7 +1409,7 @@
|
|
|
1381
1409
|
border-radius: 3px;
|
|
1382
1410
|
}
|
|
1383
1411
|
}
|
|
1384
|
-
`,document.head.appendChild(e)}var wt=require("react/jsx-runtime");function vt({min:e="16rem",max:
|
|
1412
|
+
`,document.head.appendChild(e)}var wt=require("react/jsx-runtime");function vt({min:e="16rem",max:o,gap:a,scroll:n=!1,maxHeight:r,scrollResetKey:i,cols:s,template:f,innerRef:b,className:w,children:k,...p}){let x=(0,We.useRef)(null);(0,We.useLayoutEffect)(()=>{if(i===void 0)return;let v=x.current;v&&(v.scrollTop=0)},[i]);let _={"--aia-grid-min":e};return o&&(_["--aia-grid-max"]=o),a&&(_["--aia-grid-gap"]=a),r&&(_["--aia-grid-max-height"]=r),s&&(_.gridTemplateColumns=(0,bt.optionsGridTemplateColumns)(s)),f&&(_.gridTemplateColumns=f),(0,wt.jsx)("div",{ref:v=>{x.current=v,b?.(v)},className:w?`aia-grid ${w}`:"aia-grid","data-scroll":n||void 0,style:_,...p,children:k})}var xt=require("@magicx-eng/ai-autocomplete-vanilla"),Pe=require("react");if(typeof document<"u"&&!document.getElementById("ac-style-82820da7")){let e=document.createElement("style");e.id="ac-style-82820da7",e.textContent=`.SuggestionItem-module_item_d4vpD {
|
|
1385
1413
|
position: relative;
|
|
1386
1414
|
overflow: visible;
|
|
1387
1415
|
display: flex;
|
|
@@ -1461,12 +1489,12 @@
|
|
|
1461
1489
|
option steps back in opacity \u2014 no fill, no glow, the hierarchy carries it. */
|
|
1462
1490
|
.SuggestionItem-module_pressed_98o-r {
|
|
1463
1491
|
color: var(--aia-option-color-selected, var(--aia-color-text-default, #fff));
|
|
1464
|
-
animation: SuggestionItem-module_pressCompress_ICV3q
|
|
1492
|
+
animation: SuggestionItem-module_pressCompress_ICV3q 170ms ease forwards;
|
|
1465
1493
|
}
|
|
1466
1494
|
|
|
1467
1495
|
[role="listbox"]:has(.SuggestionItem-module_pressed_98o-r) .SuggestionItem-module_item_d4vpD:not(.SuggestionItem-module_pressed_98o-r) {
|
|
1468
1496
|
opacity: 0.35;
|
|
1469
|
-
transition: opacity
|
|
1497
|
+
transition: opacity 60ms ease;
|
|
1470
1498
|
}
|
|
1471
1499
|
|
|
1472
1500
|
@keyframes SuggestionItem-module_pressCompress_ICV3q {
|
|
@@ -1528,7 +1556,7 @@
|
|
|
1528
1556
|
filter: brightness(0.55);
|
|
1529
1557
|
}
|
|
1530
1558
|
}
|
|
1531
|
-
`,document.head.appendChild(e)}var
|
|
1559
|
+
`,document.head.appendChild(e)}var oe={item:"SuggestionItem-module_item_d4vpD",fadeIn:"SuggestionItem-module_fadeIn_I8u35",riseIn:"SuggestionItem-module_riseIn_etXZT",content:"SuggestionItem-module_content_T-Qba",tappable:"SuggestionItem-module_tappable_70KcX",nonTappable:"SuggestionItem-module_nonTappable_xSZM-",highlighted:"SuggestionItem-module_highlighted_Hb0SU",tag:"SuggestionItem-module_tag_e3Fwe",pressed:"SuggestionItem-module_pressed_98o-r",pressCompress:"SuggestionItem-module_pressCompress_ICV3q",scrollHint:"SuggestionItem-module_scrollHint_xKXPt",skeletonPulse:"SuggestionItem-module_skeletonPulse_plvdD",text:"SuggestionItem-module_text_yqoh9"};var De=require("react/jsx-runtime");function yt({option:e,isHighlighted:o,onSelect:a,onHighlight:n,id:r,loading:i,scrollHint:s,enterDelayMs:f=0}){let[b]=(0,Pe.useState)(f),[w,k]=(0,Pe.useState)(!1),p=(0,Pe.useRef)(void 0);(0,Pe.useEffect)(()=>()=>clearTimeout(p.current),[]);let x=()=>{i||!e.is_tappable||w||(k(!0),a(e),clearTimeout(p.current),p.current=setTimeout(()=>k(!1),170))},_=[oe.item,o&&!i?oe.highlighted:"",e.is_tappable?oe.tappable:oe.nonTappable,w?oe.pressed:"",s?oe.scrollHint:""].filter(Boolean).join(" ");return(0,De.jsx)("div",{id:r,role:"option","data-aia-option":"","data-aia-loading":i?"":void 0,"aria-selected":o,className:_,style:{[xt.OPTION_ENTER_DELAY_VAR]:`${b}ms`},tabIndex:i||!e.is_tappable?-1:0,onClick:x,onKeyDown:v=>{!i&&e.is_tappable&&(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),x())},onMouseEnter:!i&&e.is_tappable?n:void 0,children:(0,De.jsxs)("span",{className:oe.content,children:[(0,De.jsx)("span",{className:oe.text,children:e.icon?`${e.icon} ${e.text}`:e.text}),e.tag&&(0,De.jsx)("span",{className:oe.tag,children:e.tag})]})})}var at=require("react/jsx-runtime");function Qt(){let[e,o]=(0,ge.useState)(H.isOptionsGridMobileViewport);return(0,ge.useEffect)(()=>{if(typeof window>"u"||!window.matchMedia)return;let a=window.matchMedia(H.OPTIONS_GRID_MOBILE_QUERY),n=()=>o(a.matches);return n(),a.addEventListener("change",n),()=>a.removeEventListener("change",n)},[]),e}function _t({options:e,activeIndex:o,onSelect:a,onHighlight:n,listboxId:r,loading:i,groupKey:s="",optionsPosition:f="below"}){let b=Qt(),w=(0,ge.useRef)(null),[k,p]=(0,ge.useState)(null);(0,ge.useLayoutEffect)(()=>{let _=w.current,L=_&&!i&&(0,H.needsOptionsGridMeasurement)(e.length,b)?(0,H.measureOptionsGrid)(_):null;p(L?(0,H.planOptionsGrid)(e.length,b,L.rowWidths,L.gridWidth):null)},[e,b,i]);let x=k??(0,H.planOptionsGrid)(e.length,b,null,null);return(0,at.jsx)(vt,{min:"250px",max:"1fr",gap:"0",scroll:!0,scrollResetKey:s,template:x.template,maxHeight:x.maxHeight,innerRef:_=>{w.current=_},"data-aia-group":s,children:e.map((_,v)=>(0,at.jsx)(yt,{option:_,isHighlighted:v===o,onSelect:a,onHighlight:()=>n(v),id:`${r}-option-${v}`,loading:i,scrollHint:!i&&x.scrollHintIndices.includes(v),enterDelayMs:i?0:(0,H.optionEnterDelayMs)(v,x.cols,e.length,f)},`${s}\0${_.text}`))})}if(typeof document<"u"&&!document.getElementById("ac-style-8414cd5f")){let e=document.createElement("style");e.id="ac-style-8414cd5f",e.textContent=`@layer layout {
|
|
1532
1560
|
.aia-stack {
|
|
1533
1561
|
display: flex;
|
|
1534
1562
|
flex-direction: column;
|
|
@@ -1545,7 +1573,7 @@
|
|
|
1545
1573
|
}
|
|
1546
1574
|
/* data-align="stretch" is the flex default \u2014 no rule needed. */
|
|
1547
1575
|
}
|
|
1548
|
-
`,document.head.appendChild(e)}var Pt=require("react/jsx-runtime");function kt({space:e,align:
|
|
1576
|
+
`,document.head.appendChild(e)}var Pt=require("react/jsx-runtime");function kt({space:e,align:o="stretch",className:a,children:n,...r}){let i=e?{"--aia-stack-space":e}:void 0;return(0,Pt.jsx)("div",{className:a?`aia-stack ${a}`:"aia-stack","data-align":o,style:i,...r,children:n})}var O=require("react/jsx-runtime"),Xt=[159,119,164],Zt=()=>{},It=()=>{};function Jt(e){let o=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches,[a,n]=(0,Q.useState)(o);if((0,Q.useEffect)(()=>{if(e!=="auto"||typeof window>"u"||typeof window.matchMedia!="function")return;let r=window.matchMedia("(prefers-color-scheme: dark)"),i=()=>n(r.matches);return r.addEventListener("change",i),()=>r.removeEventListener("change",i)},[e]),e!==void 0)return e==="auto"?a?"dark":"light":e}function ea(e,o){let a=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{let n=e.current,r=o.current;if(!n||!r)return;let i=n.querySelector(".aia-grid[data-scroll]");if(a.current&&a.current.grid!==i&&(a.current.controller.destroy(),a.current=null),i&&!a.current){a.current={grid:i,controller:(0,Ce.attachScrollArrow)({dropdown:n,grid:i,button:r})};return}a.current?.controller.update()}),(0,Q.useEffect)(()=>()=>{a.current?.controller.destroy(),a.current=null},[])}function qe({suggestions:e,activeIndex:o,onSelect:a,onHighlight:n,isOpen:r,id:i,className:s,pills:f,onPillClick:b,showPills:w=!0,onSkip:k,showSkipButton:p=!0,skipDisabled:x=!1,activeSelected:_=!1,isLoading:v=!1,isInputEmpty:L=!1,products:M,onProductSelect:ie,onProductFocusChange:ne,formatType:W="options",dateView:A=null,selectedDateIso:re=null,selectedDateRange:se=null,dateRangeStart:u=null,onPreviousMonth:be,onNextMonth:le,optionsPosition:N="below",mode:Z}){let de=Jt(Z),ce=de!==void 0,J=(0,Q.useRef)(null),ee=(0,Q.useRef)(null);ea(J,ee);let G=e[0]?.options??[],pe=!!(f&&f.length>0&&b),ve=!!(M&&M.length>0),z=r&&(G.length>0||w&&pe||v||ve),q={suggestions:e,activeIndex:o,pills:f,showPills:w,showSkipButton:p,skipDisabled:x,activeSelected:_,isLoading:v,isInputEmpty:L,products:M,formatType:W,dateView:A,selectedDateIso:re,selectedDateRange:se,dateRangeStart:u},ue=(0,Q.useRef)(q);z&&(ue.current=q);let t=z?q:ue.current,c=t.suggestions[0],m=c?.options??[],l=t.activeIndex>=0&&!!m[t.activeIndex]?.is_tappable,y=!!(t.pills&&t.pills.length>0&&b),T=t.showPills&&y,U=t.showPills&&!y&&t.isLoading,d=T||U,me=y&&t.showSkipButton&&!t.isInputEmpty&&!!k,Ie=t.pills?.[0]?.text,we=(0,Ce.isCalendarFormat)(t.formatType)&&t.dateView!=null,xe=m.length>0&&!we,te=m.length>0&&we,Ae=t.isLoading&&!xe&&!te,V=t.products??[];return(0,O.jsxs)("div",{ref:J,id:i,role:"listbox","data-aia-dropdown":"","data-options-position":N,"data-mode":de,"data-aia-loading":t.isLoading?"":void 0,"data-aia-has-products":V.length>0?"":void 0,className:`${ce?"magicx-aia ":""}${he.dropdown} ${z?he.visible:""} ${s??""}`,onMouseDown:j=>j.preventDefault(),children:[(0,O.jsxs)(kt,{space:"8px",children:[(d||me)&&(0,O.jsxs)(Oe,{noWrap:!0,className:he.pillBar,"data-aia-pillbar":"",children:[d&&(0,O.jsx)("span",{className:he.pillScroll,"data-aia-pill-scroll":"",children:(0,O.jsx)(Ke,{pills:t.pills??[],activePillIndex:0,activeSelected:t.activeSelected,onSelectPill:b??(()=>{}),rounded:!0,loading:t.isLoading})}),me&&(0,O.jsx)("button",{type:"button",tabIndex:-1,className:he.skip,"data-aia-skip":"",disabled:t.isLoading||t.skipDisabled,"aria-label":Ie?`Skip ${Ie}`:"Skip",onClick:k,children:"skip"})]}),xe&&(0,O.jsx)(_t,{options:m,activeIndex:t.activeIndex,onSelect:a,onHighlight:n,listboxId:i,loading:t.isLoading,groupKey:c?`${c.type} ${c.text}`:"",optionsPosition:N}),te&&t.dateView&&(0,O.jsx)(pt,{options:m,activeIndex:t.activeIndex,listboxId:i,view:t.dateView,selection:{selectedIso:t.selectedDateIso??null,selectedRange:t.selectedDateRange??null,rangeStart:t.dateRangeStart??null},onSelect:a,onHighlight:n,onPreviousMonth:be??It,onNextMonth:le??It}),Ae&&(0,O.jsx)("div",{className:he.skeletonBars,"data-aia-skeleton-bars":"",children:Xt.map(j=>(0,O.jsx)("span",{className:he.skeletonBar,style:{width:j}},`bar-${j}`))}),(0,O.jsx)(gt,{products:V,listboxId:i,onSelect:ie??Zt,onFocusChange:ne,focusable:z}),(0,O.jsx)(ut,{isOptionHighlighted:l,isInputEmpty:t.isInputEmpty})]}),(0,O.jsx)("button",{ref:ee,type:"button",tabIndex:-1,className:he.scrollArrow,"data-aia-scroll-arrow":"","aria-label":Ce.SCROLL_ARROW_LABEL,"aria-hidden":"true",children:(0,O.jsx)("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:(0,O.jsx)("path",{d:"M4 6.5 8 10.5l4-4"})})})]})}var Te=require("@magicx-eng/ai-autocomplete-vanilla");if(typeof document<"u"&&!document.getElementById("ac-style-fdee06e6")){let e=document.createElement("style");e.id="ac-style-fdee06e6",e.textContent=`.SubmitButton-module_submitButton_otz7H {
|
|
1549
1577
|
flex-shrink: 0;
|
|
1550
1578
|
width: 32px;
|
|
1551
1579
|
height: 32px;
|
|
@@ -1580,5 +1608,5 @@
|
|
|
1580
1608
|
);
|
|
1581
1609
|
cursor: default;
|
|
1582
1610
|
}
|
|
1583
|
-
`,document.head.appendChild(e)}var At={submitButton:"SubmitButton-module_submitButton_otz7H"};var $e=require("react/jsx-runtime");function St({disabled:e,onClick:i}){return(0,$e.jsx)("button",{type:"button","data-aia-submit":"",className:At.submitButton,disabled:e,onClick:t=>{t.stopPropagation(),i()},"aria-label":"Submit",children:(0,$e.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:(0,$e.jsx)("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}var Ee=require("@magicx-eng/ai-autocomplete-vanilla"),P=require("react");var it=require("react");function Ct(e){let i=(0,it.useRef)(e);i.current=e;let t=(0,it.useRef)(null);t.current===null&&(t.current={fetch:(n,o)=>{let r=i.current;return r?r.fetch(n,o):Promise.reject(new Error("products config removed"))},transform:n=>i.current?.transform(n)??[],get limit(){return i.current?.limit}});let a=e!==void 0;return{config:a?t.current:void 0,enabled:a}}var Jt={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],activeFormatType:"options",dateView:null,placeholderText:"",isDropdownOpen:!1,isActivePillSelected:!1,filterBase:0,filterInProgress:!1,pillTapped:!1,skipNextFetch:!1,lastRawQuery:"",isFocused:!1,editingParam:null,editingIdentified:null,editingAnchor:null,editingTail:null,caretOffset:null,inSelectionAnimation:!1,dateViewMonth:null};function je({onSubmit:e,onResult:i,onError:t,optionOverrides:a,maskCompletedText:n,apiConfig:o,additionalContext:r,columns:g=2,dropdownTrigger:v,optionsPosition:x,closeDropdownOnBlur:m,showNonTappableOptions:w,showSkipButton:I,onFocus:y,onBlur:b,value:L,completedParams:N,onChange:ne,onParamsChange:re,products:q,onProductSelect:A,source:se,setCursor:le}){let p=(0,P.useRef)(null),[de,ce]=(0,P.useState)(null),O=(0,P.useRef)(e);O.current=e;let ee=(0,P.useRef)(i);ee.current=i;let pe=(0,P.useRef)(t);pe.current=t;let te=(0,P.useRef)(ne);te.current=ne;let ue=(0,P.useRef)(re);ue.current=re;let me=(0,P.useRef)(y);me.current=y;let G=(0,P.useRef)(b);G.current=b;let $=(0,P.useRef)(le);$.current=le;let ae=(0,P.useRef)(A);ae.current=A;let j=Ct(q);(0,P.useEffect)(()=>{if(typeof document>"u")return;let c=new Ee.AIAutocomplete(document.createElement("div"),{renderMode:"headless",apiConfig:o,additionalContext:r,optionOverrides:a,maskCompletedText:n,columns:g,dropdownTrigger:v,optionsPosition:x,closeDropdownOnBlur:m,showNonTappableOptions:w,source:se,value:L,completedParams:N,onSubmit:(...C)=>O.current?.(...C),onResult:(...C)=>ee.current?.(...C),onError:(...C)=>pe.current?.(...C),onChange:(...C)=>te.current?.(...C),onParamsChange:(...C)=>ue.current?.(...C),onFocus:()=>me.current?.(),onBlur:()=>G.current?.(),onProductSelect:C=>ae.current?.(C),setCursor:C=>$.current?.(C),products:j.config});p.current=c,ce(c.getState());let z=c.subscribe(C=>ce(C));return()=>{z(),c.destroy(),p.current===c&&(p.current=null)}},[]),(0,P.useEffect)(()=>{L!==void 0&&p.current?.setValue(L)},[L]),(0,P.useEffect)(()=>{N!==void 0&&p.current?.setCompletedParams(N)},[N]);let h=JSON.stringify(o??null),H;try{H=JSON.stringify(r??null)}catch{H="[unstringifiable]"}let l=(0,P.useRef)(a),u=(0,P.useRef)(0);if(a!==l.current){let c=l.current,z=a,C=Object.keys(c??{}),Se=Object.keys(z??{});(C.length!==Se.length||Se.some(Le=>!c?.[Le]||z[Le]!==c[Le]))&&u.current++,l.current=a}(0,P.useEffect)(()=>{p.current?.update({apiConfig:o,additionalContext:r,optionOverrides:a,dropdownTrigger:v,optionsPosition:x,closeDropdownOnBlur:m,showNonTappableOptions:w})},[h,H,u.current,v,x,m,w]);let f=(0,P.useRef)(!1);(0,P.useEffect)(()=>{if(!f.current){f.current=!0;return}p.current?.update({products:j.config})},[j.enabled]);let _=(0,P.useRef)(null);_.current===null&&(_.current={handleTextChange:c=>p.current?.handleTextChange(c),handleKeyDown:c=>{let z="nativeEvent"in c?c.nativeEvent:c;p.current?.handleKeyDown(z)},setFocused:c=>p.current?.setFocused(c),startEditingParam:c=>p.current?.startEditingParam(c),exitEditMode:()=>p.current?.exitEditMode(),handleCaretAfterInput:c=>p.current?.handleCaretAfterInput(c),handleCaretMove:c=>p.current?.handleCaretMove(c),replaceEditingRange:c=>p.current?.replaceEditingRange(c)??!1,setActivePill:c=>p.current?.setActivePill(c),skipActivePill:()=>p.current?.skipActivePill(),removeLastParam:()=>p.current?.removeLastParam(),clearNewParamId:()=>p.current?.clearNewParamId(),reset:()=>p.current?.reset(),selectOption:c=>p.current?.selectOption(c),selectProduct:c=>p.current?.selectProduct(c),setActiveDropdownIndex:c=>p.current?.setActiveDropdownIndex(c),showPreviousMonth:()=>p.current?.showPreviousMonth(),showNextMonth:()=>p.current?.showNextMonth(),handleFocus:()=>p.current?.setFocused(!0),handleBlur:()=>p.current?.setFocused(!1)});let s=_.current,E=(0,P.useCallback)(c=>{let z=c.target.value,Se=z.length>0&&!c.nativeEvent?.isComposing&&z[0]!==z[0].toUpperCase()?z[0].toUpperCase()+z.slice(1):z;p.current?.handleTextChange(Se)},[]),Q=(0,P.useCallback)(c=>{p.current?.handleKeyDown(c.nativeEvent)},[]),V=p.current,d=de??Jt,_e=L!==void 0?L:d.text,Ae=N!==void 0?N:d.completedParams,he=d.actionableSuggestions,ke=he[0],Y=V?.listboxId??"",Ye=d.activeDropdownIndex>=0&&V?`${Y}-option-${d.activeDropdownIndex}`:void 0,fe=d.editingParam,ge=d.editingIdentified,Re=fe?{type:fe.suggestionType,text:fe.suggestionPlaceholder,required:!0,options:fe.options}:ge?{type:ge.type,text:(0,Ee.identifiedParamLabel)(ge.type),required:!0,options:[]}:null,ze=Re??ke,Qe=Re?[Re]:he,Oe=!V||d.isLoading&&!d.editingParam&&!d.inSelectionAnimation;return{completedParams:Ae,skippedParams:d.skippedParams,identifiedParams:d.identifiedParams,suggestionPills:he,setActivePill:s.setActivePill,skipActivePill:s.skipActivePill,removeLastParam:s.removeLastParam,segments:d.segments,newParamId:d.newParamId,clearNewParamId:s.clearNewParamId,suggestions:d.suggestions,activeIndex:d.activeDropdownIndex,isReady:d.isReady,isLoading:Oe,isFocused:d.isFocused,isDropdownOpen:d.isDropdownOpen,isActivePillSelected:d.isActivePillSelected,placeholderText:d.placeholderText,listboxId:Y,error:d.error,products:d.products,selectProduct:s.selectProduct,handleTextChange:s.handleTextChange,handleKeyDown:s.handleKeyDown,setFocused:s.setFocused,editingParam:fe,editingIdentified:ge,editingAnchor:d.editingAnchor,caretOffset:d.caretOffset,startEditingParam:s.startEditingParam,exitEditMode:s.exitEditMode,handleCaretAfterInput:s.handleCaretAfterInput,handleCaretMove:s.handleCaretMove,replaceEditingRange:s.replaceEditingRange,inputProps:{value:_e,placeholder:d.placeholderText||void 0,onChange:E,onKeyDown:Q,onFocus:s.handleFocus,onBlur:s.handleBlur,role:"combobox","aria-expanded":d.isDropdownOpen,"aria-activedescendant":Ye,"aria-autocomplete":"list","aria-controls":Y},reset:s.reset,dropdownProps:{suggestions:ze?[{...ze,options:d.filteredOptions}]:[],activeIndex:d.activeDropdownIndex,onSelect:s.selectOption,onHighlight:s.setActiveDropdownIndex,isOpen:d.isDropdownOpen,id:Y,pills:Qe,activeSelected:d.isActivePillSelected,onPillClick:s.setActivePill,onSkip:s.skipActivePill,showSkipButton:(I??!0)&&!fe&&!ge,skipDisabled:d.inSelectionAnimation,isLoading:Oe,isInputEmpty:_e.trim().length===0,products:d.products,onProductSelect:s.selectProduct,onProductFocusChange:s.setFocused,formatType:d.activeFormatType,dateView:d.dateView,selectedDateIso:ge?ge.iso:(0,Ee.selectedIsoFromText)(fe?.text),onPreviousMonth:s.showPreviousMonth,onNextMonth:s.showNextMonth,optionsPosition:x??"below"}}}var U=require("@magicx-eng/ai-autocomplete-vanilla"),k=require("react"),Ve;function ea(){if(Ve!==void 0)return Ve;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),Ve=e.contentEditable==="plaintext-only",Ve}function Dt(e){let{segments:i,newParamId:t,editingParam:a,editingIdentified:n,editingAnchor:o,caretOffset:r,placeholderText:g,isFocused:v,isDropdownOpen:x,listboxId:m,activeDescendantId:w,autoFocus:I,handleTextChange:y,handleKeyDown:b,handleCaretAfterInput:L,handleCaretMove:N,startEditingParam:ne,replaceEditingRange:re,setFocused:q}=e,A=(0,k.useRef)(null),se=(0,k.useRef)(!1),le=(0,k.useRef)(""),p=(0,k.useRef)(""),de=(0,k.useRef)(null),ce=(0,k.useRef)(0);de.current=r,(0,k.useEffect)(()=>{if(!I)return;let l=A.current;if(!l)return;document.activeElement===l?q(!0):l.focus();let u=l.ownerDocument??document,f=u.getSelection(),_=f&&f.rangeCount>0&&l.contains(f.anchorNode);if(f&&!_){let s=u.createRange();s.selectNodeContents(l),s.collapse(!0),f.removeAllRanges(),f.addRange(s)}},[I,q]),(0,k.useEffect)(()=>{let l=A.current;if(!l)return;let u=l.ownerDocument??document,f=()=>{let _=u.getSelection();if(!_||_.rangeCount===0||!_.anchorNode||!l.contains(_.anchorNode))return;let s=_.anchorNode,E=s.nodeType===Node.ELEMENT_NODE?s:s.parentElement,V=(_.isCollapsed?E?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,d=a?.id??n?.id??null;if(V&&V!==d){ne(V);return}performance.now()-ce.current<50||N((0,U.getCursorOffset)(l))};return u.addEventListener("selectionchange",f),()=>u.removeEventListener("selectionchange",f)},[a,n,ne,N]),(0,k.useLayoutEffect)(()=>{let l=A.current;l&&(0,U.renderEditableContent)({input:l,segments:i,newParamId:t,editingParamId:a?.id??null,placeholderText:g??"",isFocused:v})},[i,t,a,g,v]),(0,k.useLayoutEffect)(()=>{let l=le.current,u=t??"";if(le.current=u,!u||u===l)return;let f=A.current;if(!f)return;f.focus();let _=de.current??(0,U.plainTextLength)(f);(0,U.setCursorOffset)(f,_)},[t]),(0,k.useLayoutEffect)(()=>{let l=p.current,u=a?.id??"";if(p.current=u,!u||u===l||o==null)return;let f=A.current;f&&(0,U.setCursorOffset)(f,o)},[a,o]);let O=(0,k.useCallback)(()=>{if(se.current)return;let l=A.current;if(!l)return;let u=(0,U.extractPlainText)(l),_=u.length>0&&u[0]!==u[0].toUpperCase()?u[0].toUpperCase()+u.slice(1):u;y(_)},[y]),ee=(0,k.useCallback)(()=>{ce.current=performance.now(),O();let l=A.current;l&&L((0,U.getCursorOffset)(l))},[O,L]);(0,k.useEffect)(()=>{let l=A.current;if(!l)return;let u=f=>{let _=f,s=_.inputType;if(s==="insertParagraph"||s==="insertLineBreak"||s==="insertFromDrop"){f.preventDefault();return}if(s.startsWith("insert")||s.startsWith("delete")){let E=s.startsWith("delete")?"":_.data??"";re(E)&&f.preventDefault()}};return l.addEventListener("beforeinput",u),()=>l.removeEventListener("beforeinput",u)},[re]);let pe=(0,k.useCallback)(()=>{se.current=!0},[]),te=(0,k.useCallback)(()=>{se.current=!1,O()},[O]),ue=(0,k.useCallback)(l=>{l.preventDefault();let u=A.current;if(!u)return;let f=(l.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!f)return;let _=u.ownerDocument??document,s=_.getSelection();if(!s||s.rangeCount===0)return;let E=s.getRangeAt(0);if(!u.contains(E.startContainer))return;E.deleteContents();let Q=_.createTextNode(f);E.insertNode(Q),E.setStartAfter(Q),E.collapse(!0),s.removeAllRanges(),s.addRange(E),O()},[O]),me=(0,k.useCallback)(l=>b(l),[b]),G=(0,k.useCallback)(()=>q(!0),[q]),$=(0,k.useCallback)(()=>q(!1),[q]),ae=(0,k.useCallback)(()=>A.current?.focus(),[]),j=(0,k.useCallback)(()=>A.current?.blur(),[]),h=(0,k.useCallback)(()=>{let l=A.current;return l?(0,U.extractPlainText)(l):""},[]),H=ea()?"plaintext-only":"true";return{inputRef:A,editorProps:{ref:A,contentEditable:H,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":m,"aria-expanded":x,"aria-activedescendant":w,spellCheck:!0,enterKeyHint:"send",onInput:ee,onKeyDown:me,onCompositionStart:pe,onCompositionEnd:te,onPaste:ue,onFocus:G,onBlur:$},getPlainText:h,focus:ae,blur:j}}var J=require("react/jsx-runtime");function ta(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Et=(0,R.forwardRef)(function({onSubmit:i,onResult:t,onError:a,optionOverrides:n,maskCompletedText:o,className:r,apiConfig:g,additionalContext:v,columns:x,pillPlacement:m="dropdown",mode:w="auto",optionsPosition:I="below",animations:y=!0,dropdownTrigger:b,closeDropdownOnBlur:L,showNonTappableOptions:N,showSkipButton:ne,autoFocus:re=!0,onFocus:q,onBlur:A,value:se,completedParams:le,onChange:p,onParamsChange:de,products:ce,onProductSelect:O,submitButton:ee},pe){let te=(0,R.useRef)(null),ue=(0,R.useRef)(null),me=(0,R.useRef)(()=>{}),G=(0,R.useRef)(null),$=(0,R.useRef)(null);(0,R.useEffect)(()=>{let S=te.current;if(S)return G.current?G.current.setMode(w):G.current=new Te.ModeController(S,w),()=>{G.current?.destroy(),G.current=null}},[w]);let ae=(0,R.useCallback)(S=>{let xe=$.current?.current;xe&&(xe.focus(),(0,Te.setCursorOffset)(xe,S))},[]),{completedParams:j,skippedParams:h,identifiedParams:H,isReady:l,suggestionPills:u,setActivePill:f,skipActivePill:_,segments:s,newParamId:E,clearNewParamId:Q,placeholderText:V,isFocused:d,isDropdownOpen:_e,isActivePillSelected:Ae,isLoading:he,activeIndex:ke,listboxId:Y,handleTextChange:Ye,handleKeyDown:fe,setFocused:ge,editingParam:Re,editingIdentified:ze,editingAnchor:Qe,caretOffset:Oe,startEditingParam:c,handleCaretAfterInput:z,handleCaretMove:C,replaceEditingRange:Se,dropdownProps:Le,reset:Be}=je({onSubmit:S=>me.current(S),onResult:t,onError:a,optionOverrides:n,maskCompletedText:o,apiConfig:g,additionalContext:v,columns:x,dropdownTrigger:b,optionsPosition:I,closeDropdownOnBlur:L,showNonTappableOptions:N,showSkipButton:ne,onFocus:q,onBlur:A,value:se,completedParams:le,onChange:p,onParamsChange:de,products:ce,onProductSelect:O,source:"full-sdk",setCursor:ae});(0,R.useEffect)(()=>{if(!E)return;let S=window.setTimeout(()=>Q(),650);return()=>window.clearTimeout(S)},[E,Q]);let Tt=ke>=0?`${Y}-option-${ke}`:void 0,{inputRef:Xe,editorProps:Rt,focus:Fe,blur:nt,getPlainText:rt}=Dt({segments:s,newParamId:E,editingParam:Re,editingIdentified:ze,editingAnchor:Qe,caretOffset:Oe,placeholderText:V,isFocused:d,isDropdownOpen:_e,listboxId:Y,activeDescendantId:Tt,autoFocus:re,handleTextChange:Ye,handleKeyDown:fe,handleCaretAfterInput:z,handleCaretMove:C,startEditingParam:c,replaceEditingRange:Se,setFocused:ge});$.current=Xe,(0,R.useLayoutEffect)(()=>{let S=ue.current,xe=Xe.current;if(!S||!xe)return;let st=()=>{let dt=S.firstElementChild;if(!dt)return;let zt=dt.getBoundingClientRect(),Ot=xe.getBoundingClientRect();zt.top>=Ot.bottom-2?S.setAttribute("data-aia-pill-wrapped",""):S.removeAttribute("data-aia-pill-wrapped")};st();let lt=new ResizeObserver(st);return lt.observe(xe),()=>lt.disconnect()},[s,u.length,he,Xe]),(0,R.useImperativeHandle)(pe,()=>({focus:Fe,blur:nt,reset:Be,setMode:S=>G.current?.setMode(S),skipActivePill:_}),[Fe,nt,Be,_]);let Ge=!!s.length||j.length>0,Ze=(0,R.useCallback)(()=>{if(!Ge)return;let S=rt();i((0,Te.buildSubmitResult)(S,j,h,{identifiedParams:H,isReady:l})),Be()},[Ge,j,h,H,l,i,Be,rt]);me.current=Ze;let Lt=(0,R.useCallback)(S=>{S.target?.closest("[data-aia-pill]")||Fe()},[Fe]),Mt=m==="inline",Nt=m==="dropdown";return(0,J.jsxs)("div",{ref:te,className:`magicx-aia ${Pe.container} ${r??""}`,"data-pill-placement":m,"data-options-position":I,"data-animations":y?"on":"off","data-mode":ta(w),children:[(0,J.jsx)(qe,{...Le,showPills:Nt}),(0,J.jsxs)("div",{className:Pe.inputWrapper,onClick:Lt,children:[(0,J.jsxs)("div",{className:Pe.editorArea,"data-aia-editor":"",children:[(0,J.jsx)("div",{...Rt,className:Pe.input,"data-aia-input":""}),Mt&&(he||u.length>0)&&(0,J.jsx)("span",{ref:ue,className:Pe.pillListContainer,"data-aia-pill-list-container":"",children:(0,J.jsx)(Ke,{pills:u,activePillIndex:0,activeSelected:Ae,onSelectPill:f,loading:he})})]}),ee===null?null:ee===void 0?(0,J.jsx)(St,{disabled:!Ge,onClick:Ze}):(0,J.jsx)("span",{"data-aia-submit":"",className:Pe.submitSlot,onClick:S=>{Ge&&(S.stopPropagation(),Ze())},children:ee})]})]})});0&&(module.exports={AIAutocomplete,AIAutocompleteDropdown,WEEKDAY_LABELS,buildSubmitResult,cellDay,cellIso,formatDate,isoDate,monthLabel,parseDate,parseLooseDate,useAIAutocomplete,withSkippedParams});
|
|
1611
|
+
`,document.head.appendChild(e)}var At={submitButton:"SubmitButton-module_submitButton_otz7H"};var Ue=require("react/jsx-runtime");function St({disabled:e,onClick:o}){return(0,Ue.jsx)("button",{type:"button","data-aia-submit":"",className:At.submitButton,disabled:e,onClick:a=>{a.stopPropagation(),o()},"aria-label":"Submit",children:(0,Ue.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",role:"img","aria-label":"Submit",children:(0,Ue.jsx)("path",{d:"M9 14V4M9 4L4 9M9 4L14 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}var Ee=require("@magicx-eng/ai-autocomplete-vanilla"),I=require("react");var ot=require("react");function Dt(e){let o=(0,ot.useRef)(e);o.current=e;let a=Object.keys(e??{}).sort().join("\0"),n=(0,ot.useRef)({key:"",overrides:void 0});if(n.current.key!==a){let r={};for(let i of Object.keys(e??{})){let s=(f,b,w)=>{let k=o.current?.[i];return k?k(f,b,w):[]};r[i]=s}n.current={key:a,overrides:e?r:void 0}}return{overrides:n.current.overrides,key:a}}var it=require("react");function Ct(e){let o=(0,it.useRef)(e);o.current=e;let a=(0,it.useRef)(null);a.current===null&&(a.current={fetch:(r,i)=>{let s=o.current;return s?s.fetch(r,i):Promise.reject(new Error("products config removed"))},transform:r=>o.current?.transform(r)??[],get limit(){return o.current?.limit}});let n=e!==void 0;return{config:n?a.current:void 0,enabled:n}}var ta={text:"",completedParams:[],identifiedParams:[],skippedParams:[],pendingSpan:null,suggestions:[],products:[],optionSearch:null,activeDropdownIndex:-1,newParamId:null,isLoading:!0,isReady:!1,error:null,segments:[],actionableSuggestions:[],filteredOptions:[],activeFormatType:"options",dateView:null,dateRangeStart:null,placeholderText:"",optionQuery:"",isSearchingOptions:!1,isDropdownOpen:!1,isActivePillSelected:!1,filterBase:0,filterInProgress:!1,pillTapped:!1,skipNextFetch:!1,lastRawQuery:"",isFocused:!1,editingParam:null,editingIdentified:null,editingAnchor:null,editingTail:null,caretOffset:null,inSelectionAnimation:!1,dateViewMonth:null,pendingRangeStart:null};function je({onSubmit:e,onResult:o,onError:a,optionOverrides:n,maskCompletedText:r,apiConfig:i,additionalContext:s,columns:f=2,dropdownTrigger:b,optionsPosition:w,closeDropdownOnBlur:k,showNonTappableOptions:p,showSkipButton:x,onFocus:_,onBlur:v,value:L,completedParams:M,onChange:ie,onParamsChange:ne,products:W,onProductSelect:A,source:re,setCursor:se}){let u=(0,I.useRef)(null),[be,le]=(0,I.useState)(null),N=(0,I.useRef)(e);N.current=e;let Z=(0,I.useRef)(o);Z.current=o;let de=(0,I.useRef)(a);de.current=a;let ce=(0,I.useRef)(ie);ce.current=ie;let J=(0,I.useRef)(ne);J.current=ne;let ee=(0,I.useRef)(_);ee.current=_;let G=(0,I.useRef)(v);G.current=v;let pe=(0,I.useRef)(se);pe.current=se;let ve=(0,I.useRef)(A);ve.current=A;let z=Ct(W),q=Dt(n);(0,I.useEffect)(()=>{if(typeof document>"u")return;let h=new Ee.AIAutocomplete(document.createElement("div"),{renderMode:"headless",apiConfig:i,additionalContext:s,optionOverrides:q.overrides,maskCompletedText:r,columns:f,dropdownTrigger:b,optionsPosition:w,closeDropdownOnBlur:k,showNonTappableOptions:p,source:re,value:L,completedParams:M,onSubmit:(...R)=>N.current?.(...R),onResult:(...R)=>Z.current?.(...R),onError:(...R)=>de.current?.(...R),onChange:(...R)=>ce.current?.(...R),onParamsChange:(...R)=>J.current?.(...R),onFocus:()=>ee.current?.(),onBlur:()=>G.current?.(),onProductSelect:R=>ve.current?.(R),setCursor:R=>pe.current?.(R),products:z.config});u.current=h,le(h.getState());let $=h.subscribe(R=>le(R));return()=>{$(),h.destroy(),u.current===h&&(u.current=null)}},[]),(0,I.useEffect)(()=>{L!==void 0&&u.current?.setValue(L)},[L]),(0,I.useEffect)(()=>{M!==void 0&&u.current?.setCompletedParams(M)},[M]);let ue=JSON.stringify(i??null),t;try{t=JSON.stringify(s??null)}catch{t="[unstringifiable]"}(0,I.useEffect)(()=>{u.current?.update({apiConfig:i,additionalContext:s,optionOverrides:q.overrides,dropdownTrigger:b,optionsPosition:w,closeDropdownOnBlur:k,showNonTappableOptions:p})},[ue,t,q.key,b,w,k,p]);let c=(0,I.useRef)(!1);(0,I.useEffect)(()=>{if(!c.current){c.current=!0;return}u.current?.update({products:z.config})},[z.enabled]);let m=(0,I.useRef)(null);m.current===null&&(m.current={handleTextChange:h=>u.current?.handleTextChange(h),handleKeyDown:h=>{let $="nativeEvent"in h?h.nativeEvent:h;u.current?.handleKeyDown($)},setFocused:h=>u.current?.setFocused(h),startEditingParam:h=>u.current?.startEditingParam(h),exitEditMode:()=>u.current?.exitEditMode(),handleCaretAfterInput:h=>u.current?.handleCaretAfterInput(h),handleCaretMove:h=>u.current?.handleCaretMove(h),replaceEditingRange:h=>u.current?.replaceEditingRange(h)??!1,setActivePill:h=>u.current?.setActivePill(h),skipActivePill:()=>u.current?.skipActivePill(),removeLastParam:()=>u.current?.removeLastParam(),clearNewParamId:()=>u.current?.clearNewParamId(),reset:()=>u.current?.reset(),selectOption:h=>u.current?.selectOption(h),selectProduct:h=>u.current?.selectProduct(h),setActiveDropdownIndex:h=>u.current?.setActiveDropdownIndex(h),showPreviousMonth:()=>u.current?.showPreviousMonth(),showNextMonth:()=>u.current?.showNextMonth(),handleFocus:()=>u.current?.setFocused(!0),handleBlur:()=>u.current?.setFocused(!1)});let l=m.current,y=(0,I.useCallback)(h=>{let $=h.target.value,Ye=$.length>0&&!h.nativeEvent?.isComposing&&$[0]!==$[0].toUpperCase()?$[0].toUpperCase()+$.slice(1):$;u.current?.handleTextChange(Ye)},[]),T=(0,I.useCallback)(h=>{u.current?.handleKeyDown(h.nativeEvent)},[]),U=u.current,d=be??ta,me=L!==void 0?L:d.text,Ie=M!==void 0?M:d.completedParams,we=d.actionableSuggestions,xe=we[0],te=U?.listboxId??"",Ae=d.activeDropdownIndex>=0&&U?`${te}-option-${d.activeDropdownIndex}`:void 0,V=d.editingParam,j=d.editingIdentified,Re=V?{type:V.suggestionType,text:V.suggestionPlaceholder,required:!0,options:V.options}:j?{type:j.type,text:(0,Ee.identifiedParamLabel)(j.type),required:!0,options:[]}:null,Ne=Re??xe,Ve=Re?[Re]:we,Le=(0,Ee.dateSelectionFor)(d),ze=!U||d.isLoading&&!d.editingParam&&!d.inSelectionAnimation||d.isSearchingOptions;return{completedParams:Ie,skippedParams:d.skippedParams,identifiedParams:d.identifiedParams,suggestionPills:we,setActivePill:l.setActivePill,skipActivePill:l.skipActivePill,removeLastParam:l.removeLastParam,segments:d.segments,newParamId:d.newParamId,clearNewParamId:l.clearNewParamId,suggestions:d.suggestions,activeIndex:d.activeDropdownIndex,isReady:d.isReady,isLoading:ze,isFocused:d.isFocused,isDropdownOpen:d.isDropdownOpen,isActivePillSelected:d.isActivePillSelected,placeholderText:d.placeholderText,listboxId:te,error:d.error,products:d.products,selectProduct:l.selectProduct,handleTextChange:l.handleTextChange,handleKeyDown:l.handleKeyDown,setFocused:l.setFocused,editingParam:V,editingIdentified:j,editingAnchor:d.editingAnchor,caretOffset:d.caretOffset,startEditingParam:l.startEditingParam,exitEditMode:l.exitEditMode,handleCaretAfterInput:l.handleCaretAfterInput,handleCaretMove:l.handleCaretMove,replaceEditingRange:l.replaceEditingRange,inputProps:{value:me,placeholder:d.placeholderText||void 0,onChange:y,onKeyDown:T,onFocus:l.handleFocus,onBlur:l.handleBlur,role:"combobox","aria-expanded":d.isDropdownOpen,"aria-activedescendant":Ae,"aria-autocomplete":"list","aria-controls":te},reset:l.reset,dropdownProps:{suggestions:Ne?[{...Ne,options:d.filteredOptions}]:[],activeIndex:d.activeDropdownIndex,onSelect:l.selectOption,onHighlight:l.setActiveDropdownIndex,isOpen:d.isDropdownOpen,id:te,pills:Ve,activeSelected:d.isActivePillSelected,onPillClick:l.setActivePill,onSkip:l.skipActivePill,showSkipButton:(x??!0)&&!V&&!j,skipDisabled:d.inSelectionAnimation,isLoading:ze,isInputEmpty:me.trim().length===0,products:d.products,onProductSelect:l.selectProduct,onProductFocusChange:l.setFocused,formatType:d.activeFormatType,dateView:d.dateView,selectedDateIso:Le.selectedIso,selectedDateRange:Le.selectedRange,dateRangeStart:Le.rangeStart,onPreviousMonth:l.showPreviousMonth,onNextMonth:l.showNextMonth,optionsPosition:w??"below"}}}var K=require("@magicx-eng/ai-autocomplete-vanilla"),P=require("react"),$e;function aa(){if($e!==void 0)return $e;if(typeof document>"u")return!1;let e=document.createElement("div");return e.setAttribute("contenteditable","plaintext-only"),$e=e.contentEditable==="plaintext-only",$e}function Et(e){let{segments:o,newParamId:a,editingParam:n,editingIdentified:r,editingAnchor:i,caretOffset:s,placeholderText:f,isFocused:b,isDropdownOpen:w,listboxId:k,activeDescendantId:p,autoFocus:x,handleTextChange:_,handleKeyDown:v,handleCaretAfterInput:L,handleCaretMove:M,startEditingParam:ie,replaceEditingRange:ne,setFocused:W}=e,A=(0,P.useRef)(null),re=(0,P.useRef)(!1),se=(0,P.useRef)(""),u=(0,P.useRef)(""),be=(0,P.useRef)(null),le=(0,P.useRef)(0);be.current=s,(0,P.useEffect)(()=>{if(!x)return;let t=A.current;if(!t)return;document.activeElement===t?W(!0):t.focus();let c=t.ownerDocument??document,m=c.getSelection(),l=m&&m.rangeCount>0&&t.contains(m.anchorNode);if(m&&!l){let y=c.createRange();y.selectNodeContents(t),y.collapse(!0),m.removeAllRanges(),m.addRange(y)}},[x,W]),(0,P.useEffect)(()=>{let t=A.current;if(!t)return;let c=t.ownerDocument??document,m=()=>{let l=c.getSelection();if(!l||l.rangeCount===0||!l.anchorNode||!t.contains(l.anchorNode))return;let y=l.anchorNode,T=y.nodeType===Node.ELEMENT_NODE?y:y.parentElement,d=(l.isCollapsed?T?.closest("strong[data-param-id]"):null)?.dataset.paramId??null,me=n?.id??r?.id??null;if(d&&d!==me){ie(d);return}performance.now()-le.current<50||M((0,K.getCursorOffset)(t))};return c.addEventListener("selectionchange",m),()=>c.removeEventListener("selectionchange",m)},[n,r,ie,M]),(0,P.useLayoutEffect)(()=>{let t=A.current;t&&(0,K.renderEditableContent)({input:t,segments:o,newParamId:a,editingParamId:n?.id??null,placeholderText:f??"",isFocused:b})},[o,a,n,f,b]),(0,P.useLayoutEffect)(()=>{let t=se.current,c=a??"";if(se.current=c,!c||c===t)return;let m=A.current;if(!m)return;m.focus();let l=be.current??(0,K.plainTextLength)(m);(0,K.setCursorOffset)(m,l)},[a]),(0,P.useLayoutEffect)(()=>{let t=u.current,c=n?.id??"";if(u.current=c,!c||c===t||i==null)return;let m=A.current;m&&(0,K.setCursorOffset)(m,i)},[n,i]);let N=(0,P.useCallback)(()=>{if(re.current)return;let t=A.current;if(!t)return;let c=(0,K.extractPlainText)(t),l=c.length>0&&c[0]!==c[0].toUpperCase()?c[0].toUpperCase()+c.slice(1):c;_(l)},[_]),Z=(0,P.useCallback)(()=>{le.current=performance.now(),N();let t=A.current;t&&L((0,K.getCursorOffset)(t))},[N,L]);(0,P.useEffect)(()=>{let t=A.current;if(!t)return;let c=m=>{let l=m,y=l.inputType;if(y==="insertParagraph"||y==="insertLineBreak"||y==="insertFromDrop"){m.preventDefault();return}if(y.startsWith("insert")||y.startsWith("delete")){let T=y.startsWith("delete")?"":l.data??"";ne(T)&&m.preventDefault()}};return t.addEventListener("beforeinput",c),()=>t.removeEventListener("beforeinput",c)},[ne]);let de=(0,P.useCallback)(()=>{re.current=!0},[]),ce=(0,P.useCallback)(()=>{re.current=!1,N()},[N]),J=(0,P.useCallback)(t=>{t.preventDefault();let c=A.current;if(!c)return;let m=(t.clipboardData.getData("text/plain")??"").replace(/\r?\n/g," ");if(!m)return;let l=c.ownerDocument??document,y=l.getSelection();if(!y||y.rangeCount===0)return;let T=y.getRangeAt(0);if(!c.contains(T.startContainer))return;T.deleteContents();let U=l.createTextNode(m);T.insertNode(U),T.setStartAfter(U),T.collapse(!0),y.removeAllRanges(),y.addRange(T),N()},[N]),ee=(0,P.useCallback)(t=>v(t),[v]),G=(0,P.useCallback)(()=>W(!0),[W]),pe=(0,P.useCallback)(()=>W(!1),[W]),ve=(0,P.useCallback)(()=>A.current?.focus(),[]),z=(0,P.useCallback)(()=>A.current?.blur(),[]),q=(0,P.useCallback)(()=>{let t=A.current;return t?(0,K.extractPlainText)(t):""},[]),ue=aa()?"plaintext-only":"true";return{inputRef:A,editorProps:{ref:A,contentEditable:ue,suppressContentEditableWarning:!0,tabIndex:0,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":k,"aria-expanded":w,"aria-activedescendant":p,spellCheck:!0,enterKeyHint:"send",onInput:Z,onKeyDown:ee,onCompositionStart:de,onCompositionEnd:ce,onPaste:J,onFocus:G,onBlur:pe},getPlainText:q,focus:ve,blur:z}}var X=require("react/jsx-runtime");function oa(e){return e!=="auto"?e:typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var Tt=(0,E.forwardRef)(function({onSubmit:o,onResult:a,onError:n,optionOverrides:r,maskCompletedText:i,className:s,apiConfig:f,additionalContext:b,columns:w,pillPlacement:k="dropdown",mode:p="auto",optionsPosition:x="below",animations:_=!0,dropdownTrigger:v,closeDropdownOnBlur:L,showNonTappableOptions:M,showSkipButton:ie,autoFocus:ne=!0,onFocus:W,onBlur:A,value:re,completedParams:se,onChange:u,onParamsChange:be,products:le,onProductSelect:N,submitButton:Z},de){let ce=(0,E.useRef)(null),J=(0,E.useRef)(null),ee=(0,E.useRef)(()=>{}),G=(0,E.useRef)(null),pe=(0,E.useRef)(null);(0,E.useEffect)(()=>{let S=ce.current;if(S)return G.current?G.current.setMode(p):G.current=new Te.ModeController(S,p),()=>{G.current?.destroy(),G.current=null}},[p]);let ve=(0,E.useCallback)(S=>{let ye=pe.current?.current;ye&&(ye.focus(),(0,Te.setCursorOffset)(ye,S))},[]),{completedParams:z,skippedParams:q,identifiedParams:ue,isReady:t,suggestionPills:c,setActivePill:m,skipActivePill:l,segments:y,newParamId:T,clearNewParamId:U,placeholderText:d,isFocused:me,isDropdownOpen:Ie,isActivePillSelected:we,isLoading:xe,activeIndex:te,listboxId:Ae,handleTextChange:V,handleKeyDown:j,setFocused:Re,editingParam:Ne,editingIdentified:Ve,editingAnchor:Le,caretOffset:ze,startEditingParam:h,handleCaretAfterInput:$,handleCaretMove:R,replaceEditingRange:Ye,dropdownProps:Rt,reset:Be}=je({onSubmit:S=>ee.current(S),onResult:a,onError:n,optionOverrides:r,maskCompletedText:i,apiConfig:f,additionalContext:b,columns:w,dropdownTrigger:v,optionsPosition:x,closeDropdownOnBlur:L,showNonTappableOptions:M,showSkipButton:ie,onFocus:W,onBlur:A,value:re,completedParams:se,onChange:u,onParamsChange:be,products:le,onProductSelect:N,source:"full-sdk",setCursor:ve});(0,E.useEffect)(()=>{if(!T)return;let S=window.setTimeout(()=>U(),650);return()=>window.clearTimeout(S)},[T,U]);let Lt=te>=0?`${Ae}-option-${te}`:void 0,{inputRef:Qe,editorProps:Ot,focus:Ge,blur:nt,getPlainText:rt}=Et({segments:y,newParamId:T,editingParam:Ne,editingIdentified:Ve,editingAnchor:Le,caretOffset:ze,placeholderText:d,isFocused:me,isDropdownOpen:Ie,listboxId:Ae,activeDescendantId:Lt,autoFocus:ne,handleTextChange:V,handleKeyDown:j,handleCaretAfterInput:$,handleCaretMove:R,startEditingParam:h,replaceEditingRange:Ye,setFocused:Re});pe.current=Qe,(0,E.useLayoutEffect)(()=>{let S=J.current,ye=Qe.current;if(!S||!ye)return;let st=()=>{let dt=S.firstElementChild;if(!dt)return;let Bt=dt.getBoundingClientRect(),Gt=ye.getBoundingClientRect();Bt.top>=Gt.bottom-2?S.setAttribute("data-aia-pill-wrapped",""):S.removeAttribute("data-aia-pill-wrapped")};st();let lt=new ResizeObserver(st);return lt.observe(ye),()=>lt.disconnect()},[y,c.length,xe,Qe]),(0,E.useImperativeHandle)(de,()=>({focus:Ge,blur:nt,reset:Be,setMode:S=>G.current?.setMode(S),skipActivePill:l}),[Ge,nt,Be,l]);let Fe=!!y.length||z.length>0,Xe=(0,E.useCallback)(()=>{if(!Fe)return;let S=rt();o((0,Te.buildSubmitResult)(S,z,q,{identifiedParams:ue,isReady:t})),Be()},[Fe,z,q,ue,t,o,Be,rt]);ee.current=Xe;let Mt=(0,E.useCallback)(S=>{S.target?.closest("[data-aia-pill]")||Ge()},[Ge]),Nt=k==="inline",zt=k==="dropdown";return(0,X.jsxs)("div",{ref:ce,className:`magicx-aia ${ke.container} ${s??""}`,"data-pill-placement":k,"data-options-position":x,"data-animations":_?"on":"off","data-mode":oa(p),children:[(0,X.jsx)(qe,{...Rt,showPills:zt}),(0,X.jsxs)("div",{className:ke.inputWrapper,onClick:Mt,children:[(0,X.jsxs)("div",{className:ke.editorArea,"data-aia-editor":"",children:[(0,X.jsx)("div",{...Ot,className:ke.input,"data-aia-input":""}),Nt&&(xe||c.length>0)&&(0,X.jsx)("span",{ref:J,className:ke.pillListContainer,"data-aia-pill-list-container":"",children:(0,X.jsx)(Ke,{pills:c,activePillIndex:0,activeSelected:we,onSelectPill:m,loading:xe})})]}),Z===null?null:Z===void 0?(0,X.jsx)(St,{disabled:!Fe,onClick:Xe}):(0,X.jsx)("span",{"data-aia-submit":"",className:ke.submitSlot,onClick:S=>{Fe&&(S.stopPropagation(),Xe())},children:Z})]})]})});0&&(module.exports={AIAutocomplete,AIAutocompleteDropdown,DATE_RANGE_META_END,DATE_RANGE_META_START,WEEKDAY_LABELS,buildSubmitResult,cellDay,cellIso,dateCellMarks,formatDate,formatDateRange,isoDate,monthLabel,parseDate,parseLooseDate,parseLooseDateRange,selectedRangeFor,useAIAutocomplete,visibleDateRange,withSkippedParams});
|
|
1584
1612
|
//# sourceMappingURL=index.js.map
|