PageSourceSearch

https://snapbooks.ai/_next/static/immutable/chunks/3y7nuwhqzg6mv.js

js snapbooks.ai collected 2026-10-05 14:43:36 UTC 17,193 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,26125,e=>{"use strict";var t=e.i(843476),r=e.i(271645),l=e.i(595468),s=e.i(223622),a=e.i(359360),n=e.i(728231),o=e.i(840630);let i=[{category:"帳務稅務規劃",rows:[{label:"電子發票/雲端載具自動下載彙整",pure:!0,bundle:!0},{label:"每月 50 張紙本憑證拍照上傳",tooltip:"超過 50 張,每 50 張額外酌收 NT$420 處理費。",pure:!0,bundle:!0},{label:"營業稅每期結算",pure:!0,bundle:!0},{label:"年度營利事業所得稅結算",pure:!0,bundle:!0},{label:"各類所得扣繳彙整",pure:!0,bundle:!0}]},{category:"客戶服務",rows:[{label:"Line & Email 專屬數位客服",pure:!0,bundle:!0},{label:"自動繳稅提醒功能",pure:!0,bundle:!0}]},{category:"創業架構規劃",rows:[{label:"公司型態與資本額規劃",tooltip:`費用依公司型態而定:${o.REGISTRATION_PRICING_NOTE}`,pure:!1,bundle:"NT$6,500 起"},{label:"營業項目挑選與稅務評估",pure:!1,bundle:!0},{label:"公司名稱與英文名稱建議",pure:!1,bundle:!0},{label:"代刻印章",tooltip:"含大小章製作,完成後寄回。",pure:!1,bundle:!0},{label:"新設公司帳務建置",tooltip:"成立後即可開始上傳憑證,無縫接上帳務稅務規劃服務。",pure:!1,bundle:!0}]}];function c({value:e}){return!0===e?(0,t.jsx)(l.CheckCircle2,{className:"h-5 w-5 text-emerald-500"}):!1===e?(0,t.jsx)(s.Ban,{className:"h-5 w-5 text-slate-300"}):"object"==typeof e&&e.optional?(0,t.jsxs)("span",{className:"flex flex-col items-center gap-0.5",children:[(0,t.jsx)("span",{className:"rounded-full bg-amber-100 px-2 py-0.5 text-xs font-semibold text-amber-700",children:"選購"}),(0,t.jsxs)("span",{className:"text-sm font-medium text-slate-500 sm:text-base",children:["+",e.price]})]}):(0,t.jsx)("span",{className:"text-center text-sm font-medium text-slate-700 sm:text-base",children:e})}function d({value:e,onChange:r}){return(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,t.jsxs)("div",{className:"inline-flex rounded-full bg-slate-100 p-1",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>r("annual"),className:`rounded-full px-6 py-2.5 text-base font-semibold transition-all ${"annual"===e?"bg-white text-slate-900 shadow-sm":"text-slate-500 hover:text-slate-700"}`,children:["年繳",(0,t.jsx)("span",{className:"ml-1.5 rounded-full bg-emerald-100 px-2 py-0.5 text-xs font-bold text-emerald-700",children:"-14%"})]}),(0,t.jsx)("button",{type:"button",onClick:()=>r("monthly"),className:`rounded-full px-6 py-2.5 text-base font-semibold transition-all ${"monthly"===e?"bg-white text-slate-900 shadow-sm":"text-slate-500 hover:text-slate-700"}`,children:"月繳"})]}),(0,t.jsx)("p",{className:"text-sm text-slate-500",children:"兩種皆為一年 13 個月計費"})]})}e.s(["PricingSection",0,function(){let[e,l]=(0,r.useState)("annual"),s=(0,r.useMemo)(()=>o.PRICES[e].toLocaleString("zh-TW"),[e]);return(0,t.jsxs)(n.TooltipProvider,{delayDuration:120,children:[(0,t.jsx)("section",{className:"mx-auto w-full max-w-4xl px-5 pt-8 pb-6",children:(0,t.jsx)(d,{value:e,onChange:l})}),(0,t.jsx)("section",{className:"mx-auto w-full max-w-4xl px-5 pb-8",children:(0,t.jsxs)("div",{className:"grid gap-6 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"rounded-3xl bg-white p-8 ring-1 ring-slate-200 shadow-lg md:p-10",children:[(0,t.jsx)("p",{className:"mb-2 text-lg font-bold tracking-tight text-emerald-700",children:"帳務稅務規劃"}),(0,t.jsxs)("div",{className:"mb-2 flex items-baseline gap-2",children:[(0,t.jsxs)("span",{className:"font-display text-4xl font-extrabold tracking-tight text-slate-900",children:["NT$ ",s]}),(0,t.jsx)("span",{className:"text-base font-medium text-slate-500",children:"/ 月(含稅)"})]}),(0,t.jsx)("p",{className:"mb-2 text-sm text-slate-600",children:"※ 一年收取 13 個月費用"}),(0,t.jsx)("p",{className:"text-base leading-relaxed text-slate-500",children:"已有公司,想把每期帳務與稅務交給專人"})]}),(0,t.jsxs)("div",{className:"rounded-3xl bg-white p-8 ring-1 ring-slate-200 shadow-lg md:p-10",children:[(0,t.jsx)("p",{className:"mb-2 text-lg font-bold tracking-tight text-emerald-700",children:"帳務稅務+創業規劃"}),(0,t.jsxs)("div",{className:"mb-2 flex flex-wrap items-baseline gap-2",children:[(0,t.jsxs)("span",{className:"font-display text-4xl font-extrabold tracking-tight text-slate-900",children:["NT$ ",s]}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-base font-medium text-slate-500",children:["/ 月(含稅)+ 創業規劃 NT$6,500 起",(0,t.jsxs)(n.Tooltip,{children:[(0,t.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":"創業規劃費用說明",className:"text-slate-400 transition-colors hover:text-slate-600",children:(0,t.jsx)(a.CircleHelp,{className:"h-4 w-4"})})}),(0,t.jsx)(n.TooltipContent,{className:"max-w-xs text-xs leading-relaxed",children:o.REGISTRATION_PRICING_NOTE})]})]})]}),(0,t.jsx)("p",{className:"mb-2 text-sm text-slate-600",children:"※ 月費一年收取 13 個月費用"}),(0,t.jsx)("p",{className:"text-base leading-relaxed text-slate-500",children:"新創業,架構規劃與帳務稅務一次搞定"})]})]})}),(0,t.jsx)("section",{className:"mx-auto w-full max-w-4xl px-5 py-8 md:py-12",children:(0,t.jsxs)("div",{className:"overflow-hidden rounded-3xl border border-slate-200 bg-white shadow-sm",children:[(0,t.jsxs)("div",{className:"grid grid-cols-[1.4fr_1fr_1fr] sm:grid-cols-[1.6fr_1fr_1fr]",children:[(0,t.jsx)("div",{className:"p-4 sm:p-5",children:(0,t.jsx)("span",{className:"text-sm font-bold text-slate-500 sm:text-base",children:"服務項目"})}),(0,t.jsx)("div",{className:"flex items-center justify-center border-l border-slate-100 bg-slate-50 p-4 sm:p-5",children:(0,t.jsx)("span",{className:"text-center text-sm font-bold text-slate-700 sm:text-base",children:"帳務稅務規劃"})}),(0,t.jsx)("div",{className:"flex items-center justify-center border-l border-slate-100 bg-slate-50 p-4 sm:p-5",children:(0,t.jsx)("span",{className:"text-center text-sm font-bold text-slate-700 sm:text-base",children:"帳務稅務+創業規劃"})})]}),i.map(e=>(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"border-t border-slate-100 bg-slate-50/70 px-4 py-2.5 sm:px-5",children:(0,t.jsx)("span",{className:"text-sm font-bold uppercase tracking-wider text-slate-500",children:e.category})}),e.rows.map(e=>(0,t.jsxs)("div",{className:"grid grid-cols-[1.4fr_1fr_1fr] sm:grid-cols-[1.6fr_1fr_1fr] border-t border-slate-100",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 p-4 sm:p-5",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-slate-700 sm:text-base",children:e.label}),e.tooltip&&(0,t.jsxs)(n.Tooltip,{children:[(0,t.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":`${e.label} 說明`,className:"shrink-0 text-slate-400 transition-colors hover:text-slate-600",children:(0,t.jsx)(a.CircleHelp,{className:"h-4 w-4"})})}),(0,t.jsx)(n.TooltipContent,{className:"max-w-xs text-xs leading-relaxed",children:e.tooltip})]})]}),(0,t.jsx)("div",{className:"flex items-center justify-center border-l border-slate-100 bg-slate-50/30 p-4 sm:p-5",children:(0,t.jsx)(c,{value:e.pure})}),(0,t.jsx)("div",{className:"flex items-center justify-center border-l border-slate-100 bg-slate-50/30 p-4 sm:p-5",children:(0,t.jsx)(c,{value:e.bundle})})]},e.label))]},e.category))]})})]})}])},728231,e=>{"use strict";let t;var r=e.i(843476),l=e.i(271645),s=e.i(981140),a=e.i(820783),n=e.i(30030),o=e.i(726330),i=e.i(610772),c=e.i(853660),d=e.i(774606),x=e.i(296626),p=e.i(248425),u=Symbol("radix.slottable"),m=e.i(369340),h=e.i(959411),[f,b]=(0,n.createContextScope)("Tooltip",[c.createPopperScope]),g=(0,c.createPopperScope)(),y="TooltipProvider",v="tooltip.open",[j,w]=f(y),N=e=>{let{__scopeTooltip:t,delayDuration:s=700,skipDelayDuration:a=300,disableHoverableContent:n=!1,children:o}=e,i=l.useRef(!0),c=l.useRef(!1),d=l.useRef(0);return l.useEffect(()=>{let e=d.current;return()=>window.clearTimeout(e)},[]),(0,r.jsx)(j,{scope:t,isOpenDelayedRef:i,delayDuration:s,onOpen:l.useCallback(()=>{window.clearTimeout(d.current),i.current=!1},[]),onClose:l.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>i.current=!0,a)},[a]),isPointerInTransitRef:c,onPointerInTransitChange:l.useCallback(e=>{c.current=e},[]),disableHoverableContent:n,children:o})};N.displayName=y;var T="Tooltip",[C,E]=f(T),k=e=>{let{__scopeTooltip:t,children:s,open:a,defaultOpen:n,onOpenChange:o,disableHoverableContent:d,delayDuration:x}=e,p=w(T,e.__scopeTooltip),u=g(t),[h,f]=l.useState(null),b=(0,i.useId)(),y=l.useRef(0),j=d??p.disableHoverableContent,N=x??p.delayDuration,E=l.useRef(!1),[k,R]=(0,m.useControllableState)({prop:a,defaultProp:n??!1,onChange:e=>{e?(p.onOpen(),document.dispatchEvent(new CustomEvent(v))):p.onClose(),o?.(e)},caller:T}),P=l.useMemo(()=>k?E.current?"delayed-open":"instant-open":"closed",[k]),_=l.useCallback(()=>{window.clearTimeout(y.current),y.current=0,E.current=!1,R(!0)},[R]),L=l.useCallback(()=>{window.clearTimeout(y.current),y.current=0,R(!1)},[R]),I=l.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{E.current=!0,R(!0),y.current=0},N)},[N,R]);return l.useEffect(()=>()=>{y.current&&(window.clearTimeout(y.current),y.current=0)},[]),(0,r.jsx)(c.Root,{...u,children:(0,r.jsx)(C,{scope:t,contentId:b,open:k,stateAttribute:P,trigger:h,onTriggerChange:f,onTriggerEnter:l.useCallback(()=>{p.isOpenDelayedRef.current?I():_()},[p.isOpenDelayedRef,I,_]),onTriggerLeave:l.useCallback(()=>{j?L():(window.clearTimeout(y.current),y.current=0)},[L,j]),onOpen:_,onClose:L,disableHoverableContent:j,children:s})})};k.displayName=T;var R="TooltipTrigger",P=l.forwardRef((e,t)=>
1{let{__scopeTooltip:n,...o}=e,i=E(R,n),d=w(R,n),x=g(n),u=l.useRef(null),m=(0,a.useComposedRefs)(t,u,i.onTriggerChange),h=l.useRef(!1),f=l.useRef(!1),b=l.useCallback(()=>h.current=!1,[]);return l.useEffect(()=>()=>document.removeEventListener("pointerup",b),[b]),(0,r.jsx)(c.Anchor,{asChild:!0,...x,children:(0,r.jsx)(p.Primitive.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...o,ref:m,onPointerMove:(0,s.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(f.current||d.isPointerInTransitRef.current||(i.onTriggerEnter(),f.current=!0))}),onPointerLeave:(0,s.composeEventHandlers)(e.onPointerLeave,()=>{i.onTriggerLeave(),f.current=!1}),onPointerDown:(0,s.composeEventHandlers)(e.onPointerDown,()=>{i.open&&i.onClose(),h.current=!0,document.addEventListener("pointerup",b,{once:!0})}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{h.current||i.onOpen()}),onBlur:(0,s.composeEventHandlers)(e.onBlur,i.onClose),onClick:(0,s.composeEventHandlers)(e.onClick,i.onClose)})})});P.displayName=R;var _="TooltipPortal",[L,I]=f(_,{forceMount:void 0}),S=e=>{let{__scopeTooltip:t,forceMount:l,children:s,container:a}=e,n=E(_,t);return(0,r.jsx)(L,{scope:t,forceMount:l,children:(0,r.jsx)(x.Presence,{present:l||n.open,children:(0,r.jsx)(d.Portal,{asChild:!0,container:a,children:s})})})};S.displayName=_;var O="TooltipContent",H=l.forwardRef((e,t)=>{let l=I(O,e.__scopeTooltip),{forceMount:s=l.forceMount,side:a="top",...n}=e,o=E(O,e.__scopeTooltip);return(0,r.jsx)(x.Presence,{present:s||o.open,children:o.disableHoverableContent?(0,r.jsx)(B,{side:a,...n,ref:t}):(0,r.jsx)(M,{side:a,...n,ref:t})})}),M=l.forwardRef((e,t)=>{let s=E(O,e.__scopeTooltip),n=w(O,e.__scopeTooltip),o=l.useRef(null),i=(0,a.useComposedRefs)(t,o),[c,d]=l.useState(null),{trigger:x,onClose:p}=s,u=o.current,{onPointerInTransitChange:m}=n,h=l.useCallback(()=>{d(null),m(!1)},[m]),f=l.useCallback((e,t)=>{let r,l=e.currentTarget,s={x:e.clientX,y:e.clientY},a=function(e,t){let r=Math.abs(t.top-e.y),l=Math.abs(t.bottom-e.y),s=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(r,l,s,a)){case a:return"left";case s:return"right";case r:return"top";case l:return"bottom";default:throw Error("unreachable")}}(s,l.getBoundingClientRect());d(((r=[...function(e,t,r=5){let l=[];switch(t){case"top":l.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":l.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":l.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":l.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return l}(s,a),...function(e){let{top:t,right:r,bottom:l,left:s}=e;return[{x:s,y:t},{x:r,y:t},{x:r,y:l},{x:s,y:l}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let l=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(l.y-r.y)>=(e.y-r.y)*(l.x-r.x))t.pop();else break}t.push(l)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let l=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(l.y-t.y)>=(e.y-t.y)*(l.x-t.x))r.pop();else break}r.push(l)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),m(!0)},[m]);return l.useEffect(()=>()=>h(),[h]),l.useEffect(()=>{if(x&&u){let e=e=>f(e,u),t=e=>f(e,x);return x.addEventListener("pointerleave",e),u.addEventListener("pointerleave",t),()=>{x.removeEventListener("pointerleave",e),u.removeEventListener("pointerleave",t)}}},[x,u,f,h]),l.useEffect(()=>{if(c){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},l=x?.contains(t)||u?.contains(t),s=!function(e,t){let{x:r,y:l}=e,s=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let n=t[e],o=t[a],i=n.x,c=n.y,d=o.x,x=o.y;c>l!=x>l&&r<(d-i)*(l-c)/(x-c)+i&&(s=!s)}return s}(r,c);l?h():s&&(h(),p())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[x,u,c,p,h]),(0,r.jsx)(B,{...e,ref:i})}),[D,A]=f(T,{isInside:!1}),$=((t=({children:e})=>(0,r.jsx)(r.Fragment,{children:e})).displayName="TooltipContent.Slottable",t.__radixId=u,t),B=l.forwardRef((e,t)=>
1{let{__scopeTooltip:s,children:a,"aria-label":n,onEscapeKeyDown:i,onPointerDownOutside:d,...x}=e,p=E(O,s),u=g(s),{onClose:m}=p;return l.useEffect(()=>(document.addEventListener(v,m),()=>document.removeEventListener(v,m)),[m]),l.useEffect(()=>{if(p.trigger){let e=e=>{let t=e.target;t?.contains(p.trigger)&&m()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[p.trigger,m]),(0,r.jsx)(o.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:d,onFocusOutside:e=>e.preventDefault(),onDismiss:m,children:(0,r.jsxs)(c.Content,{"data-state":p.stateAttribute,...u,...x,ref:t,style:{...x.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,r.jsx)($,{children:a}),(0,r.jsx)(D,{scope:s,isInside:!0,children:(0,r.jsx)(h.Root,{id:p.contentId,role:"tooltip",children:n||a})})]})})});H.displayName=O;var z="TooltipArrow";l.forwardRef((e,t)=>{let{__scopeTooltip:l,...s}=e,a=g(l);return A(z,l).isInside?null:(0,r.jsx)(c.Arrow,{...a,...s,ref:t})}).displayName=z;var F=e.i(647163);let G=l.forwardRef(({className:e,sideOffset:t=4,...l},s)=>(0,r.jsx)(S,{children:(0,r.jsx)(H,{ref:s,sideOffset:t,className:(0,F.cn)("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...l})}));G.displayName=H.displayName,e.s(["Tooltip",0,k,"TooltipContent",0,G,"TooltipProvider",0,N,"TooltipTrigger",0,P],728231)},959411,e=>{"use strict";var t=e.i(271645),r=e.i(248425),l=e.i(843476),s=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),a=t.forwardRef((e,t)=>(0,l.jsx)(r.Primitive.span,{...e,ref:t,style:{...s,...e.style}}));a.displayName="VisuallyHidden",e.s(["Root",0,a,"VISUALLY_HIDDEN_STYLES",0,s])},223622,e=>{"use strict";let t=(0,e.i(475254).default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.9 4.9 14.2 14.2",key:"1m5liu"}]]);e.s(["Ban",0,t],223622)},595468,e=>{"use strict";let t=(0,e.i(475254).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",0,t],595468)},359360,e=>{"use strict";let t=(0,e.i(475254).default)("circle-help",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["CircleHelp",0,t],359360)}]);

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.