@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
5 lines (4 loc) • 6.12 kB
JavaScript
/*! All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://github.com/Esri/calcite-design-system/blob/dev/LICENSE.md for details.
v3.2.1 */
import{b as x}from"./5VPUXQOI.js";import{b as S,f as T,g as F,k as h,l as A}from"./XDKVBD6O.js";var N=5;function g({locale:e,numberingSystem:t,includeSeconds:r=!0,fractionalSecondDigits:i,hour12:n}){let o={hour:"2-digit",minute:"2-digit",timeZone:"UTC",numberingSystem:F(t)};return typeof n=="boolean"&&(o.hour12=n),r&&(o.second="2-digit",i&&(o.fractionalSecondDigits=i)),A(e,o)}function z(e,t){return parseFloat(`0.${e}`).toFixed(x(t)).replace("0.","")}function P(e,t){if(e==null)return;let r=e.toString(),i=x(e);if(e<1&&i>0&&i<4){let n=r.replace("0.","");return!t||n.length===t?n:n.length<t?n.padEnd(t,"0"):n}if(e>=0&&e<10)return r.padStart(2,"0");if(e>=10)return r}function y(e){return parseInt((parseFloat(`0.${e}`)/.001).toFixed(3))}function U(e){let t={locale:e};return e==="mk"?t.hour12=!1:e.toLowerCase()==="es-mx"&&(t.hour12=!0),g(t).formatToParts(new Date(Date.UTC(0,0,0,0,0,0))).find(({type:n})=>n==="dayPeriod")?.value?"12":"24"}function w({locale:e,meridiem:t,parts:r}){let i=["he","bs","mk"],n;if(r){if(n=r.find(({type:o})=>o==="dayPeriod")?.value||null,e&&i.includes(e)){let o=T.get(e);n==="PM"&&(n=o.pm),n==="AM"&&(n=o.am)}}else if(t)if(i.includes(e)){let o=T.get(e);n=t==="PM"?o.pm:o.am}else{let o=g({locale:e,hour12:!0}),s=6,c=18,l=new Date(Date.UTC(0,0,0,t==="AM"?s:c,0));n=o.formatToParts(l).find(({type:d})=>d==="dayPeriod")?.value||null}return n}function D(e,t){return h.numberFormatOptions={locale:e,numberingSystem:t},h.localize("1.1").split("")[1]}function L(e,t,r="latn"){let n=g({locale:t,numberingSystem:r}).formatToParts(new Date(Date.UTC(0,0,0,0,0,0)));return f(`${e}Suffix`,n)}function f(e,t,r="en"){if(!e||!t)return null;if(e==="hourSuffix"){let i=t.indexOf(t.find(({type:s})=>s==="hour")),n=t.indexOf(t.find(({type:s})=>s==="minute")),o=t[i+1];return o&&o.type==="literal"&&n-i===2&&o.value?.trim()||null}if(e==="minuteSuffix"){let i=t.indexOf(t.find(({type:s})=>s==="minute")),n=t.indexOf(t.find(({type:s})=>s==="second")),o=t[i+1];return o&&o.type==="literal"&&n-i===2&&o.value?.trim()||null}if(e==="secondSuffix"){let i,n=t.indexOf(t.find(({type:o})=>o==="fractionalSecond"));if(n)i=t[n+1];else{let o=t.indexOf(t.find(({type:s})=>s==="second"));i=t[o+1]}return i?.type==="literal"&&i.value?.trim()||null}return e==="meridiem"&&(t.find(({type:n})=>n==="dayPeriod")?.value||null)?w({locale:r,parts:t}):t.find(({type:i})=>i===e)?.value||null}function H(e){if(!S(e))return null;let t=parseInt(e);return t>=0&&t<=11?"AM":"PM"}function V(e){return new Intl.DateTimeFormat(e,{hour:"2-digit",hour12:!0,minute:"2-digit",timeZone:"UTC"}).formatToParts(new Date(Date.UTC(0,0,0,0,0))).findIndex(i=>i.type==="dayPeriod")}function p(e){let t=typeof e=="string";if(!e||t&&(e.startsWith(":")||e.endsWith(":"))||!t&&(!e.hour||!e.minute))return!1;let r,i,n;if(t?[r,i,n]=e.split(":"):{hour:r,minute:i,second:n}=e,!r||!i)return!1;let o=parseInt(r),s=parseInt(i),c=parseInt(n),l=S(r)&&o>=0&&o<24,m=S(i)&&s>=0&&s<60,d=S(n)&&c>=0&&c<60;return!!(l&&m&&!n||l&&m&&d)}function O(e,t){if(t==="meridiem")return e==="AM"||e==="PM";if(!S(e))return!1;let r=Number(e),i=r>=0,n=r<24,o=r<60,s=r<=999;return t==="hour"?i&&n:t==="fractionalSecond"?i&&s:i&&o}function B({value:e,part:t,locale:r,numberingSystem:i="latn",hour12:n}){if(!O(e,t))return;if(t==="fractionalSecond"){let m=D(r,i),d=null;if(e){h.numberFormatOptions={locale:r,numberingSystem:i};let u=h.localize("0");parseInt(e)===0?d="".padStart(e.length,u):(d=h.localize(`0.${e}`).replace(`${u}${m}`,""),d.length<e.length&&(d=d.padEnd(e.length,u)))}return d}let o=parseInt(e),s=new Date(Date.UTC(0,0,0,t==="hour"?o:t==="meridiem"?e==="AM"?0:12:0,t==="minute"?o:0,t==="second"?o:0));if(!s)return;let l=g({hour12:n,locale:r,numberingSystem:i}).formatToParts(s);return f(t,l,r)}function W({hour12:e,includeSeconds:t=!0,locale:r,numberingSystem:i="latn",parts:n=!1,step:o,value:s}){if(!p(s))return null;let{hour:c,minute:l,second:m="0",fractionalSecond:d}=b(s,o),u=new Date(Date.UTC(0,0,0,parseInt(c),parseInt(l),parseInt(m),d&&y(d))),M=g({fractionalSecondDigits:x(o),hour12:e,includeSeconds:t,locale:r,numberingSystem:i});if(n){let a=M.formatToParts(u);return{hour:f("hour",a),hourSuffix:f("hourSuffix",a),minute:f("minute",a),minuteSuffix:f("minuteSuffix",a),second:f("second",a),decimalSeparator:D(r,i),fractionalSecond:f("fractionalSecond",a),secondSuffix:r!=="bg"&&f("secondSuffix",a),meridiem:f("meridiem",a,r)}}else{let a=M.format(u)||null;if(!n&&typeof a=="string"&&r==="bg"&&a&&a.includes(" \u0447.")&&(a=a.replaceAll(" \u0447.","")),["he","bs","mk"].includes(r)){let I=T.get(r);a.includes("AM")?a=a.replaceAll("AM",I.am):a.includes("PM")&&(a=a.replaceAll("PM",I.pm)),r!=="he"&&a.indexOf(".")!==a.length-1&&(a=a.replace(".",","))}return a}}function Z({hour12:e,locale:t,numberingSystem:r="latn",step:i=60,value:n}){if(!p(n))return null;let{hour:o,minute:s,second:c="0",fractionalSecond:l}=b(n,i),m=new Date(Date.UTC(0,0,0,parseInt(o),parseInt(s),parseInt(c),l&&y(l)));if(m){let u=g({fractionalSecondDigits:x(i),hour12:e,locale:t,numberingSystem:r}).formatToParts(m);return{hour:f("hour",u),hourSuffix:f("hourSuffix",u),minute:f("minute",u),minuteSuffix:f("minuteSuffix",u),second:f("second",u),decimalSeparator:D(t,r),fractionalSecond:f("fractionalSecond",u),secondSuffix:t!=="bg"&&f("secondSuffix",u),meridiem:f("meridiem",u,t)}}return null}function b(e,t){if(p(e)){let[r,i,n]=e.split(":"),o=n,s=null;return n?.includes(".")&&([o,s]=n.split(".")),t&&(s=z(s,t)),{fractionalSecond:s,hour:r,minute:i,second:o}}return{fractionalSecond:null,hour:null,minute:null,second:null}}function k(e,t=60){if(!p(e))return null;let r,i,n,o,s,c=null;return typeof e=="string"?([r,i,o]=e.split(":"),[n,s]=o?.split(".")||["0"]):(r=e.hour,i=e.minute,n=e.second,s=e.fractionalSecond),r&&i&&(c=`${P(parseInt(r))}:${P(parseInt(i))}`,t<60&&(c+=`:${P(parseInt(n||"0"))}`,t<1&&(c+=`.${z(s||"0",t)}`))),c}export{N as a,P as b,U as c,w as d,D as e,L as f,H as g,V as h,p as i,B as j,W as k,Z as l,b as m,k as n};