@everymatrix/casino-sort 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -0
- package/dist/casino-sort.js +586 -0
- package/dist/casino-sort.js.map +1 -0
- package/index.html +37 -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/CasinoSort.svelte +459 -0
- package/src/i18n.js +27 -0
- package/src/index.ts +4 -0
- package/src/translations.js +77 -0
- package/stories/CasinoSort.stories.js +13 -0
- package/tsconfig.json +6 -0
|
@@ -0,0 +1,586 @@
|
|
|
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}function s(e,...r){if(null==e)return t;const n=e.subscribe(...r);return n.unsubscribe?()=>n.unsubscribe():n}function a(t,e){t.appendChild(e)}function h(t,e,r){t.insertBefore(e,r||null)}function l(t){t.parentNode&&t.parentNode.removeChild(t)}function c(t){return document.createElement(t)}function u(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function f(t){return document.createTextNode(t)}function p(){return f(" ")}function m(t,e,r,n){return t.addEventListener(e,r,n),()=>t.removeEventListener(e,r,n)}function g(t,e,r){null==r?t.removeAttribute(e):t.getAttribute(e)!==r&&t.setAttribute(e,r)}function d(t,e){e=""+e,t.data!==e&&(t.data=e)}function b(t,e,r,n){null===r?t.style.removeProperty(e):t.style.setProperty(e,r,n?"important":"")}function y(t){const e={};for(const r of t)e[r.name]=r.value;return e}let E;function v(t){E=t}const S=[],T=[];let H=[];const _=[],B=Promise.resolve();let A=!1;function L(t){H.push(t)}
|
|
2
|
+
// flush() calls callbacks in this order:
|
|
3
|
+
// 1. All beforeUpdate callbacks, in order: parents before children
|
|
4
|
+
// 2. All bind:this callbacks, in reverse order: children before parents.
|
|
5
|
+
// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT
|
|
6
|
+
// for afterUpdates called during the initial onMount, which are called in
|
|
7
|
+
// reverse order: children before parents.
|
|
8
|
+
// Since callbacks might update component values, which could trigger another
|
|
9
|
+
// call to flush(), the following steps guard against this:
|
|
10
|
+
// 1. During beforeUpdate, any updated components will be added to the
|
|
11
|
+
// dirty_components array and will cause a reentrant call to flush(). Because
|
|
12
|
+
// the flush index is kept outside the function, the reentrant call will pick
|
|
13
|
+
// up where the earlier call left off and go through all dirty components. The
|
|
14
|
+
// current_component value is saved and restored so that the reentrant call will
|
|
15
|
+
// not interfere with the "parent" flush() call.
|
|
16
|
+
// 2. bind:this callbacks cannot trigger new flush() calls.
|
|
17
|
+
// 3. During afterUpdate, any updated components will NOT have their afterUpdate
|
|
18
|
+
// callback called a second time; the seen_callbacks set, outside the flush()
|
|
19
|
+
// function, guarantees this behavior.
|
|
20
|
+
const P=new Set;let C=0;// Do *not* move this inside the flush() function
|
|
21
|
+
function N(){
|
|
22
|
+
// Do not reenter flush while dirty components are updated, as this can
|
|
23
|
+
// result in an infinite loop. Instead, let the inner flush handle it.
|
|
24
|
+
// Reentrancy is ok afterwards for bindings etc.
|
|
25
|
+
if(0!==C)return;const t=E;do{
|
|
26
|
+
// first, call beforeUpdate functions
|
|
27
|
+
// and update components
|
|
28
|
+
try{for(;C<S.length;){const t=S[C];C++,v(t),I(t.$$)}}catch(t){
|
|
29
|
+
// reset dirty state to not end up in a deadlocked state and then rethrow
|
|
30
|
+
throw S.length=0,C=0,t}for(v(null),S.length=0,C=0;T.length;)T.pop()();
|
|
31
|
+
// then, once components are updated, call
|
|
32
|
+
// afterUpdate functions. This may cause
|
|
33
|
+
// subsequent updates...
|
|
34
|
+
for(let t=0;t<H.length;t+=1){const e=H[t];P.has(e)||(
|
|
35
|
+
// ...so guard against infinite loops
|
|
36
|
+
P.add(e),e())}H.length=0}while(S.length);for(;_.length;)_.pop()();A=!1,P.clear(),v(t)}function I(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(L)}}
|
|
37
|
+
/**
|
|
38
|
+
* Useful for example to execute remaining `afterUpdate` callbacks before executing `destroy`.
|
|
39
|
+
*/const w=new Set;function O(t,e){const r=t.$$;null!==r.fragment&&(!function(t){const e=[],r=[];H.forEach((n=>-1===t.indexOf(n)?e.push(n):r.push(n))),r.forEach((t=>t())),H=e}(r.after_update),n(r.on_destroy),r.fragment&&r.fragment.d(e),
|
|
40
|
+
// TODO null out other refs, including component.$$ (but need to
|
|
41
|
+
// preserve final state?)
|
|
42
|
+
r.on_destroy=r.fragment=null,r.ctx=[])}function M(t,e){-1===t.$$.dirty[0]&&(S.push(t),A||(A=!0,B.then(N)),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function R(o,s,a,h,c,u,f,p=[-1]){const m=E;v(o);const g=o.$$={fragment:null,ctx:[],
|
|
43
|
+
// state
|
|
44
|
+
props:u,update:t,not_equal:c,bound:r(),
|
|
45
|
+
// lifecycle
|
|
46
|
+
on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(s.context||(m?m.$$.context:[])),
|
|
47
|
+
// everything else
|
|
48
|
+
callbacks:r(),dirty:p,skip_bound:!1,root:s.target||m.$$.root};f&&f(g.root);let d=!1;if(g.ctx=a?a(o,s.props||{},((t,e,...r)=>{const n=r.length?r[0]:e;return g.ctx&&c(g.ctx[t],g.ctx[t]=n)&&(!g.skip_bound&&g.bound[t]&&g.bound[t](n),d&&M(o,t)),e})):[],g.update(),d=!0,n(g.before_update),
|
|
49
|
+
// `false` as a special case of no DOM component
|
|
50
|
+
g.fragment=!!h&&h(g.ctx),s.target){if(s.hydrate){const t=function(t){return Array.from(t.childNodes)}(s.target);
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
52
|
+
g.fragment&&g.fragment.l(t),t.forEach(l)}else
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
54
|
+
g.fragment&&g.fragment.c();s.intro&&((b=o.$$.fragment)&&b.i&&(w.delete(b),b.i(y))),function(t,r,o,s){const{fragment:a,after_update:h}=t.$$;a&&a.m(r,o),s||
|
|
55
|
+
// onMount happens before the initial afterUpdate
|
|
56
|
+
L((()=>{const r=t.$$.on_mount.map(e).filter(i);
|
|
57
|
+
// if the component was destroyed immediately
|
|
58
|
+
// it will update the `$$.on_destroy` reference to `null`.
|
|
59
|
+
// the destructured on_destroy may still reference to the old array
|
|
60
|
+
t.$$.on_destroy?t.$$.on_destroy.push(...r):
|
|
61
|
+
// Edge case - component was destroyed immediately,
|
|
62
|
+
// most likely as a result of a binding initialising
|
|
63
|
+
n(r),t.$$.on_mount=[]})),h.forEach(L)}(o,s.target,s.anchor,s.customElement),N()}var b,y;v(m)}let U;"function"==typeof HTMLElement&&(U=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const{on_mount:t}=this.$$;this.$$.on_disconnect=t.map(e).filter(i);
|
|
64
|
+
// @ts-ignore todo: improve typings
|
|
65
|
+
for(const t in this.$$.slotted)
|
|
66
|
+
// @ts-ignore todo: improve typings
|
|
67
|
+
this.appendChild(this.$$.slotted[t])}attributeChangedCallback(t,e,r){this[t]=r}disconnectedCallback(){n(this.$$.on_disconnect)}$destroy(){O(this,1),this.$destroy=t}$on(e,r){
|
|
68
|
+
// TODO should this delegate to addEventListener?
|
|
69
|
+
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)}});const D=[];
|
|
70
|
+
/**
|
|
71
|
+
* Creates a `Readable` store that allows reading by subscription.
|
|
72
|
+
* @param value initial value
|
|
73
|
+
* @param {StartStopNotifier}start start and stop notifications for subscriptions
|
|
74
|
+
*/
|
|
75
|
+
/**
|
|
76
|
+
* Create a `Writable` store that allows both updating and reading by subscription.
|
|
77
|
+
* @param {*=}value initial value
|
|
78
|
+
* @param {StartStopNotifier=}start start and stop notifications for subscriptions
|
|
79
|
+
*/
|
|
80
|
+
function k(e,r=t){let n;const i=new Set;function s(t){if(o(e,t)&&(e=t,n)){// store is ready
|
|
81
|
+
const t=!D.length;for(const t of i)t[1](),D.push(t,e);if(t){for(let t=0;t<D.length;t+=2)D[t][0](D[t+1]);D.length=0}}}return{set:s,update:function(t){s(t(e))},subscribe:function(o,a=t){const h=[o,a];return i.add(h),1===i.size&&(n=r(s)||t),o(e),()=>{i.delete(h),0===i.size&&n&&(n(),n=null)}}}}function G(e,r,o){const a=!Array.isArray(e),h=a?[e]:e,l=r.length<2;return c=e=>{let o=!1;const c=[];let u=0,f=t;const p=()=>{if(u)return;f();const n=r(a?c[0]:c,e);l?e(n):f=i(n)?n:t},m=h.map(((t,e)=>s(t,(t=>{c[e]=t,u&=~(1<<e),o&&p()}),(()=>{u|=1<<e}))));return o=!0,p(),function(){n(m),f(),
|
|
82
|
+
// We need to set this to false because callbacks can still happen despite having unsubscribed:
|
|
83
|
+
// Callbacks might already be placed in the queue which doesn't know it should no longer
|
|
84
|
+
// invoke this derived store.
|
|
85
|
+
o=!1}},{subscribe:k(o,c).subscribe};var c}var x=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===$}(t)}
|
|
86
|
+
// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
|
|
87
|
+
(t)};var $="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function F(t,e){return!1!==e.clone&&e.isMergeableObject(t)?Z((r=t,Array.isArray(r)?[]:{}),t,e):t;var r}function j(t,e,r){return t.concat(e).map((function(t){return F(t,r)}))}function V(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 X(t,e){try{return e in t}catch(t){return!1}}
|
|
88
|
+
// Protects from prototype poisoning and unexpected merging up the prototype chain.
|
|
89
|
+
function K(t,e,r){var n={};return r.isMergeableObject(t)&&V(t).forEach((function(e){n[e]=F(t[e],r)})),V(e).forEach((function(i){(function(t,e){return X(t,e)&&!(Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e));// and also unsafe if they're nonenumerable.
|
|
90
|
+
})(t,i)||(X(t,i)&&r.isMergeableObject(e[i])?n[i]=function(t,e){if(!e.customMerge)return Z;var r=e.customMerge(t);return"function"==typeof r?r:Z}(i,r)(t[i],e[i],r):n[i]=F(e[i],r))})),n}function Z(t,e,r){(r=r||{}).arrayMerge=r.arrayMerge||j,r.isMergeableObject=r.isMergeableObject||x,
|
|
91
|
+
// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()
|
|
92
|
+
// implementations can use it. The caller may not replace it.
|
|
93
|
+
r.cloneUnlessOtherwiseSpecified=F;var n=Array.isArray(e);return n===Array.isArray(t)?n?r.arrayMerge(t,e,r):K(t,e,r):F(e,r)}Z.all=function(t,e){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce((function(t,r){return Z(t,r,e)}),{})};var Y=Z,z=function(t,e){return z=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])},z(t,e)};function W(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}z(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var J,Q,q,tt=function(){return tt=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},tt.apply(this,arguments)};function et(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))}
|
|
94
|
+
/**
|
|
95
|
+
* Type Guards
|
|
96
|
+
*/
|
|
97
|
+
function rt(t){return t.type===Q.literal}function nt(t){return t.type===Q.argument}function it(t){return t.type===Q.number}function ot(t){return t.type===Q.date}function st(t){return t.type===Q.time}function at(t){return t.type===Q.select}function ht(t){return t.type===Q.plural}function lt(t){return t.type===Q.pound}function ct(t){return t.type===Q.tag}function ut(t){return!(!t||"object"!=typeof t||t.type!==q.number)}function ft(t){return!(!t||"object"!=typeof t||t.type!==q.dateTime)}
|
|
98
|
+
// @generated from regex-gen.ts
|
|
99
|
+
!function(t){
|
|
100
|
+
/** Argument is unclosed (e.g. `{0`) */
|
|
101
|
+
t[t.EXPECT_ARGUMENT_CLOSING_BRACE=1]="EXPECT_ARGUMENT_CLOSING_BRACE",
|
|
102
|
+
/** Argument is empty (e.g. `{}`). */
|
|
103
|
+
t[t.EMPTY_ARGUMENT=2]="EMPTY_ARGUMENT",
|
|
104
|
+
/** Argument is malformed (e.g. `{foo!}``) */
|
|
105
|
+
t[t.MALFORMED_ARGUMENT=3]="MALFORMED_ARGUMENT",
|
|
106
|
+
/** Expect an argument type (e.g. `{foo,}`) */
|
|
107
|
+
t[t.EXPECT_ARGUMENT_TYPE=4]="EXPECT_ARGUMENT_TYPE",
|
|
108
|
+
/** Unsupported argument type (e.g. `{foo,foo}`) */
|
|
109
|
+
t[t.INVALID_ARGUMENT_TYPE=5]="INVALID_ARGUMENT_TYPE",
|
|
110
|
+
/** Expect an argument style (e.g. `{foo, number, }`) */
|
|
111
|
+
t[t.EXPECT_ARGUMENT_STYLE=6]="EXPECT_ARGUMENT_STYLE",
|
|
112
|
+
/** The number skeleton is invalid. */
|
|
113
|
+
t[t.INVALID_NUMBER_SKELETON=7]="INVALID_NUMBER_SKELETON",
|
|
114
|
+
/** The date time skeleton is invalid. */
|
|
115
|
+
t[t.INVALID_DATE_TIME_SKELETON=8]="INVALID_DATE_TIME_SKELETON",
|
|
116
|
+
/** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */
|
|
117
|
+
t[t.EXPECT_NUMBER_SKELETON=9]="EXPECT_NUMBER_SKELETON",
|
|
118
|
+
/** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */
|
|
119
|
+
t[t.EXPECT_DATE_TIME_SKELETON=10]="EXPECT_DATE_TIME_SKELETON",
|
|
120
|
+
/** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */
|
|
121
|
+
t[t.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]="UNCLOSED_QUOTE_IN_ARGUMENT_STYLE",
|
|
122
|
+
/** Missing select argument options (e.g. `{foo, select}`) */
|
|
123
|
+
t[t.EXPECT_SELECT_ARGUMENT_OPTIONS=12]="EXPECT_SELECT_ARGUMENT_OPTIONS",
|
|
124
|
+
/** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */
|
|
125
|
+
t[t.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]="EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE",
|
|
126
|
+
/** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */
|
|
127
|
+
t[t.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]="INVALID_PLURAL_ARGUMENT_OFFSET_VALUE",
|
|
128
|
+
/** Expecting a selector in `select` argument (e.g `{foo, select}`) */
|
|
129
|
+
t[t.EXPECT_SELECT_ARGUMENT_SELECTOR=15]="EXPECT_SELECT_ARGUMENT_SELECTOR",
|
|
130
|
+
/** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */
|
|
131
|
+
t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]="EXPECT_PLURAL_ARGUMENT_SELECTOR",
|
|
132
|
+
/** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */
|
|
133
|
+
t[t.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]="EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT",
|
|
134
|
+
/**
|
|
135
|
+
* Expecting a message fragment after the `plural` or `selectordinal` selector
|
|
136
|
+
* (e.g. `{foo, plural, one}`)
|
|
137
|
+
*/
|
|
138
|
+
t[t.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]="EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT",
|
|
139
|
+
/** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */
|
|
140
|
+
t[t.INVALID_PLURAL_ARGUMENT_SELECTOR=19]="INVALID_PLURAL_ARGUMENT_SELECTOR",
|
|
141
|
+
/**
|
|
142
|
+
* Duplicate selectors in `plural` or `selectordinal` argument.
|
|
143
|
+
* (e.g. {foo, plural, one {#} one {#}})
|
|
144
|
+
*/
|
|
145
|
+
t[t.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]="DUPLICATE_PLURAL_ARGUMENT_SELECTOR",
|
|
146
|
+
/** Duplicate selectors in `select` argument.
|
|
147
|
+
* (e.g. {foo, select, apple {apple} apple {apple}})
|
|
148
|
+
*/
|
|
149
|
+
t[t.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]="DUPLICATE_SELECT_ARGUMENT_SELECTOR",
|
|
150
|
+
/** Plural or select argument option must have `other` clause. */
|
|
151
|
+
t[t.MISSING_OTHER_CLAUSE=22]="MISSING_OTHER_CLAUSE",
|
|
152
|
+
/** The tag is malformed. (e.g. `<bold!>foo</bold!>) */
|
|
153
|
+
t[t.INVALID_TAG=23]="INVALID_TAG",
|
|
154
|
+
/** The tag name is invalid. (e.g. `<123>foo</123>`) */
|
|
155
|
+
t[t.INVALID_TAG_NAME=25]="INVALID_TAG_NAME",
|
|
156
|
+
/** The closing tag does not match the opening tag. (e.g. `<bold>foo</italic>`) */
|
|
157
|
+
t[t.UNMATCHED_CLOSING_TAG=26]="UNMATCHED_CLOSING_TAG",
|
|
158
|
+
/** The opening tag has unmatched closing tag. (e.g. `<bold>foo`) */
|
|
159
|
+
t[t.UNCLOSED_TAG=27]="UNCLOSED_TAG"}(J||(J={})),function(t){
|
|
160
|
+
/**
|
|
161
|
+
* Raw text
|
|
162
|
+
*/
|
|
163
|
+
t[t.literal=0]="literal",
|
|
164
|
+
/**
|
|
165
|
+
* Variable w/o any format, e.g `var` in `this is a {var}`
|
|
166
|
+
*/
|
|
167
|
+
t[t.argument=1]="argument",
|
|
168
|
+
/**
|
|
169
|
+
* Variable w/ number format
|
|
170
|
+
*/
|
|
171
|
+
t[t.number=2]="number",
|
|
172
|
+
/**
|
|
173
|
+
* Variable w/ date format
|
|
174
|
+
*/
|
|
175
|
+
t[t.date=3]="date",
|
|
176
|
+
/**
|
|
177
|
+
* Variable w/ time format
|
|
178
|
+
*/
|
|
179
|
+
t[t.time=4]="time",
|
|
180
|
+
/**
|
|
181
|
+
* Variable w/ select format
|
|
182
|
+
*/
|
|
183
|
+
t[t.select=5]="select",
|
|
184
|
+
/**
|
|
185
|
+
* Variable w/ plural format
|
|
186
|
+
*/
|
|
187
|
+
t[t.plural=6]="plural",
|
|
188
|
+
/**
|
|
189
|
+
* Only possible within plural argument.
|
|
190
|
+
* This is the `#` symbol that will be substituted with the count.
|
|
191
|
+
*/
|
|
192
|
+
t[t.pound=7]="pound",
|
|
193
|
+
/**
|
|
194
|
+
* XML-like tag
|
|
195
|
+
*/
|
|
196
|
+
t[t.tag=8]="tag"}(Q||(Q={})),function(t){t[t.number=0]="number",t[t.dateTime=1]="dateTime"}(q||(q={}));var pt=/[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,mt=/(?:[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;
|
|
197
|
+
/**
|
|
198
|
+
* https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
|
|
199
|
+
* Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js
|
|
200
|
+
* with some tweaks
|
|
201
|
+
*/
|
|
202
|
+
/**
|
|
203
|
+
* Parse Date time skeleton into Intl.DateTimeFormatOptions
|
|
204
|
+
* Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
|
|
205
|
+
* @public
|
|
206
|
+
* @param skeleton skeleton string
|
|
207
|
+
*/
|
|
208
|
+
function gt(t){var e={};return t.replace(mt,(function(t){var r=t.length;switch(t[0]){
|
|
209
|
+
// Era
|
|
210
|
+
case"G":e.era=4===r?"long":5===r?"narrow":"short";break;
|
|
211
|
+
// Year
|
|
212
|
+
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");
|
|
213
|
+
// Quarter
|
|
214
|
+
case"q":case"Q":throw new RangeError("`q/Q` (quarter) patterns are not supported");
|
|
215
|
+
// Month
|
|
216
|
+
case"M":case"L":e.month=["numeric","2-digit","short","long","narrow"][r-1];break;
|
|
217
|
+
// Week
|
|
218
|
+
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");
|
|
219
|
+
// Weekday
|
|
220
|
+
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;
|
|
221
|
+
// Period
|
|
222
|
+
case"a":// AM, PM
|
|
223
|
+
e.hour12=!0;break;case"b":// am, pm, noon, midnight
|
|
224
|
+
case"B":// flexible day periods
|
|
225
|
+
throw new RangeError("`b/B` (period) patterns are not supported, use `a` instead");
|
|
226
|
+
// Hour
|
|
227
|
+
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");
|
|
228
|
+
// Minute
|
|
229
|
+
case"m":e.minute=["numeric","2-digit"][r-1];break;
|
|
230
|
+
// Second
|
|
231
|
+
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");
|
|
232
|
+
// Zone
|
|
233
|
+
case"z":// 1..3, 4: specific non-location format
|
|
234
|
+
e.timeZoneName=r<4?"short":"long";break;case"Z":// 1..3, 4, 5: The ISO8601 varios formats
|
|
235
|
+
case"O":// 1, 4: miliseconds in day short, long
|
|
236
|
+
case"v":// 1, 4: generic non-location format
|
|
237
|
+
case"V":// 1, 2, 3, 4: time zone ID or city
|
|
238
|
+
case"X":// 1, 2, 3, 4: The ISO8601 varios formats
|
|
239
|
+
case"x":// 1, 2, 3, 4: The ISO8601 varios formats
|
|
240
|
+
throw new RangeError("`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead")}return""})),e}
|
|
241
|
+
// @generated from regex-gen.ts
|
|
242
|
+
var dt=/[\t-\r \x85\u200E\u200F\u2028\u2029]/i;var bt=/^\.(?:(0+)(\*)?|(#+)|(0+)(#+))$/g,yt=/^(@+)?(\+|#+)?[rs]?$/g,Et=/(\*)(0+)|(#+)(0+)|(0+)/g,vt=/^(0+)$/;function St(t){var e={};return"r"===t[t.length-1]?e.roundingPriority="morePrecision":"s"===t[t.length-1]&&(e.roundingPriority="lessPrecision"),t.replace(yt,(function(t,r,n){
|
|
243
|
+
// @@@ case
|
|
244
|
+
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 Tt(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 Ht(t){
|
|
245
|
+
// Engineering
|
|
246
|
+
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)),!vt.test(t))throw new Error("Malformed concise eng/scientific notation");e.minimumIntegerDigits=t.length}return e}function _t(t){var e=Tt(t);return e||{}}
|
|
247
|
+
/**
|
|
248
|
+
* https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options
|
|
249
|
+
*/function Bt(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=tt(tt(tt({},e),{notation:"scientific"}),i.options.reduce((function(t,e){return tt(tt({},t),_t(e))}),{}));continue;case"engineering":e=tt(tt(tt({},e),{notation:"engineering"}),i.options.reduce((function(t,e){return tt(tt({},t),_t(e))}),{}));continue;case"notation-simple":e.notation="standard";continue;
|
|
250
|
+
// https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h
|
|
251
|
+
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;
|
|
252
|
+
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width
|
|
253
|
+
case"integer-width":if(i.options.length>1)throw new RangeError("integer-width stems only accept a single optional option");i.options[0].replace(Et,(function(t,r,n,i,o,s){if(r)e.minimumIntegerDigits=n.length;else{if(i&&o)throw new Error("We currently do not support maximum integer digits");if(s)throw new Error("We currently do not support exact integer digits")}return""}));continue}
|
|
254
|
+
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width
|
|
255
|
+
if(vt.test(i.stem))e.minimumIntegerDigits=i.stem.length;else if(bt.test(i.stem)){
|
|
256
|
+
// Precision
|
|
257
|
+
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision
|
|
258
|
+
// precision-integer case
|
|
259
|
+
if(i.options.length>1)throw new RangeError("Fraction-precision stems only accept a single optional option");i.stem.replace(bt,(function(t,r,n,i,o,s){
|
|
260
|
+
// .000* case (before ICU67 it was .000+)
|
|
261
|
+
return"*"===n?e.minimumFractionDigits=r.length:i&&"#"===i[0]?e.maximumFractionDigits=i.length:o&&s?(e.minimumFractionDigits=o.length,e.maximumFractionDigits=o.length+s.length):(e.minimumFractionDigits=r.length,e.maximumFractionDigits=r.length),""}));var o=i.options[0];
|
|
262
|
+
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display
|
|
263
|
+
"w"===o?e=tt(tt({},e),{trailingZeroDisplay:"stripIfInteger"}):o&&(e=tt(tt({},e),St(o)))}
|
|
264
|
+
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision
|
|
265
|
+
else if(yt.test(i.stem))e=tt(tt({},e),St(i.stem));else{var s=Tt(i.stem);s&&(e=tt(tt({},e),s));var a=Ht(i.stem);a&&(e=tt(tt({},e),a))}}return e}
|
|
266
|
+
// @generated from time-data-gen.ts
|
|
267
|
+
// prettier-ignore
|
|
268
|
+
var At,Lt={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"]};
|
|
269
|
+
/**
|
|
270
|
+
* Returns the best matching date time pattern if a date time skeleton
|
|
271
|
+
* pattern is provided with a locale. Follows the Unicode specification:
|
|
272
|
+
* https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns
|
|
273
|
+
* @param skeleton date time skeleton pattern that possibly includes j, J or C
|
|
274
|
+
* @param locale
|
|
275
|
+
*/
|
|
276
|
+
/**
|
|
277
|
+
* Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)
|
|
278
|
+
* of the given `locale` to the corresponding time pattern.
|
|
279
|
+
* @param locale
|
|
280
|
+
*/
|
|
281
|
+
function Pt(t){var e=t.hourCycle;if(void 0===e&&
|
|
282
|
+
// @ts-ignore hourCycle(s) is not identified yet
|
|
283
|
+
t.hourCycles&&
|
|
284
|
+
// @ts-ignore
|
|
285
|
+
t.hourCycles.length&&(
|
|
286
|
+
// @ts-ignore
|
|
287
|
+
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")}
|
|
288
|
+
// TODO: Once hourCycle is fully supported remove the following with data generation
|
|
289
|
+
var r,n=t.language;return"root"!==n&&(r=t.maximize().region),(Lt[r||""]||Lt[n||""]||Lt["".concat(n,"-001")]||Lt["001"])[0]}var Ct=new RegExp("^".concat(pt.source,"*")),Nt=new RegExp("".concat(pt.source,"*$"));function It(t,e){return{start:t,end:e}}
|
|
290
|
+
// #region Ponyfills
|
|
291
|
+
// Consolidate these variables up top for easier toggling during debugging
|
|
292
|
+
var wt=!!String.prototype.startsWith,Ot=!!String.fromCodePoint,Mt=!!Object.fromEntries,Rt=!!String.prototype.codePointAt,Ut=!!String.prototype.trimStart,Dt=!!String.prototype.trimEnd,kt=!!Number.isSafeInteger?Number.isSafeInteger:function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t&&Math.abs(t)<=9007199254740991},Gt=!0;try{
|
|
293
|
+
/**
|
|
294
|
+
* legacy Edge or Xbox One browser
|
|
295
|
+
* Unicode flag support: supported
|
|
296
|
+
* Pattern_Syntax support: not supported
|
|
297
|
+
* See https://github.com/formatjs/formatjs/issues/2822
|
|
298
|
+
*/
|
|
299
|
+
Gt="a"===(null===(At=Zt("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu").exec("a"))||void 0===At?void 0:At[0])}catch(t){Gt=!1}var xt,$t=wt?// Native
|
|
300
|
+
function(t,e,r){return t.startsWith(e,r)}:// For IE11
|
|
301
|
+
function(t,e,r){return t.slice(r,r+e.length)===e},Ft=Ot?String.fromCodePoint:// IE11
|
|
302
|
+
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},jt=
|
|
303
|
+
// native
|
|
304
|
+
Mt?Object.fromEntries:// Ponyfill
|
|
305
|
+
function(t){for(var e={},r=0,n=t;r<n.length;r++){var i=n[r],o=i[0],s=i[1];e[o]=s}return e},Vt=Rt?// Native
|
|
306
|
+
function(t,e){return t.codePointAt(e)}:// IE 11
|
|
307
|
+
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}},Xt=Ut?// Native
|
|
308
|
+
function(t){return t.trimStart()}:// Ponyfill
|
|
309
|
+
function(t){return t.replace(Ct,"")},Kt=Dt?// Native
|
|
310
|
+
function(t){return t.trimEnd()}:// Ponyfill
|
|
311
|
+
function(t){return t.replace(Nt,"")};
|
|
312
|
+
// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.
|
|
313
|
+
function Zt(t,e){return new RegExp(t,e)}
|
|
314
|
+
// #endregion
|
|
315
|
+
if(Gt){
|
|
316
|
+
// Native
|
|
317
|
+
var Yt=Zt("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu");xt=function(t,e){var r;return Yt.lastIndex=e,null!==(r=Yt.exec(t)[1])&&void 0!==r?r:""}}else
|
|
318
|
+
// IE11
|
|
319
|
+
xt=function(t,e){for(var r=[];;){var n=Vt(t,e);if(void 0===n||Qt(n)||qt(n))break;r.push(n),e+=n>=65536?2:1}return Ft.apply(void 0,r)};var zt=/** @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(J.UNMATCHED_CLOSING_TAG,It(this.clonePosition(),this.clonePosition()))}if(60/* `<` */===i&&!this.ignoreTag&&Wt(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 s=this.clonePosition();this.bump(),n.push({type:Q.pound,location:It(s,this.clonePosition())})}}}return{val:n,err:null}},
|
|
320
|
+
/**
|
|
321
|
+
* A tag name must start with an ASCII lower/upper case letter. The grammar is based on the
|
|
322
|
+
* [custom element name][] except that a dash is NOT always mandatory and uppercase letters
|
|
323
|
+
* are accepted:
|
|
324
|
+
*
|
|
325
|
+
* ```
|
|
326
|
+
* tag ::= "<" tagName (whitespace)* "/>" | "<" tagName (whitespace)* ">" message "</" tagName (whitespace)* ">"
|
|
327
|
+
* tagName ::= [a-z] (PENChar)*
|
|
328
|
+
* PENChar ::=
|
|
329
|
+
* "-" | "." | [0-9] | "_" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |
|
|
330
|
+
* [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |
|
|
331
|
+
* [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
|
|
332
|
+
* ```
|
|
333
|
+
*
|
|
334
|
+
* [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
|
|
335
|
+
* NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do
|
|
336
|
+
* since other tag-based engines like React allow it
|
|
337
|
+
*/
|
|
338
|
+
t.prototype.parseTag=function(t,e){var r=this.clonePosition();this.bump();// `<`
|
|
339
|
+
var n=this.parseTagName();if(this.bumpSpace(),this.bumpIf("/>"))
|
|
340
|
+
// Self closing tag
|
|
341
|
+
return{val:{type:Q.literal,value:"<".concat(n,"/>"),location:It(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,s=this.clonePosition();
|
|
342
|
+
// Expecting a close tag
|
|
343
|
+
if(this.bumpIf("</")){if(this.isEOF()||!Wt(this.char()))return this.error(J.INVALID_TAG,It(s,this.clonePosition()));var a=this.clonePosition();return n!==this.parseTagName()?this.error(J.UNMATCHED_CLOSING_TAG,It(a,this.clonePosition())):(this.bumpSpace(),this.bumpIf(">")?{val:{type:Q.tag,value:n,children:o,location:It(r,this.clonePosition())},err:null}:this.error(J.INVALID_TAG,It(s,this.clonePosition())))}return this.error(J.UNCLOSED_TAG,It(r,this.clonePosition()))}return this.error(J.INVALID_TAG,It(r,this.clonePosition()))},
|
|
344
|
+
/**
|
|
345
|
+
* This method assumes that the caller has peeked ahead for the first tag character.
|
|
346
|
+
*/
|
|
347
|
+
t.prototype.parseTagName=function(){var t=this.offset();// the first tag name character
|
|
348
|
+
for(this.bump();!this.isEOF()&&Jt(this.char());)this.bump();return this.message.slice(t,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 s=this.tryParseLeftAngleBracket();if(!s)break;n+=s}}}var a=It(r,this.clonePosition());return{val:{type:Q.literal,value:n,location:a},err:null}},t.prototype.tryParseLeftAngleBracket=function(){return this.isEOF()||60/* `<` */!==this.char()||!this.ignoreTag&&(Wt(t=this.peek()||0)||47===t)?null:(this.bump(),"<");var t;
|
|
349
|
+
/** See `parseTag` function docs. */},
|
|
350
|
+
/**
|
|
351
|
+
* Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes
|
|
352
|
+
* a character that requires quoting (that is, "only where needed"), and works the same in
|
|
353
|
+
* nested messages as on the top level of the pattern. The new behavior is otherwise compatible.
|
|
354
|
+
*/
|
|
355
|
+
t.prototype.tryParseQuote=function(t){if(this.isEOF()||39/* `'` */!==this.char())return null;
|
|
356
|
+
// Parse escaped char following the apostrophe, or early return if there is no escaped char.
|
|
357
|
+
// Check if is valid escaped character
|
|
358
|
+
switch(this.peek()){case 39/* `'` */:
|
|
359
|
+
// double quote, should return as a single quote.
|
|
360
|
+
return this.bump(),this.bump(),"'";
|
|
361
|
+
// '{', '<', '>', '}'
|
|
362
|
+
case 123:case 60:case 62:case 125:break;case 35:// '#'
|
|
363
|
+
if("plural"===t||"selectordinal"===t)break;return null;default:return null}this.bump();// apostrophe
|
|
364
|
+
var e=[this.char()];// escaped char
|
|
365
|
+
// read chars until the optional closing apostrophe is found
|
|
366
|
+
for(this.bump();!this.isEOF();){var r=this.char();if(39/* `'` */===r){if(39/* `'` */!==this.peek()){
|
|
367
|
+
// Optional closing apostrophe.
|
|
368
|
+
this.bump();break}e.push(39),
|
|
369
|
+
// Bump one more time because we need to skip 2 characters.
|
|
370
|
+
this.bump()}else e.push(r);this.bump()}return Ft.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(),Ft(r))},t.prototype.parseArgument=function(t,e){var r=this.clonePosition();if(this.bump(),// `{`
|
|
371
|
+
this.bumpSpace(),this.isEOF())return this.error(J.EXPECT_ARGUMENT_CLOSING_BRACE,It(r,this.clonePosition()));if(125/* `}` */===this.char())return this.bump(),this.error(J.EMPTY_ARGUMENT,It(r,this.clonePosition()));
|
|
372
|
+
// argument name
|
|
373
|
+
var n=this.parseIdentifierIfPossible().value;if(!n)return this.error(J.MALFORMED_ARGUMENT,It(r,this.clonePosition()));if(this.bumpSpace(),this.isEOF())return this.error(J.EXPECT_ARGUMENT_CLOSING_BRACE,It(r,this.clonePosition()));switch(this.char()){
|
|
374
|
+
// Simple argument: `{name}`
|
|
375
|
+
case 125/* `}` */:// `}`
|
|
376
|
+
return this.bump(),{val:{type:Q.argument,
|
|
377
|
+
// value does not include the opening and closing braces.
|
|
378
|
+
value:n,location:It(r,this.clonePosition())},err:null};
|
|
379
|
+
// Argument with options: `{name, format, ...}`
|
|
380
|
+
case 44/* `,` */:return this.bump(),// `,`
|
|
381
|
+
this.bumpSpace(),this.isEOF()?this.error(J.EXPECT_ARGUMENT_CLOSING_BRACE,It(r,this.clonePosition())):this.parseArgumentOptions(t,e,n,r);default:return this.error(J.MALFORMED_ARGUMENT,It(r,this.clonePosition()))}},
|
|
382
|
+
/**
|
|
383
|
+
* Advance the parser until the end of the identifier, if it is currently on
|
|
384
|
+
* an identifier character. Return an empty string otherwise.
|
|
385
|
+
*/
|
|
386
|
+
t.prototype.parseIdentifierIfPossible=function(){var t=this.clonePosition(),e=this.offset(),r=xt(this.message,e),n=e+r.length;return this.bumpTo(n),{value:r,location:It(t,this.clonePosition())}},t.prototype.parseArgumentOptions=function(t,e,r,n){var i,o=this.clonePosition(),s=this.parseIdentifierIfPossible().value,a=this.clonePosition();
|
|
387
|
+
// Parse this range:
|
|
388
|
+
// {name, type, style}
|
|
389
|
+
// ^---^
|
|
390
|
+
switch(s){case"":
|
|
391
|
+
// Expecting a style string number, date, time, plural, selectordinal, or select.
|
|
392
|
+
return this.error(J.EXPECT_ARGUMENT_TYPE,It(o,a));case"number":case"date":case"time":
|
|
393
|
+
// Parse this range:
|
|
394
|
+
// {name, number, style}
|
|
395
|
+
// ^-------^
|
|
396
|
+
this.bumpSpace();var h=null;if(this.bumpIf(",")){this.bumpSpace();var l=this.clonePosition();if((b=this.parseSimpleArgStyleIfPossible()).err)return b;if(0===(p=Kt(b.val)).length)return this.error(J.EXPECT_ARGUMENT_STYLE,It(this.clonePosition(),this.clonePosition()));h={style:p,styleLocation:It(l,this.clonePosition())}}if((y=this.tryParseArgumentClose(n)).err)return y;var c=It(n,this.clonePosition());
|
|
397
|
+
// Extract style or skeleton
|
|
398
|
+
if(h&&$t(null==h?void 0:h.style,"::",0)){
|
|
399
|
+
// Skeleton starts with `::`.
|
|
400
|
+
var u=Xt(h.style.slice(2));if("number"===s)return(b=this.parseNumberSkeletonFromString(u,h.styleLocation)).err?b:{val:{type:Q.number,value:r,location:c,style:b.val},err:null};if(0===u.length)return this.error(J.EXPECT_DATE_TIME_SKELETON,c);var f=u;
|
|
401
|
+
// Get "best match" pattern only if locale is passed, if not, let it
|
|
402
|
+
// pass as-is where `parseDateTimeSkeleton()` will throw an error
|
|
403
|
+
// for unsupported patterns.
|
|
404
|
+
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 s=1+(1&o),a=o<2?1:3+(o>>1),h=Pt(e);for("H"!=h&&"k"!=h||(a=0);a-- >0;)r+="a";for(;s-- >0;)r=h+r}else r+="J"===i?"H":i}return r}(u,this.locale));var p={type:q.dateTime,pattern:f,location:h.styleLocation,parsedOptions:this.shouldParseSkeletons?gt(f):{}};return{val:{type:"date"===s?Q.date:Q.time,value:r,location:c,style:p},err:null}}
|
|
405
|
+
// Regular style or no style.
|
|
406
|
+
return{val:{type:"number"===s?Q.number:"date"===s?Q.date:Q.time,value:r,location:c,style:null!==(i=null==h?void 0:h.style)&&void 0!==i?i:null},err:null};case"plural":case"selectordinal":case"select":
|
|
407
|
+
// Parse this range:
|
|
408
|
+
// {name, plural, options}
|
|
409
|
+
// ^---------^
|
|
410
|
+
var m=this.clonePosition();if(this.bumpSpace(),!this.bumpIf(","))return this.error(J.EXPECT_SELECT_ARGUMENT_OPTIONS,It(m,tt({},m)));this.bumpSpace();
|
|
411
|
+
// Parse offset:
|
|
412
|
+
// {name, plural, offset:1, options}
|
|
413
|
+
// ^-----^
|
|
414
|
+
// or the first option:
|
|
415
|
+
// {name, plural, one {...} other {...}}
|
|
416
|
+
// ^--^
|
|
417
|
+
var g=this.parseIdentifierIfPossible(),d=0;if("select"!==s&&"offset"===g.value){if(!this.bumpIf(":"))return this.error(J.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,It(this.clonePosition(),this.clonePosition()));var b;if(this.bumpSpace(),(b=this.tryParseDecimalInteger(J.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,J.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE)).err)return b;
|
|
418
|
+
// Parse another identifier for option parsing
|
|
419
|
+
this.bumpSpace(),g=this.parseIdentifierIfPossible(),d=b.val}var y,E=this.tryParsePluralOrSelectOptions(t,s,e,g);if(E.err)return E;if((y=this.tryParseArgumentClose(n)).err)return y;var v=It(n,this.clonePosition());return"select"===s?{val:{type:Q.select,value:r,options:jt(E.val),location:v},err:null}:{val:{type:Q.plural,value:r,options:jt(E.val),offset:d,pluralType:"plural"===s?"cardinal":"ordinal",location:v},err:null};default:return this.error(J.INVALID_ARGUMENT_TYPE,It(o,a))}},t.prototype.tryParseArgumentClose=function(t){
|
|
420
|
+
// Parse: {value, number, ::currency/GBP }
|
|
421
|
+
return this.isEOF()||125/* `}` */!==this.char()?this.error(J.EXPECT_ARGUMENT_CLOSING_BRACE,It(t,this.clonePosition())):(this.bump(),{val:!0,err:null})},
|
|
422
|
+
/**
|
|
423
|
+
* See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659
|
|
424
|
+
*/
|
|
425
|
+
t.prototype.parseSimpleArgStyleIfPossible=function(){for(var t=0,e=this.clonePosition();!this.isEOF();){switch(this.char()){case 39/* `'` */:
|
|
426
|
+
// Treat apostrophe as quoting but include it in the style part.
|
|
427
|
+
// Find the end of the quoted literal text.
|
|
428
|
+
this.bump();var r=this.clonePosition();if(!this.bumpUntil("'"))return this.error(J.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE,It(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");
|
|
429
|
+
// Parse the skeleton
|
|
430
|
+
for(var e=t.split(dt).filter((function(t){return t.length>0})),r=[],n=0,i=e;n<i.length;n++){var o=i[n].split("/");if(0===o.length)throw new Error("Invalid number skeleton");for(var s=o[0],a=o.slice(1),h=0,l=a;h<l.length;h++)if(0===l[h].length)throw new Error("Invalid number skeleton");r.push({stem:s,options:a})}return r}(t)}catch(t){return this.error(J.INVALID_NUMBER_SKELETON,e)}return{val:{type:q.number,tokens:r,location:e,parsedOptions:this.shouldParseSkeletons?Bt(r):{}},err:null}},
|
|
431
|
+
/**
|
|
432
|
+
* @param nesting_level The current nesting level of messages.
|
|
433
|
+
* This can be positive when parsing message fragment in select or plural argument options.
|
|
434
|
+
* @param parent_arg_type The parent argument's type.
|
|
435
|
+
* @param parsed_first_identifier If provided, this is the first identifier-like selector of
|
|
436
|
+
* the argument. It is a by-product of a previous parsing attempt.
|
|
437
|
+
* @param expecting_close_tag If true, this message is directly or indirectly nested inside
|
|
438
|
+
* between a pair of opening and closing tags. The nested message will not parse beyond
|
|
439
|
+
* the closing tag boundary.
|
|
440
|
+
*/
|
|
441
|
+
t.prototype.tryParsePluralOrSelectOptions=function(t,e,r,n){
|
|
442
|
+
// Parse:
|
|
443
|
+
// one {one apple}
|
|
444
|
+
// ^--^
|
|
445
|
+
for(var i,o=!1,s=[],a=new Set,h=n.value,l=n.location;;){if(0===h.length){var c=this.clonePosition();if("select"===e||!this.bumpIf("="))break;
|
|
446
|
+
// Try parse `={number}` selector
|
|
447
|
+
var u=this.tryParseDecimalInteger(J.EXPECT_PLURAL_ARGUMENT_SELECTOR,J.INVALID_PLURAL_ARGUMENT_SELECTOR);if(u.err)return u;l=It(c,this.clonePosition()),h=this.message.slice(c.offset,this.offset())}
|
|
448
|
+
// Duplicate selector clauses
|
|
449
|
+
if(a.has(h))return this.error("select"===e?J.DUPLICATE_SELECT_ARGUMENT_SELECTOR:J.DUPLICATE_PLURAL_ARGUMENT_SELECTOR,l);"other"===h&&(o=!0),
|
|
450
|
+
// Parse:
|
|
451
|
+
// one {one apple}
|
|
452
|
+
// ^----------^
|
|
453
|
+
this.bumpSpace();var f=this.clonePosition();if(!this.bumpIf("{"))return this.error("select"===e?J.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT:J.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT,It(this.clonePosition(),this.clonePosition()));var p=this.parseMessage(t+1,e,r);if(p.err)return p;var m=this.tryParseArgumentClose(f);if(m.err)return m;s.push([h,{value:p.val,location:It(f,this.clonePosition())}]),
|
|
454
|
+
// Keep track of the existing selectors
|
|
455
|
+
a.add(h),
|
|
456
|
+
// Prep next selector clause.
|
|
457
|
+
this.bumpSpace(),h=(i=this.parseIdentifierIfPossible()).value,l=i.location}return 0===s.length?this.error("select"===e?J.EXPECT_SELECT_ARGUMENT_SELECTOR:J.EXPECT_PLURAL_ARGUMENT_SELECTOR,It(this.clonePosition(),this.clonePosition())):this.requiresOtherClause&&!o?this.error(J.MISSING_OTHER_CLAUSE,It(this.clonePosition(),this.clonePosition())):{val:s,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 s=this.char();if(!(s>=48/* `0` */&&s<=57/* `9` */))break;i=!0,o=10*o+(s-48),this.bump()}var a=It(n,this.clonePosition());return i?kt(o*=r)?{val:o,err:null}:this.error(e,a):this.error(t,a)},t.prototype.offset=function(){return this.position.offset},t.prototype.isEOF=function(){return this.offset()===this.message.length},t.prototype.clonePosition=function(){
|
|
458
|
+
// This is much faster than `Object.assign` or spread.
|
|
459
|
+
return{offset:this.position.offset,line:this.position.line,column:this.position.column}},
|
|
460
|
+
/**
|
|
461
|
+
* Return the code point at the current position of the parser.
|
|
462
|
+
* Throws if the index is out of bound.
|
|
463
|
+
*/
|
|
464
|
+
t.prototype.char=function(){var t=this.position.offset;if(t>=this.message.length)throw Error("out of bound");var e=Vt(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}}},
|
|
465
|
+
/** Bump the parser to the next UTF-16 code unit. */
|
|
466
|
+
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,
|
|
467
|
+
// 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.
|
|
468
|
+
this.position.offset+=t<65536?1:2)}},
|
|
469
|
+
/**
|
|
470
|
+
* If the substring starting at the current position of the parser has
|
|
471
|
+
* the given prefix, then bump the parser to the character immediately
|
|
472
|
+
* following the prefix and return true. Otherwise, don't bump the parser
|
|
473
|
+
* and return false.
|
|
474
|
+
*/
|
|
475
|
+
t.prototype.bumpIf=function(t){if($t(this.message,t,this.offset())){for(var e=0;e<t.length;e++)this.bump();return!0}return!1},
|
|
476
|
+
/**
|
|
477
|
+
* Bump the parser until the pattern character is found and return `true`.
|
|
478
|
+
* Otherwise bump to the end of the file and return `false`.
|
|
479
|
+
*/
|
|
480
|
+
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)},
|
|
481
|
+
/**
|
|
482
|
+
* Bump the parser to the target offset.
|
|
483
|
+
* If target offset is beyond the end of the input, bump the parser to the end of the input.
|
|
484
|
+
*/
|
|
485
|
+
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}},
|
|
486
|
+
/** advance the parser through all whitespace to the next non-whitespace code unit. */
|
|
487
|
+
t.prototype.bumpSpace=function(){for(;!this.isEOF()&&Qt(this.char());)this.bump()},
|
|
488
|
+
/**
|
|
489
|
+
* Peek at the *next* Unicode codepoint in the input without advancing the parser.
|
|
490
|
+
* If the input has been exhausted, then this returns null.
|
|
491
|
+
*/
|
|
492
|
+
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}();
|
|
493
|
+
/**
|
|
494
|
+
* This check if codepoint is alphabet (lower & uppercase)
|
|
495
|
+
* @param codepoint
|
|
496
|
+
* @returns
|
|
497
|
+
*/function Wt(t){return t>=97&&t<=122||t>=65&&t<=90}function Jt(t){return 45/* '-' */===t||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}
|
|
498
|
+
/**
|
|
499
|
+
* Code point equivalent of regex `\p{White_Space}`.
|
|
500
|
+
* From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt
|
|
501
|
+
*/function Qt(t){return t>=9&&t<=13||32===t||133===t||t>=8206&&t<=8207||8232===t||8233===t}
|
|
502
|
+
/**
|
|
503
|
+
* Code point equivalent of regex `\p{Pattern_Syntax}`.
|
|
504
|
+
* See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt
|
|
505
|
+
*/function qt(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 te(t){t.forEach((function(t){if(delete t.location,at(t)||ht(t))for(var e in t.options)delete t.options[e].location,te(t.options[e].value);else it(t)&&ut(t.style)||(ot(t)||st(t))&&ft(t.style)?delete t.style.location:ct(t)&&te(t.children)}))}function ee(t,e){void 0===e&&(e={}),e=tt({shouldParseSkeletons:!0,requiresOtherClause:!0},e);var r=new zt(t,e).parse();if(r.err){var n=SyntaxError(J[r.err.kind]);
|
|
506
|
+
// @ts-expect-error Assign to error object
|
|
507
|
+
throw n.location=r.err.location,
|
|
508
|
+
// @ts-expect-error Assign to error object
|
|
509
|
+
n.originalMessage=r.err.message,n}return(null==e?void 0:e.captureLocation)||te(r.val),r.val}
|
|
510
|
+
|
|
511
|
+
// Main
|
|
512
|
+
|
|
513
|
+
function re(t,e){var r=e&&e.cache?e.cache:ce,n=e&&e.serializer?e.serializer:ae;return(e&&e.strategy?e.strategy:se)(t,{cache:r,serializer:n})}
|
|
514
|
+
|
|
515
|
+
// Strategy
|
|
516
|
+
|
|
517
|
+
function ne(t,e,r,n){var i,o=null==(i=n)||"number"==typeof i||"boolean"==typeof i?n:r(n),s=e.get(o);return void 0===s&&(s=t.call(this,n),e.set(o,s)),s}function ie(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 oe(t,e,r,n,i){return r.bind(e,t,n,i)}function se(t,e){return oe(t,this,1===t.length?ne:ie,e.cache.create(),e.serializer)}
|
|
518
|
+
// Serializer
|
|
519
|
+
var ae=function(){return JSON.stringify(arguments)};
|
|
520
|
+
|
|
521
|
+
// Cache
|
|
522
|
+
|
|
523
|
+
function he(){this.cache=Object.create(null)}he.prototype.get=function(t){return this.cache[t]},he.prototype.set=function(t,e){this.cache[t]=e};var le,ce={create:function(){
|
|
524
|
+
// @ts-ignore
|
|
525
|
+
return new he}},ue={variadic:function(t,e){return oe(t,this,ie,e.cache.create(),e.serializer)},monadic:function(t,e){return oe(t,this,ne,e.cache.create(),e.serializer)}};!function(t){
|
|
526
|
+
// When we have a placeholder but no value to format
|
|
527
|
+
t.MISSING_VALUE="MISSING_VALUE",
|
|
528
|
+
// When value supplied is invalid
|
|
529
|
+
t.INVALID_VALUE="INVALID_VALUE",
|
|
530
|
+
// When we need specific Intl API but it's not available
|
|
531
|
+
t.MISSING_INTL_API="MISSING_INTL_API"}(le||(le={}));var fe,pe=/** @class */function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.code=r,i.originalMessage=n,i}return W(e,t),e.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},e}(Error),me=/** @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('", "'),'"'),le.INVALID_VALUE,i)||this}return W(e,t),e}(pe),ge=/** @class */function(t){function e(e,r,n){return t.call(this,'Value for "'.concat(e,'" must be of type ').concat(r),le.INVALID_VALUE,n)||this}return W(e,t),e}(pe),de=/** @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,'"'),le.MISSING_VALUE,r)||this}return W(e,t),e}(pe);function be(t){return"function"==typeof t}
|
|
532
|
+
// TODO(skeleton): add skeleton support
|
|
533
|
+
function ye(t,e,r,n,i,o,
|
|
534
|
+
// For debugging
|
|
535
|
+
s){
|
|
536
|
+
// Hot path for straight simple msg translations
|
|
537
|
+
if(1===t.length&&rt(t[0]))return[{type:fe.literal,value:t[0].value}];for(var a=[],h=0,l=t;h<l.length;h++){var c=l[h];
|
|
538
|
+
// Exit early for string parts.
|
|
539
|
+
if(rt(c))a.push({type:fe.literal,value:c.value});else
|
|
540
|
+
// TODO: should this part be literal type?
|
|
541
|
+
// Replace `#` in plural rules with the actual numeric value.
|
|
542
|
+
if(lt(c))"number"==typeof o&&a.push({type:fe.literal,value:r.getNumberFormat(e).format(o)});else{var u=c.value;
|
|
543
|
+
// Enforce that all required values are provided by the caller.
|
|
544
|
+
if(!i||!(u in i))throw new de(u,s);var f=i[u];if(nt(c))f&&"string"!=typeof f&&"number"!=typeof f||(f="string"==typeof f||"number"==typeof f?String(f):""),a.push({type:"string"==typeof f?fe.literal:fe.object,value:f});else
|
|
545
|
+
// Recursively format plural and select parts' option — which can be a
|
|
546
|
+
// nested pattern structure. The choosing of the option to use is
|
|
547
|
+
// abstracted-by and delegated-to the part helper object.
|
|
548
|
+
if(ot(c)){var p="string"==typeof c.style?n.date[c.style]:ft(c.style)?c.style.parsedOptions:void 0;a.push({type:fe.literal,value:r.getDateTimeFormat(e,p).format(f)})}else if(st(c)){p="string"==typeof c.style?n.time[c.style]:ft(c.style)?c.style.parsedOptions:n.time.medium;a.push({type:fe.literal,value:r.getDateTimeFormat(e,p).format(f)})}else if(it(c)){(p="string"==typeof c.style?n.number[c.style]:ut(c.style)?c.style.parsedOptions:void 0)&&p.scale&&(f*=p.scale||1),a.push({type:fe.literal,value:r.getNumberFormat(e,p).format(f)})}else{if(ct(c)){var m=c.children,g=c.value,d=i[g];if(!be(d))throw new ge(g,"function",s);var b=d(ye(m,e,r,n,i,o).map((function(t){return t.value})));Array.isArray(b)||(b=[b]),a.push.apply(a,b.map((function(t){return{type:"string"==typeof t?fe.literal:fe.object,value:t}})))}if(at(c)){if(!(y=c.options[f]||c.options.other))throw new me(c.value,f,Object.keys(c.options),s);a.push.apply(a,ye(y.value,e,r,n,i))}else if(ht(c)){var y;if(!(y=c.options["=".concat(f)])){if(!Intl.PluralRules)throw new pe('Intl.PluralRules is not available in this environment.\nTry polyfilling it using "@formatjs/intl-pluralrules"\n',le.MISSING_INTL_API,s);var E=r.getPluralRules(e,{type:c.pluralType}).select(f-(c.offset||0));y=c.options[E]||c.options.other}if(!y)throw new me(c.value,f,Object.keys(c.options),s);a.push.apply(a,ye(y.value,e,r,n,i,f-(c.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===fe.literal&&e.type===fe.literal?r.value+=e.value:t.push(e),t}),[])}(a)}
|
|
549
|
+
/*
|
|
550
|
+
Copyright (c) 2014, Yahoo! Inc. All rights reserved.
|
|
551
|
+
Copyrights licensed under the New BSD License.
|
|
552
|
+
See the accompanying LICENSE file for terms.
|
|
553
|
+
*/
|
|
554
|
+
// -- MessageFormat --------------------------------------------------------
|
|
555
|
+
function Ee(t,e){return e?Object.keys(t).reduce((function(r,n){var i,o;return r[n]=(i=t[n],(o=e[n])?tt(tt(tt({},i||{}),o||{}),Object.keys(i).reduce((function(t,e){return t[e]=tt(tt({},i[e]),o[e]||{}),t}),{})):i),r}),tt({},t)):t}function ve(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"}(fe||(fe={}));var Se=/** @class */function(){function t(e,r,n,i){var o,s=this;if(void 0===r&&(r=t.defaultLocale),this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(t){var e=s.formatToParts(t);
|
|
556
|
+
// Hot path for straight simple msg translations
|
|
557
|
+
if(1===e.length)return e[0].value;var r=e.reduce((function(t,e){return t.length&&e.type===fe.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 ye(s.ast,s.locales,s.formatters,s.formats,t,void 0,s.message)},this.resolvedOptions=function(){return{locale:s.resolvedLocale.toString()}},this.getAst=function(){return s.ast},
|
|
558
|
+
// Defined first because it's used to build the format pattern.
|
|
559
|
+
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`");
|
|
560
|
+
// Parse string messages into an AST.
|
|
561
|
+
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.");
|
|
562
|
+
// Creates a new object with the specified `formats` merged with the default
|
|
563
|
+
// formats.
|
|
564
|
+
this.formats=Ee(t.formats,n),this.formatters=i&&i.formatters||(void 0===(o=this.formatterCache)&&(o={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:re((function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return new((t=Intl.NumberFormat).bind.apply(t,et([void 0],e,!1)))}),{cache:ve(o.number),strategy:ue.variadic}),getDateTimeFormat:re((function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return new((t=Intl.DateTimeFormat).bind.apply(t,et([void 0],e,!1)))}),{cache:ve(o.dateTime),strategy:ue.variadic}),getPluralRules:re((function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return new((t=Intl.PluralRules).bind.apply(t,et([void 0],e,!1)))}),{cache:ve(o.pluralRules),strategy:ue.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=ee,
|
|
565
|
+
// Default format options used as the prototype of the `formats` provided to the
|
|
566
|
+
// constructor. These are used when constructing the internal Intl.NumberFormat
|
|
567
|
+
// and Intl.DateTimeFormat instances.
|
|
568
|
+
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}(),Te=Se;
|
|
569
|
+
/*
|
|
570
|
+
Copyright (c) 2014, Yahoo! Inc. All rights reserved.
|
|
571
|
+
Copyrights licensed under the New BSD License.
|
|
572
|
+
See the accompanying LICENSE file for terms.
|
|
573
|
+
*/const He={},_e=(t,e,r)=>r?(e in He||(He[e]={}),t in He[e]||(He[e][t]=r),r):r,Be=(t,e)=>{if(null==e)return;if(e in He&&t in He[e])return He[e][t];const r=Fe(e);for(let n=0;n<r.length;n++){const i=Ce(r[n],t);if(i)return _e(t,e,i)}};let Ae;const Le=k({});function Pe(t){return t in Ae}function Ce(t,e){if(!Pe(t))return null;const r=function(t){return Ae[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 Ne(t,...e){delete He[t],Le.update((r=>(r[t]=Y.all([r[t]||{},...e]),r)))}G([Le],(([t])=>Object.keys(t))),Le.subscribe((t=>Ae=t));const Ie={};function we(t){return Ie[t]}function Oe(t){return null!=t&&Fe(t).some((t=>{var e;return null===(e=we(t))||void 0===e?void 0:e.size}))}const Me={};function Re(t){if(!Oe(t))return t in Me?Me[t]:Promise.resolve();const e=function(t){return Fe(t).map((t=>{const e=we(t);return[t,e?[...e]:[]]})).filter((([,t])=>t.length>0))}(t);return Me[t]=Promise.all(e.map((([t,e])=>function(t,e){const r=Promise.all(e.map((e=>(function(t,e){Ie[t].delete(e),0===Ie[t].size&&delete Ie[t]}(t,e),e().then((t=>t.default||t))))));return r.then((e=>Ne(t,...e)))}(t,e)))).then((()=>{if(Oe(t))return Re(t);delete Me[t]})),Me[t]}const Ue={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 De(){return Ue}const ke=k(!1);let Ge;const xe=k(null);function $e(t){return t.split("-").map(((t,e,r)=>r.slice(0,e+1).join("-"))).reverse()}function Fe(t,e=De().fallbackLocale){const r=$e(t);return e?[...new Set([...r,...$e(e)])]:r}function je(){return null!=Ge?Ge:void 0}xe.subscribe((t=>{Ge=null!=t?t:void 0,"undefined"!=typeof window&&null!=t&&document.documentElement.setAttribute("lang",t)}));const Ve={...xe,set:t=>{if(t&&function(t){if(null==t)return;const e=Fe(t);for(let t=0;t<e.length;t++){const r=e[t];if(Pe(r))return r}}(t)&&Oe(t)){const{loadingDelay:e}=De();let r;return"undefined"!=typeof window&&null!=je()&&e?r=window.setTimeout((()=>ke.set(!0)),e):ke.set(!0),Re(t).then((()=>{xe.set(t)})).finally((()=>{clearTimeout(r),ke.set(!1)}))}return xe.set(t)}},Xe=t=>{const e=Object.create(null);return r=>{const n=JSON.stringify(r);return n in e?e[n]:e[n]=t(r)}},Ke=(t,e)=>{const{formats:r}=De();if(t in r&&e in r[t])return r[t][e];throw new Error(`[svelte-i18n] Unknown "${e}" ${t} format.`)},Ze=Xe((({locale:t,format:e,...r})=>{if(null==t)throw new Error('[svelte-i18n] A "locale" must be set to format numbers');return e&&(r=Ke("number",e)),new Intl.NumberFormat(t,r)})),Ye=Xe((({locale:t,format:e,...r})=>{if(null==t)throw new Error('[svelte-i18n] A "locale" must be set to format dates');return e?r=Ke("date",e):0===Object.keys(r).length&&(r=Ke("date","short")),new Intl.DateTimeFormat(t,r)})),ze=Xe((({locale:t,format:e,...r})=>{if(null==t)throw new Error('[svelte-i18n] A "locale" must be set to format time values');return e?r=Ke("time",e):0===Object.keys(r).length&&(r=Ke("time","short")),new Intl.DateTimeFormat(t,r)})),We=Xe(((t,e=je())=>new Te(t,e,De().formats,{ignoreTag:De().ignoreTag}))),Je=(t,e={})=>{var r,n,i,o;let s=e;"object"==typeof t&&(s=t,t=s.id);const{values:a,locale:h=je(),default:l}=s;if(null==h)throw new Error("[svelte-i18n] Cannot format a message without first setting the initial locale.");let c=Be(t,h);if(c){if("string"!=typeof c)return console.warn(`[svelte-i18n] Message with id "${t}" must be of type "string", found: "${typeof c}". Gettin its value through the "$format" method is deprecated; use the "json" method instead.`),c}else c=null!==(o=null!==(i=null===(n=(r=De()).handleMissingMessage)||void 0===n?void 0:n.call(r,{locale:h,id:t,defaultValue:l}))&&void 0!==i?i:l)&&void 0!==o?o:t;if(!a)return c;let u=c;try{u=We(c,h).format(a)}catch(e){e instanceof Error&&console.warn(`[svelte-i18n] Message "${t}" has syntax error:`,e.message)}return u},Qe=(t,e)=>(({locale:t=je(),...e}={})=>ze({locale:t,...e}))(e).format(t),qe=(t,e)=>(({locale:t=je(),...e}={})=>Ye({locale:t,...e}))(e).format(t),tr=(t,e)=>(({locale:t=je(),...e}={})=>Ze({locale:t,...e}))(e).format(t),er=(t,e=je())=>Be(t,e),rr=G([Ve,Le],(()=>Je));function nr(t,e){Ne(t,e)}G([Ve],(()=>Qe)),G([Ve],(()=>qe)),G([Ve],(()=>tr)),G([Ve,Le],(()=>er));const ir={en:{Translations:{sortby:"Sort by:"}},zh:{Translations:{sortby:"Sort by"}},de:{Translations:{sortby:"Sort by:"}},it:{Translations:{sortby:"Sort by:"}},fr:{Translations:{sortby:"Sort by:"}},es:{Translations:{sortby:"Sort by:"}},tr:{Translations:{sortby:"Sort by:"}},ru:{Translations:{sortby:"Sort by:"}},ro:{Translations:{sortby:"Sort by:"}},hr:{Translations:{sortby:"Sort by:"}},hu:{Translations:{sortby:"Sort by:"}},pl:{Translations:{sortby:"Sort by:"}},pt:{Translations:{sortby:"Sort by:"}},sl:{Translations:{sortby:"Sort by:"}},sr:{Translations:{sortby:"Sort by:"}}};
|
|
574
|
+
/* src/CasinoSort.svelte generated by Svelte v3.58.0 */function or(t,e,r){const n=t.slice();return n[24]=e[r],n}
|
|
575
|
+
// (101:4) {#if !isLoading}
|
|
576
|
+
function sr(t){let e,r,n,i,o,s,y,E,v,S,T,H,_,B,A,L,P,C,N,I,w,O,M,R,U,D,k,G=/*$_*/t[6]("Translations.sortby")+"",x=/*vendorSortingBy*/t[5]&&ar(t),$=Object.values(/*vendorMap*/t[7]),F=[];for(let e=0;e<$.length;e+=1)F[e]=hr(or(t,$,e));return{c(){e=c("div"),r=c("div"),n=c("div"),i=u("svg"),o=u("g"),s=u("path"),y=u("path"),E=u("path"),v=p(),S=c("div"),T=c("span"),H=f(G),_=p(),B=c("div"),x&&x.c(),A=p(),L=c("span"),P=u("svg"),C=u("path"),w=p(),O=c("div"),M=c("ul");for(let t=0;t<F.length;t+=1)F[t].c();g(s,"id","Path_5267"),g(s,"data-name","Path 5267"),g(s,"d","M526.245,343.685a3.45,3.45,0,0,1,0,6.714v13.625a.8.8,0,0,1-1.592,0V350.4a3.45,3.45,0,0,1,0-6.714V342.8a.8.8,0,1,1,1.592,0Zm-2.653,3.357a1.857,1.857,0,1,0,1.857-1.857A1.859,1.859,0,0,0,523.592,347.041Z"),g(s,"transform","translate(-206.448 0)"),g(s,"fill","#fff"),g(y,"id","Path_5268"),g(y,"data-name","Path 5268"),g(y,"d","M310.245,356.421a3.45,3.45,0,0,1,0,6.714v.888a.8.8,0,0,1-1.592,0v-.888a3.45,3.45,0,0,1,0-6.714V342.8a.8.8,0,1,1,1.592,0Zm-2.653,3.357a1.857,1.857,0,1,0,1.857-1.857A1.859,1.859,0,0,0,307.592,359.777Z"),g(y,"transform","translate(0 0)"),g(y,"fill","#fff"),g(E,"id","Path_5269"),g(E,"data-name","Path 5269"),g(E,"d","M742.245,351.645a3.45,3.45,0,0,1,0,6.714v5.665a.8.8,0,1,1-1.592,0v-5.665a3.45,3.45,0,0,1,0-6.714V342.8a.8.8,0,1,1,1.592,0ZM739.592,355a1.857,1.857,0,1,0,1.857-1.857A1.859,1.859,0,0,0,739.592,355Z"),g(E,"transform","translate(-412.896 0)"),g(E,"fill","#fff"),g(o,"id","sortby"),g(o,"transform","translate(-306 -342)"),g(i,"xmlns","http://www.w3.org/2000/svg"),g(i,"width","20"),g(i,"height","20"),g(i,"viewBox","0 0 26.003 22.819"),g(T,"class","SorterName"),g(B,"class","SorterValueContainer"),g(S,"class","SorterTextContainer"),g(n,"class","SorterMainArea"),g(C,"id","arrow"),g(C,"d","M281.541,447.921a.488.488,0,0,0,.295-.122l6.5-5.851a.488.488,0,1,0-.65-.726l-6.176,5.556-6.176-5.556h0a.488.488,0,1,0-.65.726l6.5,5.851a.488.488,0,0,0,.355.122Z"),g(C,"transform","translate(-274.511 -441.088)"),g(C,"fill","#d1d1d1"),g(P,"xmlns","http://www.w3.org/2000/svg"),g(P,"width","14"),g(P,"height","6.835"),g(P,"viewBox","0 0 14 6.835"),g(L,"class",N="TriangleInactive "+(/*isSorterActive*/t[3]?"TriangleActive":"")),g(r,"class",I="SorterSelector "+(/*isSorterActive*/t[3]?"SorterSelectorOpen":"")),g(M,"class","SorterDropdown"),b(M,"list-style-type","none"),b(M,"padding","10px 0px"),b(M,"margin","0"),g(O,"class",R="SorterDropdownContainer "+(/*isSorterActive*/t[3]?"SorterOpen":"")),g(e,"class",U="SorterContainer "+(/*addSorterSelector*/"true"==t[0]&&/*addsortingselector*/"true"==t[1]?"SorterContainerSplitt":""))},m(l,c){h(l,e,c),a(e,r),a(r,n),a(n,i),a(i,o),a(o,s),a(o,y),a(o,E),a(n,v),a(n,S),a(S,T),a(T,H),a(S,_),a(S,B),x&&x.m(B,null),a(r,A),a(r,L),a(L,P),a(P,C),a(e,w),a(e,O),a(O,M);for(let t=0;t<F.length;t+=1)F[t]&&F[t].m(M,null);D||(k=m(r,"click",/*click_handler*/t[15]),D=!0)},p(t,n){if(/*$_*/64&n&&G!==(G=/*$_*/t[6]("Translations.sortby")+"")&&d(H,G),/*vendorSortingBy*/t[5]?x?x.p(t,n):(x=ar(t),x.c(),x.m(B,null)):x&&(x.d(1),x=null),/*isSorterActive*/8&n&&N!==(N="TriangleInactive "+(/*isSorterActive*/t[3]?"TriangleActive":""))&&g(L,"class",N),/*isSorterActive*/8&n&&I!==(I="SorterSelector "+(/*isSorterActive*/t[3]?"SorterSelectorOpen":""))&&g(r,"class",I),/*Object, vendorMap, vendorSortingBy, sortBy*/416&n){let e;for($=Object.values(/*vendorMap*/t[7]),e=0;e<$.length;e+=1){const r=or(t,$,e);F[e]?F[e].p(r,n):(F[e]=hr(r),F[e].c(),F[e].m(M,null))}for(;e<F.length;e+=1)F[e].d(1);F.length=$.length}/*isSorterActive*/8&n&&R!==(R="SorterDropdownContainer "+(/*isSorterActive*/t[3]?"SorterOpen":""))&&g(O,"class",R),/*addSorterSelector, addsortingselector*/3&n&&U!==(U="SorterContainer "+(/*addSorterSelector*/"true"==t[0]&&/*addsortingselector*/"true"==t[1]?"SorterContainerSplitt":""))&&g(e,"class",U)},d(t){t&&l(e),x&&x.d(),function(t,e){for(let r=0;r<t.length;r+=1)t[r]&&t[r].d(e)}(F,t),D=!1,k()}}}
|
|
577
|
+
// (115:14) {#if vendorSortingBy}
|
|
578
|
+
function ar(t){let e,r;return{c(){e=c("span"),r=f(/*vendorSortingBy*/t[5])},m(t,n){h(t,e,n),a(e,r)},p(t,e){/*vendorSortingBy*/32&e&&d(r,/*vendorSortingBy*/t[5])},d(t){t&&l(e)}}}
|
|
579
|
+
// (129:10) {#each Object.values(vendorMap) as sort}
|
|
580
|
+
function hr(t){let e,r,n,i,o,s,u,d,b,y,E,v,S=/*sort*/t[24]+"";function T(){/*click_handler_1*/
|
|
581
|
+
return t[16](/*sort*/t[24])}return{c(){e=c("li"),r=c("label"),n=c("input"),o=p(),s=c("span"),u=p(),d=c("span"),b=f(S),y=p(),g(n,"type","radio"),g(n,"name","checkbox"),n.value="sort",n.checked=i=/*vendorSortingBy*/t[5]==/*sort*/t[24],g(s,"class","SortersCheckmark"),g(r,"class","SorterLabel"),g(e,"class","FilterItem"),e.value="sort"},m(t,i){h(t,e,i),a(e,r),a(r,n),a(r,o),a(r,s),a(r,u),a(r,d),a(d,b),a(e,y),E||(v=m(n,"click",T),E=!0)},p(e,r){t=e,/*vendorSortingBy*/32&r&&i!==(i=/*vendorSortingBy*/t[5]==/*sort*/t[24])&&(n.checked=i)},d(t){t&&l(e),E=!1,v()}}}function lr(e){let r;function n(t,e){if(!/*isLoading*/t[4])return sr}let i=n(e),o=i&&i(e);return{c(){r=c("div"),o&&o.c(),this.c=t},m(t,n){h(t,r,n),o&&o.m(r,null)
|
|
582
|
+
/*div_binding*/,e[17](r)},p(t,[e]){i===(i=n(t))&&o?o.p(t,e):(o&&o.d(1),o=i&&i(t),o&&(o.c(),o.m(r,null)))},i:t,o:t,d(t){t&&l(r),o&&o.d()
|
|
583
|
+
/*div_binding*/,e[17](null)}}}function cr(t,e,r){let n;var i,o;i=rr,o=t=>r(6,n=t),t.$$.on_destroy.push(s(i,o));let a,{lang:h=""}=e,{translationurl:l=""}=e,{clientstyling:c=""}=e,{clientstylingurl:u=""}=e,{addSorterSelector:f="false"}=e,{addsortingselector:p="false"}=e,{categoryid:m=""}=e,g=!1,d=!0,b="",y={};!function({withLocale:t,translations:e}){Ve.subscribe((r=>{null==r&&(Le.set(e),Ve.set(t))}));// maybe we will need this to make sure that the i18n is set up only once
|
|
584
|
+
/*dictionary.set(translations);
|
|
585
|
+
locale.set(_locale);*/}({withLocale:"en",translations:{}});const E={All:"All",name:"A-Z",isNew:"Newest","advancedTags(name(hot))":"Hottest"};Object.keys(ir).forEach((t=>{nr(t,ir[t])}));const v=t=>{r(5,y=t);let e=localStorage.getItem("vendorSortingBy");b=t;for(let e in E)if(E[e]===t){b=e;break}null==e?localStorage.setItem("vendorSortingBy",JSON.stringify({[m]:b})):(e=JSON.parse(e),e[m]=b,localStorage.setItem("vendorSortingBy",JSON.stringify(e))),window.postMessage({type:"ApplySorter",sortBy:b,itemId:m},window.location.href)},S=()=>{r(3,g=!g)};return t.$$set=t=>{"lang"in t&&r(10,h=t.lang),"translationurl"in t&&r(11,l=t.translationurl),"clientstyling"in t&&r(12,c=t.clientstyling),"clientstylingurl"in t&&r(13,u=t.clientstylingurl),"addSorterSelector"in t&&r(0,f=t.addSorterSelector),"addsortingselector"in t&&r(1,p=t.addsortingselector),"categoryid"in t&&r(14,m=t.categoryid)},t.$$.update=()=>{/*categoryid*/16384&t.$$.dirty&&m&&(()=>{var t;r(4,d=!1),r(3,g=!1);let e=null===(t=JSON.parse(localStorage.getItem("vendorSortingBy")))||void 0===t?void 0:t[m];r(5,y=e||"All"),r(5,y=E[e])})(),/*clientstyling, customStylingContainer*/4100&t.$$.dirty&&c&&a&&(()=>{let t=document.createElement("style");t.innerHTML=c,a.appendChild(t)})(),/*clientstylingurl, customStylingContainer*/8196&t.$$.dirty&&u&&a&&(()=>{let t=document.createElement("style");fetch(new URL(u)).then((t=>t.text())).then((e=>{t.innerHTML=e,setTimeout((()=>{a.appendChild(t)}),1)}))})(),/*translationurl*/2048&t.$$.dirty&&l&&fetch(l).then((t=>t.json())).then((t=>{Object.keys(t).forEach((e=>{nr(e,t[e])}))})).catch((t=>{console.log(t)}))},[f,p,a,g,d,y,n,E,v,S,h,l,c,u,m,()=>S(),t=>v(t),function(t){T[t?"unshift":"push"]((()=>{a=t,r(2,a)}))}]}class ur extends U{constructor(t){super();const e=document.createElement("style");e.textContent='.SorterContainer{color:#fff;position:relative;z-index:16}.SorterSelector{background-color:#58586B;display:flex;position:relative;padding:10px 16px;border-radius:5px;justify-content:space-between;align-items:center;cursor:pointer}.SorterSelector.SorterSelectorOpen{border-radius:5px 5px 0 0}.SorterMainArea{display:flex;align-items:center}.SorterMainArea svg{margin-right:16px}.SorterName{font-size:11px;line-height:12px;color:#D1D1D1;text-transform:uppercase}.SorterTextContainer{display:flex;flex-direction:column}.SorterValueContainer{font-size:14px;line-height:16px;font-weight:300}.TriangleInactive{display:block;color:currentColor;margin:0 0 0 15px;transition:all 0.5s}.TriangleActive{transform:rotate(180deg);position:relative;top:2px}.SorterDropdownContainer{padding:0;background:rgb(88, 88, 107);background:linear-gradient(180deg, rgba(88, 88, 107, 0.9) 0%, rgba(7, 7, 42, 0.9) 95%);display:flex;flex-direction:column;align-items:center;transition:max-height 0.15s ease-out;max-height:0;border-radius:0 0 5px 5px;position:absolute;top:35px;margin-bottom:40px;overflow:hidden;margin:0}.SorterDropdownContainer.SorterOpen{width:100%;max-height:fit-content;transition:max-height 0.25s ease-in}.FilterItem{position:relative}.FilterItem label{font-size:14px;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;-webkit-user-select:none;-ms-user-select:none;user-select:none}.FilterItem input{cursor:pointer;margin-right:10px}.FilterItem:hover input~.SortersCheckmark{background-color:transparent;border:1px solid #D0046C}.FilterItem input:checked~.SortersCheckmark{background-color:#D0046C;border:1px solid #D0046C}.FilterItem .SortersCheckmark{transition:all 0.05s ease-in;margin:0 15px}.FilterItem .SortersCheckmark:after{content:"";position:absolute;left:9px;display:none}.FilterItem input:checked~.SortersCheckmark:after{display:block}.FilterItem .SortersCheckmark:after{left:8px;top:4px;width:5px;height:10px;border:1px solid white;border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.SorterContainerSplitt .FilterItemWithLogos .SortersCheckmark{margin:0}.SorterLabel input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.SorterLabel .SortersCheckmark{border-radius:8px;position:relative;height:22px;width:22px;min-width:22px;background-color:transparent;border:1px solid #fff}.SorterLabel input:checked+span{font-weight:600}@media only screen and (max-width: 768px){.SorterSelector{max-width:initial}.SorterContainerSplitt .SorterSelector{padding:7px}.SorterContainerSplitt .SorterMainArea svg{margin:0 10px}.SorterLabel .SortersCheckmark{margin-right:15px}.SorterContainerSplitt .FilterItemWithLogos .SortersCheckmark{margin:0 20px 0 0}}',this.shadowRoot.appendChild(e),R(this,{target:this.shadowRoot,props:y(this.attributes),customElement:!0},cr,lr,o,{lang:10,translationurl:11,clientstyling:12,clientstylingurl:13,addSorterSelector:0,addsortingselector:1,categoryid:14},null),t&&(t.target&&h(t.target,this,t.anchor),t.props&&(this.$set(t.props),N()))}static get observedAttributes(){return["lang","translationurl","clientstyling","clientstylingurl","addSorterSelector","addsortingselector","categoryid"]}get lang(){return this.$$.ctx[10]}set lang(t){this.$$set({lang:t}),N()}get translationurl(){return this.$$.ctx[11]}set translationurl(t){this.$$set({translationurl:t}),N()}get clientstyling(){return this.$$.ctx[12]}set clientstyling(t){this.$$set({clientstyling:t}),N()}get clientstylingurl(){return this.$$.ctx[13]}set clientstylingurl(t){this.$$set({clientstylingurl:t}),N()}get addSorterSelector(){return this.$$.ctx[0]}set addSorterSelector(t){this.$$set({addSorterSelector:t}),N()}get addsortingselector(){return this.$$.ctx[1]}set addsortingselector(t){this.$$set({addsortingselector:t}),N()}get categoryid(){return this.$$.ctx[14]}set categoryid(t){this.$$set({categoryid:t}),N()}}return!customElements.get("casino-sort")&&customElements.define("casino-sort",ur),ur}));
|
|
586
|
+
//# sourceMappingURL=casino-sort.js.map
|