@databricks/appkit-ui 0.1.5 → 0.2.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 (165) hide show
  1. package/AGENTS.md +52 -0
  2. package/CLAUDE.md +52 -0
  3. package/NOTICE.md +2 -0
  4. package/README.md +21 -15
  5. package/dist/react/charts/area/index.d.ts +2 -2
  6. package/dist/react/charts/bar/index.d.ts +2 -2
  7. package/dist/react/charts/base.d.ts +2 -2
  8. package/dist/react/charts/create-chart.d.ts +2 -2
  9. package/dist/react/charts/heatmap/index.d.ts +2 -2
  10. package/dist/react/charts/line/index.d.ts +2 -2
  11. package/dist/react/charts/pie/index.d.ts +3 -3
  12. package/dist/react/charts/radar/index.d.ts +2 -2
  13. package/dist/react/charts/scatter/index.d.ts +2 -2
  14. package/dist/react/charts/wrapper.d.ts +2 -2
  15. package/dist/react/hooks/use-mobile.js +3 -3
  16. package/dist/react/hooks/use-mobile.js.map +1 -1
  17. package/dist/react/index.d.ts +3 -1
  18. package/dist/react/index.js +3 -1
  19. package/dist/react/lib/utils.d.ts +7 -0
  20. package/dist/react/lib/utils.d.ts.map +1 -0
  21. package/dist/react/portal-container-context.d.ts +48 -0
  22. package/dist/react/portal-container-context.d.ts.map +1 -0
  23. package/dist/react/portal-container-context.js +51 -0
  24. package/dist/react/portal-container-context.js.map +1 -0
  25. package/dist/react/table/data-table.d.ts +2 -2
  26. package/dist/react/table/data-table.d.ts.map +1 -1
  27. package/dist/react/ui/accordion.d.ts +6 -6
  28. package/dist/react/ui/accordion.d.ts.map +1 -1
  29. package/dist/react/ui/alert-dialog.d.ts +14 -13
  30. package/dist/react/ui/alert-dialog.d.ts.map +1 -1
  31. package/dist/react/ui/alert-dialog.js +3 -1
  32. package/dist/react/ui/alert-dialog.js.map +1 -1
  33. package/dist/react/ui/alert.d.ts +5 -5
  34. package/dist/react/ui/alert.d.ts.map +1 -1
  35. package/dist/react/ui/aspect-ratio.d.ts +2 -2
  36. package/dist/react/ui/avatar.d.ts +5 -5
  37. package/dist/react/ui/avatar.d.ts.map +1 -1
  38. package/dist/react/ui/badge.d.ts +6 -6
  39. package/dist/react/ui/badge.d.ts.map +1 -1
  40. package/dist/react/ui/breadcrumb.d.ts +10 -10
  41. package/dist/react/ui/breadcrumb.d.ts.map +1 -1
  42. package/dist/react/ui/button-group.d.ts +6 -6
  43. package/dist/react/ui/button.d.ts +6 -6
  44. package/dist/react/ui/button.d.ts.map +1 -1
  45. package/dist/react/ui/calendar.d.ts +6 -6
  46. package/dist/react/ui/calendar.d.ts.map +1 -1
  47. package/dist/react/ui/calendar.js +3 -3
  48. package/dist/react/ui/calendar.js.map +1 -1
  49. package/dist/react/ui/card.d.ts +9 -9
  50. package/dist/react/ui/card.d.ts.map +1 -1
  51. package/dist/react/ui/carousel.d.ts +7 -7
  52. package/dist/react/ui/carousel.d.ts.map +1 -1
  53. package/dist/react/ui/carousel.js +11 -11
  54. package/dist/react/ui/carousel.js.map +1 -1
  55. package/dist/react/ui/chart.d.ts +52 -16
  56. package/dist/react/ui/chart.d.ts.map +1 -1
  57. package/dist/react/ui/chart.js +23 -7
  58. package/dist/react/ui/chart.js.map +1 -1
  59. package/dist/react/ui/checkbox.d.ts +3 -3
  60. package/dist/react/ui/checkbox.d.ts.map +1 -1
  61. package/dist/react/ui/checkbox.js +1 -1
  62. package/dist/react/ui/checkbox.js.map +1 -1
  63. package/dist/react/ui/collapsible.d.ts +4 -4
  64. package/dist/react/ui/command.d.ts +12 -12
  65. package/dist/react/ui/command.d.ts.map +1 -1
  66. package/dist/react/ui/context-menu.d.ts +21 -20
  67. package/dist/react/ui/context-menu.d.ts.map +1 -1
  68. package/dist/react/ui/context-menu.js +11 -6
  69. package/dist/react/ui/context-menu.js.map +1 -1
  70. package/dist/react/ui/dialog.d.ts +14 -13
  71. package/dist/react/ui/dialog.d.ts.map +1 -1
  72. package/dist/react/ui/dialog.js +3 -1
  73. package/dist/react/ui/dialog.js.map +1 -1
  74. package/dist/react/ui/drawer.d.ts +13 -12
  75. package/dist/react/ui/drawer.d.ts.map +1 -1
  76. package/dist/react/ui/drawer.js +3 -1
  77. package/dist/react/ui/drawer.js.map +1 -1
  78. package/dist/react/ui/dropdown-menu.d.ts +21 -20
  79. package/dist/react/ui/dropdown-menu.d.ts.map +1 -1
  80. package/dist/react/ui/dropdown-menu.js +12 -7
  81. package/dist/react/ui/dropdown-menu.js.map +1 -1
  82. package/dist/react/ui/empty.d.ts +7 -7
  83. package/dist/react/ui/field.d.ts +11 -11
  84. package/dist/react/ui/form.d.ts +9 -9
  85. package/dist/react/ui/form.d.ts.map +1 -1
  86. package/dist/react/ui/form.js +6 -6
  87. package/dist/react/ui/form.js.map +1 -1
  88. package/dist/react/ui/hover-card.d.ts +5 -5
  89. package/dist/react/ui/hover-card.d.ts.map +1 -1
  90. package/dist/react/ui/hover-card.js +2 -0
  91. package/dist/react/ui/hover-card.js.map +1 -1
  92. package/dist/react/ui/input-group.d.ts +11 -11
  93. package/dist/react/ui/input-group.d.ts.map +1 -1
  94. package/dist/react/ui/input-otp.d.ts +8 -8
  95. package/dist/react/ui/input-otp.d.ts.map +1 -1
  96. package/dist/react/ui/input-otp.js +2 -2
  97. package/dist/react/ui/input-otp.js.map +1 -1
  98. package/dist/react/ui/input.d.ts +3 -3
  99. package/dist/react/ui/input.d.ts.map +1 -1
  100. package/dist/react/ui/item.d.ts +16 -16
  101. package/dist/react/ui/item.d.ts.map +1 -1
  102. package/dist/react/ui/kbd.d.ts +3 -3
  103. package/dist/react/ui/label.d.ts +3 -3
  104. package/dist/react/ui/label.d.ts.map +1 -1
  105. package/dist/react/ui/menubar.d.ts +22 -21
  106. package/dist/react/ui/menubar.d.ts.map +1 -1
  107. package/dist/react/ui/menubar.js +3 -1
  108. package/dist/react/ui/menubar.js.map +1 -1
  109. package/dist/react/ui/navigation-menu.d.ts +11 -11
  110. package/dist/react/ui/navigation-menu.d.ts.map +1 -1
  111. package/dist/react/ui/pagination.d.ts +10 -10
  112. package/dist/react/ui/pagination.d.ts.map +1 -1
  113. package/dist/react/ui/popover.d.ts +6 -6
  114. package/dist/react/ui/popover.d.ts.map +1 -1
  115. package/dist/react/ui/popover.js +11 -7
  116. package/dist/react/ui/popover.js.map +1 -1
  117. package/dist/react/ui/progress.d.ts +3 -3
  118. package/dist/react/ui/progress.d.ts.map +1 -1
  119. package/dist/react/ui/radio-group.d.ts +4 -4
  120. package/dist/react/ui/radio-group.d.ts.map +1 -1
  121. package/dist/react/ui/resizable.d.ts +6 -6
  122. package/dist/react/ui/resizable.d.ts.map +1 -1
  123. package/dist/react/ui/scroll-area.d.ts +4 -4
  124. package/dist/react/ui/scroll-area.d.ts.map +1 -1
  125. package/dist/react/ui/select.d.ts +13 -13
  126. package/dist/react/ui/select.d.ts.map +1 -1
  127. package/dist/react/ui/select.js +19 -15
  128. package/dist/react/ui/select.js.map +1 -1
  129. package/dist/react/ui/separator.d.ts +3 -3
  130. package/dist/react/ui/separator.d.ts.map +1 -1
  131. package/dist/react/ui/sheet.d.ts +11 -11
  132. package/dist/react/ui/sheet.d.ts.map +1 -1
  133. package/dist/react/ui/sheet.js +3 -1
  134. package/dist/react/ui/sheet.js.map +1 -1
  135. package/dist/react/ui/sidebar.d.ts +34 -34
  136. package/dist/react/ui/sidebar.d.ts.map +1 -1
  137. package/dist/react/ui/sidebar.js +10 -10
  138. package/dist/react/ui/sidebar.js.map +1 -1
  139. package/dist/react/ui/skeleton.d.ts +2 -2
  140. package/dist/react/ui/slider.d.ts +3 -3
  141. package/dist/react/ui/slider.d.ts.map +1 -1
  142. package/dist/react/ui/slider.js +2 -2
  143. package/dist/react/ui/slider.js.map +1 -1
  144. package/dist/react/ui/sonner.d.ts +2 -2
  145. package/dist/react/ui/spinner.d.ts +2 -2
  146. package/dist/react/ui/switch.d.ts +3 -3
  147. package/dist/react/ui/switch.d.ts.map +1 -1
  148. package/dist/react/ui/table.d.ts +10 -10
  149. package/dist/react/ui/table.d.ts.map +1 -1
  150. package/dist/react/ui/tabs.d.ts +6 -6
  151. package/dist/react/ui/tabs.d.ts.map +1 -1
  152. package/dist/react/ui/textarea.d.ts +3 -3
  153. package/dist/react/ui/textarea.d.ts.map +1 -1
  154. package/dist/react/ui/toggle-group.d.ts +5 -5
  155. package/dist/react/ui/toggle-group.d.ts.map +1 -1
  156. package/dist/react/ui/toggle-group.js +3 -3
  157. package/dist/react/ui/toggle-group.js.map +1 -1
  158. package/dist/react/ui/toggle.d.ts +3 -3
  159. package/dist/react/ui/toggle.d.ts.map +1 -1
  160. package/dist/react/ui/tooltip.d.ts +6 -6
  161. package/dist/react/ui/tooltip.d.ts.map +1 -1
  162. package/dist/react/ui/tooltip.js +11 -7
  163. package/dist/react/ui/tooltip.js.map +1 -1
  164. package/llms.txt +52 -0
  165. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  "use client";
2
2
 
3
+ import { useResolvedPortalContainer } from "../portal-container-context.js";
3
4
  import { cn } from "../lib/utils.js";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
6
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
@@ -25,13 +26,16 @@ function TooltipTrigger({ ...props }) {
25
26
  });
26
27
  }
27
28
  function TooltipContent({ className, sideOffset = 0, children, ...props }) {
28
- return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(TooltipPrimitive.Content, {
29
- "data-slot": "tooltip-content",
30
- sideOffset,
31
- className: cn("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", className),
32
- ...props,
33
- children: [children, /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
34
- }) });
29
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, {
30
+ container: useResolvedPortalContainer(),
31
+ children: /* @__PURE__ */ jsxs(TooltipPrimitive.Content, {
32
+ "data-slot": "tooltip-content",
33
+ sideOffset,
34
+ className: cn("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", className),
35
+ ...props,
36
+ children: [children, /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
37
+ })
38
+ });
35
39
  }
36
40
 
37
41
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","names":[],"sources":["../../../src/react/ui/tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\",\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"mappings":";;;;;;;AAOA,SAAS,gBAAgB,EACvB,gBAAgB,GAChB,GAAG,SACsD;AACzD,QACE,oBAAC,iBAAiB;EAChB,aAAU;EACK;EACf,GAAI;GACJ;;AAIN,SAAS,QAAQ,EACf,GAAG,SACkD;AACrD,QACE,oBAAC,6BACC,oBAAC,iBAAiB;EAAK,aAAU;EAAU,GAAI;GAAS,GACxC;;AAItB,SAAS,eAAe,EACtB,GAAG,SACqD;AACxD,QAAO,oBAAC,iBAAiB;EAAQ,aAAU;EAAkB,GAAI;GAAS;;AAG5E,SAAS,eAAe,EACtB,WACA,aAAa,GACb,UACA,GAAG,SACqD;AACxD,QACE,oBAAC,iBAAiB,oBAChB,qBAAC,iBAAiB;EAChB,aAAU;EACE;EACZ,WAAW,GACT,qaACA,UACD;EACD,GAAI;aAEH,UACD,oBAAC,iBAAiB,SAAM,WAAU,uGAAuG;GAChH,GACH"}
1
+ {"version":3,"file":"tooltip.js","names":[],"sources":["../../../src/react/ui/tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\n\nimport { cn } from \"../lib/utils\";\nimport { useResolvedPortalContainer } from \"../portal-container-context\";\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal container={useResolvedPortalContainer()}>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\",\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"mappings":";;;;;;;;AAQA,SAAS,gBAAgB,EACvB,gBAAgB,GAChB,GAAG,SACsD;AACzD,QACE,oBAAC,iBAAiB;EAChB,aAAU;EACK;EACf,GAAI;GACJ;;AAIN,SAAS,QAAQ,EACf,GAAG,SACkD;AACrD,QACE,oBAAC,6BACC,oBAAC,iBAAiB;EAAK,aAAU;EAAU,GAAI;GAAS,GACxC;;AAItB,SAAS,eAAe,EACtB,GAAG,SACqD;AACxD,QAAO,oBAAC,iBAAiB;EAAQ,aAAU;EAAkB,GAAI;GAAS;;AAG5E,SAAS,eAAe,EACtB,WACA,aAAa,GACb,UACA,GAAG,SACqD;AACxD,QACE,oBAAC,iBAAiB;EAAO,WAAW,4BAA4B;YAC9D,qBAAC,iBAAiB;GAChB,aAAU;GACE;GACZ,WAAW,GACT,qaACA,UACD;GACD,GAAI;cAEH,UACD,oBAAC,iBAAiB,SAAM,WAAU,uGAAuG;IAChH;GACH"}
package/llms.txt CHANGED
@@ -668,6 +668,56 @@ export function SpendChart() {
668
668
  }
669
669
  ```
670
670
 
671
+ **Chart props reference (important):**
672
+
673
+ Charts are **self-contained ECharts components**. Configure via props, NOT children:
674
+
675
+ ```tsx
676
+ // ✅ Correct: use props for customization
677
+ <BarChart
678
+ queryKey="sales_by_region"
679
+ parameters={{}}
680
+ xKey="region" // X-axis field
681
+ yKey={["revenue", "expenses"]} // Y-axis field(s) - string or string[]
682
+ colors={['#40d1f5', '#4462c9']} // Custom colors
683
+ stacked // Stack bars (BarChart, AreaChart)
684
+ orientation="horizontal" // "vertical" (default) | "horizontal"
685
+ showLegend // Show legend
686
+ height={400} // Height in pixels (default: 300)
687
+ />
688
+
689
+ <LineChart
690
+ queryKey="trend_data"
691
+ parameters={{}}
692
+ xKey="date"
693
+ yKey="value"
694
+ smooth // Smooth curves (default: true)
695
+ showSymbol={false} // Hide data point markers
696
+ />
697
+ ```
698
+
699
+ **❌ CRITICAL: Charts do NOT accept Recharts children**
700
+
701
+ ```tsx
702
+ // ❌ WRONG - AppKit charts are NOT Recharts wrappers
703
+ import { BarChart } from "@databricks/appkit-ui/react";
704
+ import { Bar, XAxis, YAxis, CartesianGrid } from "recharts";
705
+
706
+ <BarChart queryKey="data" parameters={{}}>
707
+ <CartesianGrid /> // ❌ This will cause TypeScript errors
708
+ <XAxis dataKey="x" /> // ❌ Not supported
709
+ <Bar dataKey="y" /> // ❌ Not supported
710
+ </BarChart>
711
+
712
+ // ✅ CORRECT - use props instead
713
+ <BarChart
714
+ queryKey="data"
715
+ parameters={{}}
716
+ xKey="x"
717
+ yKey="y"
718
+ />
719
+ ```
720
+
671
721
  ### SQL helpers (`sql.*`)
672
722
 
673
723
  Use these to build typed parameters (they return marker objects: `{ __sql_type, value }`):
@@ -1169,6 +1219,7 @@ env:
1169
1219
  - `useMemo` wraps parameters objects
1170
1220
  - Loading/error/empty states are explicit
1171
1221
  - Charts use `format="auto"` unless you have a reason to force `"json"`/`"arrow"`
1222
+ - Charts use props (`xKey`, `yKey`, `colors`) NOT children (they're ECharts-based, not Recharts)
1172
1223
  - If using tooltips: root is wrapped with `<TooltipProvider>`
1173
1224
 
1174
1225
  - **Never**
@@ -1176,4 +1227,5 @@ env:
1176
1227
  - Don't pass untyped raw params for annotated queries
1177
1228
  - Don't ignore `createApp()`'s promise
1178
1229
  - Don't invent UI components not listed in this file
1230
+ - Don't pass Recharts children (`<Bar>`, `<XAxis>`, etc.) to AppKit chart components
1179
1231
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@databricks/appkit-ui",
3
3
  "type": "module",
4
- "version": "0.1.5",
4
+ "version": "0.2.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/databricks/appkit.git"