PageSourceSearch

https://snapbooks.ai/_next/static/immutable/chunks/1jkdglzq1lc5k.js

js snapbooks.ai collected 2026-10-05 14:43:37 UTC 15,184 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,233657,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(522016),n=e.i(354385),o=e.i(921557),l=e.i(955716),i=e.i(595468),s=e.i(972520),d=e.i(167881),c=e.i(506682);let u="startup-guide-progress",f=[{slug:"company-setup-check",href:"/tools/company-setup-check",icon:n.ClipboardCheck,title:"公司設立健檢",description:"開公司的目的是什麼?獲取專屬的法律與稅務建議,決定要開行號還是開公司。",time:"1-5 分鐘"},{slug:"tax-calculator",href:"/tools/tax-calculator",icon:o.Calculator,title:"創業節稅試算",description:"了解行號與公司差異後,再進一步計算您的稅負差異,從源頭節稅。",time:"2 分鐘"},{slug:"incorporation-flow",href:"/tools/incorporation-flow",icon:l.GitBranch,title:"開公司流程圖",description:"一次搞懂行號與公司的設立流程、時間與注意事項,從名稱預查到稅籍登記。",time:"3 分鐘"}];function p(){try{let e=localStorage.getItem(u);return e?JSON.parse(e):{}}catch{return{}}}e.s(["StartupGuideHub",0,function(){let[e,n]=(0,r.useState)({});(0,r.useEffect)(()=>{n(p());let e=e=>{e.key===u&&n(p())};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[]);let o=f.filter(t=>e[t.slug]).length;return(0,t.jsxs)("div",{className:"space-y-8",children:[o>0&&(0,t.jsxs)("div",{className:"flex items-center justify-center gap-3",children:[(0,t.jsx)("div",{className:"h-2 flex-1 max-w-xs rounded-full bg-slate-100 overflow-hidden",children:(0,t.jsx)("div",{className:"h-full rounded-full bg-emerald-500 transition-all duration-500",style:{width:`${o/f.length*100}%`}})}),(0,t.jsxs)("span",{className:`${c.secondary} font-medium`,children:[o,"/",f.length," 完成"]})]}),(0,t.jsx)("div",{className:"grid gap-6",children:f.map((r,o)=>{let l=r.icon,f=!!e[r.slug];return(0,t.jsx)("div",{className:`group overflow-hidden rounded-2xl border bg-white p-6 shadow-sm transition-all duration-300 hover:shadow-lg md:p-8 ${f?"border-emerald-200 bg-emerald-50/30":"border-slate-200 hover:border-emerald-200"}`,children:(0,t.jsxs)("div",{className:"flex flex-col gap-5 md:flex-row md:items-start md:gap-8",children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-4 md:flex-col md:items-center md:gap-2",children:[(0,t.jsxs)("div",{className:"relative flex h-14 w-14 items-center justify-center rounded-2xl bg-emerald-600 text-white shadow-md shadow-emerald-600/20",children:[(0,t.jsx)(l,{className:"h-6 w-6"}),(0,t.jsx)("span",{className:"absolute -top-2 -right-2 flex h-7 w-7 items-center justify-center rounded-full bg-white text-sm font-bold text-emerald-700 shadow-sm ring-2 ring-emerald-100",children:o+1})]}),f&&(0,t.jsx)(i.CheckCircle2,{className:"h-5 w-5 text-emerald-500"})]}),(0,t.jsxs)("div",{className:"flex-1 space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("h3",{className:"font-display text-xl font-bold text-slate-900 md:text-2xl",children:r.title}),(0,t.jsx)("span",{className:`inline-flex items-center rounded-full border border-slate-200 bg-slate-50 px-3 py-0.5 font-medium ${c.secondary}`,children:r.time})]}),(0,t.jsx)("p",{className:c.bodyRelaxed,children:r.description}),(0,t.jsx)(d.Button,{asChild:!0,variant:"outline",className:"group/btn mt-2 rounded-full border-emerald-200 text-emerald-700 hover:bg-emerald-50 hover:text-emerald-800",children:(0,t.jsxs)(a.default,{href:r.href,onClick:()=>(function(t){let r={...e,[t]:!0};n(r);try{localStorage.setItem(u,JSON.stringify(r))}catch{}})(r.slug),children:[f?"再看一次":"開始使用",(0,t.jsx)(s.ArrowRight,{className:"ml-1.5 h-4 w-4 transition-transform group-hover/btn:translate-x-0.5"})]})})]})]})},r.slug)})})]})}])},890538,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(30030),n=e.i(75830),o=e.i(820783),l=e.i(981140),i=e.i(369340),s=e.i(248425),d=e.i(934620),c=e.i(296626),u=e.i(610772),f="Collapsible",[p,m]=(0,a.createContextScope)(f),[x,h]=p(f),g=r.forwardRef((e,a)=>{let{__scopeCollapsible:n,open:o,defaultOpen:l,disabled:d,onOpenChange:c,...p}=e,[m,h]=(0,i.useControllableState)({prop:o,defaultProp:l??!1,onChange:c,caller:f});return(0,t.jsx)(x,{scope:n,disabled:d,contentId:(0,u.useId)(),open:m,onOpenToggle:r.useCallback(()=>h(e=>!e),[h]),children:(0,t.jsx)(s.Primitive.div,{"data-state":N(m),"data-disabled":d?"":void 0,...p,ref:a})})});g.displayName=f;
1var b="CollapsibleTrigger",y=r.forwardRef((e,r)=>{let{__scopeCollapsible:a,...n}=e,o=h(b,a);return(0,t.jsx)(s.Primitive.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":N(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...n,ref:r,onClick:(0,l.composeEventHandlers)(e.onClick,o.onOpenToggle)})});y.displayName=b;var v="CollapsibleContent",w=r.forwardRef((e,r)=>{let{forceMount:a,...n}=e,o=h(v,e.__scopeCollapsible);return(0,t.jsx)(c.Presence,{present:a||o.open,children:({present:e})=>(0,t.jsx)(j,{...n,ref:r,present:e})})});w.displayName=v;var j=r.forwardRef((e,a)=>{let{__scopeCollapsible:n,present:l,children:i,...c}=e,u=h(v,n),[f,p]=r.useState(l),m=r.useRef(null),x=(0,o.useComposedRefs)(a,m),g=r.useRef(0),b=g.current,y=r.useRef(0),w=y.current,j=u.open||f,C=r.useRef(j),R=r.useRef(void 0);return r.useEffect(()=>{let e=requestAnimationFrame(()=>C.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,d.useLayoutEffect)(()=>{let e=m.current;if(e){R.current=R.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();g.current=t.height,y.current=t.width,C.current||(e.style.transitionDuration=R.current.transitionDuration,e.style.animationName=R.current.animationName),p(l)}},[u.open,l]),(0,t.jsx)(s.Primitive.div,{"data-state":N(u.open),"data-disabled":u.disabled?"":void 0,id:u.contentId,hidden:!j,...c,ref:x,style:{"--radix-collapsible-content-height":b?`${b}px`:void 0,"--radix-collapsible-content-width":w?`${w}px`:void 0,...e.style},children:j&&i})});function N(e){return e?"open":"closed"}var C=e.i(586318),R="Accordion",k=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[A,S,I]=(0,n.createCollection)(R),[_,E]=(0,a.createContextScope)(R,[I,m]),P=m(),D=r.default.forwardRef((e,r)=>{let{type:a,...n}=e;return(0,t.jsx)(A.Provider,{scope:e.__scopeAccordion,children:"multiple"===a?(0,t.jsx)(H,{...n,ref:r}):(0,t.jsx)(B,{...n,ref:r})})});D.displayName=R;var[O,$]=_(R),[T,z]=_(R,{collapsible:!1}),B=r.default.forwardRef((e,a)=>{let{value:n,defaultValue:o,onValueChange:l=()=>{},collapsible:s=!1,...d}=e,[c,u]=(0,i.useControllableState)({prop:n,defaultProp:o??"",onChange:l,caller:R});return(0,t.jsx)(O,{scope:e.__scopeAccordion,value:r.default.useMemo(()=>c?[c]:[],[c]),onItemOpen:u,onItemClose:r.default.useCallback(()=>s&&u(""),[s,u]),children:(0,t.jsx)(T,{scope:e.__scopeAccordion,collapsible:s,children:(0,t.jsx)(K,{...d,ref:a})})})}),H=r.default.forwardRef((e,a)=>{let{value:n,defaultValue:o,onValueChange:l=()=>{},...s}=e,[d,c]=(0,i.useControllableState)({prop:n,defaultProp:o??[],onChange:l,caller:R}),u=r.default.useCallback(e=>c((t=[])=>[...t,e]),[c]),f=r.default.useCallback(e=>c((t=[])=>t.filter(t=>t!==e)),[c]);return(0,t.jsx)(O,{scope:e.__scopeAccordion,value:d,onItemOpen:u,onItemClose:f,children:(0,t.jsx)(T,{scope:e.__scopeAccordion,collapsible:!0,children:(0,t.jsx)(K,{...s,ref:a})})})}),[V,L]=_(R),K=r.default.forwardRef((e,a)=>{let{__scopeAccordion:n,disabled:i,dir:d,orientation:c="vertical",...u}=e,f=r.default.useRef(null),p=(0,o.useComposedRefs)(f,a),m=S(n),x="ltr"===(0,C.useDirection)(d),h=(0,l.composeEventHandlers)(e.onKeyDown,e=>{if(!k.includes(e.key))return;let t=e.target,r=m().filter(e=>!e.ref.current?.disabled),a=r.findIndex(e=>e.ref.current===t),n=r.length;if(-1===a)return;e.preventDefault();let o=a,l=n-1,i=()=>{(o=a+1)>l&&(o=0)},s=()=>{(o=a-1)<0&&(o=l)};switch(e.key){case"Home":o=0;break;case"End":o=l;break;case"ArrowRight":"horizontal"===c&&(x?i():s());break;case"ArrowDown":"vertical"===c&&i();break;case"ArrowLeft":"horizontal"===c&&(x?s():i());break;case"ArrowUp":"vertical"===c&&s()}let d=o%n;r[d].ref.current?.focus()});return(0,t.jsx)(V,{scope:n,disabled:i,direction:d,orientation:c,children:(0,t.jsx)(A.Slot,{scope:n,children:(0,t.jsx)(s.Primitive.div,{...u,"data-orientation":c,ref:p,onKeyDown:i?void 0:h})})})}),U="AccordionItem",[W,F]=_(U),G=r.default.forwardRef((e,r)=>{let{__scopeAccordion:a,value:n,...o}=e,l=L(U,a),i=$(U,a),s=P(a),d=(0,u.useId)(),c=n&&i.value.includes(n)||!1,f=l.disabled||e.disabled;return(0,t.jsx)(W,{scope:a,open:c,disabled:f,triggerId:d,children:(0,t.jsx)(g,{"data-orientation":l.orientation,"data-state":Y(c),...s,...o,ref:r,disabled:f,open:c,onOpenChange:e=>{e?i.onItemOpen(n):i.onItemClose(n)}})})});G.displayName=U;var q="AccordionHeader",J=r.default.forwardRef((e,r)=>{let{__scopeAccordion:a,...n}=e,o=L(R,a),l=F(q,a);return(0,t.jsx)(s.Primitive.h3,{"data-orientation":o.orientation,"data-state":Y(l.open),"data-disabled":l.disabled?"":void 0,...n,ref:r})});J.displayName=q;var M="AccordionTrigger",Z=r.default.forwardRef((e,r)=>{let{__scopeAccordion:a,...n}=e,o=L(R,a),l=F(M,a),i=z(M,a),s=P(a);return(0,t.jsx)(A.ItemSlot,{scope:a,children:(0,t.jsx)(y,{"aria-disabled":l.open&&!i.collapsible||void 0,"data-orientation":o.orientation,id:l.triggerId,...s,...n,ref:r})})});Z.displayName=M;var Q="AccordionContent",X=r.default.forwardRef((e,r)=>{let{__scopeAccordion:a,...n}=e,o=L(R,a),l=F(Q,a),i=P(a);return(0,t.jsx)(w,{role:"region","aria-labelledby":l.triggerId,"data-orientation":o.orientation,...i,...n,ref:r,
1style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});function Y(e){return e?"open":"closed"}X.displayName=Q;var ee=e.i(664659),et=e.i(647163);let er=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(G,{ref:a,className:(0,et.cn)("border-b",e),...r}));er.displayName="AccordionItem";let ea=r.forwardRef(({className:e,children:r,...a},n)=>(0,t.jsx)(J,{className:"flex",children:(0,t.jsxs)(Z,{ref:n,className:(0,et.cn)("flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",e),...a,children:[r,(0,t.jsx)(ee.ChevronDown,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200"})]})}));ea.displayName=Z.displayName;let en=r.forwardRef(({className:e,children:r,...a},n)=>(0,t.jsx)(X,{ref:n,className:"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...a,children:(0,t.jsx)("div",{className:(0,et.cn)("pb-4 pt-0",e),children:r})}));en.displayName=X.displayName,e.s(["Accordion",0,D,"AccordionContent",0,en,"AccordionItem",0,er,"AccordionTrigger",0,ea],890538)},167881,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(991918),n=e.i(225913),o=e.i(647163);let l=(0,n.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),i=r.forwardRef(({className:e,variant:r,size:n,asChild:i=!1,...s},d)=>{let c=i?a.Slot:"button";return(0,t.jsx)(c,{className:(0,o.cn)(l({variant:r,size:n,className:e})),ref:d,...s})});i.displayName="Button",e.s(["Button",0,i,"buttonVariants",0,l])},506682,e=>{"use strict";e.s(["body",0,"text-base text-slate-600","bodyRelaxed",0,"text-base text-slate-600 leading-relaxed","conclusionBox",0,"rounded-xl bg-slate-50 border border-slate-200 px-5 py-4","currencyPrefix",0,"absolute left-3 top-1/2 -translate-y-1/2 text-slate-400 text-base","fieldGroup",0,"flex flex-col gap-2.5","formCard",0,"rounded-2xl border border-slate-200 bg-white p-6 md:p-8 shadow-sm","formStack",0,"flex flex-col gap-6","inputSuffix",0,"pointer-events-none absolute top-1/2 right-3 -translate-y-1/2 text-sm text-slate-500","labelText",0,"text-lg font-semibold text-slate-700","salaryInput",0,"h-14 pl-14 text-right text-xl font-mono","secondary",0,"text-sm text-slate-500","secondaryRelaxed",0,"text-sm text-slate-500 leading-relaxed","selectTriggerSize",0,"h-12 text-base","tooltipContent",0,"max-w-xs text-sm leading-relaxed"])},991918,e=>{"use strict";var t=e.i(271645),r=e.i(820783),a=e.i(843476),n=Symbol.for("react.lazy"),o=t[" use ".trim().toString()];function l(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===n&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}function i(e){var n;let i,s=(n=e,(i=t.forwardRef((e,a)=>{let{children:n,...i}=e;if(l(n)&&"function"==typeof o&&(n=o(n._payload)),t.isValidElement(n)){var s;let e,o,l=(s=n,(o=(e=Object.getOwnPropertyDescriptor(s.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.ref:(o=(e=Object.getOwnPropertyDescriptor(s,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.props.ref:s.props.ref||s.ref),d=function(e,t){let r={...t};for(let a in t){let n=e[a],o=t[a];/^on[A-Z]/.test(a)?n&&o?r[a]=(...e)=>
1{let t=o(...e);return n(...e),t}:n&&(r[a]=n):"style"===a?r[a]={...n,...o}:"className"===a&&(r[a]=[n,o].filter(Boolean).join(" "))}return{...e,...r}}(i,n.props);return n.type!==t.Fragment&&(d.ref=a?(0,r.composeRefs)(a,l):l),t.cloneElement(n,d)}return t.Children.count(n)>1?t.Children.only(null):null})).displayName=`${n}.SlotClone`,i),d=t.forwardRef((e,r)=>{let{children:n,...i}=e;l(n)&&"function"==typeof o&&(n=o(n._payload));let d=t.Children.toArray(n),u=d.find(c);if(u){let e=u.props.children,n=d.map(r=>r!==u?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,a.jsx)(s,{...i,ref:r,children:t.isValidElement(e)?t.cloneElement(e,void 0,n):null})}return(0,a.jsx)(s,{...i,ref:r,children:n})});return d.displayName=`${e}.Slot`,d}var s=i("Slot"),d=Symbol("radix.slottable");function c(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===d}e.s(["Slot",0,s,"createSlot",0,i])},972520,e=>{"use strict";let t=(0,e.i(475254).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",0,t],972520)},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)}]);

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.