@cognite/aura 0.3.5 → 1.46105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/CHANGELOG.md +264 -0
  2. package/DESIGN.md +638 -281
  3. package/LICENSE +21 -0
  4. package/README.md +21 -13
  5. package/dist/colors-deprecated.css +587 -0
  6. package/dist/colors.css +803 -830
  7. package/dist/components/index.d.ts +63 -57
  8. package/dist/components/index.js +62 -59
  9. package/dist/components/index.js.map +1 -0
  10. package/dist/components/ui/core/accordion/accordion.d.ts +19 -18
  11. package/dist/components/ui/core/accordion/accordion.js +99 -78
  12. package/dist/components/ui/core/accordion/accordion.js.map +1 -0
  13. package/dist/components/ui/core/action-toolbar/action-toolbar-motion.d.ts +8 -0
  14. package/dist/components/ui/core/action-toolbar/action-toolbar-motion.js +125 -0
  15. package/dist/components/ui/core/action-toolbar/action-toolbar-motion.js.map +1 -0
  16. package/dist/components/ui/core/action-toolbar/action-toolbar.d.ts +31 -31
  17. package/dist/components/ui/core/action-toolbar/action-toolbar.js +156 -106
  18. package/dist/components/ui/core/action-toolbar/action-toolbar.js.map +1 -0
  19. package/dist/components/ui/core/alert/alert.d.ts +25 -25
  20. package/dist/components/ui/core/alert/alert.js +181 -152
  21. package/dist/components/ui/core/alert/alert.js.map +1 -0
  22. package/dist/components/ui/core/avatar/avatar.d.ts +10 -9
  23. package/dist/components/ui/core/avatar/avatar.js +75 -65
  24. package/dist/components/ui/core/avatar/avatar.js.map +1 -0
  25. package/dist/components/ui/core/badge/badge.d.ts +13 -12
  26. package/dist/components/ui/core/badge/badge.js +88 -72
  27. package/dist/components/ui/core/badge/badge.js.map +1 -0
  28. package/dist/components/ui/core/banner/banner.d.ts +18 -18
  29. package/dist/components/ui/core/banner/banner.js +179 -142
  30. package/dist/components/ui/core/banner/banner.js.map +1 -0
  31. package/dist/components/ui/core/breadcrumb/breadcrumb.d.ts +12 -12
  32. package/dist/components/ui/core/breadcrumb/breadcrumb.js +139 -104
  33. package/dist/components/ui/core/breadcrumb/breadcrumb.js.map +1 -0
  34. package/dist/components/ui/core/button/button.d.ts +7 -7
  35. package/dist/components/ui/core/button/button.gallery.d.ts +2 -0
  36. package/dist/components/ui/core/button/button.gallery.js +76 -0
  37. package/dist/components/ui/core/button/button.gallery.js.map +1 -0
  38. package/dist/components/ui/core/button/button.js +57 -47
  39. package/dist/components/ui/core/button/button.js.map +1 -0
  40. package/dist/components/ui/core/button-group/button-group.d.ts +9 -9
  41. package/dist/components/ui/core/button-group/button-group.js +50 -40
  42. package/dist/components/ui/core/button-group/button-group.js.map +1 -0
  43. package/dist/components/ui/core/calendar/calendar-header.d.ts +7 -7
  44. package/dist/components/ui/core/calendar/calendar-header.js +102 -63
  45. package/dist/components/ui/core/calendar/calendar-header.js.map +1 -0
  46. package/dist/components/ui/core/calendar/calendar-utils.d.ts +30 -30
  47. package/dist/components/ui/core/calendar/calendar-utils.js +116 -39
  48. package/dist/components/ui/core/calendar/calendar-utils.js.map +1 -0
  49. package/dist/components/ui/core/calendar/calendar.d.ts +10 -10
  50. package/dist/components/ui/core/calendar/calendar.js +95 -66
  51. package/dist/components/ui/core/calendar/calendar.js.map +1 -0
  52. package/dist/components/ui/core/calendar/constants.js +3 -0
  53. package/dist/components/ui/core/calendar/constants.js.map +1 -0
  54. package/dist/components/ui/core/card/card.d.ts +20 -20
  55. package/dist/components/ui/core/card/card.js +133 -104
  56. package/dist/components/ui/core/card/card.js.map +1 -0
  57. package/dist/components/ui/core/chart/chart.d.ts +55 -53
  58. package/dist/components/ui/core/chart/chart.js +196 -116
  59. package/dist/components/ui/core/chart/chart.js.map +1 -0
  60. package/dist/components/ui/core/chart/index.d.ts +2 -2
  61. package/dist/components/ui/core/chart/index.js +3 -2
  62. package/dist/components/ui/core/chart/index.js.map +1 -0
  63. package/dist/components/ui/core/checkbox/checkbox.d.ts +9 -9
  64. package/dist/components/ui/core/checkbox/checkbox.js +88 -68
  65. package/dist/components/ui/core/checkbox/checkbox.js.map +1 -0
  66. package/dist/components/ui/core/checkbox/checkbox.metadata.d.ts +1 -1
  67. package/dist/components/ui/core/checkbox/checkbox.metadata.js +6 -7
  68. package/dist/components/ui/core/checkbox/checkbox.metadata.js.map +1 -0
  69. package/dist/components/ui/core/code-block/code-block.d.ts +19 -19
  70. package/dist/components/ui/core/code-block/code-block.js +259 -175
  71. package/dist/components/ui/core/code-block/code-block.js.map +1 -0
  72. package/dist/components/ui/core/collapsible/collapsible.d.ts +5 -5
  73. package/dist/components/ui/core/collapsible/collapsible.js +36 -30
  74. package/dist/components/ui/core/collapsible/collapsible.js.map +1 -0
  75. package/dist/components/ui/core/combobox/combobox.d.ts +13 -13
  76. package/dist/components/ui/core/combobox/combobox.js +89 -40
  77. package/dist/components/ui/core/combobox/combobox.js.map +1 -0
  78. package/dist/components/ui/core/command/command.d.ts +20 -18
  79. package/dist/components/ui/core/command/command.js +137 -85
  80. package/dist/components/ui/core/command/command.js.map +1 -0
  81. package/dist/components/ui/core/conversation/conversation.d.ts +14 -0
  82. package/dist/components/ui/core/conversation/conversation.js +51 -0
  83. package/dist/components/ui/core/conversation/conversation.js.map +1 -0
  84. package/dist/components/ui/core/count/count.d.ts +8 -6
  85. package/dist/components/ui/core/count/count.js +51 -21
  86. package/dist/components/ui/core/count/count.js.map +1 -0
  87. package/dist/components/ui/core/data-grid/data-grid-cell.d.ts +7 -7
  88. package/dist/components/ui/core/data-grid/data-grid-cell.js +22 -22
  89. package/dist/components/ui/core/data-grid/data-grid-cell.js.map +1 -0
  90. package/dist/components/ui/core/data-grid/data-grid-filter-clauses.d.ts +14 -0
  91. package/dist/components/ui/core/data-grid/data-grid-filter-clauses.js +36 -0
  92. package/dist/components/ui/core/data-grid/data-grid-filter-clauses.js.map +1 -0
  93. package/dist/components/ui/core/data-grid/data-grid-filter-panel.d.ts +41 -0
  94. package/dist/components/ui/core/data-grid/data-grid-filter-panel.js +273 -0
  95. package/dist/components/ui/core/data-grid/data-grid-filter-panel.js.map +1 -0
  96. package/dist/components/ui/core/data-grid/data-grid-footer.d.ts +6 -0
  97. package/dist/components/ui/core/data-grid/data-grid-footer.js +34 -0
  98. package/dist/components/ui/core/data-grid/data-grid-footer.js.map +1 -0
  99. package/dist/components/ui/core/data-grid/data-grid-header-row.d.ts +10 -10
  100. package/dist/components/ui/core/data-grid/data-grid-header-row.js +69 -55
  101. package/dist/components/ui/core/data-grid/data-grid-header-row.js.map +1 -0
  102. package/dist/components/ui/core/data-grid/data-grid-header.d.ts +11 -0
  103. package/dist/components/ui/core/data-grid/data-grid-header.js +67 -0
  104. package/dist/components/ui/core/data-grid/data-grid-header.js.map +1 -0
  105. package/dist/components/ui/core/data-grid/data-grid-row.d.ts +15 -15
  106. package/dist/components/ui/core/data-grid/data-grid-row.js +104 -76
  107. package/dist/components/ui/core/data-grid/data-grid-row.js.map +1 -0
  108. package/dist/components/ui/core/data-grid/data-grid.d.ts +85 -35
  109. package/dist/components/ui/core/data-grid/data-grid.fixtures.d.ts +7 -7
  110. package/dist/components/ui/core/data-grid/data-grid.fixtures.js +139 -0
  111. package/dist/components/ui/core/data-grid/data-grid.fixtures.js.map +1 -0
  112. package/dist/components/ui/core/data-grid/data-grid.js +402 -132
  113. package/dist/components/ui/core/data-grid/data-grid.js.map +1 -0
  114. package/dist/components/ui/core/data-grid/data-grid.utils.d.ts +3 -3
  115. package/dist/components/ui/core/data-grid/data-grid.utils.js +44 -33
  116. package/dist/components/ui/core/data-grid/data-grid.utils.js.map +1 -0
  117. package/dist/components/ui/core/data-grid/index.d.ts +4 -1
  118. package/dist/components/ui/core/data-grid/index.js +5 -2
  119. package/dist/components/ui/core/data-grid/index.js.map +1 -0
  120. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.d.ts +11 -13
  121. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js +85 -61
  122. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js.map +1 -0
  123. package/dist/components/ui/core/date-time-pickers/date-picker/index.d.ts +3 -3
  124. package/dist/components/ui/core/date-time-pickers/date-picker/index.js +3 -0
  125. package/dist/components/ui/core/date-time-pickers/date-picker/index.js.map +1 -0
  126. package/dist/components/ui/core/date-time-pickers/date-picker/types.d.ts +14 -14
  127. package/dist/components/ui/core/date-time-pickers/date-picker/types.js +3 -0
  128. package/dist/components/ui/core/date-time-pickers/date-picker/types.js.map +1 -0
  129. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.d.ts +2 -2
  130. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js +51 -36
  131. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js.map +1 -0
  132. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.d.ts +11 -13
  133. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js +89 -64
  134. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js.map +1 -0
  135. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.d.ts +3 -3
  136. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.js +3 -0
  137. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.js.map +1 -0
  138. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.d.ts +20 -20
  139. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.js +3 -0
  140. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.js.map +1 -0
  141. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.d.ts +4 -4
  142. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js +95 -60
  143. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js.map +1 -0
  144. package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.d.ts +15 -0
  145. package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.js +120 -0
  146. package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.js.map +1 -0
  147. package/dist/components/ui/core/date-time-pickers/date-time-picker/index.d.ts +3 -1
  148. package/dist/components/ui/core/date-time-pickers/date-time-picker/index.js +3 -0
  149. package/dist/components/ui/core/date-time-pickers/date-time-picker/index.js.map +1 -0
  150. package/dist/components/ui/core/date-time-pickers/date-time-picker/types.d.ts +25 -32
  151. package/dist/components/ui/core/date-time-pickers/date-time-picker/types.js +3 -0
  152. package/dist/components/ui/core/date-time-pickers/date-time-picker/types.js.map +1 -0
  153. package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.d.ts +2 -2
  154. package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.js +78 -0
  155. package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.js.map +1 -0
  156. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.d.ts +13 -15
  157. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js +165 -119
  158. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js.map +1 -0
  159. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.d.ts +3 -3
  160. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.js +3 -0
  161. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.js.map +1 -0
  162. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.d.ts +37 -37
  163. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.js +3 -0
  164. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.js.map +1 -0
  165. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.d.ts +3 -3
  166. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js +163 -104
  167. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js.map +1 -0
  168. package/dist/components/ui/core/date-time-pickers/index.d.ts +17 -12
  169. package/dist/components/ui/core/date-time-pickers/index.js +10 -6
  170. package/dist/components/ui/core/date-time-pickers/index.js.map +1 -0
  171. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.d.ts +5 -5
  172. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js +52 -42
  173. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js.map +1 -0
  174. package/dist/components/ui/core/date-time-pickers/shared/constants.d.ts +6 -1
  175. package/dist/components/ui/core/date-time-pickers/shared/constants.js +23 -0
  176. package/dist/components/ui/core/date-time-pickers/shared/constants.js.map +1 -0
  177. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.d.ts +16 -15
  178. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js +87 -64
  179. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js.map +1 -0
  180. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.d.ts +10 -9
  181. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js +89 -38
  182. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js.map +1 -0
  183. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.d.ts +5 -5
  184. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js +34 -23
  185. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js.map +1 -0
  186. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.d.ts +23 -23
  187. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js +95 -52
  188. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js.map +1 -0
  189. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.d.ts +5 -5
  190. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js +22 -18
  191. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js.map +1 -0
  192. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.d.ts +19 -19
  193. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js +41 -24
  194. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js.map +1 -0
  195. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.d.ts +13 -13
  196. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js +33 -24
  197. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js.map +1 -0
  198. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.d.ts +5 -5
  199. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js +9 -4
  200. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js.map +1 -0
  201. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.d.ts +13 -9
  202. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js +22 -17
  203. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js.map +1 -0
  204. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.d.ts +2 -2
  205. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.js +3 -0
  206. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.js.map +1 -0
  207. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.d.ts +13 -13
  208. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js +49 -40
  209. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js.map +1 -0
  210. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.d.ts +7 -7
  211. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js +41 -34
  212. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js.map +1 -0
  213. package/dist/components/ui/core/date-time-pickers/time-picker/index.d.ts +3 -3
  214. package/dist/components/ui/core/date-time-pickers/time-picker/index.js +3 -0
  215. package/dist/components/ui/core/date-time-pickers/time-picker/index.js.map +1 -0
  216. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.d.ts +12 -14
  217. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js +99 -79
  218. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js.map +1 -0
  219. package/dist/components/ui/core/date-time-pickers/time-picker/types.d.ts +20 -20
  220. package/dist/components/ui/core/date-time-pickers/time-picker/types.js +3 -0
  221. package/dist/components/ui/core/date-time-pickers/time-picker/types.js.map +1 -0
  222. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.d.ts +2 -2
  223. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js +63 -41
  224. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js.map +1 -0
  225. package/dist/components/ui/core/date-time-pickers/time-range-picker/index.d.ts +3 -1
  226. package/dist/components/ui/core/date-time-pickers/time-range-picker/index.js +3 -0
  227. package/dist/components/ui/core/date-time-pickers/time-range-picker/index.js.map +1 -0
  228. package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.d.ts +14 -0
  229. package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.js +115 -0
  230. package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.js.map +1 -0
  231. package/dist/components/ui/core/date-time-pickers/time-range-picker/types.d.ts +30 -36
  232. package/dist/components/ui/core/date-time-pickers/time-range-picker/types.js +3 -0
  233. package/dist/components/ui/core/date-time-pickers/time-range-picker/types.js.map +1 -0
  234. package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.d.ts +2 -2
  235. package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.js +145 -0
  236. package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.js.map +1 -0
  237. package/dist/components/ui/core/date-time-pickers/utils/date-input.d.ts +56 -0
  238. package/dist/components/ui/core/date-time-pickers/utils/date-input.js +67 -0
  239. package/dist/components/ui/core/date-time-pickers/utils/date-input.js.map +1 -0
  240. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.d.ts +18 -18
  241. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.js +42 -0
  242. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.js.map +1 -0
  243. package/dist/components/ui/core/date-time-pickers/utils/format-utils.d.ts +31 -29
  244. package/dist/components/ui/core/date-time-pickers/utils/format-utils.js +56 -0
  245. package/dist/components/ui/core/date-time-pickers/utils/format-utils.js.map +1 -0
  246. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.d.ts +21 -21
  247. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.js +170 -0
  248. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.js.map +1 -0
  249. package/dist/components/ui/core/date-time-pickers/utils/time-utils.d.ts +28 -28
  250. package/dist/components/ui/core/date-time-pickers/utils/time-utils.js +88 -7
  251. package/dist/components/ui/core/date-time-pickers/utils/time-utils.js.map +1 -0
  252. package/dist/components/ui/core/date-time-pickers/utils/time-validation.d.ts +17 -17
  253. package/dist/components/ui/core/date-time-pickers/utils/time-validation.js +43 -0
  254. package/dist/components/ui/core/date-time-pickers/utils/time-validation.js.map +1 -0
  255. package/dist/components/ui/core/dialog/dialog.d.ts +12 -9
  256. package/dist/components/ui/core/dialog/dialog.js +90 -82
  257. package/dist/components/ui/core/dialog/dialog.js.map +1 -0
  258. package/dist/components/ui/core/dropdown-menu/dropdown-menu.d.ts +22 -19
  259. package/dist/components/ui/core/dropdown-menu/dropdown-menu.js +204 -149
  260. package/dist/components/ui/core/dropdown-menu/dropdown-menu.js.map +1 -0
  261. package/dist/components/ui/core/empty-state/empty-state.context.d.ts +4 -4
  262. package/dist/components/ui/core/empty-state/empty-state.context.js +8 -5
  263. package/dist/components/ui/core/empty-state/empty-state.context.js.map +1 -0
  264. package/dist/components/ui/core/empty-state/empty-state.d.ts +14 -14
  265. package/dist/components/ui/core/empty-state/empty-state.js +96 -82
  266. package/dist/components/ui/core/empty-state/empty-state.js.map +1 -0
  267. package/dist/components/ui/core/helper-text/helper-text.d.ts +7 -7
  268. package/dist/components/ui/core/helper-text/helper-text.js +55 -36
  269. package/dist/components/ui/core/helper-text/helper-text.js.map +1 -0
  270. package/dist/components/ui/core/hover-card/hover-card.d.ts +7 -6
  271. package/dist/components/ui/core/hover-card/hover-card.js +56 -52
  272. package/dist/components/ui/core/hover-card/hover-card.js.map +1 -0
  273. package/dist/components/ui/core/inline-citation/inline-citation.d.ts +26 -25
  274. package/dist/components/ui/core/inline-citation/inline-citation.js +121 -97
  275. package/dist/components/ui/core/inline-citation/inline-citation.js.map +1 -0
  276. package/dist/components/ui/core/input/input.d.ts +2 -2
  277. package/dist/components/ui/core/input/input.js +15 -13
  278. package/dist/components/ui/core/input/input.js.map +1 -0
  279. package/dist/components/ui/core/input-group/input-group.d.ts +25 -14
  280. package/dist/components/ui/core/input-group/input-group.js +149 -76
  281. package/dist/components/ui/core/input-group/input-group.js.map +1 -0
  282. package/dist/components/ui/core/item/item.d.ts +20 -0
  283. package/dist/components/ui/core/item/item.js +93 -0
  284. package/dist/components/ui/core/item/item.js.map +1 -0
  285. package/dist/components/ui/core/kbd/kbd.d.ts +3 -3
  286. package/dist/components/ui/core/kbd/kbd.js +24 -20
  287. package/dist/components/ui/core/kbd/kbd.js.map +1 -0
  288. package/dist/components/ui/core/label/label.d.ts +3 -3
  289. package/dist/components/ui/core/label/label.js +33 -26
  290. package/dist/components/ui/core/label/label.js.map +1 -0
  291. package/dist/components/ui/core/loader/loader.d.ts +6 -6
  292. package/dist/components/ui/core/loader/loader.js +97 -80
  293. package/dist/components/ui/core/loader/loader.js.map +1 -0
  294. package/dist/components/ui/core/message/message-response-default-streamdown-controls.d.ts +9 -9
  295. package/dist/components/ui/core/message/message-response-default-streamdown-controls.js +19 -12
  296. package/dist/components/ui/core/message/message-response-default-streamdown-controls.js.map +1 -0
  297. package/dist/components/ui/core/message/message-response-math-plugin.d.ts +3 -0
  298. package/dist/components/ui/core/message/message-response-math-plugin.js +6 -0
  299. package/dist/components/ui/core/message/message-response-math-plugin.js.map +1 -0
  300. package/dist/components/ui/core/message/message.d.ts +27 -23
  301. package/dist/components/ui/core/message/message.js +453 -316
  302. package/dist/components/ui/core/message/message.js.map +1 -0
  303. package/dist/components/ui/core/overflow-list/overflow-list.d.ts +21 -0
  304. package/dist/components/ui/core/overflow-list/overflow-list.js +197 -0
  305. package/dist/components/ui/core/overflow-list/overflow-list.js.map +1 -0
  306. package/dist/components/ui/core/overflow-list/overflow-list.utils.d.ts +37 -35
  307. package/dist/components/ui/core/overflow-list/overflow-list.utils.js +206 -0
  308. package/dist/components/ui/core/overflow-list/overflow-list.utils.js.map +1 -0
  309. package/dist/components/ui/core/pagination/pagination-size-context.d.ts +2 -2
  310. package/dist/components/ui/core/pagination/pagination-size-context.js +6 -5
  311. package/dist/components/ui/core/pagination/pagination-size-context.js.map +1 -0
  312. package/dist/components/ui/core/pagination/pagination-teleport.d.ts +9 -9
  313. package/dist/components/ui/core/pagination/pagination-teleport.js +127 -84
  314. package/dist/components/ui/core/pagination/pagination-teleport.js.map +1 -0
  315. package/dist/components/ui/core/pagination/pagination-teleport.utils.js +6 -6
  316. package/dist/components/ui/core/pagination/pagination-teleport.utils.js.map +1 -0
  317. package/dist/components/ui/core/pagination/pagination.d.ts +39 -39
  318. package/dist/components/ui/core/pagination/pagination.js +294 -234
  319. package/dist/components/ui/core/pagination/pagination.js.map +1 -0
  320. package/dist/components/ui/core/popover/popover.d.ts +12 -11
  321. package/dist/components/ui/core/popover/popover.js +104 -89
  322. package/dist/components/ui/core/popover/popover.js.map +1 -0
  323. package/dist/components/ui/core/progress/progress.d.ts +9 -8
  324. package/dist/components/ui/core/progress/progress.js +50 -35
  325. package/dist/components/ui/core/progress/progress.js.map +1 -0
  326. package/dist/components/ui/core/prompt-input/prompt-input.d.ts +27 -27
  327. package/dist/components/ui/core/prompt-input/prompt-input.js +342 -271
  328. package/dist/components/ui/core/prompt-input/prompt-input.js.map +1 -0
  329. package/dist/components/ui/core/radio-group/radio-group.d.ts +12 -12
  330. package/dist/components/ui/core/radio-group/radio-group.js +88 -58
  331. package/dist/components/ui/core/radio-group/radio-group.js.map +1 -0
  332. package/dist/components/ui/core/reasoning/reasoning.d.ts +7 -7
  333. package/dist/components/ui/core/reasoning/reasoning.js +68 -56
  334. package/dist/components/ui/core/reasoning/reasoning.js.map +1 -0
  335. package/dist/components/ui/core/scroll-area/scroll-area.d.ts +4 -4
  336. package/dist/components/ui/core/scroll-area/scroll-area.js +50 -40
  337. package/dist/components/ui/core/scroll-area/scroll-area.js.map +1 -0
  338. package/dist/components/ui/core/search/search.d.ts +8 -8
  339. package/dist/components/ui/core/search/search.js +122 -76
  340. package/dist/components/ui/core/search/search.js.map +1 -0
  341. package/dist/components/ui/core/segmented-control/segmented-control.d.ts +10 -10
  342. package/dist/components/ui/core/segmented-control/segmented-control.js +203 -149
  343. package/dist/components/ui/core/segmented-control/segmented-control.js.map +1 -0
  344. package/dist/components/ui/core/select/select.d.ts +27 -26
  345. package/dist/components/ui/core/select/select.js +213 -168
  346. package/dist/components/ui/core/select/select.js.map +1 -0
  347. package/dist/components/ui/core/separator/separator.d.ts +2 -2
  348. package/dist/components/ui/core/separator/separator.js +13 -13
  349. package/dist/components/ui/core/separator/separator.js.map +1 -0
  350. package/dist/components/ui/core/shimmer/shimmer.d.ts +8 -8
  351. package/dist/components/ui/core/shimmer/shimmer.js +64 -40
  352. package/dist/components/ui/core/shimmer/shimmer.js.map +1 -0
  353. package/dist/components/ui/core/skeleton/skeleton.d.ts +2 -2
  354. package/dist/components/ui/core/skeleton/skeleton.js +13 -13
  355. package/dist/components/ui/core/skeleton/skeleton.js.map +1 -0
  356. package/dist/components/ui/core/slider/slider.d.ts +7 -7
  357. package/dist/components/ui/core/slider/slider.js +51 -39
  358. package/dist/components/ui/core/slider/slider.js.map +1 -0
  359. package/dist/components/ui/core/sonner-toast/sonner-toast.d.ts +2 -2
  360. package/dist/components/ui/core/sonner-toast/sonner-toast.js +67 -54
  361. package/dist/components/ui/core/sonner-toast/sonner-toast.js.map +1 -0
  362. package/dist/components/ui/core/sources/sources.d.ts +12 -12
  363. package/dist/components/ui/core/sources/sources.js +87 -58
  364. package/dist/components/ui/core/sources/sources.js.map +1 -0
  365. package/dist/components/ui/core/switch/switch.d.ts +9 -9
  366. package/dist/components/ui/core/switch/switch.js +83 -61
  367. package/dist/components/ui/core/switch/switch.js.map +1 -0
  368. package/dist/components/ui/core/switch/switch.metadata.d.ts +1 -1
  369. package/dist/components/ui/core/switch/switch.metadata.js +8 -0
  370. package/dist/components/ui/core/switch/switch.metadata.js.map +1 -0
  371. package/dist/components/ui/core/tabs/tabs.d.ts +20 -18
  372. package/dist/components/ui/core/tabs/tabs.js +176 -147
  373. package/dist/components/ui/core/tabs/tabs.js.map +1 -0
  374. package/dist/components/ui/core/tabs/tabs.utils.d.ts +1 -1
  375. package/dist/components/ui/core/tabs/tabs.utils.js +10 -6
  376. package/dist/components/ui/core/tabs/tabs.utils.js.map +1 -0
  377. package/dist/components/ui/core/textarea/textarea.d.ts +2 -2
  378. package/dist/components/ui/core/textarea/textarea.js +13 -13
  379. package/dist/components/ui/core/textarea/textarea.js.map +1 -0
  380. package/dist/components/ui/core/toggle/toggle.d.ts +9 -9
  381. package/dist/components/ui/core/toggle/toggle.js +60 -54
  382. package/dist/components/ui/core/toggle/toggle.js.map +1 -0
  383. package/dist/components/ui/core/tool/tool.d.ts +18 -18
  384. package/dist/components/ui/core/tool/tool.js +167 -126
  385. package/dist/components/ui/core/tool/tool.js.map +1 -0
  386. package/dist/components/ui/core/toolbar/toolbar.d.ts +37 -0
  387. package/dist/components/ui/core/toolbar/toolbar.js +171 -0
  388. package/dist/components/ui/core/toolbar/toolbar.js.map +1 -0
  389. package/dist/components/ui/core/tooltip/tooltip.d.ts +8 -7
  390. package/dist/components/ui/core/tooltip/tooltip.js +53 -46
  391. package/dist/components/ui/core/tooltip/tooltip.js.map +1 -0
  392. package/dist/components/ui/core/topbar/topbar.d.ts +26 -26
  393. package/dist/components/ui/core/topbar/topbar.js +160 -105
  394. package/dist/components/ui/core/topbar/topbar.js.map +1 -0
  395. package/dist/components/ui/core/tree/tree.d.ts +20 -0
  396. package/dist/components/ui/core/tree/tree.js +100 -0
  397. package/dist/components/ui/core/tree/tree.js.map +1 -0
  398. package/dist/eslint/index.d.ts +5 -5
  399. package/dist/eslint/index.js +9 -5
  400. package/dist/eslint/index.js.map +1 -0
  401. package/dist/eslint/no-overriding-styles.d.ts +1 -1
  402. package/dist/eslint/no-overriding-styles.js +341 -201
  403. package/dist/eslint/no-overriding-styles.js.map +1 -0
  404. package/dist/icons/index.d.ts +1 -1
  405. package/dist/icons/index.js +2 -0
  406. package/dist/icons/index.js.map +1 -0
  407. package/dist/index.d.ts +1 -1
  408. package/dist/index.js +3 -0
  409. package/dist/index.js.map +1 -0
  410. package/dist/lib/ai/types.d.ts +43 -43
  411. package/dist/lib/ai/types.js +3 -0
  412. package/dist/lib/ai/types.js.map +1 -0
  413. package/dist/lib/decorative-variant-classes.d.ts +53 -0
  414. package/dist/lib/decorative-variant-classes.js +58 -0
  415. package/dist/lib/decorative-variant-classes.js.map +1 -0
  416. package/dist/lib/highlight-code.d.ts +11 -8
  417. package/dist/lib/highlight-code.js +58 -40
  418. package/dist/lib/highlight-code.js.map +1 -0
  419. package/dist/lib/portal-container-context.d.ts +1 -1
  420. package/dist/lib/portal-container-context.js +8 -8
  421. package/dist/lib/portal-container-context.js.map +1 -0
  422. package/dist/lib/shared-theme-from-url.d.ts +13 -0
  423. package/dist/lib/shared-theme-from-url.js +61 -0
  424. package/dist/lib/shared-theme-from-url.js.map +1 -0
  425. package/dist/lib/style-scope.d.ts +2 -2
  426. package/dist/lib/style-scope.js +6 -6
  427. package/dist/lib/style-scope.js.map +1 -0
  428. package/dist/lib/theme-share-url.d.ts +31 -0
  429. package/dist/lib/theme-share-url.js +116 -0
  430. package/dist/lib/theme-share-url.js.map +1 -0
  431. package/dist/lib/types.d.ts +39 -39
  432. package/dist/lib/types.js +3 -0
  433. package/dist/lib/types.js.map +1 -0
  434. package/dist/lib/use-controllable-state.d.ts +4 -7
  435. package/dist/lib/use-controllable-state.js +34 -21
  436. package/dist/lib/use-controllable-state.js.map +1 -0
  437. package/dist/lib/utils.d.ts +63 -34
  438. package/dist/lib/utils.js +134 -32
  439. package/dist/lib/utils.js.map +1 -0
  440. package/dist/styles.css +2 -1
  441. package/dist/styles.source.css +24 -12
  442. package/dist/utils/assign-ref.d.ts +3 -0
  443. package/dist/utils/assign-ref.js +13 -0
  444. package/dist/utils/assign-ref.js.map +1 -0
  445. package/package.json +46 -11
  446. package/src/components/ui/core/button/button.md +93 -0
@@ -1,19 +1,20 @@
1
- import { FC } from 'react';
2
- import { Dayjs } from 'dayjs';
1
+ import type { FC } from "react";
2
+ import type { Dayjs } from "dayjs";
3
3
  export declare const DEFAULT_ARIA_LABEL = "Date picker";
4
- export type DateTimeInputVariant = 'date' | 'time' | 'datetime';
5
- export type RangePart = 'start' | 'end';
4
+ export type DateTimeInputVariant = "date" | "time" | "datetime";
5
+ export type RangePart = "start" | "end";
6
6
  export interface DateTimeInputProps {
7
- value: [Dayjs | null, Dayjs | null] | Dayjs | null;
8
- format: string;
9
- placeholder?: string;
10
- onClick?: () => void;
11
- isOpen: boolean;
12
- className?: string;
13
- ariaLabel?: string;
14
- variant?: DateTimeInputVariant;
15
- activeRangePart?: RangePart;
16
- onRangePartClick?: (part: RangePart) => void;
17
- popoverId?: string;
7
+ value: [Dayjs | null, Dayjs | null] | Dayjs | null;
8
+ format: string;
9
+ placeholder?: string;
10
+ onClick?: () => void;
11
+ isOpen: boolean;
12
+ className?: string;
13
+ ariaLabel?: string;
14
+ variant?: DateTimeInputVariant;
15
+ activeRangePart?: RangePart;
16
+ onRangePartClick?: (part: RangePart) => void;
17
+ popoverId?: string;
18
+ disabled?: boolean;
18
19
  }
19
20
  export declare const DateTimeInput: FC<DateTimeInputProps>;
@@ -1,65 +1,88 @@
1
- import { cn as e } from "../../../../../../lib/utils.js";
2
- import { Input as t } from "../../../input/input.js";
3
- import { RangeInputDisplay as n } from "./range-input-display.js";
4
- import { IconCalendar as r, IconCalendarClock as i, IconClock as a } from "@tabler/icons-react";
5
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
6
- //#region libs/aura/src/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.tsx
7
- var c = "Date picker", l = () => void 0, u = {
8
- date: /* @__PURE__ */ o(r, {
9
- "aria-label": "date-icon",
10
- className: "size-4"
11
- }),
12
- time: /* @__PURE__ */ o(a, {
13
- "aria-label": "time-icon",
14
- className: "size-4"
15
- }),
16
- datetime: /* @__PURE__ */ o(i, {
17
- "aria-label": "datetime-icon",
18
- className: "size-4"
19
- })
20
- }, d = (t, n) => e("absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none", "flex items-center justify-center", "transition-colors duration-150", n || t ? "text-foreground" : "text-muted-foreground", "group-hover:text-foreground"), f = ({ value: r, format: i, placeholder: a, onClick: f, isOpen: p, className: m, ariaLabel: h = c, variant: g = "date", activeRangePart: _, onRangePartClick: v, popoverId: y }) => {
21
- if (Array.isArray(r)) {
22
- let t = r[0] !== null || r[1] !== null;
23
- return /* @__PURE__ */ s("div", {
24
- "data-slot": "date-time-input",
25
- className: e("relative flex items-center cursor-pointer w-full group", m),
26
- role: "combobox",
27
- "aria-label": h,
28
- "aria-expanded": p,
29
- "aria-controls": y,
30
- onClick: f,
31
- children: [/* @__PURE__ */ o(n, {
32
- startDate: r[0],
33
- endDate: r[1],
34
- format: i,
35
- activeRangePart: _,
36
- onRangePartClick: v,
37
- isOpen: p
38
- }), /* @__PURE__ */ o("div", {
39
- className: d(p, t),
40
- children: u[g]
41
- })]
42
- });
43
- }
44
- let b = r?.format(i) ?? "", x = b.length > 0, S = a ?? i;
45
- return /* @__PURE__ */ s("div", {
46
- "data-slot": "date-time-input",
47
- className: e("relative flex items-center cursor-pointer w-full group", m),
48
- onClick: f,
49
- children: [/* @__PURE__ */ o(t, {
50
- value: b,
51
- placeholder: S,
52
- onChange: l,
53
- "aria-label": h,
54
- "aria-expanded": p,
55
- "aria-controls": y,
56
- role: "combobox",
57
- className: e("border-transparent bg-muted-background cursor-pointer caret-transparent pr-9", x ? "text-foreground" : "text-muted-foreground", "hover:border-border-emphasized", p && "!bg-background !text-foreground !border-border")
58
- }), /* @__PURE__ */ o("div", {
59
- className: d(p, x),
60
- children: u[g]
61
- })]
62
- });
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { IconCalendar, IconCalendarClock, IconClock } from "@tabler/icons-react";
3
+ import { cn } from "../../../../../../lib/utils.js";
4
+ import { Input } from "../../../input/input.js";
5
+ import { RangeInputDisplay } from "./range-input-display.js";
6
+ export const DEFAULT_ARIA_LABEL = 'Date picker';
7
+ const noop = ()=>undefined;
8
+ const VARIANT_ICONS = {
9
+ date: /*#__PURE__*/ _jsx(IconCalendar, {
10
+ "aria-label": "date-icon",
11
+ className: "size-4"
12
+ }),
13
+ time: /*#__PURE__*/ _jsx(IconClock, {
14
+ "aria-label": "time-icon",
15
+ className: "size-4"
16
+ }),
17
+ datetime: /*#__PURE__*/ _jsx(IconCalendarClock, {
18
+ "aria-label": "datetime-icon",
19
+ className: "size-4"
20
+ })
63
21
  };
64
- //#endregion
65
- export { c as DEFAULT_ARIA_LABEL, f as DateTimeInput };
22
+ const iconOverlay = (isOpen, isFilled, disabled)=>{
23
+ let colorClass = 'text-muted-foreground';
24
+ if (disabled) {
25
+ colorClass = 'text-base-foreground-disabled';
26
+ } else if (isFilled || isOpen) {
27
+ colorClass = 'text-base-foreground';
28
+ }
29
+ return cn('absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none', 'flex items-center justify-center', 'transition-colors duration-150', colorClass, !disabled && 'group-hover:text-base-foreground');
30
+ };
31
+ export const DateTimeInput = ({ value, format, placeholder, onClick, isOpen, className, ariaLabel = DEFAULT_ARIA_LABEL, variant = 'date', activeRangePart, onRangePartClick, popoverId, disabled })=>{
32
+ const isRangeValue = Array.isArray(value);
33
+ if (isRangeValue) {
34
+ const isRangeFilled = value[0] !== null || value[1] !== null;
35
+ return /*#__PURE__*/ _jsxs("div", {
36
+ "data-slot": "date-time-input",
37
+ className: cn('relative flex items-center w-full group', disabled ? 'cursor-not-allowed' : 'cursor-pointer', className),
38
+ role: "combobox",
39
+ "aria-label": ariaLabel,
40
+ "aria-expanded": isOpen,
41
+ "aria-controls": popoverId,
42
+ "aria-disabled": disabled || undefined,
43
+ onClick: disabled ? undefined : onClick,
44
+ children: [
45
+ /*#__PURE__*/ _jsx(RangeInputDisplay, {
46
+ startDate: value[0],
47
+ endDate: value[1],
48
+ format: format,
49
+ activeRangePart: activeRangePart,
50
+ onRangePartClick: onRangePartClick,
51
+ isOpen: isOpen,
52
+ disabled: disabled
53
+ }),
54
+ /*#__PURE__*/ _jsx("div", {
55
+ className: iconOverlay(isOpen, isRangeFilled, disabled),
56
+ children: VARIANT_ICONS[variant]
57
+ })
58
+ ]
59
+ });
60
+ }
61
+ const displayValue = value?.format(format) ?? '';
62
+ const isFilled = displayValue.length > 0;
63
+ const placeholderText = placeholder ?? format;
64
+ return /*#__PURE__*/ _jsxs("div", {
65
+ "data-slot": "date-time-input",
66
+ className: cn('relative flex items-center w-full group', disabled ? 'cursor-not-allowed' : 'cursor-pointer', className),
67
+ onClick: disabled ? undefined : onClick,
68
+ children: [
69
+ /*#__PURE__*/ _jsx(Input, {
70
+ value: displayValue,
71
+ placeholder: placeholderText,
72
+ onChange: noop,
73
+ disabled: disabled,
74
+ "aria-label": ariaLabel,
75
+ "aria-expanded": isOpen,
76
+ "aria-controls": popoverId,
77
+ role: "combobox",
78
+ className: cn('border-transparent bg-medium-background caret-transparent pr-9', disabled ? 'cursor-not-allowed' : 'cursor-pointer', !disabled && (isFilled ? 'text-base-foreground' : 'text-muted-foreground'), !disabled && 'hover:border-emphasized', !disabled && isOpen && '!bg-base-background !text-base-foreground !border-default')
79
+ }),
80
+ /*#__PURE__*/ _jsx("div", {
81
+ className: iconOverlay(isOpen, isFilled, disabled),
82
+ children: VARIANT_ICONS[variant]
83
+ })
84
+ ]
85
+ });
86
+ };
87
+
88
+ //# sourceMappingURL=date-time-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.tsx"],"sourcesContent":["import type { FC, ReactNode } from 'react';\n\nimport {\n IconCalendar,\n IconCalendarClock,\n IconClock,\n} from '@tabler/icons-react';\nimport type { Dayjs } from 'dayjs';\n\nimport { cn } from '../../../../../../lib/utils';\nimport { Input } from '../../../input/input';\n\nimport { RangeInputDisplay } from './range-input-display';\n\nexport const DEFAULT_ARIA_LABEL = 'Date picker';\n\nconst noop = () => undefined;\n\nexport type DateTimeInputVariant = 'date' | 'time' | 'datetime';\nexport type RangePart = 'start' | 'end';\n\nconst VARIANT_ICONS: Record<DateTimeInputVariant, ReactNode> = {\n date: <IconCalendar aria-label=\"date-icon\" className=\"size-4\" />,\n time: <IconClock aria-label=\"time-icon\" className=\"size-4\" />,\n datetime: <IconCalendarClock aria-label=\"datetime-icon\" className=\"size-4\" />,\n};\n\nconst iconOverlay = (\n isOpen: boolean,\n isFilled: boolean,\n disabled?: boolean\n) => {\n let colorClass = 'text-muted-foreground';\n if (disabled) {\n colorClass = 'text-base-foreground-disabled';\n } else if (isFilled || isOpen) {\n colorClass = 'text-base-foreground';\n }\n\n return cn(\n 'absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none',\n 'flex items-center justify-center',\n 'transition-colors duration-150',\n colorClass,\n !disabled && 'group-hover:text-base-foreground'\n );\n};\n\nexport interface DateTimeInputProps {\n value: [Dayjs | null, Dayjs | null] | Dayjs | null;\n format: string;\n placeholder?: string;\n onClick?: () => void;\n isOpen: boolean;\n className?: string;\n ariaLabel?: string;\n variant?: DateTimeInputVariant;\n activeRangePart?: RangePart;\n onRangePartClick?: (part: RangePart) => void;\n popoverId?: string;\n disabled?: boolean;\n}\n\nexport const DateTimeInput: FC<DateTimeInputProps> = ({\n value,\n format,\n placeholder,\n onClick,\n isOpen,\n className,\n ariaLabel = DEFAULT_ARIA_LABEL,\n variant = 'date',\n activeRangePart,\n onRangePartClick,\n popoverId,\n disabled,\n}) => {\n const isRangeValue = Array.isArray(value);\n\n if (isRangeValue) {\n const isRangeFilled = value[0] !== null || value[1] !== null;\n return (\n <div\n data-slot=\"date-time-input\"\n className={cn(\n 'relative flex items-center w-full group',\n disabled ? 'cursor-not-allowed' : 'cursor-pointer',\n className\n )}\n role=\"combobox\"\n aria-label={ariaLabel}\n aria-expanded={isOpen}\n aria-controls={popoverId}\n aria-disabled={disabled || undefined}\n onClick={disabled ? undefined : onClick}\n >\n <RangeInputDisplay\n startDate={value[0]}\n endDate={value[1]}\n format={format}\n activeRangePart={activeRangePart}\n onRangePartClick={onRangePartClick}\n isOpen={isOpen}\n disabled={disabled}\n />\n <div className={iconOverlay(isOpen, isRangeFilled, disabled)}>\n {VARIANT_ICONS[variant]}\n </div>\n </div>\n );\n }\n\n const displayValue = value?.format(format) ?? '';\n const isFilled = displayValue.length > 0;\n const placeholderText = placeholder ?? format;\n\n return (\n <div\n data-slot=\"date-time-input\"\n className={cn(\n 'relative flex items-center w-full group',\n disabled ? 'cursor-not-allowed' : 'cursor-pointer',\n className\n )}\n onClick={disabled ? undefined : onClick}\n >\n <Input\n value={displayValue}\n placeholder={placeholderText}\n onChange={noop}\n disabled={disabled}\n aria-label={ariaLabel}\n aria-expanded={isOpen}\n aria-controls={popoverId}\n role=\"combobox\"\n className={cn(\n 'border-transparent bg-medium-background caret-transparent pr-9',\n disabled ? 'cursor-not-allowed' : 'cursor-pointer',\n !disabled &&\n (isFilled ? 'text-base-foreground' : 'text-muted-foreground'),\n !disabled && 'hover:border-emphasized',\n !disabled &&\n isOpen &&\n '!bg-base-background !text-base-foreground !border-default'\n )}\n />\n <div className={iconOverlay(isOpen, isFilled, disabled)}>\n {VARIANT_ICONS[variant]}\n </div>\n </div>\n );\n};\n"],"names":["IconCalendar","IconCalendarClock","IconClock","cn","Input","RangeInputDisplay","DEFAULT_ARIA_LABEL","noop","undefined","VARIANT_ICONS","date","aria-label","className","time","datetime","iconOverlay","isOpen","isFilled","disabled","colorClass","DateTimeInput","value","format","placeholder","onClick","ariaLabel","variant","activeRangePart","onRangePartClick","popoverId","isRangeValue","Array","isArray","isRangeFilled","div","data-slot","role","aria-expanded","aria-controls","aria-disabled","startDate","endDate","displayValue","length","placeholderText","onChange"],"mappings":";AAEA,SACEA,YAAY,EACZC,iBAAiB,EACjBC,SAAS,QACJ,sBAAsB;AAG7B,SAASC,EAAE,QAAQ,iCAA8B;AACjD,SAASC,KAAK,QAAQ,0BAAuB;AAE7C,SAASC,iBAAiB,QAAQ,2BAAwB;AAE1D,OAAO,MAAMC,qBAAqB,cAAc;AAEhD,MAAMC,OAAO,IAAMC;AAKnB,MAAMC,gBAAyD;IAC7DC,oBAAM,KAACV;QAAaW,cAAW;QAAYC,WAAU;;IACrDC,oBAAM,KAACX;QAAUS,cAAW;QAAYC,WAAU;;IAClDE,wBAAU,KAACb;QAAkBU,cAAW;QAAgBC,WAAU;;AACpE;AAEA,MAAMG,cAAc,CAClBC,QACAC,UACAC;IAEA,IAAIC,aAAa;IACjB,IAAID,UAAU;QACZC,aAAa;IACf,OAAO,IAAIF,YAAYD,QAAQ;QAC7BG,aAAa;IACf;IAEA,OAAOhB,GACL,iEACA,oCACA,kCACAgB,YACA,CAACD,YAAY;AAEjB;AAiBA,OAAO,MAAME,gBAAwC,CAAC,EACpDC,KAAK,EACLC,MAAM,EACNC,WAAW,EACXC,OAAO,EACPR,MAAM,EACNJ,SAAS,EACTa,YAAYnB,kBAAkB,EAC9BoB,UAAU,MAAM,EAChBC,eAAe,EACfC,gBAAgB,EAChBC,SAAS,EACTX,QAAQ,EACT;IACC,MAAMY,eAAeC,MAAMC,OAAO,CAACX;IAEnC,IAAIS,cAAc;QAChB,MAAMG,gBAAgBZ,KAAK,CAAC,EAAE,KAAK,QAAQA,KAAK,CAAC,EAAE,KAAK;QACxD,qBACE,MAACa;YACCC,aAAU;YACVvB,WAAWT,GACT,2CACAe,WAAW,uBAAuB,kBAClCN;YAEFwB,MAAK;YACLzB,cAAYc;YACZY,iBAAerB;YACfsB,iBAAeT;YACfU,iBAAerB,YAAYV;YAC3BgB,SAASN,WAAWV,YAAYgB;;8BAEhC,KAACnB;oBACCmC,WAAWnB,KAAK,CAAC,EAAE;oBACnBoB,SAASpB,KAAK,CAAC,EAAE;oBACjBC,QAAQA;oBACRK,iBAAiBA;oBACjBC,kBAAkBA;oBAClBZ,QAAQA;oBACRE,UAAUA;;8BAEZ,KAACgB;oBAAItB,WAAWG,YAAYC,QAAQiB,eAAef;8BAChDT,aAAa,CAACiB,QAAQ;;;;IAI/B;IAEA,MAAMgB,eAAerB,OAAOC,OAAOA,WAAW;IAC9C,MAAML,WAAWyB,aAAaC,MAAM,GAAG;IACvC,MAAMC,kBAAkBrB,eAAeD;IAEvC,qBACE,MAACY;QACCC,aAAU;QACVvB,WAAWT,GACT,2CACAe,WAAW,uBAAuB,kBAClCN;QAEFY,SAASN,WAAWV,YAAYgB;;0BAEhC,KAACpB;gBACCiB,OAAOqB;gBACPnB,aAAaqB;gBACbC,UAAUtC;gBACVW,UAAUA;gBACVP,cAAYc;gBACZY,iBAAerB;gBACfsB,iBAAeT;gBACfO,MAAK;gBACLxB,WAAWT,GACT,kEACAe,WAAW,uBAAuB,kBAClC,CAACA,YACED,CAAAA,WAAW,yBAAyB,uBAAsB,GAC7D,CAACC,YAAY,2BACb,CAACA,YACCF,UACA;;0BAGN,KAACkB;gBAAItB,WAAWG,YAAYC,QAAQC,UAAUC;0BAC3CT,aAAa,CAACiB,QAAQ;;;;AAI/B,EAAE"}
@@ -1,12 +1,13 @@
1
- import { FC } from 'react';
2
- import { Dayjs } from 'dayjs';
3
- import { RangePart } from './date-time-input';
1
+ import type { FC } from "react";
2
+ import type { Dayjs } from "dayjs";
3
+ import type { RangePart } from "./date-time-input";
4
4
  export interface RangeInputDisplayProps {
5
- startDate: Dayjs | null;
6
- endDate: Dayjs | null;
7
- format: string;
8
- activeRangePart?: RangePart;
9
- onRangePartClick?: (part: RangePart) => void;
10
- isOpen?: boolean;
5
+ startDate: Dayjs | null;
6
+ endDate: Dayjs | null;
7
+ format: string;
8
+ activeRangePart?: RangePart;
9
+ onRangePartClick?: (part: RangePart) => void;
10
+ isOpen?: boolean;
11
+ disabled?: boolean;
11
12
  }
12
13
  export declare const RangeInputDisplay: FC<RangeInputDisplayProps>;
@@ -1,39 +1,90 @@
1
- import { cn as e } from "../../../../../../lib/utils.js";
2
- import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
- //#region libs/aura/src/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.tsx
4
- var r = "px-1 py-0.5 rounded-sm transition-colors duration-150", i = "text-muted-foreground group-hover:text-foreground transition-colors duration-150", a = ({ startDate: a, endDate: o, format: s, activeRangePart: c, onRangePartClick: l, isOpen: u }) => {
5
- let d = a !== null || o !== null, f = (e) => (t) => {
6
- l && (t.stopPropagation(), l(e));
7
- };
8
- return /* @__PURE__ */ n("div", {
9
- className: e("flex items-center w-full py-1 px-3 pr-9 border rounded-lg", "text-sm leading-5 h-9 box-border whitespace-nowrap overflow-hidden", "transition-[background,border-color,color,box-shadow] duration-150", u ? "bg-background text-foreground border-border shadow-focus-ring" : [
10
- "bg-muted-background border-transparent",
11
- "hover:bg-accent-background hover:text-foreground hover:border-border-emphasized",
12
- d ? "text-foreground" : "text-muted-foreground"
13
- ]),
14
- children: [
15
- /* @__PURE__ */ t("span", {
16
- className: e(r, l ? "cursor-pointer" : "cursor-default", c === "start" ? "bg-active-muted-background" : l && "hover:bg-active-muted-background-hover"),
17
- onClick: f("start"),
18
- children: a ? a.format(s) : /* @__PURE__ */ t("span", {
19
- className: i,
20
- children: s
21
- })
22
- }),
23
- /* @__PURE__ */ t("span", {
24
- className: e("select-none transition-colors duration-150", d ? "text-foreground" : "text-muted-foreground group-hover:text-foreground"),
25
- children: " – "
26
- }),
27
- /* @__PURE__ */ t("span", {
28
- className: e(r, l ? "cursor-pointer" : "cursor-default", c === "end" ? "bg-active-muted-background" : l && "hover:bg-active-muted-background-hover"),
29
- onClick: f("end"),
30
- children: o ? o.format(s) : /* @__PURE__ */ t("span", {
31
- className: i,
32
- children: s
33
- })
34
- })
35
- ]
36
- });
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../../../../../../lib/utils.js";
3
+ const SEGMENT_BASE = 'px-1 py-0.5 rounded-sm transition-colors duration-150';
4
+ const PLACEHOLDER_TEXT = 'text-muted-foreground group-hover:text-base-foreground transition-colors duration-150';
5
+ const DisabledRangeInputDisplay = ({ startDate, endDate, format })=>{
6
+ return /*#__PURE__*/ _jsxs("div", {
7
+ className: cn('flex items-center w-full py-1 px-3 pr-9 border rounded-lg', 'text-sm leading-5 h-9 box-border whitespace-nowrap overflow-hidden', 'transition-[background,border-color,color,box-shadow] duration-150', 'bg-transparent border-disabled text-base-foreground-disabled cursor-not-allowed'),
8
+ children: [
9
+ /*#__PURE__*/ _jsx("span", {
10
+ className: cn(SEGMENT_BASE, 'cursor-not-allowed'),
11
+ children: startDate ? startDate.format(format) : /*#__PURE__*/ _jsx("span", {
12
+ className: "text-base-foreground-disabled",
13
+ children: format
14
+ })
15
+ }),
16
+ /*#__PURE__*/ _jsx("span", {
17
+ className: "select-none transition-colors duration-150 text-base-foreground-disabled",
18
+ children: ' – '
19
+ }),
20
+ /*#__PURE__*/ _jsx("span", {
21
+ className: cn(SEGMENT_BASE, 'cursor-not-allowed'),
22
+ children: endDate ? endDate.format(format) : /*#__PURE__*/ _jsx("span", {
23
+ className: "text-base-foreground-disabled",
24
+ children: format
25
+ })
26
+ })
27
+ ]
28
+ });
37
29
  };
38
- //#endregion
39
- export { a as RangeInputDisplay };
30
+ export const RangeInputDisplay = ({ startDate, endDate, format, activeRangePart, onRangePartClick, isOpen, disabled })=>{
31
+ if (disabled) {
32
+ return /*#__PURE__*/ _jsx(DisabledRangeInputDisplay, {
33
+ startDate: startDate,
34
+ endDate: endDate,
35
+ format: format
36
+ });
37
+ }
38
+ const isFilled = startDate !== null || endDate !== null;
39
+ const handlePartClick = (part)=>(e)=>{
40
+ if (!onRangePartClick) return;
41
+ e.stopPropagation();
42
+ onRangePartClick(part);
43
+ };
44
+ let containerStateClass = 'bg-medium-background border-transparent hover:border-emphasized';
45
+ if (isOpen) {
46
+ containerStateClass = 'bg-base-background text-base-foreground border-default shadow-focus-ring';
47
+ } else if (isFilled) {
48
+ containerStateClass = cn(containerStateClass, 'text-base-foreground');
49
+ } else {
50
+ containerStateClass = cn(containerStateClass, 'text-muted-foreground');
51
+ }
52
+ const segmentCursorClass = onRangePartClick ? 'cursor-pointer' : 'cursor-default';
53
+ const separatorColorClass = isFilled ? 'text-base-foreground' : 'text-muted-foreground group-hover:text-base-foreground';
54
+ const segmentPartClass = (part)=>{
55
+ if (activeRangePart === part) {
56
+ return 'bg-active-muted-background';
57
+ }
58
+ if (onRangePartClick) {
59
+ return 'hover:bg-active-muted-background-hover';
60
+ }
61
+ return undefined;
62
+ };
63
+ return /*#__PURE__*/ _jsxs("div", {
64
+ className: cn('flex items-center w-full py-1 px-3 pr-9 border rounded-lg', 'text-sm leading-5 h-9 box-border whitespace-nowrap overflow-hidden', 'transition-[background,border-color,color,box-shadow] duration-150', containerStateClass),
65
+ children: [
66
+ /*#__PURE__*/ _jsx("span", {
67
+ className: cn(SEGMENT_BASE, segmentCursorClass, segmentPartClass('start')),
68
+ onClick: handlePartClick('start'),
69
+ children: startDate ? startDate.format(format) : /*#__PURE__*/ _jsx("span", {
70
+ className: PLACEHOLDER_TEXT,
71
+ children: format
72
+ })
73
+ }),
74
+ /*#__PURE__*/ _jsx("span", {
75
+ className: cn('select-none transition-colors duration-150', separatorColorClass),
76
+ children: ' – '
77
+ }),
78
+ /*#__PURE__*/ _jsx("span", {
79
+ className: cn(SEGMENT_BASE, segmentCursorClass, segmentPartClass('end')),
80
+ onClick: handlePartClick('end'),
81
+ children: endDate ? endDate.format(format) : /*#__PURE__*/ _jsx("span", {
82
+ className: PLACEHOLDER_TEXT,
83
+ children: format
84
+ })
85
+ })
86
+ ]
87
+ });
88
+ };
89
+
90
+ //# sourceMappingURL=range-input-display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.tsx"],"sourcesContent":["import type { FC, MouseEvent } from 'react';\n\nimport type { Dayjs } from 'dayjs';\n\nimport { cn } from '../../../../../../lib/utils';\n\nimport type { RangePart } from './date-time-input';\n\nconst SEGMENT_BASE = 'px-1 py-0.5 rounded-sm transition-colors duration-150';\nconst PLACEHOLDER_TEXT =\n 'text-muted-foreground group-hover:text-base-foreground transition-colors duration-150';\n\nexport interface RangeInputDisplayProps {\n startDate: Dayjs | null;\n endDate: Dayjs | null;\n format: string;\n activeRangePart?: RangePart;\n onRangePartClick?: (part: RangePart) => void;\n isOpen?: boolean;\n disabled?: boolean;\n}\n\ntype DisabledRangeInputDisplayProps = Pick<\n RangeInputDisplayProps,\n 'startDate' | 'endDate' | 'format'\n>;\n\nconst DisabledRangeInputDisplay: FC<DisabledRangeInputDisplayProps> = ({\n startDate,\n endDate,\n format,\n}) => {\n return (\n <div\n className={cn(\n 'flex items-center w-full py-1 px-3 pr-9 border rounded-lg',\n 'text-sm leading-5 h-9 box-border whitespace-nowrap overflow-hidden',\n 'transition-[background,border-color,color,box-shadow] duration-150',\n 'bg-transparent border-disabled text-base-foreground-disabled cursor-not-allowed'\n )}\n >\n <span className={cn(SEGMENT_BASE, 'cursor-not-allowed')}>\n {startDate ? (\n startDate.format(format)\n ) : (\n <span className=\"text-base-foreground-disabled\">{format}</span>\n )}\n </span>\n <span className=\"select-none transition-colors duration-150 text-base-foreground-disabled\">\n {' – '}\n </span>\n <span className={cn(SEGMENT_BASE, 'cursor-not-allowed')}>\n {endDate ? (\n endDate.format(format)\n ) : (\n <span className=\"text-base-foreground-disabled\">{format}</span>\n )}\n </span>\n </div>\n );\n};\n\nexport const RangeInputDisplay: FC<RangeInputDisplayProps> = ({\n startDate,\n endDate,\n format,\n activeRangePart,\n onRangePartClick,\n isOpen,\n disabled,\n}) => {\n if (disabled) {\n return (\n <DisabledRangeInputDisplay\n startDate={startDate}\n endDate={endDate}\n format={format}\n />\n );\n }\n\n const isFilled = startDate !== null || endDate !== null;\n\n const handlePartClick = (part: RangePart) => (e: MouseEvent) => {\n if (!onRangePartClick) return;\n e.stopPropagation();\n onRangePartClick(part);\n };\n\n let containerStateClass =\n 'bg-medium-background border-transparent hover:border-emphasized';\n if (isOpen) {\n containerStateClass =\n 'bg-base-background text-base-foreground border-default shadow-focus-ring';\n } else if (isFilled) {\n containerStateClass = cn(containerStateClass, 'text-base-foreground');\n } else {\n containerStateClass = cn(containerStateClass, 'text-muted-foreground');\n }\n\n const segmentCursorClass = onRangePartClick\n ? 'cursor-pointer'\n : 'cursor-default';\n\n const separatorColorClass = isFilled\n ? 'text-base-foreground'\n : 'text-muted-foreground group-hover:text-base-foreground';\n\n const segmentPartClass = (part: RangePart) => {\n if (activeRangePart === part) {\n return 'bg-active-muted-background';\n }\n if (onRangePartClick) {\n return 'hover:bg-active-muted-background-hover';\n }\n return undefined;\n };\n\n return (\n <div\n className={cn(\n 'flex items-center w-full py-1 px-3 pr-9 border rounded-lg',\n 'text-sm leading-5 h-9 box-border whitespace-nowrap overflow-hidden',\n 'transition-[background,border-color,color,box-shadow] duration-150',\n containerStateClass\n )}\n >\n <span\n className={cn(\n SEGMENT_BASE,\n segmentCursorClass,\n segmentPartClass('start')\n )}\n onClick={handlePartClick('start')}\n >\n {startDate ? (\n startDate.format(format)\n ) : (\n <span className={PLACEHOLDER_TEXT}>{format}</span>\n )}\n </span>\n <span\n className={cn(\n 'select-none transition-colors duration-150',\n separatorColorClass\n )}\n >\n {' – '}\n </span>\n <span\n className={cn(\n SEGMENT_BASE,\n segmentCursorClass,\n segmentPartClass('end')\n )}\n onClick={handlePartClick('end')}\n >\n {endDate ? (\n endDate.format(format)\n ) : (\n <span className={PLACEHOLDER_TEXT}>{format}</span>\n )}\n </span>\n </div>\n );\n};\n"],"names":["cn","SEGMENT_BASE","PLACEHOLDER_TEXT","DisabledRangeInputDisplay","startDate","endDate","format","div","className","span","RangeInputDisplay","activeRangePart","onRangePartClick","isOpen","disabled","isFilled","handlePartClick","part","e","stopPropagation","containerStateClass","segmentCursorClass","separatorColorClass","segmentPartClass","undefined","onClick"],"mappings":";AAIA,SAASA,EAAE,QAAQ,iCAA8B;AAIjD,MAAMC,eAAe;AACrB,MAAMC,mBACJ;AAiBF,MAAMC,4BAAgE,CAAC,EACrEC,SAAS,EACTC,OAAO,EACPC,MAAM,EACP;IACC,qBACE,MAACC;QACCC,WAAWR,GACT,6DACA,sEACA,sEACA;;0BAGF,KAACS;gBAAKD,WAAWR,GAAGC,cAAc;0BAC/BG,YACCA,UAAUE,MAAM,CAACA,wBAEjB,KAACG;oBAAKD,WAAU;8BAAiCF;;;0BAGrD,KAACG;gBAAKD,WAAU;0BACb;;0BAEH,KAACC;gBAAKD,WAAWR,GAAGC,cAAc;0BAC/BI,UACCA,QAAQC,MAAM,CAACA,wBAEf,KAACG;oBAAKD,WAAU;8BAAiCF;;;;;AAK3D;AAEA,OAAO,MAAMI,oBAAgD,CAAC,EAC5DN,SAAS,EACTC,OAAO,EACPC,MAAM,EACNK,eAAe,EACfC,gBAAgB,EAChBC,MAAM,EACNC,QAAQ,EACT;IACC,IAAIA,UAAU;QACZ,qBACE,KAACX;YACCC,WAAWA;YACXC,SAASA;YACTC,QAAQA;;IAGd;IAEA,MAAMS,WAAWX,cAAc,QAAQC,YAAY;IAEnD,MAAMW,kBAAkB,CAACC,OAAoB,CAACC;YAC5C,IAAI,CAACN,kBAAkB;YACvBM,EAAEC,eAAe;YACjBP,iBAAiBK;QACnB;IAEA,IAAIG,sBACF;IACF,IAAIP,QAAQ;QACVO,sBACE;IACJ,OAAO,IAAIL,UAAU;QACnBK,sBAAsBpB,GAAGoB,qBAAqB;IAChD,OAAO;QACLA,sBAAsBpB,GAAGoB,qBAAqB;IAChD;IAEA,MAAMC,qBAAqBT,mBACvB,mBACA;IAEJ,MAAMU,sBAAsBP,WACxB,yBACA;IAEJ,MAAMQ,mBAAmB,CAACN;QACxB,IAAIN,oBAAoBM,MAAM;YAC5B,OAAO;QACT;QACA,IAAIL,kBAAkB;YACpB,OAAO;QACT;QACA,OAAOY;IACT;IAEA,qBACE,MAACjB;QACCC,WAAWR,GACT,6DACA,sEACA,sEACAoB;;0BAGF,KAACX;gBACCD,WAAWR,GACTC,cACAoB,oBACAE,iBAAiB;gBAEnBE,SAAST,gBAAgB;0BAExBZ,YACCA,UAAUE,MAAM,CAACA,wBAEjB,KAACG;oBAAKD,WAAWN;8BAAmBI;;;0BAGxC,KAACG;gBACCD,WAAWR,GACT,8CACAsB;0BAGD;;0BAEH,KAACb;gBACCD,WAAWR,GACTC,cACAoB,oBACAE,iBAAiB;gBAEnBE,SAAST,gBAAgB;0BAExBX,UACCA,QAAQC,MAAM,CAACA,wBAEf,KAACG;oBAAKD,WAAWN;8BAAmBI;;;;;AAK9C,EAAE"}
@@ -1,10 +1,10 @@
1
1
  export interface UsePopoverStateOptions {
2
- onBackspace?: () => void;
2
+ onBackspace?: () => void;
3
3
  }
4
4
  export interface UsePopoverStateReturn {
5
- isOpen: boolean;
6
- setIsOpen: (isOpen: boolean) => void;
7
- popoverRef: React.RefObject<HTMLDivElement>;
8
- inputRef: React.RefObject<HTMLDivElement>;
5
+ isOpen: boolean;
6
+ setIsOpen: (isOpen: boolean) => void;
7
+ popoverRef: React.RefObject<HTMLDivElement>;
8
+ inputRef: React.RefObject<HTMLDivElement>;
9
9
  }
10
10
  export declare const usePopoverState: (options?: UsePopoverStateOptions) => UsePopoverStateReturn;
@@ -1,24 +1,35 @@
1
- import { useEffect as e, useRef as t, useState as n } from "react";
2
- //#region libs/aura/src/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.ts
3
- var r = (r = {}) => {
4
- let { onBackspace: i } = r, [a, o] = n(!1), s = t(null), c = t(null);
5
- return e(() => {
6
- if (!a) return;
7
- let e = (e) => {
8
- if (e.key === "Backspace" && i) {
9
- let { target: t } = e;
10
- t instanceof HTMLInputElement || t instanceof HTMLTextAreaElement || t instanceof HTMLElement && t.isContentEditable || (e.preventDefault(), i());
11
- }
12
- };
13
- return document.addEventListener("keydown", e), () => {
14
- document.removeEventListener("keydown", e);
15
- };
16
- }, [a, i]), {
17
- isOpen: a,
18
- setIsOpen: o,
19
- popoverRef: s,
20
- inputRef: c
21
- };
1
+ import { useEffect, useRef, useState } from "react";
2
+ export const usePopoverState = (options = {})=>{
3
+ const { onBackspace } = options;
4
+ const [isOpen, setIsOpen] = useState(false);
5
+ const popoverRef = useRef(null);
6
+ const inputRef = useRef(null);
7
+ useEffect(()=>{
8
+ if (!isOpen) return;
9
+ const handleKeyDown = (event)=>{
10
+ if (event.key === 'Backspace' && onBackspace) {
11
+ const { target } = event;
12
+ const isInput = target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable;
13
+ if (!isInput) {
14
+ event.preventDefault();
15
+ onBackspace();
16
+ }
17
+ }
18
+ };
19
+ document.addEventListener('keydown', handleKeyDown);
20
+ return ()=>{
21
+ document.removeEventListener('keydown', handleKeyDown);
22
+ };
23
+ }, [
24
+ isOpen,
25
+ onBackspace
26
+ ]);
27
+ return {
28
+ isOpen,
29
+ setIsOpen,
30
+ popoverRef,
31
+ inputRef
32
+ };
22
33
  };
23
- //#endregion
24
- export { r as usePopoverState };
34
+
35
+ //# sourceMappingURL=use-popover-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport interface UsePopoverStateOptions {\n onBackspace?: () => void;\n}\n\nexport interface UsePopoverStateReturn {\n isOpen: boolean;\n setIsOpen: (isOpen: boolean) => void;\n popoverRef: React.RefObject<HTMLDivElement>;\n inputRef: React.RefObject<HTMLDivElement>;\n}\n\nexport const usePopoverState = (\n options: UsePopoverStateOptions = {}\n): UsePopoverStateReturn => {\n const { onBackspace } = options;\n const [isOpen, setIsOpen] = useState(false);\n const popoverRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!isOpen) return;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Backspace' && onBackspace) {\n const { target } = event;\n const isInput =\n target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement ||\n (target instanceof HTMLElement && target.isContentEditable);\n if (!isInput) {\n event.preventDefault();\n onBackspace();\n }\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [isOpen, onBackspace]);\n\n return {\n isOpen,\n setIsOpen,\n popoverRef,\n inputRef,\n };\n};\n"],"names":["useEffect","useRef","useState","usePopoverState","options","onBackspace","isOpen","setIsOpen","popoverRef","inputRef","handleKeyDown","event","key","target","isInput","HTMLInputElement","HTMLTextAreaElement","HTMLElement","isContentEditable","preventDefault","document","addEventListener","removeEventListener"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AAapD,OAAO,MAAMC,kBAAkB,CAC7BC,UAAkC,CAAC,CAAC;IAEpC,MAAM,EAAEC,WAAW,EAAE,GAAGD;IACxB,MAAM,CAACE,QAAQC,UAAU,GAAGL,SAAS;IACrC,MAAMM,aAAaP,OAAuB;IAC1C,MAAMQ,WAAWR,OAAuB;IAExCD,UAAU;QACR,IAAI,CAACM,QAAQ;QAEb,MAAMI,gBAAgB,CAACC;YACrB,IAAIA,MAAMC,GAAG,KAAK,eAAeP,aAAa;gBAC5C,MAAM,EAAEQ,MAAM,EAAE,GAAGF;gBACnB,MAAMG,UACJD,kBAAkBE,oBAClBF,kBAAkBG,uBACjBH,kBAAkBI,eAAeJ,OAAOK,iBAAiB;gBAC5D,IAAI,CAACJ,SAAS;oBACZH,MAAMQ,cAAc;oBACpBd;gBACF;YACF;QACF;QAEAe,SAASC,gBAAgB,CAAC,WAAWX;QAErC,OAAO;YACLU,SAASE,mBAAmB,CAAC,WAAWZ;QAC1C;IACF,GAAG;QAACJ;QAAQD;KAAY;IAExB,OAAO;QACLC;QACAC;QACAC;QACAC;IACF;AACF,EAAE"}
@@ -1,29 +1,29 @@
1
- import { Dayjs } from 'dayjs';
2
- import { RangeSelectionStep } from './use-range-step-manager';
1
+ import type { Dayjs } from "dayjs";
2
+ import type { RangeSelectionStep } from "./use-range-step-manager";
3
3
  export interface DateStateSnapshot {
4
- tempStart: Dayjs | null;
5
- tempEnd: Dayjs | null;
4
+ tempStart: Dayjs | null;
5
+ tempEnd: Dayjs | null;
6
6
  }
7
7
  export interface UseRangeDateStateOptions {
8
- value: [Dayjs | null, Dayjs | null];
9
- defaultDate: Dayjs;
10
- /** Transforms a clicked date before storing; pass time-of-day defaults for datetime variants. */
11
- mapDate?: (date: Dayjs, role: 'start' | 'end') => Dayjs;
12
- /** Called when the end date is selected; used for auto-apply in date-only variants. */
13
- onEndDateSelected?: (start: Dayjs | null, end: Dayjs) => void;
8
+ value: [Dayjs | null, Dayjs | null];
9
+ defaultDate: Dayjs;
10
+ /** Transforms a clicked date before storing; pass time-of-day defaults for datetime variants. */
11
+ mapDate?: (date: Dayjs, role: "start" | "end") => Dayjs;
12
+ /** Called when the end date is selected; used for auto-apply in date-only variants. */
13
+ onEndDateSelected?: (start: Dayjs | null, end: Dayjs) => void;
14
14
  }
15
15
  export interface UseRangeDateStateReturn {
16
- tempStart: Dayjs | null;
17
- tempEnd: Dayjs | null;
18
- displayedMonth: Dayjs;
19
- hoverDate: Dayjs | null;
20
- /** Synchronous ref — use inside callbacks to avoid stale closures. */
21
- stateRef: React.MutableRefObject<DateStateSnapshot>;
22
- handleDateClick: (date: Dayjs, step: RangeSelectionStep) => void;
23
- handleDateHover: (date: Dayjs | null) => void;
24
- handleMonthChange: (month: Dayjs) => void;
25
- /** Returns the new [start, end] tuple, or null if the segment was already empty (signals caller to move focus to start). */
26
- clearActiveSegment: (step: RangeSelectionStep) => [Dayjs | null, Dayjs | null] | null;
27
- resetDates: (value: [Dayjs | null, Dayjs | null]) => void;
16
+ tempStart: Dayjs | null;
17
+ tempEnd: Dayjs | null;
18
+ displayedMonth: Dayjs;
19
+ hoverDate: Dayjs | null;
20
+ /** Synchronous ref — use inside callbacks to avoid stale closures. */
21
+ stateRef: React.MutableRefObject<DateStateSnapshot>;
22
+ handleDateClick: (date: Dayjs, step: RangeSelectionStep) => void;
23
+ handleDateHover: (date: Dayjs | null) => void;
24
+ handleMonthChange: (month: Dayjs) => void;
25
+ /** Returns the new [start, end] tuple, or null if the segment was already empty (signals caller to move focus to start). */
26
+ clearActiveSegment: (step: RangeSelectionStep) => [Dayjs | null, Dayjs | null] | null;
27
+ resetDates: (value: [Dayjs | null, Dayjs | null]) => void;
28
28
  }
29
- export declare const useRangeDateState: ({ value, defaultDate, mapDate, onEndDateSelected, }: UseRangeDateStateOptions) => UseRangeDateStateReturn;
29
+ export declare const useRangeDateState: ({ value, defaultDate, mapDate, onEndDateSelected }: UseRangeDateStateOptions) => UseRangeDateStateReturn;