PageSourceSearch

https://hongkongfreetours.com/chunk-3X2AQOXA.js

js hongkongfreetours.com collected 2026-09-25 03:58:45 UTC 52,994 bytes, 199 lines download raw bytes

1import{a as Ze,b as We}from"./chunk-4K3IQCCX.js";import{a as Ye}from"./chunk-7MERB2HX.js";import{a as je,b as qe,c as Qe}from"./chunk-Y3G2ILV5.js";import{e as ze,h as $e,i as Oe,k as Ke,l as He}from"./chunk-WEW3KDPM.js";import{a as P}from"./chunk-HMGS6GZZ.js";import"./chunk-HUU4VPAK.js";import{a as Ge}from"./chunk-BY6KLEAT.js";import{a as Z}from"./chunk-DYW25OHD.js";import{a as Ue}from"./chunk-OBK7MUJ2.js";import{b as ve}from"./chunk-PDIZ7BIX.js";import{b as Be,c as te}from"./chunk-T75ILFUI.js";import{a as Pe}from"./chunk-DQLK5L4S.js";import{a as Ne,e as ke,f as Me,j as Fe,n as Ae}from"./chunk-Q57ZUUN7.js";import{a as Le,b as Re}from"./chunk-KIBYKFUI.js";import{E as Se,P as Ve}from"./chunk-5RD455ER.js";import{t as Te,x as De,y as Ee}from"./chunk-M2HZIV76.js";import{g as xe,i as ye,j as Ce,k as Ie,o as we}from"./chunk-TREV55YG.js";import{Ab as d,Bb as p,Cb as f,Db as y,Gb as q,H as Y,Hb as z,Ib as $,Kb as A,Kc as N,Lc as Q,Rb as D,Sa as me,Tb as c,Ua as u,Wb as H,Xb as he,Yb as O,Z as ue,Za as de,Zb as G,_ as le,a as oe,b as ae,cc as E,da as F,db as M,dc as x,ec as B,fc as K,hb as R,ia as g,ic as fe,ja as b,jb as I,jc as ge,ka as v,kc as be,la as J,lb as U,lc as _e,ma as pe,r as se,s as W,sa as w,tb as C,ub as X,vb as ee,wa as ce,xa as L}from"./chunk-TXNQTIRA.js";var it=["data-p-icon","angle-down"],Je=(()=>{class i extends Z{static \u0275fac=(()=>{let e;return function(n){return(e||(e=L(i)))(n||i)}})();static \u0275cmp=M({type:i,selectors:[["","data-p-icon","angle-down"]],features:[R],attrs:it,decls:1,vars:0,consts:[["d","M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z","fill","currentColor"]],template:function(t,n){t&1&&(v(),q(0,"path",0))},encapsulation:2})}return i})();var rt=["data-p-icon","angle-up"],Xe=(()=>{class i extends Z{static \u0275fac=(()=>{let e;return function(n){return(e||(e=L(i)))(n||i)}})();static \u0275cmp=M({type:i,selectors:[["","data-p-icon","angle-up"]],features:[R],attrs:rt,decls:1,vars:0,consts:[["d","M10.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z","fill","currentColor"]],template:function(t,n){t&1&&(v(),q(0,"path",0))},encapsulation:2})}return i})();var et=`
2    .p-inputnumber {
3        display: inline-flex;
4        position: relative;
5    }
6
7    .p-inputnumber-button {
8        display: flex;
9        align-items: center;
10        justify-content: center;
11        flex: 0 0 auto;
12        cursor: pointer;
13        background: dt('inputnumber.button.background');
14        color: dt('inputnumber.button.color');
15        width: dt('inputnumber.button.width');
16        transition:
17            background dt('inputnumber.transition.duration'),
18            color dt('inputnumber.transition.duration'),
19            border-color dt('inputnumber.transition.duration'),
20            outline-color dt('inputnumber.transition.duration');
21    }
22
23    .p-inputnumber-button:disabled {
24        cursor: auto;
25    }
26
27    .p-inputnumber-button:not(:disabled):hover {
28        background: dt('inputnumber.button.hover.background');
29        color: dt('inputnumber.button.hover.color');
30    }
31
32    .p-inputnumber-button:not(:disabled):active {
33        background: dt('inputnumber.button.active.background');
34        color: dt('inputnumber.button.active.color');
35    }
36
37    .p-inputnumber-stacked .p-inputnumber-button {
38        position: relative;
39        flex: 1 1 auto;
40        border: 0 none;
41    }
42
43    .p-inputnumber-stacked .p-inputnumber-button-group {
44        display: flex;
45        flex-direction: column;
46        position: absolute;
47        inset-block-start: 1px;
48        inset-inline-end: 1px;
49        height: calc(100% - 2px);
50        z-index: 1;
51    }
52
53    .p-inputnumber-stacked .p-inputnumber-increment-button {
54        padding: 0;
55        border-start-end-radius: calc(dt('inputnumber.button.border.radiu
55s') - 1px);
56    }
57
58    .p-inputnumber-stacked .p-inputnumber-decrement-button {
59        padding: 0;
60        border-end-end-radius: calc(dt('inputnumber.button.border.radius') - 1px);
61    }
62
63    .p-inputnumber-horizontal .p-inputnumber-button {
64        border: 1px solid dt('inputnumber.button.border.color');
65    }
66
67    .p-inputnumber-horizontal .p-inputnumber-button:hover {
68        border-color: dt('inputnumber.button.hover.border.color');
69    }
70
71    .p-inputnumber-horizontal .p-inputnumber-button:active {
72        border-color: dt('inputnumber.button.active.border.color');
73    }
74
75    .p-inputnumber-horizontal .p-inputnumber-increment-button {
76        order: 3;
77        border-start-end-radius: dt('inputnumber.button.border.radius');
78        border-end-end-radius: dt('inputnumber.button.border.radius');
79        border-inline-start: 0 none;
80    }
81
82    .p-inputnumber-horizontal .p-inputnumber-input {
83        order: 2;
84        border-radius: 0;
85    }
86
87    .p-inputnumber-horizontal .p-inputnumber-decrement-button {
88        order: 1;
89        border-start-start-radius: dt('inputnumber.button.border.radius');
90        border-end-start-radius: dt('inputnumber.button.border.radius');
91        border-inline-end: 0 none;
92    }
93
94    .p-floatlabel:has(.p-inputnumber-horizontal) label {
95        margin-inline-start: dt('inputnumber.button.width');
96    }
97
98    .p-inputnumber-vertical {
99        flex-direction: column;
100    }
101
102    .p-inputnumber-vertical .p-inputnumber-button {
103        border: 1px solid dt('inputnumber.button.border.color');
104        padding: dt('inputnumber.button.vertical.padding');
105    }
106
107    .p-inputnumber-vertical .p-inputnumber-button:hover {
108        border-color: dt('inputnumber.button.hover.border.color');
109    }
110
111    .p-inputnumber-vertical .p-inputnumber-button:active {
112        border-color: dt('inputnumber.button.active.border.color');
113    }
114
115    .p-inputnumber-vertical .p-inputnumber-increment-button {
116        order: 1;
117        border-start-start-radius: dt('inputnumber.button.border.radius');
118        border-start-end-radius: dt('inputnumber.button.border.radius');
119        width: 100%;
120        border-block-end: 0 none;
121    }
122
123    .p-inputnumber-vertical .p-inputnumber-input {
124        order: 2;
125        border-radius: 0;
126        text-align: center;
127    }
128
129    .p-inputnumber-vertical .p-inputnumber-decrement-button {
130        order: 3;
131        border-end-start-radius: dt('inputnumber.button.border.radius');
132        border-end-end-radius: dt('inputnumber.button.border.radius');
133        width: 100%;
134        border-block-start: 0 none;
135    }
136
137    .p-inputnumber-input {
138        flex: 1 1 auto;
139    }
140
141    .p-inputnumber-fluid {
142        width: 100%;
143    }
144
145    .p-inputnumber-fluid .p-inputnumber-input {
146        width: 1%;
147    }
148
149    .p-inputnumber-fluid.p-inputnumber-vertical .p-inputnumber-input {
150        width: 100%;
151    }
152
153    .p-inputnumber:has(.p-inputtext-sm) .p-inputnumber-button .p-icon {
154        font-size: dt('form.field.sm.font.size');
155        width: dt('form.field.sm.font.size');
156        height: dt('form.field.sm.font.size');
157    }
158
159    .p-inputnumber:has(.p-inputtext-lg) .p-inputnumber-button .p-icon {
160        font-size: dt('form.field.lg.font.size');
161        width: dt('form.field.lg.font.size');
162        height: dt('form.field.lg.font.size');
163    }
164
165    .p-inputnumber-clear-icon {
166        position: absolute;
167        top: 50%;
168        margin-top: -0.5rem;
169        cursor: pointer;
170        inset-inline-end: dt('form.field.padding.x');
171        color: dt('form.field.icon.color');
172    }
173
174    .p-inputnumber-stacked .p-inputnumber-clear-icon, 
175    .p-inputnumber-horizontal .p-inputnumber-clear-icon {
176        inset-inline-end: calc(dt('inputnumber.button.width') + dt('form.field.padding.x'));
177    }
178`;var ot=["clearicon"],at=["incrementbuttonicon"],st=["decrementbuttonicon"],ut=["input"];function lt(i,s){if(i&1){let e=A();v(),p(0,"svg",7),D("click",function(){g(e);let n=c(2);return b(n.clear())}),f()}if(i&2){let e=c(2);E(e.cx("clearIcon")),C("data-pc-section","clearIcon")}}function pt(i,s){}function ct(i,s){i&1&&I(0,pt,0,0,"ng-template")}
178function mt(i,s){if(i&1){let e=A();p(0,"span",8),D("click",function(){g(e);let n=c(2);return b(n.clear())}),I(1,ct,1,0,null,9),f()}if(i&2){let e=c(2);E(e.cx("clearIcon")),C("data-pc-section","clearIcon"),u(),d("ngTemplateOutlet",e.clearIconTemplate||e._clearIconTemplate)}}function dt(i,s){if(i&1&&(z(0),I(1,lt,1,3,"svg",5)(2,mt,2,4,"span",6),$()),i&2){let e=c();u(),d("ngIf",!e.clearIconTemplate&&!e._clearIconTemplate),u(),d("ngIf",e.clearIconTemplate||e._clearIconTemplate)}}function ht(i,s){if(i&1&&y(0,"span",12),i&2){let e=c(2);d("ngClass",e.incrementButtonIcon),C("data-pc-section","incrementbuttonicon")}}function ft(i,s){i&1&&(v(),y(0,"svg",14)),i&2&&C("data-pc-section","incrementbuttonicon")}function gt(i,s){}function bt(i,s){i&1&&I(0,gt,0,0,"ng-template")}function _t(i,s){if(i&1&&(z(0),I(1,ft,1,1,"svg",13)(2,bt,1,0,null,9),$()),i&2){let e=c(2);u(),d("ngIf",!e.incrementButtonIconTemplate&&!e._incrementButtonIconTemplate),u(),d("ngTemplateOutlet",e.incrementButtonIconTemplate||e._incrementButtonIconTemplate)}}function xt(i,s){if(i&1&&y(0,"span",12),i&2){let e=c(2);d("ngClass",e.decrementButtonIcon),C("data-pc-section","decrementbuttonicon")}}function yt(i,s){i&1&&(v(),y(0,"svg",16)),i&2&&C("data-pc-section","decrementbuttonicon")}function Ct(i,s){}function It(i,s){i&1&&I(0,Ct,0,0,"ng-template")}function wt(i,s){if(i&1&&(z(0),I(1,yt,1,1,"svg",15)(2,It,1,0,null,9),$()),i&2){let e=c(2);u(),d("ngIf",!e.decrementButtonIconTemplate&&!e._decrementButtonIconTemplate),u(),d("ngTemplateOutlet",e.decrementButtonIconTemplate||e._decrementButtonIconTemplate)}}function vt(i,s){if(i&1){let e=A();p(0,"span")(1,"button",10),D("mousedown",function(n){g(e);let r=c();return b(r.onUpButtonMouseDown(n))})("mouseup",function(){g(e);let n=c();return b(n.onUpButtonMouseUp())})("mouseleave",function(){g(e);let n=c();return b(n.onUpButtonMouseLeave())})("keydown",function(n){g(e);let r=c();return b(r.onUpButtonKeyDown(n))})("keyup",function(){g(e);let n=c();return b(n.onUpButtonKeyUp())}),I(2,ht,1,2,"span",11)(3,_t,3,2,"ng-container",2),f(),p(4,"button",10),D("mousedown",function(n){g(e);let r=c();return b(r.onDownButtonMouseDown(n))})("mouseup",function(){g(e);let n=c();return b(n.onDownButtonMouseUp())})("mouseleave",function(){g(e);let n=c();return b(n.onDownButtonMouseLeave())})("keydown",function(n){g(e);let r=c();return b(r.onDownButtonKeyDown(n))})("keyup",function(){g(e);let n=c();return b(n.onDownButtonKeyUp())}),I(5,xt,1,2,"span",11)(6,wt,3,2,"ng-container",2),f()()}if(i&2){let e=c();E(e.cx("buttonGroup")),C("data-pc-section","buttonGroup"),u(),E(e.cn(e.cx("incrementButton"),e.incrementButtonClass)),C("disabled",e.$disabled()?"":void 0)("aria-hidden",!0)("data-pc-section","incrementbutton"),u(),d("ngIf",e.incrementButtonIcon),u(),d("ngIf",!e.incrementButtonIcon),u(),E(e.cn(e.cx("decrementButton"),e.decrementButtonClass)),C("disabled",e.$disabled()?"":void 0)("aria-hidden",!0)("data-pc-section","decrementbutton"),u(),d("ngIf",e.decrementButtonIcon),u(),d("ngIf",!e.decrementButtonIcon)}}function St(i,s){if(i&1&&y(0,"span",12),i&2){let e=c(2);d("ngClass",e.incrementButtonIcon),C("data-pc-section","incrementbuttonicon")}}function Tt(i,s){i&1&&(v(),y(0,"svg",14)),i&2&&C("data-pc-section","incrementbuttonicon")}function Dt(i,s){}function Et(i,s){i&1&&I(0,Dt,0,0,"ng-template")}function Vt(i,s){if(i&1&&(z(0),I(1,Tt,1,1,"svg",13)(2,Et,1,0,null,9),$()),i&2){let e=c(2);u(),d("ngIf",!e.incrementButtonIconTemplate&&!e._incrementButtonIconTemplate),u(),d("ngTemplateOutlet",e.incrementButtonIconTemplate||e._incrementButtonIconTemplate)}}function Bt(i,s){if(i&1){let e=A();p(0,"button",10),D("mousedown",function(n){g(e);let r=c();return b(r.onUpButtonMouseDown(n))})("mouseup",function(){g(e);let n=c();return b(n.onUpButtonMouseUp())})("mouseleave",function(){g(e);let n=c();return b(n.onUpButtonMouseLeave())})("keydown",function(n){g(e);let r=c();return b(r.onUpButtonKeyDown(n))})("keyup",function(){g(e);let n=c();return b(n.onUpButtonKeyUp())}),I(1,St,1,2,"span",11)(2,Vt,3,2,"ng-container",2),f()}if(i&2){let e=c();E(e.cx("incrementButton")),C("disabled",e.$disabled()?"":void 0)("aria-hidden",!0)("data-pc-section","incrementbutton"),u(),d("ngIf",e.incrementButtonIcon),u(),d("ngIf",!e.incrementButtonIcon)}}
178function Nt(i,s){if(i&1&&y(0,"span",12),i&2){let e=c(2);d("ngClass",e.decrementButtonIcon),C("data-pc-section","decrementbuttonicon")}}function kt(i,s){i&1&&(v(),y(0,"svg",16)),i&2&&C("data-pc-section","decrementbuttonicon")}function Mt(i,s){}function Ft(i,s){i&1&&I(0,Mt,0,0,"ng-template")}function At(i,s){if(i&1&&(z(0),I(1,kt,1,1,"svg",15)(2,Ft,1,0,null,9),$()),i&2){let e=c(2);u(),d("ngIf",!e.decrementButtonIconTemplate&&!e._decrementButtonIconTemplate),u(),d("ngTemplateOutlet",e.decrementButtonIconTemplate||e._decrementButtonIconTemplate)}}function Pt(i,s){if(i&1){let e=A();p(0,"button",10),D("mousedown",function(n){g(e);let r=c();return b(r.onDownButtonMouseDown(n))})("mouseup",function(){g(e);let n=c();return b(n.onDownButtonMouseUp())})("mouseleave",function(){g(e);let n=c();return b(n.onDownButtonMouseLeave())})("keydown",function(n){g(e);let r=c();return b(r.onDownButtonKeyDown(n))})("keyup",function(){g(e);let n=c();return b(n.onDownButtonKeyUp())}),I(1,Nt,1,2,"span",11)(2,At,3,2,"ng-container",2),f()}if(i&2){let e=c();E(e.cx("decrementButton")),C("disabled",e.$disabled()?"":void 0)("aria-hidden",!0)("data-pc-section","decrementbutton"),u(),d("ngIf",e.decrementButtonIcon),u(),d("ngIf",!e.decrementButtonIcon)}}var Lt=`
179    ${et}
180
181    /* For PrimeNG */
182    p-inputNumber.ng-invalid.ng-dirty > .p-inputtext,
183    p-input-number.ng-invalid.ng-dirty > .p-inputtext,
184    p-inputnumber.ng-invalid.ng-dirty > .p-inputtext {
185        border-color: dt('inputtext.invalid.border.color');
186    }
187
188    p-inputNumber.ng-invalid.ng-dirty > .p-inputtext:enabled:focus,
189    p-input-number.ng-invalid.ng-dirty > .p-inputtext:enabled:focus,
190    p-inputnumber.ng-invalid.ng-dirty > .p-inputtext:enabled:focus {
191        border-color: dt('inputtext.focus.border.color');
192    }
193
194    p-inputNumber.ng-invalid.ng-dirty > .p-inputtext::placeholder,
195    p-input-number.ng-invalid.ng-dirty > .p-inputtext::placeholder,
196    p-inputnumber.ng-invalid.ng-dirty > .p-inputtext::placeholder {
197        color: dt('inputtext.invalid.placeholder.color');
198    }
199`,Rt={root:({instance:i})=>["p-inputnumber p-component p-inputwrapper",{"p-inputwrapper-filled":i.$filled()||i.allowEmpty===!1,"p-inputwrapper-focus":i.focused,"p-inputnumber-stacked":i.showButtons&&i.buttonLayout==="stacked","p-inputnumber-horizontal":i.showButtons&&i.buttonLayout==="horizontal","p-inputnumber-vertical":i.showButtons&&i.buttonLayout==="vertical","p-inputnumber-fluid":i.hasFluid,"p-invalid":i.invalid()}],pcInputText:"p-inputnumber-input",buttonGroup:"p-inputnumber-button-group",incrementButton:({instance:i})=>["p-inputnumber-button p-inputnumber-increment-button",{"p-disabled":i.showButtons&&i.max()!=null&&i.maxlength()}],decrementButton:({instance:i})=>["p-inputnumber-button p-inputnumber-decrement-button",{"p-disabled":i.showButtons&&i.min()!=null&&i.minlength()}],clearIcon:"p-inputnumber-clear-icon"},tt=(()=>{class i extends Ve{name="inputnumber";theme=Lt;classes=Rt;static \u0275fac=(()=>{let e;return function(n){return(e||(e=L(i)))(n||i)}})();static \u0275prov=le({token:i,factory:i.\u0275fac})}return i})();var Ut={provide:Ne,useExisting:ue(()=>ie),multi:!0},ie=(()=>{class i extends je{injector;showButtons=!1;format=!0;buttonLayout="stacked";inputId;styleClass;placeholder;tabindex;title;ariaLabelledBy;ariaDescribedBy;ariaLabel;ariaRequired;autocomplete;incrementButtonClass;decrementButtonClass;incrementButtonIcon;decrementButtonIcon;readonly;allowEmpty=!0;locale;localeMatcher;mode="decimal";currency;currencyDisplay;useGrouping=!0;minFractionDigits;maxFractionDigits;prefix;suffix;inputStyle;inputStyleClass;showClear=!1;autofocus;onInput=new U;onFocus=new U;onBlur=new U;onKeyDown=new U;onClear=new U;clearIconTemplate;incrementButtonIconTemplate;decrementButtonIconTemplate;templates;input;_clearIconTemplate;_incrementButtonIconTemplate;_decrementButtonIconTemplate;value;focused;initialized;groupChar="";prefixChar="";suffixChar="";isSpecialChar;timer;lastValue;_numeral;numberFormat;_decimal;_decimalChar;_group;_minusSign;_currency;_prefix;_suffix;_index;_componentStyle=F(tt);ngControl=null;constructor(e){super(),this.injector=e}
199ngOnChanges(e){super.ngOnChanges(e),["locale","localeMatcher","mode","currency","currencyDisplay","useGrouping","minFractionDigits","maxFractionDigits","prefix","suffix"].some(n=>!!e[n])&&this.updateConstructParser()}ngOnInit(){super.ngOnInit(),this.ngControl=this.injector.get(ke,null,{optional:!0}),this.constructParser(),this.initialized=!0}ngAfterContentInit(){this.templates.forEach(e=>{switch(e.getType()){case"clearicon":this._clearIconTemplate=e.template;break;case"incrementbuttonicon":this._incrementButtonIconTemplate=e.template;break;case"decrementbuttonicon":this._decrementButtonIconTemplate=e.template;break}})}getOptions(){return{localeMatcher:this.localeMatcher,style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,useGrouping:this.useGrouping,minimumFractionDigits:this.minFractionDigits??void 0,maximumFractionDigits:this.maxFractionDigits??void 0}}constructParser(){this.numberFormat=new Intl.NumberFormat(this.locale,this.getOptions());let e=[...new Intl.NumberFormat(this.locale,{useGrouping:!1}).format(9876543210)].reverse(),t=new Map(e.map((n,r)=>[n,r]));this._numeral=new RegExp(`[${e.join("")}]`,"g"),this._group=this.getGroupingExpression(),this._minusSign=this.getMinusSignExpression(),this._currency=this.getCurrencyExpression(),this._decimal=this.getDecimalExpression(),this._decimalChar=this.getDecimalChar(),this._suffix=this.getSuffixExpression(),this._prefix=this.getPrefixExpression(),this._index=n=>t.get(n)}updateConstructParser(){this.initialized&&this.constructParser()}escapeRegExp(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}getDecimalExpression(){let e=this.getDecimalChar();return new RegExp(`[${e}]`,"g")}getDecimalChar(){return new Intl.NumberFormat(this.locale,ae(oe({},this.getOptions()),{useGrouping:!1})).format(1.1).replace(this._currency,"").trim().replace(this._numeral,"")}getGroupingExpression(){let e=new Intl.NumberFormat(this.locale,{useGrouping:!0});return this.groupChar=e.format(1e6).trim().replace(this._numeral,"").charAt(0),new RegExp(`[${this.groupChar}]`,"g")}getMinusSignExpression(){let e=new Intl.NumberFormat(this.locale,{useGrouping:!1});return new RegExp(`[${e.format(-1).trim().replace(this._numeral,"")}]`,"g")}getCurrencyExpression(){if(this.currency){let e=new Intl.NumberFormat(this.locale,{style:"currency",currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});return new RegExp(`[${e.format(1).replace(/\s/g,"").replace(this._numeral,"").replace(this._group,"")}]`,"g")}return new RegExp("[]","g")}getPrefixExpression(){if(this.prefix)this.prefixChar=this.prefix;else{let e=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay});this.prefixChar=e.format(1).split("1")[0]}return new RegExp(`${this.escapeRegExp(this.prefixChar||"")}`,"g")}getSuffixExpression(){if(this.suffix)this.suffixChar=this.suffix;else{let e=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});this.suffixChar=e.format(1).split("1")[1]}return new RegExp(`${this.escapeRegExp(this.suffixChar||"")}`,"g")}formatValue(e){if(e!=null){if(e==="-")return e;if(this.format){let n=new Intl.NumberFormat(this.locale,this.getOptions()).format(e);return this.prefix&&e!=this.prefix&&(n=this.prefix+n),this.suffix&&e!=this.suffix&&(n=n+this.suffix),n}return e.toString()}return""}parseValue(e){let t=new RegExp(this._suffix,""),n=new RegExp(this._prefix,""),r=new RegExp(this._currency,""),o=e.replace(t,"").replace(n,"").trim().replace(/\s/g,"").replace(r,"").replace(this._group,"").replace(this._minusSign,"-").replace(this._decimal,".").replace(this._numeral,this._index);if(o){if(o==="-")return o;let a=+o;return isNaN(a)?null:a}return null}repeat(e,t,n){if(this.readonly)return;let r=t||500;this.clearTimer(),this.timer=setTimeout(()=>{this.repeat(e,40,n)},r),this.spin(e,n)}spin(e,t){let n=(this.step()??1)*t,r=this.parseValue(this.input?.nativeElement.value)||0,o=this.validateValue(r+n);this.maxlength()&&this.maxlength()<this.formatValue(o).length||(this.updateInput(o,null,"spin",null),this.updateModel(e,o),this.handleOnInput(e,r,o))}clear(){this.value=null,this.onModelChange(this.value),this.onClear.emit()}onUpButtonMouseDown(e){if(e.button===2){this.clearTimer();return}this.$disabled()||(this.input?.nativeElement.focus(),this.repeat(e,null,1),e.preventDefault())}onUpButtonMouseUp(){this.$disabled()||this.clearTimer()}onUpButtonMouseLeave(){this.$disabled()||this.clearTimer()}onUpButtonKeyDown(e){(e.keyCode===32||e.keyCode===13)&&this.repeat(e,null,1)}onUpButtonKeyUp(){this.$disabled()||this.clearTimer()}onDownButtonMouseDown(e){if(e.button===2){this.clearTimer();return}this.$disabled()||(this.input?.nativeElement.focus(),this.repeat(e,null,-1),e.preventDefault())}onDownButtonMouseUp(){this.$disabled()||this.clearTimer()}onDownButtonMouseLeave(){this.$disabled()||this.clearTimer()}onDownButtonKeyUp(){this.$disabled()||this.clearTimer()}onDownButtonKeyDown(e){(e.keyCode===32||e.keyCode===13)&&this.repeat(e,null,-1)}
199onUserInput(e){this.readonly||(this.isSpecialChar&&(e.target.value=this.lastValue),this.isSpecialChar=!1)}onInputKeyDown(e){if(this.readonly)return;if(this.lastValue=e.target.value,e.shiftKey||e.altKey){this.isSpecialChar=!0;return}let t=e.target.selectionStart,n=e.target.selectionEnd,r=e.target.value,o=null;switch(e.altKey&&e.preventDefault(),e.key){case"ArrowUp":this.spin(e,1),e.preventDefault();break;case"ArrowDown":this.spin(e,-1),e.preventDefault();break;case"ArrowLeft":for(let a=t;a<=r.length;a++){let m=a===0?0:a-1;if(this.isNumeralChar(r.charAt(m))){this.input.nativeElement.setSelectionRange(a,a);break}}break;case"ArrowRight":for(let a=n;a>=0;a--)if(this.isNumeralChar(r.charAt(a))){this.input.nativeElement.setSelectionRange(a,a);break}break;case"Tab":case"Enter":o=this.validateValue(this.parseValue(this.input.nativeElement.value)),this.input.nativeElement.value=this.formatValue(o),this.input.nativeElement.setAttribute("aria-valuenow",o),this.updateModel(e,o);break;case"Backspace":{if(e.preventDefault(),t===n){if(t==1&&this.prefix||t==r.length&&this.suffix)break;let a=r.charAt(t-1),{decimalCharIndex:m,decimalCharIndexWithoutPrefix:l}=this.getDecimalCharIndexes(r);if(this.isNumeralChar(a)){let h=this.getDecimalLength(r);if(this._group.test(a))this._group.lastIndex=0,o=r.slice(0,t-2)+r.slice(t-1);else if(this._decimal.test(a))this._decimal.lastIndex=0,h?this.input?.nativeElement.setSelectionRange(t-1,t-1):o=r.slice(0,t-1)+r.slice(t);else if(m>0&&t>m){let S=this.isDecimalMode()&&(this.minFractionDigits||0)<h?"":"0";o=r.slice(0,t-1)+S+r.slice(t)}else l===1?(o=r.slice(0,t-1)+"0"+r.slice(t),o=this.parseValue(o)>0?o:""):o=r.slice(0,t-1)+r.slice(t)}else this.mode==="currency"&&a.search(this._currency)!=-1&&(o=r.slice(1));this.updateValue(e,o,null,"delete-single")}else o=this.deleteRange(r,t,n),this.updateValue(e,o,null,"delete-range");break}case"Delete":if(e.preventDefault(),t===n){if(t==0&&this.prefix||t==r.length-1&&this.suffix)break;let a=r.charAt(t),{decimalCharIndex:m,decimalCharIndexWithoutPrefix:l}=this.getDecimalCharIndexes(r);if(this.isNumeralChar(a)){let h=this.getDecimalLength(r);if(this._group.test(a))this._group.lastIndex=0,o=r.slice(0,t)+r.slice(t+2);else if(this._decimal.test(a))this._decimal.lastIndex=0,h?this.input?.nativeElement.setSelectionRange(t+1,t+1):o=r.slice(0,t)+r.slice(t+1);else if(m>0&&t>m){let S=this.isDecimalMode()&&(this.minFractionDigits||0)<h?"":"0";o=r.slice(0,t)+S+r.slice(t+1)}else l===1?(o=r.slice(0,t)+"0"+r.slice(t+1),o=this.parseValue(o)>0?o:""):o=r.slice(0,t)+r.slice(t+1)}this.updateValue(e,o,null,"delete-back-single")}else o=this.deleteRange(r,t,n),this.updateValue(e,o,null,"delete-range");break;case"Home":this.min()&&(this.updateModel(e,this.min()),e.preventDefault());break;case"End":this.max()&&(this.updateModel(e,this.max()),e.preventDefault());break;default:break}this.onKeyDown.emit(e)}onInputKeyPress(e){if(this.readonly)return;let t=e.which||e.keyCode,n=String.fromCharCode(t),r=this.isDecimalSign(n),o=this.isMinusSign(n);t!=13&&e.preventDefault(),!r&&e.code==="NumpadDecimal"&&(r=!0,n=this._decimalChar,t=n.charCodeAt(0));let{value:a,selectionStart:m,selectionEnd:l}=this.input.nativeElement,h=this.parseValue(a+n),S=h!=null?h.toString():"",T=a.substring(m,l),_=this.parseValue(T),k=_!=null?_.toString():"";if(m!==l&&k.length>0){this.insert(e,n,{isDecimalSign:r,isMinusSign:o});return}this.maxlength()&&S.length>this.maxlength()||(48<=t&&t<=57||o||r)&&this.insert(e,n,{isDecimalSign:r,isMinusSign:o})}onPaste(e){if(!this.$disabled()&&!this.readonly){e.preventDefault();let t=(e.clipboardData||this.document.defaultView.clipboardData).getData("Text");if(t){this.maxlength()&&(t=t.toString().substring(0,this.maxlength()));let n=this.parseValue(t);n!=null&&this.insert(e,n.toString())}}}allowMinusSign(){return this.min()==null||this.min()<0}isMinusSign(e){return this._minusSign.test(e)||e==="-"?(this._minusSign.lastIndex=0,!0):!1}isDecimalSign(e){return this._decimal.test(e)?(this._decimal.lastIndex=0,!0):!1}isDecimalMode(){return this.mode==="decimal"}getDecimalCharIndexes(e){let t=e.search(this._decimal);this._decimal.lastIndex=0;let r=e.replace(this._prefix,"").trim().replace(/\s/g,"").replace(this._currency,"").search(this._decimal);return this._decimal.lastIndex=0,{decimalCharIndex:t,decimalCharIndexWithoutPrefix:r}}getCharIndexes(e){let t=e.search(this._decimal);this._decimal.lastIndex=0;let n=e.search(this._minusSign);this._minusSign.lastIndex=0;let r=e.search(this._suffix);this._suffix.lastIndex=0;let o=e.search(this._currency);return this._currency.lastIndex=0,{decimalCharIndex:t,minusCharIndex:n,suffixCharIndex:r,currencyCharIndex:o}}insert(e,t,n={isDecimalSign:!1,isMinusSign:!1}){let r=t.search(this._minusSign);if(this._minusSign.lastIndex=0,!this.allowMinusSign()&&r!==-1)return;let o=this.input?.nativeElement.selectionStart,a=this.input?.nativeElement.selectionEnd,m=this.input?.nativeElement.value.trim(),{decimalCharIndex:l,minusCharIndex:h,suffixCharIndex:S,currencyCharIndex:T}=this.getCharIndexes(m),_;if(n.isMinusSign)o===0&&(_=m,(h===-1||a!==0)&&(_=this.insertText(m,t,0,a)),this.updateV
199alue(e,_,t,"insert"));else if(n.isDecimalSign)l>0&&o===l?this.updateValue(e,m,t,"insert"):l>o&&l<a?(_=this.insertText(m,t,o,a),this.updateValue(e,_,t,"insert")):l===-1&&this.maxFractionDigits&&(_=this.insertText(m,t,o,a),this.updateValue(e,_,t,"insert"));else{let k=this.numberFormat.resolvedOptions().maximumFractionDigits,V=o!==a?"range-insert":"insert";if(l>0&&o>l){if(o+t.length-(l+1)<=k){let j=T>=o?T-1:S>=o?S:m.length;_=m.slice(0,o)+t+m.slice(o+t.length,j)+m.slice(j),this.updateValue(e,_,t,V)}}else _=this.insertText(m,t,o,a),this.updateValue(e,_,t,V)}}insertText(e,t,n,r){if((t==="."?t:t.split(".")).length===2){let a=e.slice(n,r).search(this._decimal);return this._decimal.lastIndex=0,a>0?e.slice(0,n)+this.formatValue(t)+e.slice(r):e||this.formatValue(t)}else return r-n===e.length?this.formatValue(t):n===0?t+e.slice(r):r===e.length?e.slice(0,n)+t:e.slice(0,n)+t+e.slice(r)}deleteRange(e,t,n){let r;return n-t===e.length?r="":t===0?r=e.slice(n):n===e.length?r=e.slice(0,t):r=e.slice(0,t)+e.slice(n),r}initCursor(){let e=this.input?.nativeElement.selectionStart,t=this.input?.nativeElement.selectionEnd,n=this.input?.nativeElement.value,r=n.length,o=null,a=(this.prefixChar||"").length;n=n.replace(this._prefix,""),(e===t||e!==0||t<a)&&(e-=a);let m=n.charAt(e);if(this.isNumeralChar(m))return e+a;let l=e-1;for(;l>=0;)if(m=n.charAt(l),this.isNumeralChar(m)){o=l+a;break}else l--;if(o!==null)this.input?.nativeElement.setSelectionRange(o+1,o+1);else{for(l=e;l<r;)if(m=n.charAt(l),this.isNumeralChar(m)){o=l+a;break}else l++;o!==null&&this.input?.nativeElement.setSelectionRange(o,o)}return o||0}onInputClick(){let e=this.input?.nativeElement.value;!this.readonly&&e!==Se()&&this.initCursor()}isNumeralChar(e){return e.length===1&&(this._numeral.test(e)||this._decimal.test(e)||this._group.test(e)||this._minusSign.test(e))?(this.resetRegex(),!0):!1}resetRegex(){this._numeral.lastIndex=0,this._decimal.lastIndex=0,this._group.lastIndex=0,this._minusSign.lastIndex=0}updateValue(e,t,n,r){let o=this.input?.nativeElement.value,a=null;t!=null&&(a=this.parseValue(t),a=!a&&!this.allowEmpty?0:a,this.updateInput(a,n,r,t),this.handleOnInput(e,o,a))}handleOnInput(e,t,n){this.isValueChanged(t,n)&&(this.input.nativeElement.value=this.formatValue(n),this.input?.nativeElement.setAttribute("aria-valuenow",n),this.updateModel(e,n),this.onInput.emit({originalEvent:e,value:n,formattedValue:t}))}isValueChanged(e,t){if(t===null&&e!==null)return!0;if(t!=null){let n=typeof e=="string"?this.parseValue(e):e;return t!==n}return!1}validateValue(e){return e==="-"||e==null?null:this.min()!=null&&e<this.min()?this.min():this.max()!=null&&e>this.max()?this.max():e}updateInput(e,t,n,r){t=t||"";let o=this.input?.nativeElement.value,a=this.formatValue(e),m=o.length;if(a!==r&&(a=this.concatValues(a,r)),m===0){this.input.nativeElement.value=a,this.input.nativeElement.setSelectionRange(0,0);let h=this.initCursor()+t.length;this.input.nativeElement.setSelectionRange(h,h)}else{let l=this.input.nativeElement.selectionStart,h=this.input.nativeElement.selectionEnd;if(this.maxlength()&&a.length>this.maxlength()&&(a=a.slice(0,this.maxlength()),l=Math.min(l,this.maxlength()),h=Math.min(h,this.maxlength())),this.maxlength()&&this.maxlength()<a.length)return;this.input.nativeElement.value=a;let S=a.length;if(n==="range-insert"){let T=this.parseValue((o||"").slice(0,l)),k=(T!==null?T.toString():"").split("").join(`(${this.groupChar})?`),V=new RegExp(k,"g");V.test(a);let j=t.split("").join(`(${this.groupChar})?`),re=new RegExp(j,"g");re.test(a.slice(V.lastIndex)),h=V.lastIndex+re.lastIndex,this.input.nativeElement.setSelectionRange(h,h)}else if(S===m)n==="insert"||n==="delete-back-single"?this.input.nativeElement.setSelectionRange(h+1,h+1):n==="delete-single"?this.input.nativeElement.setSelectionRange(h-1,h-1):(n==="delete-range"||n==="spin")&&this.input.nativeElement.setSelectionRange(h,h);else if(n==="delete-back-single"){let T=o.charAt(h-1),_=o.charAt(h),k=m-S,V=this._group.test(_);V&&k===1?h+=1:!V&&this.isNumeralChar(T)&&(h+=-1*k+1),this._group.lastIndex=0,this.input.nativeElement.setSelectionRange(h,h)}else if(o==="-"&&n==="insert"){this.input.nativeElement.setSelectionRange(0,0);
199let _=this.initCursor()+t.length+1;this.input.nativeElement.setSelectionRange(_,_)}else h=h+(S-m),this.input.nativeElement.setSelectionRange(h,h)}this.input.nativeElement.setAttribute("aria-valuenow",e)}concatValues(e,t){if(e&&t){let n=t.search(this._decimal);return this._decimal.lastIndex=0,this.suffixChar?n!==-1?e.replace(this.suffixChar,"").split(this._decimal)[0]+t.replace(this.suffixChar,"").slice(n)+this.suffixChar:e:n!==-1?e.split(this._decimal)[0]+t.slice(n):e}return e}getDecimalLength(e){if(e){let t=e.split(this._decimal);if(t.length===2)return t[1].replace(this._suffix,"").trim().replace(/\s/g,"").replace(this._currency,"").length}return 0}onInputFocus(e){this.focused=!0,this.onFocus.emit(e)}onInputBlur(e){this.focused=!1;let t=this.validateValue(this.parseValue(this.input.nativeElement.value)),n=t?.toString();this.input.nativeElement.value=this.formatValue(n),this.input.nativeElement.setAttribute("aria-valuenow",n),this.updateModel(e,t),this.onModelTouched(),this.onBlur.emit(e)}formattedValue(){let e=!this.value&&!this.allowEmpty?0:this.value;return this.formatValue(e)}updateModel(e,t){let n=this.ngControl?.control?.updateOn==="blur";this.value!==t?(this.value=t,n&&this.focused||this.onModelChange(t)):n&&this.onModelChange(t)}writeControlValue(e,t){this.value=e&&Number(e),t(e),this.cd.markForCheck()}clearTimer(){this.timer&&clearInterval(this.timer)}static \u0275fac=function(t){return new(t||i)(de(pe))};static \u0275cmp=M({type:i,selectors:[["p-inputNumber"],["p-inputnumber"],["p-input-number"]],contentQueries:function(t,n,r){if(t&1&&(H(r,ot,4),H(r,at,4),H(r,st,4),H(r,De,4)),t&2){let o;O(o=G())&&(n.clearIconTemplate=o.first),O(o=G())&&(n.incrementButtonIconTemplate=o.first),O(o=G())&&(n.decrementButtonIconTemplate=o.first),O(o=G())&&(n.templates=o)}},viewQuery:function(t,n){if(t&1&&he(ut,5),t&2){let r;O(r=G())&&(n.input=r.first)}},hostVars:4,hostBindings:function(t,n){t&2&&(C("data-pc-name","inputnumber")("data-pc-section","root"),E(n.cn(n.cx("root"),n.styleClass)))},inputs:{showButtons:[2,"showButtons","showButtons",N],format:[2,"format","format",N],buttonLayout:"buttonLayout",inputId:"inputId",styleClass:"styleClass",placeholder:"placeholder",tabindex:[2,"tabindex","tabindex",Q],title:"title",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",ariaLabel:"ariaLabel",ariaRequired:[2,"ariaRequired","ariaRequired",N],autocomplete:"autocomplete",incrementButtonClass:"incrementButtonClass",decrementButtonClass:"decrementButtonClass",incrementButtonIcon:"incrementButtonIcon",decrementButtonIcon:"decrementButtonIcon",readonly:[2,"readonly","readonly",N],allowEmpty:[2,"allowEmpty","allowEmpty",N],locale:"locale",localeMatcher:"localeMatcher",mode:"mode",currency:"currency",currencyDisplay:"currencyDisplay",useGrouping:[2,"useGrouping","useGrouping",N],minFractionDigits:[2,"minFractionDigits","minFractionDigits",e=>Q(e,null)],maxFractionDigits:[2,"maxFractionDigits","maxFractionDigits",e=>Q(e,null)],prefix:"prefix",suffix:"suffix",inputStyle:"inputStyle",inputStyleClass:"inputStyleClass",showClear:[2,"showClear","showClear",N],autofocus:[2,"autofocus","autofocus",N]},outputs:{onInput:"onInput",onFocus:"onFocus",onBlur:"onBlur",onKeyDown:"onKeyDown",onClear:"onClear"},features:[_e([Ut,tt]),R,ce],decls:6,vars:36,consts:[["input",""],["pInputText","","role","spinbutton","inputmode","decimal",3,"input","keydown","keypress","paste","click","focus","blur","value","ngStyle","variant","invalid","pSize","pAutoFocus","fluid"],[4,"ngIf"],[3,"class",4,"ngIf"],["type","button","tabindex","-1",3,"class","mousedown","mouseup","mouseleave","keydown","keyup",4,"ngIf"],["data-p-icon","times",3,"class","click",4,"ngIf"],[3,"class","click",4,"ngIf"],["data-p-icon","times",3,"click"],[3,"click"],[4,"ngTemplateOutlet"],["type","button","tabindex","-1",3,"mousedown","mouseup","mouseleave","keydown","keyup"],[3,"ngClass",4,"ngIf"],[3,"ngClass"],["data-p-icon","angle-up",4,"ngIf"],["data-p-icon","angle-up"],["data-p-icon","angle-down",4,"ngIf"],["data-p-icon","angle-down"]],template:function(t,n){if(t&1){let r=A();p(0,"input",1,0),D("input",function(a){return g(r),b(n.onUserInput(a))})("keydown",function(a){return g(r),b(n.onInputKeyDown(a))})("keypress",function(a){return g(r),b(n.onInputKeyPress(a))})("paste",function(a){return g(r),b(n.onPaste(a))})("click",function(){return g(r),b(n.onInputClick())})("focus",function(a){return g(r),b(n.onInputFocus(a))})("blur",function(a){return g(r),b(n.onInputBlur(a))}),f(),I(2,dt,3,2,"ng-container",2)(3,vt,7,17,"span",3)(4,Bt,3,7,"button",4)(5,Pt,3,7,"button",4)}t&2&&(E(n.cn(n.cx("pcInputText"),n.inputStyleClass)),d("value",n.formattedValue())("ngStyle",n.inputStyle)("variant",n.$variant())("invalid",n.invalid())("pSize",n.size())("pAutoFocus",n.autofocus)("fluid",n.hasFluid),C("id",n.inputId)("aria-valuemin",n.min())("aria-valuemax",n.max())("aria-valuenow",n.value)("placeholder",n.placeholder)("aria-label",n.ariaLabel)("aria-labelledby",n.ariaLabelledBy)("aria-describedby",n.ariaDescribedBy)("title",n.title)("size",n.inputSize())("name",n.name())("autocomplete",n.autocomplete)("maxlength",n.maxlength())("minlength",n.minlength())("tabindex",n.tabindex)("aria-required",n.ariaRequired)("min",n.min())("max",n.max())("step",n.step()??1)("required",n.required()?"":void 0)("readonly",n.readonly?"":void 0)("disabled",n.$disabled()?"":void 0)("data-pc-section","input"),u(2),d("ngIf",n.buttonLayout!="vertical"&&n.showClear&&n.value),u(),d("ngIf",n.showButtons&&n.buttonLayout==="stacked"),u(),d("ngIf",n.showButtons&&n.buttonLayout!=="stacked"),u(),d("ngIf",n.showButtons&&n.buttonLayout!=="stacked"))},dependencies:[we,xe,ye,Ie,Ce,qe,ze,Ge,Xe,Je,Ee],encapsulation:2,changeDetection:0})}return i})();
199function zt(i,s){if(i&1&&(p(0,"div",21),x(1),f()),i&2){let e=c();u(),K("",e.isDarkSide?"Donation aount":"Tip amount"," cannot be less than HKD 5")}}function $t(i,s){if(i&1&&(p(0,"div",32)(1,"div"),x(2),f(),p(3,"div"),x(4),f()(),p(5,"div",33)(6,"div"),x(7,"Stripe Fee"),f(),p(8,"div"),x(9),f()(),p(10,"div",34)(11,"div"),x(12,"Total"),f(),p(13,"div"),x(14),f()()),i&2){let e=c();u(2),B(e.isDarkSide?"Donation Amount":"Tip Amount"),u(2),K("HKD ",e.getDisplayTipAmount()),u(5),B(e.calculatedAmount()),u(5),K("HKD ",e.getTotalAmount())}}function Ot(i,s){i&1&&(p(0,"div",23)(1,"div"),x(2,"Total"),f(),p(3,"div"),x(4,"HKD 0"),f()())}var nt=class i{tippingAmount=w(null);apiService=F(Re);loadingService=F(Ue);messageService=F(Te);tippingAmount$=Be(this.tippingAmount);orderToken="";messageID="";route=F(ve);orderDetails=w(null);tourInfo=w(null);groupDiscription=w("");tourGuide=w(null);disablePayNow=w(!1);isAmountValid=w(!0);groupSize=w(null);isProcessingPayment=w(!1);elements;paymentElement;stripe;isStripeReady=w(!1);stripeInitialized=w(!1);selectedPaymentType=w("");isPaymentElementValid=w(!1);attendees=w(null);socoProfile=w(null);isDarkSide=!1;calculatedAmount=te(this.tippingAmount$.pipe(Y(500),W(s=>{let e=P(s);if(e<=0)return 0;let t=(e*.039+2.45)/(1-.039);return P(t)})),{initialValue:0});isValidAmount=te(this.tippingAmount$.pipe(Y(300),W(s=>{if(s==null)return!0;let e=P(s)>=5;return this.isAmountValid.set(e),e})),{initialValue:!0});getDisplayTipAmount(){return P(this.tippingAmount())}getTotalAmount(){let s=this.getDisplayTipAmount(),e=P(this.calculatedAmount());return P(s+e)}async ngOnInit(){let s=this.route.snapshot.queryParams;this.orderToken=s.token,this.messageID=s.message;try{this.stripe=await Ye(Le.stripePublicKey)}catch(e){this.messageService.add({severity:"error",summary:"Error",detail:"Payment system failed to load. Please refresh the page."}),console.error("Failed to load Stripe:",e);return}this.getPortalDetails()}initTippingOrder(s=!1){return new Promise((e,t)=>{s&&this.tippingAmount.set(150*this.groupSize()),this.paymentElement&&(this.paymentElement.unmount(),this.paymentElement=null),this.elements&&(this.elements=null);let n=()=>{this.loadingService.show(),this.apiService.initStripeTippingOrder({token:this.orderToken,amount:this.getTotalAmount()}).subscribe({next:async r=>{let a={clientSecret:r.client_secret,appearance:{theme:"stripe",variables:{colorPrimary:"#0570de",colorBackground:"#ffffff",colorText:"#30313d",colorDanger:"#df1b41",fontFamily:"Roboto, system-ui, sans-serif",spacingUnit:"4px",borderRadius:"4px"},rules:{".Tab":{border:"1px solid #E0E6EB",boxShadow:"0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 6px rgba(18, 42, 66, 0.02)"},".Tab:hover":{color:"#006AFF",border:"1px solid #006AFF"},".Tab--selected":{color:"#006AFF",border:"1px solid #006AFF"},".Tab--selected:focus":{boxShadow:"0 0 0 1px #006AFF"},".Input":{border:"1px solid #E0E6EB",borderRadius:"4px"},".Input:focus":{border:"1px solid #006AFF",boxShadow:"0 0 0 1px #006AFF"},".Input--invalid":{border:"1px solid #DF1B41"},".Input--invalid:focus":{border:"1px solid #DF1B41",boxShadow:"0 0 0 1px #DF1B41"},".Label":{fontWeight:"500",color:"#727272"},".Label--invalid":{color:"#DF1B41"},".ErrorMessage":{color:"#DF1B41"},".Button":{backgroundColor:"#006AFF",border:"1px solid #006AFF",borderRadius:"4px",color:"#ffffff",fontWeight:"500"},".Button:hover":{backgroundColor:"#0052CC",border:"1px solid #0052CC"},".Button:focus":{boxShadow:"0 0 0 1px #006AFF"},".Button--disabled":{backgroundColor:"#E0E6EB",border:"1px solid #E0E6EB",color:"#9CA3AF"}}},loader:"always",locale:"en"};this.elements=this.stripe.elements(a);let m={layout:{type:"tabs",defaultCollapsed:!1,spacedAccordionItems:!1},paymentMethodOrder:["card","alipay","wechat_pay"],fields:{billingDetails:{name:"auto",email:"auto",phone:"auto",address:{country:"auto",line1:"auto",line2:"auto",city:"auto",state:"auto",postalCode:"auto"}}},terms:{card:"never"},paymentMethodConfiguration:{}};this.paymentElement=this.elements.create("payment",m),this.paymentElement.on("change",l=>{l.value&&l.value.type&&this.selectedPaymentType.set(l.value.type),l.value?.type==="alipay"||l.value?.type==="wechat_pay"?this.isPaymentElementValid.set(!0):this.isPaymentElementValid.set(l.complete&&!l.error)}),this.paymentElement.mount("#checkout"),this.isStripeReady.set(!0),this.loadingService.hide(),this.stripeInitialized.set(!0),e()},error:r=>{this.stripeInitialized.set(!1),this.loadingService.hide(),this.messageService.add({severity:"error",summary:"Error",detail:"Failed to initialize payment system"}),t(r)}})};s?setTimeout(()=>{n()},600):n()})}async getPortalDetails(){this.loadingService.show(),this.apiService.getCustomerPortalDetails({token:this.orderToken,messageID:this.messageID}).subscribe({next:async s=>{this.loadingService.hide(),this.orderDetails.set(s.order),this.tourInfo.set(s.item),this.tourGuide.set(s.tourGuide),this.isDarkSide=this.tourInfo().slug=="dark-side-of-hong-kong",this.isDarkSide&&this.socoProfile.set(s.soco),this.groupDiscription.set(Object.values(s.order_items).reduce((e,t)=>
199e+`${t.variant_info.ticket_type||""} x ${t.qty} `,"")),this.groupSize.set(Object.values(s.order_items).reduce((e,t)=>e+Number(t.qty),0)),await this.initTippingOrder(!0)},error:s=>{this.loadingService.hide(),this.messageService.add({severity:"error",summary:"Error",detail:"Failed to load tipping details"}),console.error("Failed to get portal details:",s)}})}async asyncpayNow(){this.disablePayNow.set(!0),this.isProcessingPayment.set(!0);try{this.stripeInitialized()?this.tippingAmount()!==150*this.groupSize()&&await this.updatePaymentIntent():await this.initTippingOrder(!1);let s={return_url:`${window.location.origin}/customer-portal?token=${this.orderToken}&amount=${this.getTotalAmount()}&guide_name=${this.tourGuide()?.first_name}&tipping=true`};this.loadingService.show();let{error:e,paymentIntent:t}=await this.stripe.confirmPayment({elements:this.elements,confirmParams:s,redirect:"if_required"});this.loadingService.hide(),e?(this.messageService.add({severity:"error",summary:"Error",detail:e.message||"Failed to process payment"}),this.isProcessingPayment.set(!1),this.disablePayNow.set(!1)):t?(console.log(t,"paymentIntent"),t.status=="succeeded"?setTimeout(()=>{let n=`${window.location.origin}/customer-portal?token=${this.orderToken}&amount=${this.getTotalAmount()}&payment_intent=${t.id}&guide_name=${this.tourGuide()?.first_name}&tipping=true`;window.location.replace(n)},100):(this.messageService.add({severity:"error",summary:"Error",detail:t.last_payment_error}),this.isProcessingPayment.set(!1),this.disablePayNow.set(!1))):(this.messageService.add({severity:"error",summary:"Error",detail:"Unexpected payment response"}),this.isProcessingPayment.set(!1),this.disablePayNow.set(!1))}catch(s){this.loadingService.hide(),this.messageService.add({severity:"error",summary:"Error",detail:s.message||"Failed to initialize payment"}),this.isProcessingPayment.set(!1),this.disablePayNow.set(!1)}}async updatePaymentIntent(){this.loadingService.show();try{let e=(await se(this.apiService.initStripeTippingOrder({token:this.orderToken,amount:this.getTotalAmount()}))).client_secret;await this.elements.update({clientSecret:e}),await this.elements.fetchUpdates(),console.log("PaymentIntent \u66F4\u65B0\u6210\u529F"),this.loadingService.hide()}catch(s){throw console.error("\u66F4\u65B0PaymentIntent\u5931\u8D25:",s),this.loadingService.hide(),this.messageService.add({severity:"error",summary:"Error",detail:s.message||"Failed to update payment system"}),s}}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=M({type:i,selectors:[["app-tipping"]],decls:55,vars:24,consts:[[1,"tipping-container"],[1,"mx-auto","max-w-[804px]","px-[10px]"],[1,"uppercase","font-londrinaSolid","text-stroke-2-white-shadow","text-[36px]","leading-[120%]","px-[10px]"],[1,"bg-white","rounded-[10px]","custom-border-top","custom-filter-drop","mt-[16px]"],[1,"p-[16px]","flex","flex-col","items-center","justify-center"],["alt","",1,"w-[100px]","h-[100px]","aspect-[1/1]","object-cover","custom-border","rounded-full",3,"src"],[1,"font-roboto","text-[16px]","leading-[170%]","text-regal-grey900","text-center","mt-[8px]"],[1,"mt-[16px]"],[1,"py-[10px]","px-[16px]","font-roboto","text-[16px]","leading-[170%]","text-regal-grey900","custom-grey-border-top"],[1,"flex","items-center","gap-[5px]"],["xmlns","http://www.w3.org/2000/svg","width","16","height","16","viewBox","0 0 16 16","fill","none"],["clip-path","url(#clip0_2578_7318)"],["d","M5.33333 8C7.53933 8 9.33333 6.206 9.33333 4C9.33333 1.794 7.53933 0 5.33333 0C3.12733 0 1.33333 1.794 1.33333 4C1.33333 6.206 3.12733 8 5.33333 8ZM5.33333 1.33333C6.804 1.33333 8 2.52933 8 4C8 5.47067 6.804 6.66667 5.33333 6.66667C3.86267 6.66667 2.66667 5.47067 2.66667 4C2.66667 2.52933 3.86267 1.33333 5.33333 1.33333ZM3.33333 9.33333H6.66667V10.6667H3.33333C2.23067 10.6667 1.33333 11.564 1.33333 12.6667V16H0V12.6667C0 10.8287 1.49533 9.33333 3.33333 9.33333ZM16 11.3333L13.964 12.722L14.8113 15.3767L14.266 15.7573L12.0113 14.1987L9.79067 15.7573L9.266 15.362L10.0533 12.6807L8.00067 11.3367V10.666H10.8007L11.6573 7.75733H12.3633L13.2187 10.666H16.0013V11.3327L16 11.3333Z","fill","black"],["id","clip0_2578_7318"],["width","16","height","16","fill","white"],["d","M10 10C8.89733 10 8 10.8973 8 12V15.3333C8 15.702 8.298 16 8.66667 16C9.03533 16 9.33333 15.702 9.33333 15.3333V14.6667H10.6667V15.3333C10.6667 15.702 10.9647 16 11.3333 16C11.702 16 12 15.702 12 15.3333V12
199C12 10.8973 11.1027 10 10 10ZM10.6667 13.3333H9.33333V12C9.33333 11.632 9.632 11.3333 10 11.3333C10.368 11.3333 10.6667 11.632 10.6667 12V13.3333ZM1.33333 1.66667C1.33333 0.746 2.07933 0 3 0C3.92067 0 4.66667 0.746 4.66667 1.66667C4.66667 2.58733 3.92067 3.33333 3 3.33333C2.07933 3.33333 1.33333 2.58733 1.33333 1.66667ZM16 9.33333V12.6667C16 13.0353 15.702 13.3333 15.3333 13.3333C14.9647 13.3333 14.6667 13.0353 14.6667 12.6667V12H14C13.6313 12 13.3333 11.702 13.3333 11.3333C13.3333 10.9647 13.6313 10.6667 14 10.6667H14.6667V9.33333C14.6667 8.96533 14.368 8.66667 14 8.66667C13.8827 8.66667 13.7673 8.69733 13.6667 8.756C13.348 8.93867 12.94 8.83067 12.756 8.512C12.572 8.19333 12.6813 7.786 13 7.60133C13.3027 7.426 13.6487 7.334 14 7.334C15.1027 7.334 16 8.23133 16 9.334V9.33333ZM9.834 0.251333C9.46333 0.0853333 9.06667 0 8.66667 0C8.298 0 8 0.298 8 0.666667V4H2.66667C1.196 4 0 5.196 0 6.66667V9.33333C0 10.316 0.54 11.1667 1.33333 11.6293V15.3333C1.33333 15.702 1.63133 16 2 16C2.36867 16 2.66667 15.702 2.66667 15.3333V12H4V15.3333C4 15.702 4.298 16 4.66667 16C5.03533 16 5.33333 15.702 5.33333 15.3333V5.33333H8.66667C9.03533 5.33333 9.33333 5.03533 9.33333 4.66667V3.5L11.71 2.24333C12.0973 1.97733 12.0973 1.35733 11.71 1.09067L9.834 0.251333ZM4 10.6667H2.66667C1.93133 10.6667 1.33333 10.0687 1.33333 9.33333V6.66667C1.33333 5.93133 1.93133 5.33333 2.66667 5.33333H4V10.6667ZM12.3333 5C12.3333 4.07933 13.0793 3.33333 14 3.33333C14.9207 3.33333 15.6667 4.07933 15.6667 5C15.6667 5.92067 14.9207 6.66667 14 6.66667C13.0793 6.66667 12.3333 5.92067 12.3333 5ZM8.33333 7.66667C8.33333 6.746 9.07933 6 10 6C10.9207 6 11.6667 6.746 11.6667 7.66667C11.6667 8.58733 10.9207 9.33333 10 9.33333C9.07933 9.33333 8.33333 8.58733 8.33333 7.66667Z","fill","black"],["name","clock",3,"width","height"],["name","people",3,"width","height"],[1,"px-[16px]","pt-[5px]","pb-[16px]"],["inputId","tipNumber",3,"ngModelChange","ngModel","minFractionDigits","maxFractionDigits"],["for","tipNumber"],[1,"text-regal-red","text-[12px]","font-roboto"],[1,"bg-[#fff]","p-[16px]","rounded-b-[10px]"],[1,"font-roboto","text-[21px]","leading-[150%]","text-regal-grey900","flex","justify-between","items-center","font-bold"],[1,"text-right","font-roboto","text-[12px]","leading-[150%]","text-regal-green"],[1,"p-[15px]","bg-[#fff]","custom-border-top","custom-shadow","mt-[20px]","transition-all","duration-300"],[1,"text-regal-green","text-[16px]","font-roboto","font-bold","flex","items-center","gap-[5px]","mb-[15px]"],["name","shield-lock",1,"mt-[2px]",3,"width","height"],[1,"text-[16px]","leading-[170%]","power-by-text"],["name","stripe",1,"",3,"width","height"],["id","checkout",1,"mb-[15px]"],["label","Pay Now",1,"pay-now-button",3,"click","disabled","loading"],[1,"font-roboto","text-[16px]","leading-[150%]","text-regal-grey900","flex","justify-between","items-center","font-bold"],[1,"font-roboto","text-[16px]","leading-[150%]","text-[#635BFF]","flex","justify-between","items-center","font-bold","border-b-[1px]","border-regal-grey900"],[1,"font-roboto","text-[21px]","leading-[150%]","text-regal-green","flex","justify-between","items-center","font-bold"]],template:function(e,t){if(e&1&&(p(0,"div",0)(1,"div",1)(2,"div",2),x(3),f(),p(4,"div",3)(5,"div",4),y(6,"img",5),p(7,"div",6)(8,"div"),x(9),f(),p(10,"div",7),x(11),f()()(),p(12,"div",8)(13,"div",9),v(),p(14,"svg",10)(15,"g",11),y(16,"path",12),f(),p(17,"defs")(18,"clipPath",13),y(19,"rect",14),f()()(),J(),p(20,"span"),x(21),f()(),p(22,"div",9),v(),p(23,"svg",10),y(24,"path",15),f(),J(),p(25,"span"),x(26),f()(),p(27,"div",9),y(28,"app-svg-icon",16),p(29,"span"),x(30),f()(),p(31,"div",9),y(32,"app-svg-icon",17),p(33,"span"),x(34),f()()(),p(35,"div",18)(36,"p-fluid")(37,"p-iftalabel")(38,"p-inputnumber",19),be("ngModelChange",function(r){return ge(t.tippingAmount,r)||(t.tippingAmount=r),r}),f(),p(39,"label",20),x(40),f()()(),X(41,zt,2,1,"div",21),f(),p(42,"div",22),X(43,$t,15,4)(44,Ot,5,0,"div",23),p(45,"div",24),x(46,"All taxes and fees included"),f()()(),p(47,"div",25)(48,"div",26),y(49,"app-svg-icon",27),p(50,"span",28),x(51,"Secure payments powered by"),f(),y(52,"app-svg-icon",29),f(),y(53,"div",30),p(54,"p-button",31),D("click",function(){return t.asyncpayNow()}),f()()()()),e&2){let n,r,o,a,m,l;u(3),B(t.isDarkSide?"credit card donation":"credit card tipping"),u(3),d("src",t.isDarkSide?(n=t.socoProfile())==null?null:n.avatar:(n=t.tourGuide())==null?null:n.avatar,me),u(3),K("Hi ",(r=t.orderDetails())==null?null:r.name,","),u(2),K(" ",t.isDarkSide?(o=t.socoProfile())==null?null:o.tour_finished_message:"Thank You very much for joining my tour. I hope you had a wonderful experience with me. Below you can enter a tip amount, given the price level in Hong Kong, we generally recommend tipping in the range of HKD 100 - 150 per adult."," "),u(10),B((a=t.orderDetails())==null?null:a.name),u(5),B((m=t.tourInfo())==null?null:m.name),u(2),d("width",16)("height",16),u(2),B(((l=t.tourInfo())==null?null:l.about_duration)>1?((l=t.tourInfo())==null?null:l.about_duration)+" Hours":((l=t.tourInfo())==null?null:l.about_duration)+" Hour"),u(2),d("width",16)("height",16),u(2),B(t.groupDiscription()),u(4),fe("ngModel",t.tippingAmount),d("minFractionDigits",0)("maxFractionDigits",0),u(2),B(t.isDarkSide?"Donation Amount":"Tip Amount"),u(),ee(t.tippingAmount()!==null&&t.tippingAmount()!==void 0&&!t.isAmountValid()?41:-1),u(2),ee(t.tippingAmount()?43:44),u(6),d("width",16)("height",16),u(3),d("width",60)("height",25),u(2),d("disabled",!t.tippingAmount()||!t.isAmountValid()||t.disablePayNow()||!t.isPaymentElementValid())("loading",t.isProcessingPayment())}},dependencies:[Pe,Ae,Me,Fe,Qe,We,Ze,ie,Oe,$e,He,Ke],styles:["app-svg-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}  .pay-now-button button{width:100%;margin-top:10px;border-radius:25px}"]})};export{nt as Tipping};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.