@everymatrix/general-navigation-bar 1.16.1
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 +30 -0
- package/dist/general-navigation-bar.js +690 -0
- package/dist/general-navigation-bar.js.map +1 -0
- package/dist/mobile-bottom-navigation.js +8003 -0
- package/dist/mobile-bottom-navigation.js.map +1 -0
- package/index.html +24 -0
- package/index.js +1 -0
- package/package.json +39 -0
- package/public/favicon.png +0 -0
- package/public/reset.css +48 -0
- package/rollup.config.js +59 -0
- package/src/GeneralNavigationBar.svelte +453 -0
- package/src/i18n.js +27 -0
- package/src/index.ts +4 -0
- package/src/translations.js +20 -0
- package/stories/MobileBottomNavigation.stories.js +13 -0
- package/tsconfig.json +6 -0
|
@@ -0,0 +1,690 @@
|
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).app=e()}(this,(function(){"use strict";function t(){}function e(t){return t()}function r(){return Object.create(null)}function n(t){t.forEach(e)}function i(t){return"function"==typeof t}function o(t,e){return t!=t?e==e:t!==e||t&&"object"==typeof t||"function"==typeof t}let a,s;function c(t,e){return a||(a=document.createElement("a")),a.href=e,t===a.href}function l(e,...r){if(null==e)return t;const n=e.subscribe(...r);return n.unsubscribe?()=>n.unsubscribe():n}function u(t,e){t.appendChild(e)}function h(t,e,r){t.insertBefore(e,r||null)}function f(t){t.parentNode&&t.parentNode.removeChild(t)}function p(t,e){for(let r=0;r<t.length;r+=1)t[r]&&t[r].d(e)}function d(t){return document.createElement(t)}function m(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function g(t){return document.createTextNode(t)}function y(){return g(" ")}function b(t,e,r,n){return t.addEventListener(e,r,n),()=>t.removeEventListener(e,r,n)}function v(t,e,r){null==r?t.removeAttribute(e):t.getAttribute(e)!==r&&t.setAttribute(e,r)}function E(t,e){e=""+e,t.data!==e&&(t.data=e)}function w(t){const e={};for(const r of t)e[r.name]=r.value;return e}function _(t){s=t}
|
|
2
|
+
/**
|
|
3
|
+
* The `onMount` function schedules a callback to run as soon as the component has been mounted to the DOM.
|
|
4
|
+
* It must be called during the component's initialisation (but doesn't need to live *inside* the component;
|
|
5
|
+
* it can be called from an external module).
|
|
6
|
+
*
|
|
7
|
+
* `onMount` does not run inside a [server-side component](/docs#run-time-server-side-component-api).
|
|
8
|
+
*
|
|
9
|
+
* https://svelte.dev/docs#run-time-svelte-onmount
|
|
10
|
+
*/
|
|
11
|
+
function T(t){(function(){if(!s)throw new Error("Function called outside component initialization");return s})().$$.on_mount.push(t)}const A=[],B=[];let S=[];const H=[],N=Promise.resolve();let P=!1;function I(t){S.push(t)}
|
|
12
|
+
// flush() calls callbacks in this order:
|
|
13
|
+
// 1. All beforeUpdate callbacks, in order: parents before children
|
|
14
|
+
// 2. All bind:this callbacks, in reverse order: children before parents.
|
|
15
|
+
// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT
|
|
16
|
+
// for afterUpdates called during the initial onMount, which are called in
|
|
17
|
+
// reverse order: children before parents.
|
|
18
|
+
// Since callbacks might update component values, which could trigger another
|
|
19
|
+
// call to flush(), the following steps guard against this:
|
|
20
|
+
// 1. During beforeUpdate, any updated components will be added to the
|
|
21
|
+
// dirty_components array and will cause a reentrant call to flush(). Because
|
|
22
|
+
// the flush index is kept outside the function, the reentrant call will pick
|
|
23
|
+
// up where the earlier call left off and go through all dirty components. The
|
|
24
|
+
// current_component value is saved and restored so that the reentrant call will
|
|
25
|
+
// not interfere with the "parent" flush() call.
|
|
26
|
+
// 2. bind:this callbacks cannot trigger new flush() calls.
|
|
27
|
+
// 3. During afterUpdate, any updated components will NOT have their afterUpdate
|
|
28
|
+
// callback called a second time; the seen_callbacks set, outside the flush()
|
|
29
|
+
// function, guarantees this behavior.
|
|
30
|
+
const O=new Set;let L=0;// Do *not* move this inside the flush() function
|
|
31
|
+
function C(){
|
|
32
|
+
// Do not reenter flush while dirty components are updated, as this can
|
|
33
|
+
// result in an infinite loop. Instead, let the inner flush handle it.
|
|
34
|
+
// Reentrancy is ok afterwards for bindings etc.
|
|
35
|
+
if(0!==L)return;const t=s;do{
|
|
36
|
+
// first, call beforeUpdate functions
|
|
37
|
+
// and update components
|
|
38
|
+
try{for(;L<A.length;){const t=A[L];L++,_(t),x(t.$$)}}catch(t){
|
|
39
|
+
// reset dirty state to not end up in a deadlocked state and then rethrow
|
|
40
|
+
throw A.length=0,L=0,t}for(_(null),A.length=0,L=0;B.length;)B.pop()();
|
|
41
|
+
// then, once components are updated, call
|
|
42
|
+
// afterUpdate functions. This may cause
|
|
43
|
+
// subsequent updates...
|
|
44
|
+
for(let t=0;t<S.length;t+=1){const e=S[t];O.has(e)||(
|
|
45
|
+
// ...so guard against infinite loops
|
|
46
|
+
O.add(e),e())}S.length=0}while(A.length);for(;H.length;)H.pop()();P=!1,O.clear(),_(t)}function x(t){if(null!==t.fragment){t.update(),n(t.before_update);const e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),t.after_update.forEach(I)}}
|
|
47
|
+
/**
|
|
48
|
+
* Useful for example to execute remaining `afterUpdate` callbacks before executing `destroy`.
|
|
49
|
+
*/const M=new Set;function R(t,e){const r=t.$$;null!==r.fragment&&(!function(t){const e=[],r=[];S.forEach((n=>-1===t.indexOf(n)?e.push(n):r.push(n))),r.forEach((t=>t())),S=e}(r.after_update),n(r.on_destroy),r.fragment&&r.fragment.d(e),
|
|
50
|
+
// TODO null out other refs, including component.$$ (but need to
|
|
51
|
+
// preserve final state?)
|
|
52
|
+
r.on_destroy=r.fragment=null,r.ctx=[])}function U(t,e){-1===t.$$.dirty[0]&&(A.push(t),P||(P=!0,N.then(C)),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function D(o,a,c,l,u,h,p,d=[-1]){const m=s;_(o);const g=o.$$={fragment:null,ctx:[],
|
|
53
|
+
// state
|
|
54
|
+
props:h,update:t,not_equal:u,bound:r(),
|
|
55
|
+
// lifecycle
|
|
56
|
+
on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(a.context||(m?m.$$.context:[])),
|
|
57
|
+
// everything else
|
|
58
|
+
callbacks:r(),dirty:d,skip_bound:!1,root:a.target||m.$$.root};p&&p(g.root);let y=!1;if(g.ctx=c?c(o,a.props||{},((t,e,...r)=>{const n=r.length?r[0]:e;return g.ctx&&u(g.ctx[t],g.ctx[t]=n)&&(!g.skip_bound&&g.bound[t]&&g.bound[t](n),y&&U(o,t)),e})):[],g.update(),y=!0,n(g.before_update),
|
|
59
|
+
// `false` as a special case of no DOM component
|
|
60
|
+
g.fragment=!!l&&l(g.ctx),a.target){if(a.hydrate){const t=function(t){return Array.from(t.childNodes)}(a.target);
|
|
61
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
62
|
+
g.fragment&&g.fragment.l(t),t.forEach(f)}else
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
64
|
+
g.fragment&&g.fragment.c();a.intro&&((b=o.$$.fragment)&&b.i&&(M.delete(b),b.i(v))),function(t,r,o,a){const{fragment:s,after_update:c}=t.$$;s&&s.m(r,o),a||
|
|
65
|
+
// onMount happens before the initial afterUpdate
|
|
66
|
+
I((()=>{const r=t.$$.on_mount.map(e).filter(i);
|
|
67
|
+
// if the component was destroyed immediately
|
|
68
|
+
// it will update the `$$.on_destroy` reference to `null`.
|
|
69
|
+
// the destructured on_destroy may still reference to the old array
|
|
70
|
+
t.$$.on_destroy?t.$$.on_destroy.push(...r):
|
|
71
|
+
// Edge case - component was destroyed immediately,
|
|
72
|
+
// most likely as a result of a binding initialising
|
|
73
|
+
n(r),t.$$.on_mount=[]})),c.forEach(I)}(o,a.target,a.anchor,a.customElement),C()}var b,v;_(m)}let F;"function"==typeof HTMLElement&&(F=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const{on_mount:t}=this.$$;this.$$.on_disconnect=t.map(e).filter(i);
|
|
74
|
+
// @ts-ignore todo: improve typings
|
|
75
|
+
for(const t in this.$$.slotted)
|
|
76
|
+
// @ts-ignore todo: improve typings
|
|
77
|
+
this.appendChild(this.$$.slotted[t])}attributeChangedCallback(t,e,r){this[t]=r}disconnectedCallback(){n(this.$$.on_disconnect)}$destroy(){R(this,1),this.$destroy=t}$on(e,r){
|
|
78
|
+
// TODO should this delegate to addEventListener?
|
|
79
|
+
if(!i(r))return t;const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(r),()=>{const t=n.indexOf(r);-1!==t&&n.splice(t,1)}}$set(t){var e;this.$$set&&(e=t,0!==Object.keys(e).length)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}})
|
|
80
|
+
/* eslint-disable no-prototype-builtins */;var G="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||
|
|
81
|
+
// eslint-disable-next-line no-undef
|
|
82
|
+
"undefined"!=typeof global&&global||{},k="URLSearchParams"in G,$="Symbol"in G&&"iterator"in Symbol,j="FileReader"in G&&"Blob"in G&&function(){try{return new Blob,!0}catch(t){return!1}}(),V="FormData"in G,X="ArrayBuffer"in G;if(X)var W=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],z=ArrayBuffer.isView||function(t){return t&&W.indexOf(Object.prototype.toString.call(t))>-1};function K(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function Y(t){return"string"!=typeof t&&(t=String(t)),t}
|
|
83
|
+
// Build a destructive iterator for the value list
|
|
84
|
+
function Z(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return $&&(e[Symbol.iterator]=function(){return e}),e}function q(t){this.map={},t instanceof q?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function J(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function Q(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function tt(t){var e=new FileReader,r=Q(e);return e.readAsArrayBuffer(t),r}function et(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function rt(){return this.bodyUsed=!1,this._initBody=function(t){var e;
|
|
85
|
+
/*
|
|
86
|
+
fetch-mock wraps the Response object in an ES6 Proxy to
|
|
87
|
+
provide useful test harness features such as flush. However, on
|
|
88
|
+
ES5 browsers without fetch or Proxy support pollyfills must be used;
|
|
89
|
+
the proxy-pollyfill is unable to proxy an attribute unless it exists
|
|
90
|
+
on the object before the Proxy is created. This change ensures
|
|
91
|
+
Response.bodyUsed exists on the instance, while maintaining the
|
|
92
|
+
semantic of setting Request.bodyUsed in the constructor before
|
|
93
|
+
_initBody is called.
|
|
94
|
+
*/
|
|
95
|
+
// eslint-disable-next-line no-self-assign
|
|
96
|
+
this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:j&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:V&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:k&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():X&&j&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=et(t.buffer),
|
|
97
|
+
// IE 10-11 can't handle a DataView body.
|
|
98
|
+
this._bodyInit=new Blob([this._bodyArrayBuffer])):X&&(ArrayBuffer.prototype.isPrototypeOf(t)||z(t))?this._bodyArrayBuffer=et(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):k&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},j&&(this.blob=function(){var t=J(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t=J(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(j)return this.blob().then(tt);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,e,r,n,i,o=J(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=Q(e),n=/charset=([A-Za-z0-9_-]+)/.exec(t.type),i=n?n[1]:"utf-8",e.readAsText(t,i),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n<e.length;n++)r[n]=String.fromCharCode(e[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},V&&(this.formData=function(){return this.text().then(ot)}),this.json=function(){return this.text().then(JSON.parse)},this}
|
|
99
|
+
// HTTP methods whose capitalization should be normalized
|
|
100
|
+
q.prototype.append=function(t,e){t=K(t),e=Y(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},q.prototype.delete=function(t){delete this.map[K(t)]},q.prototype.get=function(t){return t=K(t),this.has(t)?this.map[t]:null},q.prototype.has=function(t){return this.map.hasOwnProperty(K(t))},q.prototype.set=function(t,e){this.map[K(t)]=Y(e)},q.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},q.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),Z(t)},q.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),Z(t)},q.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),Z(t)},$&&(q.prototype[Symbol.iterator]=q.prototype.entries);var nt=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function it(t,e){if(!(this instanceof it))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,n,i=(e=e||{}).body;if(t instanceof it){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new q(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,i||null==t._bodyInit||(i=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new q(e.headers)),this.method=(r=e.method||this.method||"GET",n=r.toUpperCase(),nt.indexOf(n)>-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal||function(){if("AbortController"in G)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(i),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==e.cache&&"no-cache"!==e.cache)){
|
|
101
|
+
// Search for a '_' parameter in the query string
|
|
102
|
+
var o=/([?&])_=[^&]*/;if(o.test(this.url))
|
|
103
|
+
// If it already exists then set the value with the current time
|
|
104
|
+
this.url=this.url.replace(o,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function ot(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(i))}})),e}function at(t,e){if(!(this instanceof at))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new q(e.headers),this.url=e.url||"",this._initBody(t)}it.prototype.clone=function(){return new it(this,{body:this._bodyInit})},rt.call(it.prototype),rt.call(at.prototype),at.prototype.clone=function(){return new at(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new q(this.headers),url:this.url})},at.error=function(){var t=new at(null,{status:200,statusText:""});return t.status=0,t.type="error",t};var st=[301,302,303,307,308];at.redirect=function(t,e){if(-1===st.indexOf(e))throw new RangeError("Invalid status code");return new at(null,{status:e,headers:{location:t}})};var ct=G.DOMException;try{new ct}catch(t){(ct=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),ct.prototype.constructor=ct}function lt(t,e){return new Promise((function(r,n){var i=new it(t,e);if(i.signal&&i.signal.aborted)return n(new ct("Aborted","AbortError"));var o=new XMLHttpRequest;function a(){o.abort()}if(o.onload=function(){var t,e,n={statusText:o.statusText,headers:(t=o.getAllResponseHeaders()||"",e=new q,
|
|
105
|
+
// Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill
|
|
106
|
+
// https://github.com/github/fetch/issues/748
|
|
107
|
+
// https://github.com/zloirock/core-js/issues/751
|
|
108
|
+
t.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t})).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();try{e.append(n,i)}catch(t){console.warn("Response "+t.message)}}})),e)};
|
|
109
|
+
// This check if specifically for when a user fetches a file locally from the file system
|
|
110
|
+
// Only if the status is out of a normal range
|
|
111
|
+
i.url.startsWith("file://")&&(o.status<200||o.status>599)?n.status=200:n.status=o.status,n.url="responseURL"in o?o.responseURL:n.headers.get("X-Request-URL");var a="response"in o?o.response:o.responseText;setTimeout((function(){r(new at(a,n))}),0)},o.onerror=function(){setTimeout((function(){n(new TypeError("Network request failed"))}),0)},o.ontimeout=function(){setTimeout((function(){n(new TypeError("Network request timed out"))}),0)},o.onabort=function(){setTimeout((function(){n(new ct("Aborted","AbortError"))}),0)},o.open(i.method,function(t){try{return""===t&&G.location.href?G.location.href:t}catch(e){return t}}(i.url),!0),"include"===i.credentials?o.withCredentials=!0:"omit"===i.credentials&&(o.withCredentials=!1),"responseType"in o&&(j?o.responseType="blob":X&&(o.responseType="arraybuffer")),e&&"object"==typeof e.headers&&!(e.headers instanceof q||G.Headers&&e.headers instanceof G.Headers)){var s=[];Object.getOwnPropertyNames(e.headers).forEach((function(t){s.push(K(t)),o.setRequestHeader(t,Y(e.headers[t]))})),i.headers.forEach((function(t,e){-1===s.indexOf(e)&&o.setRequestHeader(e,t)}))}else i.headers.forEach((function(t,e){o.setRequestHeader(e,t)}));i.signal&&(i.signal.addEventListener("abort",a),o.onreadystatechange=function(){
|
|
112
|
+
// DONE (success or failure)
|
|
113
|
+
4===o.readyState&&i.signal.removeEventListener("abort",a)}),o.send(void 0===i._bodyInit?null:i._bodyInit)}))}lt.polyfill=!0,G.fetch||(G.fetch=lt,G.Headers=q,G.Request=it,G.Response=at),
|
|
114
|
+
// the whatwg-fetch polyfill installs the fetch() function
|
|
115
|
+
// on the global object (window or self)
|
|
116
|
+
// Return that as the export for use in Webpack, Browserify etc.
|
|
117
|
+
self.fetch.bind(self);
|
|
118
|
+
/******************************************************************************
|
|
119
|
+
Copyright (c) Microsoft Corporation.
|
|
120
|
+
|
|
121
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
122
|
+
purpose with or without fee is hereby granted.
|
|
123
|
+
|
|
124
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
125
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
126
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
127
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
128
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
129
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
130
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
131
|
+
***************************************************************************** */
|
|
132
|
+
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
133
|
+
var ut=function(t,e){return ut=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},ut(t,e)};function ht(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}ut(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function ft(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function pt(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,i,o=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}function dt(t,e,r){if(r||2===arguments.length)for(var n,i=0,o=e.length;i<o;i++)!n&&i in e||(n||(n=Array.prototype.slice.call(e,0,i)),n[i]=e[i]);return t.concat(n||Array.prototype.slice.call(e))}function mt(t){return"function"==typeof t}function gt(t){var e=t((function(t){Error.call(t),t.stack=(new Error).stack}));return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}"function"==typeof SuppressedError&&SuppressedError;var yt=gt((function(t){return function(e){t(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map((function(t,e){return e+1+") "+t.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=e}}));function bt(t,e){if(t){var r=t.indexOf(e);0<=r&&t.splice(r,1)}}var vt=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var t,e,r,n,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=ft(o),s=a.next();!s.done;s=a.next()){s.value.remove(this)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(e=a.return)&&e.call(a)}finally{if(t)throw t.error}}else o.remove(this);var c=this.initialTeardown;if(mt(c))try{c()}catch(t){i=t instanceof yt?t.errors:[t]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=ft(l),h=u.next();!h.done;h=u.next()){var f=h.value;try{_t(f)}catch(t){i=null!=i?i:[],t instanceof yt?i=dt(dt([],pt(i)),pt(t.errors)):i.push(t)}}}catch(t){r={error:t}}finally{try{h&&!h.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}}if(i)throw new yt(i)}},t.prototype.add=function(e){var r;if(e&&e!==this)if(this.closed)_t(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=null!==(r=this._finalizers)&&void 0!==r?r:[]).push(e)}},t.prototype._hasParent=function(t){var e=this._parentage;return e===t||Array.isArray(e)&&e.includes(t)},t.prototype._addParent=function(t){var e=this._parentage;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t},t.prototype._removeParent=function(t){var e=this._parentage;e===t?this._parentage=null:Array.isArray(e)&&bt(e,t)},t.prototype.remove=function(e){var r=this._finalizers;r&&bt(r,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),Et=vt.EMPTY;function wt(t){return t instanceof vt||t&&"closed"in t&&mt(t.remove)&&mt(t.add)&&mt(t.unsubscribe)}function _t(t){mt(t)?t():t.unsubscribe()}var Tt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},At={setTimeout:function(t,e){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var i=At.delegate;return(null==i?void 0:i.setTimeout)?i.setTimeout.apply(i,dt([t,e],pt(r))):setTimeout.apply(void 0,dt([t,e],pt(r)))},clearTimeout:function(t){var e=At.delegate;return((null==e?void 0:e.clearTimeout)||clearTimeout)(t)},delegate:void 0};function Bt(){}var St=null;function Ht(t){if(Tt.useDeprecatedSynchronousErrorHandling){var e=!St;if(e&&(St={errorThrown:!1,error:null}),t(),e){var r=St,n=r.errorThrown,i=r.error;if(St=null,n)throw i}}else t()}var Nt=function(t){function e(e){var r=t.call(this)||this;return r.isStopped=!1,e?(r.destination=e,wt(e)&&e.add(r)):r.destination=xt,r}return ht(e,t),e.create=function(t,e,r){return new Lt(t,e,r)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(vt),Pt=Function.prototype.bind;function It(t,e){return Pt.call(t,e)}var Ot=function(){function t(t){this.partialObserver=t}return t.prototype.next=function(t){var e=this.partialObserver;if(e.next)try{e.next(t)}catch(t){Ct(t)}},t.prototype.error=function(t){var e=this.partialObserver;if(e.error)try{e.error(t)}catch(t){Ct(t)}else Ct(t)},t.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(t){Ct(t)}},t}(),Lt=function(t){function e(e,r,n){var i,o,a=t.call(this)||this;mt(e)||!e?i={next:null!=e?e:void 0,error:null!=r?r:void 0,complete:null!=n?n:void 0}:a&&Tt.useDeprecatedNextContext?((o=Object.create(e)).unsubscribe=function(){return a.unsubscribe()},i={next:e.next&&It(e.next,o),error:e.error&&It(e.error,o),complete:e.complete&&It(e.complete,o)}):i=e;return a.destination=new Ot(i),a}return ht(e,t),e}(Nt);function Ct(t){var e;e=t,At.setTimeout((function(){throw e}))}var xt={closed:!0,next:Bt,error:function(t){throw t},complete:Bt},Mt="function"==typeof Symbol&&Symbol.observable||"@@observable";function Rt(t){return t}var Ut=function(){function t(t){t&&(this._subscribe=t)}return t.prototype.lift=function(e){var r=new t;return r.source=this,r.operator=e,r},t.prototype.subscribe=function(t,e,r){var n,i=this,o=(n=t)&&n instanceof Nt||function(t){return t&&mt(t.next)&&mt(t.error)&&mt(t.complete)}(n)&&wt(n)?t:new Lt(t,e,r);return Ht((function(){var t=i,e=t.operator,r=t.source;o.add(e?e.call(o,r):r?i._subscribe(o):i._trySubscribe(o))})),o},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.error(e)}},t.prototype.forEach=function(t,e){var r=this;return new(e=Dt(e))((function(e,n){var i=new Lt({next:function(e){try{t(e)}catch(t){n(t),i.unsubscribe()}},error:n,complete:e});r.subscribe(i)}))},t.prototype._subscribe=function(t){var e;return null===(e=this.source)||void 0===e?void 0:e.subscribe(t)},t.prototype[Mt]=function(){return this},t.prototype.pipe=function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return(0===(t=e).length?Rt:1===t.length?t[0]:function(e){return t.reduce((function(t,e){return e(t)}),e)})(this)},t.prototype.toPromise=function(t){var e=this;return new(t=Dt(t))((function(t,r){var n;e.subscribe((function(t){return n=t}),(function(t){return r(t)}),(function(){return t(n)}))}))},t.create=function(e){return new t(e)},t}();function Dt(t){var e;return null!==(e=null!=t?t:Tt.Promise)&&void 0!==e?e:Promise}var Ft=gt((function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})),Gt=function(t){function e(){var e=t.call(this)||this;return e.closed=!1,e.currentObservers=null,e.observers=[],e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return ht(e,t),e.prototype.lift=function(t){var e=new kt(this,this);return e.operator=t,e},e.prototype._throwIfClosed=function(){if(this.closed)throw new Ft},e.prototype.next=function(t){var e=this;Ht((function(){var r,n;if(e._throwIfClosed(),!e.isStopped){e.currentObservers||(e.currentObservers=Array.from(e.observers));try{for(var i=ft(e.currentObservers),o=i.next();!o.done;o=i.next()){o.value.next(t)}}catch(t){r={error:t}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}}}))},e.prototype.error=function(t){var e=this;Ht((function(){if(e._throwIfClosed(),!e.isStopped){e.hasError=e.isStopped=!0,e.thrownError=t;for(var r=e.observers;r.length;)r.shift().error(t)}}))},e.prototype.complete=function(){var t=this;Ht((function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var e=t.observers;e.length;)e.shift().complete()}}))},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(e){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,e)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var e=this,r=this,n=r.hasError,i=r.isStopped,o=r.observers;return n||i?Et:(this.currentObservers=null,o.push(t),new vt((function(){e.currentObservers=null,bt(o,t)})))},e.prototype._checkFinalizedStatuses=function(t){var e=this,r=e.hasError,n=e.thrownError,i=e.isStopped;r?t.error(n):i&&t.complete()},e.prototype.asObservable=function(){var t=new Ut;return t.source=this,t},e.create=function(t,e){return new kt(t,e)},e}(Ut),kt=function(t){function e(e,r){var n=t.call(this)||this;return n.destination=e,n.source=r,n}return ht(e,t),e.prototype.next=function(t){var e,r;null===(r=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===r||r.call(e,t)},e.prototype.error=function(t){var e,r;null===(r=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===r||r.call(e,t)},e.prototype.complete=function(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)},e.prototype._subscribe=function(t){var e,r;return null!==(r=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==r?r:Et},e}(Gt),$t={now:function(){return($t.delegate||Date).now()},delegate:void 0},jt=function(t){function e(e,r,n){void 0===e&&(e=1/0),void 0===r&&(r=1/0),void 0===n&&(n=$t);var i=t.call(this)||this;return i._bufferSize=e,i._windowTime=r,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=r===1/0,i._bufferSize=Math.max(1,e),i._windowTime=Math.max(1,r),i}return ht(e,t),e.prototype.next=function(e){var r=this,n=r.isStopped,i=r._buffer,o=r._infiniteTimeWindow,a=r._timestampProvider,s=r._windowTime;n||(i.push(e),!o&&i.push(a.now()+s)),this._trimBuffer(),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var e=this._innerSubscribe(t),r=this._infiniteTimeWindow,n=this._buffer.slice(),i=0;i<n.length&&!t.closed;i+=r?1:2)t.next(n[i]);return this._checkFinalizedStatuses(t),e},e.prototype._trimBuffer=function(){var t=this,e=t._bufferSize,r=t._timestampProvider,n=t._buffer,i=t._infiniteTimeWindow,o=(i?1:2)*e;if(e<1/0&&o<n.length&&n.splice(0,n.length-o),!i){for(var a=r.now(),s=0,c=1;c<n.length&&n[c]<=a;c+=2)s=c;s&&n.splice(0,s+1)}},e}(Gt);let Vt=[],Xt={};
|
|
134
|
+
/**
|
|
135
|
+
* @name topic
|
|
136
|
+
* @description A small wrapper over the rxjs to offer the topic method on top of it
|
|
137
|
+
* @param event [String] Event name
|
|
138
|
+
* @param step [String] How many values to be buffed for new subscribers - default 0
|
|
139
|
+
* @returns ReplaySubject
|
|
140
|
+
*/
|
|
141
|
+
const Wt=[];
|
|
142
|
+
/**
|
|
143
|
+
* Create a `Writable` store that allows both updating and reading by subscription.
|
|
144
|
+
* @param {*=}value initial value
|
|
145
|
+
* @param {StartStopNotifier=} start
|
|
146
|
+
*/
|
|
147
|
+
function zt(e,r=t){let n;const i=new Set;function a(t){if(o(e,t)&&(e=t,n)){// store is ready
|
|
148
|
+
const t=!Wt.length;for(const t of i)t[1](),Wt.push(t,e);if(t){for(let t=0;t<Wt.length;t+=2)Wt[t][0](Wt[t+1]);Wt.length=0}}}return{set:a,update:function(t){a(t(e))},subscribe:function(o,s=t){const c=[o,s];return i.add(c),1===i.size&&(n=r(a)||t),o(e),()=>{i.delete(c),0===i.size&&n&&(n(),n=null)}}}}function Kt(e,r,o){const a=!Array.isArray(e),s=a?[e]:e,c=r.length<2;return u=e=>{let o=!1;const u=[];let h=0,f=t;const p=()=>{if(h)return;f();const n=r(a?u[0]:u,e);c?e(n):f=i(n)?n:t},d=s.map(((t,e)=>l(t,(t=>{u[e]=t,h&=~(1<<e),o&&p()}),(()=>{h|=1<<e}))));return o=!0,p(),function(){n(d),f(),
|
|
149
|
+
// We need to set this to false because callbacks can still happen despite having unsubscribed:
|
|
150
|
+
// Callbacks might already be placed in the queue which doesn't know it should no longer
|
|
151
|
+
// invoke this derived store.
|
|
152
|
+
o=!1}},{subscribe:zt(o,u).subscribe};
|
|
153
|
+
/**
|
|
154
|
+
* Creates a `Readable` store that allows reading by subscription.
|
|
155
|
+
* @param value initial value
|
|
156
|
+
* @param {StartStopNotifier} [start]
|
|
157
|
+
*/
|
|
158
|
+
var u}var Yt=function(t){return function(t){return!!t&&"object"==typeof t}(t)&&!function(t){var e=Object.prototype.toString.call(t);return"[object RegExp]"===e||"[object Date]"===e||function(t){return t.$$typeof===Zt}(t)}
|
|
159
|
+
// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
|
|
160
|
+
(t)};var Zt="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function qt(t,e){return!1!==e.clone&&e.isMergeableObject(t)?re((r=t,Array.isArray(r)?[]:{}),t,e):t;var r}function Jt(t,e,r){return t.concat(e).map((function(t){return qt(t,r)}))}function Qt(t){return Object.keys(t).concat(function(t){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter((function(e){return Object.propertyIsEnumerable.call(t,e)})):[]}(t))}function te(t,e){try{return e in t}catch(t){return!1}}
|
|
161
|
+
// Protects from prototype poisoning and unexpected merging up the prototype chain.
|
|
162
|
+
function ee(t,e,r){var n={};return r.isMergeableObject(t)&&Qt(t).forEach((function(e){n[e]=qt(t[e],r)})),Qt(e).forEach((function(i){(function(t,e){return te(t,e)&&!(Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e));// and also unsafe if they're nonenumerable.
|
|
163
|
+
})(t,i)||(te(t,i)&&r.isMergeableObject(e[i])?n[i]=function(t,e){if(!e.customMerge)return re;var r=e.customMerge(t);return"function"==typeof r?r:re}(i,r)(t[i],e[i],r):n[i]=qt(e[i],r))})),n}function re(t,e,r){(r=r||{}).arrayMerge=r.arrayMerge||Jt,r.isMergeableObject=r.isMergeableObject||Yt,
|
|
164
|
+
// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()
|
|
165
|
+
// implementations can use it. The caller may not replace it.
|
|
166
|
+
r.cloneUnlessOtherwiseSpecified=qt;var n=Array.isArray(e);return n===Array.isArray(t)?n?r.arrayMerge(t,e,r):ee(t,e,r):qt(e,r)}re.all=function(t,e){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce((function(t,r){return re(t,r,e)}),{})};var ne=re,ie=function(t,e){return ie=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},ie(t,e)};function oe(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}ie(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var ae,se,ce,le=function(){return le=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var i in e=arguments[r])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},le.apply(this,arguments)};function ue(t,e,r){if(r||2===arguments.length)for(var n,i=0,o=e.length;i<o;i++)!n&&i in e||(n||(n=Array.prototype.slice.call(e,0,i)),n[i]=e[i]);return t.concat(n||Array.prototype.slice.call(e))}
|
|
167
|
+
/**
|
|
168
|
+
* Type Guards
|
|
169
|
+
*/
|
|
170
|
+
function he(t){return t.type===se.literal}function fe(t){return t.type===se.argument}function pe(t){return t.type===se.number}function de(t){return t.type===se.date}function me(t){return t.type===se.time}function ge(t){return t.type===se.select}function ye(t){return t.type===se.plural}function be(t){return t.type===se.pound}function ve(t){return t.type===se.tag}function Ee(t){return!(!t||"object"!=typeof t||t.type!==ce.number)}function we(t){return!(!t||"object"!=typeof t||t.type!==ce.dateTime)}
|
|
171
|
+
// @generated from regex-gen.ts
|
|
172
|
+
"function"==typeof SuppressedError&&SuppressedError,function(t){
|
|
173
|
+
/** Argument is unclosed (e.g. `{0`) */
|
|
174
|
+
t[t.EXPECT_ARGUMENT_CLOSING_BRACE=1]="EXPECT_ARGUMENT_CLOSING_BRACE",
|
|
175
|
+
/** Argument is empty (e.g. `{}`). */
|
|
176
|
+
t[t.EMPTY_ARGUMENT=2]="EMPTY_ARGUMENT",
|
|
177
|
+
/** Argument is malformed (e.g. `{foo!}``) */
|
|
178
|
+
t[t.MALFORMED_ARGUMENT=3]="MALFORMED_ARGUMENT",
|
|
179
|
+
/** Expect an argument type (e.g. `{foo,}`) */
|
|
180
|
+
t[t.EXPECT_ARGUMENT_TYPE=4]="EXPECT_ARGUMENT_TYPE",
|
|
181
|
+
/** Unsupported argument type (e.g. `{foo,foo}`) */
|
|
182
|
+
t[t.INVALID_ARGUMENT_TYPE=5]="INVALID_ARGUMENT_TYPE",
|
|
183
|
+
/** Expect an argument style (e.g. `{foo, number, }`) */
|
|
184
|
+
t[t.EXPECT_ARGUMENT_STYLE=6]="EXPECT_ARGUMENT_STYLE",
|
|
185
|
+
/** The number skeleton is invalid. */
|
|
186
|
+
t[t.INVALID_NUMBER_SKELETON=7]="INVALID_NUMBER_SKELETON",
|
|
187
|
+
/** The date time skeleton is invalid. */
|
|
188
|
+
t[t.INVALID_DATE_TIME_SKELETON=8]="INVALID_DATE_TIME_SKELETON",
|
|
189
|
+
/** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */
|
|
190
|
+
t[t.EXPECT_NUMBER_SKELETON=9]="EXPECT_NUMBER_SKELETON",
|
|
191
|
+
/** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */
|
|
192
|
+
t[t.EXPECT_DATE_TIME_SKELETON=10]="EXPECT_DATE_TIME_SKELETON",
|
|
193
|
+
/** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */
|
|
194
|
+
t[t.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]="UNCLOSED_QUOTE_IN_ARGUMENT_STYLE",
|
|
195
|
+
/** Missing select argument options (e.g. `{foo, select}`) */
|
|
196
|
+
t[t.EXPECT_SELECT_ARGUMENT_OPTIONS=12]="EXPECT_SELECT_ARGUMENT_OPTIONS",
|
|
197
|
+
/** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */
|
|
198
|
+
t[t.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]="EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE",
|
|
199
|
+
/** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */
|
|
200
|
+
t[t.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]="INVALID_PLURAL_ARGUMENT_OFFSET_VALUE",
|
|
201
|
+
/** Expecting a selector in `select` argument (e.g `{foo, select}`) */
|
|
202
|
+
t[t.EXPECT_SELECT_ARGUMENT_SELECTOR=15]="EXPECT_SELECT_ARGUMENT_SELECTOR",
|
|
203
|
+
/** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */
|
|
204
|
+
t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]="EXPECT_PLURAL_ARGUMENT_SELECTOR",
|
|
205
|
+
/** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */
|
|
206
|
+
t[t.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]="EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT",
|
|
207
|
+
/**
|
|
208
|
+
* Expecting a message fragment after the `plural` or `selectordinal` selector
|
|
209
|
+
* (e.g. `{foo, plural, one}`)
|
|
210
|
+
*/
|
|
211
|
+
t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]="EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT",
|
|
212
|
+
/** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */
|
|
213
|
+
t[t.INVALID_PLURAL_ARGUMENT_SELECTOR=19]="INVALID_PLURAL_ARGUMENT_SELECTOR",
|
|
214
|
+
/**
|
|
215
|
+
* Duplicate selectors in `plural` or `selectordinal` argument.
|
|
216
|
+
* (e.g. {foo, plural, one {#} one {#}})
|
|
217
|
+
*/
|
|
218
|
+
t[t.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]="DUPLICATE_PLURAL_ARGUMENT_SELECTOR",
|
|
219
|
+
/** Duplicate selectors in `select` argument.
|
|
220
|
+
* (e.g. {foo, select, apple {apple} apple {apple}})
|
|
221
|
+
*/
|
|
222
|
+
t[t.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]="DUPLICATE_SELECT_ARGUMENT_SELECTOR",
|
|
223
|
+
/** Plural or select argument option must have `other` clause. */
|
|
224
|
+
t[t.MISSING_OTHER_CLAUSE=22]="MISSING_OTHER_CLAUSE",
|
|
225
|
+
/** The tag is malformed. (e.g. `<bold!>foo</bold!>) */
|
|
226
|
+
t[t.INVALID_TAG=23]="INVALID_TAG",
|
|
227
|
+
/** The tag name is invalid. (e.g. `<123>foo</123>`) */
|
|
228
|
+
t[t.INVALID_TAG_NAME=25]="INVALID_TAG_NAME",
|
|
229
|
+
/** The closing tag does not match the opening tag. (e.g. `<bold>foo</italic>`) */
|
|
230
|
+
t[t.UNMATCHED_CLOSING_TAG=26]="UNMATCHED_CLOSING_TAG",
|
|
231
|
+
/** The opening tag has unmatched closing tag. (e.g. `<bold>foo`) */
|
|
232
|
+
t[t.UNCLOSED_TAG=27]="UNCLOSED_TAG"}(ae||(ae={})),function(t){
|
|
233
|
+
/**
|
|
234
|
+
* Raw text
|
|
235
|
+
*/
|
|
236
|
+
t[t.literal=0]="literal",
|
|
237
|
+
/**
|
|
238
|
+
* Variable w/o any format, e.g `var` in `this is a {var}`
|
|
239
|
+
*/
|
|
240
|
+
t[t.argument=1]="argument",
|
|
241
|
+
/**
|
|
242
|
+
* Variable w/ number format
|
|
243
|
+
*/
|
|
244
|
+
t[t.number=2]="number",
|
|
245
|
+
/**
|
|
246
|
+
* Variable w/ date format
|
|
247
|
+
*/
|
|
248
|
+
t[t.date=3]="date",
|
|
249
|
+
/**
|
|
250
|
+
* Variable w/ time format
|
|
251
|
+
*/
|
|
252
|
+
t[t.time=4]="time",
|
|
253
|
+
/**
|
|
254
|
+
* Variable w/ select format
|
|
255
|
+
*/
|
|
256
|
+
t[t.select=5]="select",
|
|
257
|
+
/**
|
|
258
|
+
* Variable w/ plural format
|
|
259
|
+
*/
|
|
260
|
+
t[t.plural=6]="plural",
|
|
261
|
+
/**
|
|
262
|
+
* Only possible within plural argument.
|
|
263
|
+
* This is the `#` symbol that will be substituted with the count.
|
|
264
|
+
*/
|
|
265
|
+
t[t.pound=7]="pound",
|
|
266
|
+
/**
|
|
267
|
+
* XML-like tag
|
|
268
|
+
*/
|
|
269
|
+
t[t.tag=8]="tag"}(se||(se={})),function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"}(ce||(ce={}));var _e=/[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,Te=/(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;
|
|
270
|
+
/**
|
|
271
|
+
* https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
|
|
272
|
+
* Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js
|
|
273
|
+
* with some tweaks
|
|
274
|
+
*/
|
|
275
|
+
/**
|
|
276
|
+
* Parse Date time skeleton into Intl.DateTimeFormatOptions
|
|
277
|
+
* Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
|
|
278
|
+
* @public
|
|
279
|
+
* @param skeleton skeleton string
|
|
280
|
+
*/
|
|
281
|
+
function Ae(t){var e={};return t.replace(Te,(function(t){var r=t.length;switch(t[0]){
|
|
282
|
+
// Era
|
|
283
|
+
case"G":e.era=4===r?"long":5===r?"narrow":"short";break;
|
|
284
|
+
// Year
|
|
285
|
+
case"y":e.year=2===r?"2-digit":"numeric";break;case"Y":case"u":case"U":case"r":throw new RangeError("`Y/u/U/r` (year) patterns are not supported, use `y` instead");
|
|
286
|
+
// Quarter
|
|
287
|
+
case"q":case"Q":throw new RangeError("`q/Q` (quarter) patterns are not supported");
|
|
288
|
+
// Month
|
|
289
|
+
case"M":case"L":e.month=["numeric","2-digit","short","long","narrow"][r-1];break;
|
|
290
|
+
// Week
|
|
291
|
+
case"w":case"W":throw new RangeError("`w/W` (week) patterns are not supported");case"d":e.day=["numeric","2-digit"][r-1];break;case"D":case"F":case"g":throw new RangeError("`D/F/g` (day) patterns are not supported, use `d` instead");
|
|
292
|
+
// Weekday
|
|
293
|
+
case"E":e.weekday=4===r?"short":5===r?"narrow":"short";break;case"e":if(r<4)throw new RangeError("`e..eee` (weekday) patterns are not supported");e.weekday=["short","long","narrow","short"][r-4];break;case"c":if(r<4)throw new RangeError("`c..ccc` (weekday) patterns are not supported");e.weekday=["short","long","narrow","short"][r-4];break;
|
|
294
|
+
// Period
|
|
295
|
+
case"a":// AM, PM
|
|
296
|
+
e.hour12=!0;break;case"b":// am, pm, noon, midnight
|
|
297
|
+
case"B":// flexible day periods
|
|
298
|
+
throw new RangeError("`b/B` (period) patterns are not supported, use `a` instead");
|
|
299
|
+
// Hour
|
|
300
|
+
case"h":e.hourCycle="h12",e.hour=["numeric","2-digit"][r-1];break;case"H":e.hourCycle="h23",e.hour=["numeric","2-digit"][r-1];break;case"K":e.hourCycle="h11",e.hour=["numeric","2-digit"][r-1];break;case"k":e.hourCycle="h24",e.hour=["numeric","2-digit"][r-1];break;case"j":case"J":case"C":throw new RangeError("`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead");
|
|
301
|
+
// Minute
|
|
302
|
+
case"m":e.minute=["numeric","2-digit"][r-1];break;
|
|
303
|
+
// Second
|
|
304
|
+
case"s":e.second=["numeric","2-digit"][r-1];break;case"S":case"A":throw new RangeError("`S/A` (second) patterns are not supported, use `s` instead");
|
|
305
|
+
// Zone
|
|
306
|
+
case"z":// 1..3, 4: specific non-location format
|
|
307
|
+
e.timeZoneName=r<4?"short":"long";break;case"Z":// 1..3, 4, 5: The ISO8601 varios formats
|
|
308
|
+
case"O":// 1, 4: miliseconds in day short, long
|
|
309
|
+
case"v":// 1, 4: generic non-location format
|
|
310
|
+
case"V":// 1, 2, 3, 4: time zone ID or city
|
|
311
|
+
case"X":// 1, 2, 3, 4: The ISO8601 varios formats
|
|
312
|
+
case"x":// 1, 2, 3, 4: The ISO8601 varios formats
|
|
313
|
+
throw new RangeError("`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead")}return""})),e}
|
|
314
|
+
// @generated from regex-gen.ts
|
|
315
|
+
var Be=/[\t-\r \x85\u200E\u200F\u2028\u2029]/i;var Se=/^\.(?:(0+)(\*)?|(#+)|(0+)(#+))$/g,He=/^(@+)?(\+|#+)?[rs]?$/g,Ne=/(\*)(0+)|(#+)(0+)|(0+)/g,Pe=/^(0+)$/;function Ie(t){var e={};return"r"===t[t.length-1]?e.roundingPriority="morePrecision":"s"===t[t.length-1]&&(e.roundingPriority="lessPrecision"),t.replace(He,(function(t,r,n){
|
|
316
|
+
// @@@ case
|
|
317
|
+
return"string"!=typeof n?(e.minimumSignificantDigits=r.length,e.maximumSignificantDigits=r.length):"+"===n?e.minimumSignificantDigits=r.length:"#"===r[0]?e.maximumSignificantDigits=r.length:(e.minimumSignificantDigits=r.length,e.maximumSignificantDigits=r.length+("string"==typeof n?n.length:0)),""})),e}function Oe(t){switch(t){case"sign-auto":return{signDisplay:"auto"};case"sign-accounting":case"()":return{currencySign:"accounting"};case"sign-always":case"+!":return{signDisplay:"always"};case"sign-accounting-always":case"()!":return{signDisplay:"always",currencySign:"accounting"};case"sign-except-zero":case"+?":return{signDisplay:"exceptZero"};case"sign-accounting-except-zero":case"()?":return{signDisplay:"exceptZero",currencySign:"accounting"};case"sign-never":case"+_":return{signDisplay:"never"}}}function Le(t){
|
|
318
|
+
// Engineering
|
|
319
|
+
var e;if("E"===t[0]&&"E"===t[1]?(e={notation:"engineering"},t=t.slice(2)):"E"===t[0]&&(e={notation:"scientific"},t=t.slice(1)),e){var r=t.slice(0,2);if("+!"===r?(e.signDisplay="always",t=t.slice(2)):"+?"===r&&(e.signDisplay="exceptZero",t=t.slice(2)),!Pe.test(t))throw new Error("Malformed concise eng/scientific notation");e.minimumIntegerDigits=t.length}return e}function Ce(t){var e=Oe(t);return e||{}}
|
|
320
|
+
/**
|
|
321
|
+
* https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options
|
|
322
|
+
*/function xe(t){for(var e={},r=0,n=t;r<n.length;r++){var i=n[r];switch(i.stem){case"percent":case"%":e.style="percent";continue;case"%x100":e.style="percent",e.scale=100;continue;case"currency":e.style="currency",e.currency=i.options[0];continue;case"group-off":case",_":e.useGrouping=!1;continue;case"precision-integer":case".":e.maximumFractionDigits=0;continue;case"measure-unit":case"unit":e.style="unit",e.unit=i.options[0].replace(/^(.*?)-/,"");continue;case"compact-short":case"K":e.notation="compact",e.compactDisplay="short";continue;case"compact-long":case"KK":e.notation="compact",e.compactDisplay="long";continue;case"scientific":e=le(le(le({},e),{notation:"scientific"}),i.options.reduce((function(t,e){return le(le({},t),Ce(e))}),{}));continue;case"engineering":e=le(le(le({},e),{notation:"engineering"}),i.options.reduce((function(t,e){return le(le({},t),Ce(e))}),{}));continue;case"notation-simple":e.notation="standard";continue;
|
|
323
|
+
// https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h
|
|
324
|
+
case"unit-width-narrow":e.currencyDisplay="narrowSymbol",e.unitDisplay="narrow";continue;case"unit-width-short":e.currencyDisplay="code",e.unitDisplay="short";continue;case"unit-width-full-name":e.currencyDisplay="name",e.unitDisplay="long";continue;case"unit-width-iso-code":e.currencyDisplay="symbol";continue;case"scale":e.scale=parseFloat(i.options[0]);continue;
|
|
325
|
+
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width
|
|
326
|
+
case"integer-width":if(i.options.length>1)throw new RangeError("integer-width stems only accept a single optional option");i.options[0].replace(Ne,(function(t,r,n,i,o,a){if(r)e.minimumIntegerDigits=n.length;else{if(i&&o)throw new Error("We currently do not support maximum integer digits");if(a)throw new Error("We currently do not support exact integer digits")}return""}));continue}
|
|
327
|
+
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width
|
|
328
|
+
if(Pe.test(i.stem))e.minimumIntegerDigits=i.stem.length;else if(Se.test(i.stem)){
|
|
329
|
+
// Precision
|
|
330
|
+
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision
|
|
331
|
+
// precision-integer case
|
|
332
|
+
if(i.options.length>1)throw new RangeError("Fraction-precision stems only accept a single optional option");i.stem.replace(Se,(function(t,r,n,i,o,a){
|
|
333
|
+
// .000* case (before ICU67 it was .000+)
|
|
334
|
+
return"*"===n?e.minimumFractionDigits=r.length:i&&"#"===i[0]?e.maximumFractionDigits=i.length:o&&a?(e.minimumFractionDigits=o.length,e.maximumFractionDigits=o.length+a.length):(e.minimumFractionDigits=r.length,e.maximumFractionDigits=r.length),""}));var o=i.options[0];
|
|
335
|
+
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display
|
|
336
|
+
"w"===o?e=le(le({},e),{trailingZeroDisplay:"stripIfInteger"}):o&&(e=le(le({},e),Ie(o)))}
|
|
337
|
+
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision
|
|
338
|
+
else if(He.test(i.stem))e=le(le({},e),Ie(i.stem));else{var a=Oe(i.stem);a&&(e=le(le({},e),a));var s=Le(i.stem);s&&(e=le(le({},e),s))}}return e}
|
|
339
|
+
// @generated from time-data-gen.ts
|
|
340
|
+
// prettier-ignore
|
|
341
|
+
var Me,Re={AX:["H"],BQ:["H"],CP:["H"],CZ:["H"],DK:["H"],FI:["H"],ID:["H"],IS:["H"],ML:["H"],NE:["H"],RU:["H"],SE:["H"],SJ:["H"],SK:["H"],AS:["h","H"],BT:["h","H"],DJ:["h","H"],ER:["h","H"],GH:["h","H"],IN:["h","H"],LS:["h","H"],PG:["h","H"],PW:["h","H"],SO:["h","H"],TO:["h","H"],VU:["h","H"],WS:["h","H"],"001":["H","h"],AL:["h","H","hB"],TD:["h","H","hB"],"ca-ES":["H","h","hB"],CF:["H","h","hB"],CM:["H","h","hB"],"fr-CA":["H","h","hB"],"gl-ES":["H","h","hB"],"it-CH":["H","h","hB"],"it-IT":["H","h","hB"],LU:["H","h","hB"],NP:["H","h","hB"],PF:["H","h","hB"],SC:["H","h","hB"],SM:["H","h","hB"],SN:["H","h","hB"],TF:["H","h","hB"],VA:["H","h","hB"],CY:["h","H","hb","hB"],GR:["h","H","hb","hB"],CO:["h","H","hB","hb"],DO:["h","H","hB","hb"],KP:["h","H","hB","hb"],KR:["h","H","hB","hb"],NA:["h","H","hB","hb"],PA:["h","H","hB","hb"],PR:["h","H","hB","hb"],VE:["h","H","hB","hb"],AC:["H","h","hb","hB"],AI:["H","h","hb","hB"],BW:["H","h","hb","hB"],BZ:["H","h","hb","hB"],CC:["H","h","hb","hB"],CK:["H","h","hb","hB"],CX:["H","h","hb","hB"],DG:["H","h","hb","hB"],FK:["H","h","hb","hB"],GB:["H","h","hb","hB"],GG:["H","h","hb","hB"],GI:["H","h","hb","hB"],IE:["H","h","hb","hB"],IM:["H","h","hb","hB"],IO:["H","h","hb","hB"],JE:["H","h","hb","hB"],LT:["H","h","hb","hB"],MK:["H","h","hb","hB"],MN:["H","h","hb","hB"],MS:["H","h","hb","hB"],NF:["H","h","hb","hB"],NG:["H","h","hb","hB"],NR:["H","h","hb","hB"],NU:["H","h","hb","hB"],PN:["H","h","hb","hB"],SH:["H","h","hb","hB"],SX:["H","h","hb","hB"],TA:["H","h","hb","hB"],ZA:["H","h","hb","hB"],"af-ZA":["H","h","hB","hb"],AR:["H","h","hB","hb"],CL:["H","h","hB","hb"],CR:["H","h","hB","hb"],CU:["H","h","hB","hb"],EA:["H","h","hB","hb"],"es-BO":["H","h","hB","hb"],"es-BR":["H","h","hB","hb"],"es-EC":["H","h","hB","hb"],"es-ES":["H","h","hB","hb"],"es-GQ":["H","h","hB","hb"],"es-PE":["H","h","hB","hb"],GT:["H","h","hB","hb"],HN:["H","h","hB","hb"],IC:["H","h","hB","hb"],KG:["H","h","hB","hb"],KM:["H","h","hB","hb"],LK:["H","h","hB","hb"],MA:["H","h","hB","hb"],MX:["H","h","hB","hb"],NI:["H","h","hB","hb"],PY:["H","h","hB","hb"],SV:["H","h","hB","hb"],UY:["H","h","hB","hb"],JP:["H","h","K"],AD:["H","hB"],AM:["H","hB"],AO:["H","hB"],AT:["H","hB"],AW:["H","hB"],BE:["H","hB"],BF:["H","hB"],BJ:["H","hB"],BL:["H","hB"],BR:["H","hB"],CG:["H","hB"],CI:["H","hB"],CV:["H","hB"],DE:["H","hB"],EE:["H","hB"],FR:["H","hB"],GA:["H","hB"],GF:["H","hB"],GN:["H","hB"],GP:["H","hB"],GW:["H","hB"],HR:["H","hB"],IL:["H","hB"],IT:["H","hB"],KZ:["H","hB"],MC:["H","hB"],MD:["H","hB"],MF:["H","hB"],MQ:["H","hB"],MZ:["H","hB"],NC:["H","hB"],NL:["H","hB"],PM:["H","hB"],PT:["H","hB"],RE:["H","hB"],RO:["H","hB"],SI:["H","hB"],SR:["H","hB"],ST:["H","hB"],TG:["H","hB"],TR:["H","hB"],WF:["H","hB"],YT:["H","hB"],BD:["h","hB","H"],PK:["h","hB","H"],AZ:["H","hB","h"],BA:["H","hB","h"],BG:["H","hB","h"],CH:["H","hB","h"],GE:["H","hB","h"],LI:["H","hB","h"],ME:["H","hB","h"],RS:["H","hB","h"],UA:["H","hB","h"],UZ:["H","hB","h"],XK:["H","hB","h"],AG:["h","hb","H","hB"],AU:["h","hb","H","hB"],BB:["h","hb","H","hB"],BM:["h","hb","H","hB"],BS:["h","hb","H","hB"],CA:["h","hb","H","hB"],DM:["h","hb","H","hB"],"en-001":["h","hb","H","hB"],FJ:["h","hb","H","hB"],FM:["h","hb","H","hB"],GD:["h","hb","H","hB"],GM:["h","hb","H","hB"],GU:["h","hb","H","hB"],GY:["h","hb","H","hB"],JM:["h","hb","H","hB"],KI:["h","hb","H","hB"],KN:["h","hb","H","hB"],KY:["h","hb","H","hB"],LC:["h","hb","H","hB"],LR:["h","hb","H","hB"],MH:["h","hb","H","hB"],MP:["h","hb","H","hB"],MW:["h","hb","H","hB"],NZ:["h","hb","H","hB"],SB:["h","hb","H","hB"],SG:["h","hb","H","hB"],SL:["h","hb","H","hB"],SS:["h","hb","H","hB"],SZ:["h","hb","H","hB"],TC:["h","hb","H","hB"],TT:["h","hb","H","hB"],UM:["h","hb","H","hB"],US:["h","hb","H","hB"],VC:["h","hb","H","hB"],VG:["h","hb","H","hB"],VI:["h","hb","H","hB"],ZM:["h","hb","H","hB"],BO:["H","hB","h","hb"],EC:["H","hB","h","hb"],ES:["H","hB","h","hb"],GQ:["H","hB","h","hb"],PE:["H","hB","h","hb"],AE:["h","hB","hb","H"],"ar-001":["h","hB","hb","H"],BH:["h","hB","hb","H"],DZ:["h","hB","hb","H"],EG:["h","hB","hb","H"],EH:["h","hB","hb","H"],HK:["h","hB","hb","H"],IQ:["h","hB","hb","H"],JO:["h","hB","hb","H"],KW:["h","hB","hb","H"],LB:["h","hB","hb","H"],LY:["h","hB","hb","H"],MO:["h","hB","hb","H"],MR:["h","hB","hb","H"],OM:["h","hB","hb","H"],PH:["h","hB","hb","H"],PS:["h","hB","hb","H"],QA:["h","hB","hb","H"],SA:["h","hB","hb","H"],SD:["h","hB","hb","H"],SY:["h","hB","hb","H"],TN:["h","hB","hb","H"],YE:["h","hB","hb","H"],AF:["H","hb","hB","h"],LA:["H","hb","hB","h"],CN:["H","hB","hb","h"],LV:["H","hB","hb","h"],TL:["H","hB","hb","h"],"zu-ZA":["H","hB","hb","h"],CD:["hB","H"],IR:["hB","H"],"hi-IN":["hB","h","H"],"kn-IN":["hB","h","H"],"ml-IN":["hB","h","H"],"te-IN":["hB","h","H"],KH:["hB","h","H","hb"],"ta-IN":["hB","h","hb","H"],BN:["hb","hB","h","H"],MY:["hb","hB","h","H"],ET:["hB","hb","h","H"],"gu-IN":["hB","hb","h","H"],"mr-IN":["hB","hb","h","H"],"pa-IN":["hB","hb","h","H"],TW:["hB","hb","h","H"],KE:["hB","hb","H","h"],MM:["hB","hb","H","h"],TZ:["hB","hb","H","h"],UG:["hB","hb","H","h"]};
|
|
342
|
+
/**
|
|
343
|
+
* Returns the best matching date time pattern if a date time skeleton
|
|
344
|
+
* pattern is provided with a locale. Follows the Unicode specification:
|
|
345
|
+
* https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns
|
|
346
|
+
* @param skeleton date time skeleton pattern that possibly includes j, J or C
|
|
347
|
+
* @param locale
|
|
348
|
+
*/
|
|
349
|
+
/**
|
|
350
|
+
* Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)
|
|
351
|
+
* of the given `locale` to the corresponding time pattern.
|
|
352
|
+
* @param locale
|
|
353
|
+
*/
|
|
354
|
+
function Ue(t){var e=t.hourCycle;if(void 0===e&&
|
|
355
|
+
// @ts-ignore hourCycle(s) is not identified yet
|
|
356
|
+
t.hourCycles&&
|
|
357
|
+
// @ts-ignore
|
|
358
|
+
t.hourCycles.length&&(
|
|
359
|
+
// @ts-ignore
|
|
360
|
+
e=t.hourCycles[0]),e)switch(e){case"h24":return"k";case"h23":return"H";case"h12":return"h";case"h11":return"K";default:throw new Error("Invalid hourCycle")}
|
|
361
|
+
// TODO: Once hourCycle is fully supported remove the following with data generation
|
|
362
|
+
var r,n=t.language;return"root"!==n&&(r=t.maximize().region),(Re[r||""]||Re[n||""]||Re["".concat(n,"-001")]||Re["001"])[0]}var De=new RegExp("^".concat(_e.source,"*")),Fe=new RegExp("".concat(_e.source,"*$"));function Ge(t,e){return{start:t,end:e}}
|
|
363
|
+
// #region Ponyfills
|
|
364
|
+
// Consolidate these variables up top for easier toggling during debugging
|
|
365
|
+
var ke=!!String.prototype.startsWith,$e=!!String.fromCodePoint,je=!!Object.fromEntries,Ve=!!String.prototype.codePointAt,Xe=!!String.prototype.trimStart,We=!!String.prototype.trimEnd,ze=!!Number.isSafeInteger?Number.isSafeInteger:function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t&&Math.abs(t)<=9007199254740991},Ke=!0;try{
|
|
366
|
+
/**
|
|
367
|
+
* legacy Edge or Xbox One browser
|
|
368
|
+
* Unicode flag support: supported
|
|
369
|
+
* Pattern_Syntax support: not supported
|
|
370
|
+
* See https://github.com/formatjs/formatjs/issues/2822
|
|
371
|
+
*/
|
|
372
|
+
Ke="a"===(null===(Me=rr("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu").exec("a"))||void 0===Me?void 0:Me[0])}catch(t){Ke=!1}var Ye,Ze=ke?// Native
|
|
373
|
+
function(t,e,r){return t.startsWith(e,r)}:// For IE11
|
|
374
|
+
function(t,e,r){return t.slice(r,r+e.length)===e},qe=$e?String.fromCodePoint:// IE11
|
|
375
|
+
function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var r,n="",i=t.length,o=0;i>o;){if((r=t[o++])>1114111)throw RangeError(r+" is not a valid code point");n+=r<65536?String.fromCharCode(r):String.fromCharCode(55296+((r-=65536)>>10),r%1024+56320)}return n},Je=
|
|
376
|
+
// native
|
|
377
|
+
je?Object.fromEntries:// Ponyfill
|
|
378
|
+
function(t){for(var e={},r=0,n=t;r<n.length;r++){var i=n[r],o=i[0],a=i[1];e[o]=a}return e},Qe=Ve?// Native
|
|
379
|
+
function(t,e){return t.codePointAt(e)}:// IE 11
|
|
380
|
+
function(t,e){var r=t.length;if(!(e<0||e>=r)){var n,i=t.charCodeAt(e);return i<55296||i>56319||e+1===r||(n=t.charCodeAt(e+1))<56320||n>57343?i:n-56320+(i-55296<<10)+65536}},tr=Xe?// Native
|
|
381
|
+
function(t){return t.trimStart()}:// Ponyfill
|
|
382
|
+
function(t){return t.replace(De,"")},er=We?// Native
|
|
383
|
+
function(t){return t.trimEnd()}:// Ponyfill
|
|
384
|
+
function(t){return t.replace(Fe,"")};
|
|
385
|
+
// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.
|
|
386
|
+
function rr(t,e){return new RegExp(t,e)}
|
|
387
|
+
// #endregion
|
|
388
|
+
if(Ke){
|
|
389
|
+
// Native
|
|
390
|
+
var nr=rr("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu");Ye=function(t,e){var r;return nr.lastIndex=e,null!==(r=nr.exec(t)[1])&&void 0!==r?r:""}}else
|
|
391
|
+
// IE11
|
|
392
|
+
Ye=function(t,e){for(var r=[];;){var n=Qe(t,e);if(void 0===n||ar(n)||sr(n))break;r.push(n),e+=n>=65536?2:1}return qe.apply(void 0,r)};var ir=/** @class */function(){function t(t,e){void 0===e&&(e={}),this.message=t,this.position={offset:0,line:1,column:1},this.ignoreTag=!!e.ignoreTag,this.locale=e.locale,this.requiresOtherClause=!!e.requiresOtherClause,this.shouldParseSkeletons=!!e.shouldParseSkeletons}return t.prototype.parse=function(){if(0!==this.offset())throw Error("parser can only be used once");return this.parseMessage(0,"",!1)},t.prototype.parseMessage=function(t,e,r){for(var n=[];!this.isEOF();){var i=this.char();if(123/* `{` */===i){if((o=this.parseArgument(t,r)).err)return o;n.push(o.val)}else{if(125/* `}` */===i&&t>0)break;if(35/* `#` */!==i||"plural"!==e&&"selectordinal"!==e){if(60/* `<` */===i&&!this.ignoreTag&&47===this.peek()){if(r)break;return this.error(ae.UNMATCHED_CLOSING_TAG,Ge(this.clonePosition(),this.clonePosition()))}if(60/* `<` */===i&&!this.ignoreTag&&or(this.peek()||0)){if((o=this.parseTag(t,e)).err)return o;n.push(o.val)}else{var o;if((o=this.parseLiteral(t,e)).err)return o;n.push(o.val)}}else{var a=this.clonePosition();this.bump(),n.push({type:se.pound,location:Ge(a,this.clonePosition())})}}}return{val:n,err:null}},
|
|
393
|
+
/**
|
|
394
|
+
* A tag name must start with an ASCII lower/upper case letter. The grammar is based on the
|
|
395
|
+
* [custom element name][] except that a dash is NOT always mandatory and uppercase letters
|
|
396
|
+
* are accepted:
|
|
397
|
+
*
|
|
398
|
+
* ```
|
|
399
|
+
* tag ::= "<" tagName (whitespace)* "/>" | "<" tagName (whitespace)* ">" message "</" tagName (whitespace)* ">"
|
|
400
|
+
* tagName ::= [a-z] (PENChar)*
|
|
401
|
+
* PENChar ::=
|
|
402
|
+
* "-" | "." | [0-9] | "_" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |
|
|
403
|
+
* [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |
|
|
404
|
+
* [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
|
|
405
|
+
* ```
|
|
406
|
+
*
|
|
407
|
+
* [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
|
|
408
|
+
* NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do
|
|
409
|
+
* since other tag-based engines like React allow it
|
|
410
|
+
*/
|
|
411
|
+
t.prototype.parseTag=function(t,e){var r=this.clonePosition();this.bump();// `<`
|
|
412
|
+
var n=this.parseTagName();if(this.bumpSpace(),this.bumpIf("/>"))
|
|
413
|
+
// Self closing tag
|
|
414
|
+
return{val:{type:se.literal,value:"<".concat(n,"/>"),location:Ge(r,this.clonePosition())},err:null};if(this.bumpIf(">")){var i=this.parseMessage(t+1,e,!0);if(i.err)return i;var o=i.val,a=this.clonePosition();
|
|
415
|
+
// Expecting a close tag
|
|
416
|
+
if(this.bumpIf("</")){if(this.isEOF()||!or(this.char()))return this.error(ae.INVALID_TAG,Ge(a,this.clonePosition()));var s=this.clonePosition();return n!==this.parseTagName()?this.error(ae.UNMATCHED_CLOSING_TAG,Ge(s,this.clonePosition())):(this.bumpSpace(),this.bumpIf(">")?{val:{type:se.tag,value:n,children:o,location:Ge(r,this.clonePosition())},err:null}:this.error(ae.INVALID_TAG,Ge(a,this.clonePosition())))}return this.error(ae.UNCLOSED_TAG,Ge(r,this.clonePosition()))}return this.error(ae.INVALID_TAG,Ge(r,this.clonePosition()))},
|
|
417
|
+
/**
|
|
418
|
+
* This method assumes that the caller has peeked ahead for the first tag character.
|
|
419
|
+
*/
|
|
420
|
+
t.prototype.parseTagName=function(){var t,e=this.offset();// the first tag name character
|
|
421
|
+
for(this.bump();!this.isEOF()&&(45/* '-' */===(t=this.char())||46/* '.' */===t||t>=48&&t<=57/* 0..9 */||95/* '_' */===t||t>=97&&t<=122/** a..z */||t>=65&&t<=90/* A..Z */||183==t||t>=192&&t<=214||t>=216&&t<=246||t>=248&&t<=893||t>=895&&t<=8191||t>=8204&&t<=8205||t>=8255&&t<=8256||t>=8304&&t<=8591||t>=11264&&t<=12271||t>=12289&&t<=55295||t>=63744&&t<=64975||t>=65008&&t<=65533||t>=65536&&t<=983039);)this.bump();return this.message.slice(e,this.offset())},t.prototype.parseLiteral=function(t,e){for(var r=this.clonePosition(),n="";;){var i=this.tryParseQuote(e);if(i)n+=i;else{var o=this.tryParseUnquoted(t,e);if(o)n+=o;else{var a=this.tryParseLeftAngleBracket();if(!a)break;n+=a}}}var s=Ge(r,this.clonePosition());return{val:{type:se.literal,value:n,location:s},err:null}},t.prototype.tryParseLeftAngleBracket=function(){return this.isEOF()||60/* `<` */!==this.char()||!this.ignoreTag&&(or(t=this.peek()||0)||47===t)?null:(this.bump(),"<");var t;
|
|
422
|
+
/** See `parseTag` function docs. */},
|
|
423
|
+
/**
|
|
424
|
+
* Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes
|
|
425
|
+
* a character that requires quoting (that is, "only where needed"), and works the same in
|
|
426
|
+
* nested messages as on the top level of the pattern. The new behavior is otherwise compatible.
|
|
427
|
+
*/
|
|
428
|
+
t.prototype.tryParseQuote=function(t){if(this.isEOF()||39/* `'` */!==this.char())return null;
|
|
429
|
+
// Parse escaped char following the apostrophe, or early return if there is no escaped char.
|
|
430
|
+
// Check if is valid escaped character
|
|
431
|
+
switch(this.peek()){case 39/* `'` */:
|
|
432
|
+
// double quote, should return as a single quote.
|
|
433
|
+
return this.bump(),this.bump(),"'";
|
|
434
|
+
// '{', '<', '>', '}'
|
|
435
|
+
case 123:case 60:case 62:case 125:break;case 35:// '#'
|
|
436
|
+
if("plural"===t||"selectordinal"===t)break;return null;default:return null}this.bump();// apostrophe
|
|
437
|
+
var e=[this.char()];// escaped char
|
|
438
|
+
// read chars until the optional closing apostrophe is found
|
|
439
|
+
for(this.bump();!this.isEOF();){var r=this.char();if(39/* `'` */===r){if(39/* `'` */!==this.peek()){
|
|
440
|
+
// Optional closing apostrophe.
|
|
441
|
+
this.bump();break}e.push(39),
|
|
442
|
+
// Bump one more time because we need to skip 2 characters.
|
|
443
|
+
this.bump()}else e.push(r);this.bump()}return qe.apply(void 0,e)},t.prototype.tryParseUnquoted=function(t,e){if(this.isEOF())return null;var r=this.char();return 60/* `<` */===r||123/* `{` */===r||35/* `#` */===r&&("plural"===e||"selectordinal"===e)||125/* `}` */===r&&t>0?null:(this.bump(),qe(r))},t.prototype.parseArgument=function(t,e){var r=this.clonePosition();if(this.bump(),// `{`
|
|
444
|
+
this.bumpSpace(),this.isEOF())return this.error(ae.EXPECT_ARGUMENT_CLOSING_BRACE,Ge(r,this.clonePosition()));if(125/* `}` */===this.char())return this.bump(),this.error(ae.EMPTY_ARGUMENT,Ge(r,this.clonePosition()));
|
|
445
|
+
// argument name
|
|
446
|
+
var n=this.parseIdentifierIfPossible().value;if(!n)return this.error(ae.MALFORMED_ARGUMENT,Ge(r,this.clonePosition()));if(this.bumpSpace(),this.isEOF())return this.error(ae.EXPECT_ARGUMENT_CLOSING_BRACE,Ge(r,this.clonePosition()));switch(this.char()){
|
|
447
|
+
// Simple argument: `{name}`
|
|
448
|
+
case 125/* `}` */:// `}`
|
|
449
|
+
return this.bump(),{val:{type:se.argument,
|
|
450
|
+
// value does not include the opening and closing braces.
|
|
451
|
+
value:n,location:Ge(r,this.clonePosition())},err:null};
|
|
452
|
+
// Argument with options: `{name, format, ...}`
|
|
453
|
+
case 44/* `,` */:return this.bump(),// `,`
|
|
454
|
+
this.bumpSpace(),this.isEOF()?this.error(ae.EXPECT_ARGUMENT_CLOSING_BRACE,Ge(r,this.clonePosition())):this.parseArgumentOptions(t,e,n,r);default:return this.error(ae.MALFORMED_ARGUMENT,Ge(r,this.clonePosition()))}},
|
|
455
|
+
/**
|
|
456
|
+
* Advance the parser until the end of the identifier, if it is currently on
|
|
457
|
+
* an identifier character. Return an empty string otherwise.
|
|
458
|
+
*/
|
|
459
|
+
t.prototype.parseIdentifierIfPossible=function(){var t=this.clonePosition(),e=this.offset(),r=Ye(this.message,e),n=e+r.length;return this.bumpTo(n),{value:r,location:Ge(t,this.clonePosition())}},t.prototype.parseArgumentOptions=function(t,e,r,n){var i,o=this.clonePosition(),a=this.parseIdentifierIfPossible().value,s=this.clonePosition();
|
|
460
|
+
// Parse this range:
|
|
461
|
+
// {name, type, style}
|
|
462
|
+
// ^---^
|
|
463
|
+
switch(a){case"":
|
|
464
|
+
// Expecting a style string number, date, time, plural, selectordinal, or select.
|
|
465
|
+
return this.error(ae.EXPECT_ARGUMENT_TYPE,Ge(o,s));case"number":case"date":case"time":
|
|
466
|
+
// Parse this range:
|
|
467
|
+
// {name, number, style}
|
|
468
|
+
// ^-------^
|
|
469
|
+
this.bumpSpace();var c=null;if(this.bumpIf(",")){this.bumpSpace();var l=this.clonePosition();if((y=this.parseSimpleArgStyleIfPossible()).err)return y;if(0===(p=er(y.val)).length)return this.error(ae.EXPECT_ARGUMENT_STYLE,Ge(this.clonePosition(),this.clonePosition()));c={style:p,styleLocation:Ge(l,this.clonePosition())}}if((b=this.tryParseArgumentClose(n)).err)return b;var u=Ge(n,this.clonePosition());
|
|
470
|
+
// Extract style or skeleton
|
|
471
|
+
if(c&&Ze(null==c?void 0:c.style,"::",0)){
|
|
472
|
+
// Skeleton starts with `::`.
|
|
473
|
+
var h=tr(c.style.slice(2));if("number"===a)return(y=this.parseNumberSkeletonFromString(h,c.styleLocation)).err?y:{val:{type:se.number,value:r,location:u,style:y.val},err:null};if(0===h.length)return this.error(ae.EXPECT_DATE_TIME_SKELETON,u);var f=h;
|
|
474
|
+
// Get "best match" pattern only if locale is passed, if not, let it
|
|
475
|
+
// pass as-is where `parseDateTimeSkeleton()` will throw an error
|
|
476
|
+
// for unsupported patterns.
|
|
477
|
+
this.locale&&(f=function(t,e){for(var r="",n=0;n<t.length;n++){var i=t.charAt(n);if("j"===i){for(var o=0;n+1<t.length&&t.charAt(n+1)===i;)o++,n++;var a=1+(1&o),s=o<2?1:3+(o>>1),c=Ue(e);for("H"!=c&&"k"!=c||(s=0);s-- >0;)r+="a";for(;a-- >0;)r=c+r}else r+="J"===i?"H":i}return r}(h,this.locale));var p={type:ce.dateTime,pattern:f,location:c.styleLocation,parsedOptions:this.shouldParseSkeletons?Ae(f):{}};return{val:{type:"date"===a?se.date:se.time,value:r,location:u,style:p},err:null}}
|
|
478
|
+
// Regular style or no style.
|
|
479
|
+
return{val:{type:"number"===a?se.number:"date"===a?se.date:se.time,value:r,location:u,style:null!==(i=null==c?void 0:c.style)&&void 0!==i?i:null},err:null};case"plural":case"selectordinal":case"select":
|
|
480
|
+
// Parse this range:
|
|
481
|
+
// {name, plural, options}
|
|
482
|
+
// ^---------^
|
|
483
|
+
var d=this.clonePosition();if(this.bumpSpace(),!this.bumpIf(","))return this.error(ae.EXPECT_SELECT_ARGUMENT_OPTIONS,Ge(d,le({},d)));this.bumpSpace();
|
|
484
|
+
// Parse offset:
|
|
485
|
+
// {name, plural, offset:1, options}
|
|
486
|
+
// ^-----^
|
|
487
|
+
// or the first option:
|
|
488
|
+
// {name, plural, one {...} other {...}}
|
|
489
|
+
// ^--^
|
|
490
|
+
var m=this.parseIdentifierIfPossible(),g=0;if("select"!==a&&"offset"===m.value){if(!this.bumpIf(":"))return this.error(ae.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,Ge(this.clonePosition(),this.clonePosition()));var y;if(this.bumpSpace(),(y=this.tryParseDecimalInteger(ae.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,ae.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE)).err)return y;
|
|
491
|
+
// Parse another identifier for option parsing
|
|
492
|
+
this.bumpSpace(),m=this.parseIdentifierIfPossible(),g=y.val}var b,v=this.tryParsePluralOrSelectOptions(t,a,e,m);if(v.err)return v;if((b=this.tryParseArgumentClose(n)).err)return b;var E=Ge(n,this.clonePosition());return"select"===a?{val:{type:se.select,value:r,options:Je(v.val),location:E},err:null}:{val:{type:se.plural,value:r,options:Je(v.val),offset:g,pluralType:"plural"===a?"cardinal":"ordinal",location:E},err:null};default:return this.error(ae.INVALID_ARGUMENT_TYPE,Ge(o,s))}},t.prototype.tryParseArgumentClose=function(t){
|
|
493
|
+
// Parse: {value, number, ::currency/GBP }
|
|
494
|
+
return this.isEOF()||125/* `}` */!==this.char()?this.error(ae.EXPECT_ARGUMENT_CLOSING_BRACE,Ge(t,this.clonePosition())):(this.bump(),{val:!0,err:null})},
|
|
495
|
+
/**
|
|
496
|
+
* See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659
|
|
497
|
+
*/
|
|
498
|
+
t.prototype.parseSimpleArgStyleIfPossible=function(){for(var t=0,e=this.clonePosition();!this.isEOF();){switch(this.char()){case 39/* `'` */:
|
|
499
|
+
// Treat apostrophe as quoting but include it in the style part.
|
|
500
|
+
// Find the end of the quoted literal text.
|
|
501
|
+
this.bump();var r=this.clonePosition();if(!this.bumpUntil("'"))return this.error(ae.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE,Ge(r,this.clonePosition()));this.bump();break;case 123/* `{` */:t+=1,this.bump();break;case 125/* `}` */:if(!(t>0))return{val:this.message.slice(e.offset,this.offset()),err:null};t-=1;break;default:this.bump()}}return{val:this.message.slice(e.offset,this.offset()),err:null}},t.prototype.parseNumberSkeletonFromString=function(t,e){var r=[];try{r=function(t){if(0===t.length)throw new Error("Number skeleton cannot be empty");
|
|
502
|
+
// Parse the skeleton
|
|
503
|
+
for(var e=[],r=0,n=t.split(Be).filter((function(t){return t.length>0}));r<n.length;r++){var i=n[r].split("/");if(0===i.length)throw new Error("Invalid number skeleton");for(var o=i[0],a=i.slice(1),s=0,c=a;s<c.length;s++)if(0===c[s].length)throw new Error("Invalid number skeleton");e.push({stem:o,options:a})}return e}(t)}catch(t){return this.error(ae.INVALID_NUMBER_SKELETON,e)}return{val:{type:ce.number,tokens:r,location:e,parsedOptions:this.shouldParseSkeletons?xe(r):{}},err:null}},
|
|
504
|
+
/**
|
|
505
|
+
* @param nesting_level The current nesting level of messages.
|
|
506
|
+
* This can be positive when parsing message fragment in select or plural argument options.
|
|
507
|
+
* @param parent_arg_type The parent argument's type.
|
|
508
|
+
* @param parsed_first_identifier If provided, this is the first identifier-like selector of
|
|
509
|
+
* the argument. It is a by-product of a previous parsing attempt.
|
|
510
|
+
* @param expecting_close_tag If true, this message is directly or indirectly nested inside
|
|
511
|
+
* between a pair of opening and closing tags. The nested message will not parse beyond
|
|
512
|
+
* the closing tag boundary.
|
|
513
|
+
*/
|
|
514
|
+
t.prototype.tryParsePluralOrSelectOptions=function(t,e,r,n){
|
|
515
|
+
// Parse:
|
|
516
|
+
// one {one apple}
|
|
517
|
+
// ^--^
|
|
518
|
+
for(var i,o=!1,a=[],s=new Set,c=n.value,l=n.location;;){if(0===c.length){var u=this.clonePosition();if("select"===e||!this.bumpIf("="))break;
|
|
519
|
+
// Try parse `={number}` selector
|
|
520
|
+
var h=this.tryParseDecimalInteger(ae.EXPECT_PLURAL_ARGUMENT_SELECTOR,ae.INVALID_PLURAL_ARGUMENT_SELECTOR);if(h.err)return h;l=Ge(u,this.clonePosition()),c=this.message.slice(u.offset,this.offset())}
|
|
521
|
+
// Duplicate selector clauses
|
|
522
|
+
if(s.has(c))return this.error("select"===e?ae.DUPLICATE_SELECT_ARGUMENT_SELECTOR:ae.DUPLICATE_PLURAL_ARGUMENT_SELECTOR,l);"other"===c&&(o=!0),
|
|
523
|
+
// Parse:
|
|
524
|
+
// one {one apple}
|
|
525
|
+
// ^----------^
|
|
526
|
+
this.bumpSpace();var f=this.clonePosition();if(!this.bumpIf("{"))return this.error("select"===e?ae.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT:ae.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT,Ge(this.clonePosition(),this.clonePosition()));var p=this.parseMessage(t+1,e,r);if(p.err)return p;var d=this.tryParseArgumentClose(f);if(d.err)return d;a.push([c,{value:p.val,location:Ge(f,this.clonePosition())}]),
|
|
527
|
+
// Keep track of the existing selectors
|
|
528
|
+
s.add(c),
|
|
529
|
+
// Prep next selector clause.
|
|
530
|
+
this.bumpSpace(),c=(i=this.parseIdentifierIfPossible()).value,l=i.location}return 0===a.length?this.error("select"===e?ae.EXPECT_SELECT_ARGUMENT_SELECTOR:ae.EXPECT_PLURAL_ARGUMENT_SELECTOR,Ge(this.clonePosition(),this.clonePosition())):this.requiresOtherClause&&!o?this.error(ae.MISSING_OTHER_CLAUSE,Ge(this.clonePosition(),this.clonePosition())):{val:a,err:null}},t.prototype.tryParseDecimalInteger=function(t,e){var r=1,n=this.clonePosition();this.bumpIf("+")||this.bumpIf("-")&&(r=-1);for(var i=!1,o=0;!this.isEOF();){var a=this.char();if(!(a>=48/* `0` */&&a<=57/* `9` */))break;i=!0,o=10*o+(a-48),this.bump()}var s=Ge(n,this.clonePosition());return i?ze(o*=r)?{val:o,err:null}:this.error(e,s):this.error(t,s)},t.prototype.offset=function(){return this.position.offset},t.prototype.isEOF=function(){return this.offset()===this.message.length},t.prototype.clonePosition=function(){
|
|
531
|
+
// This is much faster than `Object.assign` or spread.
|
|
532
|
+
return{offset:this.position.offset,line:this.position.line,column:this.position.column}},
|
|
533
|
+
/**
|
|
534
|
+
* Return the code point at the current position of the parser.
|
|
535
|
+
* Throws if the index is out of bound.
|
|
536
|
+
*/
|
|
537
|
+
t.prototype.char=function(){var t=this.position.offset;if(t>=this.message.length)throw Error("out of bound");var e=Qe(this.message,t);if(void 0===e)throw Error("Offset ".concat(t," is at invalid UTF-16 code unit boundary"));return e},t.prototype.error=function(t,e){return{val:null,err:{kind:t,message:this.message,location:e}}},
|
|
538
|
+
/** Bump the parser to the next UTF-16 code unit. */
|
|
539
|
+
t.prototype.bump=function(){if(!this.isEOF()){var t=this.char();10/* '\n' */===t?(this.position.line+=1,this.position.column=1,this.position.offset+=1):(this.position.column+=1,
|
|
540
|
+
// 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.
|
|
541
|
+
this.position.offset+=t<65536?1:2)}},
|
|
542
|
+
/**
|
|
543
|
+
* If the substring starting at the current position of the parser has
|
|
544
|
+
* the given prefix, then bump the parser to the character immediately
|
|
545
|
+
* following the prefix and return true. Otherwise, don't bump the parser
|
|
546
|
+
* and return false.
|
|
547
|
+
*/
|
|
548
|
+
t.prototype.bumpIf=function(t){if(Ze(this.message,t,this.offset())){for(var e=0;e<t.length;e++)this.bump();return!0}return!1},
|
|
549
|
+
/**
|
|
550
|
+
* Bump the parser until the pattern character is found and return `true`.
|
|
551
|
+
* Otherwise bump to the end of the file and return `false`.
|
|
552
|
+
*/
|
|
553
|
+
t.prototype.bumpUntil=function(t){var e=this.offset(),r=this.message.indexOf(t,e);return r>=0?(this.bumpTo(r),!0):(this.bumpTo(this.message.length),!1)},
|
|
554
|
+
/**
|
|
555
|
+
* Bump the parser to the target offset.
|
|
556
|
+
* If target offset is beyond the end of the input, bump the parser to the end of the input.
|
|
557
|
+
*/
|
|
558
|
+
t.prototype.bumpTo=function(t){if(this.offset()>t)throw Error("targetOffset ".concat(t," must be greater than or equal to the current offset ").concat(this.offset()));for(t=Math.min(t,this.message.length);;){var e=this.offset();if(e===t)break;if(e>t)throw Error("targetOffset ".concat(t," is at invalid UTF-16 code unit boundary"));if(this.bump(),this.isEOF())break}},
|
|
559
|
+
/** advance the parser through all whitespace to the next non-whitespace code unit. */
|
|
560
|
+
t.prototype.bumpSpace=function(){for(;!this.isEOF()&&ar(this.char());)this.bump()},
|
|
561
|
+
/**
|
|
562
|
+
* Peek at the *next* Unicode codepoint in the input without advancing the parser.
|
|
563
|
+
* If the input has been exhausted, then this returns null.
|
|
564
|
+
*/
|
|
565
|
+
t.prototype.peek=function(){if(this.isEOF())return null;var t=this.char(),e=this.offset(),r=this.message.charCodeAt(e+(t>=65536?2:1));return null!=r?r:null},t}();
|
|
566
|
+
/**
|
|
567
|
+
* This check if codepoint is alphabet (lower & uppercase)
|
|
568
|
+
* @param codepoint
|
|
569
|
+
* @returns
|
|
570
|
+
*/function or(t){return t>=97&&t<=122||t>=65&&t<=90}
|
|
571
|
+
/**
|
|
572
|
+
* Code point equivalent of regex `\p{White_Space}`.
|
|
573
|
+
* From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt
|
|
574
|
+
*/
|
|
575
|
+
function ar(t){return t>=9&&t<=13||32===t||133===t||t>=8206&&t<=8207||8232===t||8233===t}
|
|
576
|
+
/**
|
|
577
|
+
* Code point equivalent of regex `\p{Pattern_Syntax}`.
|
|
578
|
+
* See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt
|
|
579
|
+
*/function sr(t){return t>=33&&t<=35||36===t||t>=37&&t<=39||40===t||41===t||42===t||43===t||44===t||45===t||t>=46&&t<=47||t>=58&&t<=59||t>=60&&t<=62||t>=63&&t<=64||91===t||92===t||93===t||94===t||96===t||123===t||124===t||125===t||126===t||161===t||t>=162&&t<=165||166===t||167===t||169===t||171===t||172===t||174===t||176===t||177===t||182===t||187===t||191===t||215===t||247===t||t>=8208&&t<=8213||t>=8214&&t<=8215||8216===t||8217===t||8218===t||t>=8219&&t<=8220||8221===t||8222===t||8223===t||t>=8224&&t<=8231||t>=8240&&t<=8248||8249===t||8250===t||t>=8251&&t<=8254||t>=8257&&t<=8259||8260===t||8261===t||8262===t||t>=8263&&t<=8273||8274===t||8275===t||t>=8277&&t<=8286||t>=8592&&t<=8596||t>=8597&&t<=8601||t>=8602&&t<=8603||t>=8604&&t<=8607||8608===t||t>=8609&&t<=8610||8611===t||t>=8612&&t<=8613||8614===t||t>=8615&&t<=8621||8622===t||t>=8623&&t<=8653||t>=8654&&t<=8655||t>=8656&&t<=8657||8658===t||8659===t||8660===t||t>=8661&&t<=8691||t>=8692&&t<=8959||t>=8960&&t<=8967||8968===t||8969===t||8970===t||8971===t||t>=8972&&t<=8991||t>=8992&&t<=8993||t>=8994&&t<=9e3||9001===t||9002===t||t>=9003&&t<=9083||9084===t||t>=9085&&t<=9114||t>=9115&&t<=9139||t>=9140&&t<=9179||t>=9180&&t<=9185||t>=9186&&t<=9254||t>=9255&&t<=9279||t>=9280&&t<=9290||t>=9291&&t<=9311||t>=9472&&t<=9654||9655===t||t>=9656&&t<=9664||9665===t||t>=9666&&t<=9719||t>=9720&&t<=9727||t>=9728&&t<=9838||9839===t||t>=9840&&t<=10087||10088===t||10089===t||10090===t||10091===t||10092===t||10093===t||10094===t||10095===t||10096===t||10097===t||10098===t||10099===t||10100===t||10101===t||t>=10132&&t<=10175||t>=10176&&t<=10180||10181===t||10182===t||t>=10183&&t<=10213||10214===t||10215===t||10216===t||10217===t||10218===t||10219===t||10220===t||10221===t||10222===t||10223===t||t>=10224&&t<=10239||t>=10240&&t<=10495||t>=10496&&t<=10626||10627===t||10628===t||10629===t||10630===t||10631===t||10632===t||10633===t||10634===t||10635===t||10636===t||10637===t||10638===t||10639===t||10640===t||10641===t||10642===t||10643===t||10644===t||10645===t||10646===t||10647===t||10648===t||t>=10649&&t<=10711||10712===t||10713===t||10714===t||10715===t||t>=10716&&t<=10747||10748===t||10749===t||t>=10750&&t<=11007||t>=11008&&t<=11055||t>=11056&&t<=11076||t>=11077&&t<=11078||t>=11079&&t<=11084||t>=11085&&t<=11123||t>=11124&&t<=11125||t>=11126&&t<=11157||11158===t||t>=11159&&t<=11263||t>=11776&&t<=11777||11778===t||11779===t||11780===t||11781===t||t>=11782&&t<=11784||11785===t||11786===t||11787===t||11788===t||11789===t||t>=11790&&t<=11798||11799===t||t>=11800&&t<=11801||11802===t||11803===t||11804===t||11805===t||t>=11806&&t<=11807||11808===t||11809===t||11810===t||11811===t||11812===t||11813===t||11814===t||11815===t||11816===t||11817===t||t>=11818&&t<=11822||11823===t||t>=11824&&t<=11833||t>=11834&&t<=11835||t>=11836&&t<=11839||11840===t||11841===t||11842===t||t>=11843&&t<=11855||t>=11856&&t<=11857||11858===t||t>=11859&&t<=11903||t>=12289&&t<=12291||12296===t||12297===t||12298===t||12299===t||12300===t||12301===t||12302===t||12303===t||12304===t||12305===t||t>=12306&&t<=12307||12308===t||12309===t||12310===t||12311===t||12312===t||12313===t||12314===t||12315===t||12316===t||12317===t||t>=12318&&t<=12319||12320===t||12336===t||64830===t||64831===t||t>=65093&&t<=65094}function cr(t){t.forEach((function(t){if(delete t.location,ge(t)||ye(t))for(var e in t.options)delete t.options[e].location,cr(t.options[e].value);else pe(t)&&Ee(t.style)||(de(t)||me(t))&&we(t.style)?delete t.style.location:ve(t)&&cr(t.children)}))}function lr(t,e){void 0===e&&(e={}),e=le({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var r=new ir(t,e).parse();if(r.err){var n=SyntaxError(ae[r.err.kind]);
|
|
580
|
+
// @ts-expect-error Assign to error object
|
|
581
|
+
throw n.location=r.err.location,
|
|
582
|
+
// @ts-expect-error Assign to error object
|
|
583
|
+
n.originalMessage=r.err.message,n}return(null==e?void 0:e.captureLocation)||cr(r.val),r.val}
|
|
584
|
+
|
|
585
|
+
// Main
|
|
586
|
+
|
|
587
|
+
function ur(t,e){var r=e&&e.cache?e.cache:br,n=e&&e.serializer?e.serializer:mr;return(e&&e.strategy?e.strategy:dr)(t,{cache:r,serializer:n})}
|
|
588
|
+
|
|
589
|
+
// Strategy
|
|
590
|
+
|
|
591
|
+
function hr(t,e,r,n){var i,o=null==(i=n)||"number"==typeof i||"boolean"==typeof i?n:r(n),a=e.get(o);return void 0===a&&(a=t.call(this,n),e.set(o,a)),a}function fr(t,e,r){var n=Array.prototype.slice.call(arguments,3),i=r(n),o=e.get(i);return void 0===o&&(o=t.apply(this,n),e.set(i,o)),o}function pr(t,e,r,n,i){return r.bind(e,t,n,i)}function dr(t,e){return pr(t,this,1===t.length?hr:fr,e.cache.create(),e.serializer)}
|
|
592
|
+
// Serializer
|
|
593
|
+
var mr=function(){return JSON.stringify(arguments)};
|
|
594
|
+
|
|
595
|
+
// Cache
|
|
596
|
+
|
|
597
|
+
function gr(){this.cache=Object.create(null)}gr.prototype.get=function(t){return this.cache[t]},gr.prototype.set=function(t,e){this.cache[t]=e};var yr,br={create:function(){
|
|
598
|
+
// @ts-ignore
|
|
599
|
+
return new gr}},vr={variadic:function(t,e){return pr(t,this,fr,e.cache.create(),e.serializer)},monadic:function(t,e){return pr(t,this,hr,e.cache.create(),e.serializer)}};!function(t){
|
|
600
|
+
// When we have a placeholder but no value to format
|
|
601
|
+
t.MISSING_VALUE="MISSING_VALUE",
|
|
602
|
+
// When value supplied is invalid
|
|
603
|
+
t.INVALID_VALUE="INVALID_VALUE",
|
|
604
|
+
// When we need specific Intl API but it's not available
|
|
605
|
+
t.MISSING_INTL_API="MISSING_INTL_API"}(yr||(yr={}));var Er,wr=/** @class */function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.code=r,i.originalMessage=n,i}return oe(e,t),e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e}(Error),_r=/** @class */function(t){function e(e,r,n,i){return t.call(this,'Invalid values for "'.concat(e,'": "').concat(r,'". Options are "').concat(Object.keys(n).join('", "'),'"'),yr.INVALID_VALUE,i)||this}return oe(e,t),e}(wr),Tr=/** @class */function(t){function e(e,r,n){return t.call(this,'Value for "'.concat(e,'" must be of type ').concat(r),yr.INVALID_VALUE,n)||this}return oe(e,t),e}(wr),Ar=/** @class */function(t){function e(e,r){return t.call(this,'The intl string context variable "'.concat(e,'" was not provided to the string "').concat(r,'"'),yr.MISSING_VALUE,r)||this}return oe(e,t),e}(wr);function Br(t){return"function"==typeof t}
|
|
606
|
+
// TODO(skeleton): add skeleton support
|
|
607
|
+
function Sr(t,e,r,n,i,o,
|
|
608
|
+
// For debugging
|
|
609
|
+
a){
|
|
610
|
+
// Hot path for straight simple msg translations
|
|
611
|
+
if(1===t.length&&he(t[0]))return[{type:Er.literal,value:t[0].value}];for(var s=[],c=0,l=t;c<l.length;c++){var u=l[c];
|
|
612
|
+
// Exit early for string parts.
|
|
613
|
+
if(he(u))s.push({type:Er.literal,value:u.value});else
|
|
614
|
+
// TODO: should this part be literal type?
|
|
615
|
+
// Replace `#` in plural rules with the actual numeric value.
|
|
616
|
+
if(be(u))"number"==typeof o&&s.push({type:Er.literal,value:r.getNumberFormat(e).format(o)});else{var h=u.value;
|
|
617
|
+
// Enforce that all required values are provided by the caller.
|
|
618
|
+
if(!i||!(h in i))throw new Ar(h,a);var f=i[h];if(fe(u))f&&"string"!=typeof f&&"number"!=typeof f||(f="string"==typeof f||"number"==typeof f?String(f):""),s.push({type:"string"==typeof f?Er.literal:Er.object,value:f});else
|
|
619
|
+
// Recursively format plural and select parts' option — which can be a
|
|
620
|
+
// nested pattern structure. The choosing of the option to use is
|
|
621
|
+
// abstracted-by and delegated-to the part helper object.
|
|
622
|
+
if(de(u)){var p="string"==typeof u.style?n.date[u.style]:we(u.style)?u.style.parsedOptions:void 0;s.push({type:Er.literal,value:r.getDateTimeFormat(e,p).format(f)})}else if(me(u)){p="string"==typeof u.style?n.time[u.style]:we(u.style)?u.style.parsedOptions:n.time.medium;s.push({type:Er.literal,value:r.getDateTimeFormat(e,p).format(f)})}else if(pe(u)){(p="string"==typeof u.style?n.number[u.style]:Ee(u.style)?u.style.parsedOptions:void 0)&&p.scale&&(f*=p.scale||1),s.push({type:Er.literal,value:r.getNumberFormat(e,p).format(f)})}else{if(ve(u)){var d=u.children,m=u.value,g=i[m];if(!Br(g))throw new Tr(m,"function",a);var y=g(Sr(d,e,r,n,i,o).map((function(t){return t.value})));Array.isArray(y)||(y=[y]),s.push.apply(s,y.map((function(t){return{type:"string"==typeof t?Er.literal:Er.object,value:t}})))}if(ge(u)){if(!(b=u.options[f]||u.options.other))throw new _r(u.value,f,Object.keys(u.options),a);s.push.apply(s,Sr(b.value,e,r,n,i))}else if(ye(u)){var b;if(!(b=u.options["=".concat(f)])){if(!Intl.PluralRules)throw new wr('Intl.PluralRules is not available in this environment.\nTry polyfilling it using "@formatjs/intl-pluralrules"\n',yr.MISSING_INTL_API,a);var v=r.getPluralRules(e,{type:u.pluralType}).select(f-(u.offset||0));b=u.options[v]||u.options.other}if(!b)throw new _r(u.value,f,Object.keys(u.options),a);s.push.apply(s,Sr(b.value,e,r,n,i,f-(u.offset||0)))}else;}}}return function(t){return t.length<2?t:t.reduce((function(t,e){var r=t[t.length-1];return r&&r.type===Er.literal&&e.type===Er.literal?r.value+=e.value:t.push(e),t}),[])}(s)}
|
|
623
|
+
/*
|
|
624
|
+
Copyright (c) 2014, Yahoo! Inc. All rights reserved.
|
|
625
|
+
Copyrights licensed under the New BSD License.
|
|
626
|
+
See the accompanying LICENSE file for terms.
|
|
627
|
+
*/
|
|
628
|
+
// -- MessageFormat --------------------------------------------------------
|
|
629
|
+
function Hr(t,e){return e?Object.keys(t).reduce((function(r,n){var i,o;return r[n]=(i=t[n],(o=e[n])?le(le(le({},i||{}),o||{}),Object.keys(i).reduce((function(t,e){return t[e]=le(le({},i[e]),o[e]||{}),t}),{})):i),r}),le({},t)):t}function Nr(t){return{create:function(){return{get:function(e){return t[e]},set:function(e,r){t[e]=r}}}}}!function(t){t[t.literal=0]="literal",t[t.object=1]="object"}(Er||(Er={}));var Pr=/** @class */function(){function t(e,r,n,i){var o,a=this;if(void 0===r&&(r=t.defaultLocale),this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(t){var e=a.formatToParts(t);
|
|
630
|
+
// Hot path for straight simple msg translations
|
|
631
|
+
if(1===e.length)return e[0].value;var r=e.reduce((function(t,e){return t.length&&e.type===Er.literal&&"string"==typeof t[t.length-1]?t[t.length-1]+=e.value:t.push(e.value),t}),[]);return r.length<=1?r[0]||"":r},this.formatToParts=function(t){return Sr(a.ast,a.locales,a.formatters,a.formats,t,void 0,a.message)},this.resolvedOptions=function(){return{locale:a.resolvedLocale.toString()}},this.getAst=function(){return a.ast},
|
|
632
|
+
// Defined first because it's used to build the format pattern.
|
|
633
|
+
this.locales=r,this.resolvedLocale=t.resolveLocale(r),"string"==typeof e){if(this.message=e,!t.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");
|
|
634
|
+
// Parse string messages into an AST.
|
|
635
|
+
this.ast=t.__parse(e,{ignoreTag:null==i?void 0:i.ignoreTag,locale:this.resolvedLocale})}else this.ast=e;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");
|
|
636
|
+
// Creates a new object with the specified `formats` merged with the default
|
|
637
|
+
// formats.
|
|
638
|
+
this.formats=Hr(t.formats,n),this.formatters=i&&i.formatters||(void 0===(o=this.formatterCache)&&(o={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:ur((function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return new((t=Intl.NumberFormat).bind.apply(t,ue([void 0],e,!1)))}),{cache:Nr(o.number),strategy:vr.variadic}),getDateTimeFormat:ur((function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return new((t=Intl.DateTimeFormat).bind.apply(t,ue([void 0],e,!1)))}),{cache:Nr(o.dateTime),strategy:vr.variadic}),getPluralRules:ur((function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return new((t=Intl.PluralRules).bind.apply(t,ue([void 0],e,!1)))}),{cache:Nr(o.pluralRules),strategy:vr.variadic})})}return Object.defineProperty(t,"defaultLocale",{get:function(){return t.memoizedDefaultLocale||(t.memoizedDefaultLocale=(new Intl.NumberFormat).resolvedOptions().locale),t.memoizedDefaultLocale},enumerable:!1,configurable:!0}),t.memoizedDefaultLocale=null,t.resolveLocale=function(t){var e=Intl.NumberFormat.supportedLocalesOf(t);return e.length>0?new Intl.Locale(e[0]):new Intl.Locale("string"==typeof t?t:t[0])},t.__parse=lr,
|
|
639
|
+
// Default format options used as the prototype of the `formats` provided to the
|
|
640
|
+
// constructor. These are used when constructing the internal Intl.NumberFormat
|
|
641
|
+
// and Intl.DateTimeFormat instances.
|
|
642
|
+
t.formats={number:{integer:{maximumFractionDigits:0},currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},t}();const Ir={},Or=(t,e,r)=>r?(e in Ir||(Ir[e]={}),t in Ir[e]||(Ir[e][t]=r),r):r,Lr=(t,e)=>{if(null==e)return;if(e in Ir&&t in Ir[e])return Ir[e][t];const r=nn(e);for(let n=0;n<r.length;n++){const i=Rr(r[n],t);if(i)return Or(t,e,i)}};let Cr;const xr=zt({});function Mr(t){return t in Cr}function Rr(t,e){if(!Mr(t))return null;const r=function(t){return Cr[t]||null}(t);return function(t,e){if(null==e)return;if(e in t)return t[e];const r=e.split(".");let n=t;for(let t=0;t<r.length;t++)if("object"==typeof n){if(t>0){const e=r.slice(t,r.length).join(".");if(e in n){n=n[e];break}}n=n[r[t]]}else n=void 0;return n}(r,e)}function Ur(t,...e){delete Ir[t],xr.update((r=>(r[t]=ne.all([r[t]||{},...e]),r)))}Kt([xr],(([t])=>Object.keys(t))),xr.subscribe((t=>Cr=t));const Dr={};function Fr(t){return Dr[t]}function Gr(t){return null!=t&&nn(t).some((t=>{var e;return null==(e=Fr(t))?void 0:e.size}))}function kr(t,e){const r=Promise.all(e.map((e=>(function(t,e){Dr[t].delete(e),0===Dr[t].size&&delete Dr[t]}(t,e),e().then((t=>t.default||t))))));return r.then((e=>Ur(t,...e)))}const $r={};function jr(t){if(!Gr(t))return t in $r?$r[t]:Promise.resolve();const e=function(t){return nn(t).map((t=>{const e=Fr(t);return[t,e?[...e]:[]]})).filter((([,t])=>t.length>0))}(t);return $r[t]=Promise.all(e.map((([t,e])=>kr(t,e)))).then((()=>{if(Gr(t))return jr(t);delete $r[t]})),$r[t]}const Vr={fallbackLocale:null,loadingDelay:200,formats:{number:{scientific:{notation:"scientific"},engineering:{notation:"engineering"},compactLong:{notation:"compact",compactDisplay:"long"},compactShort:{notation:"compact",compactDisplay:"short"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},warnOnMissingMessages:!0,handleMissingMessage:void 0,ignoreTag:!0};function Xr(){return Vr}const Wr=zt(!1);var zr=Object.defineProperty,Kr=Object.defineProperties,Yr=Object.getOwnPropertyDescriptors,Zr=Object.getOwnPropertySymbols,qr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,Qr=(t,e,r)=>e in t?zr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;let tn;const en=zt(null);function rn(t){return t.split("-").map(((t,e,r)=>r.slice(0,e+1).join("-"))).reverse()}function nn(t,e=Xr().fallbackLocale){const r=rn(t);return e?[...new Set([...r,...rn(e)])]:r}function on(){return null!=tn?tn:void 0}en.subscribe((t=>{tn=null!=t?t:void 0,"undefined"!=typeof window&&null!=t&&document.documentElement.setAttribute("lang",t)}));const an=(sn=((t,e)=>{for(var r in e||(e={}))qr.call(e,r)&&Qr(t,r,e[r]);if(Zr)for(var r of Zr(e))Jr.call(e,r)&&Qr(t,r,e[r]);return t})({},en),Kr(sn,Yr({set:t=>{if(t&&function(t){if(null==t)return;const e=nn(t);for(let t=0;t<e.length;t++){const r=e[t];if(Mr(r))return r}}(t)&&Gr(t)){const{loadingDelay:e}=Xr();let r;return"undefined"!=typeof window&&null!=on()&&e?r=window.setTimeout((()=>Wr.set(!0)),e):Wr.set(!0),jr(t).then((()=>{en.set(t)})).finally((()=>{clearTimeout(r),Wr.set(!1)}))}return en.set(t)}})));var sn;const cn=t=>{const e=Object.create(null);return r=>{const n=JSON.stringify(r);return n in e?e[n]:e[n]=t(r)}};var ln=Object.defineProperty,un=Object.getOwnPropertySymbols,hn=Object.prototype.hasOwnProperty,fn=Object.prototype.propertyIsEnumerable,pn=(t,e,r)=>e in t?ln(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,dn=(t,e)=>{for(var r in e||(e={}))hn.call(e,r)&&pn(t,r,e[r]);if(un)for(var r of un(e))fn.call(e,r)&&pn(t,r,e[r]);return t},mn=(t,e)=>{var r={};for(var n in t)hn.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&un)for(var n of un(t))e.indexOf(n)<0&&fn.call(t,n)&&(r[n]=t[n]);return r};const gn=(t,e)=>{const{formats:r}=Xr();if(t in r&&e in r[t])return r[t][e];throw new Error(`[svelte-i18n] Unknown "${e}" ${t} format.`)},yn=cn((t=>{var e=t,{locale:r,format:n}=e,i=mn(e,["locale","format"]);if(null==r)throw new Error('[svelte-i18n] A "locale" must be set to format numbers');return n&&(i=gn("number",n)),new Intl.NumberFormat(r,i)})),bn=cn((t=>{var e=t,{locale:r,format:n}=e,i=mn(e,["locale","format"]);if(null==r)throw new Error('[svelte-i18n] A "locale" must be set to format dates');return n?i=gn("date",n):0===Object.keys(i).length&&(i=gn("date","short")),new Intl.DateTimeFormat(r,i)})),vn=cn((t=>{var e=t,{locale:r,format:n}=e,i=mn(e,["locale","format"]);if(null==r)throw new Error('[svelte-i18n] A "locale" must be set to format time values');return n?i=gn("time",n):0===Object.keys(i).length&&(i=gn("time","short")),new Intl.DateTimeFormat(r,i)})),En=cn((
|
|
643
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
644
|
+
(t,e=on())=>new Pr(t,e,Xr().formats,{ignoreTag:Xr().ignoreTag}))),wn=(t,e={})=>{var r,n,i,o;let a=e;"object"==typeof t&&(a=t,t=a.id);const{values:s,locale:c=on(),default:l}=a;if(null==c)throw new Error("[svelte-i18n] Cannot format a message without first setting the initial locale.");let u=Lr(t,c);if(u){if("string"!=typeof u)return console.warn(`[svelte-i18n] Message with id "${t}" must be of type "string", found: "${typeof u}". Gettin its value through the "$format" method is deprecated; use the "json" method instead.`),u}else u=null!=(o=null!=(i=null==(n=(r=Xr()).handleMissingMessage)?void 0:n.call(r,{locale:c,id:t,defaultValue:l}))?i:l)?o:t;if(!s)return u;let h=u;try{h=En(u,c).format(s)}catch(e){e instanceof Error&&console.warn(`[svelte-i18n] Message "${t}" has syntax error:`,e.message)}return h},_n=(t,e)=>((t={})=>{var e=t,{locale:r=on()}=e,n=mn(e,["locale"]);return vn(dn({locale:r},n))})(e).format(t),Tn=(t,e)=>((t={})=>{var e=t,{locale:r=on()}=e,n=mn(e,["locale"]);return bn(dn({locale:r},n))})(e).format(t),An=(t,e)=>((t={})=>{var e=t,{locale:r=on()}=e,n=mn(e,["locale"]);return yn(dn({locale:r},n))})(e).format(t),Bn=(t,e=on())=>Lr(t,e),Sn=Kt([an,xr],(()=>wn));Kt([an],(()=>_n)),Kt([an],(()=>Tn)),Kt([an],(()=>An)),Kt([an,xr],(()=>Bn)),window.emWidgets={topic:(t,e=0)=>{if(-1==Vt.indexOf(t)){let r=new jt(e);Xt[t]=r,Vt.push(t)}return Xt[t]}};
|
|
645
|
+
/**
|
|
646
|
+
* @name getDevice
|
|
647
|
+
* @description A method that returns the type of the device
|
|
648
|
+
* @param {String} userAgent window.navigator.userAgent
|
|
649
|
+
* @returns {String} Android/iPhone/iPad/PC
|
|
650
|
+
*/
|
|
651
|
+
const Hn=t=>t.toLowerCase().match(/android/i)?"Android":t.toLowerCase().match(/iphone/i)?"iPhone":t.toLowerCase().match(/ipad|ipod/i)?"iPad":"PC";function Nn(t,e){Ur(t,e)}const Pn={en:{secondaryMenuTitle:"Categories"},"zh-hk":{secondaryMenuTitle:"類別"},fr:{secondaryMenuTitle:"Catégories"},ro:{secondaryMenuTitle:"Categorii"},es:{secondaryMenuTitle:"Categorias"},pt:{secondaryMenuTitle:"Categorias"}};
|
|
652
|
+
/* src/GeneralNavigationBar.svelte generated by Svelte v3.59.2 */function In(t,e,r){const n=t.slice();return n[36]=e[r],n[38]=r,n}function On(t,e,r){const n=t.slice();return n[36]=e[r],n}
|
|
653
|
+
// (174:0) {#if !isLoading && isMobile && showNavigation}
|
|
654
|
+
function Ln(t){let e,r,n,i,o,a,s,c=!/*navigationBarSimple*/t[6]&&Cn(t),l=/*primaryMenuSpliced*/t[7],m=[];for(let e=0;e<l.length;e+=1)m[e]=Un(In(t,l,e));let g=!/*navigationBarSimple*/t[6]&&Dn(t);return{c(){e=d("div"),r=d("div"),c&&c.c(),n=y(),i=d("div");for(let t=0;t<m.length;t+=1)m[t].c();o=y(),g&&g.c(),v(i,"class",a="NavigationBar "+(/*navigationWindowOpened*/t[4]?"NavigationBarOpened":"")+" "+(/*navigationBarSimple*/t[6]?"NavigationBarSimple":"")),v(i,"part",s="NavigationBar "+(/*navigationWindowOpened*/t[4]?"NavigationBarOpened":"")+" "+(/*navigationBarSimple*/t[6]?"NavigationBarSimple":"")),v(r,"class","NavigationPanel"),v(e,"class","NavigationWrapper")},m(a,s){h(a,e,s),u(e,r),c&&c.m(r,null),u(r,n),u(r,i);for(let t=0;t<m.length;t+=1)m[t]&&m[t].m(i,null);u(i,o),g&&g.m(i,null)
|
|
655
|
+
/*div2_binding*/,t[24](e)},p(t,e){if(/*navigationBarSimple*/t[6]?c&&(c.d(1),c=null):c?c.p(t,e):(c=Cn(t),c.c(),c.m(r,n)),/*activeMenuItemId, primaryMenuSpliced, triggerNavigation*/8352&e[0]){let r;for(l=/*primaryMenuSpliced*/t[7],r=0;r<l.length;r+=1){const n=In(t,l,r);m[r]?m[r].p(n,e):(m[r]=Un(n),m[r].c(),m[r].m(i,o))}for(;r<m.length;r+=1)m[r].d(1);m.length=l.length}/*navigationBarSimple*/t[6]?g&&(g.d(1),g=null):g?g.p(t,e):(g=Dn(t),g.c(),g.m(i,null)),/*navigationWindowOpened, navigationBarSimple*/80&e[0]&&a!==(a="NavigationBar "+(/*navigationWindowOpened*/t[4]?"NavigationBarOpened":"")+" "+(/*navigationBarSimple*/t[6]?"NavigationBarSimple":""))&&v(i,"class",a),/*navigationWindowOpened, navigationBarSimple*/80&e[0]&&s!==(s="NavigationBar "+(/*navigationWindowOpened*/t[4]?"NavigationBarOpened":"")+" "+(/*navigationBarSimple*/t[6]?"NavigationBarSimple":""))&&v(i,"part",s)},d(r){r&&f(e),c&&c.d(),p(m,r),g&&g.d()
|
|
656
|
+
/*div2_binding*/,t[24](null)}}}
|
|
657
|
+
// (177:6) {#if !navigationBarSimple}
|
|
658
|
+
function Cn(t){let e,r,n,i,o,a,s,c,l,m,w=/*secondarymenutitle*/(t[0]||/*$_*/t[10]("secondaryMenuTitle"))+"",_=/*secondaryMenu*/t[8],T=[];for(let e=0;e<_.length;e+=1)T[e]=Mn(On(t,_,e));return{c(){e=d("div"),r=d("span"),r.innerHTML='<slot name="close"><svg class="w-6 h-6" part="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path part="ModalCloseBtnPath" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path></svg></slot>',n=y(),i=d("h3"),o=g(w),a=y(),s=d("div");for(let t=0;t<T.length;t+=1)T[t].c();v(r,"class","ModalCloseBtn"),v(r,"part","ModalCloseBtn"),v(r,"role","button"),v(i,"class","NavigationWindowTitle"),v(s,"class","NavigationSecondaryWrapper"),v(e,"class",c="NavigationWindow "+(/*navigationWindowOpened*/t[4]?"NavigationWindowOpened":""))},m(c,f){h(c,e,f),u(e,r),u(e,n),u(e,i),u(i,o),u(e,a),u(e,s);for(let t=0;t<T.length;t+=1)T[t]&&T[t].m(s,null);l||(m=b(r,"click",/*navigationWindowToggle*/t[12]),l=!0)},p(t,r){if(/*secondarymenutitle, $_*/1025&r[0]&&w!==(w=/*secondarymenutitle*/(t[0]||/*$_*/t[10]("secondaryMenuTitle"))+"")&&E(o,w),/*activeMenuItemId, secondaryMenu, triggerNavigation*/8480&r[0]){let e;for(_=/*secondaryMenu*/t[8],e=0;e<_.length;e+=1){const n=On(t,_,e);T[e]?T[e].p(n,r):(T[e]=Mn(n),T[e].c(),T[e].m(s,null))}for(;e<T.length;e+=1)T[e].d(1);T.length=_.length}/*navigationWindowOpened*/16&r[0]&&c!==(c="NavigationWindow "+(/*navigationWindowOpened*/t[4]?"NavigationWindowOpened":""))&&v(e,"class",c)},d(t){t&&f(e),p(T,t),l=!1,m()}}}
|
|
659
|
+
// (188:16) {#if item.img}
|
|
660
|
+
function xn(t){let e,r,n,i;return{c(){e=d("div"),r=d("img"),v(r,"class","NavigationSecondaryItemImg"),v(r,"part","NavigationSecondaryItemImg"),c(r.src,n=/*item*/t[36].img)||v(r,"src",n),v(r,"alt",i=/*item*/t[36].label),v(e,"class","NavigationSecondaryItemImgWrapper"),v(e,"part","NavigationSecondaryItemImgWrapper")},m(t,n){h(t,e,n),u(e,r)},p(t,e){/*secondaryMenu*/256&e[0]&&!c(r.src,n=/*item*/t[36].img)&&v(r,"src",n),/*secondaryMenu*/256&e[0]&&i!==(i=/*item*/t[36].label)&&v(r,"alt",i)},d(t){t&&f(e)}}}
|
|
661
|
+
// (186:12) {#each secondaryMenu as item}
|
|
662
|
+
function Mn(t){let e,r,n,i,o,a,s,c,l=/*item*/t[36].label+"",p=/*item*/t[36].img&&xn(t);function m(){/*click_handler*/
|
|
663
|
+
return t[22](/*item*/t[36])}return{c(){e=d("div"),p&&p.c(),r=y(),n=d("p"),i=g(l),o=y(),v(n,"class","NavigationSecondaryItemLabel"),v(n,"part","NavigationSecondaryItemLabel"),v(e,"class",a="NavigationSecondaryItemAnchor "+(/*activeMenuItemId*/t[5]===/*item*/t[36].id?"ActiveItem":""))},m(t,a){h(t,e,a),p&&p.m(e,null),u(e,r),u(e,n),u(n,i),u(e,o),s||(c=b(e,"click",m),s=!0)},p(n,o){/*item*/(t=n)[36].img?p?p.p(t,o):(p=xn(t),p.c(),p.m(e,r)):p&&(p.d(1),p=null),/*secondaryMenu*/256&o[0]&&l!==(l=/*item*/t[36].label+"")&&E(i,l),/*activeMenuItemId, secondaryMenu*/288&o[0]&&a!==(a="NavigationSecondaryItemAnchor "+(/*activeMenuItemId*/t[5]===/*item*/t[36].id?"ActiveItem":""))&&v(e,"class",a)},d(t){t&&f(e),p&&p.d(),s=!1,c()}}}
|
|
664
|
+
// (203:12) {#if item.img}
|
|
665
|
+
function Rn(t){let e,r,n,i;return{c(){e=d("div"),r=d("img"),v(r,"class","NavigationPrimaryItemImg"),c(r.src,n=/*item*/t[36].img)||v(r,"src",n),v(r,"alt",i=/*item*/t[36].label),v(e,"class","NavigationPrimaryItemImgWrapper")},m(t,n){h(t,e,n),u(e,r)},p(t,e){/*primaryMenuSpliced*/128&e[0]&&!c(r.src,n=/*item*/t[36].img)&&v(r,"src",n),/*primaryMenuSpliced*/128&e[0]&&i!==(i=/*item*/t[36].label)&&v(r,"alt",i)},d(t){t&&f(e)}}}
|
|
666
|
+
// (201:8) {#each primaryMenuSpliced as item, i}
|
|
667
|
+
function Un(t){let e,r,n,i,o,a,s,c=/*item*/t[36].label+"",l=/*item*/t[36].img&&Rn(t);function p(){/*click_handler_1*/
|
|
668
|
+
return t[23](/*item*/t[36])}return{c(){e=d("div"),l&&l.c(),r=y(),n=d("p"),i=g(c),v(n,"class","NavigationPrimaryItemLabel"),v(e,"class",o="NavigationPrimaryItemAnchor NavItem"+/*i*/t[38]+" "+(/*activeMenuItemId*/t[5]===/*item*/t[36].id?"ActiveItem":""))},m(t,o){h(t,e,o),l&&l.m(e,null),u(e,r),u(e,n),u(n,i),a||(s=b(e,"click",p),a=!0)},p(n,a){/*item*/(t=n)[36].img?l?l.p(t,a):(l=Rn(t),l.c(),l.m(e,r)):l&&(l.d(1),l=null),/*primaryMenuSpliced*/128&a[0]&&c!==(c=/*item*/t[36].label+"")&&E(i,c),/*activeMenuItemId, primaryMenuSpliced*/160&a[0]&&o!==(o="NavigationPrimaryItemAnchor NavItem"+/*i*/t[38]+" "+(/*activeMenuItemId*/t[5]===/*item*/t[36].id?"ActiveItem":""))&&v(e,"class",o)},d(t){t&&f(e),l&&l.d(),a=!1,s()}}}
|
|
669
|
+
// (211:8) {#if !navigationBarSimple}
|
|
670
|
+
function Dn(t){let e,r,n,i,o;function a(t,e){/*imageIconUrl*/
|
|
671
|
+
return t[9]?Gn:Fn}let s=a(t),c=s(t);return{c(){e=d("button"),r=d("span"),c.c(),v(r,"part","NavigationButtonSpan"),v(e,"class",n="NavigationButton "+(/*navigationWindowOpened*/t[4]?"NavigationButtonActive":""))},m(n,a){h(n,e,a),u(e,r),c.m(r,null),i||(o=b(e,"click",/*navigationWindowToggle*/t[12]),i=!0)},p(t,i){s===(s=a(t))&&c?c.p(t,i):(c.d(1),c=s(t),c&&(c.c(),c.m(r,null))),/*navigationWindowOpened*/16&i[0]&&n!==(n="NavigationButton "+(/*navigationWindowOpened*/t[4]?"NavigationButtonActive":""))&&v(e,"class",n)},d(t){t&&f(e),c.d(),i=!1,o()}}}
|
|
672
|
+
// (216:14) {:else}
|
|
673
|
+
function Fn(e){let r,n,i,o,a,s,c,l,p,d,y,b,E,w,_,T,A;return{c(){r=m("svg"),n=m("defs"),i=m("style"),o=g(".a{fill:var(--emfe-w-color-white, #FFFFFF);stroke:var(--emfe-w-color-primary, #D0046C);stroke-linecap:round;stroke-linejoin:round;}.b{stroke:none;}.c{fill:none;}"),a=m("g"),s=m("g"),c=m("rect"),l=m("rect"),p=m("g"),d=m("rect"),y=m("rect"),b=m("g"),E=m("rect"),w=m("rect"),_=m("g"),T=m("rect"),A=m("rect"),v(c,"class","b"),v(c,"part","b"),v(c,"width","10"),v(c,"height","10"),v(c,"rx","2"),v(l,"class","c"),v(l,"part","c"),v(l,"x","0.5"),v(l,"y","0.5"),v(l,"width","9"),v(l,"height","9"),v(l,"rx","1.5"),v(s,"class","a"),v(s,"part","a"),v(s,"transform","translate(150 514)"),v(d,"class","b"),v(d,"part","b"),v(d,"width","10"),v(d,"height","10"),v(d,"rx","2"),v(y,"class","c"),v(y,"part","c"),v(y,"x","0.5"),v(y,"y","0.5"),v(y,"width","9"),v(y,"height","9"),v(y,"rx","1.5"),v(p,"class","a"),v(p,"part","a"),v(p,"transform","translate(161 514)"),v(E,"class","b"),v(E,"part","b"),v(E,"width","10"),v(E,"height","10"),v(E,"rx","2"),v(w,"class","c"),v(w,"part","c"),v(w,"x","0.5"),v(w,"y","0.5"),v(w,"width","9"),v(w,"height","9"),v(w,"rx","1.5"),v(b,"class","a"),v(b,"part","a"),v(b,"transform","translate(161 525)"),v(T,"class","b"),v(T,"part","b"),v(T,"width","10"),v(T,"height","10"),v(T,"rx","2"),v(A,"class","c"),v(A,"part","c"),v(A,"x","0.5"),v(A,"y","0.5"),v(A,"width","9"),v(A,"height","9"),v(A,"rx","1.5"),v(_,"class","a"),v(_,"part","a"),v(_,"transform","translate(150 525)"),v(a,"transform","translate(-150 -514)"),v(r,"class","middleIcon"),v(r,"xmlns","http://www.w3.org/2000/svg"),v(r,"width","21"),v(r,"height","21"),v(r,"viewBox","0 0 21 21")},m(t,e){h(t,r,e),u(r,n),u(n,i),u(i,o),u(r,a),u(a,s),u(s,c),u(s,l),u(a,p),u(p,d),u(p,y),u(a,b),u(b,E),u(b,w),u(a,_),u(_,T),u(_,A)},p:t,d(t){t&&f(r)}}}
|
|
674
|
+
// (214:14) {#if imageIconUrl}
|
|
675
|
+
function Gn(t){let e,r;return{c(){e=d("img"),c(e.src,r=/*imageIconUrl*/t[9])||v(e,"src",r),v(e,"class","middleIcon"),v(e,"alt",/*imageIconUrl*/t[9])},m(t,r){h(t,e,r)},p(t,n){/*imageIconUrl*/512&n[0]&&!c(e.src,r=/*imageIconUrl*/t[9])&&v(e,"src",r),/*imageIconUrl*/512&n[0]&&v(e,"alt",/*imageIconUrl*/t[9])},d(t){t&&f(e)}}}function kn(e){let r,n=!/*isLoading*/e[1]&&/*isMobile*/e[11]&&/*showNavigation*/e[3]&&Ln(e);return{c(){n&&n.c(),r=g(""),this.c=t},m(t,e){n&&n.m(t,e),h(t,r,e)},p(t,e){!/*isLoading*/t[1]&&/*isMobile*/t[11]&&/*showNavigation*/t[3]?n?n.p(t,e):(n=Ln(t),n.c(),n.m(r.parentNode,r)):n&&(n.d(1),n=null)},i:t,o:t,d(t){n&&n.d(t),t&&f(r)}}}function $n(t,e,r){let n;var i,o;i=Sn,o=t=>r(10,n=t),t.$$.on_destroy.push(l(i,o));let a,{cmsendpoint:s=""}=e,{lang:c=""}=e,{env:u=""}=e,{secondarymenutitle:h=""}=e,{userroles:f=""}=e,{clientstyling:p=""}=e,{clientstylingurl:d=""}=e,{translationurl:m=""}=e,{activecategory:g=""}=e,y=window.navigator.userAgent,b="PC"!==Hn(y),v=!0,E=!1,w=!1,_="",A=!1,S=[],H=[],N=[],P="",I={};Object.keys(Pn).forEach((t=>{Nn(t,Pn[t])}));const O=t=>{if(t.data)switch(t.data.type){case"PlayerAccountMenuActive":case"OpenLoginRegisterModal":case"GoToHomepage":r(4,w=!1)}},L=()=>{r(1,v=!0);let t=Hn(y),e=new URL(`${s}/${c}/bottom-mobile-menu?env=${u}`);e.searchParams.append("userRoles",f),t&&e.searchParams.append("device","mtWeb"),fetch(e.href).then((t=>t.json())).then((t=>{
|
|
676
|
+
// Reset arrays
|
|
677
|
+
S=[],r(8,N=[]),
|
|
678
|
+
// Show navigation only if there are items coming from CMS
|
|
679
|
+
r(3,E=t.length>0),
|
|
680
|
+
// Get items
|
|
681
|
+
t.forEach((t=>{
|
|
682
|
+
//check if the operator wants an event interpreted
|
|
683
|
+
I[t.label]=t.eventTrigger?t.path:null,"/menu-item"==t.path?(r(9,P=null==t?void 0:t.img),r(8,N=t.children)):S.push(t)})),
|
|
684
|
+
// Hide secondary menu if there are no items configured in CMS
|
|
685
|
+
r(6,A=0==N.length),(t=>{r(7,H=[]),r(7,H=A?t.splice(0,5):t.splice(0,4)),g&&C()})(S),r(1,v=!1)})).then((()=>{
|
|
686
|
+
// html menu item is generated after fetching data. after this, set custom styling
|
|
687
|
+
p&&M(),d&&R()})).catch((t=>{r(1,v=!1),console.error(t)}))},C=()=>{const t=H.concat(N).find((t=>t.path.includes(g)));t&&r(5,_=t.id)},x=(t,e,r,n)=>{I[n]?window.postMessage({type:"MobileBottomNavigationEvent",event:I[n]},window.location.href):window.postMessage({type:"NavigateTo",url:t,target:e,externalLink:r},window.location.href),
|
|
688
|
+
//Analytics event
|
|
689
|
+
"function"==typeof gtag&>ag("event","ChangeMenu",{context:"MobileBottomNavigation",menuItem:`${t}`})},M=()=>{let t=document.createElement("style");p&&a&&(t.innerHTML=p,a.appendChild(t))},R=()=>{let t=new URL(d),e=document.createElement("style");fetch(t.href).then((t=>t.text())).then((t=>{e.innerHTML=t,setTimeout((()=>{a.appendChild(e)}),1)}))},U=()=>{var t;t=c,an.set(t)};T((()=>(window.addEventListener("message",O,!1),()=>{window.removeEventListener("message",O)})));return t.$$set=t=>{"cmsendpoint"in t&&r(14,s=t.cmsendpoint),"lang"in t&&r(15,c=t.lang),"env"in t&&r(16,u=t.env),"secondarymenutitle"in t&&r(0,h=t.secondarymenutitle),"userroles"in t&&r(17,f=t.userroles),"clientstyling"in t&&r(18,p=t.clientstyling),"clientstylingurl"in t&&r(19,d=t.clientstylingurl),"translationurl"in t&&r(20,m=t.translationurl),"activecategory"in t&&r(21,g=t.activecategory)},t.$$.update=()=>{/*activecategory, isLoading*/2097154&t.$$.dirty[0]&&g&&!v&&C(),/*lang*/32768&t.$$.dirty[0]&&c&&U(),/*cmsendpoint, lang, env, userroles*/245760&t.$$.dirty[0]&&s&&c&&u&&f&&L(),/*clientstyling, customStylingContainer*/262148&t.$$.dirty[0]&&p&&a&&M(),/*clientstylingurl, customStylingContainer*/524292&t.$$.dirty[0]&&d&&a&&R(),/*translationurl*/1048576&t.$$.dirty[0]&&m&&fetch(m).then((t=>t.json())).then((t=>{Object.keys(t).forEach((e=>{Nn(e,t[e])}))})).catch((t=>{console.log(t)}))},[h,v,a,E,w,_,A,H,N,P,n,b,()=>{r(4,w=!w),window.postMessage({type:"MobileBottomNav",navigationWindowOpened:w},window.location.href)},x,s,c,u,f,p,d,m,g,t=>{t.attrs?.target?x(t.path,t.attrs?.target,t?.externalLink,t.label):x(t.path,null,t?.externalLink,t.label)},t=>{t.attrs?.target?x(t.path,t.attrs?.target,t?.externalLink,t.label):x(t.path,null,t?.externalLink,t.label)},function(t){B[t?"unshift":"push"]((()=>{a=t,r(2,a)}))}]}class jn extends F{constructor(t){super();const e=document.createElement("style");e.textContent='.NavigationWrapper{background:var(--emfe-w-color-gray-50, #F9F8F8);width:100%;height:100px}.NavigationPanel{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:calc(100% - 30px);max-width:450px;height:70px;z-index:30}.NavigationWindow{display:flex;flex-direction:column;background:var(--emfe-w-color-white, #FFFFFF);position:absolute;bottom:30px;left:0;opacity:0;transform:translateY(100%);border-radius:5px 5px 0 0;transition:0.25s ease;width:100%;max-height:40vh}.NavigationWindow.NavigationWindowOpened{opacity:1;padding-bottom:60px;transform:translateY(5px)}.NavigationWindow .ModalCloseBtn{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:100%;color:var(--emfe-w-color-secondary, var(--emfe-w-color-orange-500, #FD2839));background:rgba(255, 255, 255, 0.1);cursor:pointer;transition:all 150ms ease-in-out;z-index:1}.NavigationWindow .ModalCloseBtn svg{width:24px;height:24px;margin:50%;transform:translate(-50%, -50%)}.NavigationWindow .ModalCloseBtn:hover{background:rgba(255, 255, 255, 0.2)}.NavigationWindow .NavigationWindowTitle{padding:16px 10px;margin:0;color:var(--emfe-w-color-black, #000000);font-size:12px;flex-grow:0}.NavigationWindow .NavigationSecondaryWrapper{display:flex;flex-wrap:wrap;padding:0 10px;flex-grow:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.NavigationPrimaryItemAnchor.NavItem0{grid-area:item0}.NavigationPrimaryItemAnchor.NavItem1{grid-area:item1}.NavigationPrimaryItemAnchor.NavItem2{grid-area:item2}.NavigationPrimaryItemAnchor.NavItem3{grid-area:item3}.NavigationPrimaryItemAnchor.NavItem4{grid-area:item4}.NavigationBar{background:var(--emfe-w-color-white, #FFFFFF);display:grid;grid-auto-flow:column;grid-template-columns:1fr 1fr 20% 1fr 1fr;grid-template-areas:"item0 item1 . item2 item3";height:70px;border-radius:5px;position:relative}.NavigationBar.NavigationBarSimple{grid-template-columns:repeat(5, 20%);grid-template-areas:"item0 item1 item2 item3 item4"}.NavigationBar.NavigationBarOpened{box-shadow:0 0 11px rgba(0, 0, 0, 0.09)}.NavigationPrimaryItemAnchor,.NavigationSecondaryItemAnchor{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-decoration:none;color:var(--emfe-w-color-black, #000000);font-size:9px;overflow:hidden;white-space:nowrap;padding-bottom:12px}.NavigationPrimaryItemAnchor .NavigationPrimaryItemImg,.NavigationSecondaryItemAnchor .NavigationPrimaryItemImg,.NavigationSecondaryItemAnchor .NavigationSecondaryItemImg{width:20px}.NavigationPrimaryItemAnchor .NavigationPrimaryItemLabel,.NavigationSecondaryItemAnchor .NavigationPrimaryItemLabel,.NavigationSecondaryItemAnchor .NavigationSecondaryItemLabel{margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;text-align:center}.NavigationSecondaryItemAnchor{width:25%;padding:10px 0}.ActiveItem{background-color:var(--emfe-w-color-primary-50, var(--emfe-w-color-pink-20, #FBECF4))}.NavigationButton{background:var(--emfe-w-color-white, #FFFFFF);border:none;width:20%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);padding:0;padding-bottom:12px}.NavigationButton .middleIcon{width:32px;height:32px}.NavigationButton:before{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--emfe-w-color-gray-50, #F9F8F8);content:"";height:0;left:50%;opacity:0;position:absolute;top:0;transform:translateX(-50%);width:0}.NavigationButton.NavigationButtonActive:before{opacity:1;transition:0.7s ease}',this.shadowRoot.appendChild(e),D(this,{target:this.shadowRoot,props:w(this.attributes),customElement:!0},$n,kn,o,{cmsendpoint:14,lang:15,env:16,secondarymenutitle:0,userroles:17,clientstyling:18,clientstylingurl:19,translationurl:20,activecategory:21},null,[-1,-1]),t&&(t.target&&h(t.target,this,t.anchor),t.props&&(this.$set(t.props),C()))}static get observedAttributes(){return["cmsendpoint","lang","env","secondarymenutitle","userroles","clientstyling","clientstylingurl","translationurl","activecategory"]}get cmsendpoint(){return this.$$.ctx[14]}set cmsendpoint(t){this.$$set({cmsendpoint:t}),C()}get lang(){return this.$$.ctx[15]}set lang(t){this.$$set({lang:t}),C()}get env(){return this.$$.ctx[16]}set env(t){this.$$set({env:t}),C()}get secondarymenutitle(){return this.$$.ctx[0]}set secondarymenutitle(t){this.$$set({secondarymenutitle:t}),C()}get userroles(){return this.$$.ctx[17]}set userroles(t){this.$$set({userroles:t}),C()}get clientstyling(){return this.$$.ctx[18]}set clientstyling(t){this.$$set({clientstyling:t}),C()}get clientstylingurl(){return this.$$.ctx[19]}set clientstylingurl(t){this.$$set({clientstylingurl:t}),C()}get translationurl(){return this.$$.ctx[20]}set translationurl(t){this.$$set({translationurl:t}),C()}get activecategory(){return this.$$.ctx[21]}set activecategory(t){this.$$set({activecategory:t}),C()}}return!customElements.get("general-navigation-bar")&&customElements.define("general-navigation-bar",jn),jn}));
|
|
690
|
+
//# sourceMappingURL=general-navigation-bar.js.map
|