@avenue-ticketing/ui 0.11.0 → 0.12.0-beta.2

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 (226) hide show
  1. package/README.md +47 -0
  2. package/dist/badge-types-B67wcd4m.d.ts +22 -0
  3. package/dist/react/app-store-buttons-outline.d.ts +17 -0
  4. package/dist/react/app-store-buttons-outline.js +582 -0
  5. package/dist/react/app-store-buttons-outline.js.map +1 -0
  6. package/dist/react/app-store-buttons.d.ts +20 -0
  7. package/dist/react/app-store-buttons.js +817 -0
  8. package/dist/react/app-store-buttons.js.map +1 -0
  9. package/dist/react/avatar-label-group.d.ts +14 -0
  10. package/dist/react/avatar-label-group.js +183 -0
  11. package/dist/react/avatar-label-group.js.map +1 -0
  12. package/dist/react/avatar-profile-photo.d.ts +9 -0
  13. package/dist/react/avatar-profile-photo.js +202 -0
  14. package/dist/react/avatar-profile-photo.js.map +1 -0
  15. package/dist/react/avatar.d.ts +66 -40
  16. package/dist/react/avatar.js +159 -149
  17. package/dist/react/avatar.js.map +1 -1
  18. package/dist/react/badge-groups.d.ts +25 -0
  19. package/dist/react/badge-groups.js +162 -0
  20. package/dist/react/badge-groups.js.map +1 -0
  21. package/dist/react/badge.d.ts +123 -59
  22. package/dist/react/badge.js +314 -86
  23. package/dist/react/badge.js.map +1 -1
  24. package/dist/react/button-group.d.ts +43 -0
  25. package/dist/react/button-group.js +108 -0
  26. package/dist/react/button-group.js.map +1 -0
  27. package/dist/react/button-utility.d.ts +47 -0
  28. package/dist/react/button-utility.js +158 -0
  29. package/dist/react/button-utility.js.map +1 -0
  30. package/dist/react/button.d.ts +112 -37
  31. package/dist/react/button.js +270 -55
  32. package/dist/react/button.js.map +1 -1
  33. package/dist/react/checkbox.d.ts +25 -8
  34. package/dist/react/checkbox.js +115 -110
  35. package/dist/react/checkbox.js.map +1 -1
  36. package/dist/react/close-button.d.ts +25 -0
  37. package/dist/react/close-button.js +54 -0
  38. package/dist/react/close-button.js.map +1 -0
  39. package/dist/react/combobox.d.ts +18 -0
  40. package/dist/react/combobox.js +574 -0
  41. package/dist/react/combobox.js.map +1 -0
  42. package/dist/react/dialog.d.ts +15 -15
  43. package/dist/react/dialog.js +43 -108
  44. package/dist/react/dialog.js.map +1 -1
  45. package/dist/react/dropdown-account-breadcrumb.d.ts +5 -0
  46. package/dist/react/dropdown-account-breadcrumb.js +481 -0
  47. package/dist/react/dropdown-account-breadcrumb.js.map +1 -0
  48. package/dist/react/dropdown-account-button.d.ts +5 -0
  49. package/dist/react/dropdown-account-button.js +938 -0
  50. package/dist/react/dropdown-account-button.js.map +1 -0
  51. package/dist/react/dropdown-account-card-md.d.ts +5 -0
  52. package/dist/react/dropdown-account-card-md.js +714 -0
  53. package/dist/react/dropdown-account-card-md.js.map +1 -0
  54. package/dist/react/dropdown-account-card-sm.d.ts +5 -0
  55. package/dist/react/dropdown-account-card-sm.js +692 -0
  56. package/dist/react/dropdown-account-card-sm.js.map +1 -0
  57. package/dist/react/dropdown-account-card-xs.d.ts +5 -0
  58. package/dist/react/dropdown-account-card-xs.js +672 -0
  59. package/dist/react/dropdown-account-card-xs.js.map +1 -0
  60. package/dist/react/dropdown-avatar.d.ts +5 -0
  61. package/dist/react/dropdown-avatar.js +955 -0
  62. package/dist/react/dropdown-avatar.js.map +1 -0
  63. package/dist/react/dropdown-button-advanced.d.ts +5 -0
  64. package/dist/react/dropdown-button-advanced.js +964 -0
  65. package/dist/react/dropdown-button-advanced.js.map +1 -0
  66. package/dist/react/dropdown-button-link.d.ts +5 -0
  67. package/dist/react/dropdown-button-link.js +666 -0
  68. package/dist/react/dropdown-button-link.js.map +1 -0
  69. package/dist/react/dropdown-button-simple.d.ts +5 -0
  70. package/dist/react/dropdown-button-simple.js +919 -0
  71. package/dist/react/dropdown-button-simple.js.map +1 -0
  72. package/dist/react/dropdown-icon-advanced.d.ts +5 -0
  73. package/dist/react/dropdown-icon-advanced.js +708 -0
  74. package/dist/react/dropdown-icon-advanced.js.map +1 -0
  75. package/dist/react/dropdown-icon-simple.d.ts +5 -0
  76. package/dist/react/dropdown-icon-simple.js +670 -0
  77. package/dist/react/dropdown-icon-simple.js.map +1 -0
  78. package/dist/react/dropdown-integration.d.ts +5 -0
  79. package/dist/react/dropdown-integration.js +1490 -0
  80. package/dist/react/dropdown-integration.js.map +1 -0
  81. package/dist/react/dropdown-search-advanced.d.ts +5 -0
  82. package/dist/react/dropdown-search-advanced.js +1163 -0
  83. package/dist/react/dropdown-search-advanced.js.map +1 -0
  84. package/dist/react/dropdown-search-simple.d.ts +5 -0
  85. package/dist/react/dropdown-search-simple.js +1125 -0
  86. package/dist/react/dropdown-search-simple.js.map +1 -0
  87. package/dist/react/dropdown.d.ts +35 -133
  88. package/dist/react/dropdown.js +536 -1318
  89. package/dist/react/dropdown.js.map +1 -1
  90. package/dist/react/file-upload-trigger.d.ts +34 -0
  91. package/dist/react/file-upload-trigger.js +39 -0
  92. package/dist/react/file-upload-trigger.js.map +1 -0
  93. package/dist/react/form.d.ts +10 -0
  94. package/dist/react/form.js +11 -0
  95. package/dist/react/form.js.map +1 -0
  96. package/dist/react/hint-text.d.ts +17 -0
  97. package/dist/react/hint-text.js +36 -0
  98. package/dist/react/hint-text.js.map +1 -0
  99. package/dist/react/hook-form.d.ts +35 -0
  100. package/dist/react/hook-form.js +50 -0
  101. package/dist/react/hook-form.js.map +1 -0
  102. package/dist/react/input-date.d.ts +43 -0
  103. package/dist/react/input-date.js +306 -0
  104. package/dist/react/input-date.js.map +1 -0
  105. package/dist/react/input-file.d.ts +45 -0
  106. package/dist/react/input-file.js +748 -0
  107. package/dist/react/input-file.js.map +1 -0
  108. package/dist/react/input-group.d.ts +37 -0
  109. package/dist/react/input-group.js +251 -0
  110. package/dist/react/input-group.js.map +1 -0
  111. package/dist/react/input-number.d.ts +32 -0
  112. package/dist/react/input-number.js +553 -0
  113. package/dist/react/input-number.js.map +1 -0
  114. package/dist/react/input-payment.d.ts +16 -0
  115. package/dist/react/input-payment.js +593 -0
  116. package/dist/react/input-payment.js.map +1 -0
  117. package/dist/react/input-tags-outer.d.ts +53 -0
  118. package/dist/react/input-tags-outer.js +607 -0
  119. package/dist/react/input-tags-outer.js.map +1 -0
  120. package/dist/react/input-tags.d.ts +53 -0
  121. package/dist/react/input-tags.js +565 -0
  122. package/dist/react/input-tags.js.map +1 -0
  123. package/dist/react/input.d.ts +71 -22
  124. package/dist/react/input.js +332 -45
  125. package/dist/react/input.js.map +1 -1
  126. package/dist/react/label.d.ts +18 -0
  127. package/dist/react/label.js +112 -0
  128. package/dist/react/label.js.map +1 -0
  129. package/dist/react/multi-select.d.ts +90 -0
  130. package/dist/react/multi-select.js +1237 -0
  131. package/dist/react/multi-select.js.map +1 -0
  132. package/dist/react/pin-input.d.ts +59 -0
  133. package/dist/react/pin-input.js +229 -0
  134. package/dist/react/pin-input.js.map +1 -0
  135. package/dist/react/popover.d.ts +14 -71
  136. package/dist/react/popover.js +171 -540
  137. package/dist/react/popover.js.map +1 -1
  138. package/dist/react/progress-circle.d.ts +9 -0
  139. package/dist/react/progress-circle.js +36 -0
  140. package/dist/react/progress-circle.js.map +1 -0
  141. package/dist/react/progress-circles.d.ts +14 -0
  142. package/dist/react/progress-circles.js +160 -0
  143. package/dist/react/progress-circles.js.map +1 -0
  144. package/dist/react/progress-indicators.d.ts +52 -0
  145. package/dist/react/progress-indicators.js +78 -0
  146. package/dist/react/progress-indicators.js.map +1 -0
  147. package/dist/react/radio-buttons.d.ts +35 -0
  148. package/dist/react/radio-buttons.js +117 -0
  149. package/dist/react/radio-buttons.js.map +1 -0
  150. package/dist/react/scroll-header.d.ts +6 -0
  151. package/dist/react/scroll-header.js +42 -61
  152. package/dist/react/scroll-header.js.map +1 -1
  153. package/dist/react/scroll-wheel.d.ts +4 -5
  154. package/dist/react/scroll-wheel.js +19 -15
  155. package/dist/react/scroll-wheel.js.map +1 -1
  156. package/dist/react/select-item.d.ts +14 -0
  157. package/dist/react/select-item.js +340 -0
  158. package/dist/react/select-item.js.map +1 -0
  159. package/dist/react/select-native.d.ts +17 -0
  160. package/dist/react/select-native.js +203 -0
  161. package/dist/react/select-native.js.map +1 -0
  162. package/dist/react/select.d.ts +19 -61
  163. package/dist/react/select.js +866 -908
  164. package/dist/react/select.js.map +1 -1
  165. package/dist/react/sheet.d.ts +19 -19
  166. package/dist/react/sheet.js +97 -219
  167. package/dist/react/sheet.js.map +1 -1
  168. package/dist/react/slider.d.ts +15 -0
  169. package/dist/react/slider.js +66 -0
  170. package/dist/react/slider.js.map +1 -0
  171. package/dist/react/social-button.d.ts +55 -0
  172. package/dist/react/social-button.js +263 -0
  173. package/dist/react/social-button.js.map +1 -0
  174. package/dist/react/social-logos.d.ts +20 -0
  175. package/dist/react/social-logos.js +131 -0
  176. package/dist/react/social-logos.js.map +1 -0
  177. package/dist/react/switch.d.ts +21 -36
  178. package/dist/react/switch.js +121 -109
  179. package/dist/react/switch.js.map +1 -1
  180. package/dist/react/tag-select.d.ts +47 -0
  181. package/dist/react/tag-select.js +1252 -0
  182. package/dist/react/tag-select.js.map +1 -0
  183. package/dist/react/tags.d.ts +30 -0
  184. package/dist/react/tags.js +228 -0
  185. package/dist/react/tags.js.map +1 -0
  186. package/dist/react/textarea.d.ts +40 -4
  187. package/dist/react/textarea.js +193 -27
  188. package/dist/react/textarea.js.map +1 -1
  189. package/dist/react/tooltip.d.ts +30 -43
  190. package/dist/react/tooltip.js +65 -521
  191. package/dist/react/tooltip.js.map +1 -1
  192. package/dist/select-mobile-sheet-CB2ptDTJ.d.ts +12 -0
  193. package/dist/select-shared-oJEeJxeB.d.ts +68 -0
  194. package/package.json +28 -21
  195. package/source.css +2 -13
  196. package/theme.css +883 -79
  197. package/dist/react/calendar.d.ts +0 -13
  198. package/dist/react/calendar.js +0 -4639
  199. package/dist/react/calendar.js.map +0 -1
  200. package/dist/react/card.d.ts +0 -11
  201. package/dist/react/card.js +0 -113
  202. package/dist/react/card.js.map +0 -1
  203. package/dist/react/datetime-picker.d.ts +0 -21
  204. package/dist/react/datetime-picker.js +0 -6142
  205. package/dist/react/datetime-picker.js.map +0 -1
  206. package/dist/react/pagination.d.ts +0 -28
  207. package/dist/react/pagination.js +0 -262
  208. package/dist/react/pagination.js.map +0 -1
  209. package/dist/react/table-pagination.d.ts +0 -15
  210. package/dist/react/table-pagination.js +0 -1247
  211. package/dist/react/table-pagination.js.map +0 -1
  212. package/dist/react/table-view/column-menu.d.ts +0 -15
  213. package/dist/react/table-view/column-menu.js +0 -1049
  214. package/dist/react/table-view/column-menu.js.map +0 -1
  215. package/dist/react/table-view/index.d.ts +0 -70
  216. package/dist/react/table-view/index.js +0 -2284
  217. package/dist/react/table-view/index.js.map +0 -1
  218. package/dist/react/table.d.ts +0 -86
  219. package/dist/react/table.js +0 -414
  220. package/dist/react/table.js.map +0 -1
  221. package/dist/react/tabs.d.ts +0 -34
  222. package/dist/react/tabs.js +0 -423
  223. package/dist/react/tabs.js.map +0 -1
  224. package/dist/react/time-picker.d.ts +0 -22
  225. package/dist/react/time-picker.js +0 -856
  226. package/dist/react/time-picker.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/utils.ts","../../src/react/tooltip.tsx"],"names":["w","h","pts"],"mappings":"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","file":"tooltip.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport * as React from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport { cn } from \"../lib/utils\";\n\ntype Side = \"top\" | \"right\" | \"bottom\" | \"left\";\ntype Align = \"start\" | \"center\" | \"end\";\n\ninterface Position {\n top: number;\n left: number;\n side: Side;\n arrowCenter: number;\n}\n\n/** span of the arrow along the tooltip edge (matches svg width/height) */\nconst ARROW_SPAN_PX = 14;\nconst ARROW_HALF_PX = ARROW_SPAN_PX / 2;\nconst ARROW_EDGE_PAD_PX = 5;\n\nfunction computeArrowCenter(\n triggerRect: DOMRectReadOnly,\n layerRect: DOMRectReadOnly,\n side: Side,\n): number {\n const midX = triggerRect.left + triggerRect.width / 2;\n const midY = triggerRect.top + triggerRect.height / 2;\n const min = ARROW_EDGE_PAD_PX + ARROW_HALF_PX;\n if (side === \"top\" || side === \"bottom\") {\n return Math.max(min, Math.min(midX - layerRect.left, layerRect.width - min));\n }\n return Math.max(min, Math.min(midY - layerRect.top, layerRect.height - min));\n}\n\nfunction computePosition(\n trigger: HTMLElement,\n layer: HTMLElement,\n side: Side,\n align: Align,\n offset: number,\n viewportPadding: number,\n): Position {\n const triggerRect = trigger.getBoundingClientRect();\n const pw = layer.offsetWidth;\n const ph = layer.offsetHeight;\n const vw = window.innerWidth;\n const vh = window.innerHeight;\n\n let top = 0;\n let left = 0;\n let effectiveSide: Side = side;\n\n const place = (s: Side) => {\n switch (s) {\n case \"bottom\":\n top = triggerRect.bottom + offset;\n break;\n case \"top\":\n top = triggerRect.top - ph - offset;\n break;\n case \"right\":\n left = triggerRect.right + offset;\n top =\n align === \"start\"\n ? triggerRect.top\n : align === \"end\"\n ? triggerRect.bottom - ph\n : triggerRect.top + triggerRect.height / 2 - ph / 2;\n return;\n case \"left\":\n left = triggerRect.left - pw - offset;\n top =\n align === \"start\"\n ? triggerRect.top\n : align === \"end\"\n ? triggerRect.bottom - ph\n : triggerRect.top + triggerRect.height / 2 - ph / 2;\n return;\n }\n if (align === \"start\") left = triggerRect.left;\n else if (align === \"end\") left = triggerRect.right - pw;\n else left = triggerRect.left + triggerRect.width / 2 - pw / 2;\n };\n\n place(side);\n\n const tryFlip = () => {\n if (side === \"bottom\" && top + ph > vh - viewportPadding) {\n const newTop = triggerRect.top - ph - offset;\n if (newTop >= viewportPadding) {\n effectiveSide = \"top\";\n top = newTop;\n }\n } else if (side === \"top\" && top < viewportPadding) {\n const newTop = triggerRect.bottom + offset;\n if (newTop + ph <= vh - viewportPadding) {\n effectiveSide = \"bottom\";\n top = newTop;\n }\n } else if (side === \"right\" && left + pw > vw - viewportPadding) {\n const newLeft = triggerRect.left - pw - offset;\n if (newLeft >= viewportPadding) {\n effectiveSide = \"left\";\n left = newLeft;\n }\n } else if (side === \"left\" && left < viewportPadding) {\n const newLeft = triggerRect.right + offset;\n if (newLeft + pw <= vw - viewportPadding) {\n effectiveSide = \"right\";\n left = newLeft;\n }\n }\n };\n tryFlip();\n\n return {\n top,\n left,\n side: effectiveSide,\n arrowCenter: 0,\n };\n}\n\nfunction layerRectAtPosition(\n top: number,\n left: number,\n width: number,\n height: number,\n): DOMRectReadOnly {\n return new DOMRect(left, top, width, height);\n}\n\nconst arrowStrokeProps = {\n fill: \"none\" as const,\n stroke: \"currentColor\",\n strokeWidth: 1.25,\n strokeLinecap: \"round\" as const,\n strokeLinejoin: \"round\" as const,\n vectorEffect: \"non-scaling-stroke\" as const,\n className: \"text-primary/10\",\n};\n\n/** filled caret + open polyline so stroke follows outer legs only (no diamond inner corners) */\nfunction TooltipArrowGraphic({ side }: { side: Side }) {\n const fillCls = \"fill-background\";\n\n if (side === \"bottom\") {\n const w = ARROW_SPAN_PX;\n const h = 8;\n const pts = `0,${h} ${w / 2},0 ${w},${h}`;\n return (\n <svg\n width={w}\n height={h}\n viewBox={`0 0 ${w} ${h}`}\n className=\"block shrink-0\"\n aria-hidden\n >\n <polygon points={pts} className={fillCls} />\n <polyline points={pts} {...arrowStrokeProps} />\n </svg>\n );\n }\n if (side === \"top\") {\n const w = ARROW_SPAN_PX;\n const h = 8;\n const pts = `0,0 ${w / 2},${h} ${w},0`;\n return (\n <svg\n width={w}\n height={h}\n viewBox={`0 0 ${w} ${h}`}\n className=\"block shrink-0\"\n aria-hidden\n >\n <polygon points={pts} className={fillCls} />\n <polyline points={pts} {...arrowStrokeProps} />\n </svg>\n );\n }\n if (side === \"right\") {\n const w = 8;\n const h = ARROW_SPAN_PX;\n const pts = `${w},0 0,${h / 2} ${w},${h}`;\n return (\n <svg\n width={w}\n height={h}\n viewBox={`0 0 ${w} ${h}`}\n className=\"block shrink-0\"\n aria-hidden\n >\n <polygon points={pts} className={fillCls} />\n <polyline points={pts} {...arrowStrokeProps} />\n </svg>\n );\n }\n const w = 8;\n const h = ARROW_SPAN_PX;\n const pts = `0,0 ${w},${h / 2} 0,${h}`;\n return (\n <svg\n width={w}\n height={h}\n viewBox={`0 0 ${w} ${h}`}\n className=\"block shrink-0\"\n aria-hidden\n >\n <polygon points={pts} className={fillCls} />\n <polyline points={pts} {...arrowStrokeProps} />\n </svg>\n );\n}\n\nfunction tooltipArrowWrapperStyle(\n side: Side,\n arrowCenter: number,\n): React.CSSProperties {\n const base: React.CSSProperties = {\n position: \"absolute\",\n zIndex: 1,\n pointerEvents: \"none\",\n lineHeight: 0,\n };\n switch (side) {\n case \"bottom\":\n return {\n ...base,\n left: arrowCenter,\n top: 0,\n transform: \"translate(-50%, -100%)\",\n };\n case \"top\":\n return {\n ...base,\n left: arrowCenter,\n bottom: 0,\n transform: \"translate(-50%, 100%)\",\n };\n case \"right\":\n return {\n ...base,\n top: arrowCenter,\n left: 0,\n transform: \"translate(-100%, -50%)\",\n };\n case \"left\":\n return {\n ...base,\n top: arrowCenter,\n right: 0,\n transform: \"translate(100%, -50%)\",\n };\n }\n}\n\ntype TooltipContextValue = {\n open: boolean;\n setOpen: (next: boolean) => void;\n triggerRef: React.RefObject<HTMLElement | null>;\n contentId: string;\n delayDuration: number;\n closeDelay: number;\n disabled: boolean;\n openTimerRef: React.MutableRefObject<ReturnType<typeof setTimeout> | null>;\n closeTimerRef: React.MutableRefObject<ReturnType<typeof setTimeout> | null>;\n clearTimers: () => void;\n scheduleOpen: (instant?: boolean) => void;\n scheduleClose: () => void;\n cancelClose: () => void;\n};\n\nconst TooltipContext = React.createContext<TooltipContextValue | null>(null);\n\nfunction useTooltip() {\n const ctx = React.useContext(TooltipContext);\n if (!ctx) {\n throw new Error(\"Tooltip components must be used within <Tooltip>\");\n }\n return ctx;\n}\n\nexport type TooltipProps = {\n children: React.ReactNode;\n /** delay before showing on hover (ms); `0` is instant; focus always opens immediately */\n delayDuration?: number;\n /** delay after pointer leaves trigger/content before hiding (ms) */\n closeDelay?: number;\n disabled?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n};\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n delayDuration = 0,\n closeDelay = 40,\n disabled = false,\n open: controlledOpen,\n onOpenChange,\n}) => {\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false);\n const isControlled = controlledOpen !== undefined;\n const open = disabled ? false : isControlled ? controlledOpen : uncontrolledOpen;\n const triggerRef = React.useRef<HTMLElement | null>(null);\n const contentId = React.useId();\n const openTimerRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const closeTimerRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const setOpen = React.useCallback(\n (next: boolean) => {\n if (disabled) return;\n if (!isControlled) setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [disabled, isControlled, onOpenChange],\n );\n\n const clearTimers = React.useCallback(() => {\n if (openTimerRef.current) clearTimeout(openTimerRef.current);\n if (closeTimerRef.current) clearTimeout(closeTimerRef.current);\n openTimerRef.current = null;\n closeTimerRef.current = null;\n }, []);\n\n const scheduleOpen = React.useCallback(\n (instant?: boolean) => {\n clearTimers();\n if (instant || delayDuration <= 0) {\n setOpen(true);\n return;\n }\n openTimerRef.current = setTimeout(() => {\n openTimerRef.current = null;\n setOpen(true);\n }, delayDuration);\n },\n [clearTimers, delayDuration, setOpen],\n );\n\n const scheduleClose = React.useCallback(() => {\n if (openTimerRef.current) {\n clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }\n closeTimerRef.current = setTimeout(() => {\n closeTimerRef.current = null;\n setOpen(false);\n }, closeDelay);\n }, [closeDelay, setOpen]);\n\n const cancelClose = React.useCallback(() => {\n if (closeTimerRef.current) {\n clearTimeout(closeTimerRef.current);\n closeTimerRef.current = null;\n }\n }, []);\n\n React.useEffect(() => () => clearTimers(), [clearTimers]);\n\n const value = React.useMemo(\n () => ({\n open,\n setOpen,\n triggerRef,\n contentId,\n delayDuration,\n closeDelay,\n disabled: Boolean(disabled),\n openTimerRef,\n closeTimerRef,\n clearTimers,\n scheduleOpen,\n scheduleClose,\n cancelClose,\n }),\n [\n open,\n setOpen,\n contentId,\n delayDuration,\n closeDelay,\n disabled,\n clearTimers,\n scheduleOpen,\n scheduleClose,\n cancelClose,\n ],\n );\n\n return (\n <TooltipContext.Provider value={value}>{children}</TooltipContext.Provider>\n );\n};\n\nexport type TooltipTriggerProps = React.HTMLAttributes<HTMLElement> & {\n children: React.ReactNode;\n asChild?: boolean;\n};\n\nfunction mergeRefs<T>(\n ...refs: Array<React.Ref<T> | undefined>\n): React.RefCallback<T> {\n return (node) => {\n for (const ref of refs) {\n if (!ref) continue;\n if (typeof ref === \"function\") ref(node);\n else (ref as React.MutableRefObject<T | null>).current = node;\n }\n };\n}\n\nexport const TooltipTrigger = React.forwardRef<\n HTMLElement,\n TooltipTriggerProps\n>((props, ref) => {\n /* eslint-disable react/prop-types -- props typed as TooltipTriggerProps */\n const {\n children,\n asChild,\n className,\n onPointerEnter,\n onPointerLeave,\n onFocus,\n onBlur,\n ...restProps\n } = props;\n /* eslint-enable react/prop-types */\n const {\n open,\n triggerRef,\n contentId,\n disabled,\n scheduleOpen,\n scheduleClose,\n cancelClose,\n clearTimers,\n } = useTooltip();\n\n const describedBy = open ? contentId : undefined;\n\n const handlePointerEnter = (e: React.PointerEvent<HTMLElement>) => {\n onPointerEnter?.(e);\n if (disabled || e.defaultPrevented) return;\n cancelClose();\n scheduleOpen(false);\n };\n\n const handlePointerLeave = (e: React.PointerEvent<HTMLElement>) => {\n onPointerLeave?.(e);\n if (disabled || e.defaultPrevented) return;\n scheduleClose();\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n onFocus?.(e);\n if (disabled || e.defaultPrevented) return;\n clearTimers();\n scheduleOpen(true);\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n onBlur?.(e);\n if (disabled || e.defaultPrevented) return;\n scheduleClose();\n };\n\n if (asChild && React.isValidElement(children)) {\n const child = children as React.ReactElement<{\n ref?: React.Ref<unknown>;\n onPointerEnter?: React.PointerEventHandler<HTMLElement>;\n onPointerLeave?: React.PointerEventHandler<HTMLElement>;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n className?: string;\n \"aria-describedby\"?: string;\n }>;\n return React.cloneElement(child, {\n ...child.props,\n ...restProps,\n ref: mergeRefs(ref, triggerRef, child.props.ref) as React.Ref<unknown>,\n className: cn(child.props.className, className),\n \"aria-describedby\":\n [\n describedBy,\n child.props[\"aria-describedby\"],\n restProps[\"aria-describedby\"],\n ]\n .filter(Boolean)\n .join(\" \") || undefined,\n onPointerEnter: (e: React.PointerEvent<HTMLElement>) => {\n child.props.onPointerEnter?.(e);\n handlePointerEnter(e);\n },\n onPointerLeave: (e: React.PointerEvent<HTMLElement>) => {\n child.props.onPointerLeave?.(e);\n handlePointerLeave(e);\n },\n onFocus: (e: React.FocusEvent<HTMLElement>) => {\n child.props.onFocus?.(e);\n handleFocus(e);\n },\n onBlur: (e: React.FocusEvent<HTMLElement>) => {\n child.props.onBlur?.(e);\n handleBlur(e);\n },\n } as Partial<typeof child.props>);\n }\n\n return (\n <span\n ref={mergeRefs(ref, triggerRef) as React.Ref<HTMLSpanElement>}\n className={cn(\"inline-flex\", className)}\n aria-describedby={describedBy}\n onPointerEnter={handlePointerEnter}\n onPointerLeave={handlePointerLeave}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...restProps}\n >\n {children}\n </span>\n );\n});\nTooltipTrigger.displayName = \"TooltipTrigger\";\n\nexport type TooltipContentProps = Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"children\"\n> & {\n children: React.ReactNode;\n side?: Side;\n align?: Align;\n offset?: number;\n viewportPadding?: number;\n container?: HTMLElement | null;\n /** small diamond at the trigger edge; set `false` to hide */\n showArrow?: boolean;\n};\n\nexport const TooltipContent = React.forwardRef<\n HTMLDivElement,\n TooltipContentProps\n>(\n (\n {\n children,\n side = \"top\",\n align = \"center\",\n offset = 12,\n viewportPadding = 8,\n container,\n showArrow = true,\n className,\n style,\n ...props\n },\n ref,\n ) => {\n const {\n open,\n setOpen,\n triggerRef,\n contentId,\n disabled,\n scheduleClose,\n cancelClose,\n } = useTooltip();\n\n const [position, setPosition] = React.useState<Position>({\n top: -9999,\n left: -9999,\n side,\n arrowCenter: 0,\n });\n const layerRef = React.useRef<HTMLDivElement>(null);\n const mergedRef = mergeRefs(ref, layerRef);\n\n React.useLayoutEffect(() => {\n if (!open || disabled || !triggerRef.current || !layerRef.current) return;\n\n const update = () => {\n if (!triggerRef.current || !layerRef.current) return;\n const trigger = triggerRef.current;\n const layer = layerRef.current;\n const next = computePosition(\n trigger,\n layer,\n side,\n align,\n offset,\n viewportPadding,\n );\n const tr = trigger.getBoundingClientRect();\n const lrSynth = layerRectAtPosition(\n next.top,\n next.left,\n layer.offsetWidth,\n layer.offsetHeight,\n );\n setPosition({\n ...next,\n arrowCenter: computeArrowCenter(tr, lrSynth, next.side),\n });\n };\n\n update();\n window.addEventListener(\"resize\", update);\n window.addEventListener(\"scroll\", update, true);\n return () => {\n window.removeEventListener(\"resize\", update);\n window.removeEventListener(\"scroll\", update, true);\n };\n }, [open, disabled, side, align, offset, viewportPadding, triggerRef]);\n\n React.useEffect(() => {\n if (!open || disabled) return;\n const onKey = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") setOpen(false);\n };\n window.addEventListener(\"keydown\", onKey);\n return () => window.removeEventListener(\"keydown\", onKey);\n }, [open, disabled, setOpen]);\n\n const resolvedContainer =\n container !== undefined\n ? container\n : typeof document !== \"undefined\"\n ? document.body\n : null;\n\n if (!open || !resolvedContainer) return null;\n\n return createPortal(\n <div\n {...props}\n ref={mergedRef}\n id={contentId}\n role=\"tooltip\"\n data-slot=\"tooltip-content\"\n data-side={position.side}\n className={cn(\n \"bg-background text-primary border-primary/10 pointer-events-auto fixed z-50 max-w-xs overflow-visible rounded-md border px-3 py-1.5 text-xs leading-snug shadow-md\",\n className,\n )}\n style={{\n top: position.top,\n left: position.left,\n ...style,\n }}\n onPointerEnter={() => cancelClose()}\n onPointerLeave={() => scheduleClose()}\n >\n {showArrow ? (\n <span\n aria-hidden\n style={tooltipArrowWrapperStyle(\n position.side,\n position.arrowCenter,\n )}\n >\n <TooltipArrowGraphic side={position.side} />\n </span>\n ) : null}\n <div className=\"relative z-[2] max-w-full\">{children}</div>\n </div>,\n resolvedContainer,\n );\n },\n);\nTooltipContent.displayName = \"TooltipContent\";\n"]}
1
+ {"version":3,"sources":["../../../../utils/cx.ts","../../../../components/base/tooltip/tooltip.tsx"],"names":["AriaTooltipTrigger","AriaTooltip","AriaOverlayArrow","AriaButton"],"mappings":"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","file":"tooltip.js","sourcesContent":["import { extendTailwindMerge } from \"tailwind-merge\";\n\nconst twMerge = extendTailwindMerge({\n extend: {\n theme: {\n text: [\"display-xs\", \"display-sm\", \"display-md\", \"display-lg\", \"display-xl\", \"display-2xl\"],\n },\n },\n});\n\n/**\n * This function is a wrapper around the twMerge function.\n * It is used to merge the classes inside style objects.\n */\nexport const cx = twMerge;\n\n/**\n * This function does nothing besides helping us to be able to\n * sort the classes inside style objects which is not supported\n * by the Tailwind IntelliSense by default.\n */\nexport function sortCx<T extends Record<string, string | number | Record<string, string | number | Record<string, string | number>>>>(classes: T): T {\n return classes;\n}\n","\"use client\";\n\n/** Figma: Tooltip (1052:485) */\n\nimport type { ReactNode } from \"react\";\nimport type {\n ButtonProps as AriaButtonProps,\n TooltipProps as AriaTooltipProps,\n TooltipTriggerComponentProps as AriaTooltipTriggerComponentProps,\n} from \"react-aria-components\";\nimport { Button as AriaButton, OverlayArrow as AriaOverlayArrow, Tooltip as AriaTooltip, TooltipTrigger as AriaTooltipTrigger } from \"react-aria-components\";\nimport { cx } from \"@/utils/cx\";\n\ninterface TooltipProps extends AriaTooltipTriggerComponentProps, Omit<AriaTooltipProps, \"children\"> {\n /**\n * The title of the tooltip.\n */\n title: ReactNode;\n /**\n * The description of the tooltip.\n */\n description?: ReactNode;\n /**\n * Whether to show the arrow on the tooltip.\n *\n * @default false\n */\n arrow?: boolean;\n /**\n * Delay in milliseconds before the tooltip is shown on first hover.\n *\n * @default 100\n */\n delay?: number;\n}\n\nexport const Tooltip = ({\n title,\n description,\n children,\n arrow = false,\n delay = 100,\n closeDelay = 0,\n trigger,\n isDisabled,\n isOpen,\n defaultOpen,\n offset = 6,\n crossOffset,\n placement = \"top\",\n onOpenChange,\n ...tooltipProps\n}: TooltipProps) => {\n const isTopOrBottomLeft = [\"top left\", \"top end\", \"bottom left\", \"bottom end\"].includes(placement);\n const isTopOrBottomRight = [\"top right\", \"top start\", \"bottom right\", \"bottom start\"].includes(placement);\n // Set negative cross offset for left and right placement to visually balance the tooltip.\n const calculatedCrossOffset = isTopOrBottomLeft ? -12 : isTopOrBottomRight ? 12 : 0;\n\n return (\n <AriaTooltipTrigger {...{ trigger, delay, closeDelay, isDisabled, isOpen, defaultOpen, onOpenChange }}>\n {children}\n\n <AriaTooltip\n {...tooltipProps}\n offset={offset}\n placement={placement}\n crossOffset={crossOffset ?? calculatedCrossOffset}\n className={({ isEntering, isExiting }) => cx(isEntering && \"ease-out animate-in\", isExiting && \"ease-in animate-out\")}\n >\n {({ isEntering, isExiting }) => (\n <div\n className={cx(\n \"z-50 flex max-w-xs origin-(--trigger-anchor-point) flex-col items-start gap-1 rounded-lg bg-primary-solid px-3 shadow-lg will-change-transform\",\n description ? \"py-3\" : \"py-2\",\n\n isEntering &&\n \"ease-out animate-in fade-in zoom-in-95 in-placement-left:slide-in-from-right-0.5 in-placement-right:slide-in-from-left-0.5 in-placement-top:slide-in-from-bottom-0.5 in-placement-bottom:slide-in-from-top-0.5\",\n isExiting &&\n \"ease-in animate-out fade-out zoom-out-95 in-placement-left:slide-out-to-right-0.5 in-placement-right:slide-out-to-left-0.5 in-placement-top:slide-out-to-bottom-0.5 in-placement-bottom:slide-out-to-top-0.5\",\n )}\n >\n <span className=\"text-xs font-semibold text-white\">{title}</span>\n\n {description && <span className=\"text-xs font-medium text-tooltip-supporting-text\">{description}</span>}\n\n {arrow && (\n <AriaOverlayArrow>\n <svg\n viewBox=\"0 0 100 100\"\n className=\"size-2.5 fill-bg-primary-solid in-placement-left:-rotate-90 in-placement-right:rotate-90 in-placement-top:rotate-0 in-placement-bottom:rotate-180\"\n >\n <path d=\"M0,0 L35.858,35.858 Q50,50 64.142,35.858 L100,0 Z\" />\n </svg>\n </AriaOverlayArrow>\n )}\n </div>\n )}\n </AriaTooltip>\n </AriaTooltipTrigger>\n );\n};\n\ninterface TooltipTriggerProps extends AriaButtonProps {}\n\nexport const TooltipTrigger = ({ children, className, ...buttonProps }: TooltipTriggerProps) => {\n return (\n <AriaButton {...buttonProps} className={(values) => cx(\"h-max w-max outline-hidden\", typeof className === \"function\" ? className(values) : className)}>\n {children}\n </AriaButton>\n );\n};\n"]}
@@ -0,0 +1,12 @@
1
+ interface SelectMobileOptions {
2
+ /** When `false`, keep the floating menu on narrow viewports. Default `true`. */
3
+ sheet?: boolean;
4
+ /** Optional header title on the same row as the close control. */
5
+ title?: string;
6
+ /** Extra classes on the sheet panel (merged after base sheet styles). */
7
+ className?: string;
8
+ /** Extra classes on the scrollable body below the header. */
9
+ contentClassName?: string;
10
+ }
11
+
12
+ export type { SelectMobileOptions as S };
@@ -0,0 +1,68 @@
1
+ import * as react from 'react';
2
+ import { FC, ReactNode } from 'react';
3
+ import { S as SelectMobileOptions } from './select-mobile-sheet-CB2ptDTJ.js';
4
+
5
+ type SelectItemType = {
6
+ /** Unique identifier for the item. */
7
+ id: string | number;
8
+ /** The primary display text. */
9
+ label?: string;
10
+ /** Avatar image URL. */
11
+ avatarUrl?: string;
12
+ /** Whether the item is disabled. */
13
+ isDisabled?: boolean;
14
+ /** Secondary text displayed alongside the label. */
15
+ supportingText?: string;
16
+ /** Leading icon component or element. */
17
+ icon?: FC | ReactNode;
18
+ };
19
+ interface CommonProps {
20
+ /** Helper text displayed below the input. */
21
+ hint?: string;
22
+ /** Field label displayed above the input. */
23
+ label?: string;
24
+ /** Tooltip text for the help icon next to the label. */
25
+ tooltip?: string;
26
+ /**
27
+ * The size of the component.
28
+ * @default "md"
29
+ */
30
+ size?: "sm" | "md" | "lg";
31
+ /** Placeholder text when no value is selected. */
32
+ placeholder?: string;
33
+ /** Whether to hide the required indicator from the label. */
34
+ hideRequiredIndicator?: boolean;
35
+ /**
36
+ * Narrow-viewport (≤1024px) bottom-sheet options for the menu.
37
+ * `sheet` defaults to `true` on viewports ≤1024px wide.
38
+ */
39
+ mobileOptions?: SelectMobileOptions;
40
+ }
41
+ declare const sizes: {
42
+ sm: {
43
+ root: string;
44
+ withIcon: string;
45
+ text: string;
46
+ textContainer: string;
47
+ shortcut: string;
48
+ };
49
+ md: {
50
+ root: string;
51
+ withIcon: string;
52
+ text: string;
53
+ textContainer: string;
54
+ shortcut: string;
55
+ };
56
+ lg: {
57
+ root: string;
58
+ withIcon: string;
59
+ text: string;
60
+ textContainer: string;
61
+ shortcut: string;
62
+ };
63
+ };
64
+ declare const SelectContext: react.Context<{
65
+ size: "sm" | "md" | "lg";
66
+ }>;
67
+
68
+ export { type CommonProps as C, type SelectItemType as S, SelectContext as a, sizes as s };
package/package.json CHANGED
@@ -1,8 +1,17 @@
1
1
  {
2
2
  "name": "@avenue-ticketing/ui",
3
- "version": "0.11.0",
4
- "description": "Avenue UI components for React",
3
+ "version": "0.12.0-beta.2",
4
+ "description": "Avenue UI components for React (Untitled UI beta)",
5
5
  "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/untitleduico/react.git",
9
+ "directory": "packages/ui"
10
+ },
11
+ "publishConfig": {
12
+ "access": "public",
13
+ "tag": "beta"
14
+ },
6
15
  "sideEffects": false,
7
16
  "type": "module",
8
17
  "files": [
@@ -13,11 +22,6 @@
13
22
  "exports": {
14
23
  "./theme.css": "./theme.css",
15
24
  "./source.css": "./source.css",
16
- "./react/table-view": {
17
- "types": "./dist/react/table-view/index.d.ts",
18
- "import": "./dist/react/table-view/index.js",
19
- "default": "./dist/react/table-view/index.js"
20
- },
21
25
  "./react/*": {
22
26
  "types": "./dist/react/*.d.ts",
23
27
  "import": "./dist/react/*.js",
@@ -25,10 +29,8 @@
25
29
  }
26
30
  },
27
31
  "scripts": {
28
- "build": "tsup",
29
- "watch": "tsup --watch",
30
- "check:theme": "tailwindcss -i ./dev/tailwind-entry.css -o ./dev/.theme-smoke.css --minify && rm -f ./dev/.theme-smoke.css",
31
- "check:source": "tailwindcss -i ./dev/source-smoke.css -o ./dev/.source-smoke.css --minify && rm -f ./dev/.source-smoke.css",
32
+ "build": "NODE_OPTIONS=--max-old-space-size=8192 tsup",
33
+ "watch": "NODE_OPTIONS=--max-old-space-size=8192 tsup --watch",
32
34
  "prepublishOnly": "npm run build"
33
35
  },
34
36
  "peerDependencies": {
@@ -37,19 +39,24 @@
37
39
  "tailwindcss": "^4.2.0"
38
40
  },
39
41
  "dependencies": {
40
- "clsx": "^2.1.1",
41
- "lucide-react": "^0.468.0",
42
+ "@internationalized/date": "^3.12.0",
43
+ "@phosphor-icons/react": "^2.1.10",
44
+ "@react-aria/utils": "^3.33.1",
45
+ "@react-stately/utils": "^3.11.0",
46
+ "input-otp": "^1.4.2",
47
+ "react-aria": "^3.47.0",
48
+ "react-aria-components": "^1.16.0",
49
+ "react-hook-form": "^7.71.2",
42
50
  "tailwind-merge": "^3.5.0"
43
51
  },
44
52
  "devDependencies": {
45
- "@tailwindcss/cli": "^4.2.2",
46
- "@types/node": "^22.10.0",
47
- "@types/react": "^19.0.0",
48
- "@types/react-dom": "^19.0.0",
49
- "react": "^19.0.0",
50
- "react-dom": "^19.0.0",
53
+ "@types/node": "^25.5.0",
54
+ "@types/react": "^19.2.14",
55
+ "@types/react-dom": "^19.2.3",
56
+ "react": "^19.2.4",
57
+ "react-dom": "^19.2.4",
51
58
  "tailwindcss": "^4.2.2",
52
- "tsup": "^8.3.5",
53
- "typescript": "^5.7.2"
59
+ "tsup": "^8.5.0",
60
+ "typescript": "^5.9.3"
54
61
  }
55
62
  }
package/source.css CHANGED
@@ -1,21 +1,10 @@
1
1
  /**
2
- * Tailwind scan + small theme bridge for @avenue-ticketing/ui when you already have
3
- * :root / .dark and @theme inline (hex, oklch, rgb, etc.).
2
+ * Tailwind scan only use when your app already defines the same Untitled UI tokens.
4
3
  *
5
4
  * @import "tailwindcss";
6
5
  * @import "@avenue-ticketing/ui/source.css";
7
- * @custom-variant dark (...);
8
- * :root { ... }
9
- * .dark { ... }
10
- * @theme inline { --color-background: var(--background); ... }
11
6
  *
12
- * Do not import theme.css in that case — it would duplicate @custom-variant,
13
- * :root, .dark, and @theme (conflicts / bloat). Use one or the other.
7
+ * Do not import theme.css in that case — it would duplicate tokens.
14
8
  */
15
9
 
16
- @source "./src/**/*.tsx";
17
10
  @source "./dist/**/*.js";
18
-
19
- @theme inline {
20
- --spacing-5\.5: 1.375rem;
21
- }