@cognite/aura 0.2.0 → 0.3.1

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 (239) hide show
  1. package/DESIGN.md +869 -870
  2. package/README.md +143 -9
  3. package/dist/colors.css +30 -0
  4. package/dist/components/index.d.ts +7 -36
  5. package/dist/components/index.js +319 -350
  6. package/dist/components/ui/core/accordion/accordion.d.ts +7 -7
  7. package/dist/components/ui/core/accordion/accordion.js +49 -47
  8. package/dist/components/ui/core/action-toolbar/action-toolbar.d.ts +41 -0
  9. package/dist/components/ui/core/action-toolbar/action-toolbar.js +176 -0
  10. package/dist/components/ui/core/alert/alert.d.ts +23 -12
  11. package/dist/components/ui/core/alert/alert.js +123 -120
  12. package/dist/components/ui/core/avatar/avatar.d.ts +12 -8
  13. package/dist/components/ui/core/badge/badge.d.ts +11 -8
  14. package/dist/components/ui/core/banner/banner.d.ts +18 -28
  15. package/dist/components/ui/core/breadcrumb/breadcrumb.d.ts +10 -9
  16. package/dist/components/ui/core/breadcrumb/breadcrumb.js +98 -88
  17. package/dist/components/ui/core/button/button.d.ts +8 -5
  18. package/dist/components/ui/core/button/button.js +22 -19
  19. package/dist/components/ui/core/button-group/button-group.d.ts +7 -6
  20. package/dist/components/ui/core/card/card.d.ts +17 -16
  21. package/dist/components/ui/core/chart/chart.d.ts +69 -0
  22. package/dist/components/ui/core/chart/chart.js +215 -0
  23. package/dist/components/ui/core/chart/index.d.ts +2 -0
  24. package/dist/components/ui/core/chart/index.js +8 -0
  25. package/dist/components/ui/core/checkbox/checkbox.d.ts +13 -9
  26. package/dist/components/ui/core/checkbox/checkbox.js +32 -28
  27. package/dist/components/ui/core/code-block/code-block.d.ts +6 -9
  28. package/dist/components/ui/core/code-block/code-block.js +48 -44
  29. package/dist/components/ui/core/collapsible/collapsible.d.ts +5 -3
  30. package/dist/components/ui/core/combobox/combobox.d.ts +2 -2
  31. package/dist/components/ui/core/command/command.d.ts +11 -78
  32. package/dist/components/ui/core/command/command.js +53 -52
  33. package/dist/components/ui/core/count/count.d.ts +7 -6
  34. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.d.ts +15 -0
  35. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js +84 -0
  36. package/dist/components/ui/core/date-time-pickers/date-picker/index.d.ts +3 -0
  37. package/dist/components/ui/core/date-time-pickers/date-picker/types.d.ts +18 -0
  38. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.d.ts +3 -0
  39. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js +63 -0
  40. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.d.ts +15 -0
  41. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js +99 -0
  42. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.d.ts +3 -0
  43. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.d.ts +25 -0
  44. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.d.ts +4 -0
  45. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js +82 -0
  46. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.d.ts +17 -0
  47. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js +190 -0
  48. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.d.ts +3 -0
  49. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.d.ts +42 -0
  50. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.d.ts +3 -0
  51. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js +161 -0
  52. package/dist/components/ui/core/date-time-pickers/index.d.ts +8 -0
  53. package/dist/components/ui/core/date-time-pickers/index.js +8 -0
  54. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.d.ts +7 -0
  55. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js +57 -0
  56. package/dist/components/ui/core/date-time-pickers/shared/calendar/calendar.d.ts +13 -0
  57. package/dist/components/ui/core/date-time-pickers/shared/calendar/calendar.js +119 -0
  58. package/dist/components/ui/core/date-time-pickers/shared/calendar-header/calendar-header.d.ts +10 -0
  59. package/dist/components/ui/core/date-time-pickers/shared/calendar-header/calendar-header.js +93 -0
  60. package/dist/components/ui/core/date-time-pickers/shared/constants.d.ts +20 -0
  61. package/dist/components/ui/core/date-time-pickers/shared/constants.js +14 -0
  62. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.d.ts +19 -0
  63. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js +99 -0
  64. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.d.ts +12 -0
  65. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js +68 -0
  66. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.d.ts +12 -0
  67. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js +40 -0
  68. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.d.ts +29 -0
  69. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js +63 -0
  70. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.d.ts +8 -0
  71. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js +19 -0
  72. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.d.ts +23 -0
  73. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js +32 -0
  74. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.d.ts +17 -0
  75. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js +34 -0
  76. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.d.ts +8 -0
  77. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js +7 -0
  78. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.d.ts +13 -0
  79. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js +31 -0
  80. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.d.ts +10 -0
  81. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js +52 -0
  82. package/dist/components/ui/core/date-time-pickers/utils/calendar-utils.d.ts +48 -0
  83. package/dist/components/ui/core/date-time-pickers/utils/calendar-utils.js +52 -0
  84. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.d.ts +26 -0
  85. package/dist/components/ui/core/date-time-pickers/utils/format-utils.d.ts +37 -0
  86. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.d.ts +34 -0
  87. package/dist/components/ui/core/date-time-pickers/utils/time-utils.d.ts +43 -0
  88. package/dist/components/ui/core/date-time-pickers/utils/time-utils.js +15 -0
  89. package/dist/components/ui/core/date-time-pickers/utils/time-validation.d.ts +23 -0
  90. package/dist/components/ui/core/dialog/dialog.d.ts +10 -10
  91. package/dist/components/ui/core/dialog/dialog.js +12 -3
  92. package/dist/components/ui/core/dropdown-menu/dropdown-menu.d.ts +24 -47
  93. package/dist/components/ui/core/dropdown-menu/dropdown-menu.js +125 -123
  94. package/dist/components/ui/core/empty-state/empty-state.context.d.ts +10 -0
  95. package/dist/components/ui/core/empty-state/empty-state.context.js +8 -0
  96. package/dist/components/ui/core/empty-state/empty-state.d.ts +18 -0
  97. package/dist/components/ui/core/empty-state/empty-state.js +139 -0
  98. package/dist/components/ui/core/helper-text/helper-text.d.ts +7 -5
  99. package/dist/components/ui/core/hover-card/hover-card.d.ts +5 -7
  100. package/dist/components/ui/core/hover-card/hover-card.js +23 -22
  101. package/dist/components/ui/core/inline-citation/inline-citation.d.ts +10 -10
  102. package/dist/components/ui/core/inline-citation/inline-citation.js +57 -49
  103. package/dist/components/ui/core/input/input.d.ts +2 -1
  104. package/dist/components/ui/core/input/input.js +1 -1
  105. package/dist/components/ui/core/input-group/input-group.d.ts +17 -13
  106. package/dist/components/ui/core/input-group/input-group.js +35 -36
  107. package/dist/components/ui/core/kbd/kbd.d.ts +3 -2
  108. package/dist/components/ui/core/label/label.d.ts +3 -2
  109. package/dist/components/ui/core/loader/loader.d.ts +2 -2
  110. package/dist/components/ui/core/message/message.d.ts +18 -17
  111. package/dist/components/ui/core/message/message.js +387 -99
  112. package/dist/components/ui/core/pagination/pagination-size-context.d.ts +5 -0
  113. package/dist/components/ui/core/pagination/pagination-size-context.js +6 -0
  114. package/dist/components/ui/core/pagination/pagination-teleport.d.ts +11 -0
  115. package/dist/components/ui/core/pagination/pagination-teleport.js +108 -0
  116. package/dist/components/ui/core/pagination/pagination-teleport.utils.d.ts +1 -0
  117. package/dist/components/ui/core/pagination/pagination-teleport.utils.js +7 -0
  118. package/dist/components/ui/core/pagination/pagination.d.ts +41 -0
  119. package/dist/components/ui/core/pagination/pagination.js +337 -0
  120. package/dist/components/ui/core/popover/popover.d.ts +12 -16
  121. package/dist/components/ui/core/popover/popover.js +52 -51
  122. package/dist/components/ui/core/progress/progress.d.ts +7 -4
  123. package/dist/components/ui/core/prompt-input/prompt-input.d.ts +36 -103
  124. package/dist/components/ui/core/prompt-input/prompt-input.js +180 -167
  125. package/dist/components/ui/core/radio-group/radio-group.d.ts +12 -8
  126. package/dist/components/ui/core/radio-group/radio-group.js +56 -53
  127. package/dist/components/ui/core/reasoning/reasoning.d.ts +5 -5
  128. package/dist/components/ui/core/scroll-area/scroll-area.d.ts +4 -2
  129. package/dist/components/ui/core/search/search.d.ts +10 -0
  130. package/dist/components/ui/core/search/search.js +99 -0
  131. package/dist/components/ui/core/segmented-control/segmented-control.d.ts +15 -11
  132. package/dist/components/ui/core/segmented-control/segmented-control.js +4 -1
  133. package/dist/components/ui/core/select/select.d.ts +15 -14
  134. package/dist/components/ui/core/select/select.js +135 -108
  135. package/dist/components/ui/core/separator/separator.d.ts +2 -4
  136. package/dist/components/ui/core/separator/separator.js +4 -5
  137. package/dist/components/ui/core/shimmer/shimmer.d.ts +5 -5
  138. package/dist/components/ui/core/shimmer/shimmer.js +91 -52
  139. package/dist/components/ui/core/skeleton/skeleton.d.ts +2 -1
  140. package/dist/components/ui/core/sonner-toast/sonner-toast.d.ts +2 -1
  141. package/dist/components/ui/core/sources/sources.d.ts +3 -3
  142. package/dist/components/ui/core/sources/sources.js +6 -1
  143. package/dist/components/ui/core/switch/switch.d.ts +11 -0
  144. package/dist/components/ui/core/{button/button.metadata.d.ts → switch/switch.metadata.d.ts} +1 -1
  145. package/dist/components/ui/core/tabs/tabs.d.ts +21 -17
  146. package/dist/components/ui/core/tabs/tabs.js +11 -9
  147. package/dist/components/ui/core/textarea/textarea.d.ts +2 -1
  148. package/dist/components/ui/core/textarea/textarea.js +20 -18
  149. package/dist/components/ui/core/toggle/toggle.d.ts +15 -0
  150. package/dist/components/ui/core/toggle/toggle.js +74 -0
  151. package/dist/components/ui/core/tool/tool.d.ts +7 -6
  152. package/dist/components/ui/core/tool/tool.js +47 -43
  153. package/dist/components/ui/core/tooltip/tooltip.d.ts +6 -5
  154. package/dist/components/ui/core/tooltip/tooltip.js +10 -8
  155. package/dist/components/ui/core/topbar/topbar.d.ts +11 -13
  156. package/dist/eslint/index.d.ts +2 -1
  157. package/dist/index.d.ts +1 -1
  158. package/dist/lib/portal-container-context.d.ts +2 -1
  159. package/dist/lib/portal-container-context.js +3 -5
  160. package/dist/lib/utils.d.ts +1 -1
  161. package/dist/lib/utils.js +7 -7
  162. package/dist/styles.css +1 -1
  163. package/dist/styles.source.css +12 -1
  164. package/package.json +217 -14
  165. package/dist/components/ui/core/accordion/accordion.metadata.d.ts +0 -2
  166. package/dist/components/ui/core/accordion/accordion.metadata.js +0 -9
  167. package/dist/components/ui/core/alert/alert.metadata.d.ts +0 -2
  168. package/dist/components/ui/core/alert/alert.metadata.js +0 -9
  169. package/dist/components/ui/core/avatar/avatar.metadata.d.ts +0 -8
  170. package/dist/components/ui/core/avatar/avatar.metadata.js +0 -9
  171. package/dist/components/ui/core/badge/badge.metadata.d.ts +0 -2
  172. package/dist/components/ui/core/badge/badge.metadata.js +0 -8
  173. package/dist/components/ui/core/banner/banner.metadata.d.ts +0 -2
  174. package/dist/components/ui/core/banner/banner.metadata.js +0 -9
  175. package/dist/components/ui/core/breadcrumb/breadcrumb.metadata.d.ts +0 -2
  176. package/dist/components/ui/core/breadcrumb/breadcrumb.metadata.js +0 -9
  177. package/dist/components/ui/core/button/button.metadata.js +0 -9
  178. package/dist/components/ui/core/button-group/button-group.metadata.d.ts +0 -2
  179. package/dist/components/ui/core/button-group/button-group.metadata.js +0 -8
  180. package/dist/components/ui/core/card/card.metadata.d.ts +0 -8
  181. package/dist/components/ui/core/card/card.metadata.js +0 -9
  182. package/dist/components/ui/core/code-block/code-block.metadata.d.ts +0 -2
  183. package/dist/components/ui/core/code-block/code-block.metadata.js +0 -8
  184. package/dist/components/ui/core/collapsible/collapsible.metadata.d.ts +0 -2
  185. package/dist/components/ui/core/collapsible/collapsible.metadata.js +0 -9
  186. package/dist/components/ui/core/combobox/combobox.metadata.d.ts +0 -2
  187. package/dist/components/ui/core/command/command.metadata.d.ts +0 -2
  188. package/dist/components/ui/core/command/command.metadata.js +0 -9
  189. package/dist/components/ui/core/dialog/dialog.metadata.d.ts +0 -2
  190. package/dist/components/ui/core/dialog/dialog.metadata.js +0 -9
  191. package/dist/components/ui/core/dropdown-menu/dropdown-menu.metadata.d.ts +0 -2
  192. package/dist/components/ui/core/dropdown-menu/dropdown-menu.metadata.js +0 -9
  193. package/dist/components/ui/core/helper-text/helper-text.metadata.d.ts +0 -2
  194. package/dist/components/ui/core/helper-text/helper-text.metadata.js +0 -9
  195. package/dist/components/ui/core/hover-card/hover-card.metadata.d.ts +0 -2
  196. package/dist/components/ui/core/hover-card/hover-card.metadata.js +0 -8
  197. package/dist/components/ui/core/inline-citation/inline-citation.metadata.d.ts +0 -2
  198. package/dist/components/ui/core/inline-citation/inline-citation.metadata.js +0 -8
  199. package/dist/components/ui/core/input/input.metadata.d.ts +0 -2
  200. package/dist/components/ui/core/input/input.metadata.js +0 -9
  201. package/dist/components/ui/core/input-group/input-group.metadata.d.ts +0 -2
  202. package/dist/components/ui/core/input-group/input-group.metadata.js +0 -9
  203. package/dist/components/ui/core/kbd/kbd.metadata.d.ts +0 -2
  204. package/dist/components/ui/core/kbd/kbd.metadata.js +0 -9
  205. package/dist/components/ui/core/label/label.metadata.d.ts +0 -2
  206. package/dist/components/ui/core/label/label.metadata.js +0 -9
  207. package/dist/components/ui/core/loader/loader.metadata.d.ts +0 -2
  208. package/dist/components/ui/core/loader/loader.metadata.js +0 -9
  209. package/dist/components/ui/core/message/message.metadata.d.ts +0 -2
  210. package/dist/components/ui/core/popover/popover.metadata.d.ts +0 -2
  211. package/dist/components/ui/core/popover/popover.metadata.js +0 -9
  212. package/dist/components/ui/core/progress/progress.metadata.d.ts +0 -2
  213. package/dist/components/ui/core/progress/progress.metadata.js +0 -9
  214. package/dist/components/ui/core/prompt-input/prompt-input.metadata.d.ts +0 -2
  215. package/dist/components/ui/core/prompt-input/prompt-input.metadata.js +0 -9
  216. package/dist/components/ui/core/radio-group/radio-group.metadata.d.ts +0 -2
  217. package/dist/components/ui/core/radio-group/radio-group.metadata.js +0 -9
  218. package/dist/components/ui/core/reasoning/reasoning.metadata.d.ts +0 -2
  219. package/dist/components/ui/core/reasoning/reasoning.metadata.js +0 -8
  220. package/dist/components/ui/core/scroll-area/scroll-area.metadata.d.ts +0 -2
  221. package/dist/components/ui/core/scroll-area/scroll-area.metadata.js +0 -9
  222. package/dist/components/ui/core/select/select.metadata.d.ts +0 -2
  223. package/dist/components/ui/core/select/select.metadata.js +0 -9
  224. package/dist/components/ui/core/separator/separator.metadata.d.ts +0 -2
  225. package/dist/components/ui/core/separator/separator.metadata.js +0 -8
  226. package/dist/components/ui/core/shimmer/shimmer.metadata.d.ts +0 -2
  227. package/dist/components/ui/core/shimmer/shimmer.metadata.js +0 -9
  228. package/dist/components/ui/core/skeleton/skeleton.metadata.d.ts +0 -2
  229. package/dist/components/ui/core/skeleton/skeleton.metadata.js +0 -9
  230. package/dist/components/ui/core/sonner-toast/sonner-toast.metadata.d.ts +0 -2
  231. package/dist/components/ui/core/sonner-toast/sonner-toast.metadata.js +0 -9
  232. package/dist/components/ui/core/sources/sources.metadata.d.ts +0 -2
  233. package/dist/components/ui/core/textarea/textarea.metadata.d.ts +0 -2
  234. package/dist/components/ui/core/textarea/textarea.metadata.js +0 -9
  235. package/dist/components/ui/core/tool/tool.metadata.d.ts +0 -2
  236. package/dist/components/ui/core/tool/tool.metadata.js +0 -8
  237. package/dist/components/ui/core/tooltip/tooltip.metadata.d.ts +0 -8
  238. package/dist/components/ui/core/tooltip/tooltip.metadata.js +0 -9
  239. package/dist/index.js +0 -342
@@ -0,0 +1,34 @@
1
+ export type SegmentType = 'day' | 'month' | 'year' | 'hour' | 'minute' | 'second' | 'ampm' | 'separator';
2
+ export type DateSegmentType = 'day' | 'month' | 'year';
3
+ export type TimeSegmentType = 'hour' | 'minute' | 'second' | 'ampm';
4
+ export interface Segment {
5
+ type: SegmentType;
6
+ token: string;
7
+ startIndex: number;
8
+ endIndex: number;
9
+ length: number;
10
+ editable: boolean;
11
+ }
12
+ /**
13
+ * Parse a date format string into an array of segments.
14
+ *
15
+ * @example
16
+ * parseFormatToSegments('DD/MM/YYYY')
17
+ * // Returns:
18
+ * // [
19
+ * // { type: 'day', token: 'DD', startIndex: 0, endIndex: 2, length: 2, editable: true },
20
+ * // { type: 'separator', token: '/', ... },
21
+ * // { type: 'month', token: 'MM', ... },
22
+ * // ...
23
+ * // ]
24
+ */
25
+ export declare const parseFormatToSegments: (format: string) => Segment[];
26
+ export declare const getEditableSegments: (format: string) => Segment[];
27
+ export declare const getSegmentAtPosition: (segments: Segment[], position: number) => Segment | undefined;
28
+ export declare const getEditableSegmentIndex: (segments: Segment[], segment: Segment) => number;
29
+ export declare const getNextEditableSegment: (segments: Segment[], currentSegment: Segment) => Segment | undefined;
30
+ export declare const getPreviousEditableSegment: (segments: Segment[], currentSegment: Segment) => Segment | undefined;
31
+ export declare const getFirstEditableSegment: (segments: Segment[]) => Segment | undefined;
32
+ export declare const getLastEditableSegment: (segments: Segment[]) => Segment | undefined;
33
+ export declare const isDateSegment: (type: SegmentType) => type is DateSegmentType;
34
+ export declare const isTimeSegment: (type: SegmentType) => type is TimeSegmentType;
@@ -0,0 +1,43 @@
1
+ import { TimeFormat } from './format-utils';
2
+ /**
3
+ * Generates an array of hours.
4
+ * If timeFormat is '12h', generates hours from 1 to 12.
5
+ * Otherwise, generates hours from 0 to 23.
6
+ * @returns Array of hours
7
+ */
8
+ export declare const generateHours: (timeFormat?: TimeFormat) => number[];
9
+ /**
10
+ * Generates an array of minutes in 5-minute increments
11
+ * @returns Array of minutes [0, 5, 10, ..., 55]
12
+ */
13
+ export declare const generateMinutes: () => number[];
14
+ /**
15
+ * Formats time components into HH:MM string format
16
+ * @param hour - Hour value (0-23)
17
+ * @param minute - Minute value (0-59)
18
+ * @returns Formatted time string (e.g., "09:05")
19
+ */
20
+ export declare const formatTime: (hour: number, minute: number) => string;
21
+ /**
22
+ * Parses a time string in HH:MM or H:MM format
23
+ * @param timeString - Time string in HH:MM format (e.g., "09:30", "9:30")
24
+ * @returns Object with hour and minute properties, or null if invalid
25
+ */
26
+ export declare const parseTime: (timeString: string) => {
27
+ hour: number;
28
+ minute: number;
29
+ } | null;
30
+ /**
31
+ * Gets AM/PM period from a 24-hour format hour.
32
+ */
33
+ export declare const getAmPmFromHour: (hour: number) => "AM" | "PM";
34
+ /**
35
+ * Converts a 12-hour format hour and AM/PM period to a 24-hour format hour.
36
+ */
37
+ export declare const convert12HourTo24Hour: (hour: number, ampm: "AM" | "PM") => number;
38
+ /**
39
+ * Converts a 24-hour format hour to a 12-hour display value (1-12).
40
+ * Used when displaying time in 12-hour format.
41
+ * @param hour24 - Hour value (0-23)
42
+ */
43
+ export declare const convert24HourTo12Hour: (hour24: number) => number;
@@ -0,0 +1,15 @@
1
+ import m from "dayjs";
2
+ import u from "dayjs/plugin/customParseFormat.js";
3
+ import { HOURS_IN_12H as t, HOURS_IN_DAY as f, MINUTES_IN_HOUR as s, MINUTE_INCREMENT as o } from "../shared/constants.js";
4
+ m.extend(u);
5
+ const c = (r = "24h") => r === "12h" ? Array.from({ length: t }, (e, n) => n + 1) : Array.from({ length: f }, (e, n) => n), M = () => Array.from(
6
+ { length: s / o },
7
+ (r, e) => e * o
8
+ ), a = (r) => r >= t ? "PM" : "AM", A = (r, e) => e === "PM" && r < t ? r + t : e === "AM" && r === t ? 0 : r, N = (r) => r === 0 ? t : r > t ? r - t : r;
9
+ export {
10
+ A as convert12HourTo24Hour,
11
+ N as convert24HourTo12Hour,
12
+ c as generateHours,
13
+ M as generateMinutes,
14
+ a as getAmPmFromHour
15
+ };
@@ -0,0 +1,23 @@
1
+ import { Dayjs } from 'dayjs';
2
+ /**
3
+ * Validates and orders a time range, swapping if end is before start
4
+ * @param startHour - Start hour (0-23)
5
+ * @param startMinute - Start minute (0-59)
6
+ * @param endHour - End hour (0-23)
7
+ * @param endMinute - End minute (0-59)
8
+ * @returns Ordered time range [start, end]
9
+ */
10
+ export declare const orderTimeRange: (startHour: number, startMinute: number, endHour: number, endMinute: number) => [{
11
+ hour: number;
12
+ minute: number;
13
+ }, {
14
+ hour: number;
15
+ minute: number;
16
+ }];
17
+ /**
18
+ * Validates and orders a date range, swapping if end is before start
19
+ * @param start - Start date
20
+ * @param end - End date
21
+ * @returns Ordered date range [start, end]
22
+ */
23
+ export declare const orderDateRange: (start: Dayjs, end: Dayjs) => [Dayjs, Dayjs];
@@ -1,18 +1,18 @@
1
1
  import { ComponentProps, ReactNode } from 'react';
2
2
  import { Dialog as DialogPrimitive } from '@base-ui/react/dialog';
3
- declare function Dialog({ ...props }: DialogPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
4
- declare function DialogTrigger({ children, ...props }: DialogPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
5
- declare function DialogPortal({ ...props }: DialogPrimitive.Portal.Props): import("react/jsx-runtime").JSX.Element;
3
+ declare function Dialog({ ...props }: DialogPrimitive.Root.Props): ReactNode;
4
+ declare function DialogTrigger({ children, ...props }: DialogPrimitive.Trigger.Props): ReactNode;
5
+ declare function DialogPortal({ ...props }: DialogPrimitive.Portal.Props): ReactNode;
6
6
  declare function DialogClose({ children, ...props }: DialogPrimitive.Close.Props & {
7
7
  children?: ReactNode;
8
- }): import("react/jsx-runtime").JSX.Element;
9
- declare function DialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props): import("react/jsx-runtime").JSX.Element;
8
+ }): ReactNode;
9
+ declare function DialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props): ReactNode;
10
10
  declare function DialogContent({ className, children, showCloseButton, closeButtonLabel, ...props }: DialogPrimitive.Popup.Props & {
11
11
  showCloseButton?: boolean;
12
12
  closeButtonLabel?: string;
13
- }): import("react/jsx-runtime").JSX.Element;
14
- declare function DialogHeader({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
15
- declare function DialogFooter({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
16
- declare function DialogTitle({ className, ...props }: ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
17
- declare function DialogDescription({ className, ...props }: DialogPrimitive.Description.Props): import("react/jsx-runtime").JSX.Element;
13
+ }): ReactNode;
14
+ declare function DialogHeader({ className, ...props }: ComponentProps<'div'>): ReactNode;
15
+ declare function DialogFooter({ className, ...props }: ComponentProps<'div'>): ReactNode;
16
+ declare function DialogTitle({ className, ...props }: ComponentProps<typeof DialogPrimitive.Title>): ReactNode;
17
+ declare function DialogDescription({ className, ...props }: DialogPrimitive.Description.Props): ReactNode;
18
18
  export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
@@ -7,7 +7,10 @@ import { Button as g } from "../button/button.js";
7
7
  function b({ ...t }) {
8
8
  return /* @__PURE__ */ a(e.Root, { "data-slot": "dialog", ...t });
9
9
  }
10
- function v({ children: t, ...o }) {
10
+ function v({
11
+ children: t,
12
+ ...o
13
+ }) {
11
14
  return /* @__PURE__ */ a(e.Trigger, { "data-slot": "dialog-trigger", ...o, children: t });
12
15
  }
13
16
  function p({ ...t }) {
@@ -84,7 +87,10 @@ function C({
84
87
  )
85
88
  ] });
86
89
  }
87
- function k({ className: t, ...o }) {
90
+ function k({
91
+ className: t,
92
+ ...o
93
+ }) {
88
94
  return /* @__PURE__ */ a(
89
95
  "div",
90
96
  {
@@ -97,7 +103,10 @@ function k({ className: t, ...o }) {
97
103
  }
98
104
  );
99
105
  }
100
- function w({ className: t, ...o }) {
106
+ function w({
107
+ className: t,
108
+ ...o
109
+ }) {
101
110
  return /* @__PURE__ */ a(
102
111
  "div",
103
112
  {
@@ -1,53 +1,30 @@
1
- import { ComponentProps, HTMLAttributes } from 'react';
2
- import { Menu as MenuPrimitive } from '@base-ui/react/menu';
3
- declare function DropdownMenu({ ...props }: MenuPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
4
- declare namespace DropdownMenu {
5
- var displayName: string;
6
- }
7
- declare function DropdownMenuPortal({ container, ...props }: MenuPrimitive.Portal.Props): import("react/jsx-runtime").JSX.Element;
8
- declare namespace DropdownMenuPortal {
9
- var displayName: string;
10
- }
11
- declare function DropdownMenuTrigger({ children, ...props }: MenuPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
12
- declare namespace DropdownMenuTrigger {
13
- var displayName: string;
14
- }
1
+ import { ForwardRefExoticComponent, RefAttributes, ComponentProps, ReactNode } from 'react';
2
+ import { SeparatorProps } from '@base-ui/react';
3
+ import { MenuCheckboxItemProps, MenuGroupLabelProps, MenuItemProps, MenuRadioItemProps, MenuSubmenuTriggerProps, Menu as MenuPrimitive } from '@base-ui/react/menu';
4
+ declare function DropdownMenu({ ...props }: MenuPrimitive.Root.Props): ReactNode;
5
+ declare function DropdownMenuPortal({ container, ...props }: MenuPrimitive.Portal.Props): ReactNode;
6
+ declare function DropdownMenuTrigger({ children, ...props }: MenuPrimitive.Trigger.Props): ReactNode;
15
7
  declare function DropdownMenuContent({ align, alignOffset, side, sideOffset, className, container, ...props }: MenuPrimitive.Popup.Props & Pick<MenuPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'> & {
16
8
  container?: MenuPrimitive.Portal.Props['container'];
17
- }): import("react/jsx-runtime").JSX.Element;
18
- declare namespace DropdownMenuContent {
19
- var displayName: string;
20
- }
21
- declare function DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props): import("react/jsx-runtime").JSX.Element;
22
- declare namespace DropdownMenuGroup {
23
- var displayName: string;
24
- }
25
- declare const DropdownMenuItem: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuItemProps & {
9
+ }): ReactNode;
10
+ declare function DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props): ReactNode;
11
+ declare const DropdownMenuItem: ForwardRefExoticComponent<Omit<MenuItemProps & {
26
12
  inset?: boolean;
27
- variant?: "default" | "destructive";
28
- }, "ref"> & import('react').RefAttributes<HTMLElement>>;
29
- declare const DropdownMenuCheckboxItem: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuCheckboxItemProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
30
- declare function DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props): import("react/jsx-runtime").JSX.Element;
31
- declare namespace DropdownMenuRadioGroup {
32
- var displayName: string;
33
- }
34
- declare const DropdownMenuRadioItem: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuRadioItemProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
35
- declare const DropdownMenuLabel: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuGroupLabelProps & {
13
+ variant?: 'default' | 'destructive';
14
+ }, 'ref'> & RefAttributes<HTMLElement>>;
15
+ declare const DropdownMenuCheckboxItem: ForwardRefExoticComponent<Omit<MenuCheckboxItemProps, 'ref'> & RefAttributes<HTMLElement>>;
16
+ declare function DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props): ReactNode;
17
+ declare const DropdownMenuRadioItem: ForwardRefExoticComponent<Omit<MenuRadioItemProps, 'ref'> & RefAttributes<HTMLElement>>;
18
+ declare const DropdownMenuLabel: ForwardRefExoticComponent<Omit<MenuGroupLabelProps & {
36
19
  inset?: boolean;
37
- }, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
38
- declare const DropdownMenuHeader: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
39
- declare const DropdownMenuSeparator: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').SeparatorProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
40
- declare const DropdownMenuShortcut: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & import('react').RefAttributes<HTMLSpanElement>>;
41
- declare function DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props): import("react/jsx-runtime").JSX.Element;
42
- declare namespace DropdownMenuSub {
43
- var displayName: string;
44
- }
45
- declare const DropdownMenuSubTrigger: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuSubmenuTriggerProps & {
20
+ }, 'ref'> & RefAttributes<HTMLDivElement>>;
21
+ declare const DropdownMenuHeader: ForwardRefExoticComponent<ComponentProps<'div'> & RefAttributes<HTMLDivElement>>;
22
+ declare const DropdownMenuSeparator: ForwardRefExoticComponent<Omit<SeparatorProps, 'ref'> & RefAttributes<HTMLDivElement>>;
23
+ declare const DropdownMenuShortcut: ForwardRefExoticComponent<ComponentProps<'span'> & RefAttributes<HTMLSpanElement>>;
24
+ declare function DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props): ReactNode;
25
+ declare const DropdownMenuSubTrigger: ForwardRefExoticComponent<Omit<MenuSubmenuTriggerProps & {
46
26
  inset?: boolean;
47
- }, "ref"> & import('react').RefAttributes<HTMLElement>>;
48
- declare function DropdownMenuSubContent({ align, alignOffset, side, sideOffset, className, ...props }: ComponentProps<typeof DropdownMenuContent>): import("react/jsx-runtime").JSX.Element;
49
- declare namespace DropdownMenuSubContent {
50
- var displayName: string;
51
- }
52
- declare const DropdownMenuSectionLabel: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
27
+ }, 'ref'> & RefAttributes<HTMLElement>>;
28
+ declare function DropdownMenuSubContent({ align, alignOffset, side, sideOffset, className, ...props }: ComponentProps<typeof DropdownMenuContent>): ReactNode;
29
+ declare const DropdownMenuSectionLabel: ForwardRefExoticComponent<ComponentProps<'div'> & RefAttributes<HTMLDivElement>>;
53
30
  export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuHeader, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, DropdownMenuSectionLabel, };
@@ -1,51 +1,48 @@
1
1
  import { jsx as n, jsxs as c } from "react/jsx-runtime";
2
- import { forwardRef as u } from "react";
2
+ import { forwardRef as i } from "react";
3
3
  import { Menu as r } from "@base-ui/react/menu";
4
- import { IconCheck as p, IconChevronRight as f } from "@tabler/icons-react";
5
- import { usePortalContainer as b } from "../../../../lib/portal-container-context.js";
4
+ import { IconCheck as l, IconChevronRight as m } from "@tabler/icons-react";
5
+ import { usePortalContainer as g } from "../../../../lib/portal-container-context.js";
6
6
  import { cn as d } from "../../../../lib/utils.js";
7
- function v({ ...e }) {
7
+ function G({ ...e }) {
8
8
  return /* @__PURE__ */ n(r.Root, { "data-slot": "dropdown-menu", ...e });
9
9
  }
10
- v.displayName = "DropdownMenu";
11
- function l({
10
+ function f({
12
11
  container: e,
13
- ...o
12
+ ...t
14
13
  }) {
15
- const t = b();
14
+ const o = g();
16
15
  return /* @__PURE__ */ n(
17
16
  r.Portal,
18
17
  {
19
18
  "data-slot": "dropdown-menu-portal",
20
- container: e ?? t,
21
- ...o
19
+ container: e ?? o,
20
+ ...t
22
21
  }
23
22
  );
24
23
  }
25
- l.displayName = "DropdownMenuPortal";
26
- function w({
24
+ function L({
27
25
  children: e,
28
- ...o
26
+ ...t
29
27
  }) {
30
- return /* @__PURE__ */ n(r.Trigger, { "data-slot": "dropdown-menu-trigger", ...o, children: e });
28
+ return /* @__PURE__ */ n(r.Trigger, { "data-slot": "dropdown-menu-trigger", ...t, children: e });
31
29
  }
32
- w.displayName = "DropdownMenuTrigger";
33
- function m({
30
+ function b({
34
31
  align: e = "start",
35
- alignOffset: o = 0,
36
- side: t = "bottom",
32
+ alignOffset: t = 0,
33
+ side: o = "bottom",
37
34
  sideOffset: a = 4,
38
35
  className: s,
39
- container: i,
40
- ...g
36
+ container: u,
37
+ ...p
41
38
  }) {
42
- return /* @__PURE__ */ n(l, { container: i, children: /* @__PURE__ */ n(
39
+ return /* @__PURE__ */ n(f, { container: u, children: /* @__PURE__ */ n(
43
40
  r.Positioner,
44
41
  {
45
42
  className: "isolate z-50 outline-none",
46
43
  align: e,
47
- alignOffset: o,
48
- side: t,
44
+ alignOffset: t,
45
+ side: o,
49
46
  sideOffset: a,
50
47
  children: /* @__PURE__ */ n(
51
48
  r.Popup,
@@ -55,24 +52,22 @@ function m({
55
52
  "bg-popover-background text-foreground p-1 data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--available-height) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg border shadow-md outline-none",
56
53
  s
57
54
  ),
58
- ...g
55
+ ...p
59
56
  }
60
57
  )
61
58
  }
62
59
  ) });
63
60
  }
64
- m.displayName = "DropdownMenuContent";
65
- function x({ ...e }) {
61
+ function P({ ...e }) {
66
62
  return /* @__PURE__ */ n(r.Group, { "data-slot": "dropdown-menu-group", ...e });
67
63
  }
68
- x.displayName = "DropdownMenuGroup";
69
- const h = u(({ className: e, inset: o, variant: t = "default", children: a, ...s }, i) => /* @__PURE__ */ n(
64
+ const v = i(({ className: e, inset: t, variant: o = "default", children: a, ...s }, u) => /* @__PURE__ */ n(
70
65
  r.Item,
71
66
  {
72
- ref: i,
67
+ ref: u,
73
68
  "data-slot": "dropdown-menu-item",
74
- "data-inset": o,
75
- "data-variant": t,
69
+ "data-inset": t,
70
+ "data-variant": o,
76
71
  className: d(
77
72
  "focus:bg-accent-background focus:text-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive-background-hover dark:data-[variant=destructive]:focus:bg-destructive-background-hover data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:text-destructive-foreground data-[variant=destructive]:hover:bg-destructive-background-hover dark:data-[variant=destructive]:hover:bg-destructive-background-hover [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm p-2 text-base outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
78
73
  e
@@ -81,8 +76,8 @@ const h = u(({ className: e, inset: o, variant: t = "default", children: a, ...s
81
76
  children: a
82
77
  }
83
78
  ));
84
- h.displayName = "DropdownMenuItem";
85
- const M = u(({ className: e, children: o, checked: t, ...a }, s) => /* @__PURE__ */ c(
79
+ v.displayName = "DropdownMenuItem";
80
+ const x = i(({ className: e, children: t, checked: o, ...a }, s) => /* @__PURE__ */ c(
86
81
  r.CheckboxItem,
87
82
  {
88
83
  ref: s,
@@ -91,16 +86,18 @@ const M = u(({ className: e, children: o, checked: t, ...a }, s) => /* @__PURE__
91
86
  "focus:bg-accent-background focus:text-foreground h-9 relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
92
87
  e
93
88
  ),
94
- checked: t,
89
+ checked: o,
95
90
  ...a,
96
91
  children: [
97
- /* @__PURE__ */ n("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ n(r.CheckboxItemIndicator, { children: /* @__PURE__ */ n(p, { className: "size-4 text-foreground" }) }) }),
98
- o
92
+ /* @__PURE__ */ n("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ n(r.CheckboxItemIndicator, { children: /* @__PURE__ */ n(l, { className: "size-4 text-foreground" }) }) }),
93
+ t
99
94
  ]
100
95
  }
101
96
  ));
102
- M.displayName = "DropdownMenuCheckboxItem";
103
- function D({ ...e }) {
97
+ x.displayName = "DropdownMenuCheckboxItem";
98
+ function T({
99
+ ...e
100
+ }) {
104
101
  return /* @__PURE__ */ n(
105
102
  r.RadioGroup,
106
103
  {
@@ -109,8 +106,7 @@ function D({ ...e }) {
109
106
  }
110
107
  );
111
108
  }
112
- D.displayName = "DropdownMenuRadioGroup";
113
- const N = u(({ className: e, children: o, ...t }, a) => /* @__PURE__ */ c(
109
+ const w = i(({ className: e, children: t, ...o }, a) => /* @__PURE__ */ c(
114
110
  r.RadioItem,
115
111
  {
116
112
  ref: a,
@@ -119,137 +115,143 @@ const N = u(({ className: e, children: o, ...t }, a) => /* @__PURE__ */ c(
119
115
  "focus:bg-accent-background focus:text-foreground h-9 relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
120
116
  e
121
117
  ),
122
- ...t,
118
+ ...o,
123
119
  children: [
124
- /* @__PURE__ */ n("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ n(r.RadioItemIndicator, { children: /* @__PURE__ */ n(p, { className: "size-4 text-foreground" }) }) }),
125
- o
120
+ /* @__PURE__ */ n("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ n(r.RadioItemIndicator, { children: /* @__PURE__ */ n(l, { className: "size-4 text-foreground" }) }) }),
121
+ t
126
122
  ]
127
123
  }
128
124
  ));
129
- N.displayName = "DropdownMenuRadioItem";
130
- const y = u(({ className: e, inset: o, ...t }, a) => /* @__PURE__ */ n(
125
+ w.displayName = "DropdownMenuRadioItem";
126
+ const h = i(({ className: e, inset: t, ...o }, a) => /* @__PURE__ */ n(
131
127
  r.GroupLabel,
132
128
  {
133
129
  ref: a,
134
130
  "data-slot": "dropdown-menu-label",
135
- "data-inset": o,
131
+ "data-inset": t,
136
132
  className: d(
137
133
  "-mx-1 -mt-1 mb-1 px-2 py-1.5 text-sm border-b border-border font-medium data-inset:pl-8 text-foreground dark:text-foreground",
138
134
  e
139
135
  ),
140
- ...t
141
- }
142
- ));
143
- y.displayName = "DropdownMenuLabel";
144
- const k = u(({ className: e, ...o }, t) => /* @__PURE__ */ n(
145
- "div",
146
- {
147
- ref: t,
148
- "data-slot": "dropdown-menu-header",
149
- className: d(
150
- "-mx-1 -mt-1 mb-1 flex flex-row items-center gap-2 border-b border-border px-2 py-2 pointer-events-none",
151
- e
152
- ),
153
136
  ...o
154
137
  }
155
138
  ));
156
- k.displayName = "DropdownMenuHeader";
157
- const z = u(({ className: e, ...o }, t) => /* @__PURE__ */ n(
139
+ h.displayName = "DropdownMenuLabel";
140
+ const M = i(
141
+ ({ className: e, ...t }, o) => /* @__PURE__ */ n(
142
+ "div",
143
+ {
144
+ ref: o,
145
+ "data-slot": "dropdown-menu-header",
146
+ className: d(
147
+ "-mx-1 -mt-1 mb-1 flex flex-row items-center gap-2 border-b border-border px-2 py-2 pointer-events-none",
148
+ e
149
+ ),
150
+ ...t
151
+ }
152
+ )
153
+ );
154
+ M.displayName = "DropdownMenuHeader";
155
+ const D = i(({ className: e, ...t }, o) => /* @__PURE__ */ n(
158
156
  r.Separator,
159
157
  {
160
- ref: t,
158
+ ref: o,
161
159
  "data-slot": "dropdown-menu-separator",
162
160
  className: d("bg-border -mx-1 my-1 h-px", e),
163
- ...o
164
- }
165
- ));
166
- z.displayName = "DropdownMenuSeparator";
167
- const I = u(({ className: e, ...o }, t) => /* @__PURE__ */ n(
168
- "span",
169
- {
170
- ref: t,
171
- "data-slot": "dropdown-menu-shortcut",
172
- className: d(
173
- "text-muted-foreground ml-auto text-xs tracking-widest",
174
- e
175
- ),
176
- ...o
161
+ ...t
177
162
  }
178
163
  ));
179
- I.displayName = "DropdownMenuShortcut";
180
- function S({ ...e }) {
164
+ D.displayName = "DropdownMenuSeparator";
165
+ const N = i(
166
+ ({ className: e, ...t }, o) => /* @__PURE__ */ n(
167
+ "span",
168
+ {
169
+ ref: o,
170
+ "data-slot": "dropdown-menu-shortcut",
171
+ className: d(
172
+ "text-muted-foreground ml-auto text-xs tracking-widest",
173
+ e
174
+ ),
175
+ ...t
176
+ }
177
+ )
178
+ );
179
+ N.displayName = "DropdownMenuShortcut";
180
+ function j({
181
+ ...e
182
+ }) {
181
183
  return /* @__PURE__ */ n(r.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...e });
182
184
  }
183
- S.displayName = "DropdownMenuSub";
184
- const _ = u(({ className: e, inset: o, children: t, ...a }, s) => /* @__PURE__ */ c(
185
+ const k = i(({ className: e, inset: t, children: o, ...a }, s) => /* @__PURE__ */ c(
185
186
  r.SubmenuTrigger,
186
187
  {
187
188
  ref: s,
188
189
  "data-slot": "dropdown-menu-sub-trigger",
189
- "data-inset": o,
190
+ "data-inset": t,
190
191
  className: d(
191
192
  "focus:bg-accent-background focus:text-foreground data-open:bg-accent-background data-open:text-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
192
193
  e
193
194
  ),
194
195
  ...a,
195
196
  children: [
196
- t,
197
- /* @__PURE__ */ n(f, { className: "ml-auto size-4" })
197
+ o,
198
+ /* @__PURE__ */ n(m, { className: "ml-auto size-4" })
198
199
  ]
199
200
  }
200
201
  ));
201
- _.displayName = "DropdownMenuSubTrigger";
202
- function C({
202
+ k.displayName = "DropdownMenuSubTrigger";
203
+ function H({
203
204
  align: e = "start",
204
- alignOffset: o = -3,
205
- side: t = "right",
205
+ alignOffset: t = -3,
206
+ side: o = "right",
206
207
  sideOffset: a = 0,
207
208
  className: s,
208
- ...i
209
+ ...u
209
210
  }) {
210
211
  return /* @__PURE__ */ n(
211
- m,
212
+ b,
212
213
  {
213
214
  "data-slot": "dropdown-menu-sub-content",
214
215
  className: d("min-w-32 w-auto", s),
215
216
  align: e,
216
- alignOffset: o,
217
- side: t,
217
+ alignOffset: t,
218
+ side: o,
218
219
  sideOffset: a,
219
- ...i
220
+ ...u
220
221
  }
221
222
  );
222
223
  }
223
- C.displayName = "DropdownMenuSubContent";
224
- const R = u(({ className: e, ...o }, t) => /* @__PURE__ */ n(
225
- "div",
226
- {
227
- ref: t,
228
- "data-slot": "dropdown-menu-section-label",
229
- className: d(
230
- "px-2 py-1 text-sm text-muted-foreground dark:text-muted-foreground",
231
- e
232
- ),
233
- ...o
234
- }
235
- ));
236
- R.displayName = "DropdownMenuSectionLabel";
224
+ const y = i(
225
+ ({ className: e, ...t }, o) => /* @__PURE__ */ n(
226
+ "div",
227
+ {
228
+ ref: o,
229
+ "data-slot": "dropdown-menu-section-label",
230
+ className: d(
231
+ "px-2 py-1 text-sm text-muted-foreground dark:text-muted-foreground",
232
+ e
233
+ ),
234
+ ...t
235
+ }
236
+ )
237
+ );
238
+ y.displayName = "DropdownMenuSectionLabel";
237
239
  export {
238
- v as DropdownMenu,
239
- M as DropdownMenuCheckboxItem,
240
- m as DropdownMenuContent,
241
- x as DropdownMenuGroup,
242
- k as DropdownMenuHeader,
243
- h as DropdownMenuItem,
244
- y as DropdownMenuLabel,
245
- l as DropdownMenuPortal,
246
- D as DropdownMenuRadioGroup,
247
- N as DropdownMenuRadioItem,
248
- R as DropdownMenuSectionLabel,
249
- z as DropdownMenuSeparator,
250
- I as DropdownMenuShortcut,
251
- S as DropdownMenuSub,
252
- C as DropdownMenuSubContent,
253
- _ as DropdownMenuSubTrigger,
254
- w as DropdownMenuTrigger
240
+ G as DropdownMenu,
241
+ x as DropdownMenuCheckboxItem,
242
+ b as DropdownMenuContent,
243
+ P as DropdownMenuGroup,
244
+ M as DropdownMenuHeader,
245
+ v as DropdownMenuItem,
246
+ h as DropdownMenuLabel,
247
+ f as DropdownMenuPortal,
248
+ T as DropdownMenuRadioGroup,
249
+ w as DropdownMenuRadioItem,
250
+ y as DropdownMenuSectionLabel,
251
+ D as DropdownMenuSeparator,
252
+ N as DropdownMenuShortcut,
253
+ j as DropdownMenuSub,
254
+ H as DropdownMenuSubContent,
255
+ k as DropdownMenuSubTrigger,
256
+ L as DropdownMenuTrigger
255
257
  };
@@ -0,0 +1,10 @@
1
+ import { Context } from 'react';
2
+ type EmptyStateType = 'error-generic' | 'new-object' | 'no-access' | 'no-results' | 'not-found' | 'new-chat' | 'unknown';
3
+ type EmptyStateContextValue = {
4
+ variant: 'compact' | 'full';
5
+ type?: EmptyStateType;
6
+ };
7
+ declare const EmptyStateContext: Context<EmptyStateContextValue>;
8
+ declare const useEmptyState: () => EmptyStateContextValue;
9
+ export { EmptyStateContext, useEmptyState };
10
+ export type { EmptyStateType };