@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.
Files changed (159) hide show
  1. package/dist/{ar-Wr6gMs-M.cjs → ar-CEzAem0F.cjs} +1 -1
  2. package/dist/{ar-fdUqbCvM.js → ar-CQieaqsq.js} +1 -1
  3. package/dist/auth/index.cjs.js +1 -1
  4. package/dist/auth/index.es.js +1 -1
  5. package/dist/auth-divider-B8yr-E_b.cjs +1 -0
  6. package/dist/{auth-divider-D9KnNeyF.js → auth-divider-Byh5BWLc.js} +91 -88
  7. package/dist/better-auth/index.cjs.js +1 -1
  8. package/dist/better-auth/index.es.js +27 -26
  9. package/dist/card-BkA7Wvbh.cjs +1 -0
  10. package/dist/card-DX1DwGbL.js +62 -0
  11. package/dist/{colors-C2sgnzFH.js → colors-CyMhfbJi.js} +64 -58
  12. package/dist/{colors-DPCHjRMj.cjs → colors-IXZF9U-s.cjs} +1 -1
  13. package/dist/control-hqEuMzyI.js +343 -0
  14. package/dist/control-muup9GF1.cjs +1 -0
  15. package/dist/custom-validation-BA9iJWl_.cjs +1 -0
  16. package/dist/custom-validation-BOBoUwHY.js +181 -0
  17. package/dist/{de-C5-k5Eov.js → de-CBIwvkAH.js} +1 -1
  18. package/dist/{de-DZqdSEta.cjs → de-DdfxrlT3.cjs} +1 -1
  19. package/dist/deep-merge-8fwp1z4X.js +1346 -0
  20. package/dist/deep-merge-VDGE_HQD.cjs +1 -0
  21. package/dist/duration-input-DmsljXl3.cjs +1 -0
  22. package/dist/{duration-input-D4V_PHIg.js → duration-input-ZQlcqdXU.js} +32 -31
  23. package/dist/{editor-toolbar-group-FpOHrmtx.js → editor-toolbar-group-BNTBMJCe.js} +2 -2
  24. package/dist/{editor-toolbar-group-C_ft_T8D.cjs → editor-toolbar-group-DiMzqYgz.cjs} +1 -1
  25. package/dist/{es-h6jmoF4X.js → es--9HaEj2D.js} +1 -1
  26. package/dist/{es-CJgYfRap.cjs → es-DSdljxFJ.cjs} +1 -1
  27. package/dist/{fa-BuxK837l.js → fa-1Z-akcW7.js} +1 -1
  28. package/dist/{fa-BQ5PzwNY.cjs → fa-BolmeWRT.cjs} +1 -1
  29. package/dist/flyout-CuKFh_T7.js +151 -0
  30. package/dist/flyout-DC_tKaTG.cjs +1 -0
  31. package/dist/{fr-Bv3TG44U.cjs → fr-CODgUuoZ.cjs} +1 -1
  32. package/dist/{fr-BwILQ9G2.js → fr-DhHM9rou.js} +1 -1
  33. package/dist/{he-yC9Sc7JD.js → he-CBamXbGJ.js} +1 -1
  34. package/dist/{he-5LbvgMCC.cjs → he-Juw-dr28.cjs} +1 -1
  35. package/dist/{hi-Da7rcCpP.js → hi-DvvcX-Ra.js} +1 -1
  36. package/dist/{hi-YWhWcG_L.cjs → hi-R749jeg-.cjs} +1 -1
  37. package/dist/{index-CvU9E9wd.js → index-BfQaT5Jy.js} +104 -104
  38. package/dist/{index-XogEKwdt.cjs → index-Dv7nPuwA.cjs} +1 -1
  39. package/dist/index.cjs.js +4 -4
  40. package/dist/index.es.js +6713 -9831
  41. package/dist/{input-container-CyOgiiQD.cjs → input-container-BaWQLWB6.cjs} +1 -1
  42. package/dist/{input-container-8JFB11xN.js → input-container-DCS5oJ4S.js} +4 -4
  43. package/dist/{it-BxOIJE45.cjs → it-DT5oRZDH.cjs} +1 -1
  44. package/dist/{it-Yeklau78.js → it-aV6i8Qxz.js} +1 -1
  45. package/dist/{ja-Dxj9Q5Yd.js → ja-CuLhGnJX.js} +1 -1
  46. package/dist/{ja-CNhjK06P.cjs → ja-CwKaCYLB.cjs} +1 -1
  47. package/dist/json-schema/index.cjs.js +1 -1
  48. package/dist/json-schema/index.es.js +83 -79
  49. package/dist/json-schema-display/index.cjs.js +1 -1
  50. package/dist/json-schema-display/index.es.js +2 -2
  51. package/dist/json-structure/index.cjs.js +1 -1
  52. package/dist/json-structure/index.es.js +74 -72
  53. package/dist/{ko-DgkqcXTs.cjs → ko-Bucro9ID.cjs} +1 -1
  54. package/dist/{ko-gn_MsegK.js → ko-D-66BsEX.js} +1 -1
  55. package/dist/lexical/index.cjs.js +1 -1
  56. package/dist/lexical/index.es.js +5 -5
  57. package/dist/menu-BFLFKceF.cjs +1 -0
  58. package/dist/menu-BO6zqyfq.js +220 -0
  59. package/dist/modal-6Mq3vS5r.js +309 -0
  60. package/dist/modal-d77-TMc4.cjs +1 -0
  61. package/dist/{nl-vHNFtXXb.js → nl-CAny6wvm.js} +1 -1
  62. package/dist/{nl-Dy9lmbBO.cjs → nl-D7vHpehb.cjs} +1 -1
  63. package/dist/notice-BNGx86Yg.js +110 -0
  64. package/dist/notice-iF6zBMq9.cjs +1 -0
  65. package/dist/{oneof-branch-detection-Q_jxvJIA.js → oneof-branch-detection-Bm17RhC2.js} +27 -26
  66. package/dist/oneof-branch-detection-DZ4MrfBp.cjs +1 -0
  67. package/dist/openui/index.cjs.js +9 -0
  68. package/dist/openui/index.es.js +2174 -0
  69. package/dist/password-input-Bipt7Wsu.cjs +1 -0
  70. package/dist/password-input-mkRmrEPq.js +105 -0
  71. package/dist/{pl-BtYbtsmG.cjs → pl-CSiXoOKT.cjs} +1 -1
  72. package/dist/{pl-C0UdHla0.js → pl-rmZLgQ_V.js} +1 -1
  73. package/dist/prosemirror/index.cjs.js +1 -1
  74. package/dist/prosemirror/index.es.js +4 -4
  75. package/dist/{pt-CtNmqQ1X.cjs → pt-CJT-iq4y.cjs} +1 -1
  76. package/dist/{pt-DGKtfN0d.js → pt-DHnajqAi.js} +1 -1
  77. package/dist/{ru-CpXYLt-v.js → ru-C_E8OZNE.js} +1 -1
  78. package/dist/{ru-BaL_NPRU.cjs → ru-G3sr_ctV.cjs} +1 -1
  79. package/dist/slider-input-SLguFA0d.cjs +1 -0
  80. package/dist/slider-input-VYAMm7pE.js +285 -0
  81. package/dist/stepper-24p16Zsv.cjs +1 -0
  82. package/dist/stepper-TlzbfYWa.js +3222 -0
  83. package/dist/tailwind/preset.cjs.js +1 -1
  84. package/dist/tailwind/preset.es.js +38 -40
  85. package/dist/tailwind/vite-plugin.cjs.js +14 -12
  86. package/dist/tailwind/vite-plugin.es.js +317 -246
  87. package/dist/text-area-BdemKQ_w.cjs +1 -0
  88. package/dist/text-area-Br83-_PQ.js +431 -0
  89. package/dist/{text-input-NJypZSnE.js → text-input-ByuxdX8w.js} +5 -5
  90. package/dist/{text-input-DS5zlXb2.cjs → text-input-MjlUC_9u.cjs} +1 -1
  91. package/dist/{toolbar-BF2L6WKC.js → toolbar-CEBTTjHh.js} +1 -1
  92. package/dist/{toolbar-BBwfe8U9.cjs → toolbar-DWawYFFX.cjs} +1 -1
  93. package/dist/{tr-DwOd87oB.cjs → tr-DcxLHHTC.cjs} +1 -1
  94. package/dist/{tr-DIFZDFW_.js → tr-bVXwloKC.js} +1 -1
  95. package/dist/{translations-EwEmHe3v.cjs → translations-D3xqZUTA.cjs} +1 -1
  96. package/dist/{translations-BCMP-h52.js → translations-DU9wTV1y.js} +20 -19
  97. package/dist/{translations-5cXBrENb.js → translations-RT_UN8ny.js} +1 -1
  98. package/dist/{translations-BqWc0ZHz.cjs → translations-qljG2Chq.cjs} +1 -1
  99. package/dist/types/components/navigation/stepper.d.ts +4 -4
  100. package/dist/types/openui/index.d.ts +28 -0
  101. package/dist/types/openui/library/define-component.d.ts +15 -0
  102. package/dist/types/openui/library/library.d.ts +7 -0
  103. package/dist/types/openui/library/prompt-generator.d.ts +5 -0
  104. package/dist/types/openui/library/types.d.ts +33 -0
  105. package/dist/types/openui/parser/parser.d.ts +8 -0
  106. package/dist/types/openui/parser/streaming-parser.d.ts +14 -0
  107. package/dist/types/openui/parser/tokenizer.d.ts +9 -0
  108. package/dist/types/openui/parser/types.d.ts +46 -0
  109. package/dist/types/openui/registry/button.d.ts +148 -0
  110. package/dist/types/openui/registry/data.d.ts +177 -0
  111. package/dist/types/openui/registry/form.d.ts +65 -0
  112. package/dist/types/openui/registry/format.d.ts +67 -0
  113. package/dist/types/openui/registry/index.d.ts +9 -0
  114. package/dist/types/openui/registry/layout.d.ts +45 -0
  115. package/dist/types/openui/registry/navigation.d.ts +149 -0
  116. package/dist/types/openui/registry/overlay.d.ts +56 -0
  117. package/dist/types/openui/registry/typography.d.ts +17 -0
  118. package/dist/types/openui/renderer/action-context.d.ts +24 -0
  119. package/dist/types/openui/renderer/node-resolver.d.ts +9 -0
  120. package/dist/types/openui/renderer/openui-renderer.d.ts +32 -0
  121. package/dist/types/openui/renderer/skeleton.d.ts +2 -0
  122. package/dist/types/openui/streaming/from-fetch.d.ts +7 -0
  123. package/dist/types/openui/streaming/from-sse.d.ts +7 -0
  124. package/dist/types/openui/streaming/from-websocket.d.ts +10 -0
  125. package/dist/types/openui/streaming/types.d.ts +5 -0
  126. package/dist/types/tailwind/preset.d.ts +25 -4
  127. package/dist/types/tailwind/vite-plugin.d.ts +17 -5
  128. package/dist/types/tokens/colors.d.ts +87 -9
  129. package/dist/types/tokens/index.d.ts +7 -6
  130. package/dist/{ur-DBst-TXc.js → ur-Dls2qb4V.js} +1 -1
  131. package/dist/{ur-D9nLchps.cjs → ur-IRQoHh1E.cjs} +1 -1
  132. package/dist/use-form-BZ8vDYOv.cjs +2 -0
  133. package/dist/use-form-DsCzINfm.js +750 -0
  134. package/dist/utils-D3-NApSw.cjs +1 -0
  135. package/dist/utils-Nbh7yQ73.js +105 -0
  136. package/dist/{vi-Dg1aiMr5.cjs → vi-Bi9SvVCP.cjs} +1 -1
  137. package/dist/{vi-DQOJp32U.js → vi-C3mTzj50.js} +1 -1
  138. package/dist/widget-customization-BV6XB2v_.cjs +1 -0
  139. package/dist/widget-customization-Bso45ONQ.js +1198 -0
  140. package/dist/{zh-DPK4HXl2.js → zh-B4JRJBt2.js} +1 -1
  141. package/dist/{zh-tbwSTbmn.cjs → zh-BMU5rYu1.cjs} +1 -1
  142. package/package.json +31 -20
  143. package/dist/auth-divider-CjcrgXmq.cjs +0 -1
  144. package/dist/custom-validation-7por5nJN.js +0 -488
  145. package/dist/custom-validation-CLscGHY4.cjs +0 -1
  146. package/dist/deep-merge-D90SW1Ci.cjs +0 -1
  147. package/dist/deep-merge-DT2H9AGq.js +0 -1765
  148. package/dist/duration-input-4AQnQpyo.cjs +0 -1
  149. package/dist/menu-B60Q9j3-.cjs +0 -1
  150. package/dist/menu-BkqFGcXg.js +0 -366
  151. package/dist/notice-CQGJyZ8o.js +0 -211
  152. package/dist/notice-p2IqXS5-.cjs +0 -1
  153. package/dist/oneof-branch-detection-xDDDdYRk.cjs +0 -1
  154. package/dist/use-form-8NnZ-KHk.js +0 -1090
  155. package/dist/use-form-Dcra7GeE.cjs +0 -2
  156. package/dist/utils-DmEuG3Np.cjs +0 -1
  157. package/dist/utils-vUtP6iPG.js +0 -165
  158. package/dist/widget-customization-BIBva3f-.js +0 -1458
  159. package/dist/widget-customization-pqmtsraC.cjs +0 -1
@@ -1,4 +1,4 @@
1
- import { f as i } from "./translations-BCMP-h52.js";
1
+ import { f as i } from "./translations-DU9wTV1y.js";
2
2
  const s = {
3
3
  loadingExtended: "正在加载,请稍候",
4
4
  loadingShort: "加载中...",
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./translations-EwEmHe3v.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:" Hindi",it:"意大利语",ja:"日语",ko:"韩语",nl:"荷兰语",pl:"波兰语",pt:"葡萄牙语",ru:"俄语",tr:"土耳其语",vi:"越南语",zh:"简体中文",he:"希伯来语",fa:"波斯语",ur:"乌尔都语",emailPlaceholderText:"请输入邮箱",incrementValue:"增加值",decrementValue:"减少值",dropZoneInstructions:e=>e?"点击选择或将文件拖拽到此处,或按 Enter 或空格键打开文件选择器":"将文件拖拽到此处",fileSizeUnits:["字节","KB","MB","GB","TB"],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:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],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:"正在加载PDF...",loadFailed:"加载PDF失败",invalidPdf:"无效的PDF文件",pageOutOfRange:(e,t)=>`页面 ${e} 超出范围 (1-${t})`,renderFailed:"渲染PDF页面失败"}};exports.default=r;
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:" Hindi",it:"意大利语",ja:"日语",ko:"韩语",nl:"荷兰语",pl:"波兰语",pt:"葡萄牙语",ru:"俄语",tr:"土耳其语",vi:"越南语",zh:"简体中文",he:"希伯来语",fa:"波斯语",ur:"乌尔都语",emailPlaceholderText:"请输入邮箱",incrementValue:"增加值",decrementValue:"减少值",dropZoneInstructions:e=>e?"点击选择或将文件拖拽到此处,或按 Enter 或空格键打开文件选择器":"将文件拖拽到此处",fileSizeUnits:["字节","KB","MB","GB","TB"],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:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],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:"正在加载PDF...",loadFailed:"加载PDF失败",invalidPdf:"无效的PDF文件",pageOutOfRange:(e,t)=>`页面 ${e} 超出范围 (1-${t})`,renderFailed:"渲染PDF页面失败"}};exports.default=r;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tempots/beatui",
3
- "version": "1.7.5",
3
+ "version": "1.9.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.umd.js",
6
6
  "module": "dist/index.es.js",
@@ -72,6 +72,12 @@
72
72
  "require": "./dist/better-auth/index.cjs.js",
73
73
  "default": "./dist/better-auth/index.es.js"
74
74
  },
75
+ "./openui": {
76
+ "types": "./dist/types/openui/index.d.ts",
77
+ "import": "./dist/openui/index.es.js",
78
+ "require": "./dist/openui/index.cjs.js",
79
+ "default": "./dist/openui/index.es.js"
80
+ },
75
81
  "./monaco.css": "./dist/monaco.css",
76
82
  "./markdown.css": "./dist/markdown.css",
77
83
  "./prosemirror.css": "./dist/prosemirror.css",
@@ -144,18 +150,6 @@
144
150
  "registry": "https://registry.npmjs.org/"
145
151
  },
146
152
  "peerDependencies": {
147
- "@tempots/core": "^3.2.1",
148
- "@tempots/dom": "^37.4.3",
149
- "@tempots/render": "^0.0.6",
150
- "@tempots/std": "~0.29.0",
151
- "@tempots/ui": "^16.0.10",
152
- "ajv": "^8.18.0",
153
- "ajv-formats": "^3.0.1",
154
- "better-auth": ">=1.0.0",
155
- "dashjs": "^5.1.1",
156
- "hls.js": "^1.6.15",
157
- "katex": ">=0.16.0",
158
- "lexical": "^0.40.0",
159
153
  "@lexical/clipboard": "^0.40.0",
160
154
  "@lexical/code": "^0.40.0",
161
155
  "@lexical/dragon": "^0.40.0",
@@ -177,6 +171,18 @@
177
171
  "@lexical/text": "^0.40.0",
178
172
  "@lexical/utils": "^0.40.0",
179
173
  "@lexical/yjs": "^0.40.0",
174
+ "@tempots/core": "^3.3.0",
175
+ "@tempots/dom": "^37.5.0",
176
+ "@tempots/render": "^0.0.9",
177
+ "@tempots/std": "~0.29.1",
178
+ "@tempots/ui": "^16.1.1",
179
+ "ajv": "^8.18.0",
180
+ "ajv-formats": "^3.0.1",
181
+ "better-auth": ">=1.0.0",
182
+ "dashjs": "^5.1.1",
183
+ "hls.js": "^1.6.15",
184
+ "katex": ">=0.16.0",
185
+ "lexical": "^0.40.0",
180
186
  "markdown-it": "^14.1.1",
181
187
  "micromark": "^4.0.2",
182
188
  "micromark-extension-gfm": "^3.0.0",
@@ -190,7 +196,8 @@
190
196
  "prosemirror-schema-list": "^1.5.1",
191
197
  "prosemirror-state": "^1.4.4",
192
198
  "prosemirror-view": "^1.41.6",
193
- "shiki": "^3.0.0"
199
+ "shiki": "^3.0.0",
200
+ "zod": "^4.0.0"
194
201
  },
195
202
  "peerDependenciesMeta": {
196
203
  "ajv": {
@@ -318,6 +325,9 @@
318
325
  },
319
326
  "shiki": {
320
327
  "optional": true
328
+ },
329
+ "zod": {
330
+ "optional": true
321
331
  }
322
332
  },
323
333
  "devDependencies": {
@@ -343,12 +353,12 @@
343
353
  "@lexical/text": "^0.40.0",
344
354
  "@lexical/utils": "^0.40.0",
345
355
  "@lexical/yjs": "^0.40.0",
346
- "@tempots/core": "^3.2.1",
347
- "@tempots/dom": "^37.4.3",
356
+ "@tempots/core": "^3.3.0",
357
+ "@tempots/dom": "^37.5.0",
348
358
  "@tempots/eslint-plugin": "0.13.1",
349
- "@tempots/render": "^0.0.6",
350
- "@tempots/std": "~0.29.0",
351
- "@tempots/ui": "^16.0.10",
359
+ "@tempots/render": "^0.0.9",
360
+ "@tempots/std": "~0.29.1",
361
+ "@tempots/ui": "^16.1.1",
352
362
  "@testing-library/dom": "10.4.1",
353
363
  "@types/markdown-it": "^14.1.2",
354
364
  "@types/node": "25.2.3",
@@ -386,7 +396,8 @@
386
396
  "typescript": "5.9.3",
387
397
  "typescript-eslint": "8.56.0",
388
398
  "vite": "7.3.1",
389
- "vitest": "4.0.18"
399
+ "vitest": "4.0.18",
400
+ "zod": "4.3.6"
390
401
  },
391
402
  "dependencies": {
392
403
  "@js-temporal/polyfill": "^0.5.1",
@@ -1 +0,0 @@
1
- "use strict";const e=require("@tempots/dom"),q=require("./stack-dwLevGa2.cjs"),b=require("./use-form-Dcra7GeE.cjs"),f=require("./custom-validation-CLscGHY4.cjs"),X=require("@tempots/std"),m=require("./translations-BqWc0ZHz.cjs"),y=require("./notice-p2IqXS5-.cjs"),T=require("./input-container-CyOgiiQD.cjs"),ne=require("./text-input-DS5zlXb2.cjs"),re=require("./translations-EwEmHe3v.cjs"),se=require("@tempots/ui"),$={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 Y(t){return $[t]?.name||t}function ie(t){return $[t]?.icon||"mdi:account"}function ce(t){return $[t]?.color||"#666"}function le(t,o="Continue with {provider}"){return o.replace("{provider}",Y(t))}const B={minLength:8,requireUppercase:!0,requireLowercase:!0,requireNumbers:!0,requireSymbols:!1};function ue(t){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}function Z(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 me(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=Z(),h=new URLSearchParams({client_id:o,redirect_uri:r,scope:i.join(" "),state:c,response_type:"code",...l});return`${n}?${h.toString()}`}function de(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 pe(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 J(){return typeof window<"u"&&typeof document<"u"}function E({task:t,message:o,onStart:r,onEnd:a}){return async l=>{r?.();const s=await b.taskToValidation({task:t!=null?()=>t(l):async()=>null,errorMessage:o,errorPath:["root"],validation:u=>{if(u==null)return X.Validation.valid;if(typeof u=="string")return X.Validation.invalid({message:u});const n={};for(const i of u)n[i.field]=i.message;return b.ControllerValidation.invalidFields(n)}});return a?.(),s}}function M(t=B,o){const r=o??m.defaultMessages;let a=f.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 C(t){const o=t??m.defaultMessages;return f.string().min(1,o.emailRequired??m.defaultMessages.emailRequired).email(o.invalidEmail??m.defaultMessages.invalidEmail)}const G=C();function z(t,o){const r=o??m.defaultMessages,a=t?M(t,o):f.string().refine(l=>l.length>0?null:r.passwordRequired??m.defaultMessages.passwordRequired);return f.object({email:C(o),password:a,rememberMe:f.boolean().default(!1)}).schema()}function U(t=B,o,r){const a=r??m.defaultMessages,l=M(t,r),s=o?.showNameField!==!1,u=o?.showConfirmPassword!==!1,n=o?.showAcceptTermsAndConditions!==!1,i={name:s?f.string().min(1,a.nameRequired??m.defaultMessages.nameRequired).optional():f.string().optional(),email:C(r),password:l,confirmPassword:u?f.string().min(1,a.confirmPasswordRequired??m.defaultMessages.confirmPasswordRequired):f.string(),acceptTerms:n?f.boolean().refine(h=>h===!0,a.acceptTermsRequired??m.defaultMessages.acceptTermsRequired):f.boolean().default(!0)},c=f.object(i);return u?c.refine(h=>h.password===h.confirmPassword?null:a.passwordsDoNotMatch??m.defaultMessages.passwordsDoNotMatch,{path:["confirmPassword"]}).schema():c.schema()}const j=f.object({email:G}).schema(),he=z(),ge=U(),fe={signIn:z,signUp:U,resetPassword:()=>j};function be(t,o){const r=o??m.defaultMessages,l=(o?C(o):G).validate(t);return l.success?null:l.errors[0]?.message||(r.invalidEmailAddress??m.defaultMessages.invalidEmailAddress)}function we(t,o=B,r){const a=r??m.defaultMessages,s=M(o,r).validate(t);return s.success?null:s.errors[0]?.message||(a.invalidPassword??m.defaultMessages.invalidPassword)}function R(t,o=B){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 H=()=>J()?e.localStorageProp({key:"bui_auth_email",defaultValue:null}):e.prop(null);function K({onSignIn:t,passwordRules:o,labels:r,showRememberMe:a}){const l=e.prop(!1),s=H(),u=z(o),n=b.useForm({schema:u,onSubmit:E({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"),w=i.field("password");return s.on(L=>{L!=null&&h.change(L)}),h.signal.on(L=>{s.value!=null&&(s.value=L)}),e.Use(m.AuthI18n,L=>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,v=>y.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(v))),b.Control(y.EmailInput,{controller:h,label:e.coalesce(r?.emailLabel,L.$.emailLabel)}),b.Control(y.PasswordInput,{controller:w,label:e.coalesce(r?.passwordLabel,L.$.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"),b.CheckboxInput({value:s.map(v=>v!=null),after:e.html.span(e.coalesce(r?.rememberMeLabel,L.$.rememberMeLabel)),onChange:v=>{v?s.value=h.signal.value??"":s.value=null}}))))),T.Button({type:"submit",variant:"filled",color:"primary",loading:l,disabled:i.disabledOrHasErrors},e.attr.class("bc-auth-form__submit"),e.coalesce(r?.signInButton,L.$.signInButton))))}function Q({password:t,rules:o=B,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}}:R(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,w)=>{switch(h){case"weak":return w.passwordStrengthWeak;case"fair":return w.passwordStrengthFair;case"good":return w.passwordStrengthGood;case"strong":return w.passwordStrengthStrong;default:return w.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 Le({password:t,rules:o=B,className:r}){const a=e.computedOf(t)(n=>!n||n.length===0?{strength:"weak",score:0}:R(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 _e({password:t,rules:o=B,className:r}){const a=e.computedOf(t)(s=>!s||s.length===0?"weak":R(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 ee({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),w=t||B,L=typeof n=="boolean"?n:n!=null?n.value:!1,v=typeof i=="boolean"?i:i!=null?i.value:!1,O=U(w,{showNameField:u!==!1,showConfirmPassword:L,showAcceptTermsAndConditions:v}),x=b.useForm({schema:O,onSubmit:E({task:s!=null?_=>s({email:_.email,password:_.password,name:_.name,acceptTerms:_.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:k,submit:W}=x;h.on(k.setDisabled);const F=k.field("name"),V=k.field("email"),P=k.field("password"),S=k.field("confirmPassword"),I=k.field("acceptTerms");return e.Use(m.AuthI18n,_=>e.html.form(e.attr.class("bc-auth-form__form"),e.on.submit(W),q.Stack(e.attr.class("bc-auth-form__fields"),e.Ensure(k.error,g=>y.Notice({variant:"danger",tone:"prominent",role:"alert"},e.html.div(g))),e.When(u!==!1,()=>b.Control(ne.TextInput,{controller:F.transform(g=>g??"",g=>g===""?void 0:g),label:e.coalesce(o?.nameLabel,_.$.nameLabel)})),b.Control(y.EmailInput,{controller:V,label:e.coalesce(o?.emailLabel,_.$.emailLabel)}),b.Control(y.PasswordInput,{controller:P,label:e.coalesce(o?.passwordLabel,_.$.passwordLabel)}),e.When(l??!1,()=>Q({password:P.signal,rules:w,showLabel:!0})),e.When(n??!1,()=>b.Control(y.PasswordInput,{controller:S,label:e.coalesce(o?.confirmPasswordLabel,_.$.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"),b.CheckboxInput({value:I.signal.map(g=>g??!1),onChange:g=>I.change(g)}),e.html.span(c||e.coalesce(o?.acceptTermsLabel,_.$.acceptTermsLabel))),e.When(I.errorVisible,()=>e.html.div(e.attr.class("bc-auth-form__field-error"),I.error.map(g=>g||"")))))),T.Button({type:"submit",variant:"filled",color:"primary",loading:h,disabled:k.disabledOrHasErrors},e.attr.class("bc-auth-form__submit"),e.coalesce(o?.signUpButton,_.$.signUpButton))))}function te({onResetPassword:t,labels:o={}}){const r=H(),a=e.prop(!1),l=b.useForm({schema:j,onSubmit:E({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=>y.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"),b.Control(y.EmailInput,{controller:n,label:e.coalesce(o?.emailLabel,i.$.emailLabel)})),T.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 T.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"),re.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 oe({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"}},ve=t=>p({...t,...d.google,provider:"google"}),ke=t=>p({...t,...d.github,provider:"github"}),Se=t=>p({...t,...d.apple,provider:"apple"}),Pe=t=>p({...t,...d.facebook,provider:"facebook"}),ye=t=>p({...t,...d.x,provider:"x"}),Be=t=>p({...t,...d.twitter,provider:"twitter"}),qe=t=>p({...t,...d.microsoft,provider:"microsoft"}),Ie=t=>p({...t,...d.discord,provider:"discord"}),xe=t=>p({...t,...d.linkedin,provider:"linkedin"}),Ae=t=>p({...t,...d.instagram,provider:"instagram"}),Ce=t=>p({...t,...d.tiktok,provider:"tiktok"}),Te=t=>p({...t,...d.snapchat,provider:"snapchat"}),$e=t=>p({...t,...d.reddit,provider:"reddit"}),Ee=t=>p({...t,...d.pinterest,provider:"pinterest"}),Me=t=>p({...t,...d.twitch,provider:"twitch"}),ze=t=>p({...t,...d.steam,provider:"steam"}),Ue=t=>p({...t,...d.epic,provider:"epic"}),Re=t=>p({...t,...d.playstation,provider:"playstation"}),Oe=t=>p({...t,...d.xbox,provider:"xbox"}),We=t=>p({...t,...d.whatsapp,provider:"whatsapp"}),Fe=t=>p({...t,...d.wechat,provider:"wechat"}),Ve=t=>p({...t,...d.amazon,provider:"amazon"}),Ne=t=>p({...t,...d.yahoo,provider:"yahoo"}),De=t=>p({...t,...d.paypal,provider:"paypal"});function N({providers:t,onSocialLogin:o}){return q.Stack(oe({providers:t,onProviderClick:o}))}function ae({mode:t,socialProviders:o,initialName:r,initialEmail:a,passwordRules:l,showRememberMe:s,showSocialDivider:u,showPasswordStrength:n,labels:i,onSignIn:c,onSignUp:h,onResetPassword:w,onModeChange:L,onSocialLogin:v,showContainer:O,showNameField:x,showConfirmPassword:k,showAcceptTermsAndConditions:W,termsAndConditions:F},...V){const P=t!=null?e.Value.deriveProp(t):e.prop("signin");return P.on(S=>L?.(S)),e.Use(m.AuthI18n,S=>{function I(){const A=e.coalesce(i?.hasAccountLink,S.$.hasAccountLink);return e.html.button(e.attr.type("button"),e.attr.class("bc-auth-form__link"),e.on.click(()=>P.set("signin")),A)}function _(){return e.html.button(e.attr.type("button"),e.attr.class("bc-auth-form__link"),e.on.click(()=>P.set("signup")),e.coalesce(i?.noAccountLink,S.$.noAccountLink))}function g(){return e.html.button(e.attr.type("button"),e.attr.class("bc-auth-form__link"),e.on.click(()=>P.set("reset-password")),e.coalesce(i?.forgotPasswordLink,S.$.forgotPasswordLink))}return e.html.div(se.classes({"bc-auth-container":!0,"bc-auth-container--styled":e.Value.map(O??!0,A=>A)}),e.attr.class(P.map(A=>`bc-auth-container--${A}`)),e.attr.class("bc-auth-form"),e.OneOfValue(P,{signin:()=>e.Fragment(e.html.h2(e.attr.class("bc-auth-form__title"),e.coalesce(i?.signInTitle,S.$.signInTitle)),o!=null?e.Fragment(N({providers:o,onSocialLogin:v}),e.When(u??!1,D)):null,K({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"),_(),g())),signup:()=>e.Fragment(e.html.h2(e.attr.class("bc-auth-form__title"),e.coalesce(i?.signUpTitle,S.$.signUpTitle)),o!=null?e.Fragment(N({providers:o,onSocialLogin:v}),e.When(u??!1,D)):null,ee({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:k,showAcceptTermsAndConditions:W,termsAndConditions:F}),q.Stack(e.attr.class("bc-auth-form__footer"),I())),"reset-password":()=>e.Fragment(e.html.h2(e.attr.class("bc-auth-form__title"),e.coalesce(i?.resetPasswordTitle,S.$.resetPasswordTitle)),te({labels:{backToSignInLink:i?.backToSignInLink,emailLabel:i?.emailLabel,resetPasswordButton:i?.resetPasswordButton,resetPasswordDescription:i?.resetPasswordDescription},onResetPassword:w}),q.Stack(e.attr.class("bc-auth-form__footer"),I()))}),...V)})}function Ge(t){return f.Modal({size:"sm",dismissable:!0,showCloseButton:!0},(o,r)=>t(a=>o({body:ae({showContainer:!1,...a}),header:e.Use(m.AuthI18n,l=>e.coalesce(a.modalTitle,l.$.authenticationTitle))})))}function D({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=Ve;exports.AppleLoginButton=Se;exports.AuthContainer=ae;exports.AuthDivider=D;exports.AuthModal=Ge;exports.DiscordLoginButton=Ie;exports.EpicLoginButton=Ue;exports.FacebookLoginButton=Pe;exports.GitHubLoginButton=ke;exports.GoogleLoginButton=ve;exports.InstagramLoginButton=Ae;exports.LinkedInLoginButton=xe;exports.MicrosoftLoginButton=qe;exports.PasswordStrengthBar=Le;exports.PasswordStrengthIndicator=Q;exports.PasswordStrengthText=_e;exports.PayPalLoginButton=De;exports.PinterestLoginButton=Ee;exports.PlayStationLoginButton=Re;exports.RedditLoginButton=$e;exports.ResetPasswordForm=te;exports.SignInForm=K;exports.SignUpForm=ee;exports.SnapchatLoginButton=Te;exports.SocialLoginButton=p;exports.SocialLoginButtons=oe;exports.SocialProviders=N;exports.SteamLoginButton=ze;exports.TiktokLoginButton=Ce;exports.TwitchLoginButton=Me;exports.TwitterLoginButton=Be;exports.WeChatLoginButton=Fe;exports.WhatsAppLoginButton=We;exports.XLoginButtin=ye;exports.XboxLoginButton=Oe;exports.YahooLoginButton=Ne;exports.authSchemas=fe;exports.calculatePasswordStrength=R;exports.createEmailSchema=C;exports.createPasswordSchema=M;exports.createSignInSchema=z;exports.createSignUpSchema=U;exports.createSocialLoginUrl=me;exports.defaultPasswordRules=B;exports.defaultSignInSchema=he;exports.defaultSignUpSchema=ge;exports.emailSchema=G;exports.formatAuthError=pe;exports.formatProviderName=Y;exports.formatSocialLoginText=le;exports.generateRandomString=Z;exports.getProviderColor=ce;exports.getProviderIcon=ie;exports.isBrowser=J;exports.isValidEmail=ue;exports.openSocialLoginPopup=de;exports.providerInfo=$;exports.requestToControllerValidation=E;exports.resetPasswordSchema=j;exports.socialProviderInfo=d;exports.useAuthEmailProp=H;exports.validateEmail=be;exports.validatePassword=we;