@teach-in/react 0.1.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 (333) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/dist/chunk-25ISU6R3.mjs +1 -0
  4. package/dist/chunk-26RHRVH2.mjs +18 -0
  5. package/dist/chunk-2W4N27WQ.mjs +28 -0
  6. package/dist/chunk-3BST3PYD.mjs +1 -0
  7. package/dist/chunk-3N5UZODS.mjs +1 -0
  8. package/dist/chunk-3ZTXXJSO.mjs +25 -0
  9. package/dist/chunk-4QSIBIUI.mjs +32 -0
  10. package/dist/chunk-54ZSBA6H.mjs +1 -0
  11. package/dist/chunk-5EWHMXCP.mjs +1 -0
  12. package/dist/chunk-5HK7HRTR.mjs +1 -0
  13. package/dist/chunk-5HUR2CNH.mjs +1 -0
  14. package/dist/chunk-5IHVMMCK.mjs +1 -0
  15. package/dist/chunk-5UKTT75Y.mjs +1 -0
  16. package/dist/chunk-5YMUHF45.mjs +1 -0
  17. package/dist/chunk-6UIBJVXP.mjs +27 -0
  18. package/dist/chunk-6WK4W5LL.mjs +17 -0
  19. package/dist/chunk-7GHK5XYK.mjs +33 -0
  20. package/dist/chunk-7T3JFARO.mjs +13 -0
  21. package/dist/chunk-A3AAC7PF.mjs +14 -0
  22. package/dist/chunk-AQ3ISJKU.mjs +1 -0
  23. package/dist/chunk-AS4T5M6E.mjs +14 -0
  24. package/dist/chunk-C3MURCMZ.mjs +19 -0
  25. package/dist/chunk-CETCW7DS.mjs +24 -0
  26. package/dist/chunk-CLDAITOP.mjs +26 -0
  27. package/dist/chunk-CRPCWBXA.mjs +1 -0
  28. package/dist/chunk-CUVF3U67.mjs +59 -0
  29. package/dist/chunk-CXAZBWS4.mjs +23 -0
  30. package/dist/chunk-DBQTFBA3.mjs +10 -0
  31. package/dist/chunk-DUQFM3QS.mjs +1 -0
  32. package/dist/chunk-EC3NSPHR.mjs +27 -0
  33. package/dist/chunk-EVQFKHCM.mjs +1 -0
  34. package/dist/chunk-FELJP42D.mjs +220 -0
  35. package/dist/chunk-FXXWSYJA.mjs +1 -0
  36. package/dist/chunk-GEJLG5RP.mjs +33 -0
  37. package/dist/chunk-GQ3LBZ2Q.mjs +33 -0
  38. package/dist/chunk-GRWFJ4FP.mjs +16 -0
  39. package/dist/chunk-HH7MLUOF.mjs +13 -0
  40. package/dist/chunk-HJUZTISD.mjs +16 -0
  41. package/dist/chunk-HZ5YAOU6.mjs +1 -0
  42. package/dist/chunk-I5AMV7H7.mjs +1 -0
  43. package/dist/chunk-IAJ6G633.mjs +17 -0
  44. package/dist/chunk-IZEJE6V2.mjs +14 -0
  45. package/dist/chunk-JDFRAN4S.mjs +24 -0
  46. package/dist/chunk-JJHHWDZT.mjs +1 -0
  47. package/dist/chunk-K3WTHFIG.mjs +1 -0
  48. package/dist/chunk-KH4D2C2T.mjs +1 -0
  49. package/dist/chunk-KTUGFQWJ.mjs +16 -0
  50. package/dist/chunk-LJIVY6GU.mjs +16 -0
  51. package/dist/chunk-LN7WH3OB.mjs +25 -0
  52. package/dist/chunk-LOMRTWX5.mjs +12 -0
  53. package/dist/chunk-LR4R7GFR.mjs +16 -0
  54. package/dist/chunk-N3EAW6UO.mjs +14 -0
  55. package/dist/chunk-NBFOX367.mjs +15 -0
  56. package/dist/chunk-NZI5NBXF.mjs +16 -0
  57. package/dist/chunk-OEHJDT6R.mjs +1 -0
  58. package/dist/chunk-ONQIPN3G.mjs +14 -0
  59. package/dist/chunk-PEB5ZH76.mjs +13 -0
  60. package/dist/chunk-Q4TQYK6N.mjs +73 -0
  61. package/dist/chunk-Q6XJI7Q2.mjs +1 -0
  62. package/dist/chunk-QU35SWES.mjs +28 -0
  63. package/dist/chunk-R7LDL5CU.mjs +24 -0
  64. package/dist/chunk-S2TB4GD2.mjs +35 -0
  65. package/dist/chunk-S3ET5HKP.mjs +33 -0
  66. package/dist/chunk-T57H3CGO.mjs +47 -0
  67. package/dist/chunk-TIFF5WZA.mjs +14 -0
  68. package/dist/chunk-UHLC7GOU.mjs +31 -0
  69. package/dist/chunk-UTZUYZZL.mjs +1 -0
  70. package/dist/chunk-UURZJWWV.mjs +1 -0
  71. package/dist/chunk-V2G5QHZZ.mjs +14 -0
  72. package/dist/chunk-V2HNFTTX.mjs +1 -0
  73. package/dist/chunk-V3KKDSQP.mjs +1 -0
  74. package/dist/chunk-V4HKGJYK.mjs +33 -0
  75. package/dist/chunk-V77JZXH7.mjs +1 -0
  76. package/dist/chunk-VOG5HJID.mjs +1 -0
  77. package/dist/chunk-WJXIRSSW.mjs +1 -0
  78. package/dist/chunk-WTXPB253.mjs +16 -0
  79. package/dist/chunk-WYJW5NNA.mjs +1 -0
  80. package/dist/chunk-WZDFBWUL.mjs +1 -0
  81. package/dist/chunk-XAW35UDV.mjs +1 -0
  82. package/dist/chunk-ZRHEFEFS.mjs +1 -0
  83. package/dist/index.d.ts +1 -0
  84. package/dist/index.js +939 -0
  85. package/dist/index.mjs +237 -0
  86. package/dist/ui/actions/button/button.d.ts +25 -0
  87. package/dist/ui/actions/button/button.js +62 -0
  88. package/dist/ui/actions/button/button.mjs +8 -0
  89. package/dist/ui/actions/button/index.d.ts +1 -0
  90. package/dist/ui/actions/button/index.js +63 -0
  91. package/dist/ui/actions/button/index.mjs +8 -0
  92. package/dist/ui/actions/index.d.ts +1 -0
  93. package/dist/ui/actions/index.js +63 -0
  94. package/dist/ui/actions/index.mjs +9 -0
  95. package/dist/ui/data/avatar/avatar.d.ts +6 -0
  96. package/dist/ui/data/avatar/avatar.js +47 -0
  97. package/dist/ui/data/avatar/avatar.mjs +7 -0
  98. package/dist/ui/data/avatar/index.d.ts +1 -0
  99. package/dist/ui/data/avatar/index.js +49 -0
  100. package/dist/ui/data/avatar/index.mjs +8 -0
  101. package/dist/ui/data/index.d.ts +2 -0
  102. package/dist/ui/data/index.js +60 -0
  103. package/dist/ui/data/index.mjs +14 -0
  104. package/dist/ui/data/pagination/index.d.ts +1 -0
  105. package/dist/ui/data/pagination/index.js +49 -0
  106. package/dist/ui/data/pagination/index.mjs +8 -0
  107. package/dist/ui/data/pagination/pagination.d.ts +7 -0
  108. package/dist/ui/data/pagination/pagination.js +47 -0
  109. package/dist/ui/data/pagination/pagination.mjs +7 -0
  110. package/dist/ui/feedback/alert/alert.d.ts +8 -0
  111. package/dist/ui/feedback/alert/alert.js +48 -0
  112. package/dist/ui/feedback/alert/alert.mjs +8 -0
  113. package/dist/ui/feedback/alert/index.d.ts +1 -0
  114. package/dist/ui/feedback/alert/index.js +49 -0
  115. package/dist/ui/feedback/alert/index.mjs +8 -0
  116. package/dist/ui/feedback/chip/chip.d.ts +6 -0
  117. package/dist/ui/feedback/chip/chip.js +48 -0
  118. package/dist/ui/feedback/chip/chip.mjs +8 -0
  119. package/dist/ui/feedback/chip/index.d.ts +1 -0
  120. package/dist/ui/feedback/chip/index.js +49 -0
  121. package/dist/ui/feedback/chip/index.mjs +8 -0
  122. package/dist/ui/feedback/index.d.ts +4 -0
  123. package/dist/ui/feedback/index.js +86 -0
  124. package/dist/ui/feedback/index.mjs +24 -0
  125. package/dist/ui/feedback/spinner/index.d.ts +1 -0
  126. package/dist/ui/feedback/spinner/index.js +51 -0
  127. package/dist/ui/feedback/spinner/index.mjs +8 -0
  128. package/dist/ui/feedback/spinner/spinner.d.ts +6 -0
  129. package/dist/ui/feedback/spinner/spinner.js +50 -0
  130. package/dist/ui/feedback/spinner/spinner.mjs +8 -0
  131. package/dist/ui/feedback/tooltip/index.d.ts +1 -0
  132. package/dist/ui/feedback/tooltip/index.js +51 -0
  133. package/dist/ui/feedback/tooltip/index.mjs +8 -0
  134. package/dist/ui/feedback/tooltip/tooltip.d.ts +6 -0
  135. package/dist/ui/feedback/tooltip/tooltip.js +50 -0
  136. package/dist/ui/feedback/tooltip/tooltip.mjs +8 -0
  137. package/dist/ui/form/form.d.ts +6 -0
  138. package/dist/ui/form/form.js +47 -0
  139. package/dist/ui/form/form.mjs +7 -0
  140. package/dist/ui/form/index.d.ts +2 -0
  141. package/dist/ui/form/index.js +364 -0
  142. package/dist/ui/form/index.mjs +65 -0
  143. package/dist/ui/form/rhf/fields/autocomplete-field.d.ts +10 -0
  144. package/dist/ui/form/rhf/fields/autocomplete-field.js +77 -0
  145. package/dist/ui/form/rhf/fields/autocomplete-field.mjs +27 -0
  146. package/dist/ui/form/rhf/fields/checkbox-field.d.ts +10 -0
  147. package/dist/ui/form/rhf/fields/checkbox-field.js +71 -0
  148. package/dist/ui/form/rhf/fields/checkbox-field.mjs +27 -0
  149. package/dist/ui/form/rhf/fields/date-picker-field.d.ts +10 -0
  150. package/dist/ui/form/rhf/fields/date-picker-field.js +78 -0
  151. package/dist/ui/form/rhf/fields/date-picker-field.mjs +27 -0
  152. package/dist/ui/form/rhf/fields/email-field.d.ts +10 -0
  153. package/dist/ui/form/rhf/fields/email-field.js +76 -0
  154. package/dist/ui/form/rhf/fields/email-field.mjs +27 -0
  155. package/dist/ui/form/rhf/fields/index.d.ts +9 -0
  156. package/dist/ui/form/rhf/fields/index.js +353 -0
  157. package/dist/ui/form/rhf/fields/index.mjs +59 -0
  158. package/dist/ui/form/rhf/fields/input-field.d.ts +10 -0
  159. package/dist/ui/form/rhf/fields/input-field.js +66 -0
  160. package/dist/ui/form/rhf/fields/input-field.mjs +27 -0
  161. package/dist/ui/form/rhf/fields/select-field.d.ts +10 -0
  162. package/dist/ui/form/rhf/fields/select-field.js +94 -0
  163. package/dist/ui/form/rhf/fields/select-field.mjs +27 -0
  164. package/dist/ui/form/rhf/fields/switch-field.d.ts +10 -0
  165. package/dist/ui/form/rhf/fields/switch-field.js +69 -0
  166. package/dist/ui/form/rhf/fields/switch-field.mjs +27 -0
  167. package/dist/ui/form/rhf/fields/text-field.d.ts +10 -0
  168. package/dist/ui/form/rhf/fields/text-field.js +74 -0
  169. package/dist/ui/form/rhf/fields/text-field.mjs +27 -0
  170. package/dist/ui/form/rhf/fields/textarea-field.d.ts +10 -0
  171. package/dist/ui/form/rhf/fields/textarea-field.js +77 -0
  172. package/dist/ui/form/rhf/fields/textarea-field.mjs +27 -0
  173. package/dist/ui/form/rhf/index.d.ts +1 -0
  174. package/dist/ui/form/rhf/index.js +353 -0
  175. package/dist/ui/form/rhf/index.mjs +60 -0
  176. package/dist/ui/format/boolean.d.ts +12 -0
  177. package/dist/ui/format/boolean.js +42 -0
  178. package/dist/ui/format/boolean.mjs +8 -0
  179. package/dist/ui/format/currency.d.ts +12 -0
  180. package/dist/ui/format/currency.js +49 -0
  181. package/dist/ui/format/currency.mjs +8 -0
  182. package/dist/ui/format/date.d.ts +12 -0
  183. package/dist/ui/format/date.js +50 -0
  184. package/dist/ui/format/date.mjs +8 -0
  185. package/dist/ui/format/datetime.d.ts +12 -0
  186. package/dist/ui/format/datetime.js +52 -0
  187. package/dist/ui/format/datetime.mjs +8 -0
  188. package/dist/ui/format/duration.d.ts +13 -0
  189. package/dist/ui/format/duration.js +56 -0
  190. package/dist/ui/format/duration.mjs +8 -0
  191. package/dist/ui/format/index.d.ts +9 -0
  192. package/dist/ui/format/index.js +225 -0
  193. package/dist/ui/format/index.mjs +40 -0
  194. package/dist/ui/format/number.d.ts +11 -0
  195. package/dist/ui/format/number.js +40 -0
  196. package/dist/ui/format/number.mjs +8 -0
  197. package/dist/ui/format/percent.d.ts +12 -0
  198. package/dist/ui/format/percent.js +47 -0
  199. package/dist/ui/format/percent.mjs +8 -0
  200. package/dist/ui/format/plural.d.ts +14 -0
  201. package/dist/ui/format/plural.js +55 -0
  202. package/dist/ui/format/plural.mjs +8 -0
  203. package/dist/ui/format/time.d.ts +12 -0
  204. package/dist/ui/format/time.js +49 -0
  205. package/dist/ui/format/time.mjs +8 -0
  206. package/dist/ui/index.d.ts +12 -0
  207. package/dist/ui/index.js +939 -0
  208. package/dist/ui/index.mjs +237 -0
  209. package/dist/ui/inputs/autocomplete/autocomplete.d.ts +11 -0
  210. package/dist/ui/inputs/autocomplete/autocomplete.js +49 -0
  211. package/dist/ui/inputs/autocomplete/autocomplete.mjs +7 -0
  212. package/dist/ui/inputs/autocomplete/index.d.ts +1 -0
  213. package/dist/ui/inputs/autocomplete/index.js +51 -0
  214. package/dist/ui/inputs/autocomplete/index.mjs +8 -0
  215. package/dist/ui/inputs/checkbox/checkbox.d.ts +6 -0
  216. package/dist/ui/inputs/checkbox/checkbox.js +49 -0
  217. package/dist/ui/inputs/checkbox/checkbox.mjs +7 -0
  218. package/dist/ui/inputs/checkbox/index.d.ts +1 -0
  219. package/dist/ui/inputs/checkbox/index.js +51 -0
  220. package/dist/ui/inputs/checkbox/index.mjs +8 -0
  221. package/dist/ui/inputs/date-picker/date-picker.d.ts +6 -0
  222. package/dist/ui/inputs/date-picker/date-picker.js +50 -0
  223. package/dist/ui/inputs/date-picker/date-picker.mjs +7 -0
  224. package/dist/ui/inputs/date-picker/index.d.ts +1 -0
  225. package/dist/ui/inputs/date-picker/index.js +52 -0
  226. package/dist/ui/inputs/date-picker/index.mjs +8 -0
  227. package/dist/ui/inputs/email/email.d.ts +5 -0
  228. package/dist/ui/inputs/email/email.js +57 -0
  229. package/dist/ui/inputs/email/email.mjs +9 -0
  230. package/dist/ui/inputs/email/index.d.ts +1 -0
  231. package/dist/ui/inputs/email/index.js +59 -0
  232. package/dist/ui/inputs/email/index.mjs +10 -0
  233. package/dist/ui/inputs/index.d.ts +9 -0
  234. package/dist/ui/inputs/index.js +165 -0
  235. package/dist/ui/inputs/index.mjs +49 -0
  236. package/dist/ui/inputs/input/index.d.ts +1 -0
  237. package/dist/ui/inputs/input/index.js +49 -0
  238. package/dist/ui/inputs/input/index.mjs +8 -0
  239. package/dist/ui/inputs/input/input.d.ts +5 -0
  240. package/dist/ui/inputs/input/input.js +47 -0
  241. package/dist/ui/inputs/input/input.mjs +7 -0
  242. package/dist/ui/inputs/select/index.d.ts +1 -0
  243. package/dist/ui/inputs/select/index.js +68 -0
  244. package/dist/ui/inputs/select/index.mjs +8 -0
  245. package/dist/ui/inputs/select/select.d.ts +13 -0
  246. package/dist/ui/inputs/select/select.js +66 -0
  247. package/dist/ui/inputs/select/select.mjs +7 -0
  248. package/dist/ui/inputs/switch/index.d.ts +1 -0
  249. package/dist/ui/inputs/switch/index.js +49 -0
  250. package/dist/ui/inputs/switch/index.mjs +8 -0
  251. package/dist/ui/inputs/switch/switch.d.ts +5 -0
  252. package/dist/ui/inputs/switch/switch.js +48 -0
  253. package/dist/ui/inputs/switch/switch.mjs +8 -0
  254. package/dist/ui/inputs/text/index.d.ts +1 -0
  255. package/dist/ui/inputs/text/index.js +59 -0
  256. package/dist/ui/inputs/text/index.mjs +10 -0
  257. package/dist/ui/inputs/text/text.d.ts +5 -0
  258. package/dist/ui/inputs/text/text.js +57 -0
  259. package/dist/ui/inputs/text/text.mjs +9 -0
  260. package/dist/ui/inputs/textarea/index.d.ts +1 -0
  261. package/dist/ui/inputs/textarea/index.js +51 -0
  262. package/dist/ui/inputs/textarea/index.mjs +8 -0
  263. package/dist/ui/inputs/textarea/textarea.d.ts +5 -0
  264. package/dist/ui/inputs/textarea/textarea.js +49 -0
  265. package/dist/ui/inputs/textarea/textarea.mjs +7 -0
  266. package/dist/ui/layout/container.d.ts +12 -0
  267. package/dist/ui/layout/container.js +65 -0
  268. package/dist/ui/layout/container.mjs +87 -0
  269. package/dist/ui/layout/flex.d.ts +112 -0
  270. package/dist/ui/layout/flex.js +83 -0
  271. package/dist/ui/layout/flex.mjs +8 -0
  272. package/dist/ui/layout/index.d.ts +3 -0
  273. package/dist/ui/layout/index.js +238 -0
  274. package/dist/ui/layout/index.mjs +116 -0
  275. package/dist/ui/layout/page/breadcrumbs.d.ts +8 -0
  276. package/dist/ui/layout/page/breadcrumbs.js +34 -0
  277. package/dist/ui/layout/page/breadcrumbs.mjs +8 -0
  278. package/dist/ui/layout/page/index.d.ts +3 -0
  279. package/dist/ui/layout/page/index.js +144 -0
  280. package/dist/ui/layout/page/index.mjs +44 -0
  281. package/dist/ui/layout/page/page-content.d.ts +64 -0
  282. package/dist/ui/layout/page/page-content.js +109 -0
  283. package/dist/ui/layout/page/page-content.mjs +26 -0
  284. package/dist/ui/layout/page/page-loading.d.ts +2 -0
  285. package/dist/ui/layout/page/page-loading.js +56 -0
  286. package/dist/ui/layout/page/page-loading.mjs +16 -0
  287. package/dist/ui/layout/page/section-loading.d.ts +2 -0
  288. package/dist/ui/layout/page/section-loading.js +56 -0
  289. package/dist/ui/layout/page/section-loading.mjs +16 -0
  290. package/dist/ui/navigation/index.d.ts +1 -0
  291. package/dist/ui/navigation/index.js +38 -0
  292. package/dist/ui/navigation/index.mjs +9 -0
  293. package/dist/ui/navigation/link/index.d.ts +1 -0
  294. package/dist/ui/navigation/link/index.js +38 -0
  295. package/dist/ui/navigation/link/index.mjs +8 -0
  296. package/dist/ui/navigation/link/link.d.ts +8 -0
  297. package/dist/ui/navigation/link/link.js +36 -0
  298. package/dist/ui/navigation/link/link.mjs +7 -0
  299. package/dist/ui/overlays/index.d.ts +1 -0
  300. package/dist/ui/overlays/index.js +66 -0
  301. package/dist/ui/overlays/index.mjs +9 -0
  302. package/dist/ui/overlays/modal/index.d.ts +1 -0
  303. package/dist/ui/overlays/modal/index.js +66 -0
  304. package/dist/ui/overlays/modal/index.mjs +8 -0
  305. package/dist/ui/overlays/modal/modal.d.ts +40 -0
  306. package/dist/ui/overlays/modal/modal.js +65 -0
  307. package/dist/ui/overlays/modal/modal.mjs +8 -0
  308. package/dist/ui/provider/index.d.ts +2 -0
  309. package/dist/ui/provider/index.js +44 -0
  310. package/dist/ui/provider/index.mjs +9 -0
  311. package/dist/ui/provider/ui-provider.d.ts +5 -0
  312. package/dist/ui/provider/ui-provider.js +40 -0
  313. package/dist/ui/provider/ui-provider.mjs +7 -0
  314. package/dist/ui/style/css.d.ts +2 -0
  315. package/dist/ui/style/css.js +35 -0
  316. package/dist/ui/style/css.mjs +7 -0
  317. package/dist/ui/style/index.d.ts +1 -0
  318. package/dist/ui/style/index.js +37 -0
  319. package/dist/ui/style/index.mjs +8 -0
  320. package/dist/ui/theme/index.d.ts +2 -0
  321. package/dist/ui/theme/index.js +40 -0
  322. package/dist/ui/theme/index.mjs +10 -0
  323. package/dist/ui/theme/theme.css +2 -0
  324. package/dist/ui/theme/theme.d.ts +2 -0
  325. package/dist/ui/theme/theme.js +239 -0
  326. package/dist/ui/theme/theme.mjs +7 -0
  327. package/dist/ui/theme/tokens/breakpoints.d.ts +9 -0
  328. package/dist/ui/theme/tokens/breakpoints.js +38 -0
  329. package/dist/ui/theme/tokens/breakpoints.mjs +7 -0
  330. package/dist/ui/theme/tokens/index.d.ts +1 -0
  331. package/dist/ui/theme/tokens/index.js +40 -0
  332. package/dist/ui/theme/tokens/index.mjs +8 -0
  333. package/package.json +75 -0
@@ -0,0 +1,939 @@
1
+ "use client";
2
+ "use strict";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/ui/index.ts
32
+ var ui_exports = {};
33
+ __export(ui_exports, {
34
+ Actions: () => Actions,
35
+ Alert: () => Alert,
36
+ Autocomplete: () => Autocomplete,
37
+ AutocompleteField: () => AutocompleteField,
38
+ Avatar: () => Avatar,
39
+ Body: () => Body,
40
+ Button: () => Button,
41
+ Checkbox: () => Checkbox,
42
+ CheckboxField: () => CheckboxField,
43
+ Chip: () => Chip,
44
+ Container: () => Container,
45
+ DatePicker: () => DatePicker,
46
+ DatePickerField: () => DatePickerField,
47
+ Email: () => Email,
48
+ EmailField: () => EmailField,
49
+ Flex: () => Flex,
50
+ Form: () => Form,
51
+ FormatBoolean: () => Boolean,
52
+ FormatCurrency: () => Currency,
53
+ FormatDate: () => DateFormat,
54
+ FormatDatetime: () => Datetime,
55
+ FormatDuration: () => Duration,
56
+ FormatNumber: () => Number,
57
+ FormatPercent: () => Percent,
58
+ FormatPlural: () => Plural,
59
+ FormatTime: () => Time,
60
+ Header: () => Header,
61
+ Input: () => Input,
62
+ InputField: () => InputField,
63
+ Link: () => Link,
64
+ Modal: () => Modal,
65
+ PageContent: () => PageContent,
66
+ PageLoading: () => PageLoading,
67
+ Pagination: () => Pagination,
68
+ Root: () => Root,
69
+ Section: () => Section,
70
+ SectionActions: () => SectionActions,
71
+ SectionHeader: () => SectionHeader,
72
+ SectionLoading: () => SectionLoading,
73
+ SectionTitle: () => SectionTitle,
74
+ Select: () => Select,
75
+ SelectField: () => SelectField,
76
+ Spinner: () => Spinner,
77
+ Switch: () => Switch,
78
+ SwitchField: () => SwitchField,
79
+ TeachInUIProvider: () => UIProvider,
80
+ Text: () => Text,
81
+ TextField: () => TextField,
82
+ Textarea: () => Textarea,
83
+ TextareaField: () => TextareaField,
84
+ Title: () => Title,
85
+ Tooltip: () => Tooltip,
86
+ UIProvider: () => UIProvider,
87
+ breakpoints: () => breakpoints,
88
+ cn: () => cn
89
+ });
90
+ module.exports = __toCommonJS(ui_exports);
91
+
92
+ // src/ui/actions/button/button.tsx
93
+ var import_react = __toESM(require("react"));
94
+ var import_button = require("@heroui/button");
95
+ var import_system = require("@heroui/system");
96
+ var import_jsx_runtime = require("react/jsx-runtime");
97
+ var BaseButton = (0, import_system.extendVariants)(import_button.Button, {
98
+ variants: {
99
+ color: {
100
+ primary: "bg-primary-400"
101
+ },
102
+ size: {
103
+ lg: "min-w-20 h-14 text-base gap-2 px-6"
104
+ }
105
+ },
106
+ defaultVariants: {
107
+ size: "md"
108
+ }
109
+ });
110
+ var Button = import_react.default.forwardRef((props, ref) => {
111
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BaseButton, { ref, ...props });
112
+ });
113
+ Button.displayName = "TeachInUI.Button";
114
+
115
+ // src/ui/data/avatar/avatar.tsx
116
+ var import_react2 = __toESM(require("react"));
117
+ var import_avatar = require("@heroui/avatar");
118
+ var import_jsx_runtime2 = require("react/jsx-runtime");
119
+ var Avatar = import_react2.default.forwardRef(({ children, ...props }, ref) => {
120
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_avatar.Avatar, { ref, ...props, children });
121
+ });
122
+ Avatar.displayName = "TeachInUI.Avatar";
123
+
124
+ // src/ui/data/pagination/pagination.tsx
125
+ var import_react3 = __toESM(require("react"));
126
+ var import_pagination = require("@heroui/pagination");
127
+ var import_jsx_runtime3 = require("react/jsx-runtime");
128
+ var Pagination = import_react3.default.forwardRef(({ pages, ...props }, ref) => {
129
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_pagination.Pagination, { ref, isCompact: true, showControls: true, showShadow: true, total: pages, ...props });
130
+ });
131
+ Pagination.displayName = "TeachInUI.Pagination";
132
+
133
+ // src/ui/feedback/alert/alert.tsx
134
+ var import_react4 = __toESM(require("react"));
135
+ var import_alert = require("@heroui/alert");
136
+ var import_jsx_runtime4 = require("react/jsx-runtime");
137
+ var Alert = import_react4.default.forwardRef(({ children, ...props }, ref) => {
138
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_alert.Alert, { ref, title: children, ...props });
139
+ });
140
+ Alert.displayName = "TeachInUI.Alert";
141
+
142
+ // src/ui/feedback/chip/chip.tsx
143
+ var import_react5 = __toESM(require("react"));
144
+ var import_chip = require("@heroui/chip");
145
+ var import_jsx_runtime5 = require("react/jsx-runtime");
146
+ var Chip = import_react5.default.forwardRef(({ variant = "flat", ...props }, ref) => {
147
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_chip.Chip, { ref, variant, ...props });
148
+ });
149
+ Chip.displayName = "TeachInUI.Chip";
150
+
151
+ // src/ui/feedback/spinner/spinner.tsx
152
+ var import_react6 = __toESM(require("react"));
153
+ var import_spinner = require("@heroui/spinner");
154
+ var import_jsx_runtime6 = require("react/jsx-runtime");
155
+ var Spinner = import_react6.default.forwardRef(
156
+ ({ label = "\u0418\u0434\u0451\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430...", ...props }, ref) => {
157
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_spinner.Spinner, { ref, label, ...props });
158
+ }
159
+ );
160
+ Spinner.displayName = "TeachInUI.Spinner";
161
+
162
+ // src/ui/feedback/tooltip/tooltip.tsx
163
+ var import_react7 = __toESM(require("react"));
164
+ var import_tooltip = require("@heroui/tooltip");
165
+ var import_jsx_runtime7 = require("react/jsx-runtime");
166
+ var Tooltip = import_react7.default.forwardRef(
167
+ ({ placement = "bottom", ...props }, ref) => {
168
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_tooltip.Tooltip, { ref, palacement: placement, ...props });
169
+ }
170
+ );
171
+ Tooltip.displayName = "TeachInUI.Tooltip";
172
+
173
+ // src/ui/form/rhf/fields/input-field.tsx
174
+ var import_react_hook_form = require("react-hook-form");
175
+
176
+ // src/ui/inputs/autocomplete/autocomplete.tsx
177
+ var import_react8 = __toESM(require("react"));
178
+ var import_autocomplete = require("@heroui/autocomplete");
179
+ var import_jsx_runtime8 = require("react/jsx-runtime");
180
+ var Autocomplete = import_react8.default.forwardRef(
181
+ ({ items, ...props }, ref) => {
182
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_autocomplete.Autocomplete, { ref, items, ...props, children: (item) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_autocomplete.AutocompleteItem, { children: item.label }, item.key) });
183
+ }
184
+ );
185
+ Autocomplete.displayName = "TeachInUI.Autocomplete";
186
+
187
+ // src/ui/inputs/checkbox/checkbox.tsx
188
+ var import_checkbox = require("@heroui/checkbox");
189
+ var import_react9 = __toESM(require("react"));
190
+ var import_jsx_runtime9 = require("react/jsx-runtime");
191
+ var Checkbox = import_react9.default.forwardRef(
192
+ ({ label, ...props }, ref) => {
193
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_checkbox.Checkbox, { ref, label, ...props, children: label });
194
+ }
195
+ );
196
+ Checkbox.displayName = "TeachInUI.Checkbox";
197
+
198
+ // src/ui/inputs/date-picker/date-picker.tsx
199
+ var import_react10 = __toESM(require("react"));
200
+ var import_date_picker = require("@heroui/date-picker");
201
+ var import_i18n = require("@react-aria/i18n");
202
+ var import_jsx_runtime10 = require("react/jsx-runtime");
203
+ var DatePicker = import_react10.default.forwardRef(
204
+ ({ locale, ...props }, ref) => {
205
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_i18n.I18nProvider, { locale, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_date_picker.DatePicker, { ref, ...props }) });
206
+ }
207
+ );
208
+ DatePicker.displayName = "TeachInUI.DatePicker";
209
+
210
+ // src/ui/inputs/email/email.tsx
211
+ var import_react12 = __toESM(require("react"));
212
+
213
+ // src/ui/inputs/input/input.tsx
214
+ var import_react11 = __toESM(require("react"));
215
+ var import_input = require("@heroui/input");
216
+ var import_jsx_runtime11 = require("react/jsx-runtime");
217
+ var Input = import_react11.default.forwardRef(({ ...props }, ref) => {
218
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_input.Input, { ref, ...props });
219
+ });
220
+ Input.displayName = "TeachInUI.Input";
221
+
222
+ // src/ui/inputs/email/email.tsx
223
+ var import_jsx_runtime12 = require("react/jsx-runtime");
224
+ var Email = import_react12.default.forwardRef(({ ...props }, ref) => {
225
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Input, { ref, autoComplete: "email", type: "email", ...props });
226
+ });
227
+ Email.displayName = "TeachInUI.Email";
228
+
229
+ // src/ui/inputs/select/select.tsx
230
+ var import_react13 = __toESM(require("react"));
231
+ var import_select = require("@heroui/select");
232
+ var import_jsx_runtime13 = require("react/jsx-runtime");
233
+ var Select = import_react13.default.forwardRef(
234
+ ({ value, items, onChange, ...props }, ref) => {
235
+ const selectedKeys = value != null ? /* @__PURE__ */ new Set([value]) : void 0;
236
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
237
+ import_select.Select,
238
+ {
239
+ ref,
240
+ items,
241
+ placeholder: " ",
242
+ selectedKeys,
243
+ onSelectionChange: (keys) => {
244
+ const selected = Array.from(keys)[0];
245
+ if (typeof selected === "string") {
246
+ onChange == null ? void 0 : onChange(selected);
247
+ }
248
+ },
249
+ ...props,
250
+ children: (item) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_select.SelectItem, { children: item.label }, item.key)
251
+ }
252
+ );
253
+ }
254
+ );
255
+ Select.displayName = "TeachInUI.Select";
256
+
257
+ // src/ui/inputs/switch/switch.tsx
258
+ var import_react14 = __toESM(require("react"));
259
+ var import_switch = require("@heroui/switch");
260
+ var import_jsx_runtime14 = require("react/jsx-runtime");
261
+ var Switch = import_react14.default.forwardRef(({ ...props }, ref) => {
262
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_switch.Switch, { ref, ...props });
263
+ });
264
+ Switch.displayName = "TeachInUI.Switch";
265
+
266
+ // src/ui/inputs/text/text.tsx
267
+ var import_react15 = __toESM(require("react"));
268
+ var import_jsx_runtime15 = require("react/jsx-runtime");
269
+ var Text = import_react15.default.forwardRef(({ ...props }, ref) => {
270
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Input, { ref, type: "text", ...props });
271
+ });
272
+ Text.displayName = "TeachInUI.Text";
273
+
274
+ // src/ui/inputs/textarea/textarea.tsx
275
+ var import_input5 = require("@heroui/input");
276
+ var import_react16 = __toESM(require("react"));
277
+ var import_jsx_runtime16 = require("react/jsx-runtime");
278
+ var Textarea = import_react16.default.forwardRef(
279
+ ({ minRows = 4, ...props }, ref) => {
280
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_input5.Textarea, { ref, minRows, ...props });
281
+ }
282
+ );
283
+ Textarea.displayName = "TeachInUI.Textarea";
284
+
285
+ // src/ui/form/rhf/fields/input-field.tsx
286
+ var import_jsx_runtime17 = require("react/jsx-runtime");
287
+ function InputField({ name, ...props }) {
288
+ const { control } = (0, import_react_hook_form.useFormContext)();
289
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
290
+ import_react_hook_form.Controller,
291
+ {
292
+ control,
293
+ name,
294
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Input, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
295
+ }
296
+ );
297
+ }
298
+ InputField.displayName = "TeachInUI.InputField";
299
+
300
+ // src/ui/form/rhf/fields/text-field.tsx
301
+ var import_react_hook_form2 = require("react-hook-form");
302
+ var import_jsx_runtime18 = require("react/jsx-runtime");
303
+ function TextField({ name, ...props }) {
304
+ const { control } = (0, import_react_hook_form2.useFormContext)();
305
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
306
+ import_react_hook_form2.Controller,
307
+ {
308
+ control,
309
+ name,
310
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
311
+ }
312
+ );
313
+ }
314
+ TextField.displayName = "TeachInUI.TextField";
315
+
316
+ // src/ui/form/rhf/fields/email-field.tsx
317
+ var import_react_hook_form3 = require("react-hook-form");
318
+ var import_jsx_runtime19 = require("react/jsx-runtime");
319
+ function EmailField({ name, ...props }) {
320
+ const { control } = (0, import_react_hook_form3.useFormContext)();
321
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
322
+ import_react_hook_form3.Controller,
323
+ {
324
+ control,
325
+ name,
326
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Email, { ...props, ...field, ref, errorMessage: error == null ? void 0 : error.message, isInvalid: !!error })
327
+ }
328
+ );
329
+ }
330
+ EmailField.displayName = "TeachInUI.EmailField";
331
+
332
+ // src/ui/form/rhf/fields/textarea-field.tsx
333
+ var import_react_hook_form4 = require("react-hook-form");
334
+ var import_jsx_runtime20 = require("react/jsx-runtime");
335
+ function TextareaField({ name, ...props }) {
336
+ const { control } = (0, import_react_hook_form4.useFormContext)();
337
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
338
+ import_react_hook_form4.Controller,
339
+ {
340
+ control,
341
+ name,
342
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
343
+ Textarea,
344
+ {
345
+ ...props,
346
+ ...field,
347
+ ref,
348
+ errorMessage: error == null ? void 0 : error.message,
349
+ isInvalid: !!error
350
+ }
351
+ )
352
+ }
353
+ );
354
+ }
355
+ TextareaField.displayName = "TeachInUI.TextareaField";
356
+
357
+ // src/ui/form/rhf/fields/select-field.tsx
358
+ var import_react_hook_form5 = require("react-hook-form");
359
+ var import_jsx_runtime21 = require("react/jsx-runtime");
360
+ function SelectField({ name, ...props }) {
361
+ const { control } = (0, import_react_hook_form5.useFormContext)();
362
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
363
+ import_react_hook_form5.Controller,
364
+ {
365
+ control,
366
+ name,
367
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
368
+ Select,
369
+ {
370
+ value: field.value,
371
+ onChange: (value) => field.onChange(value),
372
+ ...props,
373
+ errorMessage: error == null ? void 0 : error.message,
374
+ isInvalid: !!error
375
+ }
376
+ )
377
+ }
378
+ );
379
+ }
380
+ SelectField.displayName = "TeachInUI.SelectField";
381
+
382
+ // src/ui/form/rhf/fields/autocomplete-field.tsx
383
+ var import_react_hook_form6 = require("react-hook-form");
384
+ var import_jsx_runtime22 = require("react/jsx-runtime");
385
+ function AutocompleteField({ name, ...props }) {
386
+ const { control } = (0, import_react_hook_form6.useFormContext)();
387
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
388
+ import_react_hook_form6.Controller,
389
+ {
390
+ control,
391
+ name,
392
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
393
+ Autocomplete,
394
+ {
395
+ ...props,
396
+ errorMessage: error == null ? void 0 : error.message,
397
+ isInvalid: !!error,
398
+ selectedKey: field.value,
399
+ onSelectionChange: field.onChange
400
+ }
401
+ )
402
+ }
403
+ );
404
+ }
405
+ AutocompleteField.displayName = "TeachInUI.AutocompleteField";
406
+
407
+ // src/ui/form/rhf/fields/date-picker-field.tsx
408
+ var import_react_hook_form7 = require("react-hook-form");
409
+ var import_jsx_runtime23 = require("react/jsx-runtime");
410
+ function DatePickerField({ name, ...props }) {
411
+ const { control } = (0, import_react_hook_form7.useFormContext)();
412
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
413
+ import_react_hook_form7.Controller,
414
+ {
415
+ control,
416
+ name,
417
+ render: ({ field: { ref, ...field }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
418
+ DatePicker,
419
+ {
420
+ ...props,
421
+ ...field,
422
+ ref,
423
+ errorMessage: error == null ? void 0 : error.message,
424
+ isInvalid: !!error
425
+ }
426
+ )
427
+ }
428
+ );
429
+ }
430
+ DatePickerField.displayName = "TeachInUI.DatePickerField";
431
+
432
+ // src/ui/form/rhf/fields/checkbox-field.tsx
433
+ var import_react_hook_form8 = require("react-hook-form");
434
+ var import_jsx_runtime24 = require("react/jsx-runtime");
435
+ function CheckboxField({ name, ...props }) {
436
+ const { control } = (0, import_react_hook_form8.useFormContext)();
437
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
438
+ import_react_hook_form8.Controller,
439
+ {
440
+ control,
441
+ name,
442
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { children: [
443
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Checkbox, { ...props, isSelected: field.value, onValueChange: field.onChange }),
444
+ error && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-tiny text-danger", children: error.message })
445
+ ] })
446
+ }
447
+ );
448
+ }
449
+ CheckboxField.displayName = "TeachInUI.CheckboxField";
450
+
451
+ // src/ui/form/rhf/fields/switch-field.tsx
452
+ var import_react_hook_form9 = require("react-hook-form");
453
+ var import_jsx_runtime25 = require("react/jsx-runtime");
454
+ function SwitchField({ name, ...props }) {
455
+ const { control } = (0, import_react_hook_form9.useFormContext)();
456
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
457
+ import_react_hook_form9.Controller,
458
+ {
459
+ control,
460
+ name,
461
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { children: [
462
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Switch, { ...props, isSelected: field.value, onValueChange: field.onChange }),
463
+ error && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "text-tiny text-danger", children: error.message })
464
+ ] })
465
+ }
466
+ );
467
+ }
468
+ SwitchField.displayName = "TeachInUI.SwitchField";
469
+
470
+ // src/ui/form/form.tsx
471
+ var import_form = require("@heroui/form");
472
+ var import_react17 = __toESM(require("react"));
473
+ var import_jsx_runtime26 = require("react/jsx-runtime");
474
+ var Form = import_react17.default.forwardRef(({ ...props }, ref) => {
475
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_form.Form, { ref, ...props });
476
+ });
477
+ Form.displayName = "TeachInUI.Form";
478
+
479
+ // src/ui/format/datetime.tsx
480
+ var import_jsx_runtime27 = require("react/jsx-runtime");
481
+ var defaultFormat = {
482
+ day: "2-digit",
483
+ month: "2-digit",
484
+ year: "numeric",
485
+ hour: "2-digit",
486
+ minute: "2-digit"
487
+ };
488
+ function Datetime({
489
+ value,
490
+ format = defaultFormat,
491
+ locale = "ru-RU",
492
+ fallback = "\u2014"
493
+ }) {
494
+ const formatter = new Intl.DateTimeFormat(locale, format);
495
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children: fallback });
496
+ const date = value instanceof Date ? value : new Date(value);
497
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children: fallback });
498
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children: formatter.format(date) });
499
+ }
500
+ Datetime.displayName = "TeachInUI.FormatDatetime";
501
+
502
+ // src/ui/format/date.tsx
503
+ var import_jsx_runtime28 = require("react/jsx-runtime");
504
+ var defaultFormat2 = {
505
+ day: "2-digit",
506
+ month: "2-digit",
507
+ year: "numeric"
508
+ };
509
+ function DateFormat({
510
+ value,
511
+ format = defaultFormat2,
512
+ locale = "ru-RU",
513
+ fallback = "\u2014"
514
+ }) {
515
+ const formatter = new Intl.DateTimeFormat(locale, format);
516
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jsx_runtime28.Fragment, { children: fallback });
517
+ const date = value instanceof Date ? value : new Date(value);
518
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jsx_runtime28.Fragment, { children: fallback });
519
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jsx_runtime28.Fragment, { children: formatter.format(date) });
520
+ }
521
+ DateFormat.displayName = "TeachInUI.FormatDate";
522
+
523
+ // src/ui/format/time.tsx
524
+ var import_jsx_runtime29 = require("react/jsx-runtime");
525
+ var defaultFormat3 = {
526
+ hour: "2-digit",
527
+ minute: "2-digit"
528
+ };
529
+ function Time({
530
+ value,
531
+ format = defaultFormat3,
532
+ locale = "ru-RU",
533
+ fallback = "\u2014"
534
+ }) {
535
+ const formatter = new Intl.DateTimeFormat(locale, format);
536
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children: fallback });
537
+ const date = value instanceof Date ? value : new Date(value);
538
+ if (isNaN(date.getTime())) return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children: fallback });
539
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children: formatter.format(date) });
540
+ }
541
+ Time.displayName = "TeachInUI.FormatTime";
542
+
543
+ // src/ui/format/currency.tsx
544
+ var import_jsx_runtime30 = require("react/jsx-runtime");
545
+ function Currency({
546
+ amount,
547
+ currency = "RUB",
548
+ locale = "ru-RU",
549
+ decimals
550
+ }) {
551
+ const formatter = new Intl.NumberFormat(locale, {
552
+ style: "currency",
553
+ currency,
554
+ ...decimals !== void 0 && {
555
+ minimumFractionDigits: decimals,
556
+ maximumFractionDigits: decimals
557
+ }
558
+ });
559
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, { children: formatter.format(amount) });
560
+ }
561
+ Currency.displayName = "TeachInUI.FormatCurrency";
562
+
563
+ // src/ui/format/number.tsx
564
+ var import_jsx_runtime31 = require("react/jsx-runtime");
565
+ function Number({ value, decimals, locale = "ru-RU" }) {
566
+ const formatter = new Intl.NumberFormat(locale, {
567
+ minimumFractionDigits: decimals != null ? decimals : 0,
568
+ maximumFractionDigits: decimals != null ? decimals : 2
569
+ });
570
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, { children: formatter.format(value) });
571
+ }
572
+ Number.displayName = "TeachInUI.FormatNumber";
573
+
574
+ // src/ui/format/percent.tsx
575
+ var import_jsx_runtime32 = require("react/jsx-runtime");
576
+ function Percent({
577
+ value,
578
+ decimals = 1,
579
+ locale = "ru-RU",
580
+ unit = "percent"
581
+ }) {
582
+ const formatter = new Intl.NumberFormat(locale, {
583
+ style: "percent",
584
+ minimumFractionDigits: decimals,
585
+ maximumFractionDigits: decimals
586
+ });
587
+ const normalizedValue = unit === "percent" ? value / 100 : value;
588
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_jsx_runtime32.Fragment, { children: formatter.format(normalizedValue) });
589
+ }
590
+ Percent.displayName = "TeachInUI.FormatPercent";
591
+
592
+ // src/ui/format/plural.tsx
593
+ var import_jsx_runtime33 = require("react/jsx-runtime");
594
+ function Plural({
595
+ count,
596
+ one,
597
+ few,
598
+ many,
599
+ locale = "ru-RU",
600
+ showCount = true
601
+ }) {
602
+ const pluralRules = new Intl.PluralRules(locale);
603
+ const rule = pluralRules.select(count);
604
+ const forms = {
605
+ zero: many,
606
+ one,
607
+ two: few,
608
+ few,
609
+ many,
610
+ other: many
611
+ };
612
+ const selectedForm = forms[rule];
613
+ const result = showCount ? `${count} ${selectedForm}` : selectedForm;
614
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children: result });
615
+ }
616
+ Plural.displayName = "TeachInUI.FormatPlural";
617
+
618
+ // src/ui/format/duration.tsx
619
+ var import_jsx_runtime34 = require("react/jsx-runtime");
620
+ function Duration({
621
+ minutes = 0,
622
+ hours = 0,
623
+ days = 0,
624
+ seconds = 0,
625
+ compact = false
626
+ }) {
627
+ const totalMinutes = days * 24 * 60 + hours * 60 + minutes + Math.floor(seconds / 60);
628
+ const totalDays = Math.floor(totalMinutes / (24 * 60));
629
+ const totalHours = Math.floor(totalMinutes % (24 * 60) / 60);
630
+ const remainingMinutes = totalMinutes % 60;
631
+ const parts = [];
632
+ if (totalDays > 0) {
633
+ parts.push(compact ? `${totalDays}\u0434` : `${totalDays} \u0434`);
634
+ }
635
+ if (totalHours > 0) {
636
+ parts.push(compact ? `${totalHours}\u0447` : `${totalHours} \u0447`);
637
+ }
638
+ if (remainingMinutes > 0 || totalDays === 0 && totalHours === 0) {
639
+ parts.push(compact ? `${remainingMinutes}\u043C` : `${remainingMinutes} \u043C\u0438\u043D`);
640
+ }
641
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: parts.join(" ") });
642
+ }
643
+ Duration.displayName = "TeachInUI.FormatDuration";
644
+
645
+ // src/ui/format/boolean.tsx
646
+ var import_jsx_runtime35 = require("react/jsx-runtime");
647
+ function Boolean({
648
+ value,
649
+ trueLabel = "\u0414\u0430",
650
+ falseLabel = "\u041D\u0435\u0442",
651
+ nullLabel = "\u2014"
652
+ }) {
653
+ if (value === null || value === void 0) return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: nullLabel });
654
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: value ? trueLabel : falseLabel });
655
+ }
656
+ Boolean.displayName = "TeachInUI.FormatBoolean";
657
+
658
+ // src/ui/layout/container.tsx
659
+ var import_react_slot = require("@radix-ui/react-slot");
660
+ var import_tailwind_variants = require("tailwind-variants");
661
+ var import_jsx_runtime36 = require("react/jsx-runtime");
662
+ var variants = (0, import_tailwind_variants.tv)({
663
+ base: "w-full mx-auto px-6",
664
+ variants: {
665
+ size: {
666
+ xs: "max-w-screen-xs",
667
+ sm: "max-w-screen-sm",
668
+ md: "max-w-screen-md",
669
+ lg: "max-w-screen-lg",
670
+ xl: "max-w-screen-xl",
671
+ "2xl": "max-w-screen-2xl",
672
+ full: "max-w-full"
673
+ }
674
+ },
675
+ defaultVariants: {
676
+ size: "2xl"
677
+ }
678
+ });
679
+ var Container = ({ children, asChild = false, className, size, ...props }) => {
680
+ const Comp = asChild ? import_react_slot.Slot : "div";
681
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Comp, { className: cn(variants({ size }), className), ...props, children });
682
+ };
683
+ Container.displayName = "TeachInUI.Container";
684
+
685
+ // src/ui/layout/page/breadcrumbs.tsx
686
+ var import_breadcrumbs = require("@heroui/breadcrumbs");
687
+ var import_jsx_runtime37 = require("react/jsx-runtime");
688
+ var Breadcrumbs = ({ items }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_breadcrumbs.Breadcrumbs, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_breadcrumbs.BreadcrumbItem, { href: item.href, isDisabled: item.href === void 0, children: item.label }, item.label)) });
689
+
690
+ // src/ui/layout/page/page-content.tsx
691
+ var import_jsx_runtime38 = require("react/jsx-runtime");
692
+ var Root = ({
693
+ children,
694
+ breadcrumbs = []
695
+ }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex flex-col gap-6", children: [
696
+ breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Breadcrumbs, { items: breadcrumbs }),
697
+ children
698
+ ] });
699
+ Root.displayName = "TeachInUI.PageContent.Root";
700
+ var Header = ({ children, ...others }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("header", { className: "flex items-center justify-between gap-4", role: "banner", ...others, children });
701
+ Header.displayName = "TeachInUI.PageContent.Header";
702
+ var Title = ({
703
+ children,
704
+ ...others
705
+ }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("h1", { className: "text-4xl leading-10 font-bold", ...others, children });
706
+ Title.displayName = "TeachInUI.PageContent.Title";
707
+ var Actions = ({
708
+ children,
709
+ ...others
710
+ }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
711
+ Actions.displayName = "TeachInUI.PageContent.Actions";
712
+ var Body = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex flex-col gap-6", children });
713
+ Body.displayName = "TeachInUI.PageContent.Body";
714
+ var Section = ({
715
+ children,
716
+ ...others
717
+ }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("section", { className: "flex flex-col gap-4", ...others, children });
718
+ Section.displayName = "TeachInUI.PageContent.Section";
719
+ var SectionHeader = ({
720
+ children,
721
+ ...others
722
+ }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex items-center justify-between", ...others, children });
723
+ SectionHeader.displayName = "TeachInUI.PageContent.SectionHeader";
724
+ var SectionTitle = ({
725
+ children,
726
+ ...others
727
+ }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("h2", { className: "text-3xl leading-9 font-bold", ...others, children });
728
+ SectionTitle.displayName = "TeachInUI.PageContent.SectionTitle";
729
+ var SectionActions = ({
730
+ children,
731
+ ...others
732
+ }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex gap-2", role: "group", ...others, children });
733
+ SectionActions.displayName = "TeachInUI.PageContent.SectionActions";
734
+ var PageContent = {
735
+ Root,
736
+ Header,
737
+ Title,
738
+ Actions,
739
+ Body,
740
+ Section,
741
+ SectionHeader,
742
+ SectionTitle,
743
+ SectionActions
744
+ };
745
+
746
+ // src/ui/layout/page/page-loading.tsx
747
+ var import_jsx_runtime39 = require("react/jsx-runtime");
748
+ var PageLoading = () => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex h-screen items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Spinner, {}) });
749
+ PageLoading.displayName = "TeachInUI.PageLoading";
750
+
751
+ // src/ui/layout/page/section-loading.tsx
752
+ var import_jsx_runtime40 = require("react/jsx-runtime");
753
+ var SectionLoading = () => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex min-h-[400px] items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Spinner, {}) });
754
+ SectionLoading.displayName = "TeachInUI.SectionLoading";
755
+
756
+ // src/ui/layout/flex.tsx
757
+ var import_tailwind_variants2 = require("tailwind-variants");
758
+ var import_jsx_runtime41 = require("react/jsx-runtime");
759
+ var variants2 = (0, import_tailwind_variants2.tv)({
760
+ base: "flex",
761
+ variants: {
762
+ direction: {
763
+ row: "flex-row",
764
+ column: "flex-col",
765
+ "row-reverse": "flex-row-reverse",
766
+ "column-reverse": "flex-col-reverse"
767
+ },
768
+ align: {
769
+ start: "items-start",
770
+ center: "items-center",
771
+ end: "items-end",
772
+ stretch: "items-stretch",
773
+ baseline: "items-baseline"
774
+ },
775
+ justify: {
776
+ start: "justify-start",
777
+ center: "justify-center",
778
+ end: "justify-end",
779
+ between: "justify-between",
780
+ around: "justify-around",
781
+ evenly: "justify-evenly"
782
+ },
783
+ wrap: {
784
+ nowrap: "flex-nowrap",
785
+ wrap: "flex-wrap",
786
+ "wrap-reverse": "flex-wrap-reverse"
787
+ },
788
+ gap: {
789
+ 0: "gap-0",
790
+ 1: "gap-1",
791
+ 2: "gap-2",
792
+ 4: "gap-4",
793
+ 6: "gap-6",
794
+ 8: "gap-8"
795
+ }
796
+ },
797
+ defaultVariants: {
798
+ direction: "row",
799
+ align: "stretch",
800
+ justify: "start",
801
+ wrap: "nowrap",
802
+ gap: 0
803
+ }
804
+ });
805
+ var Flex = ({ className, ...props }) => {
806
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: variants2({ ...props, className }), ...props });
807
+ };
808
+ Flex.displayName = "TeachInUI.Flex";
809
+
810
+ // src/ui/navigation/link/link.tsx
811
+ var import_link = require("@heroui/link");
812
+ var import_jsx_runtime42 = require("react/jsx-runtime");
813
+ function Link({ children, ...props }) {
814
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_link.Link, { ...props, children });
815
+ }
816
+ Link.displayName = "TeachInUI.Link";
817
+
818
+ // src/ui/overlays/modal/modal.tsx
819
+ var import_modal = require("@heroui/modal");
820
+ var import_jsx_runtime43 = require("react/jsx-runtime");
821
+ function Root2({
822
+ size = "md",
823
+ placement = "center",
824
+ children,
825
+ ...props
826
+ }) {
827
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_modal.Modal, { placement, size, ...props, children });
828
+ }
829
+ Root2.displayName = "TeachInUI.Modal.Root";
830
+ function Content({ children, ...props }) {
831
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_modal.ModalContent, { ...props, children: (onClose) => typeof children === "function" ? children(onClose) : children });
832
+ }
833
+ Content.displayName = "TeachInUI.Modal.Content";
834
+ function Header2({ children, ...props }) {
835
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_modal.ModalHeader, { ...props, children });
836
+ }
837
+ Header2.displayName = "TeachInUI.Modal.Header";
838
+ function Body2({ children, ...props }) {
839
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_modal.ModalBody, { ...props, children });
840
+ }
841
+ Body2.displayName = "TeachInUI.Modal.Body";
842
+ function Footer({ children, ...props }) {
843
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_modal.ModalFooter, { ...props, children });
844
+ }
845
+ Footer.displayName = "TeachInUI.Modal.Footer";
846
+ var Modal = {
847
+ Root: Root2,
848
+ Content,
849
+ Header: Header2,
850
+ Body: Body2,
851
+ Footer
852
+ };
853
+
854
+ // src/ui/provider/ui-provider.tsx
855
+ var import_system2 = require("@heroui/system");
856
+ var import_jsx_runtime44 = require("react/jsx-runtime");
857
+ function UIProvider({
858
+ children,
859
+ locale = "ru-RU",
860
+ labelPlacement = "outside",
861
+ navigate
862
+ }) {
863
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_system2.HeroUIProvider, { labelPlacement, locale, navigate, children });
864
+ }
865
+
866
+ // src/ui/style/css.ts
867
+ var import_clsx = require("clsx");
868
+ var import_tailwind_merge = require("tailwind-merge");
869
+ function cn(...inputs) {
870
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
871
+ }
872
+
873
+ // src/ui/theme/tokens/breakpoints.ts
874
+ var breakpoints = {
875
+ xs: 480,
876
+ sm: 640,
877
+ md: 768,
878
+ lg: 1024,
879
+ xl: 1280,
880
+ "2xl": 1536
881
+ };
882
+ // Annotate the CommonJS export names for ESM import in node:
883
+ 0 && (module.exports = {
884
+ Actions,
885
+ Alert,
886
+ Autocomplete,
887
+ AutocompleteField,
888
+ Avatar,
889
+ Body,
890
+ Button,
891
+ Checkbox,
892
+ CheckboxField,
893
+ Chip,
894
+ Container,
895
+ DatePicker,
896
+ DatePickerField,
897
+ Email,
898
+ EmailField,
899
+ Flex,
900
+ Form,
901
+ FormatBoolean,
902
+ FormatCurrency,
903
+ FormatDate,
904
+ FormatDatetime,
905
+ FormatDuration,
906
+ FormatNumber,
907
+ FormatPercent,
908
+ FormatPlural,
909
+ FormatTime,
910
+ Header,
911
+ Input,
912
+ InputField,
913
+ Link,
914
+ Modal,
915
+ PageContent,
916
+ PageLoading,
917
+ Pagination,
918
+ Root,
919
+ Section,
920
+ SectionActions,
921
+ SectionHeader,
922
+ SectionLoading,
923
+ SectionTitle,
924
+ Select,
925
+ SelectField,
926
+ Spinner,
927
+ Switch,
928
+ SwitchField,
929
+ TeachInUIProvider,
930
+ Text,
931
+ TextField,
932
+ Textarea,
933
+ TextareaField,
934
+ Title,
935
+ Tooltip,
936
+ UIProvider,
937
+ breakpoints,
938
+ cn
939
+ });