@siyahi/ui 0.1.5-next.1 → 0.1.7-next.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 (68) hide show
  1. package/README.md +5 -1
  2. package/dist/components/registry/dashboard-01/section-cards.js +1 -1
  3. package/dist/components/registry/dashboardcn/bar-list.js +1 -1
  4. package/dist/components/registry/heatmap/calendar-heatmap.js +5 -5
  5. package/dist/components/registry/heatmap/status-heatmap.js +5 -5
  6. package/dist/components/registry/heatmap/weekday-heatmap.js +7 -7
  7. package/dist/components/registry/niko-table/components/data-table-column-actions.js +1 -1
  8. package/dist/components/registry/niko-table/components/data-table-column-filter.js +1 -1
  9. package/dist/components/registry/niko-table/components/data-table-column-header.js +1 -1
  10. package/dist/components/registry/niko-table/components/data-table-column-sort.js +1 -1
  11. package/dist/components/registry/niko-table/components/data-table-column-title.js +1 -1
  12. package/dist/components/registry/niko-table/components/data-table-empty-state.js +1 -1
  13. package/dist/components/registry/niko-table/components/data-table-faceted-filter.js +1 -1
  14. package/dist/components/registry/niko-table/components/data-table-grouped-rows.js +1 -1
  15. package/dist/components/registry/niko-table/components/data-table-row-context-menu.js +1 -1
  16. package/dist/components/registry/niko-table/components/data-table-row-menu.js +1 -1
  17. package/dist/components/registry/niko-table/components/data-table-toolbar-section.js +1 -1
  18. package/dist/components/registry/niko-table/core/data-table-context.js +1 -1
  19. package/dist/components/registry/niko-table/core/data-table-error-boundary.js +2 -2
  20. package/dist/components/registry/niko-table/core/data-table-grouped-row.js +3 -3
  21. package/dist/components/registry/niko-table/core/data-table-root.js +1 -1
  22. package/dist/components/registry/niko-table/core/data-table-structure.js +3 -3
  23. package/dist/components/registry/niko-table/core/data-table.js +1 -1
  24. package/dist/components/registry/niko-table/filters/table-column-actions.js +2 -2
  25. package/dist/components/registry/niko-table/filters/table-column-sort.js +3 -3
  26. package/dist/components/registry/niko-table/filters/table-column-title.js +1 -1
  27. package/dist/components/registry/niko-table/filters/table-faceted-filter.js +4 -4
  28. package/dist/components/registry/niko-table/lib/column-resize-handle.js +1 -1
  29. package/dist/components/registry/niko-table/lib/render-cell-content.js +1 -1
  30. package/dist/components/registry/niko-table/ui/table.js +1 -1
  31. package/dist/components/registry/sidebar-07/app-sidebar.js +1 -1
  32. package/dist/components/registry/sidebar-07/nav-main.js +1 -1
  33. package/dist/components/registry/sidebar-07/nav-projects.js +1 -1
  34. package/dist/components/registry/sidebar-07/nav-user.js +1 -1
  35. package/dist/components/registry/sidebar-07/team-switcher.js +2 -2
  36. package/dist/components/siyahi/price-chart.js +1 -1
  37. package/dist/components/siyahi/siyahi-provider.js +1 -1
  38. package/dist/components/siyahi/treemap.d.ts +9 -1
  39. package/dist/components/siyahi/treemap.js +54 -25
  40. package/dist/components/ui/accordion.d.ts +8 -0
  41. package/dist/components/ui/accordion.js +53 -0
  42. package/dist/components/ui/alert.js +2 -2
  43. package/dist/components/ui/avatar.js +1 -1
  44. package/dist/components/ui/badge.js +1 -1
  45. package/dist/components/ui/breadcrumb.js +2 -2
  46. package/dist/components/ui/button.js +1 -1
  47. package/dist/components/ui/calendar.js +2 -2
  48. package/dist/components/ui/card.js +1 -1
  49. package/dist/components/ui/chart.js +3 -3
  50. package/dist/components/ui/command.js +2 -2
  51. package/dist/components/ui/context-menu.js +2 -2
  52. package/dist/components/ui/dialog.js +2 -2
  53. package/dist/components/ui/dropdown-menu.js +2 -2
  54. package/dist/components/ui/input-group.js +2 -2
  55. package/dist/components/ui/input.js +1 -1
  56. package/dist/components/ui/popover.js +1 -1
  57. package/dist/components/ui/scroll-area.js +1 -1
  58. package/dist/components/ui/select.js +2 -2
  59. package/dist/components/ui/sheet.js +2 -2
  60. package/dist/components/ui/sidebar.js +3 -3
  61. package/dist/components/ui/table.js +1 -1
  62. package/dist/components/ui/tabs.js +1 -1
  63. package/dist/components/ui/textarea.js +1 -1
  64. package/dist/components/ui/toggle-group.js +2 -2
  65. package/dist/components/ui/toggle.js +1 -1
  66. package/dist/index.d.ts +2 -1
  67. package/dist/index.js +2 -1
  68. package/package.json +1 -1
package/README.md CHANGED
@@ -74,8 +74,12 @@ Every merge to `main` also attaches both tarballs to a GitHub release
74
74
  bar list, the `SectionCards` stat tile and the `sidebar-07` app shell.
75
75
  - **Siyahi components**: `Delta` (a signed figure with ▲ ▼), `PriceChart`
76
76
  (TradingView Lightweight Charts in theme colours), `Treemap` (holdings heat
77
- map), `LocalTime` (a time in the configured zone with the viewer's own clock
77
+ map; hover or tap a tile for its figures), `LocalTime` (a time in the configured zone with the viewer's own clock
78
78
  in a tooltip) and `SiyahiProvider`.
79
+ - **Cards and badges as installed**: every `Card`, stat tiles included, keeps
80
+ luma's `rounded-4xl`, `shadow-md` and faint ring. A category (a sector, a
81
+ broker, a unit's kind) is an outline `Badge`: categories stay neutral, and
82
+ colour is left to the four meaning colours and the charts.
79
83
  - **Formatters**: `money`, `moneyCompact`, `pct` and `time`, or `useFormat()`
80
84
  for the same bound to the provider's locale.
81
85
  `useFormat().time(value, { withDate: true })` (or
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { Badge } from "../../ui/badge.js";
3
3
  import { Card, CardAction, CardDescription, CardFooter, CardHeader, CardTitle } from "../../ui/card.js";
4
- import "react";
5
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
+ import "react";
6
6
  //#region src/components/registry/dashboard-01/section-cards.tsx
7
7
  function SectionCards({ items }) {
8
8
  return /* @__PURE__ */ jsx("div", {
@@ -1,8 +1,8 @@
1
1
  import { cn } from "../../../lib/utils.js";
2
2
  import { useLocale } from "../../siyahi/siyahi-provider.js";
3
3
  import { pct } from "../../../lib/format.js";
4
- import * as React$1 from "react";
5
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
+ import * as React$1 from "react";
6
6
  //#region src/components/registry/dashboardcn/bar-list.tsx
7
7
  function BarList({ data, valueFormatter, sortOrder = "descending", color = "var(--chart-1)", showPercentage = false, onItemClick, className, ...props }) {
8
8
  const locale = useLocale();
@@ -1,6 +1,6 @@
1
1
  import { cn } from "../../../lib/utils.js";
2
- import { Fragment, createContext, use, useMemo } from "react";
3
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import { Fragment as Fragment$1, createContext, use, useMemo } from "react";
4
4
  import { differenceInCalendarDays, eachDayOfInterval, format, formatISO, getDay, getMonth, getYear, nextDay, parseISO, subWeeks } from "date-fns";
5
5
  //#region src/components/registry/heatmap/calendar-heatmap.tsx
6
6
  const colorStepCount = (levels, isNormalized) => Math.max(1, isNormalized ? levels : levels - 1);
@@ -419,7 +419,7 @@ const CalendarHeatmapBody = ({ hideMonthLabels = false, hideWeekdayLabels = fals
419
419
  transform: `translate(${weekdayLabelWidth + strokePadding}, 0)`,
420
420
  children: yearRow.weeks.map((week, weekIndex) => week.map((activity, dayIndex) => {
421
421
  if (!activity) return null;
422
- return /* @__PURE__ */ jsx(Fragment, { children: children({
422
+ return /* @__PURE__ */ jsx(Fragment$1, { children: children({
423
423
  activity,
424
424
  dayIndex,
425
425
  weekIndex
@@ -444,7 +444,7 @@ const CalendarHeatmapFooter = ({ className, ...props }) => /* @__PURE__ */ jsx("
444
444
  const CalendarHeatmapStat = ({ compute, label, className, children, ...props }) => {
445
445
  const { data, totalCount, year, labels } = useCalendarHeatmap();
446
446
  const value = compute ? compute(data) : totalCount;
447
- if (children) return /* @__PURE__ */ jsx(Fragment$1, { children: children({
447
+ if (children) return /* @__PURE__ */ jsx(Fragment, { children: children({
448
448
  value,
449
449
  data,
450
450
  year
@@ -472,7 +472,7 @@ const CalendarHeatmapLegend = ({ labels: labelsProp, className, children, ...pro
472
472
  className: "mr-1 font-medium text-xs",
473
473
  children: lessLabel
474
474
  }),
475
- legendLevels.map((level) => children ? /* @__PURE__ */ jsx(Fragment, { children: children({ level }) }, `legend-level-${level}`) : /* @__PURE__ */ jsx("svg", {
475
+ legendLevels.map((level) => children ? /* @__PURE__ */ jsx(Fragment$1, { children: children({ level }) }, `legend-level-${level}`) : /* @__PURE__ */ jsx("svg", {
476
476
  role: "img",
477
477
  "aria-label": (labels.legendLevelLabel ?? "{{level}} contributions").replace("{{level}}", String(level)),
478
478
  height: blockSize,
@@ -1,6 +1,6 @@
1
1
  import { cn } from "../../../lib/utils.js";
2
- import { Fragment, createContext, use, useMemo } from "react";
3
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import { Fragment as Fragment$1, createContext, use, useMemo } from "react";
4
4
  import { format } from "date-fns";
5
5
  //#region src/components/registry/heatmap/status-heatmap.tsx
6
6
  const DEFAULT_COLORS = {
@@ -263,7 +263,7 @@ const StatusHeatmapBody = ({ hideDateLabels = false, labelInterval = 30, classNa
263
263
  })
264
264
  }), allActivities.map((activity, dayIndex) => {
265
265
  const key = activity.date;
266
- return /* @__PURE__ */ jsx(Fragment, { children: children({
266
+ return /* @__PURE__ */ jsx(Fragment$1, { children: children({
267
267
  activity,
268
268
  dayIndex
269
269
  }) }, key);
@@ -279,7 +279,7 @@ const StatusHeatmapFooter = ({ className, ...props }) => /* @__PURE__ */ jsx("di
279
279
  const StatusHeatmapStat = ({ compute, label, className, children, ...props }) => {
280
280
  const { data, healthyValue, labels } = useStatusHeatmap();
281
281
  const value = compute ? compute(data) : data.filter((a) => a.value === healthyValue).length;
282
- if (children) return /* @__PURE__ */ jsx(Fragment$1, { children: children({
282
+ if (children) return /* @__PURE__ */ jsx(Fragment, { children: children({
283
283
  value,
284
284
  data
285
285
  }) });
@@ -302,7 +302,7 @@ const StatusHeatmapLegend = ({ labels: labelsProp, className, children, ...props
302
302
  "aria-label": labels.legendLabel ?? "Status legend",
303
303
  className: cn("ml-auto flex items-center gap-1", className),
304
304
  ...props,
305
- children: statuses.map((status) => children ? /* @__PURE__ */ jsx(Fragment, { children: children({
305
+ children: statuses.map((status) => children ? /* @__PURE__ */ jsx(Fragment$1, { children: children({
306
306
  value: status.value,
307
307
  label: status.label
308
308
  }) }, `status-${status.value}`) : /* @__PURE__ */ jsxs("div", {
@@ -1,6 +1,6 @@
1
1
  import { cn } from "../../../lib/utils.js";
2
- import { Fragment, createContext, use, useMemo } from "react";
3
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import { Fragment as Fragment$1, createContext, use, useMemo } from "react";
4
4
  import { format } from "date-fns";
5
5
  //#region src/components/registry/heatmap/weekday-heatmap.tsx
6
6
  const colorStepCount = (levels, isNormalized) => Math.max(1, isNormalized ? levels : levels - 1);
@@ -413,15 +413,15 @@ const WeekdayHeatmapBody = ({ hideHourLabels = false, hideWeekdayLabels = false,
413
413
  children: extraRow?.label
414
414
  }, "weekday-extra")]
415
415
  }),
416
- regularActivities.map(({ activity, weekdayIndex }) => /* @__PURE__ */ jsx(Fragment, { children: children({
416
+ regularActivities.map(({ activity, weekdayIndex }) => /* @__PURE__ */ jsx(Fragment$1, { children: children({
417
417
  activity,
418
418
  weekdayIndex
419
419
  }) }, `${activity.weekday}-${activity.hour}`)),
420
- extraColumnActivities.map(({ activity, weekdayIndex }) => /* @__PURE__ */ jsx(Fragment, { children: (renderExtraColumn ?? children)({
420
+ extraColumnActivities.map(({ activity, weekdayIndex }) => /* @__PURE__ */ jsx(Fragment$1, { children: (renderExtraColumn ?? children)({
421
421
  activity,
422
422
  weekdayIndex
423
423
  }) }, `extra-column-${activity.weekday}`)),
424
- extraRowActivities.map(({ activity, weekdayIndex }) => /* @__PURE__ */ jsx(Fragment, { children: (renderExtraRow ?? children)({
424
+ extraRowActivities.map(({ activity, weekdayIndex }) => /* @__PURE__ */ jsx(Fragment$1, { children: (renderExtraRow ?? children)({
425
425
  activity,
426
426
  weekdayIndex
427
427
  }) }, `extra-row-${activity.hour}`))
@@ -437,7 +437,7 @@ const WeekdayHeatmapFooter = ({ className, ...props }) => /* @__PURE__ */ jsx("d
437
437
  const WeekdayHeatmapStat = ({ compute, label, className, children, ...props }) => {
438
438
  const { data, totalCount, labels } = useWeekdayHeatmap();
439
439
  const value = compute ? compute(data) : totalCount;
440
- if (children) return /* @__PURE__ */ jsx(Fragment$1, { children: children({
440
+ if (children) return /* @__PURE__ */ jsx(Fragment, { children: children({
441
441
  value,
442
442
  data
443
443
  }) });
@@ -464,7 +464,7 @@ const WeekdayHeatmapLegend = ({ labels: labelsProp, className, children, ...prop
464
464
  className: "mr-1 font-medium text-xs",
465
465
  children: lessLabel
466
466
  }),
467
- legendLevels.map((level) => children ? /* @__PURE__ */ jsx(Fragment, { children: children({ level }) }, `legend-level-${level}`) : /* @__PURE__ */ jsx("svg", {
467
+ legendLevels.map((level) => children ? /* @__PURE__ */ jsx(Fragment$1, { children: children({ level }) }, `legend-level-${level}`) : /* @__PURE__ */ jsx("svg", {
468
468
  role: "img",
469
469
  "aria-label": (labels.legendLevelLabel ?? "{{level}} contributions").replace("{{level}}", String(level)),
470
470
  height: blockSize,
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { TableColumnActions } from "../filters/table-column-actions.js";
3
3
  import { useColumnHeaderContext } from "./data-table-column-header.js";
4
- import "react";
5
4
  import { jsx } from "react/jsx-runtime";
5
+ import "react";
6
6
  //#region src/components/registry/niko-table/components/data-table-column-actions.tsx
7
7
  /**
8
8
  * Composable container for column actions.
@@ -1,6 +1,6 @@
1
1
  import { cn } from "../../../../lib/utils.js";
2
- import "react";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import "react";
4
4
  //#region src/components/registry/niko-table/components/data-table-column-filter.tsx
5
5
  /**
6
6
  * Wrapper for groups of column filters.
@@ -1,6 +1,6 @@
1
1
  import { cn } from "../../../../lib/utils.js";
2
- import React from "react";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import React from "react";
4
4
  //#region src/components/registry/niko-table/components/data-table-column-header.tsx
5
5
  const TableColumnHeaderContext = React.createContext(void 0);
6
6
  function useColumnHeaderContext(required = true) {
@@ -1,8 +1,8 @@
1
1
  import { useColumnHeaderContext } from "./data-table-column-header.js";
2
2
  import { useDataTable } from "../core/data-table-context.js";
3
3
  import { TableColumnSortMenu, TableColumnSortOptions } from "../filters/table-column-sort.js";
4
- import "react";
5
4
  import { jsx } from "react/jsx-runtime";
5
+ import "react";
6
6
  //#region src/components/registry/niko-table/components/data-table-column-sort.tsx
7
7
  /**
8
8
  * Sorting options for column header menu using context.
@@ -1,7 +1,7 @@
1
1
  import { useColumnHeaderContext } from "./data-table-column-header.js";
2
2
  import { TableColumnTitle } from "../filters/table-column-title.js";
3
- import "react";
4
3
  import { jsx } from "react/jsx-runtime";
4
+ import "react";
5
5
  //#region src/components/registry/niko-table/components/data-table-column-title.tsx
6
6
  /**
7
7
  * Renders the column title using context.
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../../../../lib/utils.js";
3
- import React from "react";
4
3
  import { jsx } from "react/jsx-runtime";
4
+ import React from "react";
5
5
  //#region src/components/registry/niko-table/components/data-table-empty-state.tsx
6
6
  /**
7
7
  * niko-table — created by Semir N. (Semkoo, https://github.com/Semkoo) with AI assistance.
@@ -3,8 +3,8 @@ import { useDataTable } from "../core/data-table-context.js";
3
3
  import { useDerivedColumnTitle } from "../hooks/use-derived-column-title.js";
4
4
  import { TableFacetedFilter, TableFacetedFilterContent, useTableFacetedFilter } from "../filters/table-faceted-filter.js";
5
5
  import { buildFacetedOptions } from "../lib/build-faceted-options.js";
6
- import * as React$1 from "react";
7
6
  import { jsx } from "react/jsx-runtime";
7
+ import * as React$1 from "react";
8
8
  //#region src/components/registry/niko-table/components/data-table-faceted-filter.tsx
9
9
  function useFacetedOptions({ table, accessorKey, options, showCounts, dynamicCounts, limitToFilteredRows, precomputedOptions }) {
10
10
  const column = table.getColumn(accessorKey);
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import React from "react";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import React from "react";
4
4
  //#region src/components/registry/niko-table/components/data-table-grouped-rows.tsx
5
5
  const DataTableGroupRowContext = React.createContext(null);
6
6
  /** Provider — used by the body, not by callers. */
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { ContextMenu, ContextMenuContent, ContextMenuTrigger } from "../../../ui/context-menu.js";
3
3
  import { DataTableRowMenuScope } from "./data-table-row-menu.js";
4
- import * as React$1 from "react";
5
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
+ import * as React$1 from "react";
6
6
  //#region src/components/registry/niko-table/components/data-table-row-context-menu.tsx
7
7
  /**
8
8
  * Attaches a right-click context menu to a single data-table row.
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger } from "../../../ui/context-menu.js";
3
3
  import { DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger } from "../../../ui/dropdown-menu.js";
4
- import * as React$1 from "react";
5
4
  import { jsx } from "react/jsx-runtime";
5
+ import * as React$1 from "react";
6
6
  //#region src/components/registry/niko-table/components/data-table-row-menu.tsx
7
7
  const RowMenuSurfaceContext = React$1.createContext(null);
8
8
  /** Sentinel so `useDataTableRow` can tell "no provider" from a row of `undefined`. */
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../../../../lib/utils.js";
3
- import React from "react";
4
3
  import { jsx } from "react/jsx-runtime";
4
+ import React from "react";
5
5
  //#region src/components/registry/niko-table/components/data-table-toolbar-section.tsx
6
6
  /**
7
7
  * niko-table — created by Semir N. (Semkoo, https://github.com/Semkoo) with AI assistance.
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { useGeneratedOptions } from "../hooks/use-generated-options.js";
3
3
  import { useHeaderMinWidths } from "../lib/use-header-min-widths.js";
4
- import React, { createContext, useCallback, useContext, useReducer } from "react";
5
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
+ import React, { createContext, useCallback, useContext, useReducer } from "react";
6
6
  //#region src/components/registry/niko-table/core/data-table-context.tsx
7
7
  /**
8
8
  * niko-table — created by Semir N. (Semkoo, https://github.com/Semkoo) with AI assistance.
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { Alert, AlertDescription, AlertTitle } from "../../../ui/alert.js";
3
3
  import { Button } from "../../../ui/button.js";
4
- import React from "react";
5
- import { jsx, jsxs } from "react/jsx-runtime";
6
4
  import { AlertCircle } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import React from "react";
7
7
  //#region src/components/registry/niko-table/core/data-table-error-boundary.tsx
8
8
  /**
9
9
  * niko-table — created by Semir N. (Semkoo, https://github.com/Semkoo) with AI assistance.
@@ -4,9 +4,9 @@ import { DataTableGroupRowProvider, useDataTableGroupRow } from "../components/d
4
4
  import { TableCell, TableRow } from "../ui/table.js";
5
5
  import { isInteractiveClickTarget } from "../lib/row-click.js";
6
6
  import { getCommonPinningStyles } from "../lib/styles.js";
7
- import React from "react";
8
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
7
  import { ChevronRight } from "lucide-react";
8
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+ import React from "react";
10
10
  import { flexRender } from "@tanstack/react-table";
11
11
  //#region src/components/registry/niko-table/core/data-table-grouped-row.tsx
12
12
  /**
@@ -20,7 +20,7 @@ import { flexRender } from "@tanstack/react-table";
20
20
  function DataTableGroupedRowCells() {
21
21
  const { row, groupLabel, count, isExpanded, toggle, columnWidths } = useDataTableGroupRow();
22
22
  const countLabel = `${count} ${count === 1 ? "row" : "rows"}`;
23
- return /* @__PURE__ */ jsx(Fragment$1, { children: row.getVisibleCells().map((cell) => {
23
+ return /* @__PURE__ */ jsx(Fragment, { children: row.getVisibleCells().map((cell) => {
24
24
  const cellStyle = {
25
25
  width: columnWidths.get(cell.column.id),
26
26
  ...getCommonPinningStyles(cell.column, false)
@@ -5,8 +5,8 @@ import { DataTableProvider } from "./data-table-context.js";
5
5
  import { detectFeaturesFromChildren } from "../config/feature-detection.js";
6
6
  import { globalFilter } from "../lib/filter-functions.js";
7
7
  import { features } from "../lib/data-table-features.js";
8
- import React from "react";
9
8
  import { jsx } from "react/jsx-runtime";
9
+ import React from "react";
10
10
  import { useTable } from "@tanstack/react-table";
11
11
  //#region src/components/registry/niko-table/core/data-table-root.tsx
12
12
  /**
@@ -15,8 +15,8 @@ import { DataTableColumnResizeHandle } from "../lib/column-resize-handle.js";
15
15
  import { createScrollHandler } from "../lib/create-scroll-handler.js";
16
16
  import { renderCellContent } from "../lib/render-cell-content.js";
17
17
  import { resolveColumnWidth, resolveFlexColumnIds } from "../lib/flex-columns.js";
18
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
18
19
  import React from "react";
19
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
20
20
  import { flexRender } from "@tanstack/react-table";
21
21
  //#region src/components/registry/niko-table/core/data-table-structure.tsx
22
22
  const DataTableHeader = React.memo(function DataTableHeader({ className, sticky = true }) {
@@ -89,7 +89,7 @@ const BodyRow = React.memo(function BodyRow({ row, displayIndex, expandColumnId,
89
89
  })
90
90
  });
91
91
  const menuItems = renderRowContextMenu?.(row.original);
92
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [menuItems ? /* @__PURE__ */ jsx(DataTableRowContextMenu, {
92
+ return /* @__PURE__ */ jsxs(Fragment, { children: [menuItems ? /* @__PURE__ */ jsx(DataTableRowContextMenu, {
93
93
  row: row.original,
94
94
  trigger: rowElement,
95
95
  children: menuItems
@@ -295,7 +295,7 @@ function DataTableSkeleton({ children, colSpan, rows = 5, className, cellClassNa
295
295
  className: cn("h-24 text-center", className),
296
296
  children
297
297
  }) });
298
- return /* @__PURE__ */ jsx(Fragment$1, { children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ jsx(TableRow, { children: visibleColumns.map((column, colIndex) => {
298
+ return /* @__PURE__ */ jsx(Fragment, { children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ jsx(TableRow, { children: visibleColumns.map((column, colIndex) => {
299
299
  const size = column.columnDef.size;
300
300
  const cellStyle = size ? { width: `${size}px` } : void 0;
301
301
  return /* @__PURE__ */ jsx(TableCell, {
@@ -2,8 +2,8 @@
2
2
  import { cn } from "../../../../lib/utils.js";
3
3
  import { useColumnResizeInfo, useDataTable } from "./data-table-context.js";
4
4
  import { TableComponent } from "../ui/table.js";
5
- import React from "react";
6
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
+ import React from "react";
7
7
  //#region src/components/registry/niko-table/core/data-table.tsx
8
8
  /**
9
9
  * niko-table — created by Semir N. (Semkoo, https://github.com/Semkoo) with AI assistance.
@@ -1,9 +1,9 @@
1
1
  import { Button } from "../../../ui/button.js";
2
2
  import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuTrigger } from "../../../ui/dropdown-menu.js";
3
3
  import { cn } from "../../../../lib/utils.js";
4
- import "react";
5
- import { jsx, jsxs } from "react/jsx-runtime";
6
4
  import { MoreVertical } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import "react";
7
7
  //#region src/components/registry/niko-table/filters/table-column-actions.tsx
8
8
  /**
9
9
  * A simple dropdown container for composing column actions.
@@ -6,9 +6,9 @@ import { cn } from "../../../../lib/utils.js";
6
6
  import { FILTER_VARIANTS } from "../lib/constants.js";
7
7
  import { useDataTable } from "../core/data-table-context.js";
8
8
  import { SORT_ICONS, SORT_LABELS } from "../config/data-table.js";
9
- import React from "react";
10
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
9
  import { Check, CircleHelp } from "lucide-react";
10
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
+ import React from "react";
12
12
  //#region src/components/registry/niko-table/filters/table-column-sort.tsx
13
13
  /**
14
14
  * niko-table — created by Semir N. (Semkoo, https://github.com/Semkoo) with AI assistance.
@@ -76,7 +76,7 @@ function TableColumnSortOptions({ column, table: propTable, variant: propVariant
76
76
  column.toggleSorting(isDesc, canMultiSort ? isMulti : false);
77
77
  }
78
78
  };
79
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [withSeparator && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}), /* @__PURE__ */ jsxs(DropdownMenuGroup, { children: [
79
+ return /* @__PURE__ */ jsxs(Fragment, { children: [withSeparator && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}), /* @__PURE__ */ jsxs(DropdownMenuGroup, { children: [
80
80
  /* @__PURE__ */ jsxs(DropdownMenuLabel, {
81
81
  className: "flex items-center justify-between text-xs font-normal text-muted-foreground",
82
82
  children: [/* @__PURE__ */ jsxs("div", {
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { cn } from "../../../../lib/utils.js";
3
3
  import { useDerivedColumnTitle } from "../hooks/use-derived-column-title.js";
4
- import "react";
5
4
  import { jsx } from "react/jsx-runtime";
5
+ import "react";
6
6
  //#region src/components/registry/niko-table/filters/table-column-title.tsx
7
7
  /**
8
8
  * Renders the column title.
@@ -6,9 +6,9 @@ import { Popover, PopoverContent, PopoverTrigger } from "../../../ui/popover.js"
6
6
  import { Separator } from "../../../ui/separator.js";
7
7
  import { cn } from "../../../../lib/utils.js";
8
8
  import { FILTER_OPERATORS, FILTER_VARIANTS, JOIN_OPERATORS } from "../lib/constants.js";
9
- import * as React$1 from "react";
10
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
9
  import { Check, PlusCircle, XCircle } from "lucide-react";
10
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
+ import * as React$1 from "react";
12
12
  //#region src/components/registry/niko-table/filters/table-faceted-filter.tsx
13
13
  /**
14
14
  * niko-table — created by Semir N. (Semkoo, https://github.com/Semkoo) with AI assistance.
@@ -124,7 +124,7 @@ function TableFacetedFilter({ column, title, options = [], multiple, onValueChan
124
124
  children: /* @__PURE__ */ jsx(XCircle, { className: "size-4" })
125
125
  }) : /* @__PURE__ */ jsx(PlusCircle, { className: "size-4" }),
126
126
  title,
127
- selectedValues?.size > 0 && /* @__PURE__ */ jsxs(Fragment$1, { children: [
127
+ selectedValues?.size > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
128
128
  /* @__PURE__ */ jsx(Separator, {
129
129
  orientation: "vertical",
130
130
  className: "mx-2 h-4"
@@ -193,7 +193,7 @@ function TableFacetedFilterContent({ title, options, selectedValues, onItemSelec
193
193
  }, option.value);
194
194
  })
195
195
  }),
196
- selectedValues.size > 0 && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(CommandSeparator, {}), /* @__PURE__ */ jsx(CommandGroup, { children: /* @__PURE__ */ jsx(CommandItem, {
196
+ selectedValues.size > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(CommandSeparator, {}), /* @__PURE__ */ jsx(CommandGroup, { children: /* @__PURE__ */ jsx(CommandItem, {
197
197
  onSelect: () => onReset(),
198
198
  className: "justify-center text-center",
199
199
  children: "Clear filters"
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { cn } from "../../../../lib/utils.js";
3
3
  import { DEFAULT_MAX_COLUMN_SIZE, DEFAULT_MIN_COLUMN_SIZE } from "./constants.js";
4
- import * as React$1 from "react";
5
4
  import { jsx } from "react/jsx-runtime";
5
+ import * as React$1 from "react";
6
6
  //#region src/components/registry/niko-table/lib/column-resize-handle.tsx
7
7
  /**
8
8
  * niko-table — created by Semir N. (Semkoo, https://github.com/Semkoo) with AI assistance.
@@ -1,7 +1,7 @@
1
1
  import { Button } from "../../../ui/button.js";
2
2
  import { cn } from "../../../../lib/utils.js";
3
- import { jsx, jsxs } from "react/jsx-runtime";
4
3
  import { ChevronDown, ChevronRight } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import { flexRender } from "@tanstack/react-table";
6
6
  //#region src/components/registry/niko-table/lib/render-cell-content.tsx
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../../../../lib/utils.js";
3
- import "react";
4
3
  import { jsx } from "react/jsx-runtime";
4
+ import "react";
5
5
  //#region src/components/registry/niko-table/ui/table.tsx
6
6
  function TableComponent({ className, ...props }) {
7
7
  return /* @__PURE__ */ jsx("table", {
@@ -4,8 +4,8 @@ import { NavMain } from "./nav-main.js";
4
4
  import { NavProjects } from "./nav-projects.js";
5
5
  import { NavUser } from "./nav-user.js";
6
6
  import { TeamSwitcher } from "./team-switcher.js";
7
- import "react";
8
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
+ import "react";
9
9
  //#region src/components/registry/sidebar-07/app-sidebar.tsx
10
10
  function AppSidebar({ navMain, navLabel, header, teams, projects, user, collapsible = "icon", ...props }) {
11
11
  return /* @__PURE__ */ jsxs(Sidebar, {
@@ -1,7 +1,7 @@
1
1
  import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "../../ui/collapsible.js";
2
2
  import { SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, useSidebar } from "../../ui/sidebar.js";
3
- import { jsx, jsxs } from "react/jsx-runtime";
4
3
  import { ChevronRightIcon } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region src/components/registry/sidebar-07/nav-main.tsx
6
6
  function NavMain({ items, label = "Navigation" }) {
7
7
  const { isMobile, setOpenMobile } = useSidebar();
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from "../../ui/dropdown-menu.js";
3
3
  import { SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuAction, SidebarMenuButton, SidebarMenuItem, useSidebar } from "../../ui/sidebar.js";
4
- import { jsx, jsxs } from "react/jsx-runtime";
5
4
  import { ArrowRightIcon, FolderIcon, MoreHorizontalIcon, Trash2Icon } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region src/components/registry/sidebar-07/nav-projects.tsx
7
7
  function NavProjects({ projects }) {
8
8
  const { isMobile } = useSidebar();
@@ -1,8 +1,8 @@
1
1
  import { Avatar, AvatarFallback, AvatarImage } from "../../ui/avatar.js";
2
2
  import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from "../../ui/dropdown-menu.js";
3
3
  import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from "../../ui/sidebar.js";
4
- import { jsx, jsxs } from "react/jsx-runtime";
5
4
  import { BadgeCheckIcon, BellIcon, ChevronsUpDownIcon, CreditCardIcon, LogOutIcon, SparklesIcon } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region src/components/registry/sidebar-07/nav-user.tsx
7
7
  function NavUser({ user }) {
8
8
  const { isMobile } = useSidebar();
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger } from "../../ui/dropdown-menu.js";
3
3
  import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from "../../ui/sidebar.js";
4
- import * as React$1 from "react";
5
- import { jsx, jsxs } from "react/jsx-runtime";
6
4
  import { ChevronsUpDownIcon, PlusIcon } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import * as React$1 from "react";
7
7
  //#region src/components/registry/sidebar-07/team-switcher.tsx
8
8
  function TeamSwitcher({ teams }) {
9
9
  const { isMobile } = useSidebar();
@@ -1,5 +1,5 @@
1
- import { useEffect, useRef } from "react";
2
1
  import { jsx } from "react/jsx-runtime";
2
+ import { useEffect, useRef } from "react";
3
3
  import { AreaSeries, ColorType, LineStyle, createChart } from "lightweight-charts";
4
4
  //#region src/components/siyahi/price-chart.tsx
5
5
  function toRgba(color) {
@@ -1,7 +1,7 @@
1
1
  import { TooltipProvider } from "../ui/tooltip.js";
2
2
  import { defaultLocale } from "../../lib/locale.js";
3
- import { createContext, use, useMemo } from "react";
4
3
  import { jsx } from "react/jsx-runtime";
4
+ import { createContext, use, useMemo } from "react";
5
5
  //#region src/components/siyahi/siyahi-provider.tsx
6
6
  const LocaleContext = createContext(defaultLocale);
7
7
  /** Wrap the app once. Carries the locale and the tooltip provider shadcn asks for. */
@@ -17,7 +17,15 @@ export interface TreemapProps<T extends TreemapItem> {
17
17
  range?: number;
18
18
  /** Gets the item under the pointer, and null when the pointer moves onto a group's name or leaves the map. */
19
19
  onHover?: (item: T | null) => void;
20
+ /** The selected item, matched by key, whose tile carries a ring. Pass back what onSelect gave. */
21
+ selected?: T | null;
22
+ /**
23
+ * Gets the item whose tile is tapped or clicked, and null when the selected
24
+ * tile is tapped again or a tap lands anywhere else. On a touch screen, which
25
+ * has no hover, this is how a reader gets a tile's figures.
26
+ */
27
+ onSelect?: (item: T | null) => void;
20
28
  }
21
29
  /** Holdings heat map: area by weight, colour by signed change, optionally grouped; hand-drawn SVG. */
22
- export declare function Treemap<T extends TreemapItem>({ items, height, range, onHover }: TreemapProps<T>): import("react").JSX.Element;
30
+ export declare function Treemap<T extends TreemapItem>({ items, height, range, onHover, selected, onSelect }: TreemapProps<T>): import("react").JSX.Element;
23
31
  //#endregion
@@ -1,18 +1,29 @@
1
1
  import { useFormat } from "../../lib/format.js";
2
2
  import { heat, layout } from "../../lib/treemap.js";
3
- import { useLayoutEffect, useRef, useState } from "react";
4
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { useEffect, useEffectEvent, useLayoutEffect, useRef, useState } from "react";
5
5
  //#region src/components/siyahi/treemap.tsx
6
6
  /** Holdings heat map: area by weight, colour by signed change, optionally grouped; hand-drawn SVG. */
7
- function Treemap({ items, height, range, onHover }) {
7
+ function Treemap({ items, height, range, onHover, selected, onSelect }) {
8
8
  const ref = useRef(null);
9
9
  const [width, setWidth] = useState(0);
10
+ const selectedKey = selected ? selected.key ?? selected.name : null;
10
11
  const { pct } = useFormat();
11
12
  useLayoutEffect(() => {
12
13
  const observer = new ResizeObserver(([entry]) => setWidth(entry?.contentRect.width ?? 0));
13
14
  if (ref.current) observer.observe(ref.current);
14
15
  return () => observer.disconnect();
15
16
  }, []);
17
+ const clearOutside = useEffectEvent((event) => {
18
+ const tile = event.target instanceof Element ? event.target.closest("[data-slot=\"treemap-tile\"]") : null;
19
+ if (!ref.current?.contains(tile)) onSelect?.(null);
20
+ });
21
+ useEffect(() => {
22
+ if (selectedKey === null) return;
23
+ const onPointerDown = (event) => clearOutside(event);
24
+ document.addEventListener("pointerdown", onPointerDown);
25
+ return () => document.removeEventListener("pointerdown", onPointerDown);
26
+ }, [selectedKey]);
16
27
  const { groups, tiles } = layout(items, width, height);
17
28
  const change = (value) => value === null ? "—" : `${value > 0 ? "▲ " : value < 0 ? "▼ " : ""}${pct(Math.abs(value))}`;
18
29
  return /* @__PURE__ */ jsx("div", {
@@ -41,29 +52,47 @@ function Treemap({ items, height, range, onHover }) {
41
52
  className: "fill-muted-foreground font-medium",
42
53
  children: group
43
54
  })]
44
- }, group)), tiles.map(({ item, ...box }) => /* @__PURE__ */ jsxs("svg", {
45
- ...box,
46
- "data-slot": "treemap-tile",
47
- onPointerEnter: () => onHover?.(item),
48
- children: [/* @__PURE__ */ jsx("rect", {
49
- width: "100%",
50
- height: "100%",
51
- rx: 4,
52
- style: { fill: heat(item.change, range) }
53
- }), box.width > 56 && box.height > 36 && /* @__PURE__ */ jsxs("text", {
54
- x: 8,
55
- y: 18,
56
- className: "fill-foreground",
57
- children: [/* @__PURE__ */ jsx("tspan", {
58
- className: "font-medium",
59
- children: item.name
60
- }), /* @__PURE__ */ jsx("tspan", {
61
- x: 8,
62
- dy: 16,
63
- children: change(item.change)
64
- })]
65
- })]
66
- }, item.key ?? item.name))]
55
+ }, group)), tiles.map(({ item, ...box }) => {
56
+ const key = item.key ?? item.name;
57
+ return /* @__PURE__ */ jsxs("svg", {
58
+ ...box,
59
+ "data-slot": "treemap-tile",
60
+ "data-selected": key === selectedKey || void 0,
61
+ onPointerEnter: () => onHover?.(item),
62
+ onClick: () => onSelect?.(key === selectedKey ? null : item),
63
+ children: [
64
+ /* @__PURE__ */ jsx("rect", {
65
+ width: "100%",
66
+ height: "100%",
67
+ rx: 4,
68
+ style: { fill: heat(item.change, range) }
69
+ }),
70
+ key === selectedKey && /* @__PURE__ */ jsx("rect", {
71
+ x: 1,
72
+ y: 1,
73
+ width: box.width - 2,
74
+ height: box.height - 2,
75
+ rx: 3,
76
+ fill: "none",
77
+ strokeWidth: 2,
78
+ className: "stroke-foreground"
79
+ }),
80
+ box.width > 56 && box.height > 36 && /* @__PURE__ */ jsxs("text", {
81
+ x: 8,
82
+ y: 18,
83
+ className: "fill-foreground",
84
+ children: [/* @__PURE__ */ jsx("tspan", {
85
+ className: "font-medium",
86
+ children: item.name
87
+ }), /* @__PURE__ */ jsx("tspan", {
88
+ x: 8,
89
+ dy: 16,
90
+ children: change(item.change)
91
+ })]
92
+ })
93
+ ]
94
+ }, key);
95
+ })]
67
96
  })
68
97
  });
69
98
  }
@@ -0,0 +1,8 @@
1
+ import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
2
+ //#region src/components/ui/accordion.d.ts
3
+ declare function Accordion({ className, ...props }: Accordion$1.Root.Props): import("react").JSX.Element;
4
+ declare function AccordionItem({ className, ...props }: Accordion$1.Item.Props): import("react").JSX.Element;
5
+ declare function AccordionTrigger({ className, children, ...props }: Accordion$1.Trigger.Props): import("react").JSX.Element;
6
+ declare function AccordionContent({ className, children, ...props }: Accordion$1.Panel.Props): import("react").JSX.Element;
7
+ //#endregion
8
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
@@ -0,0 +1,53 @@
1
+ import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
2
+ import { cn } from "cn";
3
+ import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/components/ui/accordion.tsx
6
+ function Accordion({ className, ...props }) {
7
+ return /* @__PURE__ */ jsx(Accordion$1.Root, {
8
+ "data-slot": "accordion",
9
+ className: cn("flex w-full flex-col overflow-hidden rounded-2xl border", className),
10
+ ...props
11
+ });
12
+ }
13
+ function AccordionItem({ className, ...props }) {
14
+ return /* @__PURE__ */ jsx(Accordion$1.Item, {
15
+ "data-slot": "accordion-item",
16
+ className: cn("not-last:border-b data-open:bg-muted/50", className),
17
+ ...props
18
+ });
19
+ }
20
+ function AccordionTrigger({ className, children, ...props }) {
21
+ return /* @__PURE__ */ jsx(Accordion$1.Header, {
22
+ className: "flex",
23
+ children: /* @__PURE__ */ jsxs(Accordion$1.Trigger, {
24
+ "data-slot": "accordion-trigger",
25
+ className: cn("group/accordion-trigger relative flex flex-1 items-start justify-between gap-6 border border-transparent p-4 text-left text-sm font-medium transition-all outline-none hover:underline aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground", className),
26
+ ...props,
27
+ children: [
28
+ children,
29
+ /* @__PURE__ */ jsx(ChevronDownIcon, {
30
+ "data-slot": "accordion-trigger-icon",
31
+ className: "pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden"
32
+ }),
33
+ /* @__PURE__ */ jsx(ChevronUpIcon, {
34
+ "data-slot": "accordion-trigger-icon",
35
+ className: "pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline"
36
+ })
37
+ ]
38
+ })
39
+ });
40
+ }
41
+ function AccordionContent({ className, children, ...props }) {
42
+ return /* @__PURE__ */ jsx(Accordion$1.Panel, {
43
+ "data-slot": "accordion-content",
44
+ className: "overflow-hidden px-4 text-sm data-open:animate-accordion-down data-closed:animate-accordion-up",
45
+ ...props,
46
+ children: /* @__PURE__ */ jsx("div", {
47
+ className: cn("h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", className),
48
+ children
49
+ })
50
+ });
51
+ }
52
+ //#endregion
53
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
@@ -1,7 +1,7 @@
1
- import "react";
2
- import { cva } from "class-variance-authority";
3
1
  import { cn } from "cn";
4
2
  import { jsx } from "react/jsx-runtime";
3
+ import "react";
4
+ import { cva } from "class-variance-authority";
5
5
  //#region src/components/ui/alert.tsx
6
6
  const alertVariants = cva("group/alert relative grid w-full gap-0.5 rounded-2xl border px-4 py-3 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4", {
7
7
  variants: { variant: {
@@ -1,6 +1,6 @@
1
- import "react";
2
1
  import { cn } from "cn";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import "react";
4
4
  import { Avatar as Avatar$1 } from "@base-ui/react/avatar";
5
5
  //#region src/components/ui/avatar.tsx
6
6
  function Avatar({ className, size = "default", ...props }) {
@@ -1,5 +1,5 @@
1
- import { cva } from "class-variance-authority";
2
1
  import { cn } from "cn";
2
+ import { cva } from "class-variance-authority";
3
3
  import { mergeProps } from "@base-ui/react/merge-props";
4
4
  import { useRender } from "@base-ui/react/use-render";
5
5
  //#region src/components/ui/badge.tsx
@@ -1,9 +1,9 @@
1
- import "react";
2
1
  import { cn } from "cn";
2
+ import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
+ import "react";
4
5
  import { mergeProps } from "@base-ui/react/merge-props";
5
6
  import { useRender } from "@base-ui/react/use-render";
6
- import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
7
7
  //#region src/components/ui/breadcrumb.tsx
8
8
  function Breadcrumb({ className, ...props }) {
9
9
  return /* @__PURE__ */ jsx("nav", {
@@ -1,6 +1,6 @@
1
- import { cva } from "class-variance-authority";
2
1
  import { cn } from "cn";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import { cva } from "class-variance-authority";
4
4
  import { Button as Button$1 } from "@base-ui/react/button";
5
5
  //#region src/components/ui/button.tsx
6
6
  const buttonVariants = cva("group/button inline-flex shrink-0 items-center justify-center rounded-4xl border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/30 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { Button, buttonVariants } from "./button.js";
3
- import * as React$1 from "react";
4
3
  import { cn } from "cn";
5
- import { jsx } from "react/jsx-runtime";
6
4
  import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import * as React$1 from "react";
7
7
  import { DayPicker, getDefaultClassNames } from "react-day-picker";
8
8
  //#region src/components/ui/calendar.tsx
9
9
  function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", locale, formatters, components, ...props }) {
@@ -1,6 +1,6 @@
1
- import "react";
2
1
  import { cn } from "cn";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import "react";
4
4
  //#region src/components/ui/card.tsx
5
5
  function Card({ className, size = "default", ...props }) {
6
6
  return /* @__PURE__ */ jsx("div", {
@@ -1,6 +1,6 @@
1
- import * as React$1 from "react";
2
1
  import { cn } from "cn";
3
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import * as React$1 from "react";
4
4
  import * as RechartsPrimitive from "recharts";
5
5
  //#region src/components/ui/chart.tsx
6
6
  const THEMES = {
@@ -88,7 +88,7 @@ function ChartTooltipContent({ active, payload, className, indicator = "dot", hi
88
88
  const indicatorColor = color ?? item.payload?.fill ?? item.color;
89
89
  return /* @__PURE__ */ jsx("div", {
90
90
  className: cn("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground", indicator === "dot" && "items-center"),
91
- children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs(Fragment$1, { children: [itemConfig?.icon ? /* @__PURE__ */ jsx(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx("div", {
91
+ children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs(Fragment, { children: [itemConfig?.icon ? /* @__PURE__ */ jsx(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx("div", {
92
92
  className: cn("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)", {
93
93
  "h-2.5 w-2.5": indicator === "dot",
94
94
  "w-1": indicator === "line",
@@ -1,9 +1,9 @@
1
1
  import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "./dialog.js";
2
2
  import { InputGroup, InputGroupAddon } from "./input-group.js";
3
- import "react";
4
3
  import { cn } from "cn";
5
- import { jsx, jsxs } from "react/jsx-runtime";
6
4
  import { CheckIcon, SearchIcon } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import "react";
7
7
  import { Command as Command$1 } from "cmdk";
8
8
  //#region src/components/ui/command.tsx
9
9
  function Command({ className, ...props }) {
@@ -1,7 +1,7 @@
1
- import "react";
2
1
  import { cn } from "cn";
3
- import { jsx, jsxs } from "react/jsx-runtime";
4
2
  import { CheckIcon, ChevronRightIcon } from "lucide-react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import "react";
5
5
  import { ContextMenu as ContextMenu$1 } from "@base-ui/react/context-menu";
6
6
  //#region src/components/ui/context-menu.tsx
7
7
  function ContextMenu({ ...props }) {
@@ -1,8 +1,8 @@
1
1
  import { Button } from "./button.js";
2
- import "react";
3
2
  import { cn } from "cn";
4
- import { jsx, jsxs } from "react/jsx-runtime";
5
3
  import { XIcon } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import "react";
6
6
  import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
7
7
  //#region src/components/ui/dialog.tsx
8
8
  function Dialog({ ...props }) {
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import "react";
3
2
  import { cn } from "cn";
4
- import { jsx, jsxs } from "react/jsx-runtime";
5
3
  import { CheckIcon, ChevronRightIcon } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import "react";
6
6
  import { Menu } from "@base-ui/react/menu";
7
7
  //#region src/components/ui/dropdown-menu.tsx
8
8
  function DropdownMenu({ ...props }) {
@@ -2,10 +2,10 @@
2
2
  import { Button } from "./button.js";
3
3
  import { Input } from "./input.js";
4
4
  import { Textarea } from "./textarea.js";
5
- import "react";
6
- import { cva } from "class-variance-authority";
7
5
  import { cn } from "cn";
8
6
  import { jsx } from "react/jsx-runtime";
7
+ import "react";
8
+ import { cva } from "class-variance-authority";
9
9
  //#region src/components/ui/input-group.tsx
10
10
  function InputGroup({ className, ...props }) {
11
11
  return /* @__PURE__ */ jsx("div", {
@@ -1,6 +1,6 @@
1
- import "react";
2
1
  import { cn } from "cn";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import "react";
4
4
  import { Input as Input$1 } from "@base-ui/react/input";
5
5
  //#region src/components/ui/input.tsx
6
6
  function Input({ className, type, ...props }) {
@@ -1,6 +1,6 @@
1
- import "react";
2
1
  import { cn } from "cn";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import "react";
4
4
  import { Popover as Popover$1 } from "@base-ui/react/popover";
5
5
  //#region src/components/ui/popover.tsx
6
6
  function Popover({ ...props }) {
@@ -1,6 +1,6 @@
1
- import "react";
2
1
  import { cn } from "cn";
3
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
+ import "react";
4
4
  import { ScrollArea as ScrollArea$1 } from "@base-ui/react/scroll-area";
5
5
  //#region src/components/ui/scroll-area.tsx
6
6
  function ScrollArea({ className, children, ...props }) {
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import "react";
3
2
  import { cn } from "cn";
4
- import { jsx, jsxs } from "react/jsx-runtime";
5
3
  import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import "react";
6
6
  import { Select as Select$1 } from "@base-ui/react/select";
7
7
  //#region src/components/ui/select.tsx
8
8
  const Select = Select$1.Root;
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { Button } from "./button.js";
3
- import "react";
4
3
  import { cn } from "cn";
5
- import { jsx, jsxs } from "react/jsx-runtime";
6
4
  import { XIcon } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import "react";
7
7
  import { Dialog } from "@base-ui/react/dialog";
8
8
  //#region src/components/ui/sheet.tsx
9
9
  function Sheet({ ...props }) {
@@ -6,13 +6,13 @@ import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from "
6
6
  import { useIsMobile } from "../../hooks/use-mobile.js";
7
7
  import { Skeleton } from "./skeleton.js";
8
8
  import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
9
- import * as React$1 from "react";
10
- import { cva } from "class-variance-authority";
11
9
  import { cn } from "cn";
10
+ import { PanelLeftIcon } from "lucide-react";
12
11
  import { jsx, jsxs } from "react/jsx-runtime";
12
+ import * as React$1 from "react";
13
+ import { cva } from "class-variance-authority";
13
14
  import { mergeProps } from "@base-ui/react/merge-props";
14
15
  import { useRender } from "@base-ui/react/use-render";
15
- import { PanelLeftIcon } from "lucide-react";
16
16
  //#region src/components/ui/sidebar.tsx
17
17
  const SIDEBAR_COOKIE_NAME = "sidebar_state";
18
18
  const SIDEBAR_COOKIE_MAX_AGE = 604800;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import "react";
3
2
  import { cn } from "cn";
4
3
  import { jsx } from "react/jsx-runtime";
4
+ import "react";
5
5
  //#region src/components/ui/table.tsx
6
6
  function Table({ className, ...props }) {
7
7
  return /* @__PURE__ */ jsx("div", {
@@ -1,6 +1,6 @@
1
- import { cva } from "class-variance-authority";
2
1
  import { cn } from "cn";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import { cva } from "class-variance-authority";
4
4
  import { Tabs as Tabs$1 } from "@base-ui/react/tabs";
5
5
  //#region src/components/ui/tabs.tsx
6
6
  function Tabs({ className, orientation = "horizontal", ...props }) {
@@ -1,6 +1,6 @@
1
- import "react";
2
1
  import { cn } from "cn";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import "react";
4
4
  //#region src/components/ui/textarea.tsx
5
5
  function Textarea({ className, ...props }) {
6
6
  return /* @__PURE__ */ jsx("textarea", {
@@ -1,8 +1,8 @@
1
1
  import { toggleVariants } from "./toggle.js";
2
- import * as React$1 from "react";
3
- import "class-variance-authority";
4
2
  import { cn } from "cn";
5
3
  import { jsx } from "react/jsx-runtime";
4
+ import * as React$1 from "react";
5
+ import "class-variance-authority";
6
6
  import { Toggle } from "@base-ui/react/toggle";
7
7
  import { ToggleGroup as ToggleGroup$1 } from "@base-ui/react/toggle-group";
8
8
  //#region src/components/ui/toggle-group.tsx
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { cva } from "class-variance-authority";
3
2
  import { cn } from "cn";
4
3
  import { jsx } from "react/jsx-runtime";
4
+ import { cva } from "class-variance-authority";
5
5
  import { Toggle as Toggle$1 } from "@base-ui/react/toggle";
6
6
  //#region src/components/ui/toggle.tsx
7
7
  const toggleVariants = cva("group/toggle inline-flex items-center justify-center gap-1 rounded-3xl text-sm font-medium whitespace-nowrap transition-colors outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
package/dist/index.d.ts CHANGED
@@ -44,6 +44,7 @@ import { PriceChart, PriceChartProps } from "./components/siyahi/price-chart.js"
44
44
  import { SiyahiLocale, defaultLocale } from "./lib/locale.js";
45
45
  import { SiyahiProvider, SiyahiProviderProps, useLocale } from "./components/siyahi/siyahi-provider.js";
46
46
  import { Treemap, TreemapItem, TreemapProps } from "./components/siyahi/treemap.js";
47
+ import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "./components/ui/accordion.js";
47
48
  import { Alert, AlertAction, AlertDescription, AlertTitle } from "./components/ui/alert.js";
48
49
  import { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage } from "./components/ui/avatar.js";
49
50
  import { Badge, badgeVariants } from "./components/ui/badge.js";
@@ -70,4 +71,4 @@ import { Toggle, toggleVariants } from "./components/ui/toggle.js";
70
71
  import { ToggleGroup, ToggleGroupItem } from "./components/ui/toggle-group.js";
71
72
  import { Formatters, TimeOptions, money, moneyCompact, pct, time, useFormat } from "./lib/format.js";
72
73
  import { Area, AreaChart, Bar, BarChart, CartesianGrid, Line, LineChart, ReferenceLine, XAxis, YAxis } from "./lib/recharts.js";
73
- export { ActiveCell, ActiveSelection, Activity, Alert, AlertAction, AlertDescription, AlertTitle, AppSidebar, AppSidebarProps, Area, AreaChart, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Bar, BarChart, BarList, BarListItem, BarListProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBlockProps, CalendarHeatmapBody, CalendarHeatmapBodyProps, CalendarHeatmapFooter, CalendarHeatmapFooterProps, CalendarHeatmapLegend, CalendarHeatmapLegendProps, CalendarHeatmapProps, CalendarHeatmapStat, CalendarHeatmapStatProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CartesianGrid, ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorConfig, ColumnResizeInfo, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataTable, DataTableActions, DataTableBody, DataTableBodyProps, type DataTableCell, type DataTableColumn, DataTableColumnActions, type DataTableColumnDef, DataTableColumnFilter, DataTableColumnHeader, DataTableColumnHeaderProps, DataTableColumnHeaderRoot, DataTableColumnSortMenu, DataTableColumnSortOptions, DataTableColumnTitle, type DataTableColumns, DataTableConfig, DataTableContainerProps, DataTableContext, DataTableContextState, DataTableEmptyActions, DataTableEmptyActionsProps, DataTableEmptyBody, DataTableEmptyBodyProps, DataTableEmptyDescription, DataTableEmptyDescriptionProps, DataTableEmptyFilteredMessage, DataTableEmptyFilteredMessageProps, DataTableEmptyIcon, DataTableEmptyIconProps, DataTableEmptyMessage, DataTableEmptyMessageProps, DataTableEmptyState, DataTableEmptyStateProps, DataTableEmptyTitle, DataTableEmptyTitleProps, DataTableErrorBoundary, DataTableErrorBoundaryProps, DataTableFacetedFilter, DataTableFacetedFilterContent, DataTableGroupRowContextValue, DataTableGroupRowProvider, DataTableGroupedRowCells, DataTableGroupedRows, DataTableGroupedRowsProps, DataTableHeader, type DataTableHeader$1 as DataTableHeaderCell, DataTableHeaderProps, type DataTableInstance, DataTableLoading, DataTableLoadingMore, DataTableLoadingMoreProps, DataTableLoadingProps, DataTableProvider, DataTableRoot, type DataTableRow, DataTableRowContextMenu, DataTableRowContextMenuProps, DataTableRowContextMenuSlot, DataTableRowContextMenuSlotProps, DataTableRowMenuScope, DataTableSkeleton, DataTableSkeletonProps, DataTableToolbarSection, DataTableToolbarSectionProps, Delta, DeltaProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type ExtendedColumnFilter, type ExtendedColumnSort, type FilterOperator, type FilterOperatorValues, type FilterVariant, type FilterVariantValues, FlashCellRef, FlashCells, FlashRows, FlashRowsOptions, Formatters, type GlobalFilter, GroupedBodyRow, GroupedBodyRowProps, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, type JoinOperator, type JoinOperatorValues, Labels, Line, LineChart, LocalTime, LocalTimeProps, NavMain, NavProjects, NavUser, type Option, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, PriceChartProps, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, type QueryKeys, ReferenceLine, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, ScrollAlign, ScrollArea, ScrollBar, type ScrollEvent, ScrollRowIntoView, SectionCard, SectionCards, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiyahiLocale, SiyahiProvider, SiyahiProviderProps, Skeleton, Slider, StatusActivity, StatusColorConfig, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBlockProps, StatusHeatmapBody, StatusHeatmapBodyProps, StatusHeatmapFooter, StatusHeatmapFooterProps, StatusHeatmapLabels, StatusHeatmapLegend, StatusHeatmapLegendProps, StatusHeatmapProps, StatusHeatmapStat, StatusHeatmapStatProps, StatusValue, Table, TableBody, TableCaption, TableCell, TableColumnActions, TableColumnActionsProps, TableColumnSortMenu, TableColumnSortOptions, TableColumnTitle, TableFacetedFilter, TableFacetedFilterContent, TableFacetedFilterProps, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TeamSwitcher, Textarea, TimeOptions, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Treemap, TreemapItem, TreemapProps, type ValueOf, type ColorConfig$1 as WeekdayColorConfig, type WeekdayExtraColumnSpec, type WeekdayExtraRowSpec, WeekdayHeatmap, WeekdayHeatmapBlock, type WeekdayHeatmapBlockProps, WeekdayHeatmapBody, type WeekdayHeatmapBodyProps, WeekdayHeatmapFooter, type WeekdayHeatmapFooterProps, type WeekdayHeatmapLabels, WeekdayHeatmapLegend, type WeekdayHeatmapLegendProps, type WeekdayHeatmapProps, WeekdayHeatmapStat, type WeekdayHeatmapStatProps, type WeekdayHour, type WeekdayHourlyActivity, type WeekdayIndex, XAxis, YAxis, badgeVariants, buttonVariants, defaultLocale, flashCellKey, money, moneyCompact, pct, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, tabsListVariants, time, toggleVariants, useColumnHeaderContext, useColumnResizeInfo, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useFormat, useLocale, useResolvedRowContextMenuRenderer, useSidebar, useTableFacetedFilter };
74
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActiveCell, ActiveSelection, Activity, Alert, AlertAction, AlertDescription, AlertTitle, AppSidebar, AppSidebarProps, Area, AreaChart, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Bar, BarChart, BarList, BarListItem, BarListProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBlockProps, CalendarHeatmapBody, CalendarHeatmapBodyProps, CalendarHeatmapFooter, CalendarHeatmapFooterProps, CalendarHeatmapLegend, CalendarHeatmapLegendProps, CalendarHeatmapProps, CalendarHeatmapStat, CalendarHeatmapStatProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CartesianGrid, ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorConfig, ColumnResizeInfo, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataTable, DataTableActions, DataTableBody, DataTableBodyProps, type DataTableCell, type DataTableColumn, DataTableColumnActions, type DataTableColumnDef, DataTableColumnFilter, DataTableColumnHeader, DataTableColumnHeaderProps, DataTableColumnHeaderRoot, DataTableColumnSortMenu, DataTableColumnSortOptions, DataTableColumnTitle, type DataTableColumns, DataTableConfig, DataTableContainerProps, DataTableContext, DataTableContextState, DataTableEmptyActions, DataTableEmptyActionsProps, DataTableEmptyBody, DataTableEmptyBodyProps, DataTableEmptyDescription, DataTableEmptyDescriptionProps, DataTableEmptyFilteredMessage, DataTableEmptyFilteredMessageProps, DataTableEmptyIcon, DataTableEmptyIconProps, DataTableEmptyMessage, DataTableEmptyMessageProps, DataTableEmptyState, DataTableEmptyStateProps, DataTableEmptyTitle, DataTableEmptyTitleProps, DataTableErrorBoundary, DataTableErrorBoundaryProps, DataTableFacetedFilter, DataTableFacetedFilterContent, DataTableGroupRowContextValue, DataTableGroupRowProvider, DataTableGroupedRowCells, DataTableGroupedRows, DataTableGroupedRowsProps, DataTableHeader, type DataTableHeader$1 as DataTableHeaderCell, DataTableHeaderProps, type DataTableInstance, DataTableLoading, DataTableLoadingMore, DataTableLoadingMoreProps, DataTableLoadingProps, DataTableProvider, DataTableRoot, type DataTableRow, DataTableRowContextMenu, DataTableRowContextMenuProps, DataTableRowContextMenuSlot, DataTableRowContextMenuSlotProps, DataTableRowMenuScope, DataTableSkeleton, DataTableSkeletonProps, DataTableToolbarSection, DataTableToolbarSectionProps, Delta, DeltaProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type ExtendedColumnFilter, type ExtendedColumnSort, type FilterOperator, type FilterOperatorValues, type FilterVariant, type FilterVariantValues, FlashCellRef, FlashCells, FlashRows, FlashRowsOptions, Formatters, type GlobalFilter, GroupedBodyRow, GroupedBodyRowProps, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, type JoinOperator, type JoinOperatorValues, Labels, Line, LineChart, LocalTime, LocalTimeProps, NavMain, NavProjects, NavUser, type Option, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, PriceChartProps, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, type QueryKeys, ReferenceLine, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, ScrollAlign, ScrollArea, ScrollBar, type ScrollEvent, ScrollRowIntoView, SectionCard, SectionCards, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiyahiLocale, SiyahiProvider, SiyahiProviderProps, Skeleton, Slider, StatusActivity, StatusColorConfig, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBlockProps, StatusHeatmapBody, StatusHeatmapBodyProps, StatusHeatmapFooter, StatusHeatmapFooterProps, StatusHeatmapLabels, StatusHeatmapLegend, StatusHeatmapLegendProps, StatusHeatmapProps, StatusHeatmapStat, StatusHeatmapStatProps, StatusValue, Table, TableBody, TableCaption, TableCell, TableColumnActions, TableColumnActionsProps, TableColumnSortMenu, TableColumnSortOptions, TableColumnTitle, TableFacetedFilter, TableFacetedFilterContent, TableFacetedFilterProps, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TeamSwitcher, Textarea, TimeOptions, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Treemap, TreemapItem, TreemapProps, type ValueOf, type ColorConfig$1 as WeekdayColorConfig, type WeekdayExtraColumnSpec, type WeekdayExtraRowSpec, WeekdayHeatmap, WeekdayHeatmapBlock, type WeekdayHeatmapBlockProps, WeekdayHeatmapBody, type WeekdayHeatmapBodyProps, WeekdayHeatmapFooter, type WeekdayHeatmapFooterProps, type WeekdayHeatmapLabels, WeekdayHeatmapLegend, type WeekdayHeatmapLegendProps, type WeekdayHeatmapProps, WeekdayHeatmapStat, type WeekdayHeatmapStatProps, type WeekdayHour, type WeekdayHourlyActivity, type WeekdayIndex, XAxis, YAxis, badgeVariants, buttonVariants, defaultLocale, flashCellKey, money, moneyCompact, pct, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, tabsListVariants, time, toggleVariants, useColumnHeaderContext, useColumnResizeInfo, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useFormat, useLocale, useResolvedRowContextMenuRenderer, useSidebar, useTableFacetedFilter };
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "./components/ui/accordion.js";
1
2
  import { Alert, AlertAction, AlertDescription, AlertTitle } from "./components/ui/alert.js";
2
3
  import { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage } from "./components/ui/avatar.js";
3
4
  import { Badge, badgeVariants } from "./components/ui/badge.js";
@@ -68,4 +69,4 @@ import { LocalTime } from "./components/siyahi/local-time.js";
68
69
  import { PriceChart } from "./components/siyahi/price-chart.js";
69
70
  import { Treemap } from "./components/siyahi/treemap.js";
70
71
  import { Area, AreaChart, Bar, BarChart, CartesianGrid, Line, LineChart, ReferenceLine, XAxis, YAxis } from "./lib/recharts.js";
71
- export { Alert, AlertAction, AlertDescription, AlertTitle, AppSidebar, Area, AreaChart, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Bar, BarChart, BarList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBody, CalendarHeatmapFooter, CalendarHeatmapLegend, CalendarHeatmapStat, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CartesianGrid, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataTable, DataTableActions, DataTableBody, DataTableColumnActions, DataTableColumnFilter, DataTableColumnHeader, DataTableColumnHeaderRoot, DataTableColumnSortMenu, DataTableColumnSortOptions, DataTableColumnTitle, DataTableContext, DataTableEmptyActions, DataTableEmptyBody, DataTableEmptyDescription, DataTableEmptyFilteredMessage, DataTableEmptyIcon, DataTableEmptyMessage, DataTableEmptyState, DataTableEmptyTitle, DataTableErrorBoundary, DataTableFacetedFilter, DataTableFacetedFilterContent, DataTableGroupRowProvider, DataTableGroupedRowCells, DataTableGroupedRows, DataTableHeader, DataTableLoading, DataTableLoadingMore, DataTableProvider, DataTableRoot, DataTableRowContextMenu, DataTableRowContextMenuSlot, DataTableRowMenuScope, DataTableSkeleton, DataTableToolbarSection, Delta, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, GroupedBodyRow, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Line, LineChart, LocalTime, NavMain, NavProjects, NavUser, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, ReferenceLine, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, ScrollArea, ScrollBar, SectionCards, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiyahiProvider, Skeleton, Slider, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBody, StatusHeatmapFooter, StatusHeatmapLegend, StatusHeatmapStat, Table, TableBody, TableCaption, TableCell, TableColumnActions, TableColumnSortMenu, TableColumnSortOptions, TableColumnTitle, TableFacetedFilter, TableFacetedFilterContent, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TeamSwitcher, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Treemap, WeekdayHeatmap, WeekdayHeatmapBlock, WeekdayHeatmapBody, WeekdayHeatmapFooter, WeekdayHeatmapLegend, WeekdayHeatmapStat, XAxis, YAxis, badgeVariants, buttonVariants, defaultLocale, flashCellKey, money, moneyCompact, pct, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, tabsListVariants, time, toggleVariants, useColumnHeaderContext, useColumnResizeInfo, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useFormat, useLocale, useResolvedRowContextMenuRenderer, useSidebar, useTableFacetedFilter };
72
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertTitle, AppSidebar, Area, AreaChart, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Bar, BarChart, BarList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CalendarDayButton, CalendarHeatmap, CalendarHeatmapBlock, CalendarHeatmapBody, CalendarHeatmapFooter, CalendarHeatmapLegend, CalendarHeatmapStat, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CartesianGrid, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataTable, DataTableActions, DataTableBody, DataTableColumnActions, DataTableColumnFilter, DataTableColumnHeader, DataTableColumnHeaderRoot, DataTableColumnSortMenu, DataTableColumnSortOptions, DataTableColumnTitle, DataTableContext, DataTableEmptyActions, DataTableEmptyBody, DataTableEmptyDescription, DataTableEmptyFilteredMessage, DataTableEmptyIcon, DataTableEmptyMessage, DataTableEmptyState, DataTableEmptyTitle, DataTableErrorBoundary, DataTableFacetedFilter, DataTableFacetedFilterContent, DataTableGroupRowProvider, DataTableGroupedRowCells, DataTableGroupedRows, DataTableHeader, DataTableLoading, DataTableLoadingMore, DataTableProvider, DataTableRoot, DataTableRowContextMenu, DataTableRowContextMenuSlot, DataTableRowMenuScope, DataTableSkeleton, DataTableToolbarSection, Delta, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, GroupedBodyRow, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Line, LineChart, LocalTime, NavMain, NavProjects, NavUser, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PriceChart, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, ReferenceLine, RowMenuGroup, RowMenuItem, RowMenuLabel, RowMenuSeparator, RowMenuSub, RowMenuSubContent, RowMenuSubTrigger, ScrollArea, ScrollBar, SectionCards, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiyahiProvider, Skeleton, Slider, StatusHeatmap, StatusHeatmapBlock, StatusHeatmapBody, StatusHeatmapFooter, StatusHeatmapLegend, StatusHeatmapStat, Table, TableBody, TableCaption, TableCell, TableColumnActions, TableColumnSortMenu, TableColumnSortOptions, TableColumnTitle, TableFacetedFilter, TableFacetedFilterContent, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TeamSwitcher, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Treemap, WeekdayHeatmap, WeekdayHeatmapBlock, WeekdayHeatmapBody, WeekdayHeatmapFooter, WeekdayHeatmapLegend, WeekdayHeatmapStat, XAxis, YAxis, badgeVariants, buttonVariants, defaultLocale, flashCellKey, money, moneyCompact, pct, resolveGroupedRowsSlot, resolveRowContextMenuRenderer, tabsListVariants, time, toggleVariants, useColumnHeaderContext, useColumnResizeInfo, useDataTable, useDataTableActiveCell, useDataTableActiveCellSetter, useDataTableGroupRow, useDataTableRow, useFormat, useLocale, useResolvedRowContextMenuRenderer, useSidebar, useTableFacetedFilter };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@siyahi/ui",
3
- "version": "0.1.5-next.1",
3
+ "version": "0.1.7-next.1",
4
4
  "description": "Stock shadcn/ui on Base UI and Tailwind v4, a finance theme, a few compositions and formatters.",
5
5
  "keywords": [
6
6
  "base-ui",