@tempots/beatui 1.7.5 → 1.9.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/dist/{ar-Wr6gMs-M.cjs → ar-CEzAem0F.cjs} +1 -1
- package/dist/{ar-fdUqbCvM.js → ar-CQieaqsq.js} +1 -1
- package/dist/auth/index.cjs.js +1 -1
- package/dist/auth/index.es.js +1 -1
- package/dist/auth-divider-B8yr-E_b.cjs +1 -0
- package/dist/{auth-divider-D9KnNeyF.js → auth-divider-Byh5BWLc.js} +91 -88
- package/dist/better-auth/index.cjs.js +1 -1
- package/dist/better-auth/index.es.js +27 -26
- package/dist/card-BkA7Wvbh.cjs +1 -0
- package/dist/card-DX1DwGbL.js +62 -0
- package/dist/{colors-C2sgnzFH.js → colors-CyMhfbJi.js} +64 -58
- package/dist/{colors-DPCHjRMj.cjs → colors-IXZF9U-s.cjs} +1 -1
- package/dist/control-hqEuMzyI.js +343 -0
- package/dist/control-muup9GF1.cjs +1 -0
- package/dist/custom-validation-BA9iJWl_.cjs +1 -0
- package/dist/custom-validation-BOBoUwHY.js +181 -0
- package/dist/{de-C5-k5Eov.js → de-CBIwvkAH.js} +1 -1
- package/dist/{de-DZqdSEta.cjs → de-DdfxrlT3.cjs} +1 -1
- package/dist/deep-merge-8fwp1z4X.js +1346 -0
- package/dist/deep-merge-VDGE_HQD.cjs +1 -0
- package/dist/duration-input-DmsljXl3.cjs +1 -0
- package/dist/{duration-input-D4V_PHIg.js → duration-input-ZQlcqdXU.js} +32 -31
- package/dist/{editor-toolbar-group-FpOHrmtx.js → editor-toolbar-group-BNTBMJCe.js} +2 -2
- package/dist/{editor-toolbar-group-C_ft_T8D.cjs → editor-toolbar-group-DiMzqYgz.cjs} +1 -1
- package/dist/{es-h6jmoF4X.js → es--9HaEj2D.js} +1 -1
- package/dist/{es-CJgYfRap.cjs → es-DSdljxFJ.cjs} +1 -1
- package/dist/{fa-BuxK837l.js → fa-1Z-akcW7.js} +1 -1
- package/dist/{fa-BQ5PzwNY.cjs → fa-BolmeWRT.cjs} +1 -1
- package/dist/flyout-CuKFh_T7.js +151 -0
- package/dist/flyout-DC_tKaTG.cjs +1 -0
- package/dist/{fr-Bv3TG44U.cjs → fr-CODgUuoZ.cjs} +1 -1
- package/dist/{fr-BwILQ9G2.js → fr-DhHM9rou.js} +1 -1
- package/dist/{he-yC9Sc7JD.js → he-CBamXbGJ.js} +1 -1
- package/dist/{he-5LbvgMCC.cjs → he-Juw-dr28.cjs} +1 -1
- package/dist/{hi-Da7rcCpP.js → hi-DvvcX-Ra.js} +1 -1
- package/dist/{hi-YWhWcG_L.cjs → hi-R749jeg-.cjs} +1 -1
- package/dist/{index-CvU9E9wd.js → index-BfQaT5Jy.js} +104 -104
- package/dist/{index-XogEKwdt.cjs → index-Dv7nPuwA.cjs} +1 -1
- package/dist/index.cjs.js +4 -4
- package/dist/index.es.js +6713 -9831
- package/dist/{input-container-CyOgiiQD.cjs → input-container-BaWQLWB6.cjs} +1 -1
- package/dist/{input-container-8JFB11xN.js → input-container-DCS5oJ4S.js} +4 -4
- package/dist/{it-BxOIJE45.cjs → it-DT5oRZDH.cjs} +1 -1
- package/dist/{it-Yeklau78.js → it-aV6i8Qxz.js} +1 -1
- package/dist/{ja-Dxj9Q5Yd.js → ja-CuLhGnJX.js} +1 -1
- package/dist/{ja-CNhjK06P.cjs → ja-CwKaCYLB.cjs} +1 -1
- package/dist/json-schema/index.cjs.js +1 -1
- package/dist/json-schema/index.es.js +83 -79
- package/dist/json-schema-display/index.cjs.js +1 -1
- package/dist/json-schema-display/index.es.js +2 -2
- package/dist/json-structure/index.cjs.js +1 -1
- package/dist/json-structure/index.es.js +74 -72
- package/dist/{ko-DgkqcXTs.cjs → ko-Bucro9ID.cjs} +1 -1
- package/dist/{ko-gn_MsegK.js → ko-D-66BsEX.js} +1 -1
- package/dist/lexical/index.cjs.js +1 -1
- package/dist/lexical/index.es.js +5 -5
- package/dist/menu-BFLFKceF.cjs +1 -0
- package/dist/menu-BO6zqyfq.js +220 -0
- package/dist/modal-6Mq3vS5r.js +309 -0
- package/dist/modal-d77-TMc4.cjs +1 -0
- package/dist/{nl-vHNFtXXb.js → nl-CAny6wvm.js} +1 -1
- package/dist/{nl-Dy9lmbBO.cjs → nl-D7vHpehb.cjs} +1 -1
- package/dist/notice-BNGx86Yg.js +110 -0
- package/dist/notice-iF6zBMq9.cjs +1 -0
- package/dist/{oneof-branch-detection-Q_jxvJIA.js → oneof-branch-detection-Bm17RhC2.js} +27 -26
- package/dist/oneof-branch-detection-DZ4MrfBp.cjs +1 -0
- package/dist/openui/index.cjs.js +9 -0
- package/dist/openui/index.es.js +2174 -0
- package/dist/password-input-Bipt7Wsu.cjs +1 -0
- package/dist/password-input-mkRmrEPq.js +105 -0
- package/dist/{pl-BtYbtsmG.cjs → pl-CSiXoOKT.cjs} +1 -1
- package/dist/{pl-C0UdHla0.js → pl-rmZLgQ_V.js} +1 -1
- package/dist/prosemirror/index.cjs.js +1 -1
- package/dist/prosemirror/index.es.js +4 -4
- package/dist/{pt-CtNmqQ1X.cjs → pt-CJT-iq4y.cjs} +1 -1
- package/dist/{pt-DGKtfN0d.js → pt-DHnajqAi.js} +1 -1
- package/dist/{ru-CpXYLt-v.js → ru-C_E8OZNE.js} +1 -1
- package/dist/{ru-BaL_NPRU.cjs → ru-G3sr_ctV.cjs} +1 -1
- package/dist/slider-input-SLguFA0d.cjs +1 -0
- package/dist/slider-input-VYAMm7pE.js +285 -0
- package/dist/stepper-24p16Zsv.cjs +1 -0
- package/dist/stepper-TlzbfYWa.js +3222 -0
- package/dist/tailwind/preset.cjs.js +1 -1
- package/dist/tailwind/preset.es.js +38 -40
- package/dist/tailwind/vite-plugin.cjs.js +14 -12
- package/dist/tailwind/vite-plugin.es.js +317 -246
- package/dist/text-area-BdemKQ_w.cjs +1 -0
- package/dist/text-area-Br83-_PQ.js +431 -0
- package/dist/{text-input-NJypZSnE.js → text-input-ByuxdX8w.js} +5 -5
- package/dist/{text-input-DS5zlXb2.cjs → text-input-MjlUC_9u.cjs} +1 -1
- package/dist/{toolbar-BF2L6WKC.js → toolbar-CEBTTjHh.js} +1 -1
- package/dist/{toolbar-BBwfe8U9.cjs → toolbar-DWawYFFX.cjs} +1 -1
- package/dist/{tr-DwOd87oB.cjs → tr-DcxLHHTC.cjs} +1 -1
- package/dist/{tr-DIFZDFW_.js → tr-bVXwloKC.js} +1 -1
- package/dist/{translations-EwEmHe3v.cjs → translations-D3xqZUTA.cjs} +1 -1
- package/dist/{translations-BCMP-h52.js → translations-DU9wTV1y.js} +20 -19
- package/dist/{translations-5cXBrENb.js → translations-RT_UN8ny.js} +1 -1
- package/dist/{translations-BqWc0ZHz.cjs → translations-qljG2Chq.cjs} +1 -1
- package/dist/types/components/navigation/stepper.d.ts +4 -4
- package/dist/types/openui/index.d.ts +28 -0
- package/dist/types/openui/library/define-component.d.ts +15 -0
- package/dist/types/openui/library/library.d.ts +7 -0
- package/dist/types/openui/library/prompt-generator.d.ts +5 -0
- package/dist/types/openui/library/types.d.ts +33 -0
- package/dist/types/openui/parser/parser.d.ts +8 -0
- package/dist/types/openui/parser/streaming-parser.d.ts +14 -0
- package/dist/types/openui/parser/tokenizer.d.ts +9 -0
- package/dist/types/openui/parser/types.d.ts +46 -0
- package/dist/types/openui/registry/button.d.ts +148 -0
- package/dist/types/openui/registry/data.d.ts +177 -0
- package/dist/types/openui/registry/form.d.ts +65 -0
- package/dist/types/openui/registry/format.d.ts +67 -0
- package/dist/types/openui/registry/index.d.ts +9 -0
- package/dist/types/openui/registry/layout.d.ts +45 -0
- package/dist/types/openui/registry/navigation.d.ts +149 -0
- package/dist/types/openui/registry/overlay.d.ts +56 -0
- package/dist/types/openui/registry/typography.d.ts +17 -0
- package/dist/types/openui/renderer/action-context.d.ts +24 -0
- package/dist/types/openui/renderer/node-resolver.d.ts +9 -0
- package/dist/types/openui/renderer/openui-renderer.d.ts +32 -0
- package/dist/types/openui/renderer/skeleton.d.ts +2 -0
- package/dist/types/openui/streaming/from-fetch.d.ts +7 -0
- package/dist/types/openui/streaming/from-sse.d.ts +7 -0
- package/dist/types/openui/streaming/from-websocket.d.ts +10 -0
- package/dist/types/openui/streaming/types.d.ts +5 -0
- package/dist/types/tailwind/preset.d.ts +25 -4
- package/dist/types/tailwind/vite-plugin.d.ts +17 -5
- package/dist/types/tokens/colors.d.ts +87 -9
- package/dist/types/tokens/index.d.ts +7 -6
- package/dist/{ur-DBst-TXc.js → ur-Dls2qb4V.js} +1 -1
- package/dist/{ur-D9nLchps.cjs → ur-IRQoHh1E.cjs} +1 -1
- package/dist/use-form-BZ8vDYOv.cjs +2 -0
- package/dist/use-form-DsCzINfm.js +750 -0
- package/dist/utils-D3-NApSw.cjs +1 -0
- package/dist/utils-Nbh7yQ73.js +105 -0
- package/dist/{vi-Dg1aiMr5.cjs → vi-Bi9SvVCP.cjs} +1 -1
- package/dist/{vi-DQOJp32U.js → vi-C3mTzj50.js} +1 -1
- package/dist/widget-customization-BV6XB2v_.cjs +1 -0
- package/dist/widget-customization-Bso45ONQ.js +1198 -0
- package/dist/{zh-DPK4HXl2.js → zh-B4JRJBt2.js} +1 -1
- package/dist/{zh-tbwSTbmn.cjs → zh-BMU5rYu1.cjs} +1 -1
- package/package.json +31 -20
- package/dist/auth-divider-CjcrgXmq.cjs +0 -1
- package/dist/custom-validation-7por5nJN.js +0 -488
- package/dist/custom-validation-CLscGHY4.cjs +0 -1
- package/dist/deep-merge-D90SW1Ci.cjs +0 -1
- package/dist/deep-merge-DT2H9AGq.js +0 -1765
- package/dist/duration-input-4AQnQpyo.cjs +0 -1
- package/dist/menu-B60Q9j3-.cjs +0 -1
- package/dist/menu-BkqFGcXg.js +0 -366
- package/dist/notice-CQGJyZ8o.js +0 -211
- package/dist/notice-p2IqXS5-.cjs +0 -1
- package/dist/oneof-branch-detection-xDDDdYRk.cjs +0 -1
- package/dist/use-form-8NnZ-KHk.js +0 -1090
- package/dist/use-form-Dcra7GeE.cjs +0 -2
- package/dist/utils-DmEuG3Np.cjs +0 -1
- package/dist/utils-vUtP6iPG.js +0 -165
- package/dist/widget-customization-BIBva3f-.js +0 -1458
- package/dist/widget-customization-pqmtsraC.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./translations-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./translations-D3xqZUTA.cjs"),r={loadingExtended:"جاري التحميل، يرجى الانتظار",loadingShort:"جاري التحميل...",locale:"اللغة",iconDescription:"أيقونة",loadingIcon:"أيقونة التحميل",failedToLoadIcon:"فشل في تحميل الأيقونة",editLabel:"تحرير",selectOne:"اختر واحد",selectNone:"لا شيء",selectMany:"اختر عدة",noResults:"لا نتائج",passwordPlaceholderText:"كلمة المرور السرية",togglePasswordVisibility:"إظهار/إخفاء كلمة المرور",toggleMenu:"تبديل القائمة",toggleAside:"تبديل اللوحة الجانبية",mainNavigation:"القائمة الرئيسية",sidebar:"الشريط الجانبي",closeDrawer:"إغلاق الدرج",closeModal:"إغلاق النافذة المنبثقة",confirm:"تأكيد",cancel:"إلغاء",addLabel:"إضافة",removeItem:"إزالة العنصر",currentLocale:"العربية",ar:"العربية",de:"الألمانية",en:"الإنجليزية",es:"الأسبانية",fr:"الفرنسية",hi:"الهندية",it:"الإيطالية",ja:"اليابانية",ko:"الكورية",nl:"الهولندية",pl:"البولندية",pt:"البرتغالية",ru:"الروسية",tr:"التركية",vi:"الفيتنامية",zh:"الصينية",he:"العبرية",fa:"الفارسية",ur:"الأردية",emailPlaceholderText:"بريدك الإلكتروني",incrementValue:"زيادة القيمة",decrementValue:"تقليل القيمة",dropZoneInstructions:e=>e?"انقر للاختيار أو اسحب الملفات هنا، أو اضغط Enter أو Space لفتح محدد الملفات":"اسحب الملفات هنا",fileSizeUnits:["بايت","ك.ب","م.ب","ج.ب","ت.ب"],removeFile:"إزالة الملف",clearAllFiles:"مسح كل الملفات",clearValue:"مسح القيمة",dateRangeStart:"Start",dateRangeEnd:"End",dateRangeNoLimit:"No limit",dateRangeSelectDate:"Select date",unknownType:"نوع غير معروف",filesInputInstructions:(e,t,l)=>{let o=e==null||e>1?"انقر للاختيار أو اسحب الملفات هنا":"انقر للاختيار أو اسحب ملف هنا";if(e||t){const n=[];if(e!=null&&e>1&&n.push(`حتى ${e} ملفات`),t&&l){const a=i.formatFileSize(t,{units:l});n.push(`حد أقصى ${a} لكل ملف`)}n.length>0&&(o+=` (${n.join("، ")})`)}return o},paginationLabel:"ترقيم الصفحات",paginationRange:(e,t,l,o)=>o>l?`الصفوف ${e} إلى ${t} من ${l} من أصل ${o}`:`الصفوف ${e} إلى ${t} من ${l}`,firstPage:"الصفحة الأولى",previousPage:"الصفحة السابقة",nextPage:"الصفحة التالية",lastPage:"الصفحة الأخيرة",breadcrumbs:"مسار التنقل",commandPalette:"لوحة الأوامر",typeACommand:"اكتب أمراً...",noResultsFound:"لم يتم العثور على نتائج",noMatchingCommands:"لا توجد أوامر مطابقة",appearanceSystem:"النظام",appearanceLight:"فاتح",appearanceDark:"داكن",ok:"OK",changeTypeConfirmation:"سيؤدي تغيير النوع إلى مسح القيمة الحالية. هل تريد المتابعة؟",notifications:"الإشعارات",markAllAsRead:"تحديد الكل كمقروء",noNotifications:"لا توجد إشعارات",schemaConflictsDetected:"تم اكتشاف تعارضات في المخطط",schemaViolationsDetected:"تم اكتشاف انتهاكات في المخطط",properties:"الخصائص",uploading:"جاري الرفع...",dropFilesOrBrowse:"أسقط الملفات هنا أو انقر للتصفح",acceptedTypes:e=>`الأنواع المقبولة: ${e}`,enterUrlPrompt:"أدخل الرابط:",exceeded:"(تم التجاوز)",pdfPreview:"معاينة PDF",lexical:{fontFamily:"نوع الخط",fontSize:"حجم الخط",lineHeight:"ارتفاع السطر",fontColor:"لون الخط",highlightColor:"لون التمييز",backgroundColor:"لون الخلفية",bold:"غامق",italic:"مائل",underline:"تسطير",strikethrough:"يتوسطه خط",code:"رمز",clearFormatting:"مسح التنسيق",normal:"عادي",heading:e=>`عنوان ${e}`,bulletList:"قائمة نقطية",orderedList:"قائمة مرقمة",checkList:"قائمة مهام",indent:"مسافة بادئة",outdent:"إزالة المسافة البادئة",blockquote:"اقتباس",codeBlock:"كتلة رمز",horizontalRule:"خط أفقي",insertTable:"إدراج جدول",link:"رابط",undo:"تراجع",redo:"إعادة",cut:"قص",copy:"نسخ",paste:"لصق",defaultOption:"افتراضي",slashCommands:"أوامر الشرطة المائلة",noCommandsFound:"لم يتم العثور على أوامر",changeBlockType:"تغيير نوع الكتلة",blockTypes:"أنواع الكتل",enterUrl:"أدخل الرابط:",tableActions:"Table actions",insertRowAbove:"Insert row above",insertRowBelow:"Insert row below",insertColumnLeft:"Insert column left",insertColumnRight:"Insert column right",deleteRow:"Delete row",deleteColumn:"Delete column",deleteTable:"Delete table"},dataTable:{sortAscending:"ترتيب تصاعدي",sortDescending:"ترتيب تنازلي",clearSort:"مسح الترتيب",filterPlaceholder:"تصفية...",clearFilter:"مسح التصفية",selectAll:"تحديد الكل",deselectAll:"إلغاء تحديد الكل",selectedCount:e=>`${e} محدد`,resetAll:"إعادة تعيين الكل",noResults:"لم يتم العثور على نتائج",loading:"جارٍ التحميل...",filterPanelAddCondition:"إضافة شرط",filterPanelApply:"تطبيق",filterPanelClear:"مسح الفلاتر",filterPanelAnd:"و",filterPanelOr:"أو",filterPanelContains:"يحتوي على",filterPanelNotContains:"لا يحتوي على",filterPanelEquals:"يساوي",filterPanelNotEquals:"لا يساوي",filterPanelStartsWith:"يبدأ بـ",filterPanelEndsWith:"ينتهي بـ",filterPanelIsNull:"فارغ",filterPanelIsNotNull:"غير فارغ",filterPanelGt:"أكبر من",filterPanelGte:"أكبر من أو يساوي",filterPanelLt:"أقل من",filterPanelLte:"أقل من أو يساوي",filterPanelBetween:"بين",filterPanelValuePlaceholder:"القيمة...",sortMultiHint:"اضغط Shift للترتيب حسب أعمدة متعددة",columnVisibility:"الأعمدة",showAllColumns:"إظهار الكل",menuSortAsc:"ترتيب تصاعدي",menuSortDesc:"ترتيب تنازلي",menuClearSort:"مسح الترتيب",menuHideColumn:"إخفاء العمود",menuChooseColumns:"اختيار الأعمدة",menuResetColumns:"إعادة تعيين الأعمدة",menuFilter:"تصفية",rowCount:(e,t)=>`الصفوف: ${e} إجمالي الصفوف: ${t}`,filterTagsPlaceholder:"اختر القيم...",groupCount:e=>`${e} عناصر`,collapseGroup:"طي المجموعة",expandGroup:"توسيع المجموعة",describeFilter:{textContains:(e,t)=>`${e} يحتوي على "${t}"`,textNotContains:(e,t)=>`${e} لا يحتوي على "${t}"`,textEquals:(e,t)=>`${e} يساوي "${t}"`,textNotEquals:(e,t)=>`${e} لا يساوي "${t}"`,textStartsWith:(e,t)=>`${e} يبدأ بـ "${t}"`,textEndsWith:(e,t)=>`${e} ينتهي بـ "${t}"`,compareEq:(e,t)=>`${e} = ${t}`,compareNeq:(e,t)=>`${e} ≠ ${t}`,compareGt:(e,t)=>`${e} > ${t}`,compareGte:(e,t)=>`${e} ≥ ${t}`,compareLt:(e,t)=>`${e} < ${t}`,compareLte:(e,t)=>`${e} ≤ ${t}`,rangeBetween:(e,t,l)=>`${e} بين ${t} و ${l}`,rangeGte:(e,t)=>`${e} ≥ ${t}`,rangeLte:(e,t)=>`${e} ≤ ${t}`,setIn:(e,t)=>`${e} ضمن [${t}]`,setNotIn:(e,t)=>`${e} ليس ضمن [${t}]`,booleanIs:(e,t)=>`${e} هو ${t}`,isNull:e=>`${e} فارغ`,isNotNull:e=>`${e} ليس فارغاً`,compositeAnd:e=>e.join(" و "),compositeOr:e=>e.join(" أو ")}},prosemirror:{bold:"Bold",italic:"Italic",code:"Code",link:"Link",removeLink:"Remove Link",heading:e=>`Heading ${e}`,bulletList:"Bullet List",orderedList:"Ordered List",blockquote:"Blockquote",codeBlock:"Code Block",horizontalRule:"Horizontal Rule",linkUrlPlaceholder:"https://example.com"},carousel:{label:"عرض دائري",previousSlide:"الشريحة السابقة",nextSlide:"الشريحة التالية",slideNavigation:"التنقل بين الشرائح",slideOfTotal:(e,t)=>`شريحة ${e} من ${t}`,goToSlide:e=>`انتقل إلى الشريحة ${e}`},datePicker:{label:"منتقي التاريخ",previousYear:"السنة السابقة",previousMonth:"الشهر السابق",selectMonth:"اختر الشهر",selectYear:"اختر السنة",nextMonth:"الشهر التالي",nextYear:"السنة التالية",previousYears:e=>`${e} سنوات سابقة`,nextYears:e=>`${e} سنوات تالية`,dateRangePickerLabel:"منتقي نطاق التاريخ",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],shortMonthNames:["ينا","فبر","مار","أبر","ماي","يون","يول","أغس","سبت","أكت","نوف","ديس"],dayNames:["أح","إث","ثل","أر","خم","جم","سب"]},timePicker:{label:"منتقي الوقت",hoursLabel:"HH",minutesLabel:"MM",secondsLabel:"SS",selectHours:"اختيار الساعات",selectMinutes:"اختيار الدقائق",selectSeconds:"اختيار الثواني",selectPeriod:"اختيار ص/م",nowLabel:"الآن"},timeSelectTime:"اختر الوقت",dateTimeSelectDateTime:"اختر التاريخ والوقت",colorPicker:{hue:"درجة اللون",saturation:"التشبع",lightness:"الإضاءة",alpha:"الشفافية",red:"أحمر",green:"أخضر",blue:"أزرق",hex:"Hex",whiteness:"البياض",blackness:"السواد",chroma:"الكروما"},spotlight:{placeholder:"بحث...",noResults:"لم يتم العثور على نتائج",recentItems:"الأخيرة",close:"إغلاق"},virtualList:{listLabel:"قائمة قابلة للتمرير"},stepper:{step:"خطوة",stepOfTotal:(e,t)=>`الخطوة ${e} من ${t}`,completed:"مكتمل",next:"التالي",previous:"السابق",complete:"إكمال"},sortableList:{dragHandle:"اسحب لإعادة الترتيب"},transferList:{available:"متاح",selected:"محدد",moveRight:"نقل إلى المحدد",moveLeft:"نقل إلى المتاح",moveAllRight:"نقل الكل إلى المحدد",moveAllLeft:"نقل الكل إلى المتاح",searchAvailable:"بحث في العناصر المتاحة…",searchSelected:"بحث في العناصر المحددة…"},copyButton:{copied:"تم النسخ!",copyToClipboard:"نسخ إلى الحافظة"},numberStepper:{increment:"زيادة",decrement:"إنقاص",value:"القيمة"},statCard:{trendUp:"اتجاه صاعد",trendDown:"اتجاه هابط",trendFlat:"بدون تغيير"},otpInputLabel:"إدخال كلمة مرور لمرة واحدة",otpDigitLabel:(e,t)=>`الرقم ${e} من ${t}`,scrollableGridView:"عرض شبكة قابل للتمرير",onboardingTour:{label:"جولة إرشادية",stepIndicator:(e,t)=>`الخطوة ${e} من ${t}`,skip:"تخطي",previous:"السابق",next:"التالي",finish:"إنهاء"},searchPlaceholder:"بحث",pdfPageViewer:{loading:"Loading PDF...",loadFailed:"Failed to load PDF",invalidPdf:"Invalid PDF file",pageOutOfRange:(e,t)=>`Page ${e} is out of range (1-${t})`,renderFailed:"Failed to render PDF page"}};exports.default=r;
|
package/dist/auth/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../auth-divider-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../auth-divider-B8yr-E_b.cjs");exports.AmazonLoginButton=o.AmazonLoginButton;exports.AppleLoginButton=o.AppleLoginButton;exports.AuthContainer=o.AuthContainer;exports.AuthDivider=o.AuthDivider;exports.AuthModal=o.AuthModal;exports.DiscordLoginButton=o.DiscordLoginButton;exports.EpicLoginButton=o.EpicLoginButton;exports.FacebookLoginButton=o.FacebookLoginButton;exports.GitHubLoginButton=o.GitHubLoginButton;exports.GoogleLoginButton=o.GoogleLoginButton;exports.InstagramLoginButton=o.InstagramLoginButton;exports.LinkedInLoginButton=o.LinkedInLoginButton;exports.MicrosoftLoginButton=o.MicrosoftLoginButton;exports.PasswordStrengthBar=o.PasswordStrengthBar;exports.PasswordStrengthIndicator=o.PasswordStrengthIndicator;exports.PasswordStrengthText=o.PasswordStrengthText;exports.PayPalLoginButton=o.PayPalLoginButton;exports.PinterestLoginButton=o.PinterestLoginButton;exports.PlayStationLoginButton=o.PlayStationLoginButton;exports.RedditLoginButton=o.RedditLoginButton;exports.ResetPasswordForm=o.ResetPasswordForm;exports.SignInForm=o.SignInForm;exports.SignUpForm=o.SignUpForm;exports.SnapchatLoginButton=o.SnapchatLoginButton;exports.SocialLoginButton=o.SocialLoginButton;exports.SocialLoginButtons=o.SocialLoginButtons;exports.SocialProviders=o.SocialProviders;exports.SteamLoginButton=o.SteamLoginButton;exports.TiktokLoginButton=o.TiktokLoginButton;exports.TwitchLoginButton=o.TwitchLoginButton;exports.TwitterLoginButton=o.TwitterLoginButton;exports.WeChatLoginButton=o.WeChatLoginButton;exports.WhatsAppLoginButton=o.WhatsAppLoginButton;exports.XLoginButtin=o.XLoginButtin;exports.XboxLoginButton=o.XboxLoginButton;exports.YahooLoginButton=o.YahooLoginButton;exports.authSchemas=o.authSchemas;exports.calculatePasswordStrength=o.calculatePasswordStrength;exports.createEmailSchema=o.createEmailSchema;exports.createPasswordSchema=o.createPasswordSchema;exports.createSignInSchema=o.createSignInSchema;exports.createSignUpSchema=o.createSignUpSchema;exports.createSocialLoginUrl=o.createSocialLoginUrl;exports.defaultPasswordRules=o.defaultPasswordRules;exports.defaultSignInSchema=o.defaultSignInSchema;exports.defaultSignUpSchema=o.defaultSignUpSchema;exports.emailSchema=o.emailSchema;exports.formatAuthError=o.formatAuthError;exports.formatProviderName=o.formatProviderName;exports.formatSocialLoginText=o.formatSocialLoginText;exports.generateRandomString=o.generateRandomString;exports.getProviderColor=o.getProviderColor;exports.getProviderIcon=o.getProviderIcon;exports.isBrowser=o.isBrowser;exports.isValidEmail=o.isValidEmail;exports.openSocialLoginPopup=o.openSocialLoginPopup;exports.providerInfo=o.providerInfo;exports.requestToControllerValidation=o.requestToControllerValidation;exports.resetPasswordSchema=o.resetPasswordSchema;exports.socialProviderInfo=o.socialProviderInfo;exports.useAuthEmailProp=o.useAuthEmailProp;exports.validateEmail=o.validateEmail;exports.validatePassword=o.validatePassword;
|
package/dist/auth/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as t, a as s, b as n, c as i, d as e, D as r, E as g, F as u, G as c, e as l, I as d, L, M as S, P as B, f as m, g as h, h as P, i as p, j as w, R as f, k as v, S as I, l as A, m as E, n as T, o as k, p as x, q as C, T as F, r as R, s as U, W as b, t as y, X as D, u as G, Y as M, v as V, w as W, x as X, y as q, z, B as H, C as N, H as Y, J as j, K as J, N as K, O, Q, U as Z, V as _, Z as $, _ as aa, $ as oa, a0 as ta, a1 as sa, a2 as na, a3 as ia, a4 as ea, a5 as ra, a6 as ga, a7 as ua, a8 as ca } from "../auth-divider-
|
|
1
|
+
import { A as t, a as s, b as n, c as i, d as e, D as r, E as g, F as u, G as c, e as l, I as d, L, M as S, P as B, f as m, g as h, h as P, i as p, j as w, R as f, k as v, S as I, l as A, m as E, n as T, o as k, p as x, q as C, T as F, r as R, s as U, W as b, t as y, X as D, u as G, Y as M, v as V, w as W, x as X, y as q, z, B as H, C as N, H as Y, J as j, K as J, N as K, O, Q, U as Z, V as _, Z as $, _ as aa, $ as oa, a0 as ta, a1 as sa, a2 as na, a3 as ia, a4 as ea, a5 as ra, a6 as ga, a7 as ua, a8 as ca } from "../auth-divider-Byh5BWLc.js";
|
|
2
2
|
export {
|
|
3
3
|
t as AmazonLoginButton,
|
|
4
4
|
s as AppleLoginButton,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=require("@tempots/dom"),q=require("./stack-dwLevGa2.cjs"),C=require("./use-form-BZ8vDYOv.cjs"),L=require("./custom-validation-BA9iJWl_.cjs"),Z=require("@tempots/std"),m=require("./translations-qljG2Chq.cjs"),I=require("./password-input-Bipt7Wsu.cjs"),j=require("./notice-iF6zBMq9.cjs"),P=require("./control-muup9GF1.cjs"),$=require("./input-container-BaWQLWB6.cjs"),se=require("./text-input-MjlUC_9u.cjs"),ie=require("./translations-D3xqZUTA.cjs"),ce=require("@tempots/ui"),le=require("./modal-d77-TMc4.cjs"),E={google:{name:"Google",icon:"logos:google-icon",color:"#4285f4"},github:{name:"GitHub",icon:"logos:github-icon",color:"#333"},apple:{name:"Apple",icon:"logos:apple",color:"#000"},facebook:{name:"Facebook",icon:"logos:facebook",color:"#1877f2"},twitter:{name:"Twitter",icon:"logos:twitter",color:"#1da1f2"},microsoft:{name:"Microsoft",icon:"logos:microsoft-icon",color:"#00a4ef"},discord:{name:"Discord",icon:"logos:discord-icon",color:"#5865f2"},linkedin:{name:"LinkedIn",icon:"logos:linkedin-icon",color:"#0077b5"},instagram:{name:"Instagram",icon:"logos:instagram-icon",color:"#e4405f"},tiktok:{name:"TikTok",icon:"logos:tiktok-icon",color:"#000"},snapchat:{name:"Snapchat",icon:"logos:snapchat-icon",color:"#fffc00"},reddit:{name:"Reddit",icon:"logos:reddit-icon",color:"#ff4500"},pinterest:{name:"Pinterest",icon:"logos:pinterest-icon",color:"#bd081c"},twitch:{name:"Twitch",icon:"logos:twitch",color:"#9146ff"},steam:{name:"Steam",icon:"logos:steam-icon",color:"#000"},epic:{name:"Epic Games",icon:"simple-icons:epicgames",color:"#313131"},playstation:{name:"PlayStation",icon:"logos:playstation-icon",color:"#003791"},xbox:{name:"Xbox",icon:"logos:xbox-icon",color:"#107c10"},whatsapp:{name:"WhatsApp",icon:"logos:whatsapp-icon",color:"#25d366"},wechat:{name:"WeChat",icon:"logos:wechat-icon",color:"#1aad19"},amazon:{name:"Amazon",icon:"logos:amazon-icon",color:"#ff9900"},yahoo:{name:"Yahoo",icon:"logos:yahoo-icon",color:"#720e9e"},paypal:{name:"PayPal",icon:"logos:paypal",color:"#0070ba"},x:{name:"X",icon:"simple-icons:x",color:"#000"}};function J(t){return E[t]?.name||t}function ue(t){return E[t]?.icon||"mdi:account"}function me(t){return E[t]?.color||"#666"}function de(t,o="Continue with {provider}"){return o.replace("{provider}",J(t))}const y={minLength:8,requireUppercase:!0,requireLowercase:!0,requireNumbers:!0,requireSymbols:!1};function pe(t){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}function K(t=32){const o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let r="";for(let a=0;a<t;a++)r+=o.charAt(Math.floor(Math.random()*o.length));return r}function he(t,o,r,a=[],l={}){const s={google:"https://accounts.google.com/oauth/authorize",github:"https://github.com/login/oauth/authorize",apple:"https://appleid.apple.com/auth/authorize",facebook:"https://www.facebook.com/v18.0/dialog/oauth",twitter:"https://twitter.com/i/oauth2/authorize",microsoft:"https://login.microsoftonline.com/common/oauth2/v2.0/authorize",discord:"https://discord.com/api/oauth2/authorize",linkedin:"https://www.linkedin.com/oauth/v2/authorization",instagram:"https://api.instagram.com/oauth/authorize",tiktok:"https://www.tiktok.com/v2/auth/authorize",snapchat:"https://accounts.snapchat.com/accounts/oauth2/authorize",reddit:"https://www.reddit.com/api/v1/authorize",pinterest:"https://api.pinterest.com/oauth/",twitch:"https://id.twitch.tv/oauth2/authorize",steam:"https://steamcommunity.com/oauth/authorize",epic:"https://auth.epicgames.com/authorize",playstation:"https://auth.api.sonyentertainmentnetwork.com/oauth/authorize",xbox:"https://login.live.com/oauth20_authorize.srf",whatsapp:"https://web.whatsapp.com/oauth/authorize",wechat:"https://open.weixin.qq.com/connect/qrconnect",amazon:"https://www.amazon.com/ap/oa",yahoo:"https://api.login.yahoo.com/oauth2/request_auth",paypal:"https://www.paypal.com/signin/authorize",x:"https://api.twitter.com/oauth2/authorize"},u={google:["openid","email","profile"],github:["user:email"],apple:["email","name"],facebook:["email"],twitter:["users.read"],microsoft:["openid","email","profile"],discord:["identify","email"],linkedin:["r_liteprofile","r_emailaddress"],instagram:["user_profile","user_media"],tiktok:["user.info.basic","user.external.id"],snapchat:["user.info.basic","user.external.id"],reddit:["identity","email"],pinterest:["read_public","read_relationships"],twitch:["openid","email","profile"],steam:["openid","email","profile"],epic:["openid","email","profile"],playstation:["openid","email","profile"],xbox:["openid","email","profile"],whatsapp:["openid","email","profile"],wechat:["openid","email","profile"],amazon:["openid","email","profile"],yahoo:["openid","email","profile"],paypal:["openid","email","profile"],x:["openid","email","profile"]},n=s[t];if(!n)throw new Error(`Unsupported provider: ${t}`);const i=a.length>0?a:u[t],c=K(),h=new URLSearchParams({client_id:o,redirect_uri:r,scope:i.join(" "),state:c,response_type:"code",...l});return`${n}?${h.toString()}`}function ge(t,o,r,a){const l=window.open(t,`${o}_login`,"width=500,height=600,scrollbars=yes,resizable=yes");if(!l){a?.(new Error("Failed to open popup window"));return}const s=setInterval(()=>{l.closed&&(clearInterval(s),a?.(new Error("Login cancelled")))},1e3),u=n=>{n.origin===window.location.origin&&(n.data.type==="SOCIAL_LOGIN_SUCCESS"?(clearInterval(s),l.close(),window.removeEventListener("message",u),r?.(n.data.result)):n.data.type==="SOCIAL_LOGIN_ERROR"&&(clearInterval(s),l.close(),window.removeEventListener("message",u),a?.(new Error(n.data.error))))};window.addEventListener("message",u)}function fe(t){return t instanceof Error?t.message:typeof t=="string"?t:t&&typeof t=="object"&&"message"in t?String(t.message):"An unexpected error occurred"}function Q(){return typeof window<"u"&&typeof document<"u"}function M({task:t,message:o,onStart:r,onEnd:a}){return async l=>{r?.();const s=await C.taskToValidation({task:t!=null?()=>t(l):async()=>null,errorMessage:o,errorPath:["root"],validation:u=>{if(u==null)return Z.Validation.valid;if(typeof u=="string")return Z.Validation.invalid({message:u});const n={};for(const i of u)n[i.field]=i.message;return C.ControllerValidation.invalidFields(n)}});return a?.(),s}}function z(t=y,o){const r=o??m.defaultMessages;let a=L.string();return t.minLength&&(a=a.min(t.minLength,(r.passwordMinLength??m.defaultMessages.passwordMinLength)(t.minLength))),t.requireUppercase&&(a=a.regex(/[A-Z]/,r.passwordRequireUppercase??m.defaultMessages.passwordRequireUppercase)),t.requireLowercase&&(a=a.regex(/[a-z]/,r.passwordRequireLowercase??m.defaultMessages.passwordRequireLowercase)),t.requireNumbers&&(a=a.regex(/[0-9]/,r.passwordRequireNumber??m.defaultMessages.passwordRequireNumber)),t.requireSymbols&&(a=a.regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/,r.passwordRequireSpecialChar??m.defaultMessages.passwordRequireSpecialChar)),t.customValidation&&(a=a.refine(l=>t.customValidation(l))),a}function T(t){const o=t??m.defaultMessages;return L.string().min(1,o.emailRequired??m.defaultMessages.emailRequired).email(o.invalidEmail??m.defaultMessages.invalidEmail)}const H=T();function U(t,o){const r=o??m.defaultMessages,a=t?z(t,o):L.string().refine(l=>l.length>0?null:r.passwordRequired??m.defaultMessages.passwordRequired);return L.object({email:T(o),password:a,rememberMe:L.boolean().default(!1)}).schema()}function R(t=y,o,r){const a=r??m.defaultMessages,l=z(t,r),s=o?.showNameField!==!1,u=o?.showConfirmPassword!==!1,n=o?.showAcceptTermsAndConditions!==!1,i={name:s?L.string().min(1,a.nameRequired??m.defaultMessages.nameRequired).optional():L.string().optional(),email:T(r),password:l,confirmPassword:u?L.string().min(1,a.confirmPasswordRequired??m.defaultMessages.confirmPasswordRequired):L.string(),acceptTerms:n?L.boolean().refine(h=>h===!0,a.acceptTermsRequired??m.defaultMessages.acceptTermsRequired):L.boolean().default(!0)},c=L.object(i);return u?c.refine(h=>h.password===h.confirmPassword?null:a.passwordsDoNotMatch??m.defaultMessages.passwordsDoNotMatch,{path:["confirmPassword"]}).schema():c.schema()}const X=L.object({email:H}).schema(),be=U(),we=R(),Le={signIn:U,signUp:R,resetPassword:()=>X};function _e(t,o){const r=o??m.defaultMessages,l=(o?T(o):H).validate(t);return l.success?null:l.errors[0]?.message||(r.invalidEmailAddress??m.defaultMessages.invalidEmailAddress)}function ve(t,o=y,r){const a=r??m.defaultMessages,s=z(o,r).validate(t);return s.success?null:s.errors[0]?.message||(a.invalidPassword??m.defaultMessages.invalidPassword)}function O(t,o=y){const r={length:t.length>=(o.minLength||8),uppercase:/[A-Z]/.test(t),lowercase:/[a-z]/.test(t),numbers:/[0-9]/.test(t),symbols:/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/.test(t),custom:o.customValidation?o.customValidation(t)===null:t.length>0},a=[!0,o.requireUppercase,o.requireLowercase,o.requireNumbers,o.requireSymbols,!!o.customValidation].filter(Boolean).length,l=[r.length,o.requireUppercase?r.uppercase:null,o.requireLowercase?r.lowercase:null,o.requireNumbers?r.numbers:null,o.requireSymbols?r.symbols:null,o.customValidation?r.custom:null].filter(n=>n===!0).length,s=a>0?Math.round(l/a*100):0;let u;return s<40?u="weak":s<60?u="fair":s<80?u="good":u="strong",{strength:u,score:s,checks:r}}const Y=()=>Q()?e.localStorageProp({key:"bui_auth_email",defaultValue:null}):e.prop(null);function ee({onSignIn:t,passwordRules:o,labels:r,showRememberMe:a}){const l=e.prop(!1),s=Y(),u=U(o),n=C.useForm({schema:u,onSubmit:M({task:t,message:"Sign in failed",onStart:()=>{l.set(!0),n.controller.disable()},onEnd:()=>{l.set(!1),n.controller.enable()}}),initialValue:{email:"",password:""}}),{controller:i,submit:c}=n;l.on(i.setDisabled);const h=i.field("email"),f=i.field("password");return s.on(b=>{b!=null&&h.change(b)}),h.signal.on(b=>{s.value!=null&&(s.value=b)}),e.Use(m.AuthI18n,b=>e.html.form(e.attr.class("bc-auth-form__form"),e.on.submit(c),q.Stack(e.attr.class("bc-auth-form__fields"),e.Ensure(i.error,_=>j.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(_))),P.Control(I.EmailInput,{controller:h,label:e.coalesce(r?.emailLabel,b.$.emailLabel)}),P.Control(I.PasswordInput,{controller:f,label:e.coalesce(r?.passwordLabel,b.$.passwordLabel)}),e.When(a??!0,()=>e.html.div(e.attr.class("bc-auth-form__remember-me"),e.html.label(e.attr.class("bc-auth-form__checkbox-label"),P.CheckboxInput({value:s.map(_=>_!=null),after:e.html.span(e.coalesce(r?.rememberMeLabel,b.$.rememberMeLabel)),onChange:_=>{_?s.value=h.signal.value??"":s.value=null}}))))),$.Button({type:"submit",variant:"filled",color:"primary",loading:l,disabled:i.disabledOrHasErrors},e.attr.class("bc-auth-form__submit"),e.coalesce(r?.signInButton,b.$.signInButton))))}function te({password:t,rules:o=y,showLabel:r=!0,className:a}){const l=e.computedOf(t)(c=>!c||c.length===0?{strength:"weak",score:0,checks:{length:!1,uppercase:!1,lowercase:!1,numbers:!1,symbols:!1,custom:!1}}:O(c,o)),s=l.map(c=>c.strength),u=l.map(c=>c.score),n=l.map(c=>c.checks),i=e.computedOf(s,a)((c,h)=>["bc-password-strength",`bc-password-strength--${c}`,h].filter(Boolean).join(" "));return e.html.div(e.attr.class(i),e.html.div(e.attr.class("bc-password-strength__bar"),e.html.div(e.attr.class("bc-password-strength__fill"),e.attr.style(u.map(c=>`width: ${c}%`)))),e.When(r,()=>e.Use(m.AuthI18n,c=>e.html.div(e.attr.class("bc-password-strength__label"),e.computedOf(s,c)((h,f)=>{switch(h){case"weak":return f.passwordStrengthWeak;case"fair":return f.passwordStrengthFair;case"good":return f.passwordStrengthGood;case"strong":return f.passwordStrengthStrong;default:return f.passwordStrengthWeak}})))),e.html.div(e.attr.class("bc-password-strength__requirements"),e.When(o.minLength!==void 0,()=>e.html.div(e.attr.class("bc-password-strength__requirement"),e.attr.class(e.computedOf(n)(c=>c.length?"bc-password-strength__requirement--met":"")),e.html.span(e.attr.class("bc-password-strength__requirement-icon"),e.computedOf(n)(c=>c.length?"✓":"○")),e.html.span(e.attr.class("bc-password-strength__requirement-text"),`At least ${o.minLength} characters`))),e.When(o.requireUppercase===!0,()=>e.html.div(e.attr.class("bc-password-strength__requirement"),e.attr.class(e.computedOf(n)(c=>c.uppercase?"bc-password-strength__requirement--met":"")),e.html.span(e.attr.class("bc-password-strength__requirement-icon"),e.computedOf(n)(c=>c.uppercase?"✓":"○")),e.html.span(e.attr.class("bc-password-strength__requirement-text"),"One uppercase letter"))),e.When(o.requireLowercase===!0,()=>e.html.div(e.attr.class("bc-password-strength__requirement"),e.attr.class(e.computedOf(n)(c=>c.lowercase?"bc-password-strength__requirement--met":"")),e.html.span(e.attr.class("bc-password-strength__requirement-icon"),e.computedOf(n)(c=>c.lowercase?"✓":"○")),e.html.span(e.attr.class("bc-password-strength__requirement-text"),"One lowercase letter"))),e.When(o.requireNumbers===!0,()=>e.html.div(e.attr.class("bc-password-strength__requirement"),e.attr.class(e.computedOf(n)(c=>c.numbers?"bc-password-strength__requirement--met":"")),e.html.span(e.attr.class("bc-password-strength__requirement-icon"),e.computedOf(n)(c=>c.numbers?"✓":"○")),e.html.span(e.attr.class("bc-password-strength__requirement-text"),"One number"))),e.When(o.requireSymbols===!0,()=>e.html.div(e.attr.class("bc-password-strength__requirement"),e.attr.class(e.computedOf(n)(c=>c.symbols?"bc-password-strength__requirement--met":"")),e.html.span(e.attr.class("bc-password-strength__requirement-icon"),e.computedOf(n)(c=>c.symbols?"✓":"○")),e.html.span(e.attr.class("bc-password-strength__requirement-text"),"One special character")))))}function ke({password:t,rules:o=y,className:r}){const a=e.computedOf(t)(n=>!n||n.length===0?{strength:"weak",score:0}:O(n,o)),l=a.map(n=>n.strength),s=a.map(n=>n.score),u=e.computedOf(l,r)((n,i)=>["bc-password-strength-bar",`bc-password-strength-bar--${n}`,i].filter(Boolean).join(" "));return e.html.div(e.attr.class(u),e.html.div(e.attr.class("bc-password-strength-bar__fill"),e.attr.style(s.map(n=>`width: ${n}%`))))}function Se({password:t,rules:o=y,className:r}){const a=e.computedOf(t)(s=>!s||s.length===0?"weak":O(s,o).strength),l=e.computedOf(a,r)((s,u)=>["bc-password-strength-text",`bc-password-strength-text--${s}`,u].filter(Boolean).join(" "));return e.Use(m.AuthI18n,s=>e.html.span(e.attr.class(l),e.computedOf(a,s)((u,n)=>{switch(u){case"weak":return n.passwordStrengthWeak;case"fair":return n.passwordStrengthFair;case"good":return n.passwordStrengthGood;case"strong":return n.passwordStrengthStrong;default:return n.passwordStrengthWeak}})))}function oe({passwordRules:t,labels:o,initialEmail:r,initialName:a,showPasswordStrength:l,onSignUp:s,showNameField:u,showConfirmPassword:n,showAcceptTermsAndConditions:i,termsAndConditions:c}){const h=e.prop(!1),f=t||y,b=typeof n=="boolean"?n:n!=null?n.value:!1,_=typeof i=="boolean"?i:i!=null?i.value:!1,W=R(f,{showNameField:u!==!1,showConfirmPassword:b,showAcceptTermsAndConditions:_}),x=C.useForm({schema:W,onSubmit:M({task:s!=null?w=>s({email:w.email,password:w.password,name:w.name,acceptTerms:w.acceptTerms}):void 0,message:"Sign up failed",onStart:()=>{h.set(!0),x.controller.disable()},onEnd:()=>{h.set(!1),x.controller.enable()}}),initialValue:{name:a??"",email:r??"",password:"",confirmPassword:"",acceptTerms:!1}}),{controller:v,submit:F}=x;h.on(v.setDisabled);const V=v.field("name"),N=v.field("email"),S=v.field("password"),k=v.field("confirmPassword"),B=v.field("acceptTerms");return e.Use(m.AuthI18n,w=>e.html.form(e.attr.class("bc-auth-form__form"),e.on.submit(F),q.Stack(e.attr.class("bc-auth-form__fields"),e.Ensure(v.error,g=>j.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(g))),e.When(u!==!1,()=>P.Control(se.TextInput,{controller:V.transform(g=>g??"",g=>g===""?void 0:g),label:e.coalesce(o?.nameLabel,w.$.nameLabel)})),P.Control(I.EmailInput,{controller:N,label:e.coalesce(o?.emailLabel,w.$.emailLabel)}),P.Control(I.PasswordInput,{controller:S,label:e.coalesce(o?.passwordLabel,w.$.passwordLabel)}),e.When(l??!1,()=>te({password:S.signal,rules:f,showLabel:!0})),e.When(n??!1,()=>P.Control(I.PasswordInput,{controller:k,label:e.coalesce(o?.confirmPasswordLabel,w.$.confirmPasswordLabel)})),e.When(i??!1,()=>e.html.div(e.attr.class("bc-auth-form__terms"),e.html.label(e.attr.class("bc-auth-form__checkbox-label"),P.CheckboxInput({value:B.signal.map(g=>g??!1),onChange:g=>B.change(g)}),e.html.span(c||e.coalesce(o?.acceptTermsLabel,w.$.acceptTermsLabel))),e.When(B.errorVisible,()=>e.html.div(e.attr.class("bc-auth-form__field-error"),B.error.map(g=>g||"")))))),$.Button({type:"submit",variant:"filled",color:"primary",loading:h,disabled:v.disabledOrHasErrors},e.attr.class("bc-auth-form__submit"),e.coalesce(o?.signUpButton,w.$.signUpButton))))}function ae({onResetPassword:t,labels:o={}}){const r=Y(),a=e.prop(!1),l=C.useForm({schema:X,onSubmit:M({task:t,message:"Reset password failed",onStart:()=>{a.set(!0),l.controller.disable()},onEnd:()=>{a.set(!1),l.controller.enable()}}),initialValue:{email:""}}),{controller:s,submit:u}=l;a.on(s.setDisabled);const n=s.field("email");return r.on(i=>{i!=null&&n.change(i)}),e.Use(m.AuthI18n,i=>e.html.form(e.attr.class("bc-auth-form__form"),e.Ensure(s.error,c=>j.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(c))),e.html.p(e.attr.class("bc-auth-form__description"),e.coalesce(o?.resetPasswordDescription,i.$.resetPasswordDescription)),e.on.submit(u),q.Stack(e.attr.class("bc-auth-form__fields"),P.Control(I.EmailInput,{controller:n,label:e.coalesce(o?.emailLabel,i.$.emailLabel)})),$.Button({loading:a,type:"submit",variant:"filled",color:"primary",disabled:s.disabledOrHasErrors},e.attr.class("bc-auth-form__submit"),e.coalesce(o?.resetPasswordButton,i.$.resetPasswordButton))))}function p({provider:t,onClick:o,size:r="md",name:a,icon:l,color:s,flow:u,labels:n}){const i=async()=>{if(o)try{u==="popup"?await o():await o()}catch(c){console.error(`Social login error for ${t} (${u||"redirect"} flow):`,c)}};return $.Button({type:"button",variant:"filled",size:r,color:s,onClick:i,roundedness:"full"},e.attr.class("bc-social-login-button"),e.attr.class(e.computedOf(t)(c=>`bc-social-login-button--${c}`)),e.html.span(e.attr.class("bc-social-login-button__inner"),e.html.span(e.attr.class("bc-social-login-button__icon"),ie.Icon({icon:l,size:r},e.attr.class("bc-social-login-button__icon-inner"))),e.Use(m.AuthI18n,c=>e.html.span(e.attr.class("bc-social-login-button__label"),e.bind(e.coalesce(n?.continueWithProvider,c.$.continueWithProvider))(a)))))}function ne({providers:t,onProviderClick:o,size:r="md",className:a}){return q.Stack(e.attr.class("bc-social-login-buttons"),e.attr.class(a),e.ForEach(t,l=>p({provider:l.$.provider,flow:l.$.flow,color:l.map(({provider:s})=>d[s].color),name:l.map(({provider:s})=>d[s].name),icon:l.map(({provider:s})=>d[s].icon),onClick:async()=>{o&&await o(l.$.provider.value)},size:r})))}const d={google:{name:"Google",icon:"logos:google-icon",color:"red"},github:{name:"GitHub",icon:"logos:github-icon",color:"black"},apple:{name:"Apple",icon:"logos:apple",color:"stone"},facebook:{name:"Facebook",icon:"logos:facebook",color:"blue"},twitter:{name:"Twitter",icon:"logos:twitter",color:"sky"},x:{name:"X",icon:"logos:x",color:"zinc"},microsoft:{name:"Microsoft",icon:"logos:microsoft-icon",color:"amber"},discord:{name:"Discord",icon:"logos:discord-icon",color:"indigo"},linkedin:{name:"LinkedIn",icon:"logos:linkedin-icon",color:"cyan"},instagram:{name:"Instagram",icon:"logos:instagram-icon",color:"fuchsia"},tiktok:{name:"TikTok",icon:"logos:tiktok-icon",color:"teal"},snapchat:{name:"Snapchat",icon:"simple-icons:snapchat",color:"yellow"},reddit:{name:"Reddit",icon:"logos:reddit-icon",color:"orange"},pinterest:{name:"Pinterest",icon:"logos:pinterest",color:"rose"},twitch:{name:"Twitch",icon:"logos:twitch",color:"purple"},steam:{name:"Steam",icon:"logos:steam",color:"slate"},epic:{name:"Epic Games",icon:"simple-icons:epicgames",color:"neutral"},playstation:{name:"PlayStation",icon:"simple-icons:playstation",color:"violet"},xbox:{name:"Xbox",icon:"simple-icons:xbox",color:"green"},whatsapp:{name:"WhatsApp",icon:"logos:whatsapp-icon",color:"emerald"},wechat:{name:"WeChat",icon:"simple-icons:wechat",color:"lime"},amazon:{name:"Amazon",icon:"simple-icons:amazon",color:"red"},yahoo:{name:"Yahoo",icon:"logos:yahoo",color:"rose"},paypal:{name:"PayPal",icon:"logos:paypal",color:"blue"}},Pe=t=>p({...t,...d.google,provider:"google"}),ye=t=>p({...t,...d.github,provider:"github"}),qe=t=>p({...t,...d.apple,provider:"apple"}),Be=t=>p({...t,...d.facebook,provider:"facebook"}),Ie=t=>p({...t,...d.x,provider:"x"}),xe=t=>p({...t,...d.twitter,provider:"twitter"}),Ae=t=>p({...t,...d.microsoft,provider:"microsoft"}),Ce=t=>p({...t,...d.discord,provider:"discord"}),Te=t=>p({...t,...d.linkedin,provider:"linkedin"}),$e=t=>p({...t,...d.instagram,provider:"instagram"}),Ee=t=>p({...t,...d.tiktok,provider:"tiktok"}),Me=t=>p({...t,...d.snapchat,provider:"snapchat"}),ze=t=>p({...t,...d.reddit,provider:"reddit"}),Ue=t=>p({...t,...d.pinterest,provider:"pinterest"}),Re=t=>p({...t,...d.twitch,provider:"twitch"}),Oe=t=>p({...t,...d.steam,provider:"steam"}),We=t=>p({...t,...d.epic,provider:"epic"}),Fe=t=>p({...t,...d.playstation,provider:"playstation"}),Ve=t=>p({...t,...d.xbox,provider:"xbox"}),Ne=t=>p({...t,...d.whatsapp,provider:"whatsapp"}),De=t=>p({...t,...d.wechat,provider:"wechat"}),Ge=t=>p({...t,...d.amazon,provider:"amazon"}),je=t=>p({...t,...d.yahoo,provider:"yahoo"}),He=t=>p({...t,...d.paypal,provider:"paypal"});function D({providers:t,onSocialLogin:o}){return q.Stack(ne({providers:t,onProviderClick:o}))}function re({mode:t,socialProviders:o,initialName:r,initialEmail:a,passwordRules:l,showRememberMe:s,showSocialDivider:u,showPasswordStrength:n,labels:i,onSignIn:c,onSignUp:h,onResetPassword:f,onModeChange:b,onSocialLogin:_,showContainer:W,showNameField:x,showConfirmPassword:v,showAcceptTermsAndConditions:F,termsAndConditions:V},...N){const S=t!=null?e.Value.deriveProp(t):e.prop("signin");return S.on(k=>b?.(k)),e.Use(m.AuthI18n,k=>{function B(){const A=e.coalesce(i?.hasAccountLink,k.$.hasAccountLink);return e.html.button(e.attr.type("button"),e.attr.class("bc-auth-form__link"),e.on.click(()=>S.set("signin")),A)}function w(){return e.html.button(e.attr.type("button"),e.attr.class("bc-auth-form__link"),e.on.click(()=>S.set("signup")),e.coalesce(i?.noAccountLink,k.$.noAccountLink))}function g(){return e.html.button(e.attr.type("button"),e.attr.class("bc-auth-form__link"),e.on.click(()=>S.set("reset-password")),e.coalesce(i?.forgotPasswordLink,k.$.forgotPasswordLink))}return e.html.div(ce.classes({"bc-auth-container":!0,"bc-auth-container--styled":e.Value.map(W??!0,A=>A)}),e.attr.class(S.map(A=>`bc-auth-container--${A}`)),e.attr.class("bc-auth-form"),e.OneOfValue(S,{signin:()=>e.Fragment(e.html.h2(e.attr.class("bc-auth-form__title"),e.coalesce(i?.signInTitle,k.$.signInTitle)),o!=null?e.Fragment(D({providers:o,onSocialLogin:_}),e.When(u??!1,G)):null,ee({onSignIn:c,showRememberMe:s,passwordRules:l,labels:{emailLabel:i?.emailLabel,passwordLabel:i?.passwordLabel,rememberMeLabel:i?.rememberMeLabel,signInButton:i?.signInButton,forgotPasswordLink:i?.forgotPasswordLink,noAccountLink:i?.noAccountLink}}),q.Stack(e.attr.class("bc-auth-form__footer"),w(),g())),signup:()=>e.Fragment(e.html.h2(e.attr.class("bc-auth-form__title"),e.coalesce(i?.signUpTitle,k.$.signUpTitle)),o!=null?e.Fragment(D({providers:o,onSocialLogin:_}),e.When(u??!1,G)):null,oe({labels:{nameLabel:i?.nameLabel,emailLabel:i?.emailLabel,passwordLabel:i?.passwordLabel,confirmPasswordLabel:i?.confirmPasswordLabel,acceptTermsLabel:i?.acceptTermsLabel,signUpButton:i?.signUpButton,hasAccountLink:i?.hasAccountLink},initialEmail:a,initialName:r,onSignUp:h,passwordRules:l,showPasswordStrength:n,showNameField:x,showConfirmPassword:v,showAcceptTermsAndConditions:F,termsAndConditions:V}),q.Stack(e.attr.class("bc-auth-form__footer"),B())),"reset-password":()=>e.Fragment(e.html.h2(e.attr.class("bc-auth-form__title"),e.coalesce(i?.resetPasswordTitle,k.$.resetPasswordTitle)),ae({labels:{backToSignInLink:i?.backToSignInLink,emailLabel:i?.emailLabel,resetPasswordButton:i?.resetPasswordButton,resetPasswordDescription:i?.resetPasswordDescription},onResetPassword:f}),q.Stack(e.attr.class("bc-auth-form__footer"),B()))}),...N)})}function Xe(t){return le.Modal({size:"sm",dismissable:!0,showCloseButton:!0},(o,r)=>t(a=>o({body:re({showContainer:!1,...a}),header:e.Use(m.AuthI18n,l=>e.coalesce(a.modalTitle,l.$.authenticationTitle))})))}function G({labels:t,className:o}={}){return e.html.div(e.attr.class("bc-auth-divider"),e.attr.class(o),e.html.div(e.attr.class("bc-auth-divider__line")),e.Use(m.AuthI18n,r=>e.html.span(e.attr.class("bc-auth-divider__text"),e.coalesce(t?.text,r.$.orDivider))),e.html.div(e.attr.class("bc-auth-divider__line")))}exports.AmazonLoginButton=Ge;exports.AppleLoginButton=qe;exports.AuthContainer=re;exports.AuthDivider=G;exports.AuthModal=Xe;exports.DiscordLoginButton=Ce;exports.EpicLoginButton=We;exports.FacebookLoginButton=Be;exports.GitHubLoginButton=ye;exports.GoogleLoginButton=Pe;exports.InstagramLoginButton=$e;exports.LinkedInLoginButton=Te;exports.MicrosoftLoginButton=Ae;exports.PasswordStrengthBar=ke;exports.PasswordStrengthIndicator=te;exports.PasswordStrengthText=Se;exports.PayPalLoginButton=He;exports.PinterestLoginButton=Ue;exports.PlayStationLoginButton=Fe;exports.RedditLoginButton=ze;exports.ResetPasswordForm=ae;exports.SignInForm=ee;exports.SignUpForm=oe;exports.SnapchatLoginButton=Me;exports.SocialLoginButton=p;exports.SocialLoginButtons=ne;exports.SocialProviders=D;exports.SteamLoginButton=Oe;exports.TiktokLoginButton=Ee;exports.TwitchLoginButton=Re;exports.TwitterLoginButton=xe;exports.WeChatLoginButton=De;exports.WhatsAppLoginButton=Ne;exports.XLoginButtin=Ie;exports.XboxLoginButton=Ve;exports.YahooLoginButton=je;exports.authSchemas=Le;exports.calculatePasswordStrength=O;exports.createEmailSchema=T;exports.createPasswordSchema=z;exports.createSignInSchema=U;exports.createSignUpSchema=R;exports.createSocialLoginUrl=he;exports.defaultPasswordRules=y;exports.defaultSignInSchema=be;exports.defaultSignUpSchema=we;exports.emailSchema=H;exports.formatAuthError=fe;exports.formatProviderName=J;exports.formatSocialLoginText=de;exports.generateRandomString=K;exports.getProviderColor=me;exports.getProviderIcon=ue;exports.isBrowser=Q;exports.isValidEmail=pe;exports.openSocialLoginPopup=ge;exports.providerInfo=E;exports.requestToControllerValidation=M;exports.resetPasswordSchema=X;exports.socialProviderInfo=d;exports.useAuthEmailProp=Y;exports.validateEmail=_e;exports.validatePassword=ve;
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { localStorageProp as pe, prop as M, Use as x, html as m, attr as t, on as A, When as _, coalesce as g, Ensure as j, computedOf as b, bind as de, ForEach as he, Value as se, OneOfValue as ge, Fragment as U } from "@tempots/dom";
|
|
2
2
|
import { S as $ } from "./stack-BLMteGTn.js";
|
|
3
|
-
import { t as fe,
|
|
4
|
-
import { o as Y, b as G, s as C
|
|
3
|
+
import { t as fe, C as be, u as X } from "./use-form-DsCzINfm.js";
|
|
4
|
+
import { o as Y, b as G, s as C } from "./custom-validation-BOBoUwHY.js";
|
|
5
5
|
import { Validation as ne } from "@tempots/std";
|
|
6
|
-
import { d as f, A as B } from "./translations-
|
|
7
|
-
import { P as H, E as Z
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
6
|
+
import { d as f, A as B } from "./translations-RT_UN8ny.js";
|
|
7
|
+
import { P as H, E as Z } from "./password-input-mkRmrEPq.js";
|
|
8
|
+
import { N as J } from "./notice-BNGx86Yg.js";
|
|
9
|
+
import { b as ce, c as z } from "./control-hqEuMzyI.js";
|
|
10
|
+
import { B as V } from "./input-container-DCS5oJ4S.js";
|
|
11
|
+
import { T as we } from "./text-input-ByuxdX8w.js";
|
|
12
|
+
import { I as _e } from "./translations-DU9wTV1y.js";
|
|
13
|
+
import { classes as Le } from "@tempots/ui";
|
|
14
|
+
import { M as ve } from "./modal-6Mq3vS5r.js";
|
|
12
15
|
const K = {
|
|
13
16
|
google: { name: "Google", icon: "logos:google-icon", color: "#4285f4" },
|
|
14
17
|
github: { name: "GitHub", icon: "logos:github-icon", color: "#333" },
|
|
@@ -58,13 +61,13 @@ const K = {
|
|
|
58
61
|
function ke(e) {
|
|
59
62
|
return K[e]?.name || e;
|
|
60
63
|
}
|
|
61
|
-
function
|
|
64
|
+
function Ge(e) {
|
|
62
65
|
return K[e]?.icon || "mdi:account";
|
|
63
66
|
}
|
|
64
|
-
function
|
|
67
|
+
function He(e) {
|
|
65
68
|
return K[e]?.color || "#666";
|
|
66
69
|
}
|
|
67
|
-
function
|
|
70
|
+
function je(e, o = "Continue with {provider}") {
|
|
68
71
|
return o.replace("{provider}", ke(e));
|
|
69
72
|
}
|
|
70
73
|
const T = {
|
|
@@ -74,7 +77,7 @@ const T = {
|
|
|
74
77
|
requireNumbers: !0,
|
|
75
78
|
requireSymbols: !1
|
|
76
79
|
};
|
|
77
|
-
function
|
|
80
|
+
function Xe(e) {
|
|
78
81
|
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e);
|
|
79
82
|
}
|
|
80
83
|
function ye(e = 32) {
|
|
@@ -84,7 +87,7 @@ function ye(e = 32) {
|
|
|
84
87
|
n += o.charAt(Math.floor(Math.random() * o.length));
|
|
85
88
|
return n;
|
|
86
89
|
}
|
|
87
|
-
function
|
|
90
|
+
function Ye(e, o, n, a = [], l = {}) {
|
|
88
91
|
const r = {
|
|
89
92
|
google: "https://accounts.google.com/oauth/authorize",
|
|
90
93
|
github: "https://github.com/login/oauth/authorize",
|
|
@@ -148,7 +151,7 @@ function He(e, o, n, a = [], l = {}) {
|
|
|
148
151
|
});
|
|
149
152
|
return `${s}?${h.toString()}`;
|
|
150
153
|
}
|
|
151
|
-
function
|
|
154
|
+
function Ze(e, o, n, a) {
|
|
152
155
|
const l = window.open(
|
|
153
156
|
e,
|
|
154
157
|
`${o}_login`,
|
|
@@ -165,7 +168,7 @@ function je(e, o, n, a) {
|
|
|
165
168
|
};
|
|
166
169
|
window.addEventListener("message", u);
|
|
167
170
|
}
|
|
168
|
-
function
|
|
171
|
+
function Je(e) {
|
|
169
172
|
return e instanceof Error ? e.message : typeof e == "string" ? e : e && typeof e == "object" && "message" in e ? String(e.message) : "An unexpected error occurred";
|
|
170
173
|
}
|
|
171
174
|
function Se() {
|
|
@@ -259,16 +262,16 @@ function te(e = T, o, n) {
|
|
|
259
262
|
}
|
|
260
263
|
const me = Y({
|
|
261
264
|
email: le
|
|
262
|
-
}).schema(),
|
|
265
|
+
}).schema(), Ke = oe(), Qe = te(), eo = {
|
|
263
266
|
signIn: oe,
|
|
264
267
|
signUp: te,
|
|
265
268
|
resetPassword: () => me
|
|
266
269
|
};
|
|
267
|
-
function
|
|
270
|
+
function oo(e, o) {
|
|
268
271
|
const n = o ?? f, l = (o ? N(o) : le).validate(e);
|
|
269
272
|
return l.success ? null : l.errors[0]?.message || (n.invalidEmailAddress ?? f.invalidEmailAddress);
|
|
270
273
|
}
|
|
271
|
-
function
|
|
274
|
+
function to(e, o = T, n) {
|
|
272
275
|
const a = n ?? f, r = ee(o, n).validate(e);
|
|
273
276
|
return r.success ? null : r.errors[0]?.message || (a.invalidPassword ?? f.invalidPassword);
|
|
274
277
|
}
|
|
@@ -563,7 +566,7 @@ function Pe({
|
|
|
563
566
|
)
|
|
564
567
|
);
|
|
565
568
|
}
|
|
566
|
-
function
|
|
569
|
+
function ao({
|
|
567
570
|
password: e,
|
|
568
571
|
rules: o = T,
|
|
569
572
|
className: n
|
|
@@ -584,7 +587,7 @@ function eo({
|
|
|
584
587
|
)
|
|
585
588
|
);
|
|
586
589
|
}
|
|
587
|
-
function
|
|
590
|
+
function so({
|
|
588
591
|
password: e,
|
|
589
592
|
rules: o = T,
|
|
590
593
|
className: n
|
|
@@ -683,7 +686,7 @@ function xe({
|
|
|
683
686
|
// Name field (optional)
|
|
684
687
|
_(
|
|
685
688
|
u !== !1,
|
|
686
|
-
() => z(
|
|
689
|
+
() => z(we, {
|
|
687
690
|
controller: O.transform(
|
|
688
691
|
(w) => w ?? "",
|
|
689
692
|
(w) => w === "" ? void 0 : w
|
|
@@ -866,7 +869,7 @@ function d({
|
|
|
866
869
|
t.class("bc-social-login-button__inner"),
|
|
867
870
|
m.span(
|
|
868
871
|
t.class("bc-social-login-button__icon"),
|
|
869
|
-
|
|
872
|
+
_e({ icon: l, size: n }, t.class("bc-social-login-button__icon-inner"))
|
|
870
873
|
),
|
|
871
874
|
x(
|
|
872
875
|
B,
|
|
@@ -1038,99 +1041,99 @@ const p = {
|
|
|
1038
1041
|
color: "blue"
|
|
1039
1042
|
// distinct deep blue tone (not Facebook’s exact blue)
|
|
1040
1043
|
}
|
|
1041
|
-
},
|
|
1044
|
+
}, no = (e) => d({
|
|
1042
1045
|
...e,
|
|
1043
1046
|
...p.google,
|
|
1044
1047
|
provider: "google"
|
|
1045
|
-
}),
|
|
1048
|
+
}), ro = (e) => d({
|
|
1046
1049
|
...e,
|
|
1047
1050
|
...p.github,
|
|
1048
1051
|
provider: "github"
|
|
1049
|
-
}),
|
|
1052
|
+
}), io = (e) => d({
|
|
1050
1053
|
...e,
|
|
1051
1054
|
...p.apple,
|
|
1052
1055
|
provider: "apple"
|
|
1053
|
-
}),
|
|
1056
|
+
}), co = (e) => d({
|
|
1054
1057
|
...e,
|
|
1055
1058
|
...p.facebook,
|
|
1056
1059
|
provider: "facebook"
|
|
1057
|
-
}),
|
|
1060
|
+
}), lo = (e) => d({
|
|
1058
1061
|
...e,
|
|
1059
1062
|
...p.x,
|
|
1060
1063
|
provider: "x"
|
|
1061
|
-
}),
|
|
1064
|
+
}), mo = (e) => d({
|
|
1062
1065
|
...e,
|
|
1063
1066
|
...p.twitter,
|
|
1064
1067
|
provider: "twitter"
|
|
1065
|
-
}),
|
|
1068
|
+
}), uo = (e) => d({
|
|
1066
1069
|
...e,
|
|
1067
1070
|
...p.microsoft,
|
|
1068
1071
|
provider: "microsoft"
|
|
1069
|
-
}),
|
|
1072
|
+
}), po = (e) => d({
|
|
1070
1073
|
...e,
|
|
1071
1074
|
...p.discord,
|
|
1072
1075
|
provider: "discord"
|
|
1073
|
-
}),
|
|
1076
|
+
}), ho = (e) => d({
|
|
1074
1077
|
...e,
|
|
1075
1078
|
...p.linkedin,
|
|
1076
1079
|
provider: "linkedin"
|
|
1077
|
-
}),
|
|
1080
|
+
}), go = (e) => d({
|
|
1078
1081
|
...e,
|
|
1079
1082
|
...p.instagram,
|
|
1080
1083
|
provider: "instagram"
|
|
1081
|
-
}),
|
|
1084
|
+
}), fo = (e) => d({
|
|
1082
1085
|
...e,
|
|
1083
1086
|
...p.tiktok,
|
|
1084
1087
|
provider: "tiktok"
|
|
1085
|
-
}),
|
|
1088
|
+
}), bo = (e) => d({
|
|
1086
1089
|
...e,
|
|
1087
1090
|
...p.snapchat,
|
|
1088
1091
|
provider: "snapchat"
|
|
1089
|
-
}),
|
|
1092
|
+
}), wo = (e) => d({
|
|
1090
1093
|
...e,
|
|
1091
1094
|
...p.reddit,
|
|
1092
1095
|
provider: "reddit"
|
|
1093
|
-
}),
|
|
1096
|
+
}), _o = (e) => d({
|
|
1094
1097
|
...e,
|
|
1095
1098
|
...p.pinterest,
|
|
1096
1099
|
provider: "pinterest"
|
|
1097
|
-
}),
|
|
1100
|
+
}), Lo = (e) => d({
|
|
1098
1101
|
...e,
|
|
1099
1102
|
...p.twitch,
|
|
1100
1103
|
provider: "twitch"
|
|
1101
|
-
}),
|
|
1104
|
+
}), vo = (e) => d({
|
|
1102
1105
|
...e,
|
|
1103
1106
|
...p.steam,
|
|
1104
1107
|
provider: "steam"
|
|
1105
|
-
}),
|
|
1108
|
+
}), ko = (e) => d({
|
|
1106
1109
|
...e,
|
|
1107
1110
|
...p.epic,
|
|
1108
1111
|
provider: "epic"
|
|
1109
|
-
}),
|
|
1112
|
+
}), yo = (e) => d({
|
|
1110
1113
|
...e,
|
|
1111
1114
|
...p.playstation,
|
|
1112
1115
|
provider: "playstation"
|
|
1113
|
-
}),
|
|
1116
|
+
}), So = (e) => d({
|
|
1114
1117
|
...e,
|
|
1115
1118
|
...p.xbox,
|
|
1116
1119
|
provider: "xbox"
|
|
1117
|
-
}),
|
|
1120
|
+
}), qo = (e) => d({
|
|
1118
1121
|
...e,
|
|
1119
1122
|
...p.whatsapp,
|
|
1120
1123
|
provider: "whatsapp"
|
|
1121
|
-
}),
|
|
1124
|
+
}), Po = (e) => d({
|
|
1122
1125
|
...e,
|
|
1123
1126
|
...p.wechat,
|
|
1124
1127
|
provider: "wechat"
|
|
1125
|
-
}),
|
|
1128
|
+
}), xo = (e) => d({
|
|
1126
1129
|
...e,
|
|
1127
1130
|
...p.amazon,
|
|
1128
1131
|
provider: "amazon"
|
|
1129
|
-
}),
|
|
1132
|
+
}), Bo = (e) => d({
|
|
1130
1133
|
...e,
|
|
1131
1134
|
...p.yahoo,
|
|
1132
1135
|
provider: "yahoo"
|
|
1133
|
-
}),
|
|
1136
|
+
}), $o = (e) => d({
|
|
1134
1137
|
...e,
|
|
1135
1138
|
...p.paypal,
|
|
1136
1139
|
provider: "paypal"
|
|
@@ -1195,7 +1198,7 @@ function Te({
|
|
|
1195
1198
|
);
|
|
1196
1199
|
}
|
|
1197
1200
|
return m.div(
|
|
1198
|
-
|
|
1201
|
+
Le({
|
|
1199
1202
|
"bc-auth-container": !0,
|
|
1200
1203
|
"bc-auth-container--styled": se.map(F ?? !0, (R) => R)
|
|
1201
1204
|
}),
|
|
@@ -1288,8 +1291,8 @@ function Te({
|
|
|
1288
1291
|
);
|
|
1289
1292
|
});
|
|
1290
1293
|
}
|
|
1291
|
-
function
|
|
1292
|
-
return
|
|
1294
|
+
function To(e) {
|
|
1295
|
+
return ve(
|
|
1293
1296
|
{
|
|
1294
1297
|
size: "sm",
|
|
1295
1298
|
dismissable: !0,
|
|
@@ -1326,64 +1329,64 @@ function ie({
|
|
|
1326
1329
|
}
|
|
1327
1330
|
export {
|
|
1328
1331
|
Se as $,
|
|
1329
|
-
|
|
1332
|
+
xo as A,
|
|
1330
1333
|
te as B,
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1334
|
+
Ye as C,
|
|
1335
|
+
po as D,
|
|
1336
|
+
ko as E,
|
|
1337
|
+
co as F,
|
|
1338
|
+
ro as G,
|
|
1336
1339
|
T as H,
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1340
|
+
go as I,
|
|
1341
|
+
Ke as J,
|
|
1342
|
+
Qe as K,
|
|
1343
|
+
ho as L,
|
|
1344
|
+
uo as M,
|
|
1342
1345
|
le as N,
|
|
1343
|
-
|
|
1344
|
-
|
|
1346
|
+
Je as O,
|
|
1347
|
+
ao as P,
|
|
1345
1348
|
ke as Q,
|
|
1346
|
-
|
|
1349
|
+
wo as R,
|
|
1347
1350
|
qe as S,
|
|
1348
|
-
|
|
1349
|
-
|
|
1351
|
+
fo as T,
|
|
1352
|
+
je as U,
|
|
1350
1353
|
ye as V,
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1354
|
+
Po as W,
|
|
1355
|
+
lo as X,
|
|
1356
|
+
Bo as Y,
|
|
1357
|
+
He as Z,
|
|
1358
|
+
Ge as _,
|
|
1359
|
+
io as a,
|
|
1360
|
+
Xe as a0,
|
|
1361
|
+
Ze as a1,
|
|
1359
1362
|
K as a2,
|
|
1360
1363
|
Q as a3,
|
|
1361
1364
|
me as a4,
|
|
1362
1365
|
p as a5,
|
|
1363
1366
|
ue as a6,
|
|
1364
|
-
|
|
1365
|
-
|
|
1367
|
+
oo as a7,
|
|
1368
|
+
to as a8,
|
|
1366
1369
|
Te as b,
|
|
1367
1370
|
ie as c,
|
|
1368
|
-
|
|
1369
|
-
|
|
1371
|
+
To as d,
|
|
1372
|
+
no as e,
|
|
1370
1373
|
Pe as f,
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1374
|
+
so as g,
|
|
1375
|
+
$o as h,
|
|
1376
|
+
_o as i,
|
|
1377
|
+
yo as j,
|
|
1375
1378
|
Be as k,
|
|
1376
1379
|
xe as l,
|
|
1377
|
-
|
|
1380
|
+
bo as m,
|
|
1378
1381
|
d as n,
|
|
1379
1382
|
$e as o,
|
|
1380
1383
|
re as p,
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1384
|
+
vo as q,
|
|
1385
|
+
Lo as r,
|
|
1386
|
+
mo as s,
|
|
1387
|
+
qo as t,
|
|
1388
|
+
So as u,
|
|
1389
|
+
eo as v,
|
|
1387
1390
|
ae as w,
|
|
1388
1391
|
N as x,
|
|
1389
1392
|
ee as y,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tempots/dom"),P=require("../auth-divider-CjcrgXmq.cjs"),A=require("../translations-EwEmHe3v.cjs"),w=require("../notice-p2IqXS5-.cjs"),y=require("../stack-dwLevGa2.cjs"),b=require("../input-container-CyOgiiQD.cjs"),g=require("../text-input-DS5zlXb2.cjs");function v(a,t){if(a.error){t.onError?.({message:a.error.message,status:a.error.status});const s=a.error;if(s.fieldErrors&&typeof s.fieldErrors=="object"){const r=[];for(const[i,l]of Object.entries(s.fieldErrors))typeof l=="string"&&r.push({field:i,message:l});if(r.length>0)return r}return a.error.message}return null}function I(a,t,s,r){return async i=>{const l=await a.signIn.email({email:i.email,password:i.password,callbackURL:t.callbackURL}),o=v(l,t);if(o)return o;if(await s(),r){const d=await a.getSession();d.data?.user&&r(d.data.user)}return null}}function F(a,t,s,r){return async i=>{const l=await a.signUp.email({name:i.name,email:i.email,password:i.password,callbackURL:t.callbackURL}),o=v(l,t);if(o)return o;if(await s(),r){const d=await a.getSession();d.data?.user&&r(d.data.user)}return null}}function U(a,t){return async s=>{const r=await a.requestPasswordReset({email:s.email,redirectTo:t.callbackURL});return v(r,t)}}function E(a,t){return async s=>{const r=await a.signIn.social({provider:s,callbackURL:t.callbackURL,errorCallbackURL:t.errorCallbackURL});v(r,t)}}function C(a,t={}){const s=e.prop(null),r=e.prop(!0),i=e.computedOf(s)(f=>f?.user??null),l=e.computedOf(s)(f=>f!=null);let o;async function d(){try{const f=await a.getSession();f.error||!f.data?s.set(null):s.set({user:f.data.user,session:f.data.session})}catch{s.set(null)}finally{r.set(!1)}}t.onSessionChange&&s.on(t.onSessionChange),d(),t.refreshInterval&&t.refreshInterval>0&&(o=setInterval(d,t.refreshInterval));function p(){o!=null&&(clearInterval(o),o=void 0),s.dispose(),r.dispose(),i.dispose(),l.dispose()}return{session:s,isPending:r,user:i,isAuthenticated:l,refresh:d,dispose:p}}function L(a){return a.map(t=>({provider:t}))}function _(a,t={}){const s=C(a,{refreshInterval:t.refreshInterval,onSessionChange:t.onSessionChange}),r=()=>s.refresh(),i=I(a,t,r,t.onAuthSuccess),l=F(a,t,r,t.onAuthSuccess),o=U(a,t),d=E(a,t),p=t.socialProviders?L(t.socialProviders):[],f={onSignIn:i,passwordRules:t.passwordRules,showRememberMe:t.showRememberMe,labels:t.labels?{emailLabel:t.labels.emailLabel,passwordLabel:t.labels.passwordLabel,rememberMeLabel:t.labels.rememberMeLabel,signInButton:t.labels.signInButton,forgotPasswordLink:t.labels.forgotPasswordLink,noAccountLink:t.labels.noAccountLink}:void 0},u={onSignUp:l,passwordRules:t.passwordRules,showPasswordStrength:t.showPasswordStrength,showNameField:t.showNameField,showConfirmPassword:t.showConfirmPassword,showAcceptTermsAndConditions:t.showAcceptTermsAndConditions,termsAndConditions:t.termsAndConditions,labels:t.labels?{nameLabel:t.labels.nameLabel,emailLabel:t.labels.emailLabel,passwordLabel:t.labels.passwordLabel,confirmPasswordLabel:t.labels.confirmPasswordLabel,acceptTermsLabel:t.labels.acceptTermsLabel,signUpButton:t.labels.signUpButton,hasAccountLink:t.labels.hasAccountLink}:void 0},m={onResetPassword:o,labels:t.labels?{resetPasswordButton:t.labels.resetPasswordButton,resetPasswordDescription:t.labels.resetPasswordDescription,emailLabel:t.labels.emailLabel,backToSignInLink:t.labels.backToSignInLink}:void 0},c={onSignIn:i,onSignUp:l,onResetPassword:o,onSocialLogin:d,socialProviders:p.length>0?p:void 0,showSocialDivider:p.length>0,passwordRules:t.passwordRules,showRememberMe:t.showRememberMe,showPasswordStrength:t.showPasswordStrength,showNameField:t.showNameField,showConfirmPassword:t.showConfirmPassword,showAcceptTermsAndConditions:t.showAcceptTermsAndConditions,termsAndConditions:t.termsAndConditions,labels:t.labels};async function n(){await a.signOut(),await r()}function h(){s.dispose()}return{session:s.session,isPending:s.isPending,user:s.user,isAuthenticated:s.isAuthenticated,containerOptions:c,signInOptions:f,signUpOptions:u,resetOptions:m,socialProviders:p,signOut:n,refreshSession:r,dispose:h}}const R={mark:e.makeProviderMark("BetterAuth"),create:a=>{if(!a)throw new Error("BetterAuth provider requires a client option");const t=_(a.client,a);return{value:t,dispose:()=>t.dispose()}}};function $(a,t,...s){return e.Task(()=>Promise.resolve().then(()=>require("../translations-BqWc0ZHz.cjs")).then(r=>r.translations),({AuthI18n:r})=>e.Provide(r,{},()=>P.AuthContainer({...a.containerOptions,...t},...s)))}function O(a,t){return P.AuthModal(s=>t(r=>s({...a.containerOptions,...r})))}function M(a,t){return e.When(a.isPending,t.loading??(()=>e.Empty),()=>e.When(a.isAuthenticated,t.children))}function D(a,t){return e.When(a.isPending,t.loading??t.children,()=>e.Unless(a.isAuthenticated,t.children))}const T={twoFactorSetupDescription:"Enter your password to enable two-factor authentication.",twoFactorEnableButton:"Enable 2FA",twoFactorVerifyButton:"Verify",twoFactorScanDescription:"Scan the code below with your authenticator app, then enter the verification code.",twoFactorBackupCodesDescription:"Save these backup codes in a safe place. You can use them to sign in if you lose access to your authenticator.",twoFactorCodePlaceholder:"Enter 6-digit code",twoFactorBackupCodePlaceholder:"Enter backup code",twoFactorEnabled:"Two-factor authentication has been enabled.",twoFactorTotpDescription:"Enter the code from your authenticator app.",twoFactorOtpDescription:"Enter the one-time code sent to you.",twoFactorBackupDescription:"Enter one of your backup codes.",twoFactorSendOtpButton:"Send Code",twoFactorMethodLabel:a=>{switch(a){case"totp":return"Authenticator";case"otp":return"Email/SMS";case"backup":return"Backup Code";default:return a}},passwordPlaceholder:"Enter your password",magicLinkDescription:"Enter your email to receive a sign-in link.",magicLinkSendButton:"Send Magic Link",magicLinkSent:"A sign-in link has been sent to your email.",passkeySignInButton:"Sign in with Passkey",passkeyAddButton:"Add Passkey",passkeyDeleteButton:"Delete",passkeyRenameButton:"Rename",passkeySaveButton:"Save",passkeyCancelButton:"Cancel",passkeyNamePlaceholder:"Passkey name (optional)",passkeyUnnamed:"Unnamed passkey"},B=T,S="en",N=Object.assign({}),k=A.makeI18nProvider({defaultLocale:S,defaultMessages:B,localeLoader:async a=>{if(a===S)return B;const t=N[`./locales/${a}.ts`];return t?await t():B},providerName:"BetterAuthI18n"});function q({twoFactor:a,issuer:t,onComplete:s}){const r=e.prop(""),i=e.prop(null),l=e.prop([]),o=e.prop(""),d=e.prop(null),p=e.prop(!1),f=e.prop("password");async function u(c){c.preventDefault(),p.set(!0),d.set(null);const n=await a.enable({password:r.value,issuer:t});if(p.set(!1),n.error){d.set(n.error.message);return}n.data&&(i.set(n.data.totpURI),l.set(n.data.backupCodes),f.set("verify"))}async function m(c){c.preventDefault(),p.set(!0),d.set(null);const n=await a.verifyTotp({code:o.value});if(p.set(!1),n.error){d.set(n.error.message);return}f.set("complete"),s?.()}return e.Use(k,c=>e.html.div(e.attr.class("bc-two-factor"),e.Ensure(d,n=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(n))),e.OneOfValue(f,{password:()=>e.html.form(e.attr.class("bc-two-factor__form"),e.on.submit(u),y.Stack(e.html.p(e.attr.class("bc-auth-form__description"),c.$.twoFactorSetupDescription),w.PasswordInput({value:r,onChange:n=>r.set(n),placeholder:c.$.passwordPlaceholder}),b.Button({type:"submit",variant:"filled",color:"primary",loading:p},e.attr.class("bc-auth-form__submit"),c.$.twoFactorEnableButton))),verify:()=>e.Fragment(e.Ensure(i,n=>e.html.div(e.attr.class("bc-two-factor__totp-uri"),e.html.p(c.$.twoFactorScanDescription),e.html.code(e.attr.class("bc-two-factor__code-display"),n))),e.NotEmpty(l,()=>e.html.div(e.attr.class("bc-two-factor__backup-codes"),e.html.p(c.$.twoFactorBackupCodesDescription),e.html.ul(e.ForEach(l,n=>e.html.li(n))))),e.html.form(e.attr.class("bc-two-factor__form"),e.on.submit(m),y.Stack(g.TextInput({value:o,onChange:n=>o.set(n),placeholder:c.$.twoFactorCodePlaceholder}),b.Button({type:"submit",variant:"filled",color:"primary",loading:p},e.attr.class("bc-auth-form__submit"),c.$.twoFactorVerifyButton)))),complete:()=>e.html.div(e.attr.class("bc-two-factor__complete"),w.Notice({variant:"success",tone:"prominent"},e.html.div(c.$.twoFactorEnabled)))})))}function x({twoFactor:a,methods:t=["totp","backup"],trustDevice:s,onVerified:r}){const i=e.prop(""),l=e.prop(null),o=e.prop(!1),d=e.prop(t[0]??"totp");async function p(u){u.preventDefault(),o.set(!0),l.set(null);const m=d.value;let c;if(m==="totp")c=await a.verifyTotp({code:i.value,trustDevice:s});else if(m==="otp"&&a.verifyOtp)c=await a.verifyOtp({code:i.value,trustDevice:s});else if(m==="backup")c=await a.verifyBackupCode({code:i.value});else{l.set("Unsupported verification method"),o.set(!1);return}if(o.set(!1),c.error){l.set(c.error.message);return}r?.()}async function f(){if(!a.sendOtp)return;o.set(!0),l.set(null);const u=await a.sendOtp({trustDevice:s});o.set(!1),u.error&&l.set(u.error.message)}return e.Use(k,u=>{const m=e.computedOf(d,u)((n,h)=>n==="totp"?h.twoFactorTotpDescription:n==="otp"?h.twoFactorOtpDescription:h.twoFactorBackupDescription),c=e.computedOf(d,u)((n,h)=>n==="backup"?h.twoFactorBackupCodePlaceholder:h.twoFactorCodePlaceholder);return e.html.div(e.attr.class("bc-two-factor"),e.Ensure(l,n=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(n))),e.When(t.length>1,()=>e.html.div(e.attr.class("bc-two-factor__methods"),...t.map(n=>e.html.button(e.attr.type("button"),e.attr.class("bc-two-factor__method-button"),e.attr.class(d.map(h=>h===n?"bc-two-factor__method-button--active":"")),e.on.click(()=>{d.set(n),i.set(""),l.set(null)}),u.$.twoFactorMethodLabel.map(h=>h(n)))))),e.html.form(e.attr.class("bc-two-factor__form"),e.on.submit(p),y.Stack(e.html.p(e.attr.class("bc-auth-form__description"),m),e.When(d.map(n=>n==="otp"&&a.sendOtp!=null),()=>b.Button({type:"button",variant:"outline",color:"primary",onClick:f,loading:o},u.$.twoFactorSendOtpButton)),g.TextInput({value:i,onChange:n=>i.set(n),placeholder:c}),b.Button({type:"submit",variant:"filled",color:"primary",loading:o},e.attr.class("bc-auth-form__submit"),u.$.twoFactorVerifyButton))))})}function V({client:a,callbackURL:t}){const s=e.prop(""),r=e.prop(null),i=e.prop(!1),l=e.prop(!1);async function o(d){if(d.preventDefault(),!a.signIn.magicLink){r.set("Magic link sign-in is not configured");return}i.set(!0),r.set(null);const p=await a.signIn.magicLink({email:s.value,callbackURL:t});if(i.set(!1),p.error){r.set(p.error.message);return}l.set(!0)}return e.Use(k,d=>e.html.div(e.attr.class("bc-auth-form"),e.Ensure(r,p=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(p))),e.Unless(l,()=>e.html.form(e.attr.class("bc-auth-form__form"),e.on.submit(o),y.Stack(e.attr.class("bc-auth-form__fields"),e.html.p(e.attr.class("bc-auth-form__description"),d.$.magicLinkDescription),w.EmailInput({value:s,onChange:p=>s.set(p)}),b.Button({type:"submit",variant:"filled",color:"primary",loading:i},e.attr.class("bc-auth-form__submit"),d.$.magicLinkSendButton)))),e.When(l,()=>w.Notice({variant:"success",tone:"prominent"},e.html.div(d.$.magicLinkSent)))))}function W({client:a,autoFill:t,onSuccess:s,onError:r}){const i=e.prop(!1);async function l(){if(!a.signIn.passkey)return;i.set(!0);const o=await a.signIn.passkey({autoFill:t});if(i.set(!1),o.error){r?.({message:o.error.message,status:o.error.status});return}s?.()}return e.Use(k,o=>b.Button({type:"button",variant:"outline",color:"primary",onClick:l,loading:i},e.attr.class("bc-passkey-signin"),o.$.passkeySignInButton))}function j({passkey:a}){const t=e.prop([]),s=e.prop(null),r=e.prop(!1),i=e.prop("");async function l(u,m){r.set(!0),s.set(null);const c=await u();if(r.set(!1),c.error){s.set(c.error.message);return}await m?.(c.data)}async function o(){await l(()=>a.listUserPasskeys(),u=>t.set(u??[]))}async function d(){const u=i.value||void 0;await l(()=>a.addPasskey({name:u}),async()=>{i.set(""),await o()})}async function p(u){await l(()=>a.deletePasskey({id:u}),()=>o())}async function f(u,m){await l(()=>a.updatePasskey({id:u,name:m}),()=>o())}return o(),e.Use(k,u=>e.html.div(e.attr.class("bc-passkey-management"),e.Ensure(s,m=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(m))),e.html.div(e.attr.class("bc-passkey-list"),e.ForEach(t,m=>{const c=e.prop(!1),n=e.prop(m.$.name?.value??"");return e.html.div(e.attr.class("bc-passkey-item"),e.Unless(c,()=>e.html.div(e.attr.class("bc-passkey-item__info"),e.html.span(e.attr.class("bc-passkey-item__name"),m.$.name?.map(h=>h??u.$.passkeyUnnamed.value)??u.$.passkeyUnnamed),e.html.span(e.attr.class("bc-passkey-item__date"),m.$.createdAt))),e.When(c,()=>e.html.div(e.attr.class("bc-passkey-item__edit"),g.TextInput({value:n,onChange:h=>n.set(h)}))),e.html.div(e.attr.class("bc-passkey-item__actions"),e.Unless(c,()=>e.html.div(b.Button({type:"button",variant:"text",size:"sm",onClick:()=>{n.set(m.$.name?.value??""),c.set(!0)}},u.$.passkeyRenameButton),b.Button({type:"button",variant:"text",size:"sm",color:"danger",onClick:()=>p(m.$.id.value)},u.$.passkeyDeleteButton))),e.When(c,()=>e.html.div(b.Button({type:"button",variant:"text",size:"sm",onClick:async()=>{await f(m.$.id.value,n.value),c.set(!1)}},u.$.passkeySaveButton),b.Button({type:"button",variant:"text",size:"sm",onClick:()=>c.set(!1)},u.$.passkeyCancelButton)))))})),e.html.div(e.attr.class("bc-passkey-add"),y.Stack(g.TextInput({value:i,onChange:m=>i.set(m),placeholder:u.$.passkeyNamePlaceholder}),b.Button({type:"button",variant:"filled",color:"primary",onClick:d,loading:r},u.$.passkeyAddButton)))))}exports.Authenticated=M;exports.BetterAuth=R;exports.BetterAuthContainer=$;exports.BetterAuthI18n=k;exports.BetterAuthModal=O;exports.MagicLinkForm=V;exports.PasskeyManagement=j;exports.PasskeySignIn=W;exports.TwoFactorSetup=q;exports.TwoFactorVerify=x;exports.Unauthenticated=D;exports.createBetterAuthBridge=_;exports.createSessionManager=C;exports.mapSocialProviders=L;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tempots/dom"),P=require("../auth-divider-B8yr-E_b.cjs"),I=require("../translations-D3xqZUTA.cjs"),w=require("../notice-iF6zBMq9.cjs"),y=require("../stack-dwLevGa2.cjs"),b=require("../input-container-BaWQLWB6.cjs"),g=require("../text-input-MjlUC_9u.cjs"),C=require("../password-input-Bipt7Wsu.cjs");function v(a,t){if(a.error){t.onError?.({message:a.error.message,status:a.error.status});const s=a.error;if(s.fieldErrors&&typeof s.fieldErrors=="object"){const r=[];for(const[i,l]of Object.entries(s.fieldErrors))typeof l=="string"&&r.push({field:i,message:l});if(r.length>0)return r}return a.error.message}return null}function F(a,t,s,r){return async i=>{const l=await a.signIn.email({email:i.email,password:i.password,callbackURL:t.callbackURL}),o=v(l,t);if(o)return o;if(await s(),r){const d=await a.getSession();d.data?.user&&r(d.data.user)}return null}}function U(a,t,s,r){return async i=>{const l=await a.signUp.email({name:i.name,email:i.email,password:i.password,callbackURL:t.callbackURL}),o=v(l,t);if(o)return o;if(await s(),r){const d=await a.getSession();d.data?.user&&r(d.data.user)}return null}}function E(a,t){return async s=>{const r=await a.requestPasswordReset({email:s.email,redirectTo:t.callbackURL});return v(r,t)}}function R(a,t){return async s=>{const r=await a.signIn.social({provider:s,callbackURL:t.callbackURL,errorCallbackURL:t.errorCallbackURL});v(r,t)}}function L(a,t={}){const s=e.prop(null),r=e.prop(!0),i=e.computedOf(s)(f=>f?.user??null),l=e.computedOf(s)(f=>f!=null);let o;async function d(){try{const f=await a.getSession();f.error||!f.data?s.set(null):s.set({user:f.data.user,session:f.data.session})}catch{s.set(null)}finally{r.set(!1)}}t.onSessionChange&&s.on(t.onSessionChange),d(),t.refreshInterval&&t.refreshInterval>0&&(o=setInterval(d,t.refreshInterval));function p(){o!=null&&(clearInterval(o),o=void 0),s.dispose(),r.dispose(),i.dispose(),l.dispose()}return{session:s,isPending:r,user:i,isAuthenticated:l,refresh:d,dispose:p}}function _(a){return a.map(t=>({provider:t}))}function A(a,t={}){const s=L(a,{refreshInterval:t.refreshInterval,onSessionChange:t.onSessionChange}),r=()=>s.refresh(),i=F(a,t,r,t.onAuthSuccess),l=U(a,t,r,t.onAuthSuccess),o=E(a,t),d=R(a,t),p=t.socialProviders?_(t.socialProviders):[],f={onSignIn:i,passwordRules:t.passwordRules,showRememberMe:t.showRememberMe,labels:t.labels?{emailLabel:t.labels.emailLabel,passwordLabel:t.labels.passwordLabel,rememberMeLabel:t.labels.rememberMeLabel,signInButton:t.labels.signInButton,forgotPasswordLink:t.labels.forgotPasswordLink,noAccountLink:t.labels.noAccountLink}:void 0},u={onSignUp:l,passwordRules:t.passwordRules,showPasswordStrength:t.showPasswordStrength,showNameField:t.showNameField,showConfirmPassword:t.showConfirmPassword,showAcceptTermsAndConditions:t.showAcceptTermsAndConditions,termsAndConditions:t.termsAndConditions,labels:t.labels?{nameLabel:t.labels.nameLabel,emailLabel:t.labels.emailLabel,passwordLabel:t.labels.passwordLabel,confirmPasswordLabel:t.labels.confirmPasswordLabel,acceptTermsLabel:t.labels.acceptTermsLabel,signUpButton:t.labels.signUpButton,hasAccountLink:t.labels.hasAccountLink}:void 0},m={onResetPassword:o,labels:t.labels?{resetPasswordButton:t.labels.resetPasswordButton,resetPasswordDescription:t.labels.resetPasswordDescription,emailLabel:t.labels.emailLabel,backToSignInLink:t.labels.backToSignInLink}:void 0},c={onSignIn:i,onSignUp:l,onResetPassword:o,onSocialLogin:d,socialProviders:p.length>0?p:void 0,showSocialDivider:p.length>0,passwordRules:t.passwordRules,showRememberMe:t.showRememberMe,showPasswordStrength:t.showPasswordStrength,showNameField:t.showNameField,showConfirmPassword:t.showConfirmPassword,showAcceptTermsAndConditions:t.showAcceptTermsAndConditions,termsAndConditions:t.termsAndConditions,labels:t.labels};async function n(){await a.signOut(),await r()}function h(){s.dispose()}return{session:s.session,isPending:s.isPending,user:s.user,isAuthenticated:s.isAuthenticated,containerOptions:c,signInOptions:f,signUpOptions:u,resetOptions:m,socialProviders:p,signOut:n,refreshSession:r,dispose:h}}const $={mark:e.makeProviderMark("BetterAuth"),create:a=>{if(!a)throw new Error("BetterAuth provider requires a client option");const t=A(a.client,a);return{value:t,dispose:()=>t.dispose()}}};function O(a,t,...s){return e.Task(()=>Promise.resolve().then(()=>require("../translations-qljG2Chq.cjs")).then(r=>r.translations),({AuthI18n:r})=>e.Provide(r,{},()=>P.AuthContainer({...a.containerOptions,...t},...s)))}function M(a,t){return P.AuthModal(s=>t(r=>s({...a.containerOptions,...r})))}function D(a,t){return e.When(a.isPending,t.loading??(()=>e.Empty),()=>e.When(a.isAuthenticated,t.children))}function T(a,t){return e.When(a.isPending,t.loading??t.children,()=>e.Unless(a.isAuthenticated,t.children))}const N={twoFactorSetupDescription:"Enter your password to enable two-factor authentication.",twoFactorEnableButton:"Enable 2FA",twoFactorVerifyButton:"Verify",twoFactorScanDescription:"Scan the code below with your authenticator app, then enter the verification code.",twoFactorBackupCodesDescription:"Save these backup codes in a safe place. You can use them to sign in if you lose access to your authenticator.",twoFactorCodePlaceholder:"Enter 6-digit code",twoFactorBackupCodePlaceholder:"Enter backup code",twoFactorEnabled:"Two-factor authentication has been enabled.",twoFactorTotpDescription:"Enter the code from your authenticator app.",twoFactorOtpDescription:"Enter the one-time code sent to you.",twoFactorBackupDescription:"Enter one of your backup codes.",twoFactorSendOtpButton:"Send Code",twoFactorMethodLabel:a=>{switch(a){case"totp":return"Authenticator";case"otp":return"Email/SMS";case"backup":return"Backup Code";default:return a}},passwordPlaceholder:"Enter your password",magicLinkDescription:"Enter your email to receive a sign-in link.",magicLinkSendButton:"Send Magic Link",magicLinkSent:"A sign-in link has been sent to your email.",passkeySignInButton:"Sign in with Passkey",passkeyAddButton:"Add Passkey",passkeyDeleteButton:"Delete",passkeyRenameButton:"Rename",passkeySaveButton:"Save",passkeyCancelButton:"Cancel",passkeyNamePlaceholder:"Passkey name (optional)",passkeyUnnamed:"Unnamed passkey"},B=N,S="en",q=Object.assign({}),k=I.makeI18nProvider({defaultLocale:S,defaultMessages:B,localeLoader:async a=>{if(a===S)return B;const t=q[`./locales/${a}.ts`];return t?await t():B},providerName:"BetterAuthI18n"});function x({twoFactor:a,issuer:t,onComplete:s}){const r=e.prop(""),i=e.prop(null),l=e.prop([]),o=e.prop(""),d=e.prop(null),p=e.prop(!1),f=e.prop("password");async function u(c){c.preventDefault(),p.set(!0),d.set(null);const n=await a.enable({password:r.value,issuer:t});if(p.set(!1),n.error){d.set(n.error.message);return}n.data&&(i.set(n.data.totpURI),l.set(n.data.backupCodes),f.set("verify"))}async function m(c){c.preventDefault(),p.set(!0),d.set(null);const n=await a.verifyTotp({code:o.value});if(p.set(!1),n.error){d.set(n.error.message);return}f.set("complete"),s?.()}return e.Use(k,c=>e.html.div(e.attr.class("bc-two-factor"),e.Ensure(d,n=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(n))),e.OneOfValue(f,{password:()=>e.html.form(e.attr.class("bc-two-factor__form"),e.on.submit(u),y.Stack(e.html.p(e.attr.class("bc-auth-form__description"),c.$.twoFactorSetupDescription),C.PasswordInput({value:r,onChange:n=>r.set(n),placeholder:c.$.passwordPlaceholder}),b.Button({type:"submit",variant:"filled",color:"primary",loading:p},e.attr.class("bc-auth-form__submit"),c.$.twoFactorEnableButton))),verify:()=>e.Fragment(e.Ensure(i,n=>e.html.div(e.attr.class("bc-two-factor__totp-uri"),e.html.p(c.$.twoFactorScanDescription),e.html.code(e.attr.class("bc-two-factor__code-display"),n))),e.NotEmpty(l,()=>e.html.div(e.attr.class("bc-two-factor__backup-codes"),e.html.p(c.$.twoFactorBackupCodesDescription),e.html.ul(e.ForEach(l,n=>e.html.li(n))))),e.html.form(e.attr.class("bc-two-factor__form"),e.on.submit(m),y.Stack(g.TextInput({value:o,onChange:n=>o.set(n),placeholder:c.$.twoFactorCodePlaceholder}),b.Button({type:"submit",variant:"filled",color:"primary",loading:p},e.attr.class("bc-auth-form__submit"),c.$.twoFactorVerifyButton)))),complete:()=>e.html.div(e.attr.class("bc-two-factor__complete"),w.Notice({variant:"success",tone:"prominent"},e.html.div(c.$.twoFactorEnabled)))})))}function V({twoFactor:a,methods:t=["totp","backup"],trustDevice:s,onVerified:r}){const i=e.prop(""),l=e.prop(null),o=e.prop(!1),d=e.prop(t[0]??"totp");async function p(u){u.preventDefault(),o.set(!0),l.set(null);const m=d.value;let c;if(m==="totp")c=await a.verifyTotp({code:i.value,trustDevice:s});else if(m==="otp"&&a.verifyOtp)c=await a.verifyOtp({code:i.value,trustDevice:s});else if(m==="backup")c=await a.verifyBackupCode({code:i.value});else{l.set("Unsupported verification method"),o.set(!1);return}if(o.set(!1),c.error){l.set(c.error.message);return}r?.()}async function f(){if(!a.sendOtp)return;o.set(!0),l.set(null);const u=await a.sendOtp({trustDevice:s});o.set(!1),u.error&&l.set(u.error.message)}return e.Use(k,u=>{const m=e.computedOf(d,u)((n,h)=>n==="totp"?h.twoFactorTotpDescription:n==="otp"?h.twoFactorOtpDescription:h.twoFactorBackupDescription),c=e.computedOf(d,u)((n,h)=>n==="backup"?h.twoFactorBackupCodePlaceholder:h.twoFactorCodePlaceholder);return e.html.div(e.attr.class("bc-two-factor"),e.Ensure(l,n=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(n))),e.When(t.length>1,()=>e.html.div(e.attr.class("bc-two-factor__methods"),...t.map(n=>e.html.button(e.attr.type("button"),e.attr.class("bc-two-factor__method-button"),e.attr.class(d.map(h=>h===n?"bc-two-factor__method-button--active":"")),e.on.click(()=>{d.set(n),i.set(""),l.set(null)}),u.$.twoFactorMethodLabel.map(h=>h(n)))))),e.html.form(e.attr.class("bc-two-factor__form"),e.on.submit(p),y.Stack(e.html.p(e.attr.class("bc-auth-form__description"),m),e.When(d.map(n=>n==="otp"&&a.sendOtp!=null),()=>b.Button({type:"button",variant:"outline",color:"primary",onClick:f,loading:o},u.$.twoFactorSendOtpButton)),g.TextInput({value:i,onChange:n=>i.set(n),placeholder:c}),b.Button({type:"submit",variant:"filled",color:"primary",loading:o},e.attr.class("bc-auth-form__submit"),u.$.twoFactorVerifyButton))))})}function W({client:a,callbackURL:t}){const s=e.prop(""),r=e.prop(null),i=e.prop(!1),l=e.prop(!1);async function o(d){if(d.preventDefault(),!a.signIn.magicLink){r.set("Magic link sign-in is not configured");return}i.set(!0),r.set(null);const p=await a.signIn.magicLink({email:s.value,callbackURL:t});if(i.set(!1),p.error){r.set(p.error.message);return}l.set(!0)}return e.Use(k,d=>e.html.div(e.attr.class("bc-auth-form"),e.Ensure(r,p=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(p))),e.Unless(l,()=>e.html.form(e.attr.class("bc-auth-form__form"),e.on.submit(o),y.Stack(e.attr.class("bc-auth-form__fields"),e.html.p(e.attr.class("bc-auth-form__description"),d.$.magicLinkDescription),C.EmailInput({value:s,onChange:p=>s.set(p)}),b.Button({type:"submit",variant:"filled",color:"primary",loading:i},e.attr.class("bc-auth-form__submit"),d.$.magicLinkSendButton)))),e.When(l,()=>w.Notice({variant:"success",tone:"prominent"},e.html.div(d.$.magicLinkSent)))))}function j({client:a,autoFill:t,onSuccess:s,onError:r}){const i=e.prop(!1);async function l(){if(!a.signIn.passkey)return;i.set(!0);const o=await a.signIn.passkey({autoFill:t});if(i.set(!1),o.error){r?.({message:o.error.message,status:o.error.status});return}s?.()}return e.Use(k,o=>b.Button({type:"button",variant:"outline",color:"primary",onClick:l,loading:i},e.attr.class("bc-passkey-signin"),o.$.passkeySignInButton))}function z({passkey:a}){const t=e.prop([]),s=e.prop(null),r=e.prop(!1),i=e.prop("");async function l(u,m){r.set(!0),s.set(null);const c=await u();if(r.set(!1),c.error){s.set(c.error.message);return}await m?.(c.data)}async function o(){await l(()=>a.listUserPasskeys(),u=>t.set(u??[]))}async function d(){const u=i.value||void 0;await l(()=>a.addPasskey({name:u}),async()=>{i.set(""),await o()})}async function p(u){await l(()=>a.deletePasskey({id:u}),()=>o())}async function f(u,m){await l(()=>a.updatePasskey({id:u,name:m}),()=>o())}return o(),e.Use(k,u=>e.html.div(e.attr.class("bc-passkey-management"),e.Ensure(s,m=>w.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(m))),e.html.div(e.attr.class("bc-passkey-list"),e.ForEach(t,m=>{const c=e.prop(!1),n=e.prop(m.$.name?.value??"");return e.html.div(e.attr.class("bc-passkey-item"),e.Unless(c,()=>e.html.div(e.attr.class("bc-passkey-item__info"),e.html.span(e.attr.class("bc-passkey-item__name"),m.$.name?.map(h=>h??u.$.passkeyUnnamed.value)??u.$.passkeyUnnamed),e.html.span(e.attr.class("bc-passkey-item__date"),m.$.createdAt))),e.When(c,()=>e.html.div(e.attr.class("bc-passkey-item__edit"),g.TextInput({value:n,onChange:h=>n.set(h)}))),e.html.div(e.attr.class("bc-passkey-item__actions"),e.Unless(c,()=>e.html.div(b.Button({type:"button",variant:"text",size:"sm",onClick:()=>{n.set(m.$.name?.value??""),c.set(!0)}},u.$.passkeyRenameButton),b.Button({type:"button",variant:"text",size:"sm",color:"danger",onClick:()=>p(m.$.id.value)},u.$.passkeyDeleteButton))),e.When(c,()=>e.html.div(b.Button({type:"button",variant:"text",size:"sm",onClick:async()=>{await f(m.$.id.value,n.value),c.set(!1)}},u.$.passkeySaveButton),b.Button({type:"button",variant:"text",size:"sm",onClick:()=>c.set(!1)},u.$.passkeyCancelButton)))))})),e.html.div(e.attr.class("bc-passkey-add"),y.Stack(g.TextInput({value:i,onChange:m=>i.set(m),placeholder:u.$.passkeyNamePlaceholder}),b.Button({type:"button",variant:"filled",color:"primary",onClick:d,loading:r},u.$.passkeyAddButton)))))}exports.Authenticated=D;exports.BetterAuth=$;exports.BetterAuthContainer=O;exports.BetterAuthI18n=k;exports.BetterAuthModal=M;exports.MagicLinkForm=W;exports.PasskeyManagement=z;exports.PasskeySignIn=j;exports.TwoFactorSetup=x;exports.TwoFactorVerify=V;exports.Unauthenticated=T;exports.createBetterAuthBridge=A;exports.createSessionManager=L;exports.mapSocialProviders=_;
|