UNPKG

@start-base/react-form-elements

Version:

Simplify form elements and form management. Selection of user friendly inputs and wide customization abilities to match your design and functionality.

1 lines 26.8 kB
import e,{forwardRef as t,useState as n,useRef as a,useImperativeHandle as r,useLayoutEffect as o,useMemo as i}from"react";import l from"clsx";import{useFloating as u,autoUpdate as s,offset as d,flip as c,shift as m}from"@floating-ui/react-dom";import{FocusOn as h}from"react-focus-on";import{DayPicker as f}from"react-day-picker";var g=Object.defineProperty,b=Object.defineProperties,p=Object.getOwnPropertyDescriptors,w=Object.getOwnPropertySymbols,v=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,k=(e,t,n)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M=(e,t)=>{for(var n in t||(t={}))v.call(t,n)&&k(e,n,t[n]);if(w)for(var n of w(t))y.call(t,n)&&k(e,n,t[n]);return e},S=(e,t)=>b(e,p(t)),P=(e,t)=>{var n={};for(var a in e)v.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&w)for(var a of w(e))t.indexOf(a)<0&&y.call(e,a)&&(n[a]=e[a]);return n},D=6048e5,x=Symbol.for("constructDateFrom");function C(e,t){return"function"==typeof e?e(t):e&&"object"==typeof e&&x in e?e[x](t):e instanceof Date?new e.constructor(t):new Date(t)}function N(e,t){return C(t||e,e)}var O={};function W(){return O}function E(e,t){var n,a,r,o,i,l,u,s;const d=W(),c=null!=(s=null!=(u=null!=(o=null!=(r=null==t?void 0:t.weekStartsOn)?r:null==(a=null==(n=null==t?void 0:t.locale)?void 0:n.options)?void 0:a.weekStartsOn)?o:d.weekStartsOn)?u:null==(l=null==(i=d.locale)?void 0:i.options)?void 0:l.weekStartsOn)?s:0,m=N(e,null==t?void 0:t.in),h=m.getDay(),f=(h<c?7:0)+h-c;return m.setDate(m.getDate()-f),m.setHours(0,0,0,0),m}function T(e,t){return E(e,S(M({},t),{weekStartsOn:1}))}function Y(e,t){const n=N(e,void 0),a=n.getFullYear(),r=C(n,0);r.setFullYear(a+1,0,4),r.setHours(0,0,0,0);const o=T(r),i=C(n,0);i.setFullYear(a,0,4),i.setHours(0,0,0,0);const l=T(i);return n.getTime()>=o.getTime()?a+1:n.getTime()>=l.getTime()?a:a-1}function I(e){const t=N(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function R(e,t){const n=N(e,void 0);return n.setHours(0,0,0,0),n}function q(e,t,n){const[a,r]=function(e,...t){const n=C.bind(null,t.find(e=>"object"==typeof e));return t.map(n)}(0,e,t),o=R(a),i=R(r),l=+o-I(o),u=+i-I(i);return Math.round((l-u)/864e5)}function F(e){return!(!((t=e)instanceof Date||"object"==typeof t&&"[object Date]"===Object.prototype.toString.call(t))&&"number"!=typeof e||isNaN(+N(e)));var t}var L={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function U(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var j={date:U({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:U({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:U({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},H={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function z(e){return(t,n)=>{let a;if("formatting"===((null==n?void 0:n.context)?String(n.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,r=(null==n?void 0:n.width)?String(n.width):t;a=e.formattingValues[r]||e.formattingValues[t]}else{const t=e.defaultWidth,r=(null==n?void 0:n.width)?String(n.width):e.defaultWidth;a=e.values[r]||e.values[t]}return a[e.argumentCallback?e.argumentCallback(t):t]}}function Q(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],o=t.match(r);if(!o)return null;const i=o[0],l=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],u=Array.isArray(l)?function(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n;return}(l,e=>e.test(i)):function(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n;return}(l,e=>e.test(i));let s;s=e.valueCallback?e.valueCallback(u):u,s=n.valueCallback?n.valueCallback(s):s;return{value:s,rest:t.slice(i.length)}}}var A,G={code:"en-US",formatDistance:(e,t,n)=>{let a;const r=L[e];return a="string"==typeof r?r:1===t?r.one:r.other.replace("{{count}}",t.toString()),(null==n?void 0:n.addSuffix)?n.comparison&&n.comparison>0?"in "+a:a+" ago":a},formatLong:j,formatRelative:(e,t,n,a)=>H[e],localize:{ordinalNumber:(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:z({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:z({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:z({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:z({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:z({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(A={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{const n=e.match(A.matchPattern);if(!n)return null;const a=n[0],r=e.match(A.parsePattern);if(!r)return null;let o=A.valueCallback?A.valueCallback(r[0]):r[0];return o=t.valueCallback?t.valueCallback(o):o,{value:o,rest:e.slice(a.length)}}),era:Q({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:Q({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:Q({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:Q({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:Q({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function B(e,t){const n=N(e,void 0),a=q(n,function(e){const t=N(e,void 0);return t.setFullYear(t.getFullYear(),0,1),t.setHours(0,0,0,0),t}(n));return a+1}function X(e,t){const n=N(e,void 0),a=+T(n)-+function(e){const t=Y(e),n=C(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),T(n)}(n);return Math.round(a/D)+1}function $(e,t){var n,a,r,o,i,l,u,s;const d=N(e,null==t?void 0:t.in),c=d.getFullYear(),m=W(),h=null!=(s=null!=(u=null!=(o=null!=(r=null==t?void 0:t.firstWeekContainsDate)?r:null==(a=null==(n=null==t?void 0:t.locale)?void 0:n.options)?void 0:a.firstWeekContainsDate)?o:m.firstWeekContainsDate)?u:null==(l=null==(i=m.locale)?void 0:i.options)?void 0:l.firstWeekContainsDate)?s:1,f=C((null==t?void 0:t.in)||e,0);f.setFullYear(c+1,0,h),f.setHours(0,0,0,0);const g=E(f,t),b=C((null==t?void 0:t.in)||e,0);b.setFullYear(c,0,h),b.setHours(0,0,0,0);const p=E(b,t);return+d>=+g?c+1:+d>=+p?c:c-1}function J(e,t){const n=N(e,null==t?void 0:t.in),a=+E(n,t)-+function(e,t){var n,a,r,o,i,l,u,s;const d=W(),c=null!=(s=null!=(u=null!=(o=null!=(r=null==t?void 0:t.firstWeekContainsDate)?r:null==(a=null==(n=null==t?void 0:t.locale)?void 0:n.options)?void 0:a.firstWeekContainsDate)?o:d.firstWeekContainsDate)?u:null==(l=null==(i=d.locale)?void 0:i.options)?void 0:l.firstWeekContainsDate)?s:1,m=$(e,t),h=C((null==t?void 0:t.in)||e,0);return h.setFullYear(m,0,c),h.setHours(0,0,0,0),E(h,t)}(n,t);return Math.round(a/D)+1}function K(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}var V={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return K("yy"===t?a%100:a,t.length)},M(e,t){const n=e.getMonth();return"M"===t?String(n+1):K(n+1,2)},d:(e,t)=>K(e.getDate(),t.length),a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>K(e.getHours()%12||12,t.length),H:(e,t)=>K(e.getHours(),t.length),m:(e,t)=>K(e.getMinutes(),t.length),s:(e,t)=>K(e.getSeconds(),t.length),S(e,t){const n=t.length,a=e.getMilliseconds();return K(Math.trunc(a*Math.pow(10,n-3)),t.length)}},_="midnight",Z="noon",ee="morning",te="afternoon",ne="evening",ae="night",re={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if("yo"===t){const t=e.getFullYear(),a=t>0?t:1-t;return n.ordinalNumber(a,{unit:"year"})}return V.y(e,t)},Y:function(e,t,n,a){const r=$(e,a),o=r>0?r:1-r;if("YY"===t){return K(o%100,2)}return"Yo"===t?n.ordinalNumber(o,{unit:"year"}):K(o,t.length)},R:function(e,t){return K(Y(e),t.length)},u:function(e,t){return K(e.getFullYear(),t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return K(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return K(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return V.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return K(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=J(e,a);return"wo"===t?n.ordinalNumber(r,{unit:"week"}):K(r,t.length)},I:function(e,t,n){const a=X(e);return"Io"===t?n.ordinalNumber(a,{unit:"week"}):K(a,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):V.d(e,t)},D:function(e,t,n){const a=B(e);return"Do"===t?n.ordinalNumber(a,{unit:"dayOfYear"}):K(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return K(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return K(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=0===a?7:a;switch(t){case"i":return String(r);case"ii":return K(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(r=12===a?Z:0===a?_:a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(r=a>=17?ne:a>=12?te:a>=4?ee:ae,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return V.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):V.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return"Ko"===t?n.ordinalNumber(a,{unit:"hour"}):K(a,t.length)},k:function(e,t,n){let a=e.getHours();return 0===a&&(a=24),"ko"===t?n.ordinalNumber(a,{unit:"hour"}):K(a,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):V.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):V.s(e,t)},S:function(e,t){return V.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(0===a)return"Z";switch(t){case"X":return ie(a);case"XXXX":case"XX":return le(a);default:return le(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return ie(a);case"xxxx":case"xx":return le(a);default:return le(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+oe(a,":");default:return"GMT"+le(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+oe(a,":");default:return"GMT"+le(a,":")}},t:function(e,t,n){return K(Math.trunc(+e/1e3),t.length)},T:function(e,t,n){return K(+e,t.length)}};function oe(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),o=a%60;return 0===o?n+String(r):n+String(r)+t+K(o,2)}function ie(e,t){if(e%60==0){return(e>0?"-":"+")+K(Math.abs(e)/60,2)}return le(e,t)}function le(e,t=""){const n=e>0?"-":"+",a=Math.abs(e);return n+K(Math.trunc(a/60),2)+t+K(a%60,2)}var ue=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},se=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},de={p:se,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return ue(e,t);let o;switch(a){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;default:o=t.dateTime({width:"full"})}return o.replace("{{date}}",ue(a,t)).replace("{{time}}",se(r,t))}},ce=/^D+$/,me=/^Y+$/,he=["D","DD","YY","YYYY"];var fe=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ge=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,be=/^'([^]*?)'?$/,pe=/''/g,we=/[a-zA-Z]/;function ve(e,t,n){var a,r,o,i,l,u,s,d,c,m,h,f,g,b,p,w,v,y;const k=W(),M=null!=(r=null!=(a=null==n?void 0:n.locale)?a:k.locale)?r:G,S=null!=(m=null!=(c=null!=(u=null!=(l=null==n?void 0:n.firstWeekContainsDate)?l:null==(i=null==(o=null==n?void 0:n.locale)?void 0:o.options)?void 0:i.firstWeekContainsDate)?u:k.firstWeekContainsDate)?c:null==(d=null==(s=k.locale)?void 0:s.options)?void 0:d.firstWeekContainsDate)?m:1,P=null!=(y=null!=(v=null!=(b=null!=(g=null==n?void 0:n.weekStartsOn)?g:null==(f=null==(h=null==n?void 0:n.locale)?void 0:h.options)?void 0:f.weekStartsOn)?b:k.weekStartsOn)?v:null==(w=null==(p=k.locale)?void 0:p.options)?void 0:w.weekStartsOn)?y:0,D=N(e,null==n?void 0:n.in);if(!F(D))throw new RangeError("Invalid time value");let x=t.match(ge).map(e=>{const t=e[0];if("p"===t||"P"===t){return(0,de[t])(e,M.formatLong)}return e}).join("").match(fe).map(e=>{if("''"===e)return{isToken:!1,value:"'"};const t=e[0];if("'"===t)return{isToken:!1,value:ye(e)};if(re[t])return{isToken:!0,value:e};if(t.match(we))throw new RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});M.localize.preprocessor&&(x=M.localize.preprocessor(D,x));const C={firstWeekContainsDate:S,weekStartsOn:P,locale:M};return x.map(a=>{if(!a.isToken)return a.value;const r=a.value;(!(null==n?void 0:n.useAdditionalWeekYearTokens)&&function(e){return me.test(e)}(r)||!(null==n?void 0:n.useAdditionalDayOfYearTokens)&&function(e){return ce.test(e)}(r))&&function(e,t,n){const a=function(e,t,n){const a="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(a),he.includes(e))throw new RangeError(a)}(r,t,String(e));return(0,re[r[0]])(D,r,M.localize,C)}).join("")}function ye(e){const t=e.match(be);return t?t[1].replace(pe,"'"):e}var ke="SUI-CalendarRoot-module-calendar-YEe-7",Me="SUI-CalendarRoot-module-months--6KTQ",Se="SUI-CalendarRoot-module-month-aa13w",Pe="SUI-CalendarRoot-module-captionLabel-Q-PII",De="SUI-CalendarRoot-module-disabled-LmYOQ",xe="SUI-CalendarRoot-module-error-qiefI",Ce=t=>{var n=t,{disabled:a,error:r,className:o,classNames:i,calendarClassName:u,numberOfMonths:s=1}=n,d=P(n,["disabled","error","className","classNames","calendarClassName","numberOfMonths"]);return e.createElement(f,S(M({disabled:a,className:l(ke,"globals_rdp",{[o||""]:o})},d),{numberOfMonths:s,classNames:M(M(S(M({},i),{caption_label:l(Pe,{[(null==i?void 0:i.caption_label)||""]:null==i?void 0:i.caption_label})}),1===s?{month:l({[Se]:1===s,[De]:a,[u||""]:u,[(null==i?void 0:i.month)||""]:null==i?void 0:i.month,[xe]:r})}:{}),s>1?{months:l({[xe]:r,[Me]:s>1,[De]:a,[(null==i?void 0:i.months)||""]:null==i?void 0:i.months,[u||""]:u})}:{})}))},Ne={root:"SUI-DateRangePicker-module-root-X5Idk",inputRoot:"SUI-DateRangePicker-module-inputRoot-a4oLq",calendar:"SUI-DateRangePicker-module-calendar-1WfVD",label:"SUI-DateRangePicker-module-label-9sAmO",disableShrink:"SUI-DateRangePicker-module-disableShrink-CgC-O",prepend:"SUI-DateRangePicker-module-prepend-kzKtg",placeholder:"SUI-DateRangePicker-module-placeholder-iy03l",disabledLabel:"SUI-DateRangePicker-module-disabledLabel-3GOR9",labelPlaceholder:"SUI-DateRangePicker-module-labelPlaceholder-M9NrH",input:"SUI-DateRangePicker-module-input-nIcF2",append:"SUI-DateRangePicker-module-append-cbiFl",appendDisabledShrink:"SUI-DateRangePicker-module-appendDisabledShrink--WbKG",prependDisabledShrink:"SUI-DateRangePicker-module-prependDisabledShrink-fVbDB",errorLabel:"SUI-DateRangePicker-module-errorLabel-3-6Y8",inputError:"SUI-DateRangePicker-module-inputError-cTfUr",disabled:"SUI-DateRangePicker-module-disabled-f0zmt",focused:"SUI-DateRangePicker-module-focused-Kl-ad",icon:"SUI-DateRangePicker-module-icon-LvoL0",popper:"SUI-DateRangePicker-module-popper-pCU1S"},Oe=t((t,f)=>{var g=t,{name:b,onChange:p,error:w=null,numberOfMonths:v=2,separator:y=" / ",label:k=null,placeholder:D=null,value:x,locale:C=null,format:N="MM/dd/yyyy",inputClassName:O=null,labelClassName:W=null,errorClassName:E=null,calendarClassName:T=null,prepend:Y=null,append:I=e.createElement("svg",{className:Ne.icon,xmlns:"http://www.w3.org/2000/svg",width:"20px",height:"20px",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24"},e.createElement("rect",{width:18,height:18,x:3,y:4,rx:2,ry:2}),e.createElement("path",{d:"M16 2v4M8 2v4M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01M16 18h.01"})),appendClassName:R=null,prependClassName:q=null,disableShrink:F=!1,disabled:L=!1}=g,U=P(g,["name","onChange","error","numberOfMonths","separator","label","placeholder","value","locale","format","inputClassName","labelClassName","errorClassName","calendarClassName","prepend","append","appendClassName","prependClassName","disableShrink","disabled"]);const[j,H]=n(!1),[z,Q]=n(x),A=a(null),G=a(null),[B,X]=n(null);r(f,()=>null==G?void 0:G.current);const{refs:$,floatingStyles:J,update:K}=u({placement:"bottom-end",middleware:[d(4),c(),m()],whileElementsMounted:s});o(()=>{j&&A.current&&B&&($.setReference(A.current),$.setFloating(B),requestAnimationFrame(()=>K()))},[j,B,$,K]);const V=()=>{var e;H(!1),null==(e=null==G?void 0:G.current)||e.focus()},_=i(()=>{let e=null;return w&&"string"==typeof w?e=w:w&&"object"==typeof w&&(null==w?void 0:w.message)&&(e=w.message),e},[w]),Z=i(()=>e.createElement("input",{type:"text",autoComplete:"off",className:l(Ne.input,M({[Ne.disableShrink]:F||!k,[Ne.placeholder]:k&&D&&!F,[Ne.disabled]:L,[Ne.focused]:j,[Ne.inputError]:"boolean"==typeof w&&w},O?{[O]:!0}:{})),name:b,ref:G,disabled:L,placeholder:D||"",readOnly:!0,value:(null==x?void 0:x.from)||(null==x?void 0:x.to)?`${(null==x?void 0:x.from)instanceof Date?ve(x.from,N,C?{locale:C}:{}):(null==x?void 0:x.from)||""} ${(null==x?void 0:x.from)&&(null==x?void 0:x.to)&&y?y:""} ${(null==x?void 0:x.to)instanceof Date?ve(x.to,N,C?{locale:C}:{}):(null==x?void 0:x.to)||""}`:"",onClick:()=>H(e=>!e),onChange:()=>({})}),[F,k,D,L,j,w,O,b,U,x,N,C,y]),ee=i(()=>e.createElement("label",{htmlFor:b,className:l(Ne.label,M({[Ne.disableShrink]:F,[Ne.disabledLabel]:L,[Ne.labelPlaceholder]:k&&D&&!F||k&&((null==x?void 0:x.from)||(null==x?void 0:x.to))&&!F},W?{[W]:!0}:{})),onClick:()=>{var e,t;const n=document.querySelectorAll(`[name="${b}"]`);let a=null==n?void 0:n[0];"hidden"===(null==a?void 0:a.type)&&(a=null==(e=null==a?void 0:a.parentNode)?void 0:e.querySelector("input")),null==a||a.focus(),null==(t=null==G?void 0:G.current)||t.focus(),H(e=>!e)}},k),[L,b,F,k,D,x,W]);return e.createElement("div",{className:l(Ne.root)},e.createElement("div",{className:l(Ne.inputRoot)},Y&&e.createElement("div",{className:l(Ne.prepend,M({[Ne.prependDisabledShrink]:F},q?{[q]:!0}:{}))},Y),I&&e.createElement("div",{className:l(Ne.append,M({[Ne.appendDisabledShrink]:F},R?{[R]:!0}:{})),onClick:()=>H(e=>!e)},I),k&&F?ee:null,e.createElement("div",{ref:A},Z),j&&e.createElement(h,{enabled:j,autoFocus:!0,onClickOutside:V,onEscapeKey:V,onDeactivation:V,scrollLock:!1},e.createElement("div",{className:Ne.popper,style:J,ref:X,role:"dialog","aria-label":"Calendar"},e.createElement(Ce,S(M({error:w,className:Ne.calendar,calendarClassName:T,disabled:L,selected:z,onSelect:e=>{Q(e),p({target:{name:b,value:e}}),(null==e?void 0:e.from)&&(null==e?void 0:e.to)&&V()},numberOfMonths:v},U),{mode:"range"})))),k&&!F?ee:null),_&&e.createElement("span",{className:l(Ne.errorLabel,M({},E?{[E]:!0}:{}))},_))});Oe.displayName="DateRangePicker";var We=Oe;export{We as default};