@choice-ui/react 1.3.10

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 (2422) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +80 -0
  3. package/dist/cjs/_headers +21 -0
  4. package/dist/cjs/_redirects +9 -0
  5. package/dist/cjs/_vendor/@ungap/structured-clone/esm-deserialize.cjs +68 -0
  6. package/dist/cjs/_vendor/@ungap/structured-clone/esm-index.cjs +11 -0
  7. package/dist/cjs/_vendor/@ungap/structured-clone/esm-serialize.cjs +135 -0
  8. package/dist/cjs/_vendor/@ungap/structured-clone/esm-types.cjs +22 -0
  9. package/dist/cjs/_vendor/bail/index.cjs +8 -0
  10. package/dist/cjs/_vendor/ccount/index.cjs +16 -0
  11. package/dist/cjs/_vendor/classnames/index.cjs +63 -0
  12. package/dist/cjs/_vendor/comma-separated-tokens/index.cjs +10 -0
  13. package/dist/cjs/_vendor/decode-named-character-reference/index.dom.cjs +17 -0
  14. package/dist/cjs/_vendor/devlop/lib-default.cjs +8 -0
  15. package/dist/cjs/_vendor/escape-string-regexp/index.cjs +9 -0
  16. package/dist/cjs/_vendor/estree-util-is-identifier-name/lib-index.cjs +11 -0
  17. package/dist/cjs/_vendor/extend/index.cjs +89 -0
  18. package/dist/cjs/_vendor/harden-react-markdown/dist-index.cjs +85 -0
  19. package/dist/cjs/_vendor/hast-util-to-jsx-runtime/lib-index.cjs +390 -0
  20. package/dist/cjs/_vendor/hast-util-whitespace/lib-index.cjs +10 -0
  21. package/dist/cjs/_vendor/html-url-attributes/lib-index.cjs +26 -0
  22. package/dist/cjs/_vendor/inline-style-parser/cjs-index.cjs +135 -0
  23. package/dist/cjs/_vendor/is-plain-obj/index.cjs +10 -0
  24. package/dist/cjs/_vendor/longest-streak/index.cjs +25 -0
  25. package/dist/cjs/_vendor/markdown-table/index.cjs +142 -0
  26. package/dist/cjs/_vendor/marked/lib-marked.esm.cjs +2156 -0
  27. package/dist/cjs/_vendor/mdast-util-find-and-replace/lib-index.cjs +109 -0
  28. package/dist/cjs/_vendor/mdast-util-from-markdown/lib-index.cjs +719 -0
  29. package/dist/cjs/_vendor/mdast-util-gfm/lib-index.cjs +29 -0
  30. package/dist/cjs/_vendor/mdast-util-gfm-autolink-literal/lib-index.cjs +156 -0
  31. package/dist/cjs/_vendor/mdast-util-gfm-footnote/lib-index.cjs +117 -0
  32. package/dist/cjs/_vendor/mdast-util-gfm-strikethrough/lib-index.cjs +54 -0
  33. package/dist/cjs/_vendor/mdast-util-gfm-table/lib-index.cjs +157 -0
  34. package/dist/cjs/_vendor/mdast-util-gfm-task-list-item/lib-index.cjs +77 -0
  35. package/dist/cjs/_vendor/mdast-util-math/lib-index.cjs +183 -0
  36. package/dist/cjs/_vendor/mdast-util-newline-to-break/lib-index.cjs +10 -0
  37. package/dist/cjs/_vendor/mdast-util-phrasing/lib-index.cjs +30 -0
  38. package/dist/cjs/_vendor/mdast-util-to-hast/lib-footer.cjs +115 -0
  39. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-blockquote.cjs +13 -0
  40. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-break.cjs +8 -0
  41. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-code.cjs +25 -0
  42. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-delete.cjs +13 -0
  43. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-emphasis.cjs +13 -0
  44. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-footnote-reference.cjs +41 -0
  45. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-heading.cjs +13 -0
  46. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-html.cjs +11 -0
  47. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-image-reference.cjs +19 -0
  48. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-image.cjs +16 -0
  49. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-index.cjs +59 -0
  50. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-inline-code.cjs +15 -0
  51. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-link-reference.cjs +24 -0
  52. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-link.cjs +18 -0
  53. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-list-item.cjs +64 -0
  54. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-list.cjs +26 -0
  55. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-paragraph.cjs +13 -0
  56. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-root.cjs +8 -0
  57. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-strong.cjs +13 -0
  58. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-table-cell.cjs +14 -0
  59. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-table-row.cjs +35 -0
  60. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-table.cjs +39 -0
  61. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-text.cjs +9 -0
  62. package/dist/cjs/_vendor/mdast-util-to-hast/lib-handlers-thematic-break.cjs +13 -0
  63. package/dist/cjs/_vendor/mdast-util-to-hast/lib-index.cjs +15 -0
  64. package/dist/cjs/_vendor/mdast-util-to-hast/lib-revert.cjs +29 -0
  65. package/dist/cjs/_vendor/mdast-util-to-hast/lib-state.cjs +148 -0
  66. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-blockquote.cjs +18 -0
  67. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-break.cjs +13 -0
  68. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-code.cjs +56 -0
  69. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-definition.cjs +58 -0
  70. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-emphasis.cjs +44 -0
  71. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-heading.cjs +45 -0
  72. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-html.cjs +10 -0
  73. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-image-reference.cjs +40 -0
  74. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-image.cjs +59 -0
  75. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-index.cjs +44 -0
  76. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-inline-code.cjs +32 -0
  77. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-link-reference.cjs +40 -0
  78. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-link.cjs +83 -0
  79. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-list-item.cjs +32 -0
  80. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-list.cjs +45 -0
  81. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-paragraph.cjs +11 -0
  82. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-root.cjs +11 -0
  83. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-strong.cjs +44 -0
  84. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-text.cjs +6 -0
  85. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-handle-thematic-break.cjs +9 -0
  86. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-check-bullet-ordered.cjs +12 -0
  87. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-check-bullet-other.cjs +22 -0
  88. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-check-bullet.cjs +12 -0
  89. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-check-emphasis.cjs +12 -0
  90. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-check-fence.cjs +12 -0
  91. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-check-list-item-indent.cjs +12 -0
  92. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-check-quote.cjs +12 -0
  93. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-check-rule-repetition.cjs +12 -0
  94. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-check-rule.cjs +12 -0
  95. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-check-strong.cjs +12 -0
  96. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-encode-character-reference.cjs +6 -0
  97. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-encode-info.cjs +44 -0
  98. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-format-code-as-indented.cjs +11 -0
  99. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-format-heading-as-setext.cjs +18 -0
  100. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-format-link-as-autolink.cjs +17 -0
  101. package/dist/cjs/_vendor/mdast-util-to-markdown/lib-util-pattern-in-scope.cjs +21 -0
  102. package/dist/cjs/_vendor/mdast-util-to-string/lib-index.cjs +38 -0
  103. package/dist/cjs/_vendor/micromark/lib-constructs.cjs +93 -0
  104. package/dist/cjs/_vendor/micromark/lib-create-tokenizer.cjs +320 -0
  105. package/dist/cjs/_vendor/micromark/lib-initialize-content.cjs +53 -0
  106. package/dist/cjs/_vendor/micromark/lib-initialize-document.cjs +186 -0
  107. package/dist/cjs/_vendor/micromark/lib-initialize-flow.cjs +42 -0
  108. package/dist/cjs/_vendor/micromark/lib-initialize-text.cjs +142 -0
  109. package/dist/cjs/_vendor/micromark/lib-parse.cjs +34 -0
  110. package/dist/cjs/_vendor/micromark/lib-postprocess.cjs +9 -0
  111. package/dist/cjs/_vendor/micromark/lib-preprocess.cjs +80 -0
  112. package/dist/cjs/_vendor/micromark-core-commonmark/lib-attention.cjs +135 -0
  113. package/dist/cjs/_vendor/micromark-core-commonmark/lib-autolink.cjs +103 -0
  114. package/dist/cjs/_vendor/micromark-core-commonmark/lib-blank-line.cjs +18 -0
  115. package/dist/cjs/_vendor/micromark-core-commonmark/lib-block-quote.cjs +61 -0
  116. package/dist/cjs/_vendor/micromark-core-commonmark/lib-character-escape.cjs +28 -0
  117. package/dist/cjs/_vendor/micromark-core-commonmark/lib-character-reference.cjs +68 -0
  118. package/dist/cjs/_vendor/micromark-core-commonmark/lib-code-fenced.cjs +186 -0
  119. package/dist/cjs/_vendor/micromark-core-commonmark/lib-code-indented.cjs +67 -0
  120. package/dist/cjs/_vendor/micromark-core-commonmark/lib-code-text.cjs +116 -0
  121. package/dist/cjs/_vendor/micromark-core-commonmark/lib-content.cjs +75 -0
  122. package/dist/cjs/_vendor/micromark-core-commonmark/lib-definition.cjs +94 -0
  123. package/dist/cjs/_vendor/micromark-core-commonmark/lib-hard-break-escape.cjs +23 -0
  124. package/dist/cjs/_vendor/micromark-core-commonmark/lib-heading-atx.cjs +95 -0
  125. package/dist/cjs/_vendor/micromark-core-commonmark/lib-html-flow.cjs +383 -0
  126. package/dist/cjs/_vendor/micromark-core-commonmark/lib-html-text.cjs +309 -0
  127. package/dist/cjs/_vendor/micromark-core-commonmark/lib-label-end.cjs +235 -0
  128. package/dist/cjs/_vendor/micromark-core-commonmark/lib-label-start-image.cjs +33 -0
  129. package/dist/cjs/_vendor/micromark-core-commonmark/lib-label-start-link.cjs +24 -0
  130. package/dist/cjs/_vendor/micromark-core-commonmark/lib-line-ending.cjs +17 -0
  131. package/dist/cjs/_vendor/micromark-core-commonmark/lib-list.cjs +135 -0
  132. package/dist/cjs/_vendor/micromark-core-commonmark/lib-setext-underline.cjs +95 -0
  133. package/dist/cjs/_vendor/micromark-core-commonmark/lib-thematic-break.cjs +42 -0
  134. package/dist/cjs/_vendor/micromark-extension-gfm/index.cjs +18 -0
  135. package/dist/cjs/_vendor/micromark-extension-gfm-autolink-literal/lib-syntax.cjs +344 -0
  136. package/dist/cjs/_vendor/micromark-extension-gfm-footnote/lib-syntax.cjs +279 -0
  137. package/dist/cjs/_vendor/micromark-extension-gfm-strikethrough/lib-syntax.cjs +98 -0
  138. package/dist/cjs/_vendor/micromark-extension-gfm-table/lib-edit-map.cjs +80 -0
  139. package/dist/cjs/_vendor/micromark-extension-gfm-table/lib-infer.cjs +28 -0
  140. package/dist/cjs/_vendor/micromark-extension-gfm-table/lib-syntax.cjs +391 -0
  141. package/dist/cjs/_vendor/micromark-extension-gfm-task-list-item/lib-syntax.cjs +77 -0
  142. package/dist/cjs/_vendor/micromark-extension-math/lib-math-flow.cjs +143 -0
  143. package/dist/cjs/_vendor/micromark-extension-math/lib-math-text.cjs +126 -0
  144. package/dist/cjs/_vendor/micromark-extension-math/lib-syntax.cjs +15 -0
  145. package/dist/cjs/_vendor/micromark-factory-destination/index.cjs +94 -0
  146. package/dist/cjs/_vendor/micromark-factory-label/index.cjs +63 -0
  147. package/dist/cjs/_vendor/micromark-factory-space/index.cjs +24 -0
  148. package/dist/cjs/_vendor/micromark-factory-title/index.cjs +65 -0
  149. package/dist/cjs/_vendor/micromark-factory-whitespace/index.cjs +22 -0
  150. package/dist/cjs/_vendor/micromark-util-character/index.cjs +44 -0
  151. package/dist/cjs/_vendor/micromark-util-chunked/index.cjs +36 -0
  152. package/dist/cjs/_vendor/micromark-util-classify-character/index.cjs +12 -0
  153. package/dist/cjs/_vendor/micromark-util-combine-extensions/index.cjs +41 -0
  154. package/dist/cjs/_vendor/micromark-util-decode-numeric-character-reference/index.cjs +19 -0
  155. package/dist/cjs/_vendor/micromark-util-decode-string/index.cjs +21 -0
  156. package/dist/cjs/_vendor/micromark-util-html-tag-name/index.cjs +69 -0
  157. package/dist/cjs/_vendor/micromark-util-normalize-identifier/index.cjs +6 -0
  158. package/dist/cjs/_vendor/micromark-util-resolve-all/index.cjs +15 -0
  159. package/dist/cjs/_vendor/micromark-util-sanitize-uri/index.cjs +41 -0
  160. package/dist/cjs/_vendor/micromark-util-subtokenize/index.cjs +157 -0
  161. package/dist/cjs/_vendor/micromark-util-subtokenize/lib-splice-buffer.cjs +194 -0
  162. package/dist/cjs/_vendor/property-information/index.cjs +13 -0
  163. package/dist/cjs/_vendor/property-information/lib-aria.cjs +61 -0
  164. package/dist/cjs/_vendor/property-information/lib-find.cjs +40 -0
  165. package/dist/cjs/_vendor/property-information/lib-hast-to-react.cjs +22 -0
  166. package/dist/cjs/_vendor/property-information/lib-html.cjs +368 -0
  167. package/dist/cjs/_vendor/property-information/lib-normalize.cjs +6 -0
  168. package/dist/cjs/_vendor/property-information/lib-svg.cjs +566 -0
  169. package/dist/cjs/_vendor/property-information/lib-util-case-insensitive-transform.cjs +7 -0
  170. package/dist/cjs/_vendor/property-information/lib-util-case-sensitive-transform.cjs +6 -0
  171. package/dist/cjs/_vendor/property-information/lib-util-create.cjs +25 -0
  172. package/dist/cjs/_vendor/property-information/lib-util-defined-info.cjs +41 -0
  173. package/dist/cjs/_vendor/property-information/lib-util-info.cjs +29 -0
  174. package/dist/cjs/_vendor/property-information/lib-util-merge.cjs +13 -0
  175. package/dist/cjs/_vendor/property-information/lib-util-schema.cjs +25 -0
  176. package/dist/cjs/_vendor/property-information/lib-util-types.cjs +20 -0
  177. package/dist/cjs/_vendor/property-information/lib-xlink.cjs +19 -0
  178. package/dist/cjs/_vendor/property-information/lib-xml.cjs +11 -0
  179. package/dist/cjs/_vendor/property-information/lib-xmlns.cjs +11 -0
  180. package/dist/cjs/_vendor/react-markdown/index.cjs +7 -0
  181. package/dist/cjs/_vendor/react-markdown/lib-index.cjs +200 -0
  182. package/dist/cjs/_vendor/rehype-harden/dist-index.cjs +190 -0
  183. package/dist/cjs/_vendor/remark-breaks/lib-index.cjs +9 -0
  184. package/dist/cjs/_vendor/remark-gfm/lib-index.cjs +20 -0
  185. package/dist/cjs/_vendor/remark-math/lib-index.cjs +20 -0
  186. package/dist/cjs/_vendor/remark-parse/lib-index.cjs +19 -0
  187. package/dist/cjs/_vendor/remark-rehype/lib-index.cjs +21 -0
  188. package/dist/cjs/_vendor/space-separated-tokens/index.cjs +6 -0
  189. package/dist/cjs/_vendor/style-to-js/cjs-index.cjs +28 -0
  190. package/dist/cjs/_vendor/style-to-js/cjs-utilities.cjs +36 -0
  191. package/dist/cjs/_vendor/style-to-object/cjs-index.cjs +31 -0
  192. package/dist/cjs/_vendor/tailwind-merge/dist-bundle-mjs.cjs +3064 -0
  193. package/dist/cjs/_vendor/tailwind-variants/dist-chunk-LQJYWU4O.cjs +114 -0
  194. package/dist/cjs/_vendor/tailwind-variants/dist-chunk-RZF76H2U.cjs +267 -0
  195. package/dist/cjs/_vendor/tailwind-variants/dist-index.cjs +34 -0
  196. package/dist/cjs/_vendor/trim-lines/index.cjs +41 -0
  197. package/dist/cjs/_vendor/trough/lib-index.cjs +86 -0
  198. package/dist/cjs/_vendor/ts-pattern/dist-index.cjs +177 -0
  199. package/dist/cjs/_vendor/unified/lib-callable-instance.cjs +30 -0
  200. package/dist/cjs/_vendor/unified/lib-index.cjs +636 -0
  201. package/dist/cjs/_vendor/unist-util-is/lib-index.cjs +100 -0
  202. package/dist/cjs/_vendor/unist-util-position/lib-index.cjs +27 -0
  203. package/dist/cjs/_vendor/unist-util-stringify-position/lib-index.cjs +27 -0
  204. package/dist/cjs/_vendor/unist-util-visit/lib-index.cjs +27 -0
  205. package/dist/cjs/_vendor/unist-util-visit-parents/lib-color.cjs +6 -0
  206. package/dist/cjs/_vendor/unist-util-visit-parents/lib-index.cjs +83 -0
  207. package/dist/cjs/_vendor/use-stick-to-bottom/dist-useStickToBottom.cjs +357 -0
  208. package/dist/cjs/_vendor/vfile/lib-index.cjs +462 -0
  209. package/dist/cjs/_vendor/vfile/lib-minpath.browser.cjs +214 -0
  210. package/dist/cjs/_vendor/vfile/lib-minproc.browser.cjs +7 -0
  211. package/dist/cjs/_vendor/vfile/lib-minurl.browser.cjs +46 -0
  212. package/dist/cjs/_vendor/vfile/lib-minurl.shared.cjs +9 -0
  213. package/dist/cjs/_vendor/vfile-message/lib-index.cjs +138 -0
  214. package/dist/cjs/_virtual/_commonjsHelpers.cjs +33 -0
  215. package/dist/cjs/_virtual/index.cjs +4 -0
  216. package/dist/cjs/_virtual/index2.cjs +4 -0
  217. package/dist/cjs/_virtual/index3.cjs +6 -0
  218. package/dist/cjs/_virtual/index4.cjs +6 -0
  219. package/dist/cjs/_virtual/index5.cjs +4 -0
  220. package/dist/cjs/_virtual/utilities.cjs +4 -0
  221. package/dist/cjs/components/alert-dialog/src/alert-dialog.cjs +191 -0
  222. package/dist/cjs/components/alert-dialog/src/context/alert-dialog-context.cjs +13 -0
  223. package/dist/cjs/components/alert-dialog/src/context/alert-dialog-provider.cjs +30 -0
  224. package/dist/cjs/components/alert-dialog/src/hooks/use-alert-dialog.cjs +75 -0
  225. package/dist/cjs/components/alert-dialog/src/tv.cjs +41 -0
  226. package/dist/cjs/components/alert-dialog/src/utils/index.cjs +191 -0
  227. package/dist/cjs/components/avatar/dist/index.cjs +172 -0
  228. package/dist/cjs/components/avatar/src/avatar.cjs +79 -0
  229. package/dist/cjs/components/avatar/src/letter.cjs +36 -0
  230. package/dist/cjs/components/avatar/src/tv.cjs +68 -0
  231. package/dist/cjs/components/badge/src/badge.cjs +25 -0
  232. package/dist/cjs/components/badge/src/tv.cjs +109 -0
  233. package/dist/cjs/components/bells/src/bells.cjs +171 -0
  234. package/dist/cjs/components/bells/src/tv.cjs +81 -0
  235. package/dist/cjs/components/bezier-curve-editor/src/bezier-curve-editor.cjs +365 -0
  236. package/dist/cjs/components/bezier-curve-editor/src/components/bezier-curve-editor-curve.cjs +216 -0
  237. package/dist/cjs/components/bezier-curve-editor/src/components/bezier-curve-editor-end-points.cjs +94 -0
  238. package/dist/cjs/components/bezier-curve-editor/src/components/bezier-curve-editor-plane.cjs +110 -0
  239. package/dist/cjs/components/bezier-curve-editor/src/components/linear-gradient.cjs +146 -0
  240. package/dist/cjs/components/bezier-curve-editor/src/constants.cjs +45 -0
  241. package/dist/cjs/components/bezier-curve-editor/src/hooks.cjs +39 -0
  242. package/dist/cjs/components/bezier-curve-editor/src/tv.cjs +40 -0
  243. package/dist/cjs/components/bezier-curve-editor/src/utils.cjs +31 -0
  244. package/dist/cjs/components/button/dist/index.cjs +303 -0
  245. package/dist/cjs/components/button/src/button.cjs +62 -0
  246. package/dist/cjs/components/button/src/tv.cjs +246 -0
  247. package/dist/cjs/components/calendar/dist/index.cjs +4591 -0
  248. package/dist/cjs/components/calendar/src/date-input/date-input.cjs +121 -0
  249. package/dist/cjs/components/calendar/src/date-range-input/date-range-input.cjs +98 -0
  250. package/dist/cjs/components/calendar/src/hooks/use-date-input.cjs +402 -0
  251. package/dist/cjs/components/calendar/src/hooks/use-time-input.cjs +304 -0
  252. package/dist/cjs/components/calendar/src/month-calendar/month-calendar-date-cell.cjs +40 -0
  253. package/dist/cjs/components/calendar/src/month-calendar/month-calendar-header.cjs +57 -0
  254. package/dist/cjs/components/calendar/src/month-calendar/month-calendar-week-day.cjs +12 -0
  255. package/dist/cjs/components/calendar/src/month-calendar/month-calendar-week-number.cjs +19 -0
  256. package/dist/cjs/components/calendar/src/month-calendar/month-calendar.cjs +407 -0
  257. package/dist/cjs/components/calendar/src/month-calendar/tv.cjs +324 -0
  258. package/dist/cjs/components/calendar/src/quarter-calendar/quarter-calendar-cell.cjs +48 -0
  259. package/dist/cjs/components/calendar/src/quarter-calendar/quarter-calendar-header.cjs +90 -0
  260. package/dist/cjs/components/calendar/src/quarter-calendar/quarter-calendar.cjs +180 -0
  261. package/dist/cjs/components/calendar/src/quarter-calendar/tv.cjs +156 -0
  262. package/dist/cjs/components/calendar/src/time-calendar/time-calendar.cjs +288 -0
  263. package/dist/cjs/components/calendar/src/time-input/time-input.cjs +80 -0
  264. package/dist/cjs/components/calendar/src/time-range-input/time-range-input.cjs +140 -0
  265. package/dist/cjs/components/calendar/src/utils/constants.cjs +177 -0
  266. package/dist/cjs/components/calendar/src/utils/date-comparisons.cjs +196 -0
  267. package/dist/cjs/components/calendar/src/utils/locale.cjs +39 -0
  268. package/dist/cjs/components/calendar/src/utils/month.cjs +127 -0
  269. package/dist/cjs/components/calendar/src/utils/parsers/english-dates.cjs +51 -0
  270. package/dist/cjs/components/calendar/src/utils/parsers/format-utils.cjs +26 -0
  271. package/dist/cjs/components/calendar/src/utils/parsers/month-names.cjs +75 -0
  272. package/dist/cjs/components/calendar/src/utils/parsers/natural-language.cjs +56 -0
  273. package/dist/cjs/components/calendar/src/utils/parsers/numeric-utils.cjs +142 -0
  274. package/dist/cjs/components/calendar/src/utils/parsers/parsers.cjs +605 -0
  275. package/dist/cjs/components/calendar/src/utils/parsers/prediction.cjs +111 -0
  276. package/dist/cjs/components/calendar/src/utils/parsers/relative-dates.cjs +110 -0
  277. package/dist/cjs/components/calendar/src/utils/parsers/shortcuts.cjs +32 -0
  278. package/dist/cjs/components/calendar/src/utils/parsers/validators.cjs +82 -0
  279. package/dist/cjs/components/calendar/src/utils/quarter.cjs +104 -0
  280. package/dist/cjs/components/calendar/src/utils/time.cjs +277 -0
  281. package/dist/cjs/components/calendar/src/utils/year.cjs +29 -0
  282. package/dist/cjs/components/calendar/src/year-calendar/tv.cjs +152 -0
  283. package/dist/cjs/components/calendar/src/year-calendar/year-calendar-cell.cjs +31 -0
  284. package/dist/cjs/components/calendar/src/year-calendar/year-calendar-header.cjs +78 -0
  285. package/dist/cjs/components/calendar/src/year-calendar/year-calendar.cjs +187 -0
  286. package/dist/cjs/components/checkbox/dist/index.cjs +250 -0
  287. package/dist/cjs/components/checkbox/src/checkbox-label.cjs +27 -0
  288. package/dist/cjs/components/checkbox/src/checkbox.cjs +99 -0
  289. package/dist/cjs/components/checkbox/src/context.cjs +13 -0
  290. package/dist/cjs/components/checkbox/src/tv.cjs +130 -0
  291. package/dist/cjs/components/chip/dist/index.cjs +243 -0
  292. package/dist/cjs/components/chip/src/chip.cjs +79 -0
  293. package/dist/cjs/components/chip/src/tv.cjs +169 -0
  294. package/dist/cjs/components/chips-input/src/chips-input.cjs +214 -0
  295. package/dist/cjs/components/chips-input/src/tv.cjs +61 -0
  296. package/dist/cjs/components/code-block/dist/index.cjs +1137 -0
  297. package/dist/cjs/components/code-block/src/code-block.cjs +139 -0
  298. package/dist/cjs/components/code-block/src/components/code-block-code.cjs +48 -0
  299. package/dist/cjs/components/code-block/src/components/code-block-content.cjs +66 -0
  300. package/dist/cjs/components/code-block/src/components/code-block-footer.cjs +48 -0
  301. package/dist/cjs/components/code-block/src/components/code-block-header.cjs +104 -0
  302. package/dist/cjs/components/code-block/src/hooks/use-code-block.cjs +50 -0
  303. package/dist/cjs/components/code-block/src/hooks/use-line-count.cjs +27 -0
  304. package/dist/cjs/components/code-block/src/hooks/use-scroll-detection.cjs +44 -0
  305. package/dist/cjs/components/code-block/src/hooks/use-theme.cjs +44 -0
  306. package/dist/cjs/components/code-block/src/index.cjs +15 -0
  307. package/dist/cjs/components/code-block/src/utils/default-filename.cjs +74 -0
  308. package/dist/cjs/components/code-block/src/utils/language-icon-map.cjs +544 -0
  309. package/dist/cjs/components/combobox/dist/index.cjs +632 -0
  310. package/dist/cjs/components/combobox/src/combobox-trigger.cjs +104 -0
  311. package/dist/cjs/components/combobox/src/combobox.cjs +425 -0
  312. package/dist/cjs/components/combobox/src/tv.cjs +115 -0
  313. package/dist/cjs/components/command/src/command-score.cjs +93 -0
  314. package/dist/cjs/components/command/src/command.cjs +363 -0
  315. package/dist/cjs/components/command/src/components/command-divider.cjs +27 -0
  316. package/dist/cjs/components/command/src/components/command-empty.cjs +27 -0
  317. package/dist/cjs/components/command/src/components/command-footer.cjs +23 -0
  318. package/dist/cjs/components/command/src/components/command-group.cjs +65 -0
  319. package/dist/cjs/components/command/src/components/command-input.cjs +59 -0
  320. package/dist/cjs/components/command/src/components/command-item.cjs +130 -0
  321. package/dist/cjs/components/command/src/components/command-list.cjs +75 -0
  322. package/dist/cjs/components/command/src/components/command-loading.cjs +26 -0
  323. package/dist/cjs/components/command/src/components/command-tabs.cjs +22 -0
  324. package/dist/cjs/components/command/src/components/command-value.cjs +23 -0
  325. package/dist/cjs/components/command/src/context/command-context.cjs +7 -0
  326. package/dist/cjs/components/command/src/context/create-command-context.cjs +103 -0
  327. package/dist/cjs/components/command/src/hooks/index.cjs +5 -0
  328. package/dist/cjs/components/command/src/hooks/use-as-ref.cjs +12 -0
  329. package/dist/cjs/components/command/src/hooks/use-command-state.cjs +18 -0
  330. package/dist/cjs/components/command/src/hooks/use-command.cjs +12 -0
  331. package/dist/cjs/components/command/src/hooks/use-schedule-layout-effect.cjs +18 -0
  332. package/dist/cjs/components/command/src/hooks/use-value.cjs +34 -0
  333. package/dist/cjs/components/command/src/index.cjs +30 -0
  334. package/dist/cjs/components/command/src/tv.cjs +250 -0
  335. package/dist/cjs/components/command/src/utils/constants.cjs +16 -0
  336. package/dist/cjs/components/command/src/utils/dom.cjs +20 -0
  337. package/dist/cjs/components/command/src/utils/helpers.cjs +32 -0
  338. package/dist/cjs/components/comments/src/comment-input/comment-input.cjs +246 -0
  339. package/dist/cjs/components/comments/src/comment-input/components/comment-input-emoji-popover.cjs +41 -0
  340. package/dist/cjs/components/comments/src/comment-input/components/comment-input-footer.cjs +126 -0
  341. package/dist/cjs/components/comments/src/comment-input/components/comment-input-mention-popover.cjs +289 -0
  342. package/dist/cjs/components/comments/src/comment-input/components/comment-input-plugins.cjs +215 -0
  343. package/dist/cjs/components/comments/src/comment-input/components/comment-input-renderers.cjs +101 -0
  344. package/dist/cjs/components/comments/src/comment-input/components/comment-input-serializers.cjs +26 -0
  345. package/dist/cjs/components/comments/src/comment-input/hooks/use-comment-input.cjs +448 -0
  346. package/dist/cjs/components/comments/src/comment-input/tv.cjs +51 -0
  347. package/dist/cjs/components/comments/src/comment-input/utils/comment-input-hotkeys.cjs +36 -0
  348. package/dist/cjs/components/comments/src/comment-input/utils/comment-input-utils.cjs +38 -0
  349. package/dist/cjs/components/comments/src/comment-item/comment-item.cjs +125 -0
  350. package/dist/cjs/components/comments/src/comment-item/components/comment-item-reactions.cjs +102 -0
  351. package/dist/cjs/components/comments/src/comment-item/components/comment-item-renderers.cjs +79 -0
  352. package/dist/cjs/components/comments/src/comment-item/hooks/use-formatted-date.cjs +43 -0
  353. package/dist/cjs/components/comments/src/comment-item/tv.cjs +54 -0
  354. package/dist/cjs/components/comments/src/comments.cjs +226 -0
  355. package/dist/cjs/components/comments/src/components/element/attachments-comment.cjs +61 -0
  356. package/dist/cjs/components/comments/src/components/element/attachments-edit.cjs +87 -0
  357. package/dist/cjs/components/comments/src/components/element/mention.cjs +74 -0
  358. package/dist/cjs/components/comments/src/components/element/tv.cjs +57 -0
  359. package/dist/cjs/components/comments/src/components/image-preview-popover.cjs +42 -0
  360. package/dist/cjs/components/comments/src/hooks/use-scroll-to-bottom.cjs +92 -0
  361. package/dist/cjs/components/comments/src/state/comments-state.cjs +240 -0
  362. package/dist/cjs/components/comments/src/tv.cjs +26 -0
  363. package/dist/cjs/components/conditions/src/components/condition-group.cjs +403 -0
  364. package/dist/cjs/components/conditions/src/components/condition-item.cjs +241 -0
  365. package/dist/cjs/components/conditions/src/components/condition-items/array-length-input.cjs +37 -0
  366. package/dist/cjs/components/conditions/src/components/condition-items/boolean-input.cjs +21 -0
  367. package/dist/cjs/components/conditions/src/components/condition-items/date-input.cjs +200 -0
  368. package/dist/cjs/components/conditions/src/components/condition-items/multi-select-input.cjs +36 -0
  369. package/dist/cjs/components/conditions/src/components/condition-items/number-input.cjs +46 -0
  370. package/dist/cjs/components/conditions/src/components/condition-items/regex-input.cjs +142 -0
  371. package/dist/cjs/components/conditions/src/components/condition-items/select-input.cjs +40 -0
  372. package/dist/cjs/components/conditions/src/components/condition-items/tag-input.cjs +22 -0
  373. package/dist/cjs/components/conditions/src/components/condition-items/text-input.cjs +21 -0
  374. package/dist/cjs/components/conditions/src/components/condition-items/user-input.cjs +22 -0
  375. package/dist/cjs/components/conditions/src/components/group-renderers.cjs +100 -0
  376. package/dist/cjs/components/conditions/src/conditions.cjs +417 -0
  377. package/dist/cjs/components/conditions/src/hooks/use-conditions.cjs +165 -0
  378. package/dist/cjs/components/conditions/src/hooks/use-drag-and-drop.cjs +220 -0
  379. package/dist/cjs/components/conditions/src/hooks/use-field-operators.cjs +132 -0
  380. package/dist/cjs/components/conditions/src/types.cjs +81 -0
  381. package/dist/cjs/components/conditions/src/utils/constants.cjs +551 -0
  382. package/dist/cjs/components/conditions/src/utils/operator-utils.cjs +175 -0
  383. package/dist/cjs/components/conditions/src/utils/utilities.cjs +351 -0
  384. package/dist/cjs/components/context-input/src/components/context-input-footer.cjs +23 -0
  385. package/dist/cjs/components/context-input/src/components/context-input-header.cjs +23 -0
  386. package/dist/cjs/components/context-input/src/components/copy-button.cjs +47 -0
  387. package/dist/cjs/components/context-input/src/components/insert-mentions-button.cjs +37 -0
  388. package/dist/cjs/components/context-input/src/components/mention-menu.cjs +69 -0
  389. package/dist/cjs/components/context-input/src/components/mention.cjs +68 -0
  390. package/dist/cjs/components/context-input/src/components/slate-editor.cjs +118 -0
  391. package/dist/cjs/components/context-input/src/components/tv.cjs +73 -0
  392. package/dist/cjs/components/context-input/src/context-input.cjs +176 -0
  393. package/dist/cjs/components/context-input/src/extensions/with-max-length.cjs +64 -0
  394. package/dist/cjs/components/context-input/src/extensions/with-mentions.cjs +42 -0
  395. package/dist/cjs/components/context-input/src/hooks/use-context-input-editor.cjs +13 -0
  396. package/dist/cjs/components/context-input/src/hooks/use-context-input.cjs +80 -0
  397. package/dist/cjs/components/context-input/src/hooks/use-mentions.cjs +260 -0
  398. package/dist/cjs/components/context-input/src/hooks/use-slate-editor.cjs +22 -0
  399. package/dist/cjs/components/context-input/src/tv.cjs +232 -0
  400. package/dist/cjs/components/context-input/src/utils/context-extraction.cjs +14 -0
  401. package/dist/cjs/components/context-input/src/utils/mention-spacing.cjs +64 -0
  402. package/dist/cjs/components/context-input/src/utils/slate-converters.cjs +170 -0
  403. package/dist/cjs/components/context-input/src/utils/text-extraction.cjs +74 -0
  404. package/dist/cjs/components/context-menu/src/context-menu.cjs +392 -0
  405. package/dist/cjs/components/dialog/dist/index.cjs +906 -0
  406. package/dist/cjs/components/dialog/src/components/dialog-header.cjs +24 -0
  407. package/dist/cjs/components/dialog/src/components/dialog-trigger.cjs +26 -0
  408. package/dist/cjs/components/dialog/src/dialog-context.cjs +13 -0
  409. package/dist/cjs/components/dialog/src/dialog.cjs +275 -0
  410. package/dist/cjs/components/dialog/src/hooks/use-drag.cjs +163 -0
  411. package/dist/cjs/components/dialog/src/hooks/use-floating-dialog.cjs +198 -0
  412. package/dist/cjs/components/dialog/src/hooks/use-resize.cjs +192 -0
  413. package/dist/cjs/components/dialog/src/tv.cjs +38 -0
  414. package/dist/cjs/components/dialog/src/utils/calculate-initial-position.cjs +25 -0
  415. package/dist/cjs/components/dropdown/dist/index.cjs +384 -0
  416. package/dist/cjs/components/dropdown/src/dropdown.cjs +384 -0
  417. package/dist/cjs/components/emoji-picker/dist/index.cjs +12199 -0
  418. package/dist/cjs/components/emoji-picker/src/components/emoji-category-header.cjs +21 -0
  419. package/dist/cjs/components/emoji-picker/src/components/emoji-empty.cjs +13 -0
  420. package/dist/cjs/components/emoji-picker/src/components/emoji-footer.cjs +20 -0
  421. package/dist/cjs/components/emoji-picker/src/components/emoji-item.cjs +21 -0
  422. package/dist/cjs/components/emoji-picker/src/emoji-picker.cjs +215 -0
  423. package/dist/cjs/components/emoji-picker/src/hooks/use-emoji-data.cjs +151 -0
  424. package/dist/cjs/components/emoji-picker/src/hooks/use-emoji-scroll.cjs +134 -0
  425. package/dist/cjs/components/emoji-picker/src/tv.cjs +163 -0
  426. package/dist/cjs/components/emoji-picker/src/utils/emoji-data.cjs +11513 -0
  427. package/dist/cjs/components/file-upload/src/components/file-upload-clear.cjs +46 -0
  428. package/dist/cjs/components/file-upload/src/components/file-upload-dropzone.cjs +123 -0
  429. package/dist/cjs/components/file-upload/src/components/file-upload-item-delete.cjs +45 -0
  430. package/dist/cjs/components/file-upload/src/components/file-upload-item-metadata.cjs +58 -0
  431. package/dist/cjs/components/file-upload/src/components/file-upload-item-preview.cjs +58 -0
  432. package/dist/cjs/components/file-upload/src/components/file-upload-item-progress.cjs +100 -0
  433. package/dist/cjs/components/file-upload/src/components/file-upload-item.cjs +72 -0
  434. package/dist/cjs/components/file-upload/src/components/file-upload-list.cjs +38 -0
  435. package/dist/cjs/components/file-upload/src/components/file-upload-trigger.cjs +40 -0
  436. package/dist/cjs/components/file-upload/src/constants.cjs +35 -0
  437. package/dist/cjs/components/file-upload/src/contexts.cjs +10 -0
  438. package/dist/cjs/components/file-upload/src/file-upload.cjs +286 -0
  439. package/dist/cjs/components/file-upload/src/hooks/use-file-upload-context.cjs +21 -0
  440. package/dist/cjs/components/file-upload/src/hooks/use-store.cjs +34 -0
  441. package/dist/cjs/components/file-upload/src/store.cjs +118 -0
  442. package/dist/cjs/components/file-upload/src/tv.cjs +57 -0
  443. package/dist/cjs/components/file-upload/src/utils/get-file-icon.cjs +48 -0
  444. package/dist/cjs/components/form/src/adapters/base-adapter.cjs +49 -0
  445. package/dist/cjs/components/form/src/adapters/checkbox-adapter.cjs +40 -0
  446. package/dist/cjs/components/form/src/adapters/input-adapter.cjs +38 -0
  447. package/dist/cjs/components/form/src/adapters/multi-select-adapter.cjs +52 -0
  448. package/dist/cjs/components/form/src/adapters/numeric-input-adapter.cjs +40 -0
  449. package/dist/cjs/components/form/src/adapters/raido-group-adapter.cjs +40 -0
  450. package/dist/cjs/components/form/src/adapters/range-adapter.cjs +40 -0
  451. package/dist/cjs/components/form/src/adapters/segmented-adapter.cjs +49 -0
  452. package/dist/cjs/components/form/src/adapters/select-adapter.cjs +52 -0
  453. package/dist/cjs/components/form/src/adapters/switch-adapter.cjs +41 -0
  454. package/dist/cjs/components/form/src/adapters/textarea-adapter.cjs +38 -0
  455. package/dist/cjs/components/form/src/index.cjs +60 -0
  456. package/dist/cjs/components/form/src/tv.cjs +21 -0
  457. package/dist/cjs/components/hint/src/components/info-content.cjs +52 -0
  458. package/dist/cjs/components/hint/src/components/info-trigger.cjs +32 -0
  459. package/dist/cjs/components/hint/src/context/hint-context.cjs +13 -0
  460. package/dist/cjs/components/hint/src/hint.cjs +49 -0
  461. package/dist/cjs/components/hint/src/hooks/use-hint.cjs +55 -0
  462. package/dist/cjs/components/hint/src/tv.cjs +45 -0
  463. package/dist/cjs/components/icon-button/dist/index.cjs +227 -0
  464. package/dist/cjs/components/icon-button/src/icon-button-group.cjs +30 -0
  465. package/dist/cjs/components/icon-button/src/icon-button.cjs +52 -0
  466. package/dist/cjs/components/icon-button/src/tv.cjs +157 -0
  467. package/dist/cjs/components/input/dist/index.cjs +165 -0
  468. package/dist/cjs/components/input/src/input.cjs +78 -0
  469. package/dist/cjs/components/input/src/tv.cjs +92 -0
  470. package/dist/cjs/components/kbd/dist/index.cjs +89 -0
  471. package/dist/cjs/components/kbd/src/kbd.cjs +35 -0
  472. package/dist/cjs/components/kbd/src/tv.cjs +10 -0
  473. package/dist/cjs/components/kbd/src/utils.cjs +52 -0
  474. package/dist/cjs/components/label/dist/index.cjs +111 -0
  475. package/dist/cjs/components/label/src/label.cjs +37 -0
  476. package/dist/cjs/components/label/src/tv.cjs +78 -0
  477. package/dist/cjs/components/link-button/dist/index.cjs +78 -0
  478. package/dist/cjs/components/link-button/src/link-button.cjs +78 -0
  479. package/dist/cjs/components/list/src/components/list-content.cjs +52 -0
  480. package/dist/cjs/components/list/src/components/list-divider.cjs +24 -0
  481. package/dist/cjs/components/list/src/components/list-item.cjs +140 -0
  482. package/dist/cjs/components/list/src/components/list-label.cjs +23 -0
  483. package/dist/cjs/components/list/src/components/list-sub-trigger.cjs +115 -0
  484. package/dist/cjs/components/list/src/context/list-context.cjs +49 -0
  485. package/dist/cjs/components/list/src/context/list-provider.cjs +121 -0
  486. package/dist/cjs/components/list/src/hooks/use-list-keyboard.cjs +82 -0
  487. package/dist/cjs/components/list/src/list.cjs +76 -0
  488. package/dist/cjs/components/list/src/tv.cjs +308 -0
  489. package/dist/cjs/components/loader/src/hooks/use-loader.cjs +20 -0
  490. package/dist/cjs/components/loader/src/loader.cjs +176 -0
  491. package/dist/cjs/components/loader/src/tv.cjs +28 -0
  492. package/dist/cjs/components/md-input/src/components/extensions/md-input-mention.cjs +41 -0
  493. package/dist/cjs/components/md-input/src/components/md-input-container.cjs +38 -0
  494. package/dist/cjs/components/md-input/src/components/md-input-editor.cjs +127 -0
  495. package/dist/cjs/components/md-input/src/components/md-input-footer.cjs +20 -0
  496. package/dist/cjs/components/md-input/src/components/md-input-header.cjs +24 -0
  497. package/dist/cjs/components/md-input/src/components/md-input-render.cjs +38 -0
  498. package/dist/cjs/components/md-input/src/components/md-input-tabs.cjs +27 -0
  499. package/dist/cjs/components/md-input/src/components/toolbar/default-actions.cjs +22 -0
  500. package/dist/cjs/components/md-input/src/components/toolbar/toolbar-button.cjs +29 -0
  501. package/dist/cjs/components/md-input/src/components/toolbar/toolbar.cjs +92 -0
  502. package/dist/cjs/components/md-input/src/components/toolbar/tv.cjs +20 -0
  503. package/dist/cjs/components/md-input/src/context/md-input-context.cjs +13 -0
  504. package/dist/cjs/components/md-input/src/hooks/use-markdown-formatting.cjs +121 -0
  505. package/dist/cjs/components/md-input/src/hooks/use-markdown-mentions.cjs +186 -0
  506. package/dist/cjs/components/md-input/src/hooks/use-markdown-shortcuts.cjs +63 -0
  507. package/dist/cjs/components/md-input/src/md-input.cjs +150 -0
  508. package/dist/cjs/components/md-input/src/tv.cjs +43 -0
  509. package/dist/cjs/components/md-render/dist/index.cjs +481 -0
  510. package/dist/cjs/components/md-render/src/components/markdown-block.cjs +64 -0
  511. package/dist/cjs/components/md-render/src/components/markdown-components.cjs +120 -0
  512. package/dist/cjs/components/md-render/src/constants.cjs +6 -0
  513. package/dist/cjs/components/md-render/src/hooks/use-md-blocks.cjs +8 -0
  514. package/dist/cjs/components/md-render/src/md-render.cjs +95 -0
  515. package/dist/cjs/components/md-render/src/tv.cjs +96 -0
  516. package/dist/cjs/components/md-render/src/utils/extract-language.cjs +8 -0
  517. package/dist/cjs/components/md-render/src/utils/parse-md-into-blocks.cjs +8 -0
  518. package/dist/cjs/components/md-render/src/utils/process-mentions.cjs +119 -0
  519. package/dist/cjs/components/menus/dist/index.cjs +1141 -0
  520. package/dist/cjs/components/menus/src/components/menu-button.cjs +24 -0
  521. package/dist/cjs/components/menus/src/components/menu-checkbox.cjs +12 -0
  522. package/dist/cjs/components/menus/src/components/menu-divider.cjs +22 -0
  523. package/dist/cjs/components/menus/src/components/menu-input.cjs +27 -0
  524. package/dist/cjs/components/menus/src/components/menu-item.cjs +63 -0
  525. package/dist/cjs/components/menus/src/components/menu-label.cjs +24 -0
  526. package/dist/cjs/components/menus/src/components/menu-scroll-arrow.cjs +136 -0
  527. package/dist/cjs/components/menus/src/components/menu-search.cjs +72 -0
  528. package/dist/cjs/components/menus/src/components/menu-trigger.cjs +79 -0
  529. package/dist/cjs/components/menus/src/components/menu-value.cjs +16 -0
  530. package/dist/cjs/components/menus/src/context/menu-context-content.cjs +22 -0
  531. package/dist/cjs/components/menus/src/context/menu-context-item.cjs +123 -0
  532. package/dist/cjs/components/menus/src/context/menu-context-label.cjs +21 -0
  533. package/dist/cjs/components/menus/src/context/menu-context-sub-trigger.cjs +132 -0
  534. package/dist/cjs/components/menus/src/context/menu-context.cjs +5 -0
  535. package/dist/cjs/components/menus/src/hooks/use-menu-base-refs.cjs +16 -0
  536. package/dist/cjs/components/menus/src/hooks/use-menu-children.cjs +50 -0
  537. package/dist/cjs/components/menus/src/hooks/use-menu-floating.cjs +156 -0
  538. package/dist/cjs/components/menus/src/hooks/use-menu-refs.cjs +55 -0
  539. package/dist/cjs/components/menus/src/hooks/use-menu-scroll-height.cjs +20 -0
  540. package/dist/cjs/components/menus/src/hooks/use-menu-scroll.cjs +66 -0
  541. package/dist/cjs/components/menus/src/hooks/use-menu-selection.cjs +55 -0
  542. package/dist/cjs/components/menus/src/hooks/use-menu-state.cjs +47 -0
  543. package/dist/cjs/components/menus/src/hooks/use-menu-tree.cjs +47 -0
  544. package/dist/cjs/components/menus/src/menus.cjs +59 -0
  545. package/dist/cjs/components/menus/src/tv.cjs +281 -0
  546. package/dist/cjs/components/modal/dist/index.cjs +211 -0
  547. package/dist/cjs/components/modal/src/components/modal-backdrop.cjs +31 -0
  548. package/dist/cjs/components/modal/src/components/modal-content.cjs +20 -0
  549. package/dist/cjs/components/modal/src/components/modal-footer.cjs +20 -0
  550. package/dist/cjs/components/modal/src/components/modal-header.cjs +30 -0
  551. package/dist/cjs/components/modal/src/components/modal-input.cjs +28 -0
  552. package/dist/cjs/components/modal/src/components/modal-select.cjs +24 -0
  553. package/dist/cjs/components/modal/src/components/modal-textarea.cjs +27 -0
  554. package/dist/cjs/components/modal/src/modal.cjs +35 -0
  555. package/dist/cjs/components/modal/src/tv.cjs +53 -0
  556. package/dist/cjs/components/multi-select/dist/index.cjs +841 -0
  557. package/dist/cjs/components/multi-select/src/components/multi-select-trigger.cjs +167 -0
  558. package/dist/cjs/components/multi-select/src/hooks/use-multi-select-selection.cjs +82 -0
  559. package/dist/cjs/components/multi-select/src/hooks/use-multi-select-state.cjs +33 -0
  560. package/dist/cjs/components/multi-select/src/multi-select.cjs +473 -0
  561. package/dist/cjs/components/multi-select/src/tv.cjs +80 -0
  562. package/dist/cjs/components/multi-select/src/utils/extract-options.cjs +52 -0
  563. package/dist/cjs/components/notifications/src/notifications.cjs +75 -0
  564. package/dist/cjs/components/notifications/src/tv.cjs +36 -0
  565. package/dist/cjs/components/numeric-input/dist/index.cjs +1262 -0
  566. package/dist/cjs/components/numeric-input/src/components/numeric-input-element.cjs +37 -0
  567. package/dist/cjs/components/numeric-input/src/components/numeric-input-menu-trigger.cjs +48 -0
  568. package/dist/cjs/components/numeric-input/src/components/numeric-input-variable.cjs +36 -0
  569. package/dist/cjs/components/numeric-input/src/context/numeric-input-context.cjs +13 -0
  570. package/dist/cjs/components/numeric-input/src/hooks/use-input-interactions.cjs +93 -0
  571. package/dist/cjs/components/numeric-input/src/hooks/use-numeric-input.cjs +188 -0
  572. package/dist/cjs/components/numeric-input/src/hooks/use-numeric-value-processing.cjs +40 -0
  573. package/dist/cjs/components/numeric-input/src/hooks/use-step-calculation.cjs +11 -0
  574. package/dist/cjs/components/numeric-input/src/numeric-input.cjs +239 -0
  575. package/dist/cjs/components/numeric-input/src/tv.cjs +403 -0
  576. package/dist/cjs/components/numeric-input/src/utils/expression-evaluator.cjs +77 -0
  577. package/dist/cjs/components/numeric-input/src/utils/input-parser.cjs +37 -0
  578. package/dist/cjs/components/numeric-input/src/utils/numeric-value-processor.cjs +60 -0
  579. package/dist/cjs/components/numeric-input/src/utils/pattern-parser.cjs +20 -0
  580. package/dist/cjs/components/numeric-input/src/utils/value-comparator.cjs +32 -0
  581. package/dist/cjs/components/numeric-input/src/utils/value-processor.cjs +20 -0
  582. package/dist/cjs/components/pagination/src/components/pagination-context.cjs +13 -0
  583. package/dist/cjs/components/pagination/src/components/pagination-items-per-page.cjs +50 -0
  584. package/dist/cjs/components/pagination/src/components/pagination-navigation.cjs +53 -0
  585. package/dist/cjs/components/pagination/src/components/pagination-root.cjs +78 -0
  586. package/dist/cjs/components/pagination/src/components/pagination-spinner.cjs +148 -0
  587. package/dist/cjs/components/pagination/src/hooks/use-pagination.cjs +86 -0
  588. package/dist/cjs/components/pagination/src/pagination.cjs +13 -0
  589. package/dist/cjs/components/pagination/src/tv.cjs +47 -0
  590. package/dist/cjs/components/pagination/src/utils/pagination-helpers.cjs +9 -0
  591. package/dist/cjs/components/panel/src/components/panel-label.cjs +23 -0
  592. package/dist/cjs/components/panel/src/components/panel-previewer.cjs +17 -0
  593. package/dist/cjs/components/panel/src/components/panel-row-label.cjs +19 -0
  594. package/dist/cjs/components/panel/src/components/panel-row-many-icon.cjs +33 -0
  595. package/dist/cjs/components/panel/src/components/panel-row.cjs +32 -0
  596. package/dist/cjs/components/panel/src/components/panel-sortable-row.cjs +55 -0
  597. package/dist/cjs/components/panel/src/components/panel-sortable.cjs +128 -0
  598. package/dist/cjs/components/panel/src/components/panel-title.cjs +72 -0
  599. package/dist/cjs/components/panel/src/context/panel-context.cjs +18 -0
  600. package/dist/cjs/components/panel/src/context/sortable-context.cjs +27 -0
  601. package/dist/cjs/components/panel/src/hooks/use-panel-drag-drop.cjs +270 -0
  602. package/dist/cjs/components/panel/src/panel.cjs +114 -0
  603. package/dist/cjs/components/panel/src/tv.cjs +105 -0
  604. package/dist/cjs/components/picture-preview/dist/index.cjs +552 -0
  605. package/dist/cjs/components/picture-preview/src/hooks/useDraggable.cjs +89 -0
  606. package/dist/cjs/components/picture-preview/src/hooks/useHotkeys.cjs +34 -0
  607. package/dist/cjs/components/picture-preview/src/hooks/useWheelHandler.cjs +84 -0
  608. package/dist/cjs/components/picture-preview/src/picture-preview.cjs +318 -0
  609. package/dist/cjs/components/picture-preview/src/tv.cjs +48 -0
  610. package/dist/cjs/components/popover/dist/index.cjs +598 -0
  611. package/dist/cjs/components/popover/src/components/popover-header.cjs +24 -0
  612. package/dist/cjs/components/popover/src/components/popover-trigger.cjs +23 -0
  613. package/dist/cjs/components/popover/src/hooks/use-drag.cjs +154 -0
  614. package/dist/cjs/components/popover/src/hooks/use-floating-popover.cjs +200 -0
  615. package/dist/cjs/components/popover/src/popover-context.cjs +13 -0
  616. package/dist/cjs/components/popover/src/popover.cjs +219 -0
  617. package/dist/cjs/components/progress/src/progress-bar.cjs +189 -0
  618. package/dist/cjs/components/progress/src/progress-circle.cjs +185 -0
  619. package/dist/cjs/components/progress/src/tv.cjs +64 -0
  620. package/dist/cjs/components/radio/dist/index.cjs +338 -0
  621. package/dist/cjs/components/radio/src/context.cjs +23 -0
  622. package/dist/cjs/components/radio/src/radio-group.cjs +100 -0
  623. package/dist/cjs/components/radio/src/radio-label.cjs +27 -0
  624. package/dist/cjs/components/radio/src/radio.cjs +85 -0
  625. package/dist/cjs/components/radio/src/tv.cjs +130 -0
  626. package/dist/cjs/components/range/dist/index.cjs +886 -0
  627. package/dist/cjs/components/range/src/range-tuple.cjs +481 -0
  628. package/dist/cjs/components/range/src/range.cjs +328 -0
  629. package/dist/cjs/components/range/src/tv.cjs +92 -0
  630. package/dist/cjs/components/rich-input/src/components/block-button.cjs +36 -0
  631. package/dist/cjs/components/rich-input/src/components/characters-menu.cjs +151 -0
  632. package/dist/cjs/components/rich-input/src/components/element.cjs +174 -0
  633. package/dist/cjs/components/rich-input/src/components/floating-menu-base.cjs +57 -0
  634. package/dist/cjs/components/rich-input/src/components/floating-menus-container.cjs +116 -0
  635. package/dist/cjs/components/rich-input/src/components/format-button.cjs +30 -0
  636. package/dist/cjs/components/rich-input/src/components/leaf.cjs +54 -0
  637. package/dist/cjs/components/rich-input/src/components/paragraph-menu.cjs +93 -0
  638. package/dist/cjs/components/rich-input/src/components/paste-html.cjs +84 -0
  639. package/dist/cjs/components/rich-input/src/components/rich-input-editable-component.cjs +76 -0
  640. package/dist/cjs/components/rich-input/src/components/rich-input-viewport.cjs +24 -0
  641. package/dist/cjs/components/rich-input/src/components/url-menu.cjs +51 -0
  642. package/dist/cjs/components/rich-input/src/context/rich-input-context.cjs +13 -0
  643. package/dist/cjs/components/rich-input/src/hooks/use-editor-config.cjs +33 -0
  644. package/dist/cjs/components/rich-input/src/hooks/use-editor-effects.cjs +61 -0
  645. package/dist/cjs/components/rich-input/src/hooks/use-editor-state.cjs +111 -0
  646. package/dist/cjs/components/rich-input/src/hooks/use-floating-ui.cjs +206 -0
  647. package/dist/cjs/components/rich-input/src/hooks/use-keyboard-shortcuts.cjs +77 -0
  648. package/dist/cjs/components/rich-input/src/hooks/use-mouse-events.cjs +113 -0
  649. package/dist/cjs/components/rich-input/src/hooks/use-rich-input.cjs +66 -0
  650. package/dist/cjs/components/rich-input/src/hooks/use-selection-events.cjs +175 -0
  651. package/dist/cjs/components/rich-input/src/hooks/use-validation.cjs +80 -0
  652. package/dist/cjs/components/rich-input/src/rich-input-base.cjs +193 -0
  653. package/dist/cjs/components/rich-input/src/tv.cjs +112 -0
  654. package/dist/cjs/components/rich-input/src/types/i18n-types.cjs +9 -0
  655. package/dist/cjs/components/rich-input/src/utils/custom-options.cjs +66 -0
  656. package/dist/cjs/components/rich-input/src/utils/editor-utils.cjs +66 -0
  657. package/dist/cjs/components/rich-input/src/utils/markdown-to-slate.cjs +219 -0
  658. package/dist/cjs/components/rich-input/src/utils/slate-to-markdown.cjs +112 -0
  659. package/dist/cjs/components/scroll-area/dist/index.cjs +972 -0
  660. package/dist/cjs/components/scroll-area/src/components/scroll-area-content.cjs +45 -0
  661. package/dist/cjs/components/scroll-area/src/components/scroll-area-corner.cjs +45 -0
  662. package/dist/cjs/components/scroll-area/src/components/scroll-area-root.cjs +170 -0
  663. package/dist/cjs/components/scroll-area/src/components/scroll-area-scrollbar.cjs +95 -0
  664. package/dist/cjs/components/scroll-area/src/components/scroll-area-thumb.cjs +53 -0
  665. package/dist/cjs/components/scroll-area/src/components/scroll-area-viewport.cjs +44 -0
  666. package/dist/cjs/components/scroll-area/src/context/scroll-area-context.cjs +13 -0
  667. package/dist/cjs/components/scroll-area/src/hooks/use-scroll-performance-monitor.cjs +123 -0
  668. package/dist/cjs/components/scroll-area/src/hooks/use-scroll-state-and-visibility.cjs +181 -0
  669. package/dist/cjs/components/scroll-area/src/hooks/use-scrollbar.cjs +44 -0
  670. package/dist/cjs/components/scroll-area/src/hooks/use-thumb.cjs +129 -0
  671. package/dist/cjs/components/scroll-area/src/scroll-area.cjs +17 -0
  672. package/dist/cjs/components/scroll-area/src/tv.cjs +175 -0
  673. package/dist/cjs/components/scroll-area/src/utils/index.cjs +41 -0
  674. package/dist/cjs/components/search-input/dist/index.cjs +139 -0
  675. package/dist/cjs/components/search-input/src/search-input.cjs +55 -0
  676. package/dist/cjs/components/search-input/src/tv.cjs +88 -0
  677. package/dist/cjs/components/segmented/dist/index.cjs +369 -0
  678. package/dist/cjs/components/segmented/src/context.cjs +13 -0
  679. package/dist/cjs/components/segmented/src/segmented-item.cjs +99 -0
  680. package/dist/cjs/components/segmented/src/segmented.cjs +98 -0
  681. package/dist/cjs/components/segmented/src/tv.cjs +179 -0
  682. package/dist/cjs/components/select/dist/index.cjs +480 -0
  683. package/dist/cjs/components/select/src/select.cjs +480 -0
  684. package/dist/cjs/components/skeleton/src/context/skeleton-context.cjs +14 -0
  685. package/dist/cjs/components/skeleton/src/hooks/use-skeleton.cjs +19 -0
  686. package/dist/cjs/components/skeleton/src/skeleton.cjs +71 -0
  687. package/dist/cjs/components/skeleton/src/tv.cjs +21 -0
  688. package/dist/cjs/components/slot/dist/index.cjs +81 -0
  689. package/dist/cjs/components/slot/src/slot.cjs +102 -0
  690. package/dist/cjs/components/spinner/src/spinner-bounce.cjs +78 -0
  691. package/dist/cjs/components/spinner/src/spinner-spin.cjs +72 -0
  692. package/dist/cjs/components/spinner/src/tv.cjs +69 -0
  693. package/dist/cjs/components/spring-visualizer/src/spring-visualizer.cjs +177 -0
  694. package/dist/cjs/components/stackflow/src/components/stackflow-item.cjs +58 -0
  695. package/dist/cjs/components/stackflow/src/components/stackflow-prefix.cjs +22 -0
  696. package/dist/cjs/components/stackflow/src/components/stackflow-suffix.cjs +22 -0
  697. package/dist/cjs/components/stackflow/src/context.cjs +13 -0
  698. package/dist/cjs/components/stackflow/src/hooks/use-stackflow.cjs +68 -0
  699. package/dist/cjs/components/stackflow/src/stackflow.cjs +78 -0
  700. package/dist/cjs/components/stackflow/src/tv.cjs +42 -0
  701. package/dist/cjs/components/switch/dist/index.cjs +322 -0
  702. package/dist/cjs/components/switch/src/switch.cjs +123 -0
  703. package/dist/cjs/components/switch/src/tv.cjs +204 -0
  704. package/dist/cjs/components/tabs/dist/index.cjs +270 -0
  705. package/dist/cjs/components/tabs/src/context.cjs +13 -0
  706. package/dist/cjs/components/tabs/src/tab-item.cjs +90 -0
  707. package/dist/cjs/components/tabs/src/tabs.cjs +61 -0
  708. package/dist/cjs/components/tabs/src/tv.cjs +161 -0
  709. package/dist/cjs/components/text-field/dist/index.cjs +264 -0
  710. package/dist/cjs/components/text-field/src/components/field-addon.cjs +19 -0
  711. package/dist/cjs/components/text-field/src/components/field-description.cjs +16 -0
  712. package/dist/cjs/components/text-field/src/text-field.cjs +105 -0
  713. package/dist/cjs/components/text-field/src/tv.cjs +141 -0
  714. package/dist/cjs/components/textarea/dist/index.cjs +862 -0
  715. package/dist/cjs/components/textarea/src/components/autosize/calculate-node-height.cjs +78 -0
  716. package/dist/cjs/components/textarea/src/components/autosize/force-hidden-styles.cjs +25 -0
  717. package/dist/cjs/components/textarea/src/components/autosize/get-sizing-data.cjs +79 -0
  718. package/dist/cjs/components/textarea/src/components/autosize/hooks.cjs +79 -0
  719. package/dist/cjs/components/textarea/src/components/autosize/index.cjs +171 -0
  720. package/dist/cjs/components/textarea/src/components/autosize/utils.cjs +17 -0
  721. package/dist/cjs/components/textarea/src/components/resize-handle.cjs +34 -0
  722. package/dist/cjs/components/textarea/src/textarea.cjs +274 -0
  723. package/dist/cjs/components/textarea/src/tv.cjs +151 -0
  724. package/dist/cjs/components/toggle-button/src/toggle-button.cjs +102 -0
  725. package/dist/cjs/components/toggle-button/src/tv.cjs +150 -0
  726. package/dist/cjs/components/tooltip/dist/index.cjs +315 -0
  727. package/dist/cjs/components/tooltip/src/components/tooltip-arrow.cjs +63 -0
  728. package/dist/cjs/components/tooltip/src/components/tooltip-content.cjs +63 -0
  729. package/dist/cjs/components/tooltip/src/components/tooltip-trigger.cjs +24 -0
  730. package/dist/cjs/components/tooltip/src/context/tooltip-context.cjs +15 -0
  731. package/dist/cjs/components/tooltip/src/hooks/use-tooltip.cjs +64 -0
  732. package/dist/cjs/components/tooltip/src/tooltip.cjs +58 -0
  733. package/dist/cjs/components/tooltip/src/tv.cjs +62 -0
  734. package/dist/cjs/components/tree-list/src/components/drop-indicator.cjs +42 -0
  735. package/dist/cjs/components/tree-list/src/components/tree-node-icon.cjs +30 -0
  736. package/dist/cjs/components/tree-list/src/components/tree-node-rename-input.cjs +180 -0
  737. package/dist/cjs/components/tree-list/src/components/tree-node-toggle.cjs +65 -0
  738. package/dist/cjs/components/tree-list/src/components/tree-node-wrapper.cjs +195 -0
  739. package/dist/cjs/components/tree-list/src/components/tree-node.cjs +333 -0
  740. package/dist/cjs/components/tree-list/src/hooks/use-drag-drop.cjs +307 -0
  741. package/dist/cjs/components/tree-list/src/hooks/use-modifier-keys.cjs +65 -0
  742. package/dist/cjs/components/tree-list/src/hooks/use-node-width.cjs +126 -0
  743. package/dist/cjs/components/tree-list/src/hooks/use-renaming.cjs +22 -0
  744. package/dist/cjs/components/tree-list/src/hooks/use-selection.cjs +151 -0
  745. package/dist/cjs/components/tree-list/src/tree-list.cjs +419 -0
  746. package/dist/cjs/components/tree-list/src/utils/node.cjs +57 -0
  747. package/dist/cjs/components/tree-list/src/utils/tree.cjs +238 -0
  748. package/dist/cjs/components/virtualized-grid/src/error-boundary.cjs +62 -0
  749. package/dist/cjs/components/virtualized-grid/src/tv.cjs +22 -0
  750. package/dist/cjs/components/virtualized-grid/src/use-item-pool.cjs +78 -0
  751. package/dist/cjs/components/virtualized-grid/src/use-virtualized-grid.cjs +199 -0
  752. package/dist/cjs/components/virtualized-grid/src/utility.cjs +178 -0
  753. package/dist/cjs/components/virtualized-grid/src/virtualized-grid.cjs +105 -0
  754. package/dist/cjs/favicon.ico +0 -0
  755. package/dist/cjs/index.cjs +858 -0
  756. package/dist/cjs/shared/hooks/use-direction/use-direction.cjs +10 -0
  757. package/dist/cjs/shared/hooks/use-disable-scroll/use-disable-scroll.cjs +55 -0
  758. package/dist/cjs/shared/hooks/use-isomorphic-layout-effect/use-as-ref.cjs +12 -0
  759. package/dist/cjs/shared/hooks/use-isomorphic-layout-effect/use-isomorphic-layout-effect.cjs +5 -0
  760. package/dist/cjs/shared/hooks/use-lazy-ref/use-lazy-ref.cjs +11 -0
  761. package/dist/cjs/shared/hooks/use-merged-value/use-merged-value.cjs +63 -0
  762. package/dist/cjs/shared/hooks/use-modifier-keys/use-modifier-keys.cjs +75 -0
  763. package/dist/cjs/shared/hooks/use-press/use-press-move.cjs +133 -0
  764. package/dist/cjs/shared/hooks/use-press/use-press.cjs +52 -0
  765. package/dist/cjs/shared/utils/assertion.cjs +59 -0
  766. package/dist/cjs/shared/utils/format-bytes/format-bytes.cjs +9 -0
  767. package/dist/cjs/shared/utils/format-date/format-date.cjs +105 -0
  768. package/dist/cjs/shared/utils/format-date/format-date.i18n.cjs +125 -0
  769. package/dist/cjs/shared/utils/i18n-utils/i18n-utils.cjs +40 -0
  770. package/dist/cjs/shared/utils/merge-props/merge-props.cjs +43 -0
  771. package/dist/cjs/shared/utils/merge-refs/merge-refs.cjs +23 -0
  772. package/dist/cjs/shared/utils/ssr.cjs +12 -0
  773. package/dist/cjs/shared/utils/tcx/tcx.cjs +40 -0
  774. package/dist/cjs/sounds/message-notification.aac +0 -0
  775. package/dist/cjs/sounds/message-notification.mp3 +0 -0
  776. package/dist/core/app/components/alert-dialog/dist/index.d.ts +148 -0
  777. package/dist/core/app/components/alert-dialog/src/alert-dialog.d.ts +8 -0
  778. package/dist/core/app/components/alert-dialog/src/context/alert-dialog-context.d.ts +3 -0
  779. package/dist/core/app/components/alert-dialog/src/context/alert-dialog-provider.d.ts +9 -0
  780. package/dist/core/app/components/alert-dialog/src/context/index.d.ts +2 -0
  781. package/dist/core/app/components/alert-dialog/src/hooks/index.d.ts +1 -0
  782. package/dist/core/app/components/alert-dialog/src/hooks/use-alert-dialog.d.ts +11 -0
  783. package/dist/core/app/components/alert-dialog/src/index.d.ts +5 -0
  784. package/dist/core/app/components/alert-dialog/src/tv.d.ts +91 -0
  785. package/dist/core/app/components/alert-dialog/src/types.d.ts +99 -0
  786. package/dist/core/app/components/alert-dialog/src/utils/index.d.ts +14 -0
  787. package/dist/core/app/components/alert-dialog/tsup.config.d.ts +2 -0
  788. package/dist/core/app/components/avatar/dist/index.d.ts +15 -0
  789. package/dist/core/app/components/avatar/src/avatar.d.ts +11 -0
  790. package/dist/core/app/components/avatar/src/index.d.ts +2 -0
  791. package/dist/core/app/components/avatar/src/letter.d.ts +6 -0
  792. package/dist/core/app/components/avatar/src/tv.d.ts +79 -0
  793. package/dist/core/app/components/avatar/tsup.config.d.ts +2 -0
  794. package/dist/core/app/components/badge/dist/index.d.ts +11 -0
  795. package/dist/core/app/components/badge/src/badge.d.ts +7 -0
  796. package/dist/core/app/components/badge/src/index.d.ts +1 -0
  797. package/dist/core/app/components/badge/src/tv.d.ts +76 -0
  798. package/dist/core/app/components/badge/tsup.config.d.ts +2 -0
  799. package/dist/core/app/components/bells/dist/index.d.ts +20 -0
  800. package/dist/core/app/components/bells/src/bells.d.ts +15 -0
  801. package/dist/core/app/components/bells/src/index.d.ts +1 -0
  802. package/dist/core/app/components/bells/src/tv.d.ts +148 -0
  803. package/dist/core/app/components/bells/tsup.config.d.ts +2 -0
  804. package/dist/core/app/components/bezier-curve-editor/dist/index.d.ts +78 -0
  805. package/dist/core/app/components/bezier-curve-editor/src/bezier-curve-editor.d.ts +26 -0
  806. package/dist/core/app/components/bezier-curve-editor/src/components/bezier-curve-editor-curve.d.ts +22 -0
  807. package/dist/core/app/components/bezier-curve-editor/src/components/bezier-curve-editor-end-points.d.ts +21 -0
  808. package/dist/core/app/components/bezier-curve-editor/src/components/bezier-curve-editor-plane.d.ts +8 -0
  809. package/dist/core/app/components/bezier-curve-editor/src/components/index.d.ts +4 -0
  810. package/dist/core/app/components/bezier-curve-editor/src/components/linear-gradient.d.ts +7 -0
  811. package/dist/core/app/components/bezier-curve-editor/src/constants.d.ts +19 -0
  812. package/dist/core/app/components/bezier-curve-editor/src/hooks.d.ts +6 -0
  813. package/dist/core/app/components/bezier-curve-editor/src/index.d.ts +6 -0
  814. package/dist/core/app/components/bezier-curve-editor/src/tv.d.ts +64 -0
  815. package/dist/core/app/components/bezier-curve-editor/src/types.d.ts +16 -0
  816. package/dist/core/app/components/bezier-curve-editor/src/utils.d.ts +7 -0
  817. package/dist/core/app/components/bezier-curve-editor/tsup.config.d.ts +2 -0
  818. package/dist/core/app/components/button/dist/index.d.ts +111 -0
  819. package/dist/core/app/components/button/src/button.d.ts +20 -0
  820. package/dist/core/app/components/button/src/index.d.ts +2 -0
  821. package/dist/core/app/components/button/src/tv.d.ts +202 -0
  822. package/dist/core/app/components/button/tsup.config.d.ts +2 -0
  823. package/dist/core/app/components/calendar/dist/index.d.ts +1119 -0
  824. package/dist/core/app/components/calendar/src/date-input/date-input.d.ts +57 -0
  825. package/dist/core/app/components/calendar/src/date-input/index.d.ts +1 -0
  826. package/dist/core/app/components/calendar/src/date-range-input/date-range-input.d.ts +32 -0
  827. package/dist/core/app/components/calendar/src/date-range-input/index.d.ts +1 -0
  828. package/dist/core/app/components/calendar/src/hooks/index.d.ts +2 -0
  829. package/dist/core/app/components/calendar/src/hooks/use-date-input.d.ts +29 -0
  830. package/dist/core/app/components/calendar/src/hooks/use-time-input.d.ts +29 -0
  831. package/dist/core/app/components/calendar/src/index.d.ts +11 -0
  832. package/dist/core/app/components/calendar/src/month-calendar/index.d.ts +1 -0
  833. package/dist/core/app/components/calendar/src/month-calendar/month-calendar-date-cell.d.ts +13 -0
  834. package/dist/core/app/components/calendar/src/month-calendar/month-calendar-header.d.ts +12 -0
  835. package/dist/core/app/components/calendar/src/month-calendar/month-calendar-week-day.d.ts +5 -0
  836. package/dist/core/app/components/calendar/src/month-calendar/month-calendar-week-number.d.ts +6 -0
  837. package/dist/core/app/components/calendar/src/month-calendar/month-calendar.d.ts +4 -0
  838. package/dist/core/app/components/calendar/src/month-calendar/tv.d.ts +286 -0
  839. package/dist/core/app/components/calendar/src/quarter-calendar/index.d.ts +1 -0
  840. package/dist/core/app/components/calendar/src/quarter-calendar/quarter-calendar-cell.d.ts +8 -0
  841. package/dist/core/app/components/calendar/src/quarter-calendar/quarter-calendar-header.d.ts +12 -0
  842. package/dist/core/app/components/calendar/src/quarter-calendar/quarter-calendar.d.ts +4 -0
  843. package/dist/core/app/components/calendar/src/quarter-calendar/tv.d.ts +212 -0
  844. package/dist/core/app/components/calendar/src/time-calendar/index.d.ts +1 -0
  845. package/dist/core/app/components/calendar/src/time-calendar/time-calendar.d.ts +12 -0
  846. package/dist/core/app/components/calendar/src/time-input/index.d.ts +1 -0
  847. package/dist/core/app/components/calendar/src/time-input/time-input.d.ts +21 -0
  848. package/dist/core/app/components/calendar/src/time-range-input/index.d.ts +1 -0
  849. package/dist/core/app/components/calendar/src/time-range-input/time-range-input.d.ts +24 -0
  850. package/dist/core/app/components/calendar/src/types.d.ts +495 -0
  851. package/dist/core/app/components/calendar/src/utils/constants.d.ts +38 -0
  852. package/dist/core/app/components/calendar/src/utils/date-comparisons.d.ts +105 -0
  853. package/dist/core/app/components/calendar/src/utils/index.d.ts +8 -0
  854. package/dist/core/app/components/calendar/src/utils/locale.d.ts +33 -0
  855. package/dist/core/app/components/calendar/src/utils/month.d.ts +29 -0
  856. package/dist/core/app/components/calendar/src/utils/parsers/english-dates.d.ts +1 -0
  857. package/dist/core/app/components/calendar/src/utils/parsers/format-utils.d.ts +4 -0
  858. package/dist/core/app/components/calendar/src/utils/parsers/index.d.ts +19 -0
  859. package/dist/core/app/components/calendar/src/utils/parsers/month-names.d.ts +3 -0
  860. package/dist/core/app/components/calendar/src/utils/parsers/natural-language.d.ts +3 -0
  861. package/dist/core/app/components/calendar/src/utils/parsers/numeric-utils.d.ts +59 -0
  862. package/dist/core/app/components/calendar/src/utils/parsers/parsers.d.ts +50 -0
  863. package/dist/core/app/components/calendar/src/utils/parsers/prediction.d.ts +23 -0
  864. package/dist/core/app/components/calendar/src/utils/parsers/relative-dates.d.ts +2 -0
  865. package/dist/core/app/components/calendar/src/utils/parsers/shortcuts.d.ts +1 -0
  866. package/dist/core/app/components/calendar/src/utils/parsers/validators.d.ts +11 -0
  867. package/dist/core/app/components/calendar/src/utils/quarter.d.ts +33 -0
  868. package/dist/core/app/components/calendar/src/utils/time.d.ts +43 -0
  869. package/dist/core/app/components/calendar/src/utils/year.d.ts +9 -0
  870. package/dist/core/app/components/calendar/src/year-calendar/index.d.ts +1 -0
  871. package/dist/core/app/components/calendar/src/year-calendar/tv.d.ts +97 -0
  872. package/dist/core/app/components/calendar/src/year-calendar/year-calendar-cell.d.ts +8 -0
  873. package/dist/core/app/components/calendar/src/year-calendar/year-calendar-header.d.ts +13 -0
  874. package/dist/core/app/components/calendar/src/year-calendar/year-calendar.d.ts +4 -0
  875. package/dist/core/app/components/calendar/tsup.config.d.ts +2 -0
  876. package/dist/core/app/components/checkbox/dist/index.d.ts +39 -0
  877. package/dist/core/app/components/checkbox/src/checkbox-label.d.ts +5 -0
  878. package/dist/core/app/components/checkbox/src/checkbox.d.ts +21 -0
  879. package/dist/core/app/components/checkbox/src/context.d.ts +11 -0
  880. package/dist/core/app/components/checkbox/src/index.d.ts +5 -0
  881. package/dist/core/app/components/checkbox/src/tv.d.ts +94 -0
  882. package/dist/core/app/components/checkbox/tsup.config.d.ts +2 -0
  883. package/dist/core/app/components/chip/dist/index.d.ts +28 -0
  884. package/dist/core/app/components/chip/src/chip.d.ts +24 -0
  885. package/dist/core/app/components/chip/src/index.d.ts +1 -0
  886. package/dist/core/app/components/chip/src/tv.d.ts +184 -0
  887. package/dist/core/app/components/chip/tsup.config.d.ts +2 -0
  888. package/dist/core/app/components/chips-input/dist/index.d.ts +28 -0
  889. package/dist/core/app/components/chips-input/src/chips-input.d.ts +24 -0
  890. package/dist/core/app/components/chips-input/src/index.d.ts +1 -0
  891. package/dist/core/app/components/chips-input/src/tv.d.ts +137 -0
  892. package/dist/core/app/components/chips-input/tsup.config.d.ts +2 -0
  893. package/dist/core/app/components/code-block/dist/index.d.ts +98 -0
  894. package/dist/core/app/components/code-block/src/code-block.d.ts +3 -0
  895. package/dist/core/app/components/code-block/src/components/code-block-code.d.ts +2 -0
  896. package/dist/core/app/components/code-block/src/components/code-block-content.d.ts +2 -0
  897. package/dist/core/app/components/code-block/src/components/code-block-footer.d.ts +2 -0
  898. package/dist/core/app/components/code-block/src/components/code-block-header.d.ts +3 -0
  899. package/dist/core/app/components/code-block/src/components/index.d.ts +4 -0
  900. package/dist/core/app/components/code-block/src/hooks/index.d.ts +4 -0
  901. package/dist/core/app/components/code-block/src/hooks/use-code-block.d.ts +18 -0
  902. package/dist/core/app/components/code-block/src/hooks/use-line-count.d.ts +2 -0
  903. package/dist/core/app/components/code-block/src/hooks/use-scroll-detection.d.ts +10 -0
  904. package/dist/core/app/components/code-block/src/hooks/use-theme.d.ts +1 -0
  905. package/dist/core/app/components/code-block/src/index.d.ts +10 -0
  906. package/dist/core/app/components/code-block/src/types.d.ts +86 -0
  907. package/dist/core/app/components/code-block/src/utils/default-filename.d.ts +1 -0
  908. package/dist/core/app/components/code-block/src/utils/extract-code.d.ts +2 -0
  909. package/dist/core/app/components/code-block/src/utils/index.d.ts +3 -0
  910. package/dist/core/app/components/code-block/src/utils/language-icon-map.d.ts +24 -0
  911. package/dist/core/app/components/code-block/tsup.config.d.ts +2 -0
  912. package/dist/core/app/components/combobox/dist/index.d.ts +61 -0
  913. package/dist/core/app/components/combobox/src/combobox-trigger.d.ts +20 -0
  914. package/dist/core/app/components/combobox/src/combobox.d.ts +41 -0
  915. package/dist/core/app/components/combobox/src/index.d.ts +2 -0
  916. package/dist/core/app/components/combobox/src/tv.d.ts +184 -0
  917. package/dist/core/app/components/combobox/tsup.config.d.ts +2 -0
  918. package/dist/core/app/components/command/dist/index.d.ts +130 -0
  919. package/dist/core/app/components/command/src/command-score.d.ts +1 -0
  920. package/dist/core/app/components/command/src/command.d.ts +4 -0
  921. package/dist/core/app/components/command/src/components/command-divider.d.ts +6 -0
  922. package/dist/core/app/components/command/src/components/command-empty.d.ts +5 -0
  923. package/dist/core/app/components/command/src/components/command-footer.d.ts +2 -0
  924. package/dist/core/app/components/command/src/components/command-group.d.ts +7 -0
  925. package/dist/core/app/components/command/src/components/command-input.d.ts +9 -0
  926. package/dist/core/app/components/command/src/components/command-item.d.ts +16 -0
  927. package/dist/core/app/components/command/src/components/command-list.d.ts +7 -0
  928. package/dist/core/app/components/command/src/components/command-loading.d.ts +6 -0
  929. package/dist/core/app/components/command/src/components/command-tabs.d.ts +2 -0
  930. package/dist/core/app/components/command/src/components/command-value.d.ts +2 -0
  931. package/dist/core/app/components/command/src/components/index.d.ts +10 -0
  932. package/dist/core/app/components/command/src/context/command-context.d.ts +3 -0
  933. package/dist/core/app/components/command/src/context/create-command-context.d.ts +26 -0
  934. package/dist/core/app/components/command/src/context/index.d.ts +2 -0
  935. package/dist/core/app/components/command/src/hooks/index.d.ts +8 -0
  936. package/dist/core/app/components/command/src/hooks/use-as-ref.d.ts +2 -0
  937. package/dist/core/app/components/command/src/hooks/use-command-state.d.ts +4 -0
  938. package/dist/core/app/components/command/src/hooks/use-command.d.ts +1 -0
  939. package/dist/core/app/components/command/src/hooks/use-schedule-layout-effect.d.ts +2 -0
  940. package/dist/core/app/components/command/src/hooks/use-value.d.ts +2 -0
  941. package/dist/core/app/components/command/src/index.d.ts +15 -0
  942. package/dist/core/app/components/command/src/store/index.d.ts +0 -0
  943. package/dist/core/app/components/command/src/tv.d.ts +384 -0
  944. package/dist/core/app/components/command/src/types.d.ts +80 -0
  945. package/dist/core/app/components/command/src/utils/constants.d.ts +7 -0
  946. package/dist/core/app/components/command/src/utils/dom.d.ts +2 -0
  947. package/dist/core/app/components/command/src/utils/helpers.d.ts +7 -0
  948. package/dist/core/app/components/command/src/utils/index.d.ts +3 -0
  949. package/dist/core/app/components/command/tsup.config.d.ts +2 -0
  950. package/dist/core/app/components/comments/dist/index.d.ts +334 -0
  951. package/dist/core/app/components/comments/src/comment-input/comment-input.d.ts +16 -0
  952. package/dist/core/app/components/comments/src/comment-input/components/comment-input-emoji-popover.d.ts +8 -0
  953. package/dist/core/app/components/comments/src/comment-input/components/comment-input-footer.d.ts +22 -0
  954. package/dist/core/app/components/comments/src/comment-input/components/comment-input-mention-popover.d.ts +14 -0
  955. package/dist/core/app/components/comments/src/comment-input/components/comment-input-plugins.d.ts +7 -0
  956. package/dist/core/app/components/comments/src/comment-input/components/comment-input-renderers.d.ts +4 -0
  957. package/dist/core/app/components/comments/src/comment-input/components/comment-input-serializers.d.ts +14 -0
  958. package/dist/core/app/components/comments/src/comment-input/components/index.d.ts +7 -0
  959. package/dist/core/app/components/comments/src/comment-input/hooks/index.d.ts +1 -0
  960. package/dist/core/app/components/comments/src/comment-input/hooks/use-comment-input.d.ts +35 -0
  961. package/dist/core/app/components/comments/src/comment-input/index.d.ts +2 -0
  962. package/dist/core/app/components/comments/src/comment-input/tv.d.ts +107 -0
  963. package/dist/core/app/components/comments/src/comment-input/types.d.ts +68 -0
  964. package/dist/core/app/components/comments/src/comment-input/utils/comment-input-hotkeys.d.ts +12 -0
  965. package/dist/core/app/components/comments/src/comment-input/utils/comment-input-utils.d.ts +7 -0
  966. package/dist/core/app/components/comments/src/comment-input/utils/index.d.ts +2 -0
  967. package/dist/core/app/components/comments/src/comment-input/utils/is-hotkey.d.ts +21 -0
  968. package/dist/core/app/components/comments/src/comment-item/comment-item.d.ts +27 -0
  969. package/dist/core/app/components/comments/src/comment-item/components/comment-item-reactions.d.ts +20 -0
  970. package/dist/core/app/components/comments/src/comment-item/components/comment-item-renderers.d.ts +6 -0
  971. package/dist/core/app/components/comments/src/comment-item/components/index.d.ts +2 -0
  972. package/dist/core/app/components/comments/src/comment-item/hooks/index.d.ts +2 -0
  973. package/dist/core/app/components/comments/src/comment-item/hooks/use-formatted-date.d.ts +13 -0
  974. package/dist/core/app/components/comments/src/comment-item/index.d.ts +2 -0
  975. package/dist/core/app/components/comments/src/comment-item/tv.d.ts +140 -0
  976. package/dist/core/app/components/comments/src/comments.d.ts +16 -0
  977. package/dist/core/app/components/comments/src/components/element/attachments-comment.d.ts +10 -0
  978. package/dist/core/app/components/comments/src/components/element/attachments-edit.d.ts +12 -0
  979. package/dist/core/app/components/comments/src/components/element/index.d.ts +3 -0
  980. package/dist/core/app/components/comments/src/components/element/mention.d.ts +9 -0
  981. package/dist/core/app/components/comments/src/components/element/tv.d.ts +85 -0
  982. package/dist/core/app/components/comments/src/components/image-preview-popover.d.ts +10 -0
  983. package/dist/core/app/components/comments/src/components/index.d.ts +2 -0
  984. package/dist/core/app/components/comments/src/hooks/index.d.ts +3 -0
  985. package/dist/core/app/components/comments/src/hooks/use-create-comment.d.ts +19 -0
  986. package/dist/core/app/components/comments/src/hooks/use-scroll-to-bottom.d.ts +20 -0
  987. package/dist/core/app/components/comments/src/hooks/use-update-comment.d.ts +42 -0
  988. package/dist/core/app/components/comments/src/index.d.ts +5 -0
  989. package/dist/core/app/components/comments/src/state/comments-state.d.ts +160 -0
  990. package/dist/core/app/components/comments/src/tv.d.ts +43 -0
  991. package/dist/core/app/components/comments/src/types.d.ts +48 -0
  992. package/dist/core/app/components/comments/tsup.config.d.ts +2 -0
  993. package/dist/core/app/components/conditions/dist/index.d.ts +776 -0
  994. package/dist/core/app/components/conditions/src/components/condition-group.d.ts +38 -0
  995. package/dist/core/app/components/conditions/src/components/condition-item.d.ts +6 -0
  996. package/dist/core/app/components/conditions/src/components/condition-items/array-length-input.d.ts +2 -0
  997. package/dist/core/app/components/conditions/src/components/condition-items/boolean-input.d.ts +2 -0
  998. package/dist/core/app/components/conditions/src/components/condition-items/date-input.d.ts +3 -0
  999. package/dist/core/app/components/conditions/src/components/condition-items/index.d.ts +10 -0
  1000. package/dist/core/app/components/conditions/src/components/condition-items/multi-select-input.d.ts +2 -0
  1001. package/dist/core/app/components/conditions/src/components/condition-items/number-input.d.ts +3 -0
  1002. package/dist/core/app/components/conditions/src/components/condition-items/regex-input.d.ts +2 -0
  1003. package/dist/core/app/components/conditions/src/components/condition-items/select-input.d.ts +2 -0
  1004. package/dist/core/app/components/conditions/src/components/condition-items/tag-input.d.ts +2 -0
  1005. package/dist/core/app/components/conditions/src/components/condition-items/text-input.d.ts +2 -0
  1006. package/dist/core/app/components/conditions/src/components/condition-items/types.d.ts +16 -0
  1007. package/dist/core/app/components/conditions/src/components/condition-items/user-input.d.ts +2 -0
  1008. package/dist/core/app/components/conditions/src/components/group-renderers.d.ts +28 -0
  1009. package/dist/core/app/components/conditions/src/components/index.d.ts +4 -0
  1010. package/dist/core/app/components/conditions/src/conditions.d.ts +6 -0
  1011. package/dist/core/app/components/conditions/src/hooks/index.d.ts +3 -0
  1012. package/dist/core/app/components/conditions/src/hooks/use-conditions.d.ts +10 -0
  1013. package/dist/core/app/components/conditions/src/hooks/use-drag-and-drop.d.ts +51 -0
  1014. package/dist/core/app/components/conditions/src/hooks/use-field-operators.d.ts +32 -0
  1015. package/dist/core/app/components/conditions/src/index.d.ts +9 -0
  1016. package/dist/core/app/components/conditions/src/types.d.ts +357 -0
  1017. package/dist/core/app/components/conditions/src/utils/constants.d.ts +97 -0
  1018. package/dist/core/app/components/conditions/src/utils/index.d.ts +3 -0
  1019. package/dist/core/app/components/conditions/src/utils/operator-utils.d.ts +18 -0
  1020. package/dist/core/app/components/conditions/src/utils/utilities.d.ts +104 -0
  1021. package/dist/core/app/components/conditions/tsup.config.d.ts +2 -0
  1022. package/dist/core/app/components/context-input/dist/index.d.ts +450 -0
  1023. package/dist/core/app/components/context-input/src/components/context-input-footer.d.ts +9 -0
  1024. package/dist/core/app/components/context-input/src/components/context-input-header.d.ts +8 -0
  1025. package/dist/core/app/components/context-input/src/components/copy-button.d.ts +7 -0
  1026. package/dist/core/app/components/context-input/src/components/index.d.ts +7 -0
  1027. package/dist/core/app/components/context-input/src/components/insert-mentions-button.d.ts +6 -0
  1028. package/dist/core/app/components/context-input/src/components/mention-menu.d.ts +21 -0
  1029. package/dist/core/app/components/context-input/src/components/mention.d.ts +3 -0
  1030. package/dist/core/app/components/context-input/src/components/slate-editor.d.ts +20 -0
  1031. package/dist/core/app/components/context-input/src/components/tv.d.ts +66 -0
  1032. package/dist/core/app/components/context-input/src/context-input.d.ts +12 -0
  1033. package/dist/core/app/components/context-input/src/extensions/index.d.ts +2 -0
  1034. package/dist/core/app/components/context-input/src/extensions/with-max-length.d.ts +2 -0
  1035. package/dist/core/app/components/context-input/src/extensions/with-mentions.d.ts +2 -0
  1036. package/dist/core/app/components/context-input/src/hooks/index.d.ts +4 -0
  1037. package/dist/core/app/components/context-input/src/hooks/use-context-input-editor.d.ts +3 -0
  1038. package/dist/core/app/components/context-input/src/hooks/use-context-input.d.ts +14 -0
  1039. package/dist/core/app/components/context-input/src/hooks/use-mentions.d.ts +33 -0
  1040. package/dist/core/app/components/context-input/src/hooks/use-slate-editor.d.ts +2 -0
  1041. package/dist/core/app/components/context-input/src/index.d.ts +6 -0
  1042. package/dist/core/app/components/context-input/src/tv.d.ts +157 -0
  1043. package/dist/core/app/components/context-input/src/types/editor.d.ts +4 -0
  1044. package/dist/core/app/components/context-input/src/types.d.ts +89 -0
  1045. package/dist/core/app/components/context-input/src/utils/context-extraction.d.ts +4 -0
  1046. package/dist/core/app/components/context-input/src/utils/index.d.ts +4 -0
  1047. package/dist/core/app/components/context-input/src/utils/mention-spacing.d.ts +32 -0
  1048. package/dist/core/app/components/context-input/src/utils/slate-converters.d.ts +25 -0
  1049. package/dist/core/app/components/context-input/src/utils/text-extraction.d.ts +11 -0
  1050. package/dist/core/app/components/context-input/tsup.config.d.ts +2 -0
  1051. package/dist/core/app/components/context-menu/dist/index.d.ts +38 -0
  1052. package/dist/core/app/components/context-menu/src/context-menu.d.ts +37 -0
  1053. package/dist/core/app/components/context-menu/src/index.d.ts +2 -0
  1054. package/dist/core/app/components/context-menu/tsup.config.d.ts +2 -0
  1055. package/dist/core/app/components/dialog/dist/index.d.ts +53 -0
  1056. package/dist/core/app/components/dialog/src/components/dialog-header.d.ts +1 -0
  1057. package/dist/core/app/components/dialog/src/components/dialog-trigger.d.ts +5 -0
  1058. package/dist/core/app/components/dialog/src/components/index.d.ts +2 -0
  1059. package/dist/core/app/components/dialog/src/dialog-context.d.ts +14 -0
  1060. package/dist/core/app/components/dialog/src/dialog.d.ts +42 -0
  1061. package/dist/core/app/components/dialog/src/hooks/index.d.ts +3 -0
  1062. package/dist/core/app/components/dialog/src/hooks/use-drag.d.ts +22 -0
  1063. package/dist/core/app/components/dialog/src/hooks/use-floating-dialog.d.ts +46 -0
  1064. package/dist/core/app/components/dialog/src/hooks/use-resize.d.ts +32 -0
  1065. package/dist/core/app/components/dialog/src/index.d.ts +2 -0
  1066. package/dist/core/app/components/dialog/src/tv.d.ts +67 -0
  1067. package/dist/core/app/components/dialog/src/types.d.ts +1 -0
  1068. package/dist/core/app/components/dialog/src/utils/calculate-initial-position.d.ts +5 -0
  1069. package/dist/core/app/components/dialog/src/utils/index.d.ts +1 -0
  1070. package/dist/core/app/components/dialog/tsup.config.d.ts +2 -0
  1071. package/dist/core/app/components/dropdown/dist/index.d.ts +45 -0
  1072. package/dist/core/app/components/dropdown/src/dropdown.d.ts +44 -0
  1073. package/dist/core/app/components/dropdown/src/index.d.ts +2 -0
  1074. package/dist/core/app/components/dropdown/tsup.config.d.ts +2 -0
  1075. package/dist/core/app/components/emoji-picker/dist/index.d.ts +33 -0
  1076. package/dist/core/app/components/emoji-picker/src/components/emoji-category-header.d.ts +9 -0
  1077. package/dist/core/app/components/emoji-picker/src/components/emoji-empty.d.ts +5 -0
  1078. package/dist/core/app/components/emoji-picker/src/components/emoji-footer.d.ts +8 -0
  1079. package/dist/core/app/components/emoji-picker/src/components/emoji-item.d.ts +10 -0
  1080. package/dist/core/app/components/emoji-picker/src/components/index.d.ts +4 -0
  1081. package/dist/core/app/components/emoji-picker/src/emoji-picker.d.ts +17 -0
  1082. package/dist/core/app/components/emoji-picker/src/hooks/index.d.ts +3 -0
  1083. package/dist/core/app/components/emoji-picker/src/hooks/use-emoji-data.d.ts +77 -0
  1084. package/dist/core/app/components/emoji-picker/src/hooks/use-emoji-scroll.d.ts +28 -0
  1085. package/dist/core/app/components/emoji-picker/src/index.d.ts +3 -0
  1086. package/dist/core/app/components/emoji-picker/src/tv.d.ts +289 -0
  1087. package/dist/core/app/components/emoji-picker/src/utils/emoji-data.d.ts +7 -0
  1088. package/dist/core/app/components/emoji-picker/src/utils/index.d.ts +1 -0
  1089. package/dist/core/app/components/emoji-picker/tsup.config.d.ts +2 -0
  1090. package/dist/core/app/components/file-upload/dist/index.d.ts +140 -0
  1091. package/dist/core/app/components/file-upload/src/components/file-upload-clear.d.ts +6 -0
  1092. package/dist/core/app/components/file-upload/src/components/file-upload-dropzone.d.ts +5 -0
  1093. package/dist/core/app/components/file-upload/src/components/file-upload-item-delete.d.ts +5 -0
  1094. package/dist/core/app/components/file-upload/src/components/file-upload-item-metadata.d.ts +5 -0
  1095. package/dist/core/app/components/file-upload/src/components/file-upload-item-preview.d.ts +6 -0
  1096. package/dist/core/app/components/file-upload/src/components/file-upload-item-progress.d.ts +7 -0
  1097. package/dist/core/app/components/file-upload/src/components/file-upload-item.d.ts +6 -0
  1098. package/dist/core/app/components/file-upload/src/components/file-upload-list.d.ts +7 -0
  1099. package/dist/core/app/components/file-upload/src/components/file-upload-trigger.d.ts +5 -0
  1100. package/dist/core/app/components/file-upload/src/components/index.d.ts +9 -0
  1101. package/dist/core/app/components/file-upload/src/constants.d.ts +22 -0
  1102. package/dist/core/app/components/file-upload/src/contexts.d.ts +8 -0
  1103. package/dist/core/app/components/file-upload/src/file-upload.d.ts +40 -0
  1104. package/dist/core/app/components/file-upload/src/hooks/index.d.ts +2 -0
  1105. package/dist/core/app/components/file-upload/src/hooks/use-file-upload-context.d.ts +54 -0
  1106. package/dist/core/app/components/file-upload/src/hooks/use-store.d.ts +50 -0
  1107. package/dist/core/app/components/file-upload/src/index.d.ts +1 -0
  1108. package/dist/core/app/components/file-upload/src/store.d.ts +6 -0
  1109. package/dist/core/app/components/file-upload/src/tv.d.ts +91 -0
  1110. package/dist/core/app/components/file-upload/src/types.d.ts +59 -0
  1111. package/dist/core/app/components/file-upload/src/utils/get-file-icon.d.ts +1 -0
  1112. package/dist/core/app/components/file-upload/src/utils/index.d.ts +1 -0
  1113. package/dist/core/app/components/file-upload/tsup.config.d.ts +2 -0
  1114. package/dist/core/app/components/form/dist/index.d.ts +408 -0
  1115. package/dist/core/app/components/form/src/adapters/base-adapter.d.ts +19 -0
  1116. package/dist/core/app/components/form/src/adapters/checkbox-adapter.d.ts +9 -0
  1117. package/dist/core/app/components/form/src/adapters/index.d.ts +13 -0
  1118. package/dist/core/app/components/form/src/adapters/input-adapter.d.ts +9 -0
  1119. package/dist/core/app/components/form/src/adapters/multi-select-adapter.d.ts +9 -0
  1120. package/dist/core/app/components/form/src/adapters/numeric-input-adapter.d.ts +9 -0
  1121. package/dist/core/app/components/form/src/adapters/raido-group-adapter.d.ts +15 -0
  1122. package/dist/core/app/components/form/src/adapters/range-adapter.d.ts +15 -0
  1123. package/dist/core/app/components/form/src/adapters/segmented-adapter.d.ts +15 -0
  1124. package/dist/core/app/components/form/src/adapters/select-adapter.d.ts +9 -0
  1125. package/dist/core/app/components/form/src/adapters/switch-adapter.d.ts +9 -0
  1126. package/dist/core/app/components/form/src/adapters/textarea-adapter.d.ts +9 -0
  1127. package/dist/core/app/components/form/src/index.d.ts +36 -0
  1128. package/dist/core/app/components/form/src/tv.d.ts +37 -0
  1129. package/dist/core/app/components/form/src/types.d.ts +309 -0
  1130. package/dist/core/app/components/form/tsup.config.d.ts +2 -0
  1131. package/dist/core/app/components/hint/dist/index.d.ts +75 -0
  1132. package/dist/core/app/components/hint/src/components/index.d.ts +2 -0
  1133. package/dist/core/app/components/hint/src/components/info-content.d.ts +8 -0
  1134. package/dist/core/app/components/hint/src/components/info-trigger.d.ts +7 -0
  1135. package/dist/core/app/components/hint/src/context/hint-context.d.ts +13 -0
  1136. package/dist/core/app/components/hint/src/hint.d.ts +16 -0
  1137. package/dist/core/app/components/hint/src/hooks/index.d.ts +1 -0
  1138. package/dist/core/app/components/hint/src/hooks/use-hint.d.ts +29 -0
  1139. package/dist/core/app/components/hint/src/index.d.ts +3 -0
  1140. package/dist/core/app/components/hint/src/tv.d.ts +82 -0
  1141. package/dist/core/app/components/hint/tsup.config.d.ts +2 -0
  1142. package/dist/core/app/components/icon-button/dist/index.d.ts +26 -0
  1143. package/dist/core/app/components/icon-button/src/icon-button-group.d.ts +6 -0
  1144. package/dist/core/app/components/icon-button/src/icon-button.d.ts +17 -0
  1145. package/dist/core/app/components/icon-button/src/index.d.ts +4 -0
  1146. package/dist/core/app/components/icon-button/src/tv.d.ts +173 -0
  1147. package/dist/core/app/components/icon-button/tsup.config.d.ts +2 -0
  1148. package/dist/core/app/components/index.d.ts +63 -0
  1149. package/dist/core/app/components/input/dist/index.d.ts +16 -0
  1150. package/dist/core/app/components/input/src/index.d.ts +2 -0
  1151. package/dist/core/app/components/input/src/input.d.ts +12 -0
  1152. package/dist/core/app/components/input/src/tv.d.ts +70 -0
  1153. package/dist/core/app/components/input/tsup.config.d.ts +2 -0
  1154. package/dist/core/app/components/kbd/dist/index.d.ts +15 -0
  1155. package/dist/core/app/components/kbd/src/index.d.ts +2 -0
  1156. package/dist/core/app/components/kbd/src/kbd.d.ts +7 -0
  1157. package/dist/core/app/components/kbd/src/tv.d.ts +31 -0
  1158. package/dist/core/app/components/kbd/src/utils.d.ts +4 -0
  1159. package/dist/core/app/components/kbd/tsup.config.d.ts +2 -0
  1160. package/dist/core/app/components/label/dist/index.d.ts +13 -0
  1161. package/dist/core/app/components/label/src/index.d.ts +2 -0
  1162. package/dist/core/app/components/label/src/label.d.ts +11 -0
  1163. package/dist/core/app/components/label/src/tv.d.ts +49 -0
  1164. package/dist/core/app/components/label/tsup.config.d.ts +2 -0
  1165. package/dist/core/app/components/link-button/dist/index.d.ts +17 -0
  1166. package/dist/core/app/components/link-button/src/index.d.ts +2 -0
  1167. package/dist/core/app/components/link-button/src/link-button.d.ts +14 -0
  1168. package/dist/core/app/components/link-button/tsup.config.d.ts +2 -0
  1169. package/dist/core/app/components/list/dist/index.d.ts +129 -0
  1170. package/dist/core/app/components/list/src/components/list-content.d.ts +5 -0
  1171. package/dist/core/app/components/list/src/components/list-divider.d.ts +1 -0
  1172. package/dist/core/app/components/list/src/components/list-item.d.ts +23 -0
  1173. package/dist/core/app/components/list/src/components/list-label.d.ts +5 -0
  1174. package/dist/core/app/components/list/src/components/list-sub-trigger.d.ts +18 -0
  1175. package/dist/core/app/components/list/src/context/index.d.ts +2 -0
  1176. package/dist/core/app/components/list/src/context/list-context.d.ts +40 -0
  1177. package/dist/core/app/components/list/src/context/list-provider.d.ts +11 -0
  1178. package/dist/core/app/components/list/src/hooks/index.d.ts +1 -0
  1179. package/dist/core/app/components/list/src/hooks/use-list-keyboard.d.ts +2 -0
  1180. package/dist/core/app/components/list/src/index.d.ts +5 -0
  1181. package/dist/core/app/components/list/src/list.d.ts +26 -0
  1182. package/dist/core/app/components/list/src/tv.d.ts +251 -0
  1183. package/dist/core/app/components/list/tsup.config.d.ts +2 -0
  1184. package/dist/core/app/components/loader/dist/index.d.ts +78 -0
  1185. package/dist/core/app/components/loader/src/hooks/index.d.ts +1 -0
  1186. package/dist/core/app/components/loader/src/hooks/use-loader.d.ts +11 -0
  1187. package/dist/core/app/components/loader/src/index.d.ts +4 -0
  1188. package/dist/core/app/components/loader/src/loader.d.ts +5 -0
  1189. package/dist/core/app/components/loader/src/tv.d.ts +52 -0
  1190. package/dist/core/app/components/loader/src/types.d.ts +11 -0
  1191. package/dist/core/app/components/loader/tsup.config.d.ts +2 -0
  1192. package/dist/core/app/components/md-input/dist/index.d.ts +196 -0
  1193. package/dist/core/app/components/md-input/src/components/extensions/index.d.ts +1 -0
  1194. package/dist/core/app/components/md-input/src/components/extensions/md-input-mention.d.ts +14 -0
  1195. package/dist/core/app/components/md-input/src/components/index.d.ts +12 -0
  1196. package/dist/core/app/components/md-input/src/components/md-input-container.d.ts +5 -0
  1197. package/dist/core/app/components/md-input/src/components/md-input-editor.d.ts +5 -0
  1198. package/dist/core/app/components/md-input/src/components/md-input-footer.d.ts +5 -0
  1199. package/dist/core/app/components/md-input/src/components/md-input-header.d.ts +5 -0
  1200. package/dist/core/app/components/md-input/src/components/md-input-render.d.ts +7 -0
  1201. package/dist/core/app/components/md-input/src/components/md-input-tabs.d.ts +8 -0
  1202. package/dist/core/app/components/md-input/src/components/toolbar/default-actions.d.ts +2 -0
  1203. package/dist/core/app/components/md-input/src/components/toolbar/index.d.ts +3 -0
  1204. package/dist/core/app/components/md-input/src/components/toolbar/toolbar-button.d.ts +8 -0
  1205. package/dist/core/app/components/md-input/src/components/toolbar/toolbar.d.ts +3 -0
  1206. package/dist/core/app/components/md-input/src/components/toolbar/tv.d.ts +37 -0
  1207. package/dist/core/app/components/md-input/src/context/index.d.ts +1 -0
  1208. package/dist/core/app/components/md-input/src/context/md-input-context.d.ts +3 -0
  1209. package/dist/core/app/components/md-input/src/hooks/index.d.ts +3 -0
  1210. package/dist/core/app/components/md-input/src/hooks/use-markdown-formatting.d.ts +5 -0
  1211. package/dist/core/app/components/md-input/src/hooks/use-markdown-mentions.d.ts +15 -0
  1212. package/dist/core/app/components/md-input/src/hooks/use-markdown-shortcuts.d.ts +13 -0
  1213. package/dist/core/app/components/md-input/src/index.d.ts +5 -0
  1214. package/dist/core/app/components/md-input/src/md-input.d.ts +20 -0
  1215. package/dist/core/app/components/md-input/src/tv.d.ts +106 -0
  1216. package/dist/core/app/components/md-input/src/types.d.ts +79 -0
  1217. package/dist/core/app/components/md-input/tsup.config.d.ts +2 -0
  1218. package/dist/core/app/components/md-render/dist/index.d.ts +38 -0
  1219. package/dist/core/app/components/md-render/src/components/index.d.ts +2 -0
  1220. package/dist/core/app/components/md-render/src/components/markdown-block.d.ts +12 -0
  1221. package/dist/core/app/components/md-render/src/components/markdown-components.d.ts +10 -0
  1222. package/dist/core/app/components/md-render/src/constants.d.ts +2 -0
  1223. package/dist/core/app/components/md-render/src/hooks/index.d.ts +1 -0
  1224. package/dist/core/app/components/md-render/src/hooks/use-md-blocks.d.ts +1 -0
  1225. package/dist/core/app/components/md-render/src/index.d.ts +3 -0
  1226. package/dist/core/app/components/md-render/src/md-render.d.ts +2 -0
  1227. package/dist/core/app/components/md-render/src/tv.d.ts +250 -0
  1228. package/dist/core/app/components/md-render/src/types.d.ts +37 -0
  1229. package/dist/core/app/components/md-render/src/utils/extract-language.d.ts +1 -0
  1230. package/dist/core/app/components/md-render/src/utils/index.d.ts +3 -0
  1231. package/dist/core/app/components/md-render/src/utils/parse-md-into-blocks.d.ts +1 -0
  1232. package/dist/core/app/components/md-render/src/utils/process-mentions.d.ts +9 -0
  1233. package/dist/core/app/components/md-render/tsup.config.d.ts +2 -0
  1234. package/dist/core/app/components/menus/dist/index.d.ts +512 -0
  1235. package/dist/core/app/components/menus/src/components/index.d.ts +10 -0
  1236. package/dist/core/app/components/menus/src/components/menu-button.d.ts +2 -0
  1237. package/dist/core/app/components/menus/src/components/menu-checkbox.d.ts +9 -0
  1238. package/dist/core/app/components/menus/src/components/menu-divider.d.ts +2 -0
  1239. package/dist/core/app/components/menus/src/components/menu-input.d.ts +2 -0
  1240. package/dist/core/app/components/menus/src/components/menu-item.d.ts +22 -0
  1241. package/dist/core/app/components/menus/src/components/menu-label.d.ts +7 -0
  1242. package/dist/core/app/components/menus/src/components/menu-scroll-arrow.d.ts +12 -0
  1243. package/dist/core/app/components/menus/src/components/menu-search.d.ts +12 -0
  1244. package/dist/core/app/components/menus/src/components/menu-trigger.d.ts +12 -0
  1245. package/dist/core/app/components/menus/src/components/menu-value.d.ts +5 -0
  1246. package/dist/core/app/components/menus/src/context/index.d.ts +5 -0
  1247. package/dist/core/app/components/menus/src/context/menu-context-content.d.ts +7 -0
  1248. package/dist/core/app/components/menus/src/context/menu-context-item.d.ts +20 -0
  1249. package/dist/core/app/components/menus/src/context/menu-context-label.d.ts +2 -0
  1250. package/dist/core/app/components/menus/src/context/menu-context-sub-trigger.d.ts +2 -0
  1251. package/dist/core/app/components/menus/src/context/menu-context.d.ts +18 -0
  1252. package/dist/core/app/components/menus/src/hooks/index.d.ts +20 -0
  1253. package/dist/core/app/components/menus/src/hooks/use-menu-base-refs.d.ts +25 -0
  1254. package/dist/core/app/components/menus/src/hooks/use-menu-children.d.ts +35 -0
  1255. package/dist/core/app/components/menus/src/hooks/use-menu-floating.d.ts +54 -0
  1256. package/dist/core/app/components/menus/src/hooks/use-menu-hooks.test.d.ts +18 -0
  1257. package/dist/core/app/components/menus/src/hooks/use-menu-refs.d.ts +27 -0
  1258. package/dist/core/app/components/menus/src/hooks/use-menu-scroll-height.d.ts +23 -0
  1259. package/dist/core/app/components/menus/src/hooks/use-menu-scroll.d.ts +40 -0
  1260. package/dist/core/app/components/menus/src/hooks/use-menu-selection.d.ts +49 -0
  1261. package/dist/core/app/components/menus/src/hooks/use-menu-state.d.ts +34 -0
  1262. package/dist/core/app/components/menus/src/hooks/use-menu-touch.d.ts +27 -0
  1263. package/dist/core/app/components/menus/src/hooks/use-menu-tree.d.ts +33 -0
  1264. package/dist/core/app/components/menus/src/index.d.ts +6 -0
  1265. package/dist/core/app/components/menus/src/menus.d.ts +28 -0
  1266. package/dist/core/app/components/menus/src/tv.d.ts +423 -0
  1267. package/dist/core/app/components/menus/tsup.config.d.ts +2 -0
  1268. package/dist/core/app/components/modal/dist/index.d.ts +62 -0
  1269. package/dist/core/app/components/modal/src/components/index.d.ts +7 -0
  1270. package/dist/core/app/components/modal/src/components/modal-backdrop.d.ts +8 -0
  1271. package/dist/core/app/components/modal/src/components/modal-content.d.ts +2 -0
  1272. package/dist/core/app/components/modal/src/components/modal-footer.d.ts +2 -0
  1273. package/dist/core/app/components/modal/src/components/modal-header.d.ts +6 -0
  1274. package/dist/core/app/components/modal/src/components/modal-input.d.ts +8 -0
  1275. package/dist/core/app/components/modal/src/components/modal-select.d.ts +8 -0
  1276. package/dist/core/app/components/modal/src/components/modal-textarea.d.ts +7 -0
  1277. package/dist/core/app/components/modal/src/index.d.ts +2 -0
  1278. package/dist/core/app/components/modal/src/modal.d.ts +18 -0
  1279. package/dist/core/app/components/modal/src/tv.d.ts +134 -0
  1280. package/dist/core/app/components/modal/tsup.config.d.ts +2 -0
  1281. package/dist/core/app/components/multi-select/dist/index.d.ts +158 -0
  1282. package/dist/core/app/components/multi-select/src/components/index.d.ts +1 -0
  1283. package/dist/core/app/components/multi-select/src/components/multi-select-trigger.d.ts +25 -0
  1284. package/dist/core/app/components/multi-select/src/hooks/index.d.ts +2 -0
  1285. package/dist/core/app/components/multi-select/src/hooks/use-multi-select-selection.d.ts +22 -0
  1286. package/dist/core/app/components/multi-select/src/hooks/use-multi-select-state.d.ts +17 -0
  1287. package/dist/core/app/components/multi-select/src/index.d.ts +4 -0
  1288. package/dist/core/app/components/multi-select/src/multi-select.d.ts +51 -0
  1289. package/dist/core/app/components/multi-select/src/tv.d.ts +140 -0
  1290. package/dist/core/app/components/multi-select/src/utils/extract-options.d.ts +40 -0
  1291. package/dist/core/app/components/multi-select/src/utils/index.d.ts +1 -0
  1292. package/dist/core/app/components/multi-select/tsup.config.d.ts +2 -0
  1293. package/dist/core/app/components/notifications/dist/index.d.ts +26 -0
  1294. package/dist/core/app/components/notifications/src/index.d.ts +1 -0
  1295. package/dist/core/app/components/notifications/src/notifications.d.ts +21 -0
  1296. package/dist/core/app/components/notifications/src/tv.d.ts +64 -0
  1297. package/dist/core/app/components/notifications/tsup.config.d.ts +2 -0
  1298. package/dist/core/app/components/numeric-input/dist/index.d.ts +195 -0
  1299. package/dist/core/app/components/numeric-input/src/components/index.d.ts +3 -0
  1300. package/dist/core/app/components/numeric-input/src/components/numeric-input-element.d.ts +9 -0
  1301. package/dist/core/app/components/numeric-input/src/components/numeric-input-menu-trigger.d.ts +13 -0
  1302. package/dist/core/app/components/numeric-input/src/components/numeric-input-variable.d.ts +8 -0
  1303. package/dist/core/app/components/numeric-input/src/context/index.d.ts +1 -0
  1304. package/dist/core/app/components/numeric-input/src/context/numeric-input-context.d.ts +26 -0
  1305. package/dist/core/app/components/numeric-input/src/hooks/index.d.ts +4 -0
  1306. package/dist/core/app/components/numeric-input/src/hooks/use-input-interactions.d.ts +37 -0
  1307. package/dist/core/app/components/numeric-input/src/hooks/use-numeric-input.d.ts +45 -0
  1308. package/dist/core/app/components/numeric-input/src/hooks/use-numeric-value-processing.d.ts +20 -0
  1309. package/dist/core/app/components/numeric-input/src/hooks/use-step-calculation.d.ts +9 -0
  1310. package/dist/core/app/components/numeric-input/src/index.d.ts +4 -0
  1311. package/dist/core/app/components/numeric-input/src/numeric-input.d.ts +28 -0
  1312. package/dist/core/app/components/numeric-input/src/tv.d.ts +329 -0
  1313. package/dist/core/app/components/numeric-input/src/types.d.ts +16 -0
  1314. package/dist/core/app/components/numeric-input/src/utils/error-handler.d.ts +32 -0
  1315. package/dist/core/app/components/numeric-input/src/utils/expression-evaluator.d.ts +25 -0
  1316. package/dist/core/app/components/numeric-input/src/utils/index.d.ts +10 -0
  1317. package/dist/core/app/components/numeric-input/src/utils/input-parser.d.ts +19 -0
  1318. package/dist/core/app/components/numeric-input/src/utils/numeric-value-processor.d.ts +13 -0
  1319. package/dist/core/app/components/numeric-input/src/utils/pattern-parser.d.ts +17 -0
  1320. package/dist/core/app/components/numeric-input/src/utils/value-comparator.d.ts +29 -0
  1321. package/dist/core/app/components/numeric-input/src/utils/value-processor.d.ts +23 -0
  1322. package/dist/core/app/components/numeric-input/tsup.config.d.ts +2 -0
  1323. package/dist/core/app/components/pagination/dist/index.d.ts +49 -0
  1324. package/dist/core/app/components/pagination/src/components/index.d.ts +4 -0
  1325. package/dist/core/app/components/pagination/src/components/pagination-context.d.ts +4 -0
  1326. package/dist/core/app/components/pagination/src/components/pagination-items-per-page.d.ts +2 -0
  1327. package/dist/core/app/components/pagination/src/components/pagination-navigation.d.ts +2 -0
  1328. package/dist/core/app/components/pagination/src/components/pagination-root.d.ts +2 -0
  1329. package/dist/core/app/components/pagination/src/components/pagination-spinner.d.ts +2 -0
  1330. package/dist/core/app/components/pagination/src/hooks/index.d.ts +1 -0
  1331. package/dist/core/app/components/pagination/src/hooks/use-pagination.d.ts +10 -0
  1332. package/dist/core/app/components/pagination/src/index.d.ts +2 -0
  1333. package/dist/core/app/components/pagination/src/pagination.d.ts +6 -0
  1334. package/dist/core/app/components/pagination/src/tv.d.ts +83 -0
  1335. package/dist/core/app/components/pagination/src/types.d.ts +75 -0
  1336. package/dist/core/app/components/pagination/src/utils/index.d.ts +1 -0
  1337. package/dist/core/app/components/pagination/src/utils/pagination-helpers.d.ts +17 -0
  1338. package/dist/core/app/components/pagination/tsup.config.d.ts +2 -0
  1339. package/dist/core/app/components/panel/dist/index.d.ts +152 -0
  1340. package/dist/core/app/components/panel/src/components/index.d.ts +8 -0
  1341. package/dist/core/app/components/panel/src/components/panel-label.d.ts +6 -0
  1342. package/dist/core/app/components/panel/src/components/panel-previewer.d.ts +4 -0
  1343. package/dist/core/app/components/panel/src/components/panel-row-label.d.ts +6 -0
  1344. package/dist/core/app/components/panel/src/components/panel-row-many-icon.d.ts +12 -0
  1345. package/dist/core/app/components/panel/src/components/panel-row.d.ts +26 -0
  1346. package/dist/core/app/components/panel/src/components/panel-sortable-row.d.ts +6 -0
  1347. package/dist/core/app/components/panel/src/components/panel-sortable.d.ts +12 -0
  1348. package/dist/core/app/components/panel/src/components/panel-title.d.ts +15 -0
  1349. package/dist/core/app/components/panel/src/context/index.d.ts +2 -0
  1350. package/dist/core/app/components/panel/src/context/panel-context.d.ts +10 -0
  1351. package/dist/core/app/components/panel/src/context/sortable-context.d.ts +24 -0
  1352. package/dist/core/app/components/panel/src/hooks/index.d.ts +1 -0
  1353. package/dist/core/app/components/panel/src/hooks/use-panel-drag-drop.d.ts +28 -0
  1354. package/dist/core/app/components/panel/src/index.d.ts +3 -0
  1355. package/dist/core/app/components/panel/src/panel.d.ts +34 -0
  1356. package/dist/core/app/components/panel/src/tv.d.ts +364 -0
  1357. package/dist/core/app/components/panel/tsup.config.d.ts +2 -0
  1358. package/dist/core/app/components/picture-preview/dist/index.d.ts +20 -0
  1359. package/dist/core/app/components/picture-preview/src/hooks/index.d.ts +7 -0
  1360. package/dist/core/app/components/picture-preview/src/hooks/useDraggable.d.ts +22 -0
  1361. package/dist/core/app/components/picture-preview/src/hooks/useHotkeys.d.ts +16 -0
  1362. package/dist/core/app/components/picture-preview/src/hooks/useWheelHandler.d.ts +23 -0
  1363. package/dist/core/app/components/picture-preview/src/index.d.ts +1 -0
  1364. package/dist/core/app/components/picture-preview/src/picture-preview.d.ts +17 -0
  1365. package/dist/core/app/components/picture-preview/src/tv.d.ts +61 -0
  1366. package/dist/core/app/components/picture-preview/tsup.config.d.ts +2 -0
  1367. package/dist/core/app/components/popover/dist/index.d.ts +57 -0
  1368. package/dist/core/app/components/popover/src/components/index.d.ts +2 -0
  1369. package/dist/core/app/components/popover/src/components/popover-header.d.ts +2 -0
  1370. package/dist/core/app/components/popover/src/components/popover-trigger.d.ts +3 -0
  1371. package/dist/core/app/components/popover/src/hooks/index.d.ts +2 -0
  1372. package/dist/core/app/components/popover/src/hooks/use-drag.d.ts +28 -0
  1373. package/dist/core/app/components/popover/src/hooks/use-floating-popover.d.ts +54 -0
  1374. package/dist/core/app/components/popover/src/index.d.ts +1 -0
  1375. package/dist/core/app/components/popover/src/popover-context.d.ts +20 -0
  1376. package/dist/core/app/components/popover/src/popover.d.ts +49 -0
  1377. package/dist/core/app/components/popover/tsup.config.d.ts +2 -0
  1378. package/dist/core/app/components/progress/dist/index.d.ts +59 -0
  1379. package/dist/core/app/components/progress/src/index.d.ts +2 -0
  1380. package/dist/core/app/components/progress/src/progress-bar.d.ts +34 -0
  1381. package/dist/core/app/components/progress/src/progress-circle.d.ts +23 -0
  1382. package/dist/core/app/components/progress/src/tv.d.ts +170 -0
  1383. package/dist/core/app/components/progress/tsup.config.d.ts +2 -0
  1384. package/dist/core/app/components/radio/dist/index.d.ts +69 -0
  1385. package/dist/core/app/components/radio/src/context.d.ts +17 -0
  1386. package/dist/core/app/components/radio/src/index.d.ts +8 -0
  1387. package/dist/core/app/components/radio/src/radio-group.d.ts +28 -0
  1388. package/dist/core/app/components/radio/src/radio-label.d.ts +5 -0
  1389. package/dist/core/app/components/radio/src/radio.d.ts +20 -0
  1390. package/dist/core/app/components/radio/src/tv.d.ts +94 -0
  1391. package/dist/core/app/components/radio/tsup.config.d.ts +2 -0
  1392. package/dist/core/app/components/range/dist/index.d.ts +50 -0
  1393. package/dist/core/app/components/range/src/index.d.ts +2 -0
  1394. package/dist/core/app/components/range/src/range-tuple.d.ts +24 -0
  1395. package/dist/core/app/components/range/src/range.d.ts +24 -0
  1396. package/dist/core/app/components/range/src/tv.d.ts +106 -0
  1397. package/dist/core/app/components/range/tsup.config.d.ts +2 -0
  1398. package/dist/core/app/components/rich-input/dist/index.d.ts +426 -0
  1399. package/dist/core/app/components/rich-input/src/components/block-button.d.ts +2 -0
  1400. package/dist/core/app/components/rich-input/src/components/characters-menu.d.ts +2 -0
  1401. package/dist/core/app/components/rich-input/src/components/element.d.ts +3 -0
  1402. package/dist/core/app/components/rich-input/src/components/floating-menu-base.d.ts +4 -0
  1403. package/dist/core/app/components/rich-input/src/components/floating-menus-container.d.ts +2 -0
  1404. package/dist/core/app/components/rich-input/src/components/format-button.d.ts +2 -0
  1405. package/dist/core/app/components/rich-input/src/components/index.d.ts +12 -0
  1406. package/dist/core/app/components/rich-input/src/components/leaf.d.ts +2 -0
  1407. package/dist/core/app/components/rich-input/src/components/paragraph-menu.d.ts +2 -0
  1408. package/dist/core/app/components/rich-input/src/components/paste-html.d.ts +4 -0
  1409. package/dist/core/app/components/rich-input/src/components/rich-input-editable-component.d.ts +6 -0
  1410. package/dist/core/app/components/rich-input/src/components/rich-input-viewport.d.ts +7 -0
  1411. package/dist/core/app/components/rich-input/src/components/url-menu.d.ts +2 -0
  1412. package/dist/core/app/components/rich-input/src/context/index.d.ts +1 -0
  1413. package/dist/core/app/components/rich-input/src/context/rich-input-context.d.ts +3 -0
  1414. package/dist/core/app/components/rich-input/src/hooks/index.d.ts +9 -0
  1415. package/dist/core/app/components/rich-input/src/hooks/use-editor-config.d.ts +12 -0
  1416. package/dist/core/app/components/rich-input/src/hooks/use-editor-effects.d.ts +4 -0
  1417. package/dist/core/app/components/rich-input/src/hooks/use-editor-state.d.ts +2 -0
  1418. package/dist/core/app/components/rich-input/src/hooks/use-floating-ui.d.ts +2 -0
  1419. package/dist/core/app/components/rich-input/src/hooks/use-keyboard-shortcuts.d.ts +23 -0
  1420. package/dist/core/app/components/rich-input/src/hooks/use-mouse-events.d.ts +17 -0
  1421. package/dist/core/app/components/rich-input/src/hooks/use-rich-input.d.ts +10 -0
  1422. package/dist/core/app/components/rich-input/src/hooks/use-selection-events.d.ts +2 -0
  1423. package/dist/core/app/components/rich-input/src/hooks/use-validation.d.ts +16 -0
  1424. package/dist/core/app/components/rich-input/src/index.d.ts +5 -0
  1425. package/dist/core/app/components/rich-input/src/rich-input-base.d.ts +8 -0
  1426. package/dist/core/app/components/rich-input/src/rich-input.d.ts +1 -0
  1427. package/dist/core/app/components/rich-input/src/tv.d.ts +365 -0
  1428. package/dist/core/app/components/rich-input/src/types/i18n-types.d.ts +7 -0
  1429. package/dist/core/app/components/rich-input/src/types/index.d.ts +4 -0
  1430. package/dist/core/app/components/rich-input/src/types/props-types.d.ts +218 -0
  1431. package/dist/core/app/components/rich-input/src/types/slate-types.d.ts +44 -0
  1432. package/dist/core/app/components/rich-input/src/types/state-types.d.ts +65 -0
  1433. package/dist/core/app/components/rich-input/src/utils/custom-options.d.ts +9 -0
  1434. package/dist/core/app/components/rich-input/src/utils/editor-utils.d.ts +8 -0
  1435. package/dist/core/app/components/rich-input/src/utils/index.d.ts +4 -0
  1436. package/dist/core/app/components/rich-input/src/utils/markdown-to-slate.d.ts +6 -0
  1437. package/dist/core/app/components/rich-input/src/utils/slate-to-markdown.d.ts +5 -0
  1438. package/dist/core/app/components/rich-input/tsup.config.d.ts +2 -0
  1439. package/dist/core/app/components/scroll-area/dist/index.d.ts +123 -0
  1440. package/dist/core/app/components/scroll-area/src/components/index.d.ts +6 -0
  1441. package/dist/core/app/components/scroll-area/src/components/scroll-area-content.d.ts +2 -0
  1442. package/dist/core/app/components/scroll-area/src/components/scroll-area-corner.d.ts +2 -0
  1443. package/dist/core/app/components/scroll-area/src/components/scroll-area-root.d.ts +2 -0
  1444. package/dist/core/app/components/scroll-area/src/components/scroll-area-scrollbar.d.ts +3 -0
  1445. package/dist/core/app/components/scroll-area/src/components/scroll-area-thumb.d.ts +2 -0
  1446. package/dist/core/app/components/scroll-area/src/components/scroll-area-viewport.d.ts +2 -0
  1447. package/dist/core/app/components/scroll-area/src/context/scroll-area-context.d.ts +3 -0
  1448. package/dist/core/app/components/scroll-area/src/hooks/index.d.ts +4 -0
  1449. package/dist/core/app/components/scroll-area/src/hooks/use-scroll-performance-monitor.d.ts +23 -0
  1450. package/dist/core/app/components/scroll-area/src/hooks/use-scroll-state-and-visibility.d.ts +11 -0
  1451. package/dist/core/app/components/scroll-area/src/hooks/use-scrollbar.d.ts +9 -0
  1452. package/dist/core/app/components/scroll-area/src/hooks/use-thumb.d.ts +22 -0
  1453. package/dist/core/app/components/scroll-area/src/index.d.ts +3 -0
  1454. package/dist/core/app/components/scroll-area/src/scroll-area.d.ts +10 -0
  1455. package/dist/core/app/components/scroll-area/src/tv.d.ts +127 -0
  1456. package/dist/core/app/components/scroll-area/src/types.d.ts +71 -0
  1457. package/dist/core/app/components/scroll-area/src/utils/index.d.ts +29 -0
  1458. package/dist/core/app/components/scroll-area/tsup.config.d.ts +2 -0
  1459. package/dist/core/app/components/search-input/dist/index.d.ts +17 -0
  1460. package/dist/core/app/components/search-input/src/index.d.ts +1 -0
  1461. package/dist/core/app/components/search-input/src/search-input.d.ts +13 -0
  1462. package/dist/core/app/components/search-input/src/tv.d.ts +43 -0
  1463. package/dist/core/app/components/search-input/tsup.config.d.ts +2 -0
  1464. package/dist/core/app/components/segmented/dist/index.d.ts +39 -0
  1465. package/dist/core/app/components/segmented/src/context.d.ts +10 -0
  1466. package/dist/core/app/components/segmented/src/index.d.ts +3 -0
  1467. package/dist/core/app/components/segmented/src/segmented-item.d.ts +12 -0
  1468. package/dist/core/app/components/segmented/src/segmented.d.ts +15 -0
  1469. package/dist/core/app/components/segmented/src/tv.d.ts +88 -0
  1470. package/dist/core/app/components/segmented/tsup.config.d.ts +2 -0
  1471. package/dist/core/app/components/select/dist/index.d.ts +32 -0
  1472. package/dist/core/app/components/select/src/index.d.ts +2 -0
  1473. package/dist/core/app/components/select/src/select.d.ts +31 -0
  1474. package/dist/core/app/components/select/tsup.config.d.ts +2 -0
  1475. package/dist/core/app/components/skeleton/dist/index.d.ts +119 -0
  1476. package/dist/core/app/components/skeleton/src/context/index.d.ts +2 -0
  1477. package/dist/core/app/components/skeleton/src/context/skeleton-context.d.ts +12 -0
  1478. package/dist/core/app/components/skeleton/src/hooks/index.d.ts +2 -0
  1479. package/dist/core/app/components/skeleton/src/hooks/use-skeleton.d.ts +9 -0
  1480. package/dist/core/app/components/skeleton/src/index.d.ts +5 -0
  1481. package/dist/core/app/components/skeleton/src/skeleton.d.ts +15 -0
  1482. package/dist/core/app/components/skeleton/src/tv.d.ts +40 -0
  1483. package/dist/core/app/components/skeleton/src/types.d.ts +37 -0
  1484. package/dist/core/app/components/skeleton/tsup.config.d.ts +2 -0
  1485. package/dist/core/app/components/slot/dist/index.d.ts +26 -0
  1486. package/dist/core/app/components/slot/src/index.d.ts +2 -0
  1487. package/dist/core/app/components/slot/src/slot.d.ts +33 -0
  1488. package/dist/core/app/components/slot/tsup.config.d.ts +2 -0
  1489. package/dist/core/app/components/spinner/dist/index.d.ts +31 -0
  1490. package/dist/core/app/components/spinner/src/index.d.ts +2 -0
  1491. package/dist/core/app/components/spinner/src/spinner-bounce.d.ts +14 -0
  1492. package/dist/core/app/components/spinner/src/spinner-spin.d.ts +13 -0
  1493. package/dist/core/app/components/spinner/src/tv.d.ts +104 -0
  1494. package/dist/core/app/components/spinner/tsup.config.d.ts +2 -0
  1495. package/dist/core/app/components/splitter/dist/index.d.ts +1 -0
  1496. package/dist/core/app/components/splitter/src/index.d.ts +1 -0
  1497. package/dist/core/app/components/splitter/src/splitter.d.ts +3 -0
  1498. package/dist/core/app/components/splitter/src/tv.d.ts +7 -0
  1499. package/dist/core/app/components/splitter/tsup.config.d.ts +2 -0
  1500. package/dist/core/app/components/spring-visualizer/dist/index.d.ts +26 -0
  1501. package/dist/core/app/components/spring-visualizer/src/index.d.ts +1 -0
  1502. package/dist/core/app/components/spring-visualizer/src/spring-visualizer.d.ts +23 -0
  1503. package/dist/core/app/components/spring-visualizer/tsup.config.d.ts +2 -0
  1504. package/dist/core/app/components/stackflow/dist/index.d.ts +56 -0
  1505. package/dist/core/app/components/stackflow/src/components/index.d.ts +3 -0
  1506. package/dist/core/app/components/stackflow/src/components/stackflow-item.d.ts +7 -0
  1507. package/dist/core/app/components/stackflow/src/components/stackflow-prefix.d.ts +6 -0
  1508. package/dist/core/app/components/stackflow/src/components/stackflow-suffix.d.ts +6 -0
  1509. package/dist/core/app/components/stackflow/src/context.d.ts +6 -0
  1510. package/dist/core/app/components/stackflow/src/hooks/index.d.ts +1 -0
  1511. package/dist/core/app/components/stackflow/src/hooks/use-stackflow.d.ts +21 -0
  1512. package/dist/core/app/components/stackflow/src/index.d.ts +2 -0
  1513. package/dist/core/app/components/stackflow/src/stackflow.d.ts +15 -0
  1514. package/dist/core/app/components/stackflow/src/tv.d.ts +37 -0
  1515. package/dist/core/app/components/stackflow/tsup.config.d.ts +2 -0
  1516. package/dist/core/app/components/switch/dist/index.d.ts +29 -0
  1517. package/dist/core/app/components/switch/src/index.d.ts +1 -0
  1518. package/dist/core/app/components/switch/src/switch.d.ts +26 -0
  1519. package/dist/core/app/components/switch/src/tv.d.ts +100 -0
  1520. package/dist/core/app/components/switch/tsup.config.d.ts +2 -0
  1521. package/dist/core/app/components/tabs/dist/index.d.ts +35 -0
  1522. package/dist/core/app/components/tabs/src/context.d.ts +10 -0
  1523. package/dist/core/app/components/tabs/src/index.d.ts +4 -0
  1524. package/dist/core/app/components/tabs/src/tab-item.d.ts +8 -0
  1525. package/dist/core/app/components/tabs/src/tabs.d.ts +17 -0
  1526. package/dist/core/app/components/tabs/src/tv.d.ts +73 -0
  1527. package/dist/core/app/components/tabs/tsup.config.d.ts +2 -0
  1528. package/dist/core/app/components/text-field/dist/index.d.ts +26 -0
  1529. package/dist/core/app/components/text-field/src/components/field-addon.d.ts +8 -0
  1530. package/dist/core/app/components/text-field/src/components/field-description.d.ts +2 -0
  1531. package/dist/core/app/components/text-field/src/components/index.d.ts +2 -0
  1532. package/dist/core/app/components/text-field/src/index.d.ts +1 -0
  1533. package/dist/core/app/components/text-field/src/text-field.d.ts +15 -0
  1534. package/dist/core/app/components/text-field/src/tv.d.ts +157 -0
  1535. package/dist/core/app/components/text-field/tsup.config.d.ts +2 -0
  1536. package/dist/core/app/components/textarea/dist/index.d.ts +54 -0
  1537. package/dist/core/app/components/textarea/src/components/autosize/calculate-node-height.d.ts +4 -0
  1538. package/dist/core/app/components/textarea/src/components/autosize/force-hidden-styles.d.ts +2 -0
  1539. package/dist/core/app/components/textarea/src/components/autosize/get-sizing-data.d.ts +10 -0
  1540. package/dist/core/app/components/textarea/src/components/autosize/hooks.d.ts +5 -0
  1541. package/dist/core/app/components/textarea/src/components/autosize/index.d.ts +19 -0
  1542. package/dist/core/app/components/textarea/src/components/autosize/utils.d.ts +3 -0
  1543. package/dist/core/app/components/textarea/src/components/index.d.ts +3 -0
  1544. package/dist/core/app/components/textarea/src/components/resize-handle.d.ts +5 -0
  1545. package/dist/core/app/components/textarea/src/index.d.ts +4 -0
  1546. package/dist/core/app/components/textarea/src/textarea.d.ts +8 -0
  1547. package/dist/core/app/components/textarea/src/tv.d.ts +151 -0
  1548. package/dist/core/app/components/textarea/src/types.d.ts +38 -0
  1549. package/dist/core/app/components/textarea/tsup.config.d.ts +2 -0
  1550. package/dist/core/app/components/toggle-button/dist/index.d.ts +21 -0
  1551. package/dist/core/app/components/toggle-button/src/index.d.ts +2 -0
  1552. package/dist/core/app/components/toggle-button/src/toggle-button.d.ts +17 -0
  1553. package/dist/core/app/components/toggle-button/src/tv.d.ts +130 -0
  1554. package/dist/core/app/components/toggle-button/tsup.config.d.ts +2 -0
  1555. package/dist/core/app/components/tooltip/dist/index.d.ts +71 -0
  1556. package/dist/core/app/components/tooltip/src/components/index.d.ts +3 -0
  1557. package/dist/core/app/components/tooltip/src/components/tooltip-arrow.d.ts +2 -0
  1558. package/dist/core/app/components/tooltip/src/components/tooltip-content.d.ts +2 -0
  1559. package/dist/core/app/components/tooltip/src/components/tooltip-trigger.d.ts +2 -0
  1560. package/dist/core/app/components/tooltip/src/context/tooltip-context.d.ts +4 -0
  1561. package/dist/core/app/components/tooltip/src/hooks/index.d.ts +1 -0
  1562. package/dist/core/app/components/tooltip/src/hooks/use-tooltip.d.ts +2 -0
  1563. package/dist/core/app/components/tooltip/src/index.d.ts +5 -0
  1564. package/dist/core/app/components/tooltip/src/tooltip.d.ts +2 -0
  1565. package/dist/core/app/components/tooltip/src/tv.d.ts +61 -0
  1566. package/dist/core/app/components/tooltip/src/types.d.ts +55 -0
  1567. package/dist/core/app/components/tooltip/tsup.config.d.ts +2 -0
  1568. package/dist/core/app/components/tree-list/dist/index.d.ts +246 -0
  1569. package/dist/core/app/components/tree-list/src/components/drop-indicator.d.ts +11 -0
  1570. package/dist/core/app/components/tree-list/src/components/index.d.ts +6 -0
  1571. package/dist/core/app/components/tree-list/src/components/tree-actions.d.ts +8 -0
  1572. package/dist/core/app/components/tree-list/src/components/tree-node-icon.d.ts +10 -0
  1573. package/dist/core/app/components/tree-list/src/components/tree-node-rename-input.d.ts +54 -0
  1574. package/dist/core/app/components/tree-list/src/components/tree-node-toggle.d.ts +14 -0
  1575. package/dist/core/app/components/tree-list/src/components/tree-node-wrapper.d.ts +35 -0
  1576. package/dist/core/app/components/tree-list/src/components/tree-node.d.ts +2 -0
  1577. package/dist/core/app/components/tree-list/src/hooks/index.d.ts +6 -0
  1578. package/dist/core/app/components/tree-list/src/hooks/use-drag-drop.d.ts +15 -0
  1579. package/dist/core/app/components/tree-list/src/hooks/use-expansion.d.ts +10 -0
  1580. package/dist/core/app/components/tree-list/src/hooks/use-has-horizontal-scroll.d.ts +4 -0
  1581. package/dist/core/app/components/tree-list/src/hooks/use-modifier-keys.d.ts +6 -0
  1582. package/dist/core/app/components/tree-list/src/hooks/use-node-width.d.ts +47 -0
  1583. package/dist/core/app/components/tree-list/src/hooks/use-renaming.d.ts +9 -0
  1584. package/dist/core/app/components/tree-list/src/hooks/use-selection.d.ts +11 -0
  1585. package/dist/core/app/components/tree-list/src/index.d.ts +4 -0
  1586. package/dist/core/app/components/tree-list/src/tree-list.d.ts +4 -0
  1587. package/dist/core/app/components/tree-list/src/types.d.ts +129 -0
  1588. package/dist/core/app/components/tree-list/src/utils/index.d.ts +2 -0
  1589. package/dist/core/app/components/tree-list/src/utils/node.d.ts +21 -0
  1590. package/dist/core/app/components/tree-list/src/utils/tree.d.ts +53 -0
  1591. package/dist/core/app/components/tree-list/tsup.config.d.ts +2 -0
  1592. package/dist/core/app/components/virtualized-grid/dist/index.d.ts +127 -0
  1593. package/dist/core/app/components/virtualized-grid/src/error-boundary.d.ts +22 -0
  1594. package/dist/core/app/components/virtualized-grid/src/index.d.ts +6 -0
  1595. package/dist/core/app/components/virtualized-grid/src/tv.d.ts +34 -0
  1596. package/dist/core/app/components/virtualized-grid/src/types.d.ts +70 -0
  1597. package/dist/core/app/components/virtualized-grid/src/use-item-pool.d.ts +14 -0
  1598. package/dist/core/app/components/virtualized-grid/src/use-virtualized-grid.d.ts +6 -0
  1599. package/dist/core/app/components/virtualized-grid/src/utility.d.ts +11 -0
  1600. package/dist/core/app/components/virtualized-grid/src/virtualized-grid.d.ts +2 -0
  1601. package/dist/core/app/components/virtualized-grid/tsup.config.d.ts +2 -0
  1602. package/dist/core/app/index.d.ts +3 -0
  1603. package/dist/core/app/types/slate.d.ts +9 -0
  1604. package/dist/core/app/types/testing-library.d.ts +0 -0
  1605. package/dist/esm/_headers +21 -0
  1606. package/dist/esm/_redirects +9 -0
  1607. package/dist/esm/_vendor/@ungap/structured-clone/esm-deserialize.js +68 -0
  1608. package/dist/esm/_vendor/@ungap/structured-clone/esm-index.js +11 -0
  1609. package/dist/esm/_vendor/@ungap/structured-clone/esm-serialize.js +135 -0
  1610. package/dist/esm/_vendor/@ungap/structured-clone/esm-types.js +22 -0
  1611. package/dist/esm/_vendor/bail/index.js +8 -0
  1612. package/dist/esm/_vendor/ccount/index.js +16 -0
  1613. package/dist/esm/_vendor/classnames/index.js +63 -0
  1614. package/dist/esm/_vendor/comma-separated-tokens/index.js +10 -0
  1615. package/dist/esm/_vendor/decode-named-character-reference/index.dom.js +17 -0
  1616. package/dist/esm/_vendor/devlop/lib-default.js +8 -0
  1617. package/dist/esm/_vendor/escape-string-regexp/index.js +9 -0
  1618. package/dist/esm/_vendor/estree-util-is-identifier-name/lib-index.js +11 -0
  1619. package/dist/esm/_vendor/extend/index.js +89 -0
  1620. package/dist/esm/_vendor/harden-react-markdown/dist-index.js +85 -0
  1621. package/dist/esm/_vendor/hast-util-to-jsx-runtime/lib-index.js +390 -0
  1622. package/dist/esm/_vendor/hast-util-whitespace/lib-index.js +10 -0
  1623. package/dist/esm/_vendor/html-url-attributes/lib-index.js +26 -0
  1624. package/dist/esm/_vendor/inline-style-parser/cjs-index.js +135 -0
  1625. package/dist/esm/_vendor/is-plain-obj/index.js +10 -0
  1626. package/dist/esm/_vendor/longest-streak/index.js +25 -0
  1627. package/dist/esm/_vendor/markdown-table/index.js +142 -0
  1628. package/dist/esm/_vendor/marked/lib-marked.esm.js +2157 -0
  1629. package/dist/esm/_vendor/mdast-util-find-and-replace/lib-index.js +109 -0
  1630. package/dist/esm/_vendor/mdast-util-from-markdown/lib-index.js +719 -0
  1631. package/dist/esm/_vendor/mdast-util-gfm/lib-index.js +29 -0
  1632. package/dist/esm/_vendor/mdast-util-gfm-autolink-literal/lib-index.js +156 -0
  1633. package/dist/esm/_vendor/mdast-util-gfm-footnote/lib-index.js +117 -0
  1634. package/dist/esm/_vendor/mdast-util-gfm-strikethrough/lib-index.js +54 -0
  1635. package/dist/esm/_vendor/mdast-util-gfm-table/lib-index.js +157 -0
  1636. package/dist/esm/_vendor/mdast-util-gfm-task-list-item/lib-index.js +77 -0
  1637. package/dist/esm/_vendor/mdast-util-math/lib-index.js +183 -0
  1638. package/dist/esm/_vendor/mdast-util-newline-to-break/lib-index.js +10 -0
  1639. package/dist/esm/_vendor/mdast-util-phrasing/lib-index.js +30 -0
  1640. package/dist/esm/_vendor/mdast-util-to-hast/lib-footer.js +115 -0
  1641. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-blockquote.js +13 -0
  1642. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-break.js +8 -0
  1643. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-code.js +25 -0
  1644. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-delete.js +13 -0
  1645. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-emphasis.js +13 -0
  1646. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-footnote-reference.js +41 -0
  1647. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-heading.js +13 -0
  1648. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-html.js +11 -0
  1649. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-image-reference.js +19 -0
  1650. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-image.js +16 -0
  1651. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-index.js +59 -0
  1652. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-inline-code.js +15 -0
  1653. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-link-reference.js +24 -0
  1654. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-link.js +18 -0
  1655. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-list-item.js +64 -0
  1656. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-list.js +26 -0
  1657. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-paragraph.js +13 -0
  1658. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-root.js +8 -0
  1659. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-strong.js +13 -0
  1660. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-table-cell.js +14 -0
  1661. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-table-row.js +35 -0
  1662. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-table.js +39 -0
  1663. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-text.js +9 -0
  1664. package/dist/esm/_vendor/mdast-util-to-hast/lib-handlers-thematic-break.js +13 -0
  1665. package/dist/esm/_vendor/mdast-util-to-hast/lib-index.js +15 -0
  1666. package/dist/esm/_vendor/mdast-util-to-hast/lib-revert.js +29 -0
  1667. package/dist/esm/_vendor/mdast-util-to-hast/lib-state.js +148 -0
  1668. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-blockquote.js +18 -0
  1669. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-break.js +13 -0
  1670. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-code.js +56 -0
  1671. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-definition.js +58 -0
  1672. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-emphasis.js +44 -0
  1673. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-heading.js +45 -0
  1674. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-html.js +10 -0
  1675. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-image-reference.js +40 -0
  1676. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-image.js +59 -0
  1677. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-index.js +44 -0
  1678. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-inline-code.js +32 -0
  1679. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-link-reference.js +40 -0
  1680. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-link.js +83 -0
  1681. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-list-item.js +32 -0
  1682. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-list.js +45 -0
  1683. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-paragraph.js +11 -0
  1684. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-root.js +11 -0
  1685. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-strong.js +44 -0
  1686. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-text.js +6 -0
  1687. package/dist/esm/_vendor/mdast-util-to-markdown/lib-handle-thematic-break.js +9 -0
  1688. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-check-bullet-ordered.js +12 -0
  1689. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-check-bullet-other.js +22 -0
  1690. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-check-bullet.js +12 -0
  1691. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-check-emphasis.js +12 -0
  1692. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-check-fence.js +12 -0
  1693. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-check-list-item-indent.js +12 -0
  1694. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-check-quote.js +12 -0
  1695. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-check-rule-repetition.js +12 -0
  1696. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-check-rule.js +12 -0
  1697. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-check-strong.js +12 -0
  1698. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-encode-character-reference.js +6 -0
  1699. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-encode-info.js +44 -0
  1700. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-format-code-as-indented.js +11 -0
  1701. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-format-heading-as-setext.js +18 -0
  1702. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-format-link-as-autolink.js +17 -0
  1703. package/dist/esm/_vendor/mdast-util-to-markdown/lib-util-pattern-in-scope.js +21 -0
  1704. package/dist/esm/_vendor/mdast-util-to-string/lib-index.js +38 -0
  1705. package/dist/esm/_vendor/micromark/lib-constructs.js +93 -0
  1706. package/dist/esm/_vendor/micromark/lib-create-tokenizer.js +320 -0
  1707. package/dist/esm/_vendor/micromark/lib-initialize-content.js +53 -0
  1708. package/dist/esm/_vendor/micromark/lib-initialize-document.js +186 -0
  1709. package/dist/esm/_vendor/micromark/lib-initialize-flow.js +42 -0
  1710. package/dist/esm/_vendor/micromark/lib-initialize-text.js +142 -0
  1711. package/dist/esm/_vendor/micromark/lib-parse.js +34 -0
  1712. package/dist/esm/_vendor/micromark/lib-postprocess.js +9 -0
  1713. package/dist/esm/_vendor/micromark/lib-preprocess.js +80 -0
  1714. package/dist/esm/_vendor/micromark-core-commonmark/lib-attention.js +135 -0
  1715. package/dist/esm/_vendor/micromark-core-commonmark/lib-autolink.js +103 -0
  1716. package/dist/esm/_vendor/micromark-core-commonmark/lib-blank-line.js +18 -0
  1717. package/dist/esm/_vendor/micromark-core-commonmark/lib-block-quote.js +61 -0
  1718. package/dist/esm/_vendor/micromark-core-commonmark/lib-character-escape.js +28 -0
  1719. package/dist/esm/_vendor/micromark-core-commonmark/lib-character-reference.js +68 -0
  1720. package/dist/esm/_vendor/micromark-core-commonmark/lib-code-fenced.js +186 -0
  1721. package/dist/esm/_vendor/micromark-core-commonmark/lib-code-indented.js +67 -0
  1722. package/dist/esm/_vendor/micromark-core-commonmark/lib-code-text.js +116 -0
  1723. package/dist/esm/_vendor/micromark-core-commonmark/lib-content.js +75 -0
  1724. package/dist/esm/_vendor/micromark-core-commonmark/lib-definition.js +94 -0
  1725. package/dist/esm/_vendor/micromark-core-commonmark/lib-hard-break-escape.js +23 -0
  1726. package/dist/esm/_vendor/micromark-core-commonmark/lib-heading-atx.js +95 -0
  1727. package/dist/esm/_vendor/micromark-core-commonmark/lib-html-flow.js +383 -0
  1728. package/dist/esm/_vendor/micromark-core-commonmark/lib-html-text.js +309 -0
  1729. package/dist/esm/_vendor/micromark-core-commonmark/lib-label-end.js +235 -0
  1730. package/dist/esm/_vendor/micromark-core-commonmark/lib-label-start-image.js +33 -0
  1731. package/dist/esm/_vendor/micromark-core-commonmark/lib-label-start-link.js +24 -0
  1732. package/dist/esm/_vendor/micromark-core-commonmark/lib-line-ending.js +17 -0
  1733. package/dist/esm/_vendor/micromark-core-commonmark/lib-list.js +135 -0
  1734. package/dist/esm/_vendor/micromark-core-commonmark/lib-setext-underline.js +95 -0
  1735. package/dist/esm/_vendor/micromark-core-commonmark/lib-thematic-break.js +42 -0
  1736. package/dist/esm/_vendor/micromark-extension-gfm/index.js +18 -0
  1737. package/dist/esm/_vendor/micromark-extension-gfm-autolink-literal/lib-syntax.js +344 -0
  1738. package/dist/esm/_vendor/micromark-extension-gfm-footnote/lib-syntax.js +279 -0
  1739. package/dist/esm/_vendor/micromark-extension-gfm-strikethrough/lib-syntax.js +98 -0
  1740. package/dist/esm/_vendor/micromark-extension-gfm-table/lib-edit-map.js +80 -0
  1741. package/dist/esm/_vendor/micromark-extension-gfm-table/lib-infer.js +28 -0
  1742. package/dist/esm/_vendor/micromark-extension-gfm-table/lib-syntax.js +391 -0
  1743. package/dist/esm/_vendor/micromark-extension-gfm-task-list-item/lib-syntax.js +77 -0
  1744. package/dist/esm/_vendor/micromark-extension-math/lib-math-flow.js +143 -0
  1745. package/dist/esm/_vendor/micromark-extension-math/lib-math-text.js +126 -0
  1746. package/dist/esm/_vendor/micromark-extension-math/lib-syntax.js +15 -0
  1747. package/dist/esm/_vendor/micromark-factory-destination/index.js +94 -0
  1748. package/dist/esm/_vendor/micromark-factory-label/index.js +63 -0
  1749. package/dist/esm/_vendor/micromark-factory-space/index.js +24 -0
  1750. package/dist/esm/_vendor/micromark-factory-title/index.js +65 -0
  1751. package/dist/esm/_vendor/micromark-factory-whitespace/index.js +22 -0
  1752. package/dist/esm/_vendor/micromark-util-character/index.js +44 -0
  1753. package/dist/esm/_vendor/micromark-util-chunked/index.js +36 -0
  1754. package/dist/esm/_vendor/micromark-util-classify-character/index.js +12 -0
  1755. package/dist/esm/_vendor/micromark-util-combine-extensions/index.js +41 -0
  1756. package/dist/esm/_vendor/micromark-util-decode-numeric-character-reference/index.js +19 -0
  1757. package/dist/esm/_vendor/micromark-util-decode-string/index.js +21 -0
  1758. package/dist/esm/_vendor/micromark-util-html-tag-name/index.js +69 -0
  1759. package/dist/esm/_vendor/micromark-util-normalize-identifier/index.js +6 -0
  1760. package/dist/esm/_vendor/micromark-util-resolve-all/index.js +15 -0
  1761. package/dist/esm/_vendor/micromark-util-sanitize-uri/index.js +41 -0
  1762. package/dist/esm/_vendor/micromark-util-subtokenize/index.js +157 -0
  1763. package/dist/esm/_vendor/micromark-util-subtokenize/lib-splice-buffer.js +194 -0
  1764. package/dist/esm/_vendor/property-information/index.js +13 -0
  1765. package/dist/esm/_vendor/property-information/lib-aria.js +61 -0
  1766. package/dist/esm/_vendor/property-information/lib-find.js +40 -0
  1767. package/dist/esm/_vendor/property-information/lib-hast-to-react.js +22 -0
  1768. package/dist/esm/_vendor/property-information/lib-html.js +368 -0
  1769. package/dist/esm/_vendor/property-information/lib-normalize.js +6 -0
  1770. package/dist/esm/_vendor/property-information/lib-svg.js +566 -0
  1771. package/dist/esm/_vendor/property-information/lib-util-case-insensitive-transform.js +7 -0
  1772. package/dist/esm/_vendor/property-information/lib-util-case-sensitive-transform.js +6 -0
  1773. package/dist/esm/_vendor/property-information/lib-util-create.js +25 -0
  1774. package/dist/esm/_vendor/property-information/lib-util-defined-info.js +41 -0
  1775. package/dist/esm/_vendor/property-information/lib-util-info.js +29 -0
  1776. package/dist/esm/_vendor/property-information/lib-util-merge.js +13 -0
  1777. package/dist/esm/_vendor/property-information/lib-util-schema.js +25 -0
  1778. package/dist/esm/_vendor/property-information/lib-util-types.js +20 -0
  1779. package/dist/esm/_vendor/property-information/lib-xlink.js +19 -0
  1780. package/dist/esm/_vendor/property-information/lib-xml.js +11 -0
  1781. package/dist/esm/_vendor/property-information/lib-xmlns.js +11 -0
  1782. package/dist/esm/_vendor/react-markdown/index.js +7 -0
  1783. package/dist/esm/_vendor/react-markdown/lib-index.js +200 -0
  1784. package/dist/esm/_vendor/rehype-harden/dist-index.js +190 -0
  1785. package/dist/esm/_vendor/remark-breaks/lib-index.js +9 -0
  1786. package/dist/esm/_vendor/remark-gfm/lib-index.js +20 -0
  1787. package/dist/esm/_vendor/remark-math/lib-index.js +20 -0
  1788. package/dist/esm/_vendor/remark-parse/lib-index.js +19 -0
  1789. package/dist/esm/_vendor/remark-rehype/lib-index.js +21 -0
  1790. package/dist/esm/_vendor/space-separated-tokens/index.js +6 -0
  1791. package/dist/esm/_vendor/style-to-js/cjs-index.js +28 -0
  1792. package/dist/esm/_vendor/style-to-js/cjs-utilities.js +36 -0
  1793. package/dist/esm/_vendor/style-to-object/cjs-index.js +30 -0
  1794. package/dist/esm/_vendor/tailwind-merge/dist-bundle-mjs.js +3064 -0
  1795. package/dist/esm/_vendor/tailwind-variants/dist-chunk-LQJYWU4O.js +114 -0
  1796. package/dist/esm/_vendor/tailwind-variants/dist-chunk-RZF76H2U.js +267 -0
  1797. package/dist/esm/_vendor/tailwind-variants/dist-index.js +35 -0
  1798. package/dist/esm/_vendor/trim-lines/index.js +41 -0
  1799. package/dist/esm/_vendor/trough/lib-index.js +86 -0
  1800. package/dist/esm/_vendor/ts-pattern/dist-index.js +177 -0
  1801. package/dist/esm/_vendor/unified/lib-callable-instance.js +30 -0
  1802. package/dist/esm/_vendor/unified/lib-index.js +636 -0
  1803. package/dist/esm/_vendor/unist-util-is/lib-index.js +100 -0
  1804. package/dist/esm/_vendor/unist-util-position/lib-index.js +27 -0
  1805. package/dist/esm/_vendor/unist-util-stringify-position/lib-index.js +27 -0
  1806. package/dist/esm/_vendor/unist-util-visit/lib-index.js +28 -0
  1807. package/dist/esm/_vendor/unist-util-visit-parents/lib-color.js +6 -0
  1808. package/dist/esm/_vendor/unist-util-visit-parents/lib-index.js +83 -0
  1809. package/dist/esm/_vendor/use-stick-to-bottom/dist-useStickToBottom.js +357 -0
  1810. package/dist/esm/_vendor/vfile/lib-index.js +462 -0
  1811. package/dist/esm/_vendor/vfile/lib-minpath.browser.js +214 -0
  1812. package/dist/esm/_vendor/vfile/lib-minproc.browser.js +7 -0
  1813. package/dist/esm/_vendor/vfile/lib-minurl.browser.js +46 -0
  1814. package/dist/esm/_vendor/vfile/lib-minurl.shared.js +9 -0
  1815. package/dist/esm/_vendor/vfile-message/lib-index.js +138 -0
  1816. package/dist/esm/_virtual/_commonjsHelpers.js +33 -0
  1817. package/dist/esm/_virtual/index.js +4 -0
  1818. package/dist/esm/_virtual/index2.js +4 -0
  1819. package/dist/esm/_virtual/index3.js +6 -0
  1820. package/dist/esm/_virtual/index4.js +6 -0
  1821. package/dist/esm/_virtual/index5.js +4 -0
  1822. package/dist/esm/_virtual/utilities.js +4 -0
  1823. package/dist/esm/components/alert-dialog/src/alert-dialog.js +191 -0
  1824. package/dist/esm/components/alert-dialog/src/context/alert-dialog-context.js +13 -0
  1825. package/dist/esm/components/alert-dialog/src/context/alert-dialog-provider.js +30 -0
  1826. package/dist/esm/components/alert-dialog/src/hooks/use-alert-dialog.js +75 -0
  1827. package/dist/esm/components/alert-dialog/src/tv.js +41 -0
  1828. package/dist/esm/components/alert-dialog/src/utils/index.js +191 -0
  1829. package/dist/esm/components/avatar/dist/index.js +172 -0
  1830. package/dist/esm/components/avatar/src/avatar.js +79 -0
  1831. package/dist/esm/components/avatar/src/letter.js +36 -0
  1832. package/dist/esm/components/avatar/src/tv.js +68 -0
  1833. package/dist/esm/components/badge/src/badge.js +25 -0
  1834. package/dist/esm/components/badge/src/tv.js +109 -0
  1835. package/dist/esm/components/bells/src/bells.js +171 -0
  1836. package/dist/esm/components/bells/src/tv.js +81 -0
  1837. package/dist/esm/components/bezier-curve-editor/src/bezier-curve-editor.js +365 -0
  1838. package/dist/esm/components/bezier-curve-editor/src/components/bezier-curve-editor-curve.js +216 -0
  1839. package/dist/esm/components/bezier-curve-editor/src/components/bezier-curve-editor-end-points.js +94 -0
  1840. package/dist/esm/components/bezier-curve-editor/src/components/bezier-curve-editor-plane.js +110 -0
  1841. package/dist/esm/components/bezier-curve-editor/src/components/linear-gradient.js +146 -0
  1842. package/dist/esm/components/bezier-curve-editor/src/constants.js +45 -0
  1843. package/dist/esm/components/bezier-curve-editor/src/hooks.js +39 -0
  1844. package/dist/esm/components/bezier-curve-editor/src/tv.js +40 -0
  1845. package/dist/esm/components/bezier-curve-editor/src/utils.js +31 -0
  1846. package/dist/esm/components/button/dist/index.js +303 -0
  1847. package/dist/esm/components/button/src/button.js +62 -0
  1848. package/dist/esm/components/button/src/tv.js +246 -0
  1849. package/dist/esm/components/calendar/dist/index.js +4591 -0
  1850. package/dist/esm/components/calendar/src/date-input/date-input.js +121 -0
  1851. package/dist/esm/components/calendar/src/date-range-input/date-range-input.js +98 -0
  1852. package/dist/esm/components/calendar/src/hooks/use-date-input.js +402 -0
  1853. package/dist/esm/components/calendar/src/hooks/use-time-input.js +304 -0
  1854. package/dist/esm/components/calendar/src/month-calendar/month-calendar-date-cell.js +40 -0
  1855. package/dist/esm/components/calendar/src/month-calendar/month-calendar-header.js +57 -0
  1856. package/dist/esm/components/calendar/src/month-calendar/month-calendar-week-day.js +12 -0
  1857. package/dist/esm/components/calendar/src/month-calendar/month-calendar-week-number.js +19 -0
  1858. package/dist/esm/components/calendar/src/month-calendar/month-calendar.js +407 -0
  1859. package/dist/esm/components/calendar/src/month-calendar/tv.js +324 -0
  1860. package/dist/esm/components/calendar/src/quarter-calendar/quarter-calendar-cell.js +48 -0
  1861. package/dist/esm/components/calendar/src/quarter-calendar/quarter-calendar-header.js +90 -0
  1862. package/dist/esm/components/calendar/src/quarter-calendar/quarter-calendar.js +180 -0
  1863. package/dist/esm/components/calendar/src/quarter-calendar/tv.js +156 -0
  1864. package/dist/esm/components/calendar/src/time-calendar/time-calendar.js +288 -0
  1865. package/dist/esm/components/calendar/src/time-input/time-input.js +80 -0
  1866. package/dist/esm/components/calendar/src/time-range-input/time-range-input.js +140 -0
  1867. package/dist/esm/components/calendar/src/utils/constants.js +177 -0
  1868. package/dist/esm/components/calendar/src/utils/date-comparisons.js +196 -0
  1869. package/dist/esm/components/calendar/src/utils/locale.js +39 -0
  1870. package/dist/esm/components/calendar/src/utils/month.js +127 -0
  1871. package/dist/esm/components/calendar/src/utils/parsers/english-dates.js +51 -0
  1872. package/dist/esm/components/calendar/src/utils/parsers/format-utils.js +26 -0
  1873. package/dist/esm/components/calendar/src/utils/parsers/month-names.js +75 -0
  1874. package/dist/esm/components/calendar/src/utils/parsers/natural-language.js +56 -0
  1875. package/dist/esm/components/calendar/src/utils/parsers/numeric-utils.js +142 -0
  1876. package/dist/esm/components/calendar/src/utils/parsers/parsers.js +605 -0
  1877. package/dist/esm/components/calendar/src/utils/parsers/prediction.js +111 -0
  1878. package/dist/esm/components/calendar/src/utils/parsers/relative-dates.js +110 -0
  1879. package/dist/esm/components/calendar/src/utils/parsers/shortcuts.js +32 -0
  1880. package/dist/esm/components/calendar/src/utils/parsers/validators.js +82 -0
  1881. package/dist/esm/components/calendar/src/utils/quarter.js +104 -0
  1882. package/dist/esm/components/calendar/src/utils/time.js +277 -0
  1883. package/dist/esm/components/calendar/src/utils/year.js +29 -0
  1884. package/dist/esm/components/calendar/src/year-calendar/tv.js +152 -0
  1885. package/dist/esm/components/calendar/src/year-calendar/year-calendar-cell.js +31 -0
  1886. package/dist/esm/components/calendar/src/year-calendar/year-calendar-header.js +78 -0
  1887. package/dist/esm/components/calendar/src/year-calendar/year-calendar.js +187 -0
  1888. package/dist/esm/components/checkbox/dist/index.js +250 -0
  1889. package/dist/esm/components/checkbox/src/checkbox-label.js +27 -0
  1890. package/dist/esm/components/checkbox/src/checkbox.js +99 -0
  1891. package/dist/esm/components/checkbox/src/context.js +13 -0
  1892. package/dist/esm/components/checkbox/src/tv.js +130 -0
  1893. package/dist/esm/components/chip/dist/index.js +243 -0
  1894. package/dist/esm/components/chip/src/chip.js +79 -0
  1895. package/dist/esm/components/chip/src/tv.js +169 -0
  1896. package/dist/esm/components/chips-input/src/chips-input.js +214 -0
  1897. package/dist/esm/components/chips-input/src/tv.js +61 -0
  1898. package/dist/esm/components/code-block/dist/index.js +1137 -0
  1899. package/dist/esm/components/code-block/src/code-block.js +139 -0
  1900. package/dist/esm/components/code-block/src/components/code-block-code.js +48 -0
  1901. package/dist/esm/components/code-block/src/components/code-block-content.js +66 -0
  1902. package/dist/esm/components/code-block/src/components/code-block-footer.js +48 -0
  1903. package/dist/esm/components/code-block/src/components/code-block-header.js +104 -0
  1904. package/dist/esm/components/code-block/src/hooks/use-code-block.js +50 -0
  1905. package/dist/esm/components/code-block/src/hooks/use-line-count.js +27 -0
  1906. package/dist/esm/components/code-block/src/hooks/use-scroll-detection.js +44 -0
  1907. package/dist/esm/components/code-block/src/hooks/use-theme.js +44 -0
  1908. package/dist/esm/components/code-block/src/index.js +15 -0
  1909. package/dist/esm/components/code-block/src/utils/default-filename.js +74 -0
  1910. package/dist/esm/components/code-block/src/utils/language-icon-map.js +544 -0
  1911. package/dist/esm/components/combobox/dist/index.js +632 -0
  1912. package/dist/esm/components/combobox/src/combobox-trigger.js +104 -0
  1913. package/dist/esm/components/combobox/src/combobox.js +425 -0
  1914. package/dist/esm/components/combobox/src/tv.js +115 -0
  1915. package/dist/esm/components/command/src/command-score.js +93 -0
  1916. package/dist/esm/components/command/src/command.js +363 -0
  1917. package/dist/esm/components/command/src/components/command-divider.js +27 -0
  1918. package/dist/esm/components/command/src/components/command-empty.js +27 -0
  1919. package/dist/esm/components/command/src/components/command-footer.js +23 -0
  1920. package/dist/esm/components/command/src/components/command-group.js +65 -0
  1921. package/dist/esm/components/command/src/components/command-input.js +59 -0
  1922. package/dist/esm/components/command/src/components/command-item.js +130 -0
  1923. package/dist/esm/components/command/src/components/command-list.js +75 -0
  1924. package/dist/esm/components/command/src/components/command-loading.js +26 -0
  1925. package/dist/esm/components/command/src/components/command-tabs.js +22 -0
  1926. package/dist/esm/components/command/src/components/command-value.js +23 -0
  1927. package/dist/esm/components/command/src/context/command-context.js +7 -0
  1928. package/dist/esm/components/command/src/context/create-command-context.js +103 -0
  1929. package/dist/esm/components/command/src/hooks/index.js +5 -0
  1930. package/dist/esm/components/command/src/hooks/use-as-ref.js +12 -0
  1931. package/dist/esm/components/command/src/hooks/use-command-state.js +18 -0
  1932. package/dist/esm/components/command/src/hooks/use-command.js +12 -0
  1933. package/dist/esm/components/command/src/hooks/use-schedule-layout-effect.js +18 -0
  1934. package/dist/esm/components/command/src/hooks/use-value.js +34 -0
  1935. package/dist/esm/components/command/src/index.js +31 -0
  1936. package/dist/esm/components/command/src/tv.js +250 -0
  1937. package/dist/esm/components/command/src/utils/constants.js +16 -0
  1938. package/dist/esm/components/command/src/utils/dom.js +20 -0
  1939. package/dist/esm/components/command/src/utils/helpers.js +32 -0
  1940. package/dist/esm/components/comments/src/comment-input/comment-input.js +246 -0
  1941. package/dist/esm/components/comments/src/comment-input/components/comment-input-emoji-popover.js +41 -0
  1942. package/dist/esm/components/comments/src/comment-input/components/comment-input-footer.js +126 -0
  1943. package/dist/esm/components/comments/src/comment-input/components/comment-input-mention-popover.js +289 -0
  1944. package/dist/esm/components/comments/src/comment-input/components/comment-input-plugins.js +215 -0
  1945. package/dist/esm/components/comments/src/comment-input/components/comment-input-renderers.js +101 -0
  1946. package/dist/esm/components/comments/src/comment-input/components/comment-input-serializers.js +26 -0
  1947. package/dist/esm/components/comments/src/comment-input/hooks/use-comment-input.js +448 -0
  1948. package/dist/esm/components/comments/src/comment-input/tv.js +51 -0
  1949. package/dist/esm/components/comments/src/comment-input/utils/comment-input-hotkeys.js +36 -0
  1950. package/dist/esm/components/comments/src/comment-input/utils/comment-input-utils.js +38 -0
  1951. package/dist/esm/components/comments/src/comment-item/comment-item.js +125 -0
  1952. package/dist/esm/components/comments/src/comment-item/components/comment-item-reactions.js +102 -0
  1953. package/dist/esm/components/comments/src/comment-item/components/comment-item-renderers.js +79 -0
  1954. package/dist/esm/components/comments/src/comment-item/hooks/use-formatted-date.js +43 -0
  1955. package/dist/esm/components/comments/src/comment-item/tv.js +54 -0
  1956. package/dist/esm/components/comments/src/comments.js +226 -0
  1957. package/dist/esm/components/comments/src/components/element/attachments-comment.js +61 -0
  1958. package/dist/esm/components/comments/src/components/element/attachments-edit.js +87 -0
  1959. package/dist/esm/components/comments/src/components/element/mention.js +74 -0
  1960. package/dist/esm/components/comments/src/components/element/tv.js +57 -0
  1961. package/dist/esm/components/comments/src/components/image-preview-popover.js +42 -0
  1962. package/dist/esm/components/comments/src/hooks/use-scroll-to-bottom.js +92 -0
  1963. package/dist/esm/components/comments/src/state/comments-state.js +240 -0
  1964. package/dist/esm/components/comments/src/tv.js +26 -0
  1965. package/dist/esm/components/conditions/src/components/condition-group.js +403 -0
  1966. package/dist/esm/components/conditions/src/components/condition-item.js +241 -0
  1967. package/dist/esm/components/conditions/src/components/condition-items/array-length-input.js +37 -0
  1968. package/dist/esm/components/conditions/src/components/condition-items/boolean-input.js +21 -0
  1969. package/dist/esm/components/conditions/src/components/condition-items/date-input.js +200 -0
  1970. package/dist/esm/components/conditions/src/components/condition-items/multi-select-input.js +36 -0
  1971. package/dist/esm/components/conditions/src/components/condition-items/number-input.js +46 -0
  1972. package/dist/esm/components/conditions/src/components/condition-items/regex-input.js +142 -0
  1973. package/dist/esm/components/conditions/src/components/condition-items/select-input.js +40 -0
  1974. package/dist/esm/components/conditions/src/components/condition-items/tag-input.js +22 -0
  1975. package/dist/esm/components/conditions/src/components/condition-items/text-input.js +21 -0
  1976. package/dist/esm/components/conditions/src/components/condition-items/user-input.js +22 -0
  1977. package/dist/esm/components/conditions/src/components/group-renderers.js +100 -0
  1978. package/dist/esm/components/conditions/src/conditions.js +417 -0
  1979. package/dist/esm/components/conditions/src/hooks/use-conditions.js +165 -0
  1980. package/dist/esm/components/conditions/src/hooks/use-drag-and-drop.js +220 -0
  1981. package/dist/esm/components/conditions/src/hooks/use-field-operators.js +132 -0
  1982. package/dist/esm/components/conditions/src/types.js +81 -0
  1983. package/dist/esm/components/conditions/src/utils/constants.js +551 -0
  1984. package/dist/esm/components/conditions/src/utils/operator-utils.js +175 -0
  1985. package/dist/esm/components/conditions/src/utils/utilities.js +351 -0
  1986. package/dist/esm/components/context-input/src/components/context-input-footer.js +23 -0
  1987. package/dist/esm/components/context-input/src/components/context-input-header.js +23 -0
  1988. package/dist/esm/components/context-input/src/components/copy-button.js +47 -0
  1989. package/dist/esm/components/context-input/src/components/insert-mentions-button.js +37 -0
  1990. package/dist/esm/components/context-input/src/components/mention-menu.js +69 -0
  1991. package/dist/esm/components/context-input/src/components/mention.js +68 -0
  1992. package/dist/esm/components/context-input/src/components/slate-editor.js +118 -0
  1993. package/dist/esm/components/context-input/src/components/tv.js +73 -0
  1994. package/dist/esm/components/context-input/src/context-input.js +176 -0
  1995. package/dist/esm/components/context-input/src/extensions/with-max-length.js +64 -0
  1996. package/dist/esm/components/context-input/src/extensions/with-mentions.js +42 -0
  1997. package/dist/esm/components/context-input/src/hooks/use-context-input-editor.js +13 -0
  1998. package/dist/esm/components/context-input/src/hooks/use-context-input.js +80 -0
  1999. package/dist/esm/components/context-input/src/hooks/use-mentions.js +260 -0
  2000. package/dist/esm/components/context-input/src/hooks/use-slate-editor.js +22 -0
  2001. package/dist/esm/components/context-input/src/tv.js +232 -0
  2002. package/dist/esm/components/context-input/src/utils/context-extraction.js +14 -0
  2003. package/dist/esm/components/context-input/src/utils/mention-spacing.js +64 -0
  2004. package/dist/esm/components/context-input/src/utils/slate-converters.js +170 -0
  2005. package/dist/esm/components/context-input/src/utils/text-extraction.js +74 -0
  2006. package/dist/esm/components/context-menu/src/context-menu.js +392 -0
  2007. package/dist/esm/components/dialog/dist/index.js +906 -0
  2008. package/dist/esm/components/dialog/src/components/dialog-header.js +24 -0
  2009. package/dist/esm/components/dialog/src/components/dialog-trigger.js +26 -0
  2010. package/dist/esm/components/dialog/src/dialog-context.js +13 -0
  2011. package/dist/esm/components/dialog/src/dialog.js +275 -0
  2012. package/dist/esm/components/dialog/src/hooks/use-drag.js +163 -0
  2013. package/dist/esm/components/dialog/src/hooks/use-floating-dialog.js +198 -0
  2014. package/dist/esm/components/dialog/src/hooks/use-resize.js +192 -0
  2015. package/dist/esm/components/dialog/src/tv.js +38 -0
  2016. package/dist/esm/components/dialog/src/utils/calculate-initial-position.js +25 -0
  2017. package/dist/esm/components/dropdown/dist/index.js +384 -0
  2018. package/dist/esm/components/dropdown/src/dropdown.js +384 -0
  2019. package/dist/esm/components/emoji-picker/dist/index.js +12199 -0
  2020. package/dist/esm/components/emoji-picker/src/components/emoji-category-header.js +21 -0
  2021. package/dist/esm/components/emoji-picker/src/components/emoji-empty.js +13 -0
  2022. package/dist/esm/components/emoji-picker/src/components/emoji-footer.js +20 -0
  2023. package/dist/esm/components/emoji-picker/src/components/emoji-item.js +21 -0
  2024. package/dist/esm/components/emoji-picker/src/emoji-picker.js +215 -0
  2025. package/dist/esm/components/emoji-picker/src/hooks/use-emoji-data.js +151 -0
  2026. package/dist/esm/components/emoji-picker/src/hooks/use-emoji-scroll.js +134 -0
  2027. package/dist/esm/components/emoji-picker/src/tv.js +163 -0
  2028. package/dist/esm/components/emoji-picker/src/utils/emoji-data.js +11513 -0
  2029. package/dist/esm/components/file-upload/src/components/file-upload-clear.js +46 -0
  2030. package/dist/esm/components/file-upload/src/components/file-upload-dropzone.js +123 -0
  2031. package/dist/esm/components/file-upload/src/components/file-upload-item-delete.js +45 -0
  2032. package/dist/esm/components/file-upload/src/components/file-upload-item-metadata.js +58 -0
  2033. package/dist/esm/components/file-upload/src/components/file-upload-item-preview.js +58 -0
  2034. package/dist/esm/components/file-upload/src/components/file-upload-item-progress.js +100 -0
  2035. package/dist/esm/components/file-upload/src/components/file-upload-item.js +72 -0
  2036. package/dist/esm/components/file-upload/src/components/file-upload-list.js +38 -0
  2037. package/dist/esm/components/file-upload/src/components/file-upload-trigger.js +40 -0
  2038. package/dist/esm/components/file-upload/src/constants.js +35 -0
  2039. package/dist/esm/components/file-upload/src/contexts.js +10 -0
  2040. package/dist/esm/components/file-upload/src/file-upload.js +286 -0
  2041. package/dist/esm/components/file-upload/src/hooks/use-file-upload-context.js +21 -0
  2042. package/dist/esm/components/file-upload/src/hooks/use-store.js +34 -0
  2043. package/dist/esm/components/file-upload/src/store.js +118 -0
  2044. package/dist/esm/components/file-upload/src/tv.js +57 -0
  2045. package/dist/esm/components/file-upload/src/utils/get-file-icon.js +48 -0
  2046. package/dist/esm/components/form/src/adapters/base-adapter.js +49 -0
  2047. package/dist/esm/components/form/src/adapters/checkbox-adapter.js +40 -0
  2048. package/dist/esm/components/form/src/adapters/input-adapter.js +38 -0
  2049. package/dist/esm/components/form/src/adapters/multi-select-adapter.js +52 -0
  2050. package/dist/esm/components/form/src/adapters/numeric-input-adapter.js +40 -0
  2051. package/dist/esm/components/form/src/adapters/raido-group-adapter.js +40 -0
  2052. package/dist/esm/components/form/src/adapters/range-adapter.js +40 -0
  2053. package/dist/esm/components/form/src/adapters/segmented-adapter.js +49 -0
  2054. package/dist/esm/components/form/src/adapters/select-adapter.js +52 -0
  2055. package/dist/esm/components/form/src/adapters/switch-adapter.js +41 -0
  2056. package/dist/esm/components/form/src/adapters/textarea-adapter.js +38 -0
  2057. package/dist/esm/components/form/src/index.js +44 -0
  2058. package/dist/esm/components/form/src/tv.js +21 -0
  2059. package/dist/esm/components/hint/src/components/info-content.js +52 -0
  2060. package/dist/esm/components/hint/src/components/info-trigger.js +32 -0
  2061. package/dist/esm/components/hint/src/context/hint-context.js +13 -0
  2062. package/dist/esm/components/hint/src/hint.js +50 -0
  2063. package/dist/esm/components/hint/src/hooks/use-hint.js +55 -0
  2064. package/dist/esm/components/hint/src/tv.js +45 -0
  2065. package/dist/esm/components/icon-button/dist/index.js +227 -0
  2066. package/dist/esm/components/icon-button/src/icon-button-group.js +30 -0
  2067. package/dist/esm/components/icon-button/src/icon-button.js +52 -0
  2068. package/dist/esm/components/icon-button/src/tv.js +157 -0
  2069. package/dist/esm/components/input/dist/index.js +165 -0
  2070. package/dist/esm/components/input/src/input.js +78 -0
  2071. package/dist/esm/components/input/src/tv.js +92 -0
  2072. package/dist/esm/components/kbd/dist/index.js +89 -0
  2073. package/dist/esm/components/kbd/src/kbd.js +35 -0
  2074. package/dist/esm/components/kbd/src/tv.js +10 -0
  2075. package/dist/esm/components/kbd/src/utils.js +52 -0
  2076. package/dist/esm/components/label/dist/index.js +111 -0
  2077. package/dist/esm/components/label/src/label.js +37 -0
  2078. package/dist/esm/components/label/src/tv.js +78 -0
  2079. package/dist/esm/components/link-button/dist/index.js +78 -0
  2080. package/dist/esm/components/link-button/src/link-button.js +78 -0
  2081. package/dist/esm/components/list/src/components/list-content.js +52 -0
  2082. package/dist/esm/components/list/src/components/list-divider.js +24 -0
  2083. package/dist/esm/components/list/src/components/list-item.js +140 -0
  2084. package/dist/esm/components/list/src/components/list-label.js +23 -0
  2085. package/dist/esm/components/list/src/components/list-sub-trigger.js +115 -0
  2086. package/dist/esm/components/list/src/context/list-context.js +49 -0
  2087. package/dist/esm/components/list/src/context/list-provider.js +121 -0
  2088. package/dist/esm/components/list/src/hooks/use-list-keyboard.js +82 -0
  2089. package/dist/esm/components/list/src/list.js +76 -0
  2090. package/dist/esm/components/list/src/tv.js +308 -0
  2091. package/dist/esm/components/loader/src/hooks/use-loader.js +20 -0
  2092. package/dist/esm/components/loader/src/loader.js +176 -0
  2093. package/dist/esm/components/loader/src/tv.js +28 -0
  2094. package/dist/esm/components/md-input/src/components/extensions/md-input-mention.js +41 -0
  2095. package/dist/esm/components/md-input/src/components/md-input-container.js +38 -0
  2096. package/dist/esm/components/md-input/src/components/md-input-editor.js +127 -0
  2097. package/dist/esm/components/md-input/src/components/md-input-footer.js +20 -0
  2098. package/dist/esm/components/md-input/src/components/md-input-header.js +24 -0
  2099. package/dist/esm/components/md-input/src/components/md-input-render.js +38 -0
  2100. package/dist/esm/components/md-input/src/components/md-input-tabs.js +27 -0
  2101. package/dist/esm/components/md-input/src/components/toolbar/default-actions.js +22 -0
  2102. package/dist/esm/components/md-input/src/components/toolbar/toolbar-button.js +29 -0
  2103. package/dist/esm/components/md-input/src/components/toolbar/toolbar.js +92 -0
  2104. package/dist/esm/components/md-input/src/components/toolbar/tv.js +20 -0
  2105. package/dist/esm/components/md-input/src/context/md-input-context.js +13 -0
  2106. package/dist/esm/components/md-input/src/hooks/use-markdown-formatting.js +121 -0
  2107. package/dist/esm/components/md-input/src/hooks/use-markdown-mentions.js +186 -0
  2108. package/dist/esm/components/md-input/src/hooks/use-markdown-shortcuts.js +63 -0
  2109. package/dist/esm/components/md-input/src/md-input.js +150 -0
  2110. package/dist/esm/components/md-input/src/tv.js +43 -0
  2111. package/dist/esm/components/md-render/dist/index.js +481 -0
  2112. package/dist/esm/components/md-render/src/components/markdown-block.js +64 -0
  2113. package/dist/esm/components/md-render/src/components/markdown-components.js +120 -0
  2114. package/dist/esm/components/md-render/src/constants.js +6 -0
  2115. package/dist/esm/components/md-render/src/hooks/use-md-blocks.js +8 -0
  2116. package/dist/esm/components/md-render/src/md-render.js +95 -0
  2117. package/dist/esm/components/md-render/src/tv.js +96 -0
  2118. package/dist/esm/components/md-render/src/utils/extract-language.js +8 -0
  2119. package/dist/esm/components/md-render/src/utils/parse-md-into-blocks.js +8 -0
  2120. package/dist/esm/components/md-render/src/utils/process-mentions.js +119 -0
  2121. package/dist/esm/components/menus/dist/index.js +1141 -0
  2122. package/dist/esm/components/menus/src/components/menu-button.js +24 -0
  2123. package/dist/esm/components/menus/src/components/menu-checkbox.js +12 -0
  2124. package/dist/esm/components/menus/src/components/menu-divider.js +22 -0
  2125. package/dist/esm/components/menus/src/components/menu-input.js +27 -0
  2126. package/dist/esm/components/menus/src/components/menu-item.js +63 -0
  2127. package/dist/esm/components/menus/src/components/menu-label.js +24 -0
  2128. package/dist/esm/components/menus/src/components/menu-scroll-arrow.js +136 -0
  2129. package/dist/esm/components/menus/src/components/menu-search.js +72 -0
  2130. package/dist/esm/components/menus/src/components/menu-trigger.js +79 -0
  2131. package/dist/esm/components/menus/src/components/menu-value.js +16 -0
  2132. package/dist/esm/components/menus/src/context/menu-context-content.js +22 -0
  2133. package/dist/esm/components/menus/src/context/menu-context-item.js +123 -0
  2134. package/dist/esm/components/menus/src/context/menu-context-label.js +21 -0
  2135. package/dist/esm/components/menus/src/context/menu-context-sub-trigger.js +132 -0
  2136. package/dist/esm/components/menus/src/context/menu-context.js +5 -0
  2137. package/dist/esm/components/menus/src/hooks/use-menu-base-refs.js +16 -0
  2138. package/dist/esm/components/menus/src/hooks/use-menu-children.js +50 -0
  2139. package/dist/esm/components/menus/src/hooks/use-menu-floating.js +156 -0
  2140. package/dist/esm/components/menus/src/hooks/use-menu-refs.js +55 -0
  2141. package/dist/esm/components/menus/src/hooks/use-menu-scroll-height.js +20 -0
  2142. package/dist/esm/components/menus/src/hooks/use-menu-scroll.js +66 -0
  2143. package/dist/esm/components/menus/src/hooks/use-menu-selection.js +55 -0
  2144. package/dist/esm/components/menus/src/hooks/use-menu-state.js +47 -0
  2145. package/dist/esm/components/menus/src/hooks/use-menu-tree.js +47 -0
  2146. package/dist/esm/components/menus/src/menus.js +59 -0
  2147. package/dist/esm/components/menus/src/tv.js +281 -0
  2148. package/dist/esm/components/modal/dist/index.js +211 -0
  2149. package/dist/esm/components/modal/src/components/modal-backdrop.js +31 -0
  2150. package/dist/esm/components/modal/src/components/modal-content.js +20 -0
  2151. package/dist/esm/components/modal/src/components/modal-footer.js +20 -0
  2152. package/dist/esm/components/modal/src/components/modal-header.js +30 -0
  2153. package/dist/esm/components/modal/src/components/modal-input.js +28 -0
  2154. package/dist/esm/components/modal/src/components/modal-select.js +24 -0
  2155. package/dist/esm/components/modal/src/components/modal-textarea.js +27 -0
  2156. package/dist/esm/components/modal/src/modal.js +35 -0
  2157. package/dist/esm/components/modal/src/tv.js +53 -0
  2158. package/dist/esm/components/multi-select/dist/index.js +841 -0
  2159. package/dist/esm/components/multi-select/src/components/multi-select-trigger.js +167 -0
  2160. package/dist/esm/components/multi-select/src/hooks/use-multi-select-selection.js +82 -0
  2161. package/dist/esm/components/multi-select/src/hooks/use-multi-select-state.js +33 -0
  2162. package/dist/esm/components/multi-select/src/multi-select.js +473 -0
  2163. package/dist/esm/components/multi-select/src/tv.js +80 -0
  2164. package/dist/esm/components/multi-select/src/utils/extract-options.js +52 -0
  2165. package/dist/esm/components/notifications/src/notifications.js +75 -0
  2166. package/dist/esm/components/notifications/src/tv.js +36 -0
  2167. package/dist/esm/components/numeric-input/dist/index.js +1262 -0
  2168. package/dist/esm/components/numeric-input/src/components/numeric-input-element.js +37 -0
  2169. package/dist/esm/components/numeric-input/src/components/numeric-input-menu-trigger.js +48 -0
  2170. package/dist/esm/components/numeric-input/src/components/numeric-input-variable.js +36 -0
  2171. package/dist/esm/components/numeric-input/src/context/numeric-input-context.js +13 -0
  2172. package/dist/esm/components/numeric-input/src/hooks/use-input-interactions.js +93 -0
  2173. package/dist/esm/components/numeric-input/src/hooks/use-numeric-input.js +188 -0
  2174. package/dist/esm/components/numeric-input/src/hooks/use-numeric-value-processing.js +40 -0
  2175. package/dist/esm/components/numeric-input/src/hooks/use-step-calculation.js +11 -0
  2176. package/dist/esm/components/numeric-input/src/numeric-input.js +239 -0
  2177. package/dist/esm/components/numeric-input/src/tv.js +403 -0
  2178. package/dist/esm/components/numeric-input/src/utils/expression-evaluator.js +77 -0
  2179. package/dist/esm/components/numeric-input/src/utils/input-parser.js +37 -0
  2180. package/dist/esm/components/numeric-input/src/utils/numeric-value-processor.js +60 -0
  2181. package/dist/esm/components/numeric-input/src/utils/pattern-parser.js +20 -0
  2182. package/dist/esm/components/numeric-input/src/utils/value-comparator.js +32 -0
  2183. package/dist/esm/components/numeric-input/src/utils/value-processor.js +20 -0
  2184. package/dist/esm/components/pagination/src/components/pagination-context.js +13 -0
  2185. package/dist/esm/components/pagination/src/components/pagination-items-per-page.js +50 -0
  2186. package/dist/esm/components/pagination/src/components/pagination-navigation.js +53 -0
  2187. package/dist/esm/components/pagination/src/components/pagination-root.js +78 -0
  2188. package/dist/esm/components/pagination/src/components/pagination-spinner.js +148 -0
  2189. package/dist/esm/components/pagination/src/hooks/use-pagination.js +86 -0
  2190. package/dist/esm/components/pagination/src/pagination.js +13 -0
  2191. package/dist/esm/components/pagination/src/tv.js +47 -0
  2192. package/dist/esm/components/pagination/src/utils/pagination-helpers.js +9 -0
  2193. package/dist/esm/components/panel/src/components/panel-label.js +23 -0
  2194. package/dist/esm/components/panel/src/components/panel-previewer.js +17 -0
  2195. package/dist/esm/components/panel/src/components/panel-row-label.js +19 -0
  2196. package/dist/esm/components/panel/src/components/panel-row-many-icon.js +33 -0
  2197. package/dist/esm/components/panel/src/components/panel-row.js +32 -0
  2198. package/dist/esm/components/panel/src/components/panel-sortable-row.js +55 -0
  2199. package/dist/esm/components/panel/src/components/panel-sortable.js +128 -0
  2200. package/dist/esm/components/panel/src/components/panel-title.js +72 -0
  2201. package/dist/esm/components/panel/src/context/panel-context.js +18 -0
  2202. package/dist/esm/components/panel/src/context/sortable-context.js +27 -0
  2203. package/dist/esm/components/panel/src/hooks/use-panel-drag-drop.js +270 -0
  2204. package/dist/esm/components/panel/src/panel.js +114 -0
  2205. package/dist/esm/components/panel/src/tv.js +105 -0
  2206. package/dist/esm/components/picture-preview/dist/index.js +552 -0
  2207. package/dist/esm/components/picture-preview/src/hooks/useDraggable.js +89 -0
  2208. package/dist/esm/components/picture-preview/src/hooks/useHotkeys.js +34 -0
  2209. package/dist/esm/components/picture-preview/src/hooks/useWheelHandler.js +84 -0
  2210. package/dist/esm/components/picture-preview/src/picture-preview.js +318 -0
  2211. package/dist/esm/components/picture-preview/src/tv.js +48 -0
  2212. package/dist/esm/components/popover/dist/index.js +598 -0
  2213. package/dist/esm/components/popover/src/components/popover-header.js +24 -0
  2214. package/dist/esm/components/popover/src/components/popover-trigger.js +23 -0
  2215. package/dist/esm/components/popover/src/hooks/use-drag.js +154 -0
  2216. package/dist/esm/components/popover/src/hooks/use-floating-popover.js +200 -0
  2217. package/dist/esm/components/popover/src/popover-context.js +13 -0
  2218. package/dist/esm/components/popover/src/popover.js +219 -0
  2219. package/dist/esm/components/progress/src/progress-bar.js +189 -0
  2220. package/dist/esm/components/progress/src/progress-circle.js +185 -0
  2221. package/dist/esm/components/progress/src/tv.js +64 -0
  2222. package/dist/esm/components/radio/dist/index.js +338 -0
  2223. package/dist/esm/components/radio/src/context.js +23 -0
  2224. package/dist/esm/components/radio/src/radio-group.js +100 -0
  2225. package/dist/esm/components/radio/src/radio-label.js +27 -0
  2226. package/dist/esm/components/radio/src/radio.js +85 -0
  2227. package/dist/esm/components/radio/src/tv.js +130 -0
  2228. package/dist/esm/components/range/dist/index.js +886 -0
  2229. package/dist/esm/components/range/src/range-tuple.js +481 -0
  2230. package/dist/esm/components/range/src/range.js +328 -0
  2231. package/dist/esm/components/range/src/tv.js +92 -0
  2232. package/dist/esm/components/rich-input/src/components/block-button.js +36 -0
  2233. package/dist/esm/components/rich-input/src/components/characters-menu.js +151 -0
  2234. package/dist/esm/components/rich-input/src/components/element.js +174 -0
  2235. package/dist/esm/components/rich-input/src/components/floating-menu-base.js +57 -0
  2236. package/dist/esm/components/rich-input/src/components/floating-menus-container.js +116 -0
  2237. package/dist/esm/components/rich-input/src/components/format-button.js +30 -0
  2238. package/dist/esm/components/rich-input/src/components/leaf.js +54 -0
  2239. package/dist/esm/components/rich-input/src/components/paragraph-menu.js +93 -0
  2240. package/dist/esm/components/rich-input/src/components/paste-html.js +84 -0
  2241. package/dist/esm/components/rich-input/src/components/rich-input-editable-component.js +76 -0
  2242. package/dist/esm/components/rich-input/src/components/rich-input-viewport.js +24 -0
  2243. package/dist/esm/components/rich-input/src/components/url-menu.js +51 -0
  2244. package/dist/esm/components/rich-input/src/context/rich-input-context.js +13 -0
  2245. package/dist/esm/components/rich-input/src/hooks/use-editor-config.js +33 -0
  2246. package/dist/esm/components/rich-input/src/hooks/use-editor-effects.js +61 -0
  2247. package/dist/esm/components/rich-input/src/hooks/use-editor-state.js +111 -0
  2248. package/dist/esm/components/rich-input/src/hooks/use-floating-ui.js +206 -0
  2249. package/dist/esm/components/rich-input/src/hooks/use-keyboard-shortcuts.js +77 -0
  2250. package/dist/esm/components/rich-input/src/hooks/use-mouse-events.js +113 -0
  2251. package/dist/esm/components/rich-input/src/hooks/use-rich-input.js +66 -0
  2252. package/dist/esm/components/rich-input/src/hooks/use-selection-events.js +175 -0
  2253. package/dist/esm/components/rich-input/src/hooks/use-validation.js +80 -0
  2254. package/dist/esm/components/rich-input/src/rich-input-base.js +193 -0
  2255. package/dist/esm/components/rich-input/src/tv.js +112 -0
  2256. package/dist/esm/components/rich-input/src/types/i18n-types.js +9 -0
  2257. package/dist/esm/components/rich-input/src/utils/custom-options.js +66 -0
  2258. package/dist/esm/components/rich-input/src/utils/editor-utils.js +66 -0
  2259. package/dist/esm/components/rich-input/src/utils/markdown-to-slate.js +219 -0
  2260. package/dist/esm/components/rich-input/src/utils/slate-to-markdown.js +112 -0
  2261. package/dist/esm/components/scroll-area/dist/index.js +972 -0
  2262. package/dist/esm/components/scroll-area/src/components/scroll-area-content.js +45 -0
  2263. package/dist/esm/components/scroll-area/src/components/scroll-area-corner.js +45 -0
  2264. package/dist/esm/components/scroll-area/src/components/scroll-area-root.js +170 -0
  2265. package/dist/esm/components/scroll-area/src/components/scroll-area-scrollbar.js +95 -0
  2266. package/dist/esm/components/scroll-area/src/components/scroll-area-thumb.js +53 -0
  2267. package/dist/esm/components/scroll-area/src/components/scroll-area-viewport.js +44 -0
  2268. package/dist/esm/components/scroll-area/src/context/scroll-area-context.js +13 -0
  2269. package/dist/esm/components/scroll-area/src/hooks/use-scroll-performance-monitor.js +123 -0
  2270. package/dist/esm/components/scroll-area/src/hooks/use-scroll-state-and-visibility.js +181 -0
  2271. package/dist/esm/components/scroll-area/src/hooks/use-scrollbar.js +44 -0
  2272. package/dist/esm/components/scroll-area/src/hooks/use-thumb.js +129 -0
  2273. package/dist/esm/components/scroll-area/src/scroll-area.js +17 -0
  2274. package/dist/esm/components/scroll-area/src/tv.js +175 -0
  2275. package/dist/esm/components/scroll-area/src/utils/index.js +41 -0
  2276. package/dist/esm/components/search-input/dist/index.js +139 -0
  2277. package/dist/esm/components/search-input/src/search-input.js +55 -0
  2278. package/dist/esm/components/search-input/src/tv.js +88 -0
  2279. package/dist/esm/components/segmented/dist/index.js +369 -0
  2280. package/dist/esm/components/segmented/src/context.js +13 -0
  2281. package/dist/esm/components/segmented/src/segmented-item.js +99 -0
  2282. package/dist/esm/components/segmented/src/segmented.js +98 -0
  2283. package/dist/esm/components/segmented/src/tv.js +179 -0
  2284. package/dist/esm/components/select/dist/index.js +480 -0
  2285. package/dist/esm/components/select/src/select.js +480 -0
  2286. package/dist/esm/components/skeleton/src/context/skeleton-context.js +14 -0
  2287. package/dist/esm/components/skeleton/src/hooks/use-skeleton.js +19 -0
  2288. package/dist/esm/components/skeleton/src/skeleton.js +71 -0
  2289. package/dist/esm/components/skeleton/src/tv.js +21 -0
  2290. package/dist/esm/components/slot/dist/index.js +81 -0
  2291. package/dist/esm/components/slot/src/slot.js +102 -0
  2292. package/dist/esm/components/spinner/src/spinner-bounce.js +78 -0
  2293. package/dist/esm/components/spinner/src/spinner-spin.js +72 -0
  2294. package/dist/esm/components/spinner/src/tv.js +69 -0
  2295. package/dist/esm/components/spring-visualizer/src/spring-visualizer.js +177 -0
  2296. package/dist/esm/components/stackflow/src/components/stackflow-item.js +58 -0
  2297. package/dist/esm/components/stackflow/src/components/stackflow-prefix.js +22 -0
  2298. package/dist/esm/components/stackflow/src/components/stackflow-suffix.js +22 -0
  2299. package/dist/esm/components/stackflow/src/context.js +13 -0
  2300. package/dist/esm/components/stackflow/src/hooks/use-stackflow.js +68 -0
  2301. package/dist/esm/components/stackflow/src/stackflow.js +78 -0
  2302. package/dist/esm/components/stackflow/src/tv.js +42 -0
  2303. package/dist/esm/components/switch/dist/index.js +322 -0
  2304. package/dist/esm/components/switch/src/switch.js +123 -0
  2305. package/dist/esm/components/switch/src/tv.js +204 -0
  2306. package/dist/esm/components/tabs/dist/index.js +270 -0
  2307. package/dist/esm/components/tabs/src/context.js +13 -0
  2308. package/dist/esm/components/tabs/src/tab-item.js +90 -0
  2309. package/dist/esm/components/tabs/src/tabs.js +61 -0
  2310. package/dist/esm/components/tabs/src/tv.js +161 -0
  2311. package/dist/esm/components/text-field/dist/index.js +264 -0
  2312. package/dist/esm/components/text-field/src/components/field-addon.js +19 -0
  2313. package/dist/esm/components/text-field/src/components/field-description.js +16 -0
  2314. package/dist/esm/components/text-field/src/text-field.js +105 -0
  2315. package/dist/esm/components/text-field/src/tv.js +141 -0
  2316. package/dist/esm/components/textarea/dist/index.js +862 -0
  2317. package/dist/esm/components/textarea/src/components/autosize/calculate-node-height.js +78 -0
  2318. package/dist/esm/components/textarea/src/components/autosize/force-hidden-styles.js +25 -0
  2319. package/dist/esm/components/textarea/src/components/autosize/get-sizing-data.js +79 -0
  2320. package/dist/esm/components/textarea/src/components/autosize/hooks.js +79 -0
  2321. package/dist/esm/components/textarea/src/components/autosize/index.js +171 -0
  2322. package/dist/esm/components/textarea/src/components/autosize/utils.js +17 -0
  2323. package/dist/esm/components/textarea/src/components/resize-handle.js +34 -0
  2324. package/dist/esm/components/textarea/src/textarea.js +274 -0
  2325. package/dist/esm/components/textarea/src/tv.js +151 -0
  2326. package/dist/esm/components/toggle-button/src/toggle-button.js +102 -0
  2327. package/dist/esm/components/toggle-button/src/tv.js +150 -0
  2328. package/dist/esm/components/tooltip/dist/index.js +313 -0
  2329. package/dist/esm/components/tooltip/src/components/tooltip-arrow.js +63 -0
  2330. package/dist/esm/components/tooltip/src/components/tooltip-content.js +63 -0
  2331. package/dist/esm/components/tooltip/src/components/tooltip-trigger.js +24 -0
  2332. package/dist/esm/components/tooltip/src/context/tooltip-context.js +15 -0
  2333. package/dist/esm/components/tooltip/src/hooks/use-tooltip.js +64 -0
  2334. package/dist/esm/components/tooltip/src/tooltip.js +58 -0
  2335. package/dist/esm/components/tooltip/src/tv.js +62 -0
  2336. package/dist/esm/components/tree-list/src/components/drop-indicator.js +42 -0
  2337. package/dist/esm/components/tree-list/src/components/tree-node-icon.js +30 -0
  2338. package/dist/esm/components/tree-list/src/components/tree-node-rename-input.js +180 -0
  2339. package/dist/esm/components/tree-list/src/components/tree-node-toggle.js +65 -0
  2340. package/dist/esm/components/tree-list/src/components/tree-node-wrapper.js +195 -0
  2341. package/dist/esm/components/tree-list/src/components/tree-node.js +333 -0
  2342. package/dist/esm/components/tree-list/src/hooks/use-drag-drop.js +307 -0
  2343. package/dist/esm/components/tree-list/src/hooks/use-modifier-keys.js +65 -0
  2344. package/dist/esm/components/tree-list/src/hooks/use-node-width.js +126 -0
  2345. package/dist/esm/components/tree-list/src/hooks/use-renaming.js +22 -0
  2346. package/dist/esm/components/tree-list/src/hooks/use-selection.js +151 -0
  2347. package/dist/esm/components/tree-list/src/tree-list.js +419 -0
  2348. package/dist/esm/components/tree-list/src/utils/node.js +57 -0
  2349. package/dist/esm/components/tree-list/src/utils/tree.js +238 -0
  2350. package/dist/esm/components/virtualized-grid/src/error-boundary.js +62 -0
  2351. package/dist/esm/components/virtualized-grid/src/tv.js +22 -0
  2352. package/dist/esm/components/virtualized-grid/src/use-item-pool.js +78 -0
  2353. package/dist/esm/components/virtualized-grid/src/use-virtualized-grid.js +199 -0
  2354. package/dist/esm/components/virtualized-grid/src/utility.js +178 -0
  2355. package/dist/esm/components/virtualized-grid/src/virtualized-grid.js +105 -0
  2356. package/dist/esm/favicon.ico +0 -0
  2357. package/dist/esm/index.js +835 -0
  2358. package/dist/esm/shared/hooks/use-direction/use-direction.js +10 -0
  2359. package/dist/esm/shared/hooks/use-disable-scroll/use-disable-scroll.js +55 -0
  2360. package/dist/esm/shared/hooks/use-isomorphic-layout-effect/use-as-ref.js +12 -0
  2361. package/dist/esm/shared/hooks/use-isomorphic-layout-effect/use-isomorphic-layout-effect.js +5 -0
  2362. package/dist/esm/shared/hooks/use-lazy-ref/use-lazy-ref.js +11 -0
  2363. package/dist/esm/shared/hooks/use-merged-value/use-merged-value.js +63 -0
  2364. package/dist/esm/shared/hooks/use-modifier-keys/use-modifier-keys.js +75 -0
  2365. package/dist/esm/shared/hooks/use-press/use-press-move.js +133 -0
  2366. package/dist/esm/shared/hooks/use-press/use-press.js +52 -0
  2367. package/dist/esm/shared/utils/assertion.js +59 -0
  2368. package/dist/esm/shared/utils/format-bytes/format-bytes.js +9 -0
  2369. package/dist/esm/shared/utils/format-date/format-date.i18n.js +125 -0
  2370. package/dist/esm/shared/utils/format-date/format-date.js +105 -0
  2371. package/dist/esm/shared/utils/i18n-utils/i18n-utils.js +40 -0
  2372. package/dist/esm/shared/utils/merge-props/merge-props.js +43 -0
  2373. package/dist/esm/shared/utils/merge-refs/merge-refs.js +23 -0
  2374. package/dist/esm/shared/utils/ssr.js +12 -0
  2375. package/dist/esm/shared/utils/tcx/tcx.js +40 -0
  2376. package/dist/esm/sounds/message-notification.aac +0 -0
  2377. package/dist/esm/sounds/message-notification.mp3 +0 -0
  2378. package/dist/llms.txt +160 -0
  2379. package/dist/shared/src/hooks/index.d.ts +7 -0
  2380. package/dist/shared/src/hooks/use-direction/index.d.ts +1 -0
  2381. package/dist/shared/src/hooks/use-direction/use-direction.d.ts +31 -0
  2382. package/dist/shared/src/hooks/use-disable-scroll/index.d.ts +1 -0
  2383. package/dist/shared/src/hooks/use-disable-scroll/use-disable-scroll.d.ts +10 -0
  2384. package/dist/shared/src/hooks/use-isomorphic-layout-effect/index.d.ts +2 -0
  2385. package/dist/shared/src/hooks/use-isomorphic-layout-effect/use-as-ref.d.ts +24 -0
  2386. package/dist/shared/src/hooks/use-isomorphic-layout-effect/use-isomorphic-layout-effect.d.ts +28 -0
  2387. package/dist/shared/src/hooks/use-lazy-ref/index.d.ts +1 -0
  2388. package/dist/shared/src/hooks/use-lazy-ref/use-lazy-ref.d.ts +35 -0
  2389. package/dist/shared/src/hooks/use-merged-value/index.d.ts +1 -0
  2390. package/dist/shared/src/hooks/use-merged-value/use-merged-value.d.ts +49 -0
  2391. package/dist/shared/src/hooks/use-modifier-keys/index.d.ts +1 -0
  2392. package/dist/shared/src/hooks/use-modifier-keys/use-modifier-keys.d.ts +10 -0
  2393. package/dist/shared/src/hooks/use-press/index.d.ts +2 -0
  2394. package/dist/shared/src/hooks/use-press/use-press-move.d.ts +20 -0
  2395. package/dist/shared/src/hooks/use-press/use-press.d.ts +17 -0
  2396. package/dist/shared/src/index.d.ts +2 -0
  2397. package/dist/shared/src/utils/assertion.d.ts +16 -0
  2398. package/dist/shared/src/utils/format-bytes/format-bytes.d.ts +1 -0
  2399. package/dist/shared/src/utils/format-bytes/index.d.ts +1 -0
  2400. package/dist/shared/src/utils/format-date/format-date.d.ts +77 -0
  2401. package/dist/shared/src/utils/format-date/format-date.i18n.d.ts +2 -0
  2402. package/dist/shared/src/utils/format-date/format-date.types.d.ts +51 -0
  2403. package/dist/shared/src/utils/format-date/index.d.ts +2 -0
  2404. package/dist/shared/src/utils/i18n-utils/i18n-utils.d.ts +21 -0
  2405. package/dist/shared/src/utils/i18n-utils/index.d.ts +1 -0
  2406. package/dist/shared/src/utils/index.d.ts +8 -0
  2407. package/dist/shared/src/utils/merge-props/index.d.ts +1 -0
  2408. package/dist/shared/src/utils/merge-props/merge-props.d.ts +19 -0
  2409. package/dist/shared/src/utils/merge-refs/index.d.ts +1 -0
  2410. package/dist/shared/src/utils/merge-refs/merge-refs.d.ts +17 -0
  2411. package/dist/shared/src/utils/ssr.d.ts +12 -0
  2412. package/dist/shared/src/utils/tcx/index.d.ts +1 -0
  2413. package/dist/shared/src/utils/tcx/tcx.d.ts +5 -0
  2414. package/dist/styles/README.md +501 -0
  2415. package/dist/styles/components.css +568 -0
  2416. package/dist/styles/markdown.css +1827 -0
  2417. package/dist/styles/preflight.css +97 -0
  2418. package/dist/styles/stories.css +5 -0
  2419. package/dist/styles/theme.css +597 -0
  2420. package/dist/tailwind.css +17 -0
  2421. package/llms.txt +160 -0
  2422. package/package.json +139 -0
@@ -0,0 +1,4591 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import { enUS, zhCN, es, fr, de, ko, ja } from "date-fns/locale";
5
+ import React, { forwardRef, memo, useState, useMemo, useEffect, useRef, useCallback } from "react";
6
+ import { useEventCallback } from "usehooks-ts";
7
+ import { isThisYear, isSameDay, endOfWeek, startOfWeek, endOfMonth, startOfMonth, addMonths, isSameYear, isSameMonth, isValid, format, addDays, addWeeks, eachDayOfInterval, getWeek, isWithinInterval, startOfDay, endOfDay, parse, subDays, subWeeks, subMonths, addYears, subYears, startOfYear, getDaysInMonth, isDate, setMinutes, setHours, addMinutes } from "date-fns";
8
+ import { tz } from "@date-fns/tz";
9
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
10
+ import { IconButton } from "../../icon-button/dist/index.js";
11
+ import { FieldTypeDate, Undo, ChevronUpSmall, ChevronLeftSmall, ChevronDownSmall, ChevronRightSmall, Check, Clock } from "@choiceform/icons-react";
12
+ import { TextField } from "../../text-field/dist/index.js";
13
+ import { Menus } from "../../menus/dist/index.js";
14
+ import { tcx, tcv } from "../../../shared/utils/tcx/tcx.js";
15
+ import { useMergedValue } from "../../../shared/hooks/use-merged-value/use-merged-value.js";
16
+ import { useModifierKeys } from "../../../shared/hooks/use-modifier-keys/use-modifier-keys.js";
17
+ import { usePressMove } from "../../../shared/hooks/use-press/use-press-move.js";
18
+ import { mergeRefs } from "../../../shared/utils/merge-refs/merge-refs.js";
19
+ var TimeZoneCache = class {
20
+ constructor() {
21
+ __publicField(this, "cache", /* @__PURE__ */ new Map());
22
+ __publicField(this, "maxSize", 100);
23
+ }
24
+ get(key) {
25
+ const value = this.cache.get(key);
26
+ if (value) {
27
+ this.cache.delete(key);
28
+ this.cache.set(key, value);
29
+ }
30
+ return value;
31
+ }
32
+ set(key, value) {
33
+ if (this.cache.size >= this.maxSize) {
34
+ const firstKey = this.cache.keys().next().value;
35
+ if (firstKey) this.cache.delete(firstKey);
36
+ }
37
+ this.cache.set(key, value);
38
+ }
39
+ clear() {
40
+ this.cache.clear();
41
+ }
42
+ };
43
+ var tzDateCache = new TimeZoneCache();
44
+ function createTZDateCached(date, timeZone) {
45
+ if (!isValid(date)) {
46
+ throw new Error(`Invalid date: ${date}`);
47
+ }
48
+ try {
49
+ const cacheKey = `${date.getTime()}-${timeZone}`;
50
+ let tzDate = tzDateCache.get(cacheKey);
51
+ if (!tzDate) {
52
+ tzDate = tz(timeZone)(date);
53
+ tzDateCache.set(cacheKey, tzDate);
54
+ }
55
+ return tzDate;
56
+ } catch (error) {
57
+ console.warn(`Invalid timezone: ${timeZone}, falling back to local timezone`);
58
+ return date;
59
+ }
60
+ }
61
+ function createTimeZoneContext(timeZone) {
62
+ if (!timeZone) return void 0;
63
+ try {
64
+ return { in: tz(timeZone) };
65
+ } catch (error) {
66
+ console.warn(`Invalid timezone: ${timeZone}, using default context`);
67
+ return void 0;
68
+ }
69
+ }
70
+ function isSameDayInTimeZone(date1, date2, timeZone) {
71
+ if (!isValid(date1) || !isValid(date2)) return false;
72
+ if (!timeZone) return isSameDay(date1, date2);
73
+ try {
74
+ const tz1 = createTZDateCached(date1, timeZone);
75
+ const tz2 = createTZDateCached(date2, timeZone);
76
+ return isSameDay(tz1, tz2);
77
+ } catch (error) {
78
+ console.warn("Date comparison failed, falling back to local timezone:", error);
79
+ return isSameDay(date1, date2);
80
+ }
81
+ }
82
+ function isWithinRange(date, rangeStart, rangeEnd, timeZone, mode = "date-only") {
83
+ if (!isValid(date) || !isValid(rangeStart) || !isValid(rangeEnd)) return false;
84
+ const contextOptions = createTimeZoneContext(timeZone);
85
+ try {
86
+ if (mode === "exact-time") {
87
+ const interval = { start: rangeStart, end: rangeEnd };
88
+ return isWithinInterval(date, interval, contextOptions);
89
+ } else {
90
+ const dateStart = startOfDay(date, contextOptions);
91
+ const rangeStartDay = startOfDay(rangeStart, contextOptions);
92
+ const rangeEndDay = endOfDay(rangeEnd, contextOptions);
93
+ const interval = { start: rangeStartDay, end: rangeEndDay };
94
+ return isWithinInterval(dateStart, interval, contextOptions);
95
+ }
96
+ } catch (error) {
97
+ console.warn("Range comparison failed:", error);
98
+ return false;
99
+ }
100
+ }
101
+ function getDateParts(date, timeZone) {
102
+ if (!isValid(date)) {
103
+ throw new Error(`Invalid date: ${date}`);
104
+ }
105
+ if (!timeZone) {
106
+ return {
107
+ year: date.getFullYear(),
108
+ month: date.getMonth(),
109
+ day: date.getDate(),
110
+ weekday: date.getDay()
111
+ };
112
+ }
113
+ try {
114
+ const tzDate = createTZDateCached(date, timeZone);
115
+ return {
116
+ year: tzDate.getFullYear(),
117
+ month: tzDate.getMonth(),
118
+ day: tzDate.getDate(),
119
+ weekday: tzDate.getDay()
120
+ };
121
+ } catch (error) {
122
+ console.warn("Failed to get date parts with timezone, using local timezone:", error);
123
+ return {
124
+ year: date.getFullYear(),
125
+ month: date.getMonth(),
126
+ day: date.getDate(),
127
+ weekday: date.getDay()
128
+ };
129
+ }
130
+ }
131
+ function getDateKey(date, timeZone, includeTime = false) {
132
+ if (!isValid(date)) {
133
+ throw new Error(`Invalid date: ${date}`);
134
+ }
135
+ const { year, month, day } = getDateParts(date, timeZone);
136
+ const dateKey = `${year}-${(month + 1).toString().padStart(2, "0")}-${day.toString().padStart(2, "0")}`;
137
+ if (!includeTime) return dateKey;
138
+ const timeKey = timeZone ? createTZDateCached(date, timeZone).toISOString().split("T")[1] : date.toISOString().split("T")[1];
139
+ return `${dateKey}T${timeKey}`;
140
+ }
141
+ var LOCALE_MAP = {
142
+ "zh-CN": zhCN,
143
+ "en-US": enUS,
144
+ "ja-JP": ja,
145
+ "ko-KR": ko,
146
+ "de-DE": de,
147
+ "fr-FR": fr,
148
+ "es-ES": es
149
+ };
150
+ function resolveLocale(locale) {
151
+ if (locale && typeof locale === "object" && locale.code) {
152
+ return locale;
153
+ }
154
+ if (typeof locale === "string") {
155
+ const mapped = LOCALE_MAP[locale];
156
+ if (mapped) {
157
+ return mapped;
158
+ }
159
+ console.warn(`⚠️ Unknown locale string: ${locale}, falling back to zhCN`);
160
+ }
161
+ if (locale !== void 0 && locale !== null) {
162
+ console.warn(`⚠️ Invalid locale type: ${typeof locale}, falling back to zhCN`);
163
+ }
164
+ return zhCN;
165
+ }
166
+ function isChineseLocale(locale) {
167
+ const resolved = resolveLocale(locale);
168
+ return resolved === zhCN || resolved.code === "zh-CN";
169
+ }
170
+ var dateUtils = {
171
+ now: () => /* @__PURE__ */ new Date(),
172
+ isSameDay,
173
+ isSameMonth,
174
+ isSameYear,
175
+ addMonths,
176
+ startOfMonth,
177
+ endOfMonth,
178
+ startOfWeek,
179
+ endOfWeek
180
+ };
181
+ function generateWeekdayNames(locale = zhCN, weekStartsOn = 1) {
182
+ const safeLocale = resolveLocale(locale);
183
+ const baseSunday = new Date(2024, 0, 7);
184
+ const weekdays = [];
185
+ for (let i = 0; i < 7; i++) {
186
+ const dayIndex = (weekStartsOn + i) % 7;
187
+ const day = addDays(baseSunday, dayIndex);
188
+ const formatPattern = isChineseLocale(safeLocale) ? "EEEEE" : "EEE";
189
+ const dayName = format(day, formatPattern, { locale: safeLocale });
190
+ weekdays.push(dayName);
191
+ }
192
+ return weekdays;
193
+ }
194
+ function generateCalendarDays(currentMonth, weekStartsOn = 0, fixedGrid = true) {
195
+ const start = startOfWeek(startOfMonth(currentMonth), {
196
+ weekStartsOn
197
+ });
198
+ if (fixedGrid) {
199
+ const end = addDays(start, 41);
200
+ return eachDayOfInterval({ start, end });
201
+ } else {
202
+ const end = endOfWeek(endOfMonth(currentMonth), {
203
+ weekStartsOn
204
+ });
205
+ return eachDayOfInterval({ start, end });
206
+ }
207
+ }
208
+ function formatMonthTitle(date, locale = zhCN) {
209
+ const safeLocale = resolveLocale(locale);
210
+ const formatPattern = isChineseLocale(safeLocale) ? "yyyy年M月" : "MMMM yyyy";
211
+ return format(date, formatPattern, { locale: safeLocale });
212
+ }
213
+ function calculateWeekNumbers(calendarDays, locale = zhCN) {
214
+ const safeLocale = resolveLocale(locale);
215
+ const weekNumbers = [];
216
+ for (let i = 0; i < calendarDays.length; i += 7) {
217
+ const weekFirstDay = calendarDays[i];
218
+ const weekNumber = getWeek(weekFirstDay, {
219
+ locale: safeLocale,
220
+ weekStartsOn: 1
221
+ // ISO周数标准,周一开始
222
+ });
223
+ weekNumbers.push(weekNumber);
224
+ }
225
+ return weekNumbers;
226
+ }
227
+ function inferSelectionMode(value) {
228
+ if (value === void 0 || value === null) {
229
+ return "single";
230
+ }
231
+ if (Array.isArray(value)) {
232
+ return "multiple";
233
+ }
234
+ if (typeof value === "object" && "start" in value && "end" in value) {
235
+ return "range";
236
+ }
237
+ return "single";
238
+ }
239
+ function inferMonthFromValue(value) {
240
+ if (!value) return null;
241
+ if (value instanceof Date) {
242
+ return value;
243
+ }
244
+ if (Array.isArray(value) && value.length > 0) {
245
+ return value[value.length - 1];
246
+ }
247
+ if (typeof value === "object" && "start" in value) {
248
+ return value.start;
249
+ }
250
+ return null;
251
+ }
252
+ function isCalendarValueEqual(a, b, timeZone, dateComparisonMode = "date-only") {
253
+ if (a === b) return true;
254
+ if (!a || !b) return a === b;
255
+ if (a instanceof Date && b instanceof Date) {
256
+ if (dateComparisonMode === "date-only") {
257
+ return isSameDayInTimeZone(a, b, timeZone);
258
+ } else {
259
+ return getDateKey(a, timeZone, true) === getDateKey(b, timeZone, true);
260
+ }
261
+ }
262
+ if (Array.isArray(a) && Array.isArray(b)) {
263
+ if (a.length !== b.length) return false;
264
+ return a.every((dateA, index) => {
265
+ const dateB = b[index];
266
+ if (!(dateA instanceof Date && dateB instanceof Date)) return false;
267
+ if (dateComparisonMode === "date-only") {
268
+ return isSameDayInTimeZone(dateA, dateB, timeZone);
269
+ } else {
270
+ return getDateKey(dateA, timeZone, true) === getDateKey(dateB, timeZone, true);
271
+ }
272
+ });
273
+ }
274
+ if (typeof a === "object" && "start" in a && typeof b === "object" && "start" in b) {
275
+ if (dateComparisonMode === "date-only") {
276
+ return isSameDayInTimeZone(a.start, b.start, timeZone) && isSameDayInTimeZone(a.end, b.end, timeZone);
277
+ } else {
278
+ return getDateKey(a.start, timeZone, true) === getDateKey(b.start, timeZone, true) && getDateKey(a.end, timeZone, true) === getDateKey(b.end, timeZone, true);
279
+ }
280
+ }
281
+ return false;
282
+ }
283
+ function generateMonthMapping(locale, patterns) {
284
+ const mapping = {};
285
+ for (let month = 0; month < 12; month++) {
286
+ const date = new Date(2024, month, 1);
287
+ for (const pattern of patterns) {
288
+ const monthName = format(date, pattern, { locale }).toLowerCase();
289
+ mapping[monthName] = month + 1;
290
+ }
291
+ }
292
+ return mapping;
293
+ }
294
+ var englishMonthsCache = null;
295
+ var chineseMonthsCache = null;
296
+ function getEnglishMonths() {
297
+ if (!englishMonthsCache) {
298
+ englishMonthsCache = {
299
+ ...generateMonthMapping(enUS, ["MMMM", "MMM", "MMM."]),
300
+ // 全称、缩写、带点缩写
301
+ // 常见变体
302
+ sept: 9,
303
+ "sept.": 9
304
+ };
305
+ }
306
+ return englishMonthsCache;
307
+ }
308
+ function getChineseMonths() {
309
+ if (!chineseMonthsCache) {
310
+ chineseMonthsCache = {
311
+ ...generateMonthMapping(zhCN, ["MMMM", "M月"])
312
+ // 中文月份名和数字月份
313
+ };
314
+ }
315
+ return chineseMonthsCache;
316
+ }
317
+ function parseMonthName(input, locale) {
318
+ const normalized = input.toLowerCase().trim();
319
+ const isChineseLocale2 = /[\u4e00-\u9fff]/.test(input);
320
+ if (isChineseLocale2) {
321
+ const chineseMonths2 = getChineseMonths();
322
+ if (chineseMonths2[normalized]) {
323
+ return chineseMonths2[normalized];
324
+ }
325
+ }
326
+ const englishMonths2 = getEnglishMonths();
327
+ if (englishMonths2[normalized]) {
328
+ return englishMonths2[normalized];
329
+ }
330
+ if (normalized.length >= 2) {
331
+ for (const [monthName, monthNum] of Object.entries(englishMonths2)) {
332
+ if (monthName.startsWith(normalized) && monthName.length >= normalized.length) {
333
+ return monthNum;
334
+ }
335
+ }
336
+ }
337
+ return null;
338
+ }
339
+ new Proxy(
340
+ {},
341
+ {
342
+ get: () => getEnglishMonths()
343
+ }
344
+ );
345
+ new Proxy(
346
+ {},
347
+ {
348
+ get: () => getChineseMonths()
349
+ }
350
+ );
351
+ function getLastDayOfMonth(year, month) {
352
+ const date = new Date(year, month - 1, 1);
353
+ return getDaysInMonth(date);
354
+ }
355
+ function smartCorrectDate(year, month, day) {
356
+ const correctedYear = smartCorrectYear(year);
357
+ let correctedMonth = month;
358
+ if (month < 1) {
359
+ correctedMonth = 1;
360
+ } else if (month > 12) {
361
+ correctedMonth = 12;
362
+ }
363
+ let correctedDay = day;
364
+ if (day < 1) {
365
+ correctedDay = 1;
366
+ } else {
367
+ const lastDay = getLastDayOfMonth(correctedYear, correctedMonth);
368
+ if (day > lastDay) {
369
+ correctedDay = lastDay;
370
+ }
371
+ }
372
+ return {
373
+ year: correctedYear,
374
+ month: correctedMonth,
375
+ day: correctedDay
376
+ };
377
+ }
378
+ function smartCorrectYear(year) {
379
+ if (year < 1950) {
380
+ if (year < 100) {
381
+ return year < 50 ? 2e3 + year : 1900 + year;
382
+ } else if (year < 1e3) {
383
+ return 2e3 + year;
384
+ } else {
385
+ return 2e3 + year % 100;
386
+ }
387
+ } else if (year > 2100) {
388
+ return 2024 + year % 10;
389
+ }
390
+ return year;
391
+ }
392
+ function handleShortcuts(input) {
393
+ const lower = input.toLowerCase().trim();
394
+ const now = /* @__PURE__ */ new Date();
395
+ const shortcuts = {
396
+ t: () => startOfDay(now),
397
+ today: () => startOfDay(now),
398
+ 今: () => startOfDay(now),
399
+ 今天: () => startOfDay(now),
400
+ y: () => startOfDay(subDays(now, 1)),
401
+ yesterday: () => startOfDay(subDays(now, 1)),
402
+ 昨: () => startOfDay(subDays(now, 1)),
403
+ 昨天: () => startOfDay(subDays(now, 1)),
404
+ tm: () => startOfDay(addDays(now, 1)),
405
+ tomorrow: () => startOfDay(addDays(now, 1)),
406
+ 明: () => startOfDay(addDays(now, 1)),
407
+ 明天: () => startOfDay(addDays(now, 1)),
408
+ w: () => startOfWeek(now),
409
+ week: () => startOfWeek(now),
410
+ 周: () => startOfWeek(now),
411
+ 本周: () => startOfWeek(now),
412
+ m: () => startOfMonth(now),
413
+ month: () => startOfMonth(now),
414
+ 月: () => startOfMonth(now),
415
+ 本月: () => startOfMonth(now)
416
+ };
417
+ const handler = shortcuts[lower];
418
+ return handler ? handler() : null;
419
+ }
420
+ var defaultLocaleMap = {
421
+ "zh-CN": zhCN,
422
+ "en-US": enUS
423
+ };
424
+ var naturalLanguageMap = {
425
+ "zh-CN": {
426
+ today: ["今天", "今日", "现在"],
427
+ tomorrow: ["明天", "明日"],
428
+ yesterday: ["昨天", "昨日"],
429
+ thisWeek: ["本周", "这周", "这个星期", "本星期"],
430
+ nextWeek: ["下周", "下个星期"],
431
+ lastWeek: ["上周", "上个星期"],
432
+ thisMonth: ["本月", "这个月"],
433
+ nextMonth: ["下月", "下个月"],
434
+ lastMonth: ["上月", "上个月"],
435
+ thisYear: ["今年", "本年"],
436
+ nextYear: ["明年", "下年"],
437
+ lastYear: ["去年", "上年"],
438
+ now: ["现在", "此刻"],
439
+ morning: ["早上", "上午", "晨"],
440
+ afternoon: ["下午", "午后"],
441
+ evening: ["晚上", "傍晚"],
442
+ night: ["深夜", "夜里", "夜间", "午夜"]
443
+ },
444
+ "en-US": {
445
+ today: ["today", "now"],
446
+ tomorrow: ["tomorrow", "tmr"],
447
+ yesterday: ["yesterday"],
448
+ thisWeek: ["this week"],
449
+ nextWeek: ["next week"],
450
+ lastWeek: ["last week"],
451
+ thisMonth: ["this month"],
452
+ nextMonth: ["next month"],
453
+ lastMonth: ["last month"],
454
+ thisYear: ["this year"],
455
+ nextYear: ["next year"],
456
+ lastYear: ["last year"],
457
+ now: ["now"],
458
+ morning: ["morning", "am"],
459
+ afternoon: ["afternoon", "pm"],
460
+ evening: ["evening"],
461
+ night: ["night"]
462
+ }
463
+ };
464
+ var relativeDatePatterns = [
465
+ // 数字 + 天/日
466
+ { pattern: /(\d+)\s*天[后前]?/g, type: "day", multiplier: 1 },
467
+ { pattern: /(\d+)\s*日[后前]?/g, type: "day", multiplier: 1 },
468
+ { pattern: /(\d+)\s*days?\s*(later|ago)?/gi, type: "day", multiplier: 1 },
469
+ // 数字 + 周/星期
470
+ { pattern: /(\d+)\s*周[后前]?/g, type: "week", multiplier: 1 },
471
+ { pattern: /(\d+)\s*星期[后前]?/g, type: "week", multiplier: 1 },
472
+ { pattern: /(\d+)\s*weeks?\s*(later|ago)?/gi, type: "week", multiplier: 1 },
473
+ // 数字 + 月
474
+ { pattern: /(\d+)\s*个?月[后前]?/g, type: "month", multiplier: 1 },
475
+ { pattern: /(\d+)\s*months?\s*(later|ago)?/gi, type: "month", multiplier: 1 },
476
+ // 数字 + 年
477
+ { pattern: /(\d+)\s*年[后前]?/g, type: "year", multiplier: 1 },
478
+ { pattern: /(\d+)\s*years?\s*(later|ago)?/gi, type: "year", multiplier: 1 }
479
+ ];
480
+ var commonDateFormats = [
481
+ "yyyy-MM-dd",
482
+ // 最常用的 ISO 格式
483
+ "MM/dd/yyyy",
484
+ // 美式格式
485
+ "dd/MM/yyyy",
486
+ // 欧式格式
487
+ "yyyy/MM/dd",
488
+ // 日式格式
489
+ "yyyyMMdd",
490
+ // 紧凑格式
491
+ "yyyy-M-d",
492
+ // 宽松格式
493
+ "yyyy/M/d",
494
+ "M/d/yyyy",
495
+ "d/M/yyyy",
496
+ "dd.MM.yyyy",
497
+ // 德式格式
498
+ "yyyy.MM.dd"
499
+ ];
500
+ var commonTimeFormats = [
501
+ "HH:mm",
502
+ // 24小时制(最常用)
503
+ "H:mm",
504
+ // 24小时制不补零
505
+ "HH:mm:ss",
506
+ // 带秒
507
+ "h:mm a",
508
+ // 12小时制
509
+ "hh:mm a",
510
+ // 12小时制补零
511
+ "h:mm aa",
512
+ "HHmm",
513
+ // 紧凑格式
514
+ "Hmm"
515
+ ];
516
+ var parserConfig = {
517
+ // 缓存配置
518
+ cache: {
519
+ enabled: true,
520
+ maxSize: 100,
521
+ // 最大缓存条目数
522
+ ttl: 6e4
523
+ // 缓存时间 (ms)
524
+ },
525
+ // 性能阈值
526
+ performance: {
527
+ maxParseTime: 50
528
+ }
529
+ };
530
+ var SimpleCache = class {
531
+ constructor(maxSize = 100, ttl = 6e4) {
532
+ __publicField(this, "cache", /* @__PURE__ */ new Map());
533
+ __publicField(this, "maxSize");
534
+ __publicField(this, "ttl");
535
+ this.maxSize = maxSize;
536
+ this.ttl = ttl;
537
+ }
538
+ get(key) {
539
+ const item = this.cache.get(key);
540
+ if (!item) return null;
541
+ if (Date.now() - item.timestamp > this.ttl) {
542
+ this.cache.delete(key);
543
+ return null;
544
+ }
545
+ return item.value;
546
+ }
547
+ set(key, value) {
548
+ if (this.cache.size >= this.maxSize) {
549
+ const firstKey = Array.from(this.cache.keys())[0];
550
+ if (firstKey) {
551
+ this.cache.delete(firstKey);
552
+ }
553
+ }
554
+ this.cache.set(key, { value, timestamp: Date.now() });
555
+ }
556
+ clear() {
557
+ this.cache.clear();
558
+ }
559
+ };
560
+ var parseCache = new SimpleCache(
561
+ parserConfig.cache.maxSize,
562
+ parserConfig.cache.ttl
563
+ );
564
+ function parseRelativeDate(input) {
565
+ const now = /* @__PURE__ */ new Date();
566
+ for (const pattern of relativeDatePatterns) {
567
+ const match = pattern.pattern.exec(input);
568
+ if (match) {
569
+ const amount = parseInt(match[1], 10);
570
+ const isAgo = input.includes("前") || input.includes("ago");
571
+ const actualAmount = isAgo ? -amount : amount;
572
+ switch (pattern.type) {
573
+ case "day":
574
+ return addDays(now, actualAmount);
575
+ case "week":
576
+ return addWeeks(now, actualAmount);
577
+ case "month":
578
+ return addMonths(now, actualAmount);
579
+ case "year":
580
+ return addYears(now, actualAmount);
581
+ }
582
+ }
583
+ }
584
+ return null;
585
+ }
586
+ function parseExtendedRelativeDate(input) {
587
+ const now = /* @__PURE__ */ new Date();
588
+ const patterns = [
589
+ // +数字 (天数)
590
+ {
591
+ regex: /^\+(\d+)$/,
592
+ handler: (match) => addDays(now, parseInt(match[1], 10))
593
+ },
594
+ // -数字 (天数)
595
+ {
596
+ regex: /^-(\d+)$/,
597
+ handler: (match) => subDays(now, parseInt(match[1], 10))
598
+ },
599
+ // w+数字 (周数)
600
+ {
601
+ regex: /^w\+(\d+)$/i,
602
+ handler: (match) => addWeeks(now, parseInt(match[1], 10))
603
+ },
604
+ {
605
+ regex: /^w-(\d+)$/i,
606
+ handler: (match) => subWeeks(now, parseInt(match[1], 10))
607
+ },
608
+ // m+数字 (月数)
609
+ {
610
+ regex: /^m\+(\d+)$/i,
611
+ handler: (match) => addMonths(now, parseInt(match[1], 10))
612
+ },
613
+ {
614
+ regex: /^m-(\d+)$/i,
615
+ handler: (match) => subMonths(now, parseInt(match[1], 10))
616
+ },
617
+ // y+数字 (年数)
618
+ {
619
+ regex: /^y\+(\d+)$/i,
620
+ handler: (match) => addYears(now, parseInt(match[1], 10))
621
+ },
622
+ {
623
+ regex: /^y-(\d+)$/i,
624
+ handler: (match) => subYears(now, parseInt(match[1], 10))
625
+ },
626
+ // 中文相对表达
627
+ {
628
+ regex: /^(\d+)天后$/,
629
+ handler: (match) => addDays(now, parseInt(match[1], 10))
630
+ },
631
+ {
632
+ regex: /^(\d+)天前$/,
633
+ handler: (match) => subDays(now, parseInt(match[1], 10))
634
+ },
635
+ {
636
+ regex: /^(\d+)周后$/,
637
+ handler: (match) => addWeeks(now, parseInt(match[1], 10))
638
+ },
639
+ {
640
+ regex: /^(\d+)周前$/,
641
+ handler: (match) => subWeeks(now, parseInt(match[1], 10))
642
+ },
643
+ {
644
+ regex: /^(\d+)月后$/,
645
+ handler: (match) => addMonths(now, parseInt(match[1], 10))
646
+ },
647
+ {
648
+ regex: /^(\d+)月前$/,
649
+ handler: (match) => subMonths(now, parseInt(match[1], 10))
650
+ },
651
+ {
652
+ regex: /^(\d+)年后$/,
653
+ handler: (match) => addYears(now, parseInt(match[1], 10))
654
+ },
655
+ {
656
+ regex: /^(\d+)年前$/,
657
+ handler: (match) => subYears(now, parseInt(match[1], 10))
658
+ }
659
+ ];
660
+ for (const pattern of patterns) {
661
+ const match = input.trim().match(pattern.regex);
662
+ if (match) {
663
+ return pattern.handler(match);
664
+ }
665
+ }
666
+ return null;
667
+ }
668
+ function parseNaturalLanguage(input, localeKey = "zh-CN") {
669
+ const normalizedInput = input.toLowerCase().trim();
670
+ const keywords = naturalLanguageMap[localeKey] || naturalLanguageMap["en-US"];
671
+ const now = /* @__PURE__ */ new Date();
672
+ const locale = defaultLocaleMap[localeKey];
673
+ for (const [key, values] of Object.entries(keywords)) {
674
+ for (const value of values) {
675
+ if (normalizedInput.includes(value.toLowerCase())) {
676
+ switch (key) {
677
+ case "today":
678
+ return startOfDay(now);
679
+ case "tomorrow":
680
+ return startOfDay(addDays(now, 1));
681
+ case "yesterday":
682
+ return startOfDay(subDays(now, 1));
683
+ case "thisWeek":
684
+ return startOfWeek(now, { locale });
685
+ case "nextWeek":
686
+ return startOfWeek(addWeeks(now, 1), { locale });
687
+ case "lastWeek":
688
+ return startOfWeek(subWeeks(now, 1), { locale });
689
+ case "thisMonth":
690
+ return startOfMonth(now);
691
+ case "nextMonth":
692
+ return startOfMonth(addMonths(now, 1));
693
+ case "lastMonth":
694
+ return startOfMonth(subMonths(now, 1));
695
+ case "thisYear":
696
+ return startOfYear(now);
697
+ case "nextYear":
698
+ return startOfYear(addYears(now, 1));
699
+ case "lastYear":
700
+ return startOfYear(subYears(now, 1));
701
+ case "now":
702
+ return now;
703
+ }
704
+ }
705
+ }
706
+ }
707
+ return null;
708
+ }
709
+ function getLocaleKey(locale) {
710
+ if (!locale) return "en-US";
711
+ for (const [key, value] of Object.entries(defaultLocaleMap)) {
712
+ if (value === locale) {
713
+ return key;
714
+ }
715
+ }
716
+ return "en-US";
717
+ }
718
+ function parseEnglishDate(input) {
719
+ const normalized = input.toLowerCase().trim();
720
+ const now = /* @__PURE__ */ new Date();
721
+ const currentYear = now.getFullYear();
722
+ const fullDatePattern = /^(?:([a-z]+)\s+(\d{1,2})(?:st|nd|rd|th)?,?\s+(\d{4})|(\d{1,2})(?:st|nd|rd|th)?\s+([a-z]+)\s+(\d{4}))$/;
723
+ const fullDateMatch = normalized.match(fullDatePattern);
724
+ if (fullDateMatch) {
725
+ const monthName = fullDateMatch[1] || fullDateMatch[5];
726
+ const dayStr = fullDateMatch[2] || fullDateMatch[4];
727
+ const yearStr = fullDateMatch[3] || fullDateMatch[6];
728
+ const month = parseMonthName(monthName);
729
+ const day = parseInt(dayStr, 10);
730
+ const year = parseInt(yearStr, 10);
731
+ if (month && day >= 1 && day <= 31 && year >= 1900 && year <= 2100) {
732
+ const date = new Date(year, month - 1, day);
733
+ if (isValid(date) && date.getDate() === day) {
734
+ return date;
735
+ }
736
+ }
737
+ }
738
+ const monthDayPattern = /^(?:([a-z]+)\s+(\d{1,2})(?:st|nd|rd|th)?|(\d{1,2})(?:st|nd|rd|th)?\s+([a-z]+))$/;
739
+ const monthDayMatch = normalized.match(monthDayPattern);
740
+ if (monthDayMatch) {
741
+ const monthName = monthDayMatch[1] || monthDayMatch[4];
742
+ const dayStr = monthDayMatch[2] || monthDayMatch[3];
743
+ const month = parseMonthName(monthName);
744
+ const day = parseInt(dayStr, 10);
745
+ if (month && day >= 1 && day <= 31) {
746
+ const date = new Date(currentYear, month - 1, day);
747
+ if (isValid(date) && date.getDate() === day) {
748
+ return date;
749
+ }
750
+ }
751
+ }
752
+ const monthOnlyPattern = /^[a-z]{3,}$/;
753
+ if (monthOnlyPattern.test(normalized)) {
754
+ const month = parseMonthName(normalized);
755
+ if (month) {
756
+ const date = new Date(currentYear, month - 1, 1);
757
+ if (isValid(date)) {
758
+ return date;
759
+ }
760
+ }
761
+ }
762
+ return null;
763
+ }
764
+ var DigitExtractor = class {
765
+ constructor(digits) {
766
+ this.digits = digits;
767
+ }
768
+ /** 提取指定位置的数字 */
769
+ extract(start, length) {
770
+ return parseInt(this.digits.substring(start, start + length), 10);
771
+ }
772
+ /** 提取年份 (前2位) */
773
+ getYear2() {
774
+ return this.extract(0, 2);
775
+ }
776
+ /** 提取年份 (前4位) */
777
+ getYear4() {
778
+ return this.extract(0, 4);
779
+ }
780
+ /** 提取月份 (前2位) */
781
+ getMonth() {
782
+ return this.extract(0, 2);
783
+ }
784
+ /** 提取日期 (第3-4位) */
785
+ getDay() {
786
+ return this.extract(2, 2);
787
+ }
788
+ /** 提取6位数字的各个部分 (YYMMDD格式) */
789
+ getYYMMDD() {
790
+ return {
791
+ year: this.extract(0, 2),
792
+ month: this.extract(2, 2),
793
+ day: this.extract(4, 2)
794
+ };
795
+ }
796
+ /** 提取8位数字的各个部分 (YYYYMMDD格式) */
797
+ getYYYYMMDD() {
798
+ return {
799
+ year: this.extract(0, 4),
800
+ month: this.extract(4, 2),
801
+ day: this.extract(6, 2)
802
+ };
803
+ }
804
+ /** 提取3位数字的各个部分 */
805
+ get3DigitParts() {
806
+ return {
807
+ first: this.extract(0, 1),
808
+ lastTwo: this.extract(1, 2)
809
+ };
810
+ }
811
+ };
812
+ function convertTwoDigitYear(year) {
813
+ return year < 50 ? 2e3 + year : 1900 + year;
814
+ }
815
+ function isValidMonthDay(month, day) {
816
+ return month >= 1 && month <= 12 && day >= 1 && day <= 31;
817
+ }
818
+ function canBeMonthDay(firstDigit, lastTwoDigits) {
819
+ return firstDigit >= 1 && firstDigit <= 12 && lastTwoDigits >= 1 && lastTwoDigits <= 31;
820
+ }
821
+ function isReasonableYear(year) {
822
+ return year >= 1950 && year <= 2100;
823
+ }
824
+ function parseYYMMDD(digits, targetFormat) {
825
+ const extractor = new DigitExtractor(digits);
826
+ const { year: yy, month, day } = extractor.getYYMMDD();
827
+ if (!isValidMonthDay(month, day)) {
828
+ return null;
829
+ }
830
+ const fullYear = convertTwoDigitYear(yy);
831
+ const corrected = smartCorrectDate(fullYear, month, day);
832
+ let formatted;
833
+ if (targetFormat === "yyyy-MM-dd") {
834
+ formatted = `${corrected.year}-${corrected.month.toString().padStart(2, "0")}-${corrected.day.toString().padStart(2, "0")}`;
835
+ } else if (targetFormat === "MM/dd/yyyy") {
836
+ formatted = `${corrected.month.toString().padStart(2, "0")}/${corrected.day.toString().padStart(2, "0")}/${corrected.year}`;
837
+ } else {
838
+ return null;
839
+ }
840
+ return {
841
+ year: corrected.year,
842
+ month: corrected.month,
843
+ day: corrected.day,
844
+ formatted
845
+ };
846
+ }
847
+ function parseYYYYMMDD(digits, targetFormat) {
848
+ const extractor = new DigitExtractor(digits);
849
+ const { year, month, day } = extractor.getYYYYMMDD();
850
+ if (!isReasonableYear(year)) {
851
+ return null;
852
+ }
853
+ const corrected = smartCorrectDate(year, month, day);
854
+ let formatted;
855
+ {
856
+ formatted = `${corrected.year}-${corrected.month.toString().padStart(2, "0")}-${corrected.day.toString().padStart(2, "0")}`;
857
+ }
858
+ return {
859
+ year: corrected.year,
860
+ month: corrected.month,
861
+ day: corrected.day,
862
+ formatted
863
+ };
864
+ }
865
+ function parse3Digits(digits, currentYear, targetFormat) {
866
+ const extractor = new DigitExtractor(digits);
867
+ const { first, lastTwo } = extractor.get3DigitParts();
868
+ if (canBeMonthDay(first, lastTwo)) {
869
+ const corrected = smartCorrectDate(currentYear, first, lastTwo);
870
+ let formatted;
871
+ {
872
+ formatted = `${corrected.year}-${corrected.month.toString().padStart(2, "0")}-${corrected.day.toString().padStart(2, "0")}`;
873
+ }
874
+ return {
875
+ year: corrected.year,
876
+ month: corrected.month,
877
+ day: corrected.day,
878
+ formatted
879
+ };
880
+ }
881
+ return null;
882
+ }
883
+ function parseDate(input, options = {}) {
884
+ const {
885
+ format: dateFormat = "yyyy-MM-dd",
886
+ locale = enUS,
887
+ enableNaturalLanguage = true,
888
+ enableRelativeDate = true,
889
+ enableSmartCorrection = true,
890
+ strict = false,
891
+ detailed = false
892
+ } = options;
893
+ const detailedResult = {
894
+ input,
895
+ date: null,
896
+ formatted: "",
897
+ isValid: false,
898
+ error: null
899
+ };
900
+ const trimmedInput = input.trim();
901
+ if (!trimmedInput) {
902
+ return detailed ? detailedResult : null;
903
+ }
904
+ let result = null;
905
+ try {
906
+ try {
907
+ result = parse(trimmedInput, dateFormat, /* @__PURE__ */ new Date(), { locale });
908
+ if (isValid(result)) {
909
+ return formatResult(result, dateFormat, locale, detailed, detailedResult);
910
+ }
911
+ } catch {
912
+ }
913
+ if (enableSmartCorrection) {
914
+ result = parseInvalidFormattedDate(trimmedInput, dateFormat, locale);
915
+ if (result && isValid(result)) {
916
+ return formatResult(result, dateFormat, locale, detailed, detailedResult);
917
+ }
918
+ }
919
+ if (hasWeekdayInFormat(dateFormat)) {
920
+ result = parseCompositeFormat(trimmedInput, dateFormat, locale);
921
+ if (result && isValid(result)) {
922
+ return formatResult(result, dateFormat, locale, detailed, detailedResult);
923
+ }
924
+ }
925
+ if (enableSmartCorrection) {
926
+ result = parseNumericInput(trimmedInput, dateFormat, locale);
927
+ if (result && isValid(result)) {
928
+ return formatResult(result, dateFormat, locale, detailed, detailedResult);
929
+ }
930
+ }
931
+ result = handleShortcuts(trimmedInput);
932
+ if (result && isValid(result)) {
933
+ return formatResult(result, dateFormat, locale, detailed, detailedResult);
934
+ }
935
+ if (enableRelativeDate) {
936
+ result = parseExtendedRelativeDate(trimmedInput);
937
+ if (result && isValid(result)) {
938
+ return formatResult(result, dateFormat, locale, detailed, detailedResult);
939
+ }
940
+ }
941
+ if (enableNaturalLanguage) {
942
+ result = parseNaturalLanguage(trimmedInput, getLocaleKey(locale));
943
+ if (result && isValid(result)) {
944
+ return formatResult(result, dateFormat, locale, detailed, detailedResult);
945
+ }
946
+ }
947
+ if (enableRelativeDate) {
948
+ result = parseRelativeDate(trimmedInput);
949
+ if (result && isValid(result)) {
950
+ return formatResult(result, dateFormat, locale, detailed, detailedResult);
951
+ }
952
+ }
953
+ result = parseEnglishDate(trimmedInput);
954
+ if (result && isValid(result)) {
955
+ return formatResult(result, dateFormat, locale, detailed, detailedResult);
956
+ }
957
+ for (const tryFormat of commonDateFormats) {
958
+ if (tryFormat !== dateFormat) {
959
+ try {
960
+ result = parse(trimmedInput, tryFormat, /* @__PURE__ */ new Date(), { locale });
961
+ if (isValid(result)) {
962
+ return formatResult(result, dateFormat, locale, detailed, detailedResult);
963
+ }
964
+ } catch {
965
+ }
966
+ }
967
+ }
968
+ if (detailed) {
969
+ detailedResult.error = strict ? "Invalid date format" : null;
970
+ return detailedResult;
971
+ }
972
+ return null;
973
+ } catch (error) {
974
+ if (detailed) {
975
+ detailedResult.error = error instanceof Error ? error.message : "Parse error";
976
+ return detailedResult;
977
+ }
978
+ return null;
979
+ }
980
+ }
981
+ function formatResult(date, dateFormat, locale, detailed, detailedResult) {
982
+ if (detailed) {
983
+ detailedResult.date = date;
984
+ detailedResult.formatted = format(date, dateFormat, { locale });
985
+ detailedResult.isValid = true;
986
+ return detailedResult;
987
+ }
988
+ return date;
989
+ }
990
+ function parseNumericInput(input, targetFormat, locale) {
991
+ if (!/^\d+$/.test(input.trim())) {
992
+ return null;
993
+ }
994
+ const digitOnlyInput = input.trim();
995
+ const now = /* @__PURE__ */ new Date();
996
+ const currentYear = now.getFullYear().toString();
997
+ const currentMonth = (now.getMonth() + 1).toString().padStart(2, "0");
998
+ const currentDay = now.getDate().toString().padStart(2, "0");
999
+ let tempDisplayValue = "";
1000
+ if (targetFormat === "yyyy-MM-dd") {
1001
+ tempDisplayValue = buildYYYYMMDDFormat(
1002
+ digitOnlyInput,
1003
+ digitOnlyInput.length,
1004
+ currentYear,
1005
+ currentMonth,
1006
+ currentDay
1007
+ );
1008
+ } else if (targetFormat === "MM/dd/yyyy") {
1009
+ tempDisplayValue = buildMMDDYYYYFormat(
1010
+ digitOnlyInput,
1011
+ digitOnlyInput.length,
1012
+ currentYear,
1013
+ currentMonth,
1014
+ currentDay
1015
+ );
1016
+ } else {
1017
+ return tryGenericNumericParsing(digitOnlyInput, digitOnlyInput.length, now);
1018
+ }
1019
+ try {
1020
+ const parsedDate = parse(tempDisplayValue, targetFormat, /* @__PURE__ */ new Date(), { locale });
1021
+ if (isValid(parsedDate)) {
1022
+ return parsedDate;
1023
+ }
1024
+ } catch {
1025
+ }
1026
+ return null;
1027
+ }
1028
+ function buildYYYYMMDDFormat(digitOnlyInput, length, currentYear, currentMonth, currentDay) {
1029
+ if (length === 1) {
1030
+ return `${currentYear.substring(0, 3)}${digitOnlyInput}-${currentMonth}-${currentDay}`;
1031
+ } else if (length === 2) {
1032
+ const num = parseInt(digitOnlyInput, 10);
1033
+ if (num >= 1 && num <= 31) {
1034
+ const month = parseInt(currentMonth, 10);
1035
+ const corrected = smartCorrectDate(parseInt(currentYear, 10), month, num);
1036
+ return `${corrected.year}-${corrected.month.toString().padStart(2, "0")}-${corrected.day.toString().padStart(2, "0")}`;
1037
+ } else {
1038
+ return `${currentYear.substring(0, 2)}${digitOnlyInput}-${currentMonth}-${currentDay}`;
1039
+ }
1040
+ } else if (length === 3) {
1041
+ const result = parse3Digits(digitOnlyInput, parseInt(currentYear, 10));
1042
+ if (result) {
1043
+ return result.formatted;
1044
+ }
1045
+ const year = digitOnlyInput + currentYear.substring(3, 4);
1046
+ return `${year}-${currentMonth}-${currentDay}`;
1047
+ } else if (length === 4) {
1048
+ const asYear = parseInt(digitOnlyInput, 10);
1049
+ const asMonth = parseInt(digitOnlyInput.substring(0, 2), 10);
1050
+ const asDay = parseInt(digitOnlyInput.substring(2, 4), 10);
1051
+ const isReasonableYear2 = asYear >= 1950 && asYear <= 2100;
1052
+ const isValidMMDD = asMonth >= 1 && asMonth <= 12 && asDay >= 1 && asDay <= 31;
1053
+ if (isReasonableYear2 && !isValidMMDD) {
1054
+ const year = smartCorrectYear(asYear);
1055
+ return `${year}-${currentMonth}-${currentDay}`;
1056
+ } else if (isValidMMDD) {
1057
+ return `${currentYear}-${asMonth.toString().padStart(2, "0")}-${asDay.toString().padStart(2, "0")}`;
1058
+ } else {
1059
+ const year = smartCorrectYear(asYear);
1060
+ return `${year}-${currentMonth}-${currentDay}`;
1061
+ }
1062
+ } else if (length === 5) {
1063
+ const year = smartCorrectYear(parseInt(digitOnlyInput.substring(0, 4), 10));
1064
+ const monthTens = digitOnlyInput.substring(4, 5);
1065
+ return `${year}-${monthTens}-${currentDay}`;
1066
+ } else if (length === 6) {
1067
+ const result = parseYYMMDD(digitOnlyInput, "yyyy-MM-dd");
1068
+ return (result == null ? void 0 : result.formatted) || // 降级到智能修正,强制使用 YYMMDD 格式
1069
+ (() => {
1070
+ const yymmddYear = parseInt(digitOnlyInput.substring(0, 2), 10);
1071
+ const yymmddMonth = parseInt(digitOnlyInput.substring(2, 4), 10);
1072
+ const yymmddDay = parseInt(digitOnlyInput.substring(4, 6), 10);
1073
+ const correctedYear = convertTwoDigitYear(yymmddYear);
1074
+ const corrected = smartCorrectDate(correctedYear, yymmddMonth, yymmddDay);
1075
+ return `${corrected.year}-${corrected.month.toString().padStart(2, "0")}-${corrected.day.toString().padStart(2, "0")}`;
1076
+ })();
1077
+ } else if (length === 7) {
1078
+ const year = smartCorrectYear(parseInt(digitOnlyInput.substring(0, 4), 10));
1079
+ const month = parseInt(digitOnlyInput.substring(4, 6), 10);
1080
+ const dayTens = digitOnlyInput.substring(6, 7);
1081
+ const validMonth = month >= 1 && month <= 12 ? month.toString().padStart(2, "0") : currentMonth;
1082
+ return `${year}-${validMonth}-${dayTens}`;
1083
+ } else if (length === 8) {
1084
+ const result = parseYYYYMMDD(digitOnlyInput);
1085
+ return (result == null ? void 0 : result.formatted) || // 降级到智能修正
1086
+ (() => {
1087
+ const year = parseInt(digitOnlyInput.substring(0, 4), 10);
1088
+ const month = parseInt(digitOnlyInput.substring(4, 6), 10);
1089
+ const day = parseInt(digitOnlyInput.substring(6, 8), 10);
1090
+ const corrected = smartCorrectDate(year, month, day);
1091
+ return `${corrected.year}-${corrected.month.toString().padStart(2, "0")}-${corrected.day.toString().padStart(2, "0")}`;
1092
+ })();
1093
+ } else {
1094
+ return buildYYYYMMDDFormat(
1095
+ digitOnlyInput.substring(0, 8),
1096
+ 8,
1097
+ currentYear,
1098
+ currentMonth,
1099
+ currentDay
1100
+ );
1101
+ }
1102
+ }
1103
+ function buildMMDDYYYYFormat(digitOnlyInput, length, currentYear, currentMonth, currentDay) {
1104
+ if (length === 1) {
1105
+ const year = parseInt(`${currentYear.substring(0, 3)}${digitOnlyInput}`, 10);
1106
+ return `${currentMonth}/${currentDay}/${year}`;
1107
+ } else if (length === 2) {
1108
+ const num = parseInt(digitOnlyInput, 10);
1109
+ if (num >= 1 && num <= 31) {
1110
+ const corrected = smartCorrectDate(parseInt(currentYear, 10), parseInt(currentMonth, 10), num);
1111
+ return `${corrected.month.toString().padStart(2, "0")}/${corrected.day.toString().padStart(2, "0")}/${corrected.year}`;
1112
+ } else {
1113
+ const year = parseInt(`${currentYear.substring(0, 2)}${digitOnlyInput}`, 10);
1114
+ return `${currentMonth}/${currentDay}/${year}`;
1115
+ }
1116
+ } else if (length === 3) {
1117
+ const firstDigit = parseInt(digitOnlyInput.substring(0, 1), 10);
1118
+ const lastTwoDigits = parseInt(digitOnlyInput.substring(1, 3), 10);
1119
+ if (firstDigit >= 1 && firstDigit <= 12 && lastTwoDigits >= 1 && lastTwoDigits <= 31) {
1120
+ return `${firstDigit.toString().padStart(2, "0")}/${lastTwoDigits.toString().padStart(2, "0")}/${currentYear}`;
1121
+ } else {
1122
+ const month = parseInt(digitOnlyInput.substring(0, 2), 10);
1123
+ const dayTens = digitOnlyInput.substring(2, 3);
1124
+ const validMonth = month >= 1 && month <= 12 ? month.toString().padStart(2, "0") : currentMonth;
1125
+ return `${validMonth}/${dayTens}/${currentYear}`;
1126
+ }
1127
+ } else if (length === 4) {
1128
+ const month = parseInt(digitOnlyInput.substring(0, 2), 10);
1129
+ const day = parseInt(digitOnlyInput.substring(2, 4), 10);
1130
+ const corrected = smartCorrectDate(parseInt(currentYear, 10), month, day);
1131
+ return `${corrected.month.toString().padStart(2, "0")}/${corrected.day.toString().padStart(2, "0")}/${corrected.year}`;
1132
+ } else if (length === 6) {
1133
+ const result = parseYYMMDD(digitOnlyInput, "MM/dd/yyyy");
1134
+ if (result) {
1135
+ return result.formatted;
1136
+ }
1137
+ } else if (length >= 5) {
1138
+ const month = parseInt(digitOnlyInput.substring(0, 2), 10);
1139
+ const day = parseInt(digitOnlyInput.substring(2, 4), 10);
1140
+ const yearPart = digitOnlyInput.substring(4);
1141
+ let year = parseInt(currentYear, 10);
1142
+ if (yearPart.length === 1) {
1143
+ year = parseInt(`${currentYear.substring(0, 3)}${yearPart}`, 10);
1144
+ } else if (yearPart.length === 2) {
1145
+ year = parseInt(`${currentYear.substring(0, 2)}${yearPart}`, 10);
1146
+ } else if (yearPart.length === 3) {
1147
+ year = parseInt(`${yearPart}${currentYear.substring(3, 4)}`, 10);
1148
+ } else if (yearPart.length >= 4) {
1149
+ year = parseInt(yearPart.substring(0, 4), 10);
1150
+ }
1151
+ year = smartCorrectYear(year);
1152
+ const corrected = smartCorrectDate(year, month, day);
1153
+ return `${corrected.month.toString().padStart(2, "0")}/${corrected.day.toString().padStart(2, "0")}/${corrected.year}`;
1154
+ }
1155
+ return "";
1156
+ }
1157
+ function tryGenericNumericParsing(digitOnly, length, now) {
1158
+ const currentYear = now.getFullYear().toString();
1159
+ if (length === 1) {
1160
+ const year = parseInt(`${currentYear.substring(0, 3)}${digitOnly}`, 10);
1161
+ return new Date(year, now.getMonth(), now.getDate());
1162
+ } else if (length === 2) {
1163
+ const num = parseInt(digitOnly, 10);
1164
+ if (num >= 1 && num <= 31) {
1165
+ const corrected = smartCorrectDate(parseInt(currentYear, 10), now.getMonth() + 1, num);
1166
+ return new Date(corrected.year, corrected.month - 1, corrected.day);
1167
+ } else {
1168
+ const year = convertTwoDigitYear(num);
1169
+ return new Date(year, now.getMonth(), now.getDate());
1170
+ }
1171
+ } else if (length === 3) {
1172
+ const result = parse3Digits(digitOnly, parseInt(currentYear, 10));
1173
+ if (result) {
1174
+ return new Date(result.year, result.month - 1, result.day);
1175
+ }
1176
+ const year = parseInt(`${digitOnly}${currentYear.substring(3, 4)}`, 10);
1177
+ return new Date(year, now.getMonth(), now.getDate());
1178
+ } else if (length === 4) {
1179
+ const month = parseInt(digitOnly.substring(0, 2), 10);
1180
+ const day = parseInt(digitOnly.substring(2, 4), 10);
1181
+ const corrected = smartCorrectDate(parseInt(currentYear, 10), month, day);
1182
+ return new Date(corrected.year, corrected.month - 1, corrected.day);
1183
+ } else if (length === 6) {
1184
+ const result = parseYYMMDD(digitOnly, "yyyy-MM-dd");
1185
+ if (result) {
1186
+ return new Date(result.year, result.month - 1, result.day);
1187
+ }
1188
+ } else if (length === 8) {
1189
+ const result = parseYYYYMMDD(digitOnly);
1190
+ if (result) {
1191
+ return new Date(result.year, result.month - 1, result.day);
1192
+ }
1193
+ }
1194
+ return null;
1195
+ }
1196
+ function hasWeekdayInFormat(format10) {
1197
+ const weekdayPatterns = [
1198
+ /\be{1,4}\b/,
1199
+ // e, ee, eee, eeee (localized weekday)
1200
+ /\bE{1,4}\b/,
1201
+ // E, EE, EEE, EEEE (weekday)
1202
+ /\bi{1,4}\b/,
1203
+ // i, ii, iii, iiii (ISO weekday)
1204
+ /\bc{1,4}\b/
1205
+ // c, cc, ccc, cccc (standalone weekday)
1206
+ ];
1207
+ return weekdayPatterns.some((pattern) => pattern.test(format10));
1208
+ }
1209
+ function parseCompositeFormat(input, format10, locale) {
1210
+ try {
1211
+ const dateOnlyFormat = removeWeekdayFromFormat(format10);
1212
+ const dateOnlyInput = removeWeekdayFromInput(input, locale);
1213
+ if (!dateOnlyFormat || !dateOnlyInput) {
1214
+ return null;
1215
+ }
1216
+ const result = parse(dateOnlyInput, dateOnlyFormat, /* @__PURE__ */ new Date(), { locale });
1217
+ return isValid(result) ? result : null;
1218
+ } catch {
1219
+ return null;
1220
+ }
1221
+ }
1222
+ function removeWeekdayFromFormat(format10) {
1223
+ return format10.replace(/\s*[eEic]{1,4}\s*/g, "").replace(/\s+/g, " ").replace(/\s*([,,、])\s*/g, "$1").trim();
1224
+ }
1225
+ function removeWeekdayFromInput(input, locale) {
1226
+ try {
1227
+ const weekdayNames = generateWeekdayNames2(locale);
1228
+ if (weekdayNames.length === 0) {
1229
+ return input;
1230
+ }
1231
+ const sortedNames = weekdayNames.sort((a, b) => b.length - a.length);
1232
+ const pattern = new RegExp(`\\s*(${sortedNames.join("|")})\\s*`, "gi");
1233
+ return input.replace(pattern, "").replace(/\s+/g, " ").trim();
1234
+ } catch {
1235
+ return input.replace(/\s*(星期[一二三四五六日天]|周[一二三四五六日天])\s*/g, "").replace(/\s+/g, " ").trim();
1236
+ }
1237
+ }
1238
+ function generateWeekdayNames2(locale) {
1239
+ const names = [];
1240
+ try {
1241
+ const baseDate = new Date(2024, 0, 7);
1242
+ for (let i = 0; i < 7; i++) {
1243
+ const currentDate = new Date(baseDate);
1244
+ currentDate.setDate(baseDate.getDate() + i);
1245
+ const fullName = format(currentDate, "eeee", { locale });
1246
+ if (fullName && fullName !== "eeee") {
1247
+ names.push(fullName);
1248
+ }
1249
+ const shortName = format(currentDate, "eee", { locale });
1250
+ if (shortName && shortName !== "eee" && shortName !== fullName) {
1251
+ names.push(shortName);
1252
+ }
1253
+ const veryShortName = format(currentDate, "ee", { locale });
1254
+ if (veryShortName && veryShortName !== "ee" && veryShortName !== shortName && veryShortName !== fullName) {
1255
+ names.push(veryShortName);
1256
+ }
1257
+ const localeKey = getLocaleKey(locale);
1258
+ if (localeKey === "zh") {
1259
+ const weekFormat = format(currentDate, "eeee", { locale }).replace("星期", "周");
1260
+ if (weekFormat !== fullName) {
1261
+ names.push(weekFormat);
1262
+ }
1263
+ }
1264
+ }
1265
+ return [...new Set(names)].filter(
1266
+ (name) => name && name.length > 0 && !name.includes("e") && // 过滤掉格式化失败的情况
1267
+ name !== "Invalid Date"
1268
+ );
1269
+ } catch {
1270
+ return [];
1271
+ }
1272
+ }
1273
+ function parseInvalidFormattedDate(input, targetFormat, locale) {
1274
+ const formatPatterns = {
1275
+ "yyyy-MM-dd": /^(\d{4})-(\d{1,2})-(\d{1,2})$/,
1276
+ "yyyy/MM/dd": /^(\d{4})\/(\d{1,2})\/(\d{1,2})$/,
1277
+ "MM/dd/yyyy": /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/,
1278
+ "dd/MM/yyyy": /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/,
1279
+ "dd.MM.yyyy": /^(\d{1,2})\.(\d{1,2})\.(\d{4})$/,
1280
+ "yyyy.MM.dd": /^(\d{4})\.(\d{1,2})\.(\d{1,2})$/,
1281
+ yyyy年MM月dd日: /^(\d{4})年(\d{1,2})月(\d{1,2})日$/
1282
+ };
1283
+ const pattern = formatPatterns[targetFormat];
1284
+ if (!pattern) {
1285
+ return null;
1286
+ }
1287
+ const match = input.match(pattern);
1288
+ if (!match) {
1289
+ return null;
1290
+ }
1291
+ let year, month, day;
1292
+ switch (targetFormat) {
1293
+ case "yyyy-MM-dd":
1294
+ case "yyyy/MM/dd":
1295
+ case "yyyy.MM.dd":
1296
+ case "yyyy年MM月dd日":
1297
+ year = parseInt(match[1], 10);
1298
+ month = parseInt(match[2], 10);
1299
+ day = parseInt(match[3], 10);
1300
+ break;
1301
+ case "MM/dd/yyyy":
1302
+ month = parseInt(match[1], 10);
1303
+ day = parseInt(match[2], 10);
1304
+ year = parseInt(match[3], 10);
1305
+ break;
1306
+ case "dd/MM/yyyy":
1307
+ case "dd.MM.yyyy":
1308
+ day = parseInt(match[1], 10);
1309
+ month = parseInt(match[2], 10);
1310
+ year = parseInt(match[3], 10);
1311
+ break;
1312
+ default:
1313
+ return null;
1314
+ }
1315
+ const corrected = smartCorrectDate(year, month, day);
1316
+ const correctedDate = new Date(corrected.year, corrected.month - 1, corrected.day);
1317
+ return isValid(correctedDate) ? correctedDate : null;
1318
+ }
1319
+ function getEnhancedPrediction(input, targetFormat = "yyyy-MM-dd") {
1320
+ if (!input.trim()) return null;
1321
+ const trimmedInput = input.trim();
1322
+ try {
1323
+ const parsed = parseDate(trimmedInput, {
1324
+ format: targetFormat,
1325
+ enableSmartCorrection: true,
1326
+ enableNaturalLanguage: true,
1327
+ enableRelativeDate: true
1328
+ });
1329
+ if (parsed && !isNaN(parsed.getTime())) {
1330
+ const formatted = format(parsed, targetFormat);
1331
+ const description = generateDescription(trimmedInput, parsed);
1332
+ const confidence = calculateConfidence(trimmedInput, parsed);
1333
+ const type = determineType(trimmedInput);
1334
+ return {
1335
+ prediction: formatted,
1336
+ description,
1337
+ confidence,
1338
+ type
1339
+ };
1340
+ }
1341
+ } catch {
1342
+ }
1343
+ return null;
1344
+ }
1345
+ function generateDescription(input, parsedDate) {
1346
+ const trimmedInput = input.trim().toLowerCase();
1347
+ const now = /* @__PURE__ */ new Date();
1348
+ const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
1349
+ const parsed = new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate());
1350
+ const shortcuts = {
1351
+ t: "今天",
1352
+ today: "今天",
1353
+ 今: "今天",
1354
+ 今天: "今天",
1355
+ y: "昨天",
1356
+ yesterday: "昨天",
1357
+ 昨: "昨天",
1358
+ tm: "明天",
1359
+ tomorrow: "明天",
1360
+ 明: "明天"
1361
+ };
1362
+ if (shortcuts[trimmedInput]) {
1363
+ return shortcuts[trimmedInput];
1364
+ }
1365
+ const dayDiff = Math.round((parsed.getTime() - today.getTime()) / (1e3 * 60 * 60 * 24));
1366
+ if (dayDiff === 0) {
1367
+ return "今天";
1368
+ } else if (dayDiff === 1) {
1369
+ return "明天";
1370
+ } else if (dayDiff === -1) {
1371
+ return "昨天";
1372
+ } else if (dayDiff > 0 && dayDiff <= 7) {
1373
+ return `${dayDiff}天后`;
1374
+ } else if (dayDiff < 0 && dayDiff >= -7) {
1375
+ return `${Math.abs(dayDiff)}天前`;
1376
+ }
1377
+ const year = parsedDate.getFullYear();
1378
+ const month = parsedDate.getMonth() + 1;
1379
+ const day = parsedDate.getDate();
1380
+ const currentYear = now.getFullYear();
1381
+ if (year === currentYear) {
1382
+ return `当年${month}月${day}日`;
1383
+ } else {
1384
+ return `${year}年${month}月${day}日`;
1385
+ }
1386
+ }
1387
+ function calculateConfidence(input, parsedDate) {
1388
+ const trimmedInput = input.trim().toLowerCase();
1389
+ const shortcuts = ["t", "today", "今", "今天", "y", "yesterday", "昨", "tm", "tomorrow", "明"];
1390
+ if (shortcuts.includes(trimmedInput)) {
1391
+ return 1;
1392
+ }
1393
+ if (/^\d+$/.test(trimmedInput)) {
1394
+ const length = trimmedInput.length;
1395
+ if (length === 8) return 0.95;
1396
+ if (length === 6) return 0.9;
1397
+ if (length === 4) return 0.85;
1398
+ if (length === 3) return 0.8;
1399
+ if (length === 2) return 0.75;
1400
+ if (length === 1) return 0.6;
1401
+ return 0.7;
1402
+ }
1403
+ if (trimmedInput.includes("年") || trimmedInput.includes("月") || trimmedInput.includes("日")) {
1404
+ return 0.85;
1405
+ }
1406
+ if (trimmedInput.includes("-") || trimmedInput.includes("/")) {
1407
+ return 0.8;
1408
+ }
1409
+ return 0.7;
1410
+ }
1411
+ function determineType(input) {
1412
+ const trimmedInput = input.trim().toLowerCase();
1413
+ const shortcuts = ["t", "today", "今", "今天", "y", "yesterday", "昨", "tm", "tomorrow", "明"];
1414
+ if (shortcuts.includes(trimmedInput)) {
1415
+ return "shortcut";
1416
+ }
1417
+ if (/^\d+$/.test(trimmedInput)) {
1418
+ return "numeric";
1419
+ }
1420
+ if (trimmedInput.includes("天前") || trimmedInput.includes("天后") || trimmedInput.includes("周") || trimmedInput.includes("月") || trimmedInput.includes("ago") || trimmedInput.includes("later")) {
1421
+ return "relative";
1422
+ }
1423
+ return "parsed";
1424
+ }
1425
+ var yearUtils = {
1426
+ extractYear(input) {
1427
+ if (isDate(input) && isValid(input)) {
1428
+ return input.getFullYear();
1429
+ }
1430
+ if (typeof input === "number" && Number.isFinite(input)) {
1431
+ return input;
1432
+ }
1433
+ return void 0;
1434
+ },
1435
+ /** 创建年份的开始日期 */
1436
+ createYearDate(year) {
1437
+ return new Date(year, 0, 1);
1438
+ },
1439
+ /** 获取当前年份 */
1440
+ getCurrentYear() {
1441
+ return (/* @__PURE__ */ new Date()).getFullYear();
1442
+ },
1443
+ /** 验证年份是否在有效范围内 */
1444
+ isYearInRange(year, minYear, maxYear) {
1445
+ const minValid = minYear === void 0 || year >= minYear;
1446
+ const maxValid = maxYear === void 0 || year <= maxYear;
1447
+ return minValid && maxValid;
1448
+ }
1449
+ };
1450
+ var quarterUtils = {
1451
+ /** 安全地从各种输入中提取年份数字 */
1452
+ extractYear(input) {
1453
+ if (isDate(input) && isValid(input)) {
1454
+ return input.getFullYear();
1455
+ }
1456
+ if (typeof input === "number" && Number.isFinite(input)) {
1457
+ return input;
1458
+ }
1459
+ return void 0;
1460
+ },
1461
+ /** 获取当前年份 */
1462
+ getCurrentYear() {
1463
+ return (/* @__PURE__ */ new Date()).getFullYear();
1464
+ },
1465
+ /** 获取当前季度数字 (1-4) */
1466
+ getCurrentQuarterNumber() {
1467
+ const currentMonth = (/* @__PURE__ */ new Date()).getMonth() + 1;
1468
+ return Math.ceil(currentMonth / 3);
1469
+ },
1470
+ /** 验证年份是否在有效范围内 */
1471
+ isYearInRange(year, minYear, maxYear) {
1472
+ const minValid = minYear === void 0 || year >= minYear;
1473
+ const maxValid = maxYear === void 0 || year <= maxYear;
1474
+ return minValid && maxValid;
1475
+ },
1476
+ /** 创建季度的开始日期 */
1477
+ createQuarterStartDate(quarter, year) {
1478
+ const startMonth = (quarter - 1) * 3;
1479
+ return new Date(year, startMonth, 1);
1480
+ },
1481
+ /** 创建季度的结束日期 */
1482
+ createQuarterEndDate(quarter, year) {
1483
+ const endMonth = (quarter - 1) * 3 + 2;
1484
+ return new Date(year, endMonth + 1, 0);
1485
+ }
1486
+ };
1487
+ function getQuarterMonths(quarter, locale = zhCN) {
1488
+ const safeLocale = resolveLocale(locale);
1489
+ const quarterStartMonth = (quarter - 1) * 3;
1490
+ const months = [];
1491
+ for (let i = 0; i < 3; i++) {
1492
+ const monthIndex = quarterStartMonth + i;
1493
+ const date = new Date(2024, monthIndex, 1);
1494
+ const monthFormat = isChineseLocale(safeLocale) ? "MMMM" : "MMM";
1495
+ const monthName = format(date, monthFormat, { locale: safeLocale });
1496
+ months.push(monthName);
1497
+ }
1498
+ return months;
1499
+ }
1500
+ function createQuarter(quarter, year, locale = zhCN) {
1501
+ const safeLocale = resolveLocale(locale);
1502
+ const quarterLabels = {
1503
+ "zh-CN": (q) => `${["一", "二", "三", "四"][q - 1]}季度`,
1504
+ "en-US": (q) => `Q${q}`,
1505
+ "ja-JP": (q) => `第${q}四半期`,
1506
+ "ko-KR": (q) => `${q}분기`,
1507
+ "fr-FR": (q) => `T${q}`,
1508
+ "de-DE": (q) => `Q${q}`,
1509
+ "es-ES": (q) => `T${q}`
1510
+ };
1511
+ const localeCode = safeLocale.code || "en-US";
1512
+ const labelGenerator = quarterLabels[localeCode] || quarterLabels["en-US"];
1513
+ const label = labelGenerator(quarter);
1514
+ const months = getQuarterMonths(quarter, locale);
1515
+ return {
1516
+ quarter,
1517
+ year,
1518
+ label,
1519
+ months
1520
+ };
1521
+ }
1522
+ function getCurrentQuarter(year, locale = zhCN) {
1523
+ const currentYear = quarterUtils.getCurrentYear();
1524
+ const currentQuarter = quarterUtils.getCurrentQuarterNumber();
1525
+ return createQuarter(currentQuarter, currentYear, locale);
1526
+ }
1527
+ function getYearQuarters(year, locale = zhCN) {
1528
+ return [1, 2, 3, 4].map((quarter) => createQuarter(quarter, year, locale));
1529
+ }
1530
+ function isQuarterEqual(quarter1, quarter2) {
1531
+ return quarter1.quarter === quarter2.quarter && quarter1.year === quarter2.year;
1532
+ }
1533
+ function formatQuarter(quarter) {
1534
+ return `${quarter.year}年 ${quarter.label}`;
1535
+ }
1536
+ var timeStringDateCache = null;
1537
+ var cacheDateKey = null;
1538
+ function dateToTimeString(date) {
1539
+ if (!date) return null;
1540
+ return format(date, "HH:mm");
1541
+ }
1542
+ function timeStringToDate(timeStr) {
1543
+ const today = /* @__PURE__ */ new Date();
1544
+ const dateKey = today.toDateString();
1545
+ if (cacheDateKey !== dateKey) {
1546
+ timeStringDateCache = /* @__PURE__ */ new Map();
1547
+ cacheDateKey = dateKey;
1548
+ }
1549
+ if (timeStringDateCache.has(timeStr)) {
1550
+ return timeStringDateCache.get(timeStr);
1551
+ }
1552
+ const baseDate = startOfDay(today);
1553
+ const [hours, minutes] = timeStr.split(":").map(Number);
1554
+ const dateObject = setMinutes(setHours(baseDate, hours), minutes);
1555
+ timeStringDateCache.set(timeStr, dateObject);
1556
+ return dateObject;
1557
+ }
1558
+ function normalizeTimeValue(value) {
1559
+ return dateToTimeString(value ?? null);
1560
+ }
1561
+ function smartParseTimeValue(input, options) {
1562
+ const { format: timeFormat, locale, strict } = options;
1563
+ const dateFnsLocale = resolveLocale(locale);
1564
+ const result = {
1565
+ input,
1566
+ time: null,
1567
+ formatted: "",
1568
+ isValid: false,
1569
+ error: null
1570
+ };
1571
+ if (!input.trim()) {
1572
+ return result;
1573
+ }
1574
+ let parsedDate = null;
1575
+ try {
1576
+ const baseDate = new Date(2e3, 0, 1);
1577
+ parsedDate = parse(input, timeFormat, baseDate, { locale: dateFnsLocale });
1578
+ if (isValid(parsedDate)) {
1579
+ const todayWithTime = timeStringToDate(format(parsedDate, "HH:mm"));
1580
+ result.time = todayWithTime;
1581
+ result.formatted = format(parsedDate, timeFormat, { locale: dateFnsLocale });
1582
+ result.isValid = true;
1583
+ return result;
1584
+ }
1585
+ for (const tryFormat of commonTimeFormats) {
1586
+ if (tryFormat !== timeFormat) {
1587
+ try {
1588
+ parsedDate = parse(input, tryFormat, baseDate, { locale: dateFnsLocale });
1589
+ if (isValid(parsedDate)) {
1590
+ const todayWithTime = timeStringToDate(format(parsedDate, "HH:mm"));
1591
+ result.time = todayWithTime;
1592
+ result.formatted = format(parsedDate, timeFormat, { locale: dateFnsLocale });
1593
+ result.isValid = true;
1594
+ return result;
1595
+ }
1596
+ } catch {
1597
+ }
1598
+ }
1599
+ }
1600
+ const relaxedResult = tryRelaxedTimeParsing(input, timeFormat, locale || dateFnsLocale);
1601
+ if (relaxedResult) {
1602
+ const todayWithTime = timeStringToDate(relaxedResult);
1603
+ result.time = todayWithTime;
1604
+ result.formatted = format(todayWithTime, timeFormat, { locale: dateFnsLocale });
1605
+ result.isValid = true;
1606
+ return result;
1607
+ }
1608
+ result.error = strict ? "Invalid time format" : null;
1609
+ } catch (error) {
1610
+ result.error = error instanceof Error ? error.message : "Parse error";
1611
+ }
1612
+ return result;
1613
+ }
1614
+ function tryRelaxedTimeParsing(input, targetFormat, locale) {
1615
+ const trimmedInput = input.trim();
1616
+ if (!trimmedInput) return null;
1617
+ resolveLocale(locale);
1618
+ try {
1619
+ if (/^\d+$/.test(trimmedInput)) {
1620
+ const len = trimmedInput.length;
1621
+ if (len <= 2) {
1622
+ const hours = parseInt(trimmedInput, 10);
1623
+ if (hours >= 0 && hours <= 23) {
1624
+ return `${hours.toString().padStart(2, "0")}:00`;
1625
+ }
1626
+ }
1627
+ if (len === 3) {
1628
+ const hours = parseInt(trimmedInput.substring(0, 1), 10);
1629
+ const minutes = parseInt(trimmedInput.substring(1, 3), 10);
1630
+ if (hours >= 0 && hours <= 23 && minutes >= 0 && minutes <= 59) {
1631
+ return `${hours.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}`;
1632
+ }
1633
+ }
1634
+ if (len === 4) {
1635
+ const hours = parseInt(trimmedInput.substring(0, 2), 10);
1636
+ const minutes = parseInt(trimmedInput.substring(2, 4), 10);
1637
+ if (hours >= 0 && hours <= 23 && minutes >= 0 && minutes <= 59) {
1638
+ return `${hours.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}`;
1639
+ }
1640
+ }
1641
+ }
1642
+ const ampmMatch = trimmedInput.match(/(\d{1,2})(?::(\d{1,2}))?\s*(am|pm|上午|下午)/i);
1643
+ if (ampmMatch) {
1644
+ let hours = parseInt(ampmMatch[1], 10);
1645
+ const minutes = parseInt(ampmMatch[2] || "0", 10);
1646
+ const period = ampmMatch[3].toLowerCase();
1647
+ if (hours >= 1 && hours <= 12 && minutes >= 0 && minutes <= 59) {
1648
+ if ((period === "pm" || period === "下午") && hours !== 12) {
1649
+ hours += 12;
1650
+ } else if ((period === "am" || period === "上午") && hours === 12) {
1651
+ hours = 0;
1652
+ }
1653
+ return `${hours.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}`;
1654
+ }
1655
+ }
1656
+ const chineseTimePatterns = [
1657
+ { pattern: /(?:下午)\s*(\d{1,2})\s*[点时]/, hour: true, isPM: true },
1658
+ { pattern: /(?:上午)\s*(\d{1,2})\s*[点时]/, hour: true, isPM: false },
1659
+ { pattern: /(\d{1,2})\s*[点时]/, hour: true, isPM: null },
1660
+ { pattern: /(\d{1,2})\s*分/, hour: false, isPM: null }
1661
+ ];
1662
+ let parsedHour = null;
1663
+ let parsedMinute = null;
1664
+ let isPM = null;
1665
+ for (const { pattern, hour, isPM: isAfternoon } of chineseTimePatterns) {
1666
+ const match = trimmedInput.match(pattern);
1667
+ if (match) {
1668
+ const num = parseInt(match[1], 10);
1669
+ if (hour && num >= 1 && num <= 12) {
1670
+ parsedHour = num;
1671
+ isPM = isAfternoon !== void 0 ? isAfternoon : null;
1672
+ break;
1673
+ } else if (!hour && num >= 0 && num <= 59) {
1674
+ parsedMinute = num;
1675
+ }
1676
+ }
1677
+ }
1678
+ if (parsedHour !== null) {
1679
+ let finalHour = parsedHour;
1680
+ if (isPM === true && finalHour !== 12) {
1681
+ finalHour += 12;
1682
+ } else if (isPM === false && finalHour === 12) {
1683
+ finalHour = 0;
1684
+ }
1685
+ const minutes = parsedMinute || 0;
1686
+ if (finalHour >= 0 && finalHour <= 23) {
1687
+ return `${finalHour.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}`;
1688
+ }
1689
+ }
1690
+ const timeMatch = trimmedInput.match(/(\d{1,2})[:.](\d{1,2})/);
1691
+ if (timeMatch) {
1692
+ const hours = parseInt(timeMatch[1], 10);
1693
+ const minuteStr = timeMatch[2];
1694
+ let minutes;
1695
+ if (minuteStr.length === 1) {
1696
+ minutes = parseInt(minuteStr, 10) * 10;
1697
+ } else {
1698
+ minutes = parseInt(minuteStr, 10);
1699
+ }
1700
+ if (hours >= 0 && hours <= 23 && minutes >= 0 && minutes <= 59) {
1701
+ return `${hours.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}`;
1702
+ }
1703
+ }
1704
+ } catch (error) {
1705
+ }
1706
+ return null;
1707
+ }
1708
+ var generateTimeOptions = (format10, step = 15) => {
1709
+ const options = [];
1710
+ const totalMinutes = 24 * 60;
1711
+ const is12Hour = format10.toLowerCase().includes("a") || format10 === "12h";
1712
+ for (let i = 0; i < totalMinutes; i += step) {
1713
+ const hours = Math.floor(i / 60);
1714
+ const minutes = i % 60;
1715
+ if (is12Hour) {
1716
+ const displayHour = hours === 0 ? 12 : hours > 12 ? hours - 12 : hours;
1717
+ const ampm = hours < 12 ? "AM" : "PM";
1718
+ const value = `${hours.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}`;
1719
+ const label = `${displayHour}:${minutes.toString().padStart(2, "0")} ${ampm}`;
1720
+ options.push({ value, label });
1721
+ } else {
1722
+ const value = `${hours.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}`;
1723
+ const label = value;
1724
+ options.push({ value, label });
1725
+ }
1726
+ }
1727
+ return options;
1728
+ };
1729
+ var MonthCalendarTv = tcv({
1730
+ slots: {
1731
+ // 容器
1732
+ container: "select-none",
1733
+ // 头部
1734
+ header: "grid items-center pt-2 pr-1 pl-3",
1735
+ headerWrapper: "flex h-6 items-center",
1736
+ title: "flex-1 truncate font-strong",
1737
+ // 星期标题区域
1738
+ weekdaysContainer: "grid gap-0 px-2 text-center",
1739
+ weekday: "flex h-8 items-center justify-center text-body-small",
1740
+ // 日期网格
1741
+ daysGrid: "grid gap-0 px-2 pb-2",
1742
+ // 日期单元格
1743
+ day: [
1744
+ "relative aspect-square w-full rounded-md",
1745
+ "flex items-center justify-center",
1746
+ "cursor-default select-none",
1747
+ "border border-transparent",
1748
+ "before:absolute before:z-0 before:content-['']",
1749
+ "after:absolute after:z-1 after:content-['']"
1750
+ ],
1751
+ // 日期数字
1752
+ dayNumber: "relative z-2",
1753
+ weekNumber: "flex aspect-square items-center justify-center text-body-small",
1754
+ emptyDay: ""
1755
+ },
1756
+ variants: {
1757
+ // 是否在当前月
1758
+ inMonth: {
1759
+ false: {}
1760
+ },
1761
+ showWeekNumbers: {
1762
+ true: {
1763
+ header: "grid-cols-8",
1764
+ daysGrid: "grid-cols-8",
1765
+ weekdaysContainer: "grid-cols-8",
1766
+ headerWrapper: "col-span-7"
1767
+ },
1768
+ false: {
1769
+ header: "grid-cols-7",
1770
+ daysGrid: "grid-cols-7",
1771
+ weekdaysContainer: "grid-cols-7",
1772
+ headerWrapper: "col-span-full"
1773
+ }
1774
+ },
1775
+ // 是否选中
1776
+ selected: {
1777
+ true: {}
1778
+ },
1779
+ // 是否在选中范围内
1780
+ inRange: {
1781
+ true: {
1782
+ day: "before:-inset-x-px before:inset-y-0.25"
1783
+ }
1784
+ },
1785
+ // 是否在悬停范围内(范围选择的预览)
1786
+ inHoverRange: {
1787
+ true: {
1788
+ day: "before:-inset-x-px before:inset-y-0.25"
1789
+ }
1790
+ },
1791
+ // 是否为范围内第一个
1792
+ isFirstInRange: {
1793
+ true: {}
1794
+ },
1795
+ // 是否为范围内最后一个
1796
+ isLastInRange: {
1797
+ true: {}
1798
+ },
1799
+ // 是否为悬停范围内第一个
1800
+ isFirstInHoverRange: {
1801
+ true: {}
1802
+ },
1803
+ // 是否为悬停范围内最后一个
1804
+ isLastInHoverRange: {
1805
+ true: {}
1806
+ },
1807
+ // 是否为范围内行首
1808
+ isFirstInRow: {
1809
+ true: {}
1810
+ },
1811
+ // 是否为范围内行尾
1812
+ isLastInRow: {
1813
+ true: {}
1814
+ },
1815
+ // 是否为今天
1816
+ today: {
1817
+ true: {
1818
+ day: "text-on-accent-foreground after:bg-danger-background after:inset-0.5 after:rounded-md"
1819
+ }
1820
+ },
1821
+ // 是否高亮
1822
+ highlighted: {
1823
+ true: {
1824
+ day: "after:border-selected-boundary after:inset-0.5 after:rounded-md after:border"
1825
+ }
1826
+ },
1827
+ // 是否禁用
1828
+ disabled: {
1829
+ true: {},
1830
+ false: {}
1831
+ },
1832
+ // 是否显示当月外的日期
1833
+ showOutsideDays: {
1834
+ false: {}
1835
+ },
1836
+ selectionMode: {
1837
+ single: {},
1838
+ multiple: {},
1839
+ range: {}
1840
+ },
1841
+ variant: {
1842
+ default: {
1843
+ container: "bg-default-background",
1844
+ weekdaysContainer: "text-secondary-foreground",
1845
+ weekNumber: "text-secondary-foreground"
1846
+ },
1847
+ dark: {
1848
+ container: "bg-menu-background text-white",
1849
+ weekdaysContainer: "text-white/40",
1850
+ weekNumber: "text-white/40"
1851
+ }
1852
+ }
1853
+ },
1854
+ compoundVariants: [
1855
+ {
1856
+ inMonth: false,
1857
+ today: false,
1858
+ variant: "default",
1859
+ className: { day: "text-disabled-foreground" }
1860
+ },
1861
+ {
1862
+ inMonth: false,
1863
+ today: false,
1864
+ variant: "dark",
1865
+ className: { day: "text-white/40" }
1866
+ },
1867
+ {
1868
+ inMonth: false,
1869
+ showOutsideDays: false,
1870
+ className: { day: "invisible" }
1871
+ },
1872
+ {
1873
+ selectionMode: ["single", "multiple"],
1874
+ selected: true,
1875
+ today: false,
1876
+ className: {
1877
+ day: "after:inset-0 after:rounded-md"
1878
+ }
1879
+ },
1880
+ {
1881
+ selectionMode: ["single", "multiple"],
1882
+ selected: true,
1883
+ today: false,
1884
+ variant: "default",
1885
+ className: {
1886
+ day: "after:bg-selected-background"
1887
+ }
1888
+ },
1889
+ {
1890
+ selectionMode: ["single", "multiple"],
1891
+ selected: true,
1892
+ today: false,
1893
+ variant: "dark",
1894
+ className: {
1895
+ day: "after:bg-gray-600"
1896
+ }
1897
+ },
1898
+ {
1899
+ selectionMode: ["single", "multiple"],
1900
+ selected: true,
1901
+ today: true,
1902
+ className: {
1903
+ day: "after:ring-accent-background"
1904
+ }
1905
+ },
1906
+ {
1907
+ selectionMode: ["single", "multiple"],
1908
+ selected: true,
1909
+ today: true,
1910
+ variant: "default",
1911
+ className: {
1912
+ day: "after:ring-offset-default-background after:ring-1 after:ring-offset-1"
1913
+ }
1914
+ },
1915
+ {
1916
+ selectionMode: ["single", "multiple"],
1917
+ selected: true,
1918
+ today: true,
1919
+ variant: "dark",
1920
+ className: {
1921
+ day: "after:ring-2 after:ring-gray-600"
1922
+ }
1923
+ },
1924
+ // Hover
1925
+ {
1926
+ disabled: false,
1927
+ inRange: false,
1928
+ inHoverRange: false,
1929
+ className: {
1930
+ day: "before:inset-0 before:rounded-md"
1931
+ }
1932
+ },
1933
+ {
1934
+ disabled: false,
1935
+ inRange: false,
1936
+ inHoverRange: false,
1937
+ variant: "default",
1938
+ className: {
1939
+ day: "hover:before:bg-secondary-background"
1940
+ }
1941
+ },
1942
+ {
1943
+ disabled: false,
1944
+ inRange: false,
1945
+ inHoverRange: false,
1946
+ variant: "dark",
1947
+ className: {
1948
+ day: "hover:before:bg-gray-700"
1949
+ }
1950
+ },
1951
+ {
1952
+ inHoverRange: true,
1953
+ variant: "default",
1954
+ className: {
1955
+ day: "before:bg-secondary-background"
1956
+ }
1957
+ },
1958
+ {
1959
+ inRange: true,
1960
+ inHoverRange: false,
1961
+ variant: "default",
1962
+ className: {
1963
+ day: "before:bg-selected-background"
1964
+ }
1965
+ },
1966
+ {
1967
+ inHoverRange: true,
1968
+ variant: "dark",
1969
+ className: {
1970
+ day: "before:bg-gray-600"
1971
+ }
1972
+ },
1973
+ {
1974
+ inRange: true,
1975
+ inHoverRange: false,
1976
+ variant: "dark",
1977
+ className: {
1978
+ day: "before:bg-accent-background/20"
1979
+ }
1980
+ },
1981
+ // Rounded
1982
+ {
1983
+ isFirstInRow: true,
1984
+ className: { day: "before:rounded-l-md" }
1985
+ },
1986
+ {
1987
+ isLastInRow: true,
1988
+ className: { day: "before:rounded-r-md" }
1989
+ },
1990
+ {
1991
+ isFirstInRange: true,
1992
+ isFirstInHoverRange: true,
1993
+ inHoverRange: true,
1994
+ className: { day: "before:rounded-l-md" }
1995
+ },
1996
+ {
1997
+ isLastInRange: true,
1998
+ isLastInHoverRange: true,
1999
+ inHoverRange: true,
2000
+ className: { day: "before:rounded-r-md" }
2001
+ },
2002
+ {
2003
+ isFirstInRange: true,
2004
+ inHoverRange: false,
2005
+ className: { day: "before:rounded-l-md" }
2006
+ },
2007
+ {
2008
+ isLastInRange: true,
2009
+ inHoverRange: false,
2010
+ className: { day: "before:rounded-r-md" }
2011
+ },
2012
+ {
2013
+ isFirstInHoverRange: true,
2014
+ className: { day: "before:rounded-l-md" }
2015
+ },
2016
+ {
2017
+ isLastInHoverRange: true,
2018
+ className: { day: "before:rounded-r-md" }
2019
+ },
2020
+ // Disabled
2021
+ {
2022
+ disabled: true,
2023
+ variant: "default",
2024
+ className: { day: "text-disabled-foreground" }
2025
+ },
2026
+ {
2027
+ disabled: true,
2028
+ variant: "dark",
2029
+ className: { day: "text-white/20" }
2030
+ }
2031
+ ],
2032
+ // 默认变体
2033
+ defaultVariants: {
2034
+ inMonth: true,
2035
+ showWeekNumbers: false,
2036
+ disabled: false,
2037
+ showOutsideDays: true,
2038
+ selected: false,
2039
+ today: false,
2040
+ highlighted: false,
2041
+ inRange: false,
2042
+ inHoverRange: false,
2043
+ isFirstInRange: false,
2044
+ isLastInRange: false,
2045
+ selectionMode: "single",
2046
+ variant: "default"
2047
+ }
2048
+ });
2049
+ var MonthCalendarDateCell = memo(function MonthCalendarDateCell2(props) {
2050
+ const { date, className, disabled, selected, onDateClick, onMouseEnter, onMouseLeave } = props;
2051
+ const tv = MonthCalendarTv();
2052
+ const handleClick = useEventCallback(() => {
2053
+ if (!disabled && onDateClick) {
2054
+ onDateClick(date);
2055
+ }
2056
+ });
2057
+ const handleMouseEnter = useEventCallback(() => {
2058
+ onMouseEnter(date);
2059
+ });
2060
+ const dateNumber = useMemo(() => date.getDate(), [date]);
2061
+ const testId = useMemo(() => {
2062
+ const year = date.getFullYear();
2063
+ const month = date.getMonth() + 1;
2064
+ const day = date.getDate();
2065
+ return `${year}-${month}-${day}`;
2066
+ }, [date]);
2067
+ return /* @__PURE__ */ jsx(
2068
+ "div",
2069
+ {
2070
+ className,
2071
+ onClick: handleClick,
2072
+ onMouseEnter: handleMouseEnter,
2073
+ onMouseLeave,
2074
+ "data-testid": testId,
2075
+ "data-selected": selected,
2076
+ "data-disabled": disabled,
2077
+ children: /* @__PURE__ */ jsx("span", { className: tv.dayNumber(), children: dateNumber })
2078
+ }
2079
+ );
2080
+ });
2081
+ MonthCalendarDateCell.displayName = "MonthCalendarDateCell";
2082
+ var MonthCalendarHeader = memo(function MonthCalendarHeader2(props) {
2083
+ const {
2084
+ direction = "horizontal",
2085
+ formattedMonthTitle,
2086
+ currentMonthContainsToday,
2087
+ handleToday,
2088
+ handlePrevMonth,
2089
+ handleNextMonth,
2090
+ showWeekNumbers,
2091
+ variant
2092
+ } = props;
2093
+ const tv = MonthCalendarTv({
2094
+ showWeekNumbers,
2095
+ variant
2096
+ });
2097
+ return /* @__PURE__ */ jsxs("div", { className: tv.header(), children: [
2098
+ showWeekNumbers && /* @__PURE__ */ jsx("div", {}),
2099
+ /* @__PURE__ */ jsxs("div", { className: tv.headerWrapper(), children: [
2100
+ /* @__PURE__ */ jsx("div", { className: tv.title(), children: formattedMonthTitle }),
2101
+ currentMonthContainsToday ? null : /* @__PURE__ */ jsx(
2102
+ IconButton,
2103
+ {
2104
+ variant,
2105
+ onClick: handleToday,
2106
+ "aria-label": "Today",
2107
+ children: /* @__PURE__ */ jsx(Undo, {})
2108
+ }
2109
+ ),
2110
+ /* @__PURE__ */ jsx(
2111
+ IconButton,
2112
+ {
2113
+ variant,
2114
+ onClick: handlePrevMonth,
2115
+ "aria-label": "Previous month",
2116
+ children: direction === "vertical" ? /* @__PURE__ */ jsx(ChevronUpSmall, {}) : /* @__PURE__ */ jsx(ChevronLeftSmall, {})
2117
+ }
2118
+ ),
2119
+ /* @__PURE__ */ jsx(
2120
+ IconButton,
2121
+ {
2122
+ variant,
2123
+ onClick: handleNextMonth,
2124
+ "aria-label": "Next month",
2125
+ children: direction === "vertical" ? /* @__PURE__ */ jsx(ChevronDownSmall, {}) : /* @__PURE__ */ jsx(ChevronRightSmall, {})
2126
+ }
2127
+ )
2128
+ ] })
2129
+ ] });
2130
+ });
2131
+ var MonthCalendarWeekDay = memo(function MonthCalendarWeekDay2(props) {
2132
+ const { day } = props;
2133
+ const tv = MonthCalendarTv();
2134
+ return /* @__PURE__ */ jsx("div", { className: tv.weekday(), children: day });
2135
+ });
2136
+ MonthCalendarWeekDay.displayName = "MonthCalendarWeekDay";
2137
+ var MonthCalendarWeekNumber = memo(function MonthCalendarWeekNumber2(props) {
2138
+ const { className, weekNumber } = props;
2139
+ const tv = MonthCalendarTv();
2140
+ return /* @__PURE__ */ jsx(
2141
+ "div",
2142
+ {
2143
+ className: tcx(tv.weekNumber(), className),
2144
+ "data-testid": `week-number-${weekNumber}`,
2145
+ children: weekNumber
2146
+ }
2147
+ );
2148
+ });
2149
+ var MonthCalendar = memo(function MonthCalendar2(props) {
2150
+ const {
2151
+ className,
2152
+ children,
2153
+ direction = "horizontal",
2154
+ currentMonth: propCurrentMonth,
2155
+ dateComparisonMode = "date-only",
2156
+ defaultValue,
2157
+ disabledDates = [],
2158
+ highlightDates = [],
2159
+ highlightToday = true,
2160
+ locale = enUS,
2161
+ maxDate,
2162
+ minDate,
2163
+ onChange,
2164
+ onMonthChange,
2165
+ readOnly = false,
2166
+ selectionMode: propSelectionMode,
2167
+ showOutsideDays = true,
2168
+ showWeekNumbers = false,
2169
+ timeZone = "Asia/Shanghai",
2170
+ value,
2171
+ weekStartsOn = 1,
2172
+ weekdayNames: customWeekdayNames,
2173
+ fixedGrid = true,
2174
+ variant = "default"
2175
+ } = props;
2176
+ const dataFlowRef = useRef({
2177
+ direction: "idle",
2178
+ lastExternalValue: null,
2179
+ isUserInteracting: false,
2180
+ interactionType: null
2181
+ });
2182
+ const [currentValue, setCurrentValue] = useMergedValue({
2183
+ value,
2184
+ defaultValue,
2185
+ onChange
2186
+ });
2187
+ useEffect(() => {
2188
+ const flow = dataFlowRef.current;
2189
+ const normalizedValue = value ?? null;
2190
+ const isExternalChange = !isCalendarValueEqual(
2191
+ normalizedValue,
2192
+ flow.lastExternalValue,
2193
+ timeZone,
2194
+ dateComparisonMode
2195
+ );
2196
+ if (isExternalChange) {
2197
+ if (flow.isUserInteracting) {
2198
+ flow.lastExternalValue = normalizedValue;
2199
+ return;
2200
+ }
2201
+ flow.direction = "external";
2202
+ flow.lastExternalValue = normalizedValue;
2203
+ setTimeout(() => {
2204
+ if (dataFlowRef.current.direction === "external") {
2205
+ dataFlowRef.current.direction = "idle";
2206
+ }
2207
+ }, 50);
2208
+ }
2209
+ }, [value, currentValue, timeZone, dateComparisonMode]);
2210
+ const [internalMonth, setInternalMonth] = useState(null);
2211
+ const currentMonth = useMemo(() => {
2212
+ if (propCurrentMonth) {
2213
+ return propCurrentMonth;
2214
+ }
2215
+ if (internalMonth) {
2216
+ return internalMonth;
2217
+ }
2218
+ const inferFromValue = inferMonthFromValue(currentValue);
2219
+ if (inferFromValue) {
2220
+ return inferFromValue;
2221
+ }
2222
+ return /* @__PURE__ */ new Date();
2223
+ }, [propCurrentMonth, internalMonth, currentValue]);
2224
+ const selectionMode = propSelectionMode || inferSelectionMode(currentValue);
2225
+ const [hoverDate, setHoverDate] = useState(null);
2226
+ const [selectingRange, setSelectingRange] = useState(false);
2227
+ useEffect(() => {
2228
+ const flow = dataFlowRef.current;
2229
+ if (selectionMode === "range") {
2230
+ if (selectingRange) {
2231
+ flow.isUserInteracting = true;
2232
+ flow.interactionType = "range-selecting";
2233
+ } else if (flow.interactionType === "range-selecting") {
2234
+ setTimeout(() => {
2235
+ dataFlowRef.current.isUserInteracting = false;
2236
+ dataFlowRef.current.interactionType = null;
2237
+ dataFlowRef.current.direction = "idle";
2238
+ }, 200);
2239
+ }
2240
+ }
2241
+ }, [selectingRange, selectionMode]);
2242
+ const weekdayNames = useMemo(() => {
2243
+ if (customWeekdayNames) {
2244
+ return customWeekdayNames;
2245
+ }
2246
+ return generateWeekdayNames(locale, weekStartsOn);
2247
+ }, [customWeekdayNames, locale, weekStartsOn]);
2248
+ const calendarDays = useMemo(() => {
2249
+ return generateCalendarDays(currentMonth, weekStartsOn, fixedGrid);
2250
+ }, [currentMonth, weekStartsOn, fixedGrid]);
2251
+ const weekNumbers = useMemo(() => {
2252
+ if (!showWeekNumbers) return [];
2253
+ return calculateWeekNumbers(calendarDays, locale);
2254
+ }, [showWeekNumbers, calendarDays, locale]);
2255
+ const formattedMonthTitle = useMemo(() => {
2256
+ return formatMonthTitle(currentMonth, locale);
2257
+ }, [currentMonth, locale]);
2258
+ const isToday2 = useCallback(
2259
+ (date) => {
2260
+ if (!highlightToday) return false;
2261
+ return dateUtils.isSameDay(date, dateUtils.now());
2262
+ },
2263
+ [highlightToday]
2264
+ );
2265
+ const isDateDisabled = useCallback(
2266
+ (date) => {
2267
+ if (minDate && date < minDate) return true;
2268
+ if (maxDate && date > maxDate) return true;
2269
+ return disabledDates.some((disabledDate) => isSameDayInTimeZone(date, disabledDate, timeZone));
2270
+ },
2271
+ [minDate, maxDate, disabledDates, timeZone]
2272
+ );
2273
+ const isHighlighted = useCallback(
2274
+ (date) => {
2275
+ return highlightDates.some(
2276
+ (highlightDate) => isSameDayInTimeZone(date, highlightDate, timeZone)
2277
+ );
2278
+ },
2279
+ [highlightDates, timeZone]
2280
+ );
2281
+ const isSelected = useCallback(
2282
+ (date) => {
2283
+ if (!currentValue) return false;
2284
+ if (selectionMode === "multiple" && Array.isArray(currentValue)) {
2285
+ return currentValue.some(
2286
+ (selectedDate) => isSameDayInTimeZone(date, selectedDate, timeZone)
2287
+ );
2288
+ }
2289
+ if (selectionMode === "single" && currentValue instanceof Date) {
2290
+ return isSameDayInTimeZone(date, currentValue, timeZone);
2291
+ }
2292
+ if (selectionMode === "range" && !Array.isArray(currentValue) && typeof currentValue === "object" && "start" in currentValue) {
2293
+ const range = currentValue;
2294
+ return isSameDayInTimeZone(date, range.start, timeZone) || isSameDayInTimeZone(date, range.end, timeZone);
2295
+ }
2296
+ return false;
2297
+ },
2298
+ [currentValue, selectionMode, timeZone]
2299
+ );
2300
+ const isInRange = useCallback(
2301
+ (date) => {
2302
+ if (selectionMode !== "range" || !currentValue || Array.isArray(currentValue) || typeof currentValue !== "object") {
2303
+ return false;
2304
+ }
2305
+ const range = currentValue;
2306
+ return isWithinRange(date, range.start, range.end, timeZone, dateComparisonMode);
2307
+ },
2308
+ [currentValue, selectionMode, timeZone, dateComparisonMode]
2309
+ );
2310
+ const handleToday = useEventCallback(() => {
2311
+ const today2 = dateUtils.now();
2312
+ setInternalMonth(today2);
2313
+ onMonthChange == null ? void 0 : onMonthChange(today2);
2314
+ });
2315
+ const handlePrevMonth = useEventCallback(() => {
2316
+ const prevMonth = dateUtils.addMonths(currentMonth, -1);
2317
+ setInternalMonth(prevMonth);
2318
+ onMonthChange == null ? void 0 : onMonthChange(prevMonth);
2319
+ });
2320
+ const handleNextMonth = useEventCallback(() => {
2321
+ const nextMonth = dateUtils.addMonths(currentMonth, 1);
2322
+ setInternalMonth(nextMonth);
2323
+ onMonthChange == null ? void 0 : onMonthChange(nextMonth);
2324
+ });
2325
+ const updateInternalValue = useCallback(
2326
+ (newValue) => {
2327
+ const flow = dataFlowRef.current;
2328
+ flow.direction = "internal";
2329
+ flow.lastExternalValue = newValue;
2330
+ setCurrentValue(newValue);
2331
+ setTimeout(() => {
2332
+ if (dataFlowRef.current.direction === "internal") {
2333
+ dataFlowRef.current.direction = "idle";
2334
+ }
2335
+ }, 100);
2336
+ },
2337
+ [setCurrentValue]
2338
+ );
2339
+ const handleDateClick = useEventCallback((date) => {
2340
+ if (readOnly) return;
2341
+ if (isDateDisabled(date)) return;
2342
+ const flow = dataFlowRef.current;
2343
+ if (selectionMode === "range") {
2344
+ const currentRange = currentValue && !Array.isArray(currentValue) && typeof currentValue === "object" ? currentValue : null;
2345
+ if (!currentRange || !selectingRange) {
2346
+ flow.isUserInteracting = true;
2347
+ flow.interactionType = "range-selecting";
2348
+ const newRange = { start: date, end: date };
2349
+ updateInternalValue(newRange);
2350
+ setSelectingRange(true);
2351
+ } else {
2352
+ const start = currentRange.start;
2353
+ const end = date;
2354
+ const orderedRange = {
2355
+ start: start <= end ? start : end,
2356
+ end: start <= end ? end : start
2357
+ };
2358
+ updateInternalValue(orderedRange);
2359
+ setSelectingRange(false);
2360
+ setHoverDate(null);
2361
+ }
2362
+ } else if (selectionMode === "multiple") {
2363
+ flow.isUserInteracting = true;
2364
+ flow.interactionType = "multi-selecting";
2365
+ const currentDates = Array.isArray(currentValue) ? currentValue : [];
2366
+ const isCurrentlySelected = currentDates.some(
2367
+ (selectedDate) => isSameDayInTimeZone(date, selectedDate, timeZone)
2368
+ );
2369
+ let newSelectedDates;
2370
+ if (isCurrentlySelected) {
2371
+ newSelectedDates = currentDates.filter(
2372
+ (selectedDate) => !isSameDayInTimeZone(date, selectedDate, timeZone)
2373
+ );
2374
+ } else {
2375
+ newSelectedDates = [...currentDates, date];
2376
+ }
2377
+ updateInternalValue(newSelectedDates);
2378
+ setTimeout(() => {
2379
+ dataFlowRef.current.isUserInteracting = false;
2380
+ dataFlowRef.current.interactionType = null;
2381
+ }, 100);
2382
+ } else {
2383
+ flow.isUserInteracting = true;
2384
+ flow.interactionType = "single-selecting";
2385
+ updateInternalValue(date);
2386
+ setTimeout(() => {
2387
+ dataFlowRef.current.isUserInteracting = false;
2388
+ dataFlowRef.current.interactionType = null;
2389
+ }, 100);
2390
+ }
2391
+ });
2392
+ const rangeHelpers = useMemo(() => {
2393
+ const isSameDay3 = (date1, date2) => {
2394
+ if (!date1 || !date2) return false;
2395
+ return isSameDayInTimeZone(date1, date2, timeZone);
2396
+ };
2397
+ const currentRange = selectionMode === "range" && currentValue && !Array.isArray(currentValue) && typeof currentValue === "object" ? currentValue : null;
2398
+ return {
2399
+ isSameDay: isSameDay3,
2400
+ isFirstInRange: (date) => {
2401
+ if (!currentRange) return false;
2402
+ return isSameDay3(date, currentRange.start);
2403
+ },
2404
+ isLastInRange: (date) => {
2405
+ if (!currentRange) return false;
2406
+ return isSameDay3(date, currentRange.end);
2407
+ },
2408
+ isInHoverRange: (date) => {
2409
+ if (!selectingRange || !currentRange || !hoverDate) return false;
2410
+ const minDate2 = currentRange.start <= hoverDate ? currentRange.start : hoverDate;
2411
+ const maxDate2 = currentRange.start <= hoverDate ? hoverDate : currentRange.start;
2412
+ return isWithinRange(date, minDate2, maxDate2, timeZone, dateComparisonMode);
2413
+ },
2414
+ isFirstInHoverRange: (date) => {
2415
+ if (!selectingRange || !currentRange || !hoverDate) return false;
2416
+ if (currentRange.start <= hoverDate) {
2417
+ return isSameDay3(date, currentRange.start);
2418
+ } else {
2419
+ return isSameDay3(date, hoverDate);
2420
+ }
2421
+ },
2422
+ isLastInHoverRange: (date) => {
2423
+ if (!selectingRange || !currentRange || !hoverDate) return false;
2424
+ if (currentRange.start <= hoverDate) {
2425
+ return isSameDay3(date, hoverDate);
2426
+ } else {
2427
+ return isSameDay3(date, currentRange.start);
2428
+ }
2429
+ }
2430
+ };
2431
+ }, [currentValue, selectionMode, selectingRange, hoverDate, timeZone, dateComparisonMode]);
2432
+ const handleMouseEnter = useEventCallback((date) => {
2433
+ if (!isDateDisabled(date)) {
2434
+ setHoverDate(date);
2435
+ }
2436
+ });
2437
+ const handleMouseLeave = useEventCallback(() => {
2438
+ setHoverDate(null);
2439
+ });
2440
+ const today = dateUtils.now();
2441
+ const currentMonthContainsToday = dateUtils.isSameMonth(today, currentMonth);
2442
+ const tv = MonthCalendarTv({
2443
+ showWeekNumbers,
2444
+ variant
2445
+ });
2446
+ return /* @__PURE__ */ jsxs("div", { className: tcx(tv.container(), className), children: [
2447
+ /* @__PURE__ */ jsx(
2448
+ MonthCalendarHeader,
2449
+ {
2450
+ formattedMonthTitle,
2451
+ currentMonthContainsToday,
2452
+ handleToday,
2453
+ handlePrevMonth,
2454
+ handleNextMonth,
2455
+ showWeekNumbers,
2456
+ variant,
2457
+ direction
2458
+ }
2459
+ ),
2460
+ /* @__PURE__ */ jsxs("div", { className: tv.weekdaysContainer(), children: [
2461
+ showWeekNumbers && /* @__PURE__ */ jsx("div", {}),
2462
+ weekdayNames.map((day, index) => /* @__PURE__ */ jsx(
2463
+ MonthCalendarWeekDay,
2464
+ {
2465
+ day
2466
+ },
2467
+ index
2468
+ ))
2469
+ ] }),
2470
+ /* @__PURE__ */ jsx("div", { className: tv.daysGrid(), children: calendarDays.map((date, index) => {
2471
+ const dayInMonth = date.getMonth() === currentMonth.getMonth();
2472
+ const disabled = isDateDisabled(date);
2473
+ const selected = isSelected(date);
2474
+ const inRange = isInRange(date);
2475
+ const highlighted = isHighlighted(date);
2476
+ const today2 = isToday2(date);
2477
+ const isFirstInRow = index % 7 === 0;
2478
+ const isLastInRow = index % 7 === 6;
2479
+ const inHoverRange = rangeHelpers.isInHoverRange(date);
2480
+ const firstInRange = rangeHelpers.isFirstInRange(date);
2481
+ const lastInRange = rangeHelpers.isLastInRange(date);
2482
+ const firstInHoverRange = rangeHelpers.isFirstInHoverRange(date);
2483
+ const lastInHoverRange = rangeHelpers.isLastInHoverRange(date);
2484
+ const firstInRow = inRange && isFirstInRow && !firstInRange || inHoverRange && isFirstInRow && !firstInHoverRange;
2485
+ const lastInRow = inRange && isLastInRow && !lastInRange || inHoverRange && isLastInRow && !lastInHoverRange;
2486
+ const dayClasses = tv.day({
2487
+ selected,
2488
+ inRange,
2489
+ today: today2,
2490
+ highlighted,
2491
+ disabled,
2492
+ showOutsideDays,
2493
+ inMonth: dayInMonth,
2494
+ isFirstInRow: firstInRow,
2495
+ isLastInRow: lastInRow,
2496
+ isFirstInRange: firstInRange,
2497
+ isLastInRange: lastInRange,
2498
+ isFirstInHoverRange: firstInHoverRange,
2499
+ isLastInHoverRange: lastInHoverRange,
2500
+ inHoverRange,
2501
+ selectionMode
2502
+ });
2503
+ const elements = [];
2504
+ if (showWeekNumbers && isFirstInRow) {
2505
+ const weekIndex = Math.floor(index / 7);
2506
+ const weekNumber = weekNumbers[weekIndex];
2507
+ elements.push(
2508
+ /* @__PURE__ */ jsx(
2509
+ MonthCalendarWeekNumber,
2510
+ {
2511
+ weekNumber
2512
+ },
2513
+ `week-${weekIndex}`
2514
+ )
2515
+ );
2516
+ }
2517
+ elements.push(
2518
+ /* @__PURE__ */ jsx(
2519
+ MonthCalendarDateCell,
2520
+ {
2521
+ date,
2522
+ className: dayClasses,
2523
+ disabled,
2524
+ selected,
2525
+ inRange,
2526
+ inHoverRange,
2527
+ onDateClick: handleDateClick,
2528
+ onMouseEnter: handleMouseEnter,
2529
+ onMouseLeave: handleMouseLeave
2530
+ },
2531
+ index
2532
+ )
2533
+ );
2534
+ return elements;
2535
+ }) }),
2536
+ children
2537
+ ] });
2538
+ });
2539
+ MonthCalendar.displayName = "MonthCalendar";
2540
+ function useDateInput(props) {
2541
+ const {
2542
+ value,
2543
+ defaultValue,
2544
+ onChange,
2545
+ disabled = false,
2546
+ readOnly = false,
2547
+ minDate,
2548
+ maxDate,
2549
+ step = 1,
2550
+ shiftStep = 7,
2551
+ metaStep = 30,
2552
+ onPressStart,
2553
+ onPressEnd,
2554
+ format: dateFormat,
2555
+ locale: propLocale,
2556
+ enableCache = true,
2557
+ enableKeyboardNavigation = true,
2558
+ enableProfiling = false,
2559
+ onEnterKeyDown,
2560
+ ref
2561
+ } = props;
2562
+ const locale = resolveLocale(propLocale);
2563
+ const innerRef = useRef(null);
2564
+ const [inputValue, setInputValue] = useState("");
2565
+ const dataFlowRef = useRef({
2566
+ direction: "idle",
2567
+ lastExternalValue: null,
2568
+ lastInternalInput: "",
2569
+ handledByEnter: false
2570
+ });
2571
+ const { shiftPressed, metaPressed } = useModifierKeys(disabled);
2572
+ const getCurrentStep = useCallback(() => {
2573
+ if (metaPressed) {
2574
+ return metaStep;
2575
+ }
2576
+ if (shiftPressed) {
2577
+ return shiftStep;
2578
+ }
2579
+ return step;
2580
+ }, [metaPressed, shiftPressed, step, metaStep, shiftStep]);
2581
+ const [innerValue, setValue] = useMergedValue({
2582
+ value,
2583
+ defaultValue,
2584
+ onChange,
2585
+ allowEmpty: true
2586
+ });
2587
+ const isDateInRange = useCallback(
2588
+ (date) => {
2589
+ if (!isValid(date)) return false;
2590
+ if (minDate && date < minDate) return false;
2591
+ if (maxDate && date > maxDate) return false;
2592
+ return true;
2593
+ },
2594
+ [minDate, maxDate]
2595
+ );
2596
+ const clampDateToRange = useCallback(
2597
+ (date) => {
2598
+ if (!isValid(date)) return null;
2599
+ if (minDate && date < minDate) return minDate;
2600
+ if (maxDate && date > maxDate) return maxDate;
2601
+ return date;
2602
+ },
2603
+ [minDate, maxDate]
2604
+ );
2605
+ useEffect(() => {
2606
+ const flow = dataFlowRef.current;
2607
+ const normalizedValue = innerValue ?? null;
2608
+ const isExternalChange = normalizedValue !== flow.lastExternalValue;
2609
+ if (isExternalChange) {
2610
+ flow.direction = "external";
2611
+ flow.lastExternalValue = normalizedValue;
2612
+ if (normalizedValue && isValid(normalizedValue)) {
2613
+ try {
2614
+ const formatted = format(normalizedValue, dateFormat || "yyyy-MM-dd", { locale });
2615
+ setInputValue(formatted);
2616
+ flow.lastInternalInput = formatted;
2617
+ } catch (error) {
2618
+ console.warn("Date formatting error:", error);
2619
+ try {
2620
+ const formatted = format(normalizedValue, "yyyy-MM-dd", { locale });
2621
+ setInputValue(formatted);
2622
+ flow.lastInternalInput = formatted;
2623
+ } catch {
2624
+ const isoString = normalizedValue.toISOString().split("T")[0];
2625
+ setInputValue(isoString);
2626
+ flow.lastInternalInput = isoString;
2627
+ }
2628
+ }
2629
+ } else {
2630
+ setInputValue("");
2631
+ flow.lastInternalInput = "";
2632
+ }
2633
+ setTimeout(() => {
2634
+ flow.direction = "idle";
2635
+ }, 50);
2636
+ }
2637
+ }, [innerValue, dateFormat, locale]);
2638
+ useEffect(() => {
2639
+ if (innerValue && isValid(innerValue) && dataFlowRef.current.direction !== "external") {
2640
+ try {
2641
+ const formatted = format(innerValue, dateFormat || "yyyy-MM-dd", { locale });
2642
+ setInputValue(formatted);
2643
+ dataFlowRef.current.lastInternalInput = formatted;
2644
+ } catch (error) {
2645
+ console.warn("Date formatting error:", error);
2646
+ try {
2647
+ const formatted = format(innerValue, "yyyy-MM-dd", { locale });
2648
+ setInputValue(formatted);
2649
+ dataFlowRef.current.lastInternalInput = formatted;
2650
+ } catch {
2651
+ const isoString = innerValue.toISOString().split("T")[0];
2652
+ setInputValue(isoString);
2653
+ dataFlowRef.current.lastInternalInput = isoString;
2654
+ }
2655
+ }
2656
+ }
2657
+ }, [dateFormat, locale]);
2658
+ const updateValue = useCallback(
2659
+ (updateFn) => {
2660
+ if (disabled || readOnly) return;
2661
+ setValue((prev) => {
2662
+ let baseDate = prev;
2663
+ if (!baseDate || !isValid(baseDate)) {
2664
+ if (minDate && maxDate) {
2665
+ const minTime = minDate.getTime();
2666
+ const maxTime = maxDate.getTime();
2667
+ const midTime = Math.floor((minTime + maxTime) / 2);
2668
+ baseDate = new Date(midTime);
2669
+ } else if (minDate) {
2670
+ baseDate = minDate;
2671
+ } else if (maxDate) {
2672
+ baseDate = addDays(maxDate, -1);
2673
+ } else {
2674
+ baseDate = /* @__PURE__ */ new Date();
2675
+ }
2676
+ }
2677
+ const newDate = updateFn ? updateFn(baseDate) : baseDate;
2678
+ if (!isDateInRange(newDate)) {
2679
+ return prev;
2680
+ }
2681
+ if (!isValid(newDate)) {
2682
+ return prev;
2683
+ }
2684
+ return newDate;
2685
+ });
2686
+ },
2687
+ [disabled, readOnly, setValue, isDateInRange, minDate, maxDate]
2688
+ );
2689
+ const parseWithOptimization = useEventCallback((text) => {
2690
+ const startTime = enableProfiling ? Date.now() : 0;
2691
+ if (enableCache && parserConfig.cache.enabled) {
2692
+ const cacheKey = `${text}-${dateFormat || "yyyy-MM-dd"}-${locale.code || "unknown"}`;
2693
+ const cached = parseCache.get(cacheKey);
2694
+ if (cached !== null) {
2695
+ return cached;
2696
+ }
2697
+ }
2698
+ const result = parseDate(text, {
2699
+ format: dateFormat || "yyyy-MM-dd",
2700
+ locale,
2701
+ enableSmartCorrection: true,
2702
+ enableNaturalLanguage: true,
2703
+ enableRelativeDate: true
2704
+ });
2705
+ if (enableCache && parserConfig.cache.enabled) {
2706
+ const cacheKey = `${text}-${dateFormat || "yyyy-MM-dd"}-${locale.code || "unknown"}`;
2707
+ parseCache.set(cacheKey, result);
2708
+ }
2709
+ if (enableProfiling) {
2710
+ const parseTime = Date.now() - startTime;
2711
+ if (parseTime > parserConfig.performance.maxParseTime) {
2712
+ console.warn(`Slow parse detected: ${parseTime}ms for "${text}"`);
2713
+ }
2714
+ }
2715
+ return result;
2716
+ });
2717
+ const ensureValidDate = useCallback((date) => {
2718
+ const year = date.getFullYear();
2719
+ const month = date.getMonth() + 1;
2720
+ const day = date.getDate();
2721
+ const testDate = new Date(year, month - 1, day);
2722
+ if (testDate.getFullYear() === year && testDate.getMonth() === month - 1 && testDate.getDate() === day) {
2723
+ return date;
2724
+ }
2725
+ const corrected = smartCorrectDate(year, month, day);
2726
+ return new Date(corrected.year, corrected.month - 1, corrected.day);
2727
+ }, []);
2728
+ const handleInputChange = useEventCallback((newValue) => {
2729
+ const flow = dataFlowRef.current;
2730
+ if (flow.direction === "external") {
2731
+ return;
2732
+ }
2733
+ flow.direction = "internal";
2734
+ flow.lastInternalInput = newValue;
2735
+ setInputValue(newValue);
2736
+ });
2737
+ const handleSubmit = useEventCallback(() => {
2738
+ const flow = dataFlowRef.current;
2739
+ if (flow.direction === "external") {
2740
+ return;
2741
+ }
2742
+ const text = inputValue.trim();
2743
+ if (!text) {
2744
+ setValue(null);
2745
+ return;
2746
+ }
2747
+ const isRepeatInput = text === flow.lastInternalInput && flow.direction !== "internal";
2748
+ try {
2749
+ const parsedDate = parseWithOptimization(text);
2750
+ if (parsedDate && isValid(parsedDate)) {
2751
+ const validDate = ensureValidDate(parsedDate);
2752
+ let finalDate = validDate;
2753
+ if (!isDateInRange(validDate)) {
2754
+ const clampedDate = clampDateToRange(validDate);
2755
+ if (!clampedDate) {
2756
+ return;
2757
+ }
2758
+ finalDate = clampedDate;
2759
+ }
2760
+ const currentValue = flow.lastExternalValue;
2761
+ const isSameDate = currentValue && finalDate.getFullYear() === currentValue.getFullYear() && finalDate.getMonth() === currentValue.getMonth() && finalDate.getDate() === currentValue.getDate();
2762
+ if (!isRepeatInput && !isSameDate) {
2763
+ setValue(finalDate);
2764
+ }
2765
+ try {
2766
+ const formatted = format(finalDate, dateFormat || "yyyy-MM-dd", { locale });
2767
+ if (formatted !== text) {
2768
+ setInputValue(formatted);
2769
+ flow.lastInternalInput = formatted;
2770
+ } else if (!isRepeatInput) {
2771
+ flow.lastInternalInput = text;
2772
+ }
2773
+ } catch (error) {
2774
+ console.warn("Date formatting error in handleSubmit:", error);
2775
+ try {
2776
+ const formatted = format(finalDate, "yyyy-MM-dd", { locale });
2777
+ setInputValue(formatted);
2778
+ flow.lastInternalInput = formatted;
2779
+ } catch {
2780
+ if (!isRepeatInput) {
2781
+ flow.lastInternalInput = text;
2782
+ }
2783
+ }
2784
+ }
2785
+ }
2786
+ } catch (error) {
2787
+ console.warn("Date parsing error:", error);
2788
+ }
2789
+ flow.direction = "idle";
2790
+ });
2791
+ const { isPressed: handlerPressed, pressMoveProps } = usePressMove({
2792
+ disabled: disabled || readOnly,
2793
+ onPressStart: (e) => {
2794
+ onPressStart == null ? void 0 : onPressStart(e);
2795
+ },
2796
+ onPressEnd: (e) => {
2797
+ onPressEnd == null ? void 0 : onPressEnd(e);
2798
+ },
2799
+ onPressMoveLeft: (delta) => {
2800
+ updateValue((currentDate) => addDays(currentDate, -delta * getCurrentStep()));
2801
+ },
2802
+ onPressMoveRight: (delta) => {
2803
+ updateValue((currentDate) => addDays(currentDate, delta * getCurrentStep()));
2804
+ }
2805
+ });
2806
+ const handleKeyDown = useEventCallback((event) => {
2807
+ if (event.key === "Enter") {
2808
+ event.preventDefault();
2809
+ dataFlowRef.current.handledByEnter = true;
2810
+ handleSubmit();
2811
+ onEnterKeyDown == null ? void 0 : onEnterKeyDown();
2812
+ setTimeout(() => {
2813
+ const target = event.target;
2814
+ target.blur();
2815
+ }, 0);
2816
+ } else if (enableKeyboardNavigation && (event.key === "ArrowUp" || event.key === "ArrowDown")) {
2817
+ event.preventDefault();
2818
+ const flow = dataFlowRef.current;
2819
+ let baseDate;
2820
+ if (innerValue && isValid(innerValue)) {
2821
+ baseDate = innerValue;
2822
+ } else if (inputValue.trim()) {
2823
+ const parsed = parseWithOptimization(inputValue.trim());
2824
+ if (parsed && isValid(parsed)) {
2825
+ baseDate = parsed;
2826
+ } else {
2827
+ if (minDate && maxDate) {
2828
+ const minTime = minDate.getTime();
2829
+ const maxTime = maxDate.getTime();
2830
+ const midTime = Math.floor((minTime + maxTime) / 2);
2831
+ baseDate = new Date(midTime);
2832
+ } else if (minDate) {
2833
+ baseDate = minDate;
2834
+ } else if (maxDate) {
2835
+ baseDate = addDays(maxDate, -1);
2836
+ } else {
2837
+ baseDate = /* @__PURE__ */ new Date();
2838
+ }
2839
+ }
2840
+ } else {
2841
+ if (minDate && maxDate) {
2842
+ const minTime = minDate.getTime();
2843
+ const maxTime = maxDate.getTime();
2844
+ const midTime = Math.floor((minTime + maxTime) / 2);
2845
+ baseDate = new Date(midTime);
2846
+ } else if (minDate) {
2847
+ baseDate = minDate;
2848
+ } else if (maxDate) {
2849
+ baseDate = addDays(maxDate, -1);
2850
+ } else {
2851
+ baseDate = /* @__PURE__ */ new Date();
2852
+ }
2853
+ }
2854
+ const isUp = event.key === "ArrowUp";
2855
+ const increment = isUp ? -1 : 1;
2856
+ let newDate;
2857
+ if (event.altKey) {
2858
+ newDate = addMonths(baseDate, increment);
2859
+ } else if (event.shiftKey) {
2860
+ newDate = addWeeks(baseDate, increment);
2861
+ } else {
2862
+ newDate = addDays(baseDate, increment);
2863
+ }
2864
+ if (!isDateInRange(newDate)) {
2865
+ const clampedDate = clampDateToRange(newDate);
2866
+ if (!clampedDate || clampedDate.getTime() === baseDate.getTime()) {
2867
+ return;
2868
+ }
2869
+ newDate = clampedDate;
2870
+ }
2871
+ try {
2872
+ const formatted = format(newDate, dateFormat || "yyyy-MM-dd", { locale });
2873
+ flow.direction = "internal";
2874
+ flow.lastInternalInput = formatted;
2875
+ setInputValue(formatted);
2876
+ setTimeout(() => {
2877
+ if (flow.direction === "internal") {
2878
+ flow.lastExternalValue = newDate;
2879
+ setValue(newDate);
2880
+ flow.direction = "idle";
2881
+ }
2882
+ }, 10);
2883
+ } catch (error) {
2884
+ console.warn("Date formatting error during keyboard navigation:", error);
2885
+ flow.direction = "internal";
2886
+ setValue(newDate);
2887
+ flow.lastExternalValue = newDate;
2888
+ flow.direction = "idle";
2889
+ }
2890
+ }
2891
+ });
2892
+ const handleBlur = useEventCallback(() => {
2893
+ const flow = dataFlowRef.current;
2894
+ if (flow.handledByEnter) {
2895
+ flow.handledByEnter = false;
2896
+ return;
2897
+ }
2898
+ if (flow.direction === "external") {
2899
+ return;
2900
+ }
2901
+ setTimeout(() => {
2902
+ if (dataFlowRef.current.direction !== "external") {
2903
+ handleSubmit();
2904
+ }
2905
+ }, 100);
2906
+ });
2907
+ const inputProps = {
2908
+ ref: mergeRefs(innerRef, ref),
2909
+ disabled,
2910
+ readOnly,
2911
+ value: inputValue,
2912
+ onChange: handleInputChange,
2913
+ onKeyDown: handleKeyDown,
2914
+ onBlur: handleBlur
2915
+ };
2916
+ const handlerProps = {
2917
+ ...pressMoveProps,
2918
+ ref: pressMoveProps.ref
2919
+ };
2920
+ return {
2921
+ handlerPressed,
2922
+ inputProps,
2923
+ handlerProps,
2924
+ updateValue,
2925
+ currentValue: innerValue
2926
+ };
2927
+ }
2928
+ var DateInput = forwardRef((props, ref) => {
2929
+ const {
2930
+ enableCache = true,
2931
+ enableKeyboardNavigation = true,
2932
+ enableProfiling = false,
2933
+ enablePrediction = false,
2934
+ format: propFormat,
2935
+ locale: propLocale = enUS,
2936
+ maxDate,
2937
+ minDate,
2938
+ onChange,
2939
+ onEnterKeyDown,
2940
+ placeholder = "Enter date...",
2941
+ prefixElement = /* @__PURE__ */ jsx(FieldTypeDate, {}),
2942
+ suffixElement,
2943
+ value,
2944
+ ...rest
2945
+ } = props;
2946
+ const [prediction, setPrediction] = useState(null);
2947
+ const locale = resolveLocale(propLocale);
2948
+ const dateFormat = useMemo(() => {
2949
+ if (propFormat) {
2950
+ return propFormat;
2951
+ }
2952
+ const localeKey = typeof propLocale === "string" ? propLocale : locale.code || "en-US";
2953
+ const isCurrentYear = value && isThisYear(value);
2954
+ if (localeKey.startsWith("zh")) {
2955
+ return isCurrentYear ? "MMM do eee" : "yy年 MMM do eee";
2956
+ }
2957
+ if (localeKey.startsWith("ja")) {
2958
+ return isCurrentYear ? "MMM do(eee)" : "yy年 MMM do(eee)";
2959
+ }
2960
+ if (localeKey.startsWith("ko")) {
2961
+ return isCurrentYear ? "MMM do(eee)" : "yy년 MMM do(eee)";
2962
+ }
2963
+ if (localeKey.startsWith("de")) {
2964
+ return isCurrentYear ? "EE dd.MM" : "EE dd.MM ''yy";
2965
+ }
2966
+ if (localeKey.startsWith("fr")) {
2967
+ return isCurrentYear ? "EE dd MM" : "EE dd MM yy";
2968
+ }
2969
+ if (localeKey.startsWith("es")) {
2970
+ return isCurrentYear ? "EE dd MM" : "EE dd MM ''yy";
2971
+ }
2972
+ return isCurrentYear ? "EE MM dd" : "EE MM dd ''yy";
2973
+ }, [propFormat, value, propLocale, locale]);
2974
+ const { inputProps, handlerProps } = useDateInput({
2975
+ value,
2976
+ onChange,
2977
+ disabled: rest.disabled,
2978
+ readOnly: rest.readOnly,
2979
+ minDate,
2980
+ maxDate,
2981
+ step: 1,
2982
+ shiftStep: 7,
2983
+ format: dateFormat,
2984
+ locale,
2985
+ enableCache,
2986
+ enableProfiling,
2987
+ onEnterKeyDown,
2988
+ ref
2989
+ });
2990
+ useEffect(() => {
2991
+ if (!enablePrediction || !inputProps.value) {
2992
+ setPrediction(null);
2993
+ return;
2994
+ }
2995
+ const inputValue = inputProps.value;
2996
+ if (inputValue.trim()) {
2997
+ const predictionResult = getEnhancedPrediction(inputValue, dateFormat);
2998
+ setPrediction(predictionResult);
2999
+ } else {
3000
+ setPrediction(null);
3001
+ }
3002
+ }, [inputProps.value, dateFormat, enablePrediction]);
3003
+ const renderPrediction = () => {
3004
+ if (!prediction) return null;
3005
+ const { description, confidence } = prediction;
3006
+ const confidenceColor = confidence >= 0.9 ? "text-green-600" : confidence >= 0.7 ? "text-blue-600" : "text-gray-600";
3007
+ return /* @__PURE__ */ jsx("span", { className: `text-body-small ${confidenceColor}`, children: description });
3008
+ };
3009
+ return /* @__PURE__ */ jsxs(
3010
+ TextField,
3011
+ {
3012
+ ...inputProps,
3013
+ placeholder,
3014
+ ...rest,
3015
+ children: [
3016
+ rest.children,
3017
+ prefixElement && /* @__PURE__ */ jsx(TextField.Prefix, { children: /* @__PURE__ */ jsx(
3018
+ "div",
3019
+ {
3020
+ ...handlerProps,
3021
+ className: tcx(
3022
+ "cursor-ew-resize",
3023
+ rest.disabled ? "text-disabled-foreground" : "text-secondary-foreground",
3024
+ rest.variant === "dark" ? "text-white/50" : void 0
3025
+ ),
3026
+ children: prefixElement
3027
+ }
3028
+ ) }),
3029
+ suffixElement && /* @__PURE__ */ jsx(TextField.Suffix, { className: "text-secondary-foreground w-full min-w-0 px-2", children: suffixElement }),
3030
+ enablePrediction && /* @__PURE__ */ jsx(TextField.Description, { children: renderPrediction() })
3031
+ ]
3032
+ }
3033
+ );
3034
+ });
3035
+ DateInput.displayName = "DateInput";
3036
+ var TimeCalendar = memo(function TimeCalendar2(props) {
3037
+ const {
3038
+ value,
3039
+ defaultValue,
3040
+ onChange,
3041
+ format: timeFormat = "HH:mm",
3042
+ step = 15,
3043
+ className,
3044
+ children,
3045
+ readOnly = false,
3046
+ ...rest
3047
+ } = props;
3048
+ const scrollRef = useRef(null);
3049
+ const elementsRef = useRef([]);
3050
+ const customElementRef = useRef(null);
3051
+ const hasInitialScrolled = useRef(false);
3052
+ const lastSelectedIndexRef = useRef(null);
3053
+ const isInternalOperationRef = useRef(false);
3054
+ const [activeIndex, setActiveIndex] = useState(null);
3055
+ const [isScrolling, setIsScrolling] = useState(false);
3056
+ const [innerValue, setValue] = useMergedValue({
3057
+ value,
3058
+ defaultValue,
3059
+ onChange,
3060
+ allowEmpty: true
3061
+ });
3062
+ const timeOptions = useMemo(() => {
3063
+ return generateTimeOptions(timeFormat, step);
3064
+ }, [timeFormat, step]);
3065
+ const normalizedTimeString = useMemo(() => {
3066
+ return normalizeTimeValue(innerValue);
3067
+ }, [innerValue]);
3068
+ const formatTo12Hour = useCallback((timeStr) => {
3069
+ const [hour, minute] = timeStr.split(":").map(Number);
3070
+ const displayHour = hour === 0 ? 12 : hour > 12 ? hour - 12 : hour;
3071
+ const ampm = hour < 12 ? "AM" : "PM";
3072
+ return `${displayHour}:${minute.toString().padStart(2, "0")} ${ampm}`;
3073
+ }, []);
3074
+ const customTimeOption = useMemo(() => {
3075
+ if (!normalizedTimeString) return null;
3076
+ const hasStandardOption = timeOptions.some((option) => option.value === normalizedTimeString);
3077
+ if (hasStandardOption) return null;
3078
+ const is12Hour = timeFormat.toLowerCase().includes("a") || timeFormat === "12h";
3079
+ return {
3080
+ value: normalizedTimeString,
3081
+ label: is12Hour ? formatTo12Hour(normalizedTimeString) : normalizedTimeString
3082
+ };
3083
+ }, [normalizedTimeString, timeOptions, timeFormat, formatTo12Hour]);
3084
+ const renderTimeLabel = useCallback(
3085
+ (label) => {
3086
+ const is12Hour = timeFormat.toLowerCase().includes("a") || timeFormat === "12h";
3087
+ if (is12Hour && label.includes(" ")) {
3088
+ const [timePart, ampmPart] = label.split(" ");
3089
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
3090
+ /* @__PURE__ */ jsx("span", { children: timePart }),
3091
+ /* @__PURE__ */ jsx("span", { className: "flex-1 text-right text-white/40", children: ampmPart })
3092
+ ] });
3093
+ }
3094
+ return label;
3095
+ },
3096
+ [timeFormat]
3097
+ );
3098
+ const selectedIndex = useMemo(() => {
3099
+ if (!normalizedTimeString) return null;
3100
+ const index = timeOptions.findIndex((option) => option.value === normalizedTimeString);
3101
+ return index === -1 ? -1 : index;
3102
+ }, [normalizedTimeString, timeOptions]);
3103
+ const needsDivider = useMemo(() => {
3104
+ const is12Hour = timeFormat.toLowerCase().includes("a") || timeFormat === "12h";
3105
+ if (!is12Hour) return () => false;
3106
+ return (index) => {
3107
+ return index > 0 && timeOptions[index].label.includes("PM") && timeOptions[index - 1].label.includes("AM");
3108
+ };
3109
+ }, [timeFormat, timeOptions]);
3110
+ const createPrefixElement = useCallback((isSelected) => {
3111
+ return isSelected ? /* @__PURE__ */ jsx(Check, {}) : /* @__PURE__ */ jsx(Fragment, {});
3112
+ }, []);
3113
+ const scrollTimeoutRef = useRef(null);
3114
+ const mousePositionRef = useRef(null);
3115
+ const handleScroll = useEventCallback(() => {
3116
+ if (!isScrolling) {
3117
+ setIsScrolling(true);
3118
+ setActiveIndex(null);
3119
+ }
3120
+ if (scrollTimeoutRef.current) {
3121
+ clearTimeout(scrollTimeoutRef.current);
3122
+ }
3123
+ scrollTimeoutRef.current = setTimeout(() => {
3124
+ var _a;
3125
+ setIsScrolling(false);
3126
+ if (mousePositionRef.current) {
3127
+ const elementUnderMouse = document.elementFromPoint(
3128
+ mousePositionRef.current.x,
3129
+ mousePositionRef.current.y
3130
+ );
3131
+ if (customElementRef.current && (customElementRef.current === elementUnderMouse || customElementRef.current.contains(elementUnderMouse))) {
3132
+ setActiveIndex(-1);
3133
+ return;
3134
+ }
3135
+ const elements = elementsRef.current;
3136
+ for (let i = 0; i < elements.length; i++) {
3137
+ if (elements[i] && (elements[i] === elementUnderMouse || ((_a = elements[i]) == null ? void 0 : _a.contains(elementUnderMouse)))) {
3138
+ setActiveIndex(i);
3139
+ break;
3140
+ }
3141
+ }
3142
+ }
3143
+ }, 200);
3144
+ });
3145
+ const handleMouseMove = useEventCallback((event) => {
3146
+ mousePositionRef.current = { x: event.clientX, y: event.clientY };
3147
+ });
3148
+ useEffect(() => {
3149
+ return () => {
3150
+ if (scrollTimeoutRef.current) {
3151
+ clearTimeout(scrollTimeoutRef.current);
3152
+ }
3153
+ };
3154
+ }, []);
3155
+ useEffect(() => {
3156
+ var _a;
3157
+ if (selectedIndex === -1) {
3158
+ const customElement = customElementRef.current;
3159
+ if (!customElement || !scrollRef.current) {
3160
+ return;
3161
+ }
3162
+ const previousSelectedIndex2 = lastSelectedIndexRef.current;
3163
+ const isSelectedIndexChanged2 = previousSelectedIndex2 !== selectedIndex;
3164
+ lastSelectedIndexRef.current = selectedIndex;
3165
+ const shouldScroll2 = !hasInitialScrolled.current || // 初始化滚动
3166
+ isSelectedIndexChanged2 && !isInternalOperationRef.current;
3167
+ if (shouldScroll2) {
3168
+ const isInitialScroll = !hasInitialScrolled.current;
3169
+ if (isInitialScroll) {
3170
+ scrollRef.current.scrollTo({
3171
+ top: 0,
3172
+ behavior: "auto"
3173
+ });
3174
+ } else {
3175
+ customElement.scrollIntoView({
3176
+ block: "nearest",
3177
+ behavior: "smooth"
3178
+ });
3179
+ }
3180
+ if (!hasInitialScrolled.current) {
3181
+ hasInitialScrolled.current = true;
3182
+ }
3183
+ }
3184
+ if (isInternalOperationRef.current) {
3185
+ isInternalOperationRef.current = false;
3186
+ }
3187
+ return;
3188
+ }
3189
+ if (selectedIndex === null || !scrollRef.current || !elementsRef.current[selectedIndex]) {
3190
+ return;
3191
+ }
3192
+ const previousSelectedIndex = lastSelectedIndexRef.current;
3193
+ const isSelectedIndexChanged = previousSelectedIndex !== selectedIndex;
3194
+ lastSelectedIndexRef.current = selectedIndex;
3195
+ const shouldScroll = !hasInitialScrolled.current || // 初始化滚动
3196
+ isSelectedIndexChanged && !isInternalOperationRef.current;
3197
+ if (shouldScroll) {
3198
+ const isInitialScroll = !hasInitialScrolled.current;
3199
+ if (isInitialScroll) {
3200
+ (_a = elementsRef.current[selectedIndex]) == null ? void 0 : _a.scrollIntoView({
3201
+ block: "center",
3202
+ behavior: "auto"
3203
+ });
3204
+ } else {
3205
+ const container = scrollRef.current;
3206
+ const element = elementsRef.current[selectedIndex];
3207
+ if (container && element) {
3208
+ const containerRect = container.getBoundingClientRect();
3209
+ const elementRect = element.getBoundingClientRect();
3210
+ const margin = 8;
3211
+ const elementTop = elementRect.top - containerRect.top + container.scrollTop;
3212
+ const elementBottom = elementTop + elementRect.height;
3213
+ const visibleTop = container.scrollTop + margin;
3214
+ const visibleBottom = container.scrollTop + container.clientHeight - margin;
3215
+ let targetScrollTop = container.scrollTop;
3216
+ if (elementTop < visibleTop) {
3217
+ targetScrollTop = elementTop - margin;
3218
+ } else if (elementBottom > visibleBottom) {
3219
+ targetScrollTop = elementBottom - container.clientHeight + margin;
3220
+ }
3221
+ if (targetScrollTop !== container.scrollTop) {
3222
+ container.scrollTo({
3223
+ top: targetScrollTop
3224
+ });
3225
+ }
3226
+ }
3227
+ }
3228
+ if (!hasInitialScrolled.current) {
3229
+ hasInitialScrolled.current = true;
3230
+ }
3231
+ }
3232
+ if (isInternalOperationRef.current) {
3233
+ isInternalOperationRef.current = false;
3234
+ }
3235
+ }, [selectedIndex]);
3236
+ const handleTimeSelect = useEventCallback((timeValue) => {
3237
+ if (readOnly) return;
3238
+ isInternalOperationRef.current = true;
3239
+ const dateValue = timeStringToDate(timeValue);
3240
+ setValue(dateValue);
3241
+ });
3242
+ const handleMouseEnter = useEventCallback((index) => {
3243
+ if (isScrolling) {
3244
+ return;
3245
+ }
3246
+ setActiveIndex(index);
3247
+ });
3248
+ const handleMouseLeave = useEventCallback(() => {
3249
+ setActiveIndex(null);
3250
+ });
3251
+ const handleClick = useEventCallback((timeValue) => {
3252
+ handleTimeSelect(timeValue);
3253
+ });
3254
+ return /* @__PURE__ */ jsxs(
3255
+ Menus,
3256
+ {
3257
+ ref: scrollRef,
3258
+ onScroll: handleScroll,
3259
+ onMouseLeave: handleMouseLeave,
3260
+ onMouseMove: handleMouseMove,
3261
+ className,
3262
+ "data-testid": "time-calendar-menu",
3263
+ ...rest,
3264
+ children: [
3265
+ customTimeOption && /* @__PURE__ */ jsxs(Fragment, { children: [
3266
+ /* @__PURE__ */ jsx(
3267
+ Menus.Item,
3268
+ {
3269
+ ref: (node) => {
3270
+ customElementRef.current = node;
3271
+ },
3272
+ selected: selectedIndex === -1,
3273
+ active: !isScrolling && activeIndex === -1,
3274
+ onClick: () => handleClick(customTimeOption.value),
3275
+ onMouseEnter: () => handleMouseEnter(-1),
3276
+ prefixElement: createPrefixElement(selectedIndex === -1),
3277
+ variant: "highlight",
3278
+ "data-testid": "custom-time-item",
3279
+ children: renderTimeLabel(customTimeOption.label)
3280
+ }
3281
+ ),
3282
+ /* @__PURE__ */ jsx(Menus.Divider, { "data-testid": "custom-time-divider" })
3283
+ ] }),
3284
+ timeOptions.map((option, index) => {
3285
+ const isAmToPmTransition = needsDivider(index);
3286
+ const isItemSelected = selectedIndex === index;
3287
+ const isItemActive = !isScrolling && activeIndex === index;
3288
+ return /* @__PURE__ */ jsxs(React.Fragment, { children: [
3289
+ isAmToPmTransition && /* @__PURE__ */ jsx(Menus.Divider, { "data-testid": "ampm-divider" }),
3290
+ /* @__PURE__ */ jsx(
3291
+ Menus.Item,
3292
+ {
3293
+ ref: (node) => {
3294
+ elementsRef.current[index] = node;
3295
+ },
3296
+ selected: isItemSelected,
3297
+ active: isItemActive,
3298
+ onClick: () => handleClick(option.value),
3299
+ onMouseEnter: () => handleMouseEnter(index),
3300
+ prefixElement: createPrefixElement(isItemSelected),
3301
+ variant: "highlight",
3302
+ "data-testid": option.value,
3303
+ children: renderTimeLabel(option.label)
3304
+ }
3305
+ )
3306
+ ] }, option.value);
3307
+ }),
3308
+ children
3309
+ ]
3310
+ }
3311
+ );
3312
+ });
3313
+ TimeCalendar.displayName = "TimeCalendar";
3314
+ function useTimeInput(props) {
3315
+ const {
3316
+ value,
3317
+ defaultValue,
3318
+ onChange,
3319
+ disabled = false,
3320
+ readOnly = false,
3321
+ minTime,
3322
+ maxTime,
3323
+ step = 1,
3324
+ shiftStep = 15,
3325
+ metaStep = 60,
3326
+ onPressStart,
3327
+ onPressEnd,
3328
+ format: timeFormat = "HH:mm",
3329
+ locale: propLocale,
3330
+ enableKeyboardNavigation = true,
3331
+ enableProfiling = false,
3332
+ onEnterKeyDown,
3333
+ ref
3334
+ } = props;
3335
+ const locale = resolveLocale(propLocale);
3336
+ const innerRef = useRef(null);
3337
+ const [inputValue, setInputValue] = useState("");
3338
+ const dataFlowRef = useRef({
3339
+ direction: "idle",
3340
+ lastExternalValue: null,
3341
+ lastInternalInput: "",
3342
+ handledByEnter: false
3343
+ });
3344
+ const { shiftPressed, metaPressed } = useModifierKeys(disabled);
3345
+ const getCurrentStep = useCallback(() => {
3346
+ if (metaPressed) {
3347
+ return metaStep;
3348
+ }
3349
+ if (shiftPressed) {
3350
+ return shiftStep;
3351
+ }
3352
+ return step;
3353
+ }, [metaPressed, shiftPressed, step, metaStep, shiftStep]);
3354
+ const [innerValue, setValue] = useMergedValue({
3355
+ value,
3356
+ defaultValue,
3357
+ onChange,
3358
+ allowEmpty: true
3359
+ });
3360
+ const isTimeInRange = useCallback(
3361
+ (time) => {
3362
+ if (!time) return false;
3363
+ if (minTime && time < minTime) return false;
3364
+ if (maxTime && time > maxTime) return false;
3365
+ return true;
3366
+ },
3367
+ [minTime, maxTime]
3368
+ );
3369
+ const clampTimeToRange = useCallback(
3370
+ (time) => {
3371
+ if (!time) return null;
3372
+ if (minTime && time < minTime) return minTime;
3373
+ if (maxTime && time > maxTime) return maxTime;
3374
+ return time;
3375
+ },
3376
+ [minTime, maxTime]
3377
+ );
3378
+ useEffect(() => {
3379
+ const flow = dataFlowRef.current;
3380
+ const normalizedValue = innerValue ?? null;
3381
+ const isExternalChange = normalizedValue !== flow.lastExternalValue;
3382
+ if (isExternalChange) {
3383
+ flow.direction = "external";
3384
+ flow.lastExternalValue = normalizedValue;
3385
+ if (normalizedValue) {
3386
+ const formatted = format(normalizedValue, timeFormat, { locale });
3387
+ setInputValue(formatted);
3388
+ flow.lastInternalInput = formatted;
3389
+ } else {
3390
+ setInputValue("");
3391
+ flow.lastInternalInput = "";
3392
+ }
3393
+ setTimeout(() => {
3394
+ flow.direction = "idle";
3395
+ }, 50);
3396
+ }
3397
+ }, [innerValue, timeFormat, locale]);
3398
+ useEffect(() => {
3399
+ if (innerValue && dataFlowRef.current.direction !== "external") {
3400
+ const formatted = format(innerValue, timeFormat, { locale });
3401
+ setInputValue(formatted);
3402
+ dataFlowRef.current.lastInternalInput = formatted;
3403
+ }
3404
+ }, [timeFormat, locale, innerValue]);
3405
+ const updateValue = useCallback(
3406
+ (updateFn) => {
3407
+ if (disabled || readOnly) return;
3408
+ setValue((prev) => {
3409
+ let baseTime = prev;
3410
+ if (!baseTime) {
3411
+ if (minTime && maxTime) {
3412
+ const minTotalMinutes = minTime.getHours() * 60 + minTime.getMinutes();
3413
+ let maxTotalMinutes = maxTime.getHours() * 60 + maxTime.getMinutes();
3414
+ if (maxTotalMinutes < minTotalMinutes) {
3415
+ maxTotalMinutes += 24 * 60;
3416
+ }
3417
+ const midTotalMinutes = Math.floor((minTotalMinutes + maxTotalMinutes) / 2);
3418
+ const hours = Math.floor(midTotalMinutes / 60) % 24;
3419
+ const minutes = midTotalMinutes % 60;
3420
+ baseTime = setMinutes(setHours(startOfDay(/* @__PURE__ */ new Date()), hours), minutes);
3421
+ } else if (minTime) {
3422
+ baseTime = minTime;
3423
+ } else if (maxTime) {
3424
+ baseTime = addMinutes(maxTime, -60);
3425
+ } else {
3426
+ baseTime = /* @__PURE__ */ new Date();
3427
+ }
3428
+ }
3429
+ const newTime = updateFn ? updateFn(baseTime) : baseTime;
3430
+ if (!isTimeInRange(newTime)) {
3431
+ return prev;
3432
+ }
3433
+ return newTime;
3434
+ });
3435
+ },
3436
+ [disabled, readOnly, setValue, isTimeInRange, minTime, maxTime]
3437
+ );
3438
+ const parseWithOptimization = useEventCallback((text) => {
3439
+ const startTime = enableProfiling ? Date.now() : 0;
3440
+ const result = smartParseTimeValue(text, {
3441
+ format: timeFormat,
3442
+ locale: propLocale,
3443
+ strict: false
3444
+ });
3445
+ if (enableProfiling) {
3446
+ const parseTime = Date.now() - startTime;
3447
+ if (parseTime > 100) {
3448
+ console.warn(`Slow time parse detected: ${parseTime}ms for "${text}"`);
3449
+ }
3450
+ }
3451
+ return result.isValid && result.time ? result.time : null;
3452
+ });
3453
+ const handleInputChange = useEventCallback((newValue) => {
3454
+ const flow = dataFlowRef.current;
3455
+ if (flow.direction === "external") {
3456
+ return;
3457
+ }
3458
+ flow.direction = "internal";
3459
+ flow.lastInternalInput = newValue;
3460
+ setInputValue(newValue);
3461
+ });
3462
+ const handleSubmit = useEventCallback(() => {
3463
+ const flow = dataFlowRef.current;
3464
+ if (flow.direction === "external") {
3465
+ return;
3466
+ }
3467
+ const text = inputValue.trim();
3468
+ if (!text) {
3469
+ setValue(null);
3470
+ return;
3471
+ }
3472
+ const isRepeatInput = text === flow.lastInternalInput && flow.direction !== "internal";
3473
+ try {
3474
+ const parsedTime = parseWithOptimization(text);
3475
+ if (parsedTime) {
3476
+ let finalTime = parsedTime;
3477
+ if (!isTimeInRange(parsedTime)) {
3478
+ const clampedTime = clampTimeToRange(parsedTime);
3479
+ if (!clampedTime) {
3480
+ return;
3481
+ }
3482
+ finalTime = clampedTime;
3483
+ }
3484
+ const currentValue = flow.lastExternalValue;
3485
+ const isSameTime = currentValue && finalTime.getTime() === currentValue.getTime();
3486
+ if (!isRepeatInput && !isSameTime) {
3487
+ setValue(finalTime);
3488
+ }
3489
+ const formatted = format(finalTime, timeFormat, { locale });
3490
+ if (formatted !== text) {
3491
+ setInputValue(formatted);
3492
+ flow.lastInternalInput = formatted;
3493
+ } else if (!isRepeatInput) {
3494
+ flow.lastInternalInput = text;
3495
+ }
3496
+ }
3497
+ } catch (error) {
3498
+ console.warn("Time parsing error:", error);
3499
+ }
3500
+ flow.direction = "idle";
3501
+ });
3502
+ const { isPressed: handlerPressed, pressMoveProps } = usePressMove({
3503
+ disabled: disabled || readOnly,
3504
+ onPressStart: (e) => {
3505
+ onPressStart == null ? void 0 : onPressStart(e);
3506
+ },
3507
+ onPressEnd: (e) => {
3508
+ onPressEnd == null ? void 0 : onPressEnd(e);
3509
+ },
3510
+ onPressMoveLeft: (delta) => {
3511
+ updateValue((currentTime) => {
3512
+ return addMinutes(currentTime, -delta * getCurrentStep());
3513
+ });
3514
+ },
3515
+ onPressMoveRight: (delta) => {
3516
+ updateValue((currentTime) => {
3517
+ return addMinutes(currentTime, delta * getCurrentStep());
3518
+ });
3519
+ }
3520
+ });
3521
+ const handleKeyDown = useEventCallback((event) => {
3522
+ if (event.key === "Enter") {
3523
+ event.preventDefault();
3524
+ dataFlowRef.current.handledByEnter = true;
3525
+ handleSubmit();
3526
+ onEnterKeyDown == null ? void 0 : onEnterKeyDown();
3527
+ setTimeout(() => {
3528
+ const target = event.target;
3529
+ target.blur();
3530
+ }, 0);
3531
+ } else if (enableKeyboardNavigation && (event.key === "ArrowUp" || event.key === "ArrowDown")) {
3532
+ event.preventDefault();
3533
+ const flow = dataFlowRef.current;
3534
+ let baseTime;
3535
+ if (innerValue) {
3536
+ baseTime = innerValue;
3537
+ } else if (inputValue.trim()) {
3538
+ const parsed = parseWithOptimization(inputValue.trim());
3539
+ baseTime = parsed || /* @__PURE__ */ new Date();
3540
+ } else {
3541
+ baseTime = /* @__PURE__ */ new Date();
3542
+ }
3543
+ const isUp = event.key === "ArrowUp";
3544
+ const increment = isUp ? -1 : 1;
3545
+ let newDate;
3546
+ if (event.altKey || event.metaKey) {
3547
+ newDate = addMinutes(baseTime, increment * metaStep);
3548
+ } else if (event.shiftKey) {
3549
+ newDate = addMinutes(baseTime, increment * shiftStep);
3550
+ } else {
3551
+ newDate = addMinutes(baseTime, increment * step);
3552
+ }
3553
+ if (!isTimeInRange(newDate)) {
3554
+ const clampedTime = clampTimeToRange(newDate);
3555
+ if (!clampedTime || clampedTime.getTime() === baseTime.getTime()) {
3556
+ return;
3557
+ }
3558
+ newDate = clampedTime;
3559
+ }
3560
+ const formatted = format(newDate, timeFormat, { locale });
3561
+ flow.direction = "internal";
3562
+ flow.lastInternalInput = formatted;
3563
+ setInputValue(formatted);
3564
+ setValue(newDate);
3565
+ setTimeout(() => {
3566
+ flow.direction = "idle";
3567
+ }, 0);
3568
+ }
3569
+ });
3570
+ const handleBlur = useEventCallback(() => {
3571
+ const flow = dataFlowRef.current;
3572
+ if (flow.handledByEnter) {
3573
+ flow.handledByEnter = false;
3574
+ return;
3575
+ }
3576
+ if (flow.direction === "external") {
3577
+ return;
3578
+ }
3579
+ setTimeout(() => {
3580
+ if (dataFlowRef.current.direction !== "external") {
3581
+ handleSubmit();
3582
+ }
3583
+ }, 100);
3584
+ });
3585
+ const inputProps = {
3586
+ ref: mergeRefs(innerRef, ref),
3587
+ disabled,
3588
+ readOnly,
3589
+ value: inputValue,
3590
+ onChange: handleInputChange,
3591
+ onKeyDown: handleKeyDown,
3592
+ onBlur: handleBlur
3593
+ };
3594
+ const handlerProps = {
3595
+ ...pressMoveProps,
3596
+ ref: pressMoveProps.ref
3597
+ };
3598
+ return {
3599
+ handlerPressed,
3600
+ inputProps,
3601
+ handlerProps,
3602
+ updateValue,
3603
+ currentValue: innerValue
3604
+ };
3605
+ }
3606
+ var TimeInput = forwardRef((props, ref) => {
3607
+ const {
3608
+ // 时间相关属性
3609
+ defaultValue,
3610
+ value,
3611
+ onChange,
3612
+ format: propFormat = "HH:mm",
3613
+ locale: propLocale = enUS,
3614
+ minTime,
3615
+ maxTime,
3616
+ step = 1,
3617
+ shiftStep = 15,
3618
+ metaStep = 60,
3619
+ // 交互相关属性
3620
+ enableCache = true,
3621
+ enableKeyboardNavigation = true,
3622
+ enableProfiling = false,
3623
+ onEnterKeyDown,
3624
+ // UI 相关属性
3625
+ placeholder = "Enter time...",
3626
+ prefixElement = /* @__PURE__ */ jsx(Clock, {}),
3627
+ suffixElement,
3628
+ // TextField 属性
3629
+ ...rest
3630
+ } = props;
3631
+ const locale = resolveLocale(propLocale);
3632
+ const { inputProps, handlerProps } = useTimeInput({
3633
+ value,
3634
+ defaultValue,
3635
+ onChange,
3636
+ disabled: rest.disabled,
3637
+ readOnly: rest.readOnly,
3638
+ minTime,
3639
+ maxTime,
3640
+ step,
3641
+ shiftStep,
3642
+ metaStep,
3643
+ format: propFormat,
3644
+ locale,
3645
+ enableKeyboardNavigation,
3646
+ enableProfiling,
3647
+ onEnterKeyDown,
3648
+ ref
3649
+ });
3650
+ return /* @__PURE__ */ jsxs(
3651
+ TextField,
3652
+ {
3653
+ ...inputProps,
3654
+ placeholder,
3655
+ ...rest,
3656
+ children: [
3657
+ prefixElement && /* @__PURE__ */ jsx(TextField.Prefix, { children: /* @__PURE__ */ jsx(
3658
+ "div",
3659
+ {
3660
+ ...handlerProps,
3661
+ className: tcx(
3662
+ "cursor-ew-resize",
3663
+ rest.disabled ? "text-disabled-foreground" : "text-secondary-foreground",
3664
+ rest.variant === "dark" ? "text-white/50" : void 0
3665
+ ),
3666
+ children: prefixElement
3667
+ }
3668
+ ) }),
3669
+ suffixElement && /* @__PURE__ */ jsx(TextField.Suffix, { className: "text-secondary-foreground w-full min-w-0 px-2", children: suffixElement })
3670
+ ]
3671
+ }
3672
+ );
3673
+ });
3674
+ TimeInput.displayName = "TimeInput";
3675
+ var QuarterCalendarTv = tcv({
3676
+ slots: {
3677
+ // 容器
3678
+ container: "select-none",
3679
+ // 头部
3680
+ header: "flex items-center pt-2 pr-1 pl-3",
3681
+ title: "flex-1 truncate font-strong",
3682
+ navigation: "flex h-6 items-center",
3683
+ // 季度网格
3684
+ quartersGrid: "grid grid-cols-4 gap-0 px-2 pb-2",
3685
+ // 季度单元格
3686
+ quarterCell: [
3687
+ "relative w-full rounded-md py-2",
3688
+ "flex flex-col items-center justify-center",
3689
+ "cursor-default select-none",
3690
+ "border border-transparent",
3691
+ "before:absolute before:z-0 before:content-['']",
3692
+ "after:absolute after:z-1 after:content-['']"
3693
+ ],
3694
+ // 季度标题
3695
+ quarterTitle: "relative z-2 font-strong",
3696
+ // 月份列表
3697
+ monthsList: "relative z-2 mt-2",
3698
+ monthItem: ""
3699
+ },
3700
+ variants: {
3701
+ variant: {
3702
+ default: {
3703
+ container: "bg-default-background"
3704
+ },
3705
+ dark: {
3706
+ container: "bg-menu-background text-white"
3707
+ }
3708
+ },
3709
+ // 是否选中
3710
+ selected: {
3711
+ true: {}
3712
+ },
3713
+ // 是否为当前季度
3714
+ current: {
3715
+ true: {
3716
+ quarterCell: "text-on-accent-foreground after:bg-danger-background after:inset-0.5 after:rounded-md"
3717
+ }
3718
+ },
3719
+ // 是否在范围内
3720
+ inRange: {
3721
+ true: {},
3722
+ false: {}
3723
+ },
3724
+ // 是否禁用
3725
+ disabled: {
3726
+ true: {},
3727
+ false: {}
3728
+ }
3729
+ },
3730
+ compoundVariants: [
3731
+ {
3732
+ inRange: false,
3733
+ current: false,
3734
+ variant: "default",
3735
+ className: { quarterCell: "text-disabled-foreground" }
3736
+ },
3737
+ {
3738
+ inRange: false,
3739
+ current: false,
3740
+ variant: "dark",
3741
+ className: { quarterCell: "text-white/40" }
3742
+ },
3743
+ // Selected
3744
+ {
3745
+ selected: true,
3746
+ current: false,
3747
+ className: {
3748
+ quarterCell: "after:inset-0.25 after:rounded-md"
3749
+ }
3750
+ },
3751
+ {
3752
+ selected: true,
3753
+ current: false,
3754
+ variant: "default",
3755
+ className: {
3756
+ quarterCell: "after:bg-selected-background"
3757
+ }
3758
+ },
3759
+ {
3760
+ selected: true,
3761
+ current: false,
3762
+ variant: "dark",
3763
+ className: {
3764
+ quarterCell: "after:bg-gray-600"
3765
+ }
3766
+ },
3767
+ {
3768
+ selected: true,
3769
+ current: true,
3770
+ className: {
3771
+ quarterCell: "after:ring-accent-background"
3772
+ }
3773
+ },
3774
+ {
3775
+ selected: true,
3776
+ current: true,
3777
+ variant: "default",
3778
+ className: {
3779
+ quarterCell: "after:ring-offset-default-background after:ring-1 after:ring-offset-1"
3780
+ }
3781
+ },
3782
+ {
3783
+ selected: true,
3784
+ current: true,
3785
+ variant: "dark",
3786
+ className: {
3787
+ quarterCell: "after:ring-2 after:ring-gray-600"
3788
+ }
3789
+ },
3790
+ // Hover
3791
+ {
3792
+ disabled: false,
3793
+ className: {
3794
+ quarterCell: "before:inset-0.25 before:rounded-md"
3795
+ }
3796
+ },
3797
+ {
3798
+ disabled: false,
3799
+ variant: "default",
3800
+ className: {
3801
+ quarterCell: "hover:before:bg-secondary-background"
3802
+ }
3803
+ },
3804
+ {
3805
+ disabled: false,
3806
+ variant: "dark",
3807
+ className: {
3808
+ quarterCell: "hover:before:bg-gray-700"
3809
+ }
3810
+ },
3811
+ // Disabled
3812
+ {
3813
+ disabled: true,
3814
+ variant: "default",
3815
+ className: { quarterCell: "text-disabled-foreground" }
3816
+ },
3817
+ {
3818
+ disabled: true,
3819
+ variant: "dark",
3820
+ className: { quarterCell: "text-white/20" }
3821
+ }
3822
+ ],
3823
+ defaultVariants: {
3824
+ variant: "default"
3825
+ }
3826
+ });
3827
+ var QuarterCalendarCell = forwardRef(
3828
+ (props, ref) => {
3829
+ const { className, onClick, quarterItem, variant = "default" } = props;
3830
+ const tv = QuarterCalendarTv({ variant });
3831
+ const handleClick = useEventCallback(() => {
3832
+ if (quarterItem.isDisabled) return;
3833
+ onClick(quarterItem.quarter);
3834
+ });
3835
+ return /* @__PURE__ */ jsxs(
3836
+ "button",
3837
+ {
3838
+ ref,
3839
+ type: "button",
3840
+ className: tcx(className),
3841
+ disabled: quarterItem.isDisabled,
3842
+ onClick: handleClick,
3843
+ "aria-label": formatQuarter(quarterItem.quarter),
3844
+ "aria-pressed": quarterItem.isSelected,
3845
+ "data-testid": `${quarterItem.quarter.year}-Q${quarterItem.quarter.quarter}`,
3846
+ "data-selected": quarterItem.isSelected,
3847
+ "data-current": quarterItem.isCurrent,
3848
+ "data-disabled": quarterItem.isDisabled,
3849
+ "data-in-range": quarterItem.isInRange,
3850
+ children: [
3851
+ /* @__PURE__ */ jsx("div", { className: tv.quarterTitle(), children: quarterItem.quarter.label }),
3852
+ /* @__PURE__ */ jsx("div", { className: tv.monthsList(), children: quarterItem.quarter.months.map((month, index) => /* @__PURE__ */ jsx(
3853
+ "div",
3854
+ {
3855
+ className: tv.monthItem(),
3856
+ children: month
3857
+ },
3858
+ index
3859
+ )) })
3860
+ ]
3861
+ }
3862
+ );
3863
+ }
3864
+ );
3865
+ QuarterCalendarCell.displayName = "QuarterCalendarCell";
3866
+ var QuarterCalendarHeader = forwardRef(
3867
+ (props, ref) => {
3868
+ const {
3869
+ className,
3870
+ currentYear,
3871
+ currentYearContainsToday,
3872
+ handleNext,
3873
+ handlePrevious,
3874
+ handleToday,
3875
+ isNextDisabled,
3876
+ isPrevDisabled,
3877
+ variant = "default"
3878
+ } = props;
3879
+ const tv = QuarterCalendarTv({ variant });
3880
+ const handleTodayClick = useEventCallback(() => {
3881
+ handleToday();
3882
+ });
3883
+ return /* @__PURE__ */ jsxs(
3884
+ "div",
3885
+ {
3886
+ ref,
3887
+ className: tcx(tv.header(), className),
3888
+ "data-testid": "quarter-calendar-header",
3889
+ children: [
3890
+ /* @__PURE__ */ jsx(
3891
+ "h3",
3892
+ {
3893
+ className: tv.title(),
3894
+ "data-testid": "year-title",
3895
+ children: format(currentYear, "yyyy")
3896
+ }
3897
+ ),
3898
+ /* @__PURE__ */ jsxs(
3899
+ "div",
3900
+ {
3901
+ className: tv.navigation(),
3902
+ "data-testid": "quarter-navigation",
3903
+ children: [
3904
+ currentYearContainsToday ? null : /* @__PURE__ */ jsx(
3905
+ IconButton,
3906
+ {
3907
+ variant,
3908
+ onClick: handleTodayClick,
3909
+ "aria-label": "Back to current year",
3910
+ "data-testid": "today-button",
3911
+ children: /* @__PURE__ */ jsx(Undo, {})
3912
+ }
3913
+ ),
3914
+ /* @__PURE__ */ jsx(
3915
+ IconButton,
3916
+ {
3917
+ variant,
3918
+ onClick: handlePrevious,
3919
+ disabled: isPrevDisabled,
3920
+ "aria-label": "Previous year",
3921
+ "data-testid": "prev-button",
3922
+ children: /* @__PURE__ */ jsx(ChevronLeftSmall, {})
3923
+ }
3924
+ ),
3925
+ /* @__PURE__ */ jsx(
3926
+ IconButton,
3927
+ {
3928
+ variant,
3929
+ onClick: handleNext,
3930
+ disabled: isNextDisabled,
3931
+ "aria-label": "Next year",
3932
+ "data-testid": "next-button",
3933
+ children: /* @__PURE__ */ jsx(ChevronRightSmall, {})
3934
+ }
3935
+ )
3936
+ ]
3937
+ }
3938
+ )
3939
+ ]
3940
+ }
3941
+ );
3942
+ }
3943
+ );
3944
+ QuarterCalendarHeader.displayName = "QuarterCalendarHeader";
3945
+ var QuarterCalendar = forwardRef((props, ref) => {
3946
+ const {
3947
+ value,
3948
+ currentYear: propCurrentYear,
3949
+ onChange,
3950
+ onNavigate,
3951
+ className,
3952
+ children,
3953
+ minYear,
3954
+ maxYear,
3955
+ disabledQuarters = [],
3956
+ disabled = false,
3957
+ readOnly = false,
3958
+ startYear: propStartYear,
3959
+ locale = enUS,
3960
+ variant = "default",
3961
+ defaultValue
3962
+ } = props;
3963
+ const handleQuarterChange = useCallback(
3964
+ (quarter) => {
3965
+ onChange == null ? void 0 : onChange(quarter ?? null);
3966
+ },
3967
+ [onChange]
3968
+ );
3969
+ const [selectedQuarter, setSelectedQuarter] = useMergedValue({
3970
+ value,
3971
+ defaultValue,
3972
+ onChange: handleQuarterChange
3973
+ });
3974
+ const safeLocale = resolveLocale(locale);
3975
+ const currentYearNum = useMemo(() => {
3976
+ const extracted = quarterUtils.extractYear(propCurrentYear);
3977
+ return extracted ?? quarterUtils.getCurrentYear();
3978
+ }, [propCurrentYear]);
3979
+ const yearConstraints = useMemo(
3980
+ () => ({
3981
+ min: quarterUtils.extractYear(minYear),
3982
+ max: quarterUtils.extractYear(maxYear),
3983
+ disabled: disabledQuarters
3984
+ }),
3985
+ [minYear, maxYear, disabledQuarters]
3986
+ );
3987
+ const [internalYear, setInternalYear] = useState(() => {
3988
+ const propStart = quarterUtils.extractYear(propStartYear);
3989
+ return propStart ?? currentYearNum;
3990
+ });
3991
+ const displayYear = quarterUtils.extractYear(propStartYear) ?? internalYear;
3992
+ const actualCurrentQuarter = useMemo(() => {
3993
+ return getCurrentQuarter(void 0, safeLocale);
3994
+ }, [safeLocale]);
3995
+ const quarters = useMemo(() => {
3996
+ const yearQuarters = getYearQuarters(displayYear, safeLocale);
3997
+ return yearQuarters.map((quarter) => {
3998
+ const isSelected = selectedQuarter ? isQuarterEqual(selectedQuarter, quarter) : false;
3999
+ const isCurrent = isQuarterEqual(actualCurrentQuarter, quarter);
4000
+ const isInRange = quarterUtils.isYearInRange(
4001
+ quarter.year,
4002
+ yearConstraints.min,
4003
+ yearConstraints.max
4004
+ );
4005
+ const isDisabled = disabled || yearConstraints.disabled.some(
4006
+ (dq) => dq.quarter === quarter.quarter && dq.year === quarter.year
4007
+ ) || !isInRange;
4008
+ return {
4009
+ quarter,
4010
+ isSelected,
4011
+ isCurrent,
4012
+ isDisabled,
4013
+ isInRange
4014
+ };
4015
+ });
4016
+ }, [displayYear, safeLocale, selectedQuarter, actualCurrentQuarter, disabled, yearConstraints]);
4017
+ const handleQuarterSelect = useEventCallback((quarter) => {
4018
+ if (disabled || readOnly) return;
4019
+ const quarterItem = quarters.find((q) => isQuarterEqual(q.quarter, quarter));
4020
+ if (quarterItem == null ? void 0 : quarterItem.isDisabled) return;
4021
+ setSelectedQuarter(quarter);
4022
+ });
4023
+ const navigateYear = useCallback(
4024
+ (direction) => {
4025
+ if (disabled) return;
4026
+ const offset = direction === "prev" ? -1 : 1;
4027
+ const newYear = displayYear + offset;
4028
+ if (direction === "prev" && yearConstraints.min !== void 0) {
4029
+ if (newYear < yearConstraints.min) return;
4030
+ }
4031
+ if (direction === "next" && yearConstraints.max !== void 0) {
4032
+ if (newYear > yearConstraints.max) return;
4033
+ }
4034
+ onNavigate == null ? void 0 : onNavigate(direction, newYear);
4035
+ if (propStartYear === void 0) {
4036
+ setInternalYear(newYear);
4037
+ }
4038
+ },
4039
+ [disabled, displayYear, yearConstraints, onNavigate, propStartYear]
4040
+ );
4041
+ const handlePrevious = useEventCallback(() => navigateYear("prev"));
4042
+ const handleNext = useEventCallback(() => navigateYear("next"));
4043
+ const handleToday = useEventCallback(() => {
4044
+ const todayYear = quarterUtils.getCurrentYear();
4045
+ const todayQuarter = getCurrentQuarter(void 0, safeLocale);
4046
+ setInternalYear(todayYear);
4047
+ setSelectedQuarter(todayQuarter);
4048
+ });
4049
+ const navigationState = useMemo(() => {
4050
+ if (disabled) return { isPrevDisabled: true, isNextDisabled: true };
4051
+ const isPrevDisabled = yearConstraints.min !== void 0 && displayYear <= yearConstraints.min;
4052
+ const isNextDisabled = yearConstraints.max !== void 0 && displayYear >= yearConstraints.max;
4053
+ return { isPrevDisabled, isNextDisabled };
4054
+ }, [disabled, yearConstraints, displayYear]);
4055
+ const displayInfo = useMemo(() => {
4056
+ const todayYear = quarterUtils.getCurrentYear();
4057
+ const currentYearContainsToday = displayYear === todayYear;
4058
+ return {
4059
+ currentYearContainsToday
4060
+ };
4061
+ }, [displayYear]);
4062
+ const tv = QuarterCalendarTv({ variant });
4063
+ return /* @__PURE__ */ jsxs(
4064
+ "div",
4065
+ {
4066
+ ref,
4067
+ className: tcx(tv.container(), className),
4068
+ "data-testid": "quarter-calendar",
4069
+ children: [
4070
+ /* @__PURE__ */ jsx(
4071
+ QuarterCalendarHeader,
4072
+ {
4073
+ currentYear: displayYear,
4074
+ currentYearContainsToday: displayInfo.currentYearContainsToday,
4075
+ handleNext,
4076
+ handlePrevious,
4077
+ handleToday,
4078
+ isNextDisabled: navigationState.isNextDisabled,
4079
+ isPrevDisabled: navigationState.isPrevDisabled,
4080
+ variant
4081
+ }
4082
+ ),
4083
+ /* @__PURE__ */ jsx(
4084
+ "div",
4085
+ {
4086
+ className: tv.quartersGrid(),
4087
+ "data-testid": "quarters-grid",
4088
+ children: quarters.map((quarterItem) => /* @__PURE__ */ jsx(
4089
+ QuarterCalendarCell,
4090
+ {
4091
+ className: tv.quarterCell({
4092
+ selected: quarterItem.isSelected,
4093
+ current: quarterItem.isCurrent,
4094
+ disabled: quarterItem.isDisabled,
4095
+ inRange: quarterItem.isInRange
4096
+ }),
4097
+ quarterItem,
4098
+ onClick: handleQuarterSelect,
4099
+ variant
4100
+ },
4101
+ `${quarterItem.quarter.year}-${quarterItem.quarter.quarter}`
4102
+ ))
4103
+ }
4104
+ ),
4105
+ children
4106
+ ]
4107
+ }
4108
+ );
4109
+ });
4110
+ QuarterCalendar.displayName = "QuarterCalendar";
4111
+ var YearCalendarTv = tcv({
4112
+ slots: {
4113
+ // 容器
4114
+ container: "select-none",
4115
+ // 头部
4116
+ header: "flex items-center pt-2 pr-1 pl-3",
4117
+ title: "flex-1 truncate font-strong",
4118
+ navigation: "flex h-6 items-center",
4119
+ // 年份网格
4120
+ yearsGrid: "grid grid-cols-3 gap-0 px-2 pb-2",
4121
+ // 年份单元格
4122
+ yearCell: [
4123
+ "relative h-6 w-full rounded-md",
4124
+ "flex items-center justify-center",
4125
+ "cursor-default select-none",
4126
+ "border border-transparent",
4127
+ "before:absolute before:z-0 before:content-['']",
4128
+ "after:absolute after:z-1 after:content-['']"
4129
+ ],
4130
+ // 年份数字
4131
+ yearText: "relative z-2"
4132
+ },
4133
+ variants: {
4134
+ // 是否选中
4135
+ selected: {
4136
+ true: {}
4137
+ },
4138
+ // 是否为当前年份
4139
+ current: {
4140
+ true: {
4141
+ yearCell: "text-on-accent-foreground after:bg-danger-background after:inset-0.5 after:rounded-md"
4142
+ }
4143
+ },
4144
+ // 是否禁用
4145
+ disabled: {
4146
+ true: {}
4147
+ },
4148
+ // 是否在范围内
4149
+ inRange: {
4150
+ true: {},
4151
+ false: {}
4152
+ },
4153
+ variant: {
4154
+ default: {
4155
+ container: "bg-default-background"
4156
+ },
4157
+ dark: {
4158
+ container: "bg-menu-background text-white"
4159
+ }
4160
+ }
4161
+ },
4162
+ compoundVariants: [
4163
+ {
4164
+ inRange: false,
4165
+ current: false,
4166
+ variant: "default",
4167
+ className: { yearCell: "text-disabled-foreground" }
4168
+ },
4169
+ {
4170
+ inRange: false,
4171
+ current: false,
4172
+ variant: "dark",
4173
+ className: { yearCell: "text-white/40" }
4174
+ },
4175
+ // Selected
4176
+ {
4177
+ selected: true,
4178
+ current: false,
4179
+ className: {
4180
+ yearCell: "after:inset-0 after:rounded-md"
4181
+ }
4182
+ },
4183
+ {
4184
+ selected: true,
4185
+ current: false,
4186
+ variant: "default",
4187
+ className: {
4188
+ yearCell: "after:bg-selected-background"
4189
+ }
4190
+ },
4191
+ {
4192
+ selected: true,
4193
+ current: false,
4194
+ variant: "dark",
4195
+ className: {
4196
+ yearCell: "after:bg-gray-600"
4197
+ }
4198
+ },
4199
+ {
4200
+ selected: true,
4201
+ current: true,
4202
+ className: {
4203
+ yearCell: "after:ring-accent-background"
4204
+ }
4205
+ },
4206
+ {
4207
+ selected: true,
4208
+ current: true,
4209
+ variant: "default",
4210
+ className: {
4211
+ yearCell: "after:ring-offset-default-background after:ring-1 after:ring-offset-1"
4212
+ }
4213
+ },
4214
+ {
4215
+ selected: true,
4216
+ current: true,
4217
+ variant: "dark",
4218
+ className: {
4219
+ yearCell: "after:ring-2 after:ring-gray-600"
4220
+ }
4221
+ },
4222
+ // Hover
4223
+ {
4224
+ disabled: false,
4225
+ className: {
4226
+ yearCell: "before:inset-0 before:rounded-md"
4227
+ }
4228
+ },
4229
+ {
4230
+ disabled: false,
4231
+ variant: "default",
4232
+ className: {
4233
+ yearCell: "hover:before:bg-secondary-background"
4234
+ }
4235
+ },
4236
+ {
4237
+ disabled: false,
4238
+ variant: "dark",
4239
+ className: {
4240
+ yearCell: "hover:before:bg-gray-700"
4241
+ }
4242
+ },
4243
+ // Disabled
4244
+ {
4245
+ disabled: true,
4246
+ variant: "default",
4247
+ className: { yearCell: "text-disabled-foreground" }
4248
+ },
4249
+ {
4250
+ disabled: true,
4251
+ variant: "dark",
4252
+ className: { yearCell: "text-white/20" }
4253
+ }
4254
+ ],
4255
+ defaultVariants: {
4256
+ variant: "default"
4257
+ }
4258
+ });
4259
+ var YearCalendarCell = memo(function YearCalendarCell2(props) {
4260
+ const tv = YearCalendarTv();
4261
+ const { className, yearItem, onClick } = props;
4262
+ const handleClick = useEventCallback(() => {
4263
+ if (!yearItem.isDisabled && onClick) {
4264
+ onClick(yearItem.year);
4265
+ }
4266
+ });
4267
+ const yearNumber = yearItem.year.getFullYear();
4268
+ return /* @__PURE__ */ jsx(
4269
+ "div",
4270
+ {
4271
+ className,
4272
+ onClick: handleClick,
4273
+ "data-testid": yearNumber,
4274
+ "data-selected": yearItem.isSelected,
4275
+ "data-current": yearItem.isCurrent,
4276
+ "data-disabled": yearItem.isDisabled,
4277
+ "data-in-range": yearItem.isInRange,
4278
+ children: /* @__PURE__ */ jsx("span", { className: tv.yearText(), children: yearNumber })
4279
+ }
4280
+ );
4281
+ });
4282
+ YearCalendarCell.displayName = "YearCalendarCell";
4283
+ var YearCalendarHeader = memo(function YearCalendarHeader2(props) {
4284
+ const {
4285
+ endDisplayYear,
4286
+ handleNext,
4287
+ handlePrevious,
4288
+ handleToday,
4289
+ isNextDisabled,
4290
+ isPrevDisabled,
4291
+ startDisplayYear,
4292
+ currentYearContainsToday,
4293
+ variant
4294
+ } = props;
4295
+ const tv = YearCalendarTv();
4296
+ return /* @__PURE__ */ jsxs("div", { className: tv.header(), children: [
4297
+ /* @__PURE__ */ jsxs(
4298
+ "h3",
4299
+ {
4300
+ className: tv.title(),
4301
+ "data-testid": "year-range-title",
4302
+ children: [
4303
+ startDisplayYear,
4304
+ " - ",
4305
+ endDisplayYear
4306
+ ]
4307
+ }
4308
+ ),
4309
+ currentYearContainsToday ? null : /* @__PURE__ */ jsx(
4310
+ IconButton,
4311
+ {
4312
+ variant,
4313
+ onClick: handleToday,
4314
+ "aria-label": "Back to current year",
4315
+ "data-testid": "today-button",
4316
+ children: /* @__PURE__ */ jsx(Undo, {})
4317
+ }
4318
+ ),
4319
+ /* @__PURE__ */ jsxs(
4320
+ "div",
4321
+ {
4322
+ className: tv.navigation(),
4323
+ "data-testid": "year-navigation",
4324
+ children: [
4325
+ /* @__PURE__ */ jsx(
4326
+ IconButton,
4327
+ {
4328
+ variant,
4329
+ onClick: handlePrevious,
4330
+ disabled: isPrevDisabled,
4331
+ "aria-label": "Previous year",
4332
+ "data-testid": "prev-button",
4333
+ children: /* @__PURE__ */ jsx(ChevronLeftSmall, {})
4334
+ }
4335
+ ),
4336
+ /* @__PURE__ */ jsx(
4337
+ IconButton,
4338
+ {
4339
+ variant,
4340
+ onClick: handleNext,
4341
+ disabled: isNextDisabled,
4342
+ "aria-label": "Next year",
4343
+ "data-testid": "next-button",
4344
+ children: /* @__PURE__ */ jsx(ChevronRightSmall, {})
4345
+ }
4346
+ )
4347
+ ]
4348
+ }
4349
+ )
4350
+ ] });
4351
+ });
4352
+ YearCalendarHeader.displayName = "YearCalendarHeader";
4353
+ var YearCalendar = forwardRef((props, ref) => {
4354
+ const {
4355
+ value,
4356
+ currentYear: propCurrentYear,
4357
+ onChange,
4358
+ onNavigate,
4359
+ className,
4360
+ children,
4361
+ minYear,
4362
+ maxYear,
4363
+ disabledYears = [],
4364
+ disabled = false,
4365
+ readOnly = false,
4366
+ startYear: propStartYear,
4367
+ yearCount = 12,
4368
+ locale = enUS,
4369
+ variant = "default",
4370
+ defaultValue
4371
+ } = props;
4372
+ const handleYearChange = useCallback(
4373
+ (year) => {
4374
+ onChange == null ? void 0 : onChange(year ?? null);
4375
+ },
4376
+ [onChange]
4377
+ );
4378
+ const [selectedYear, setSelectedYear] = useMergedValue({
4379
+ value,
4380
+ defaultValue,
4381
+ onChange: handleYearChange
4382
+ });
4383
+ resolveLocale(locale);
4384
+ const currentYearNum = useMemo(() => {
4385
+ const extracted = yearUtils.extractYear(propCurrentYear);
4386
+ return extracted ?? yearUtils.getCurrentYear();
4387
+ }, [propCurrentYear]);
4388
+ const yearConstraints = useMemo(
4389
+ () => ({
4390
+ min: yearUtils.extractYear(minYear),
4391
+ max: yearUtils.extractYear(maxYear),
4392
+ disabled: disabledYears.map(yearUtils.extractYear).filter((year) => year !== void 0)
4393
+ }),
4394
+ [minYear, maxYear, disabledYears]
4395
+ );
4396
+ const [internalStartYear, setInternalStartYear] = useState(() => {
4397
+ const propStart = yearUtils.extractYear(propStartYear);
4398
+ return propStart ?? currentYearNum - Math.floor(yearCount / 2);
4399
+ });
4400
+ const startYear = yearUtils.extractYear(propStartYear) ?? internalStartYear;
4401
+ const years = useMemo(() => {
4402
+ const yearsList = [];
4403
+ const selectedYearNum = selectedYear && isDate(selectedYear) && isValid(selectedYear) ? selectedYear.getFullYear() : void 0;
4404
+ for (let i = 0; i < yearCount; i++) {
4405
+ const yearNum = startYear + i;
4406
+ const yearDate = yearUtils.createYearDate(yearNum);
4407
+ const isSelected = selectedYearNum === yearNum;
4408
+ const isCurrent = currentYearNum === yearNum;
4409
+ const isInRange = yearUtils.isYearInRange(yearNum, yearConstraints.min, yearConstraints.max);
4410
+ const isDisabled = disabled || yearConstraints.disabled.includes(yearNum) || !isInRange;
4411
+ yearsList.push({
4412
+ year: yearDate,
4413
+ isSelected,
4414
+ isCurrent,
4415
+ isDisabled,
4416
+ isInRange
4417
+ });
4418
+ }
4419
+ return yearsList;
4420
+ }, [startYear, yearCount, selectedYear, currentYearNum, disabled, yearConstraints]);
4421
+ const handleYearSelect = useEventCallback((year) => {
4422
+ if (disabled || readOnly) return;
4423
+ const yearNum = year.getFullYear();
4424
+ const yearItem = years.find((y) => y.year.getFullYear() === yearNum);
4425
+ if (yearItem == null ? void 0 : yearItem.isDisabled) return;
4426
+ setSelectedYear(year);
4427
+ });
4428
+ const navigateYears = useCallback(
4429
+ (direction) => {
4430
+ if (disabled) return;
4431
+ const offset = direction === "prev" ? -yearCount : yearCount;
4432
+ const newStartYear = startYear + offset;
4433
+ if (direction === "prev" && yearConstraints.min !== void 0) {
4434
+ if (newStartYear + yearCount - 1 < yearConstraints.min) return;
4435
+ }
4436
+ if (direction === "next" && yearConstraints.max !== void 0) {
4437
+ if (newStartYear > yearConstraints.max) return;
4438
+ }
4439
+ const newStartDate = yearUtils.createYearDate(newStartYear);
4440
+ onNavigate == null ? void 0 : onNavigate(direction, newStartDate);
4441
+ if (propStartYear === void 0) {
4442
+ setInternalStartYear(newStartYear);
4443
+ }
4444
+ },
4445
+ [disabled, startYear, yearCount, yearConstraints, onNavigate, propStartYear]
4446
+ );
4447
+ const handlePrevious = useEventCallback(() => navigateYears("prev"));
4448
+ const handleNext = useEventCallback(() => navigateYears("next"));
4449
+ const handleToday = useEventCallback(() => {
4450
+ const todayYear = yearUtils.getCurrentYear();
4451
+ const todayYearDate = yearUtils.createYearDate(todayYear);
4452
+ setInternalStartYear(todayYear - Math.floor(yearCount / 2));
4453
+ setSelectedYear(todayYearDate);
4454
+ });
4455
+ const navigationState = useMemo(() => {
4456
+ if (disabled) return { isPrevDisabled: true, isNextDisabled: true };
4457
+ const isPrevDisabled = yearConstraints.min !== void 0 && startYear - yearCount + yearCount - 1 < yearConstraints.min;
4458
+ const isNextDisabled = yearConstraints.max !== void 0 && startYear + yearCount > yearConstraints.max;
4459
+ return { isPrevDisabled, isNextDisabled };
4460
+ }, [disabled, yearConstraints, startYear, yearCount]);
4461
+ const displayInfo = useMemo(() => {
4462
+ var _a, _b;
4463
+ const startDisplayYear = ((_a = years[0]) == null ? void 0 : _a.year.getFullYear()) ?? yearUtils.getCurrentYear();
4464
+ const endDisplayYear = ((_b = years[years.length - 1]) == null ? void 0 : _b.year.getFullYear()) ?? yearUtils.getCurrentYear();
4465
+ const todayYear = yearUtils.getCurrentYear();
4466
+ const currentYearContainsToday = startYear <= todayYear && todayYear <= startYear + yearCount - 1;
4467
+ return {
4468
+ startDisplayYear,
4469
+ endDisplayYear,
4470
+ currentYearContainsToday
4471
+ };
4472
+ }, [years, startYear, yearCount]);
4473
+ const tv = YearCalendarTv({ variant });
4474
+ return /* @__PURE__ */ jsxs(
4475
+ "div",
4476
+ {
4477
+ ref,
4478
+ className: tcx(tv.container(), className),
4479
+ "data-testid": "year-calendar",
4480
+ children: [
4481
+ /* @__PURE__ */ jsx(
4482
+ YearCalendarHeader,
4483
+ {
4484
+ currentYearContainsToday: displayInfo.currentYearContainsToday,
4485
+ endDisplayYear: displayInfo.endDisplayYear,
4486
+ handleNext,
4487
+ handlePrevious,
4488
+ handleToday,
4489
+ isNextDisabled: navigationState.isNextDisabled,
4490
+ isPrevDisabled: navigationState.isPrevDisabled,
4491
+ startDisplayYear: displayInfo.startDisplayYear,
4492
+ variant
4493
+ }
4494
+ ),
4495
+ /* @__PURE__ */ jsx(
4496
+ "div",
4497
+ {
4498
+ className: tv.yearsGrid(),
4499
+ "data-testid": "years-grid",
4500
+ children: years.map((yearItem) => {
4501
+ const yearNumber = yearItem.year.getFullYear();
4502
+ return /* @__PURE__ */ jsx(
4503
+ YearCalendarCell,
4504
+ {
4505
+ className: tv.yearCell({
4506
+ selected: yearItem.isSelected,
4507
+ current: yearItem.isCurrent,
4508
+ disabled: yearItem.isDisabled,
4509
+ inRange: yearItem.isInRange
4510
+ }),
4511
+ yearItem,
4512
+ onClick: handleYearSelect
4513
+ },
4514
+ yearNumber
4515
+ );
4516
+ })
4517
+ }
4518
+ ),
4519
+ children
4520
+ ]
4521
+ }
4522
+ );
4523
+ });
4524
+ YearCalendar.displayName = "YearCalendar";
4525
+ export {
4526
+ DateInput,
4527
+ DigitExtractor,
4528
+ LOCALE_MAP,
4529
+ MonthCalendar,
4530
+ QuarterCalendar,
4531
+ TimeCalendar,
4532
+ TimeInput,
4533
+ YearCalendar,
4534
+ calculateWeekNumbers,
4535
+ canBeMonthDay,
4536
+ commonDateFormats,
4537
+ commonTimeFormats,
4538
+ convertTwoDigitYear,
4539
+ createQuarter,
4540
+ createTimeZoneContext,
4541
+ dateToTimeString,
4542
+ dateUtils,
4543
+ defaultLocaleMap,
4544
+ formatMonthTitle,
4545
+ formatQuarter,
4546
+ generateCalendarDays,
4547
+ generateTimeOptions,
4548
+ generateWeekdayNames,
4549
+ getCurrentQuarter,
4550
+ getDateKey,
4551
+ getDateParts,
4552
+ getEnhancedPrediction,
4553
+ getLastDayOfMonth,
4554
+ getLocaleKey,
4555
+ getQuarterMonths,
4556
+ getYearQuarters,
4557
+ handleShortcuts,
4558
+ inferMonthFromValue,
4559
+ inferSelectionMode,
4560
+ isCalendarValueEqual,
4561
+ isChineseLocale,
4562
+ isQuarterEqual,
4563
+ isReasonableYear,
4564
+ isSameDayInTimeZone,
4565
+ isValidMonthDay,
4566
+ isWithinRange,
4567
+ naturalLanguageMap,
4568
+ normalizeTimeValue,
4569
+ parse3Digits,
4570
+ parseCache,
4571
+ parseDate,
4572
+ parseEnglishDate,
4573
+ parseExtendedRelativeDate,
4574
+ parseMonthName,
4575
+ parseNaturalLanguage,
4576
+ parseRelativeDate,
4577
+ parseYYMMDD,
4578
+ parseYYYYMMDD,
4579
+ parserConfig,
4580
+ quarterUtils,
4581
+ relativeDatePatterns,
4582
+ resolveLocale,
4583
+ smartCorrectDate,
4584
+ smartCorrectYear,
4585
+ smartParseTimeValue,
4586
+ timeStringToDate,
4587
+ tryRelaxedTimeParsing,
4588
+ useDateInput,
4589
+ useTimeInput,
4590
+ yearUtils
4591
+ };