@rafal.lemieszewski/tide-ui 0.85.1 → 0.87.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.
- package/dist/cjs/components/fundamental/breadcrumb.cjs +1 -1
- package/dist/cjs/components/fundamental/button.cjs +1 -1
- package/dist/cjs/components/fundamental/calendar.cjs +1 -1
- package/dist/cjs/components/fundamental/country-dropdown.cjs +1 -1
- package/dist/cjs/components/fundamental/custom-icons.cjs +1 -1
- package/dist/cjs/components/fundamental/dialog.cjs +1 -1
- package/dist/cjs/components/fundamental/file-upload.cjs +1 -1
- package/dist/cjs/components/fundamental/icon.cjs +1 -1
- package/dist/cjs/components/fundamental/month-picker.cjs +1 -1
- package/dist/cjs/components/fundamental/pagination.cjs +1 -1
- package/dist/cjs/components/fundamental/select.cjs +1 -1
- package/dist/cjs/components/fundamental/separator.cjs +1 -1
- package/dist/cjs/components/fundamental/sidebar.cjs +1 -1
- package/dist/cjs/components/fundamental/toast.cjs +1 -1
- package/dist/cjs/components/fundamental/tree.cjs +1 -1
- package/dist/cjs/components/product/app-frame.cjs +1 -1
- package/dist/cjs/components/product/attributes-list.cjs +1 -1
- package/dist/cjs/components/product/bookmarks.cjs +1 -1
- package/dist/cjs/components/product/data-table-settings-menu.cjs +1 -1
- package/dist/cjs/components/product/data-table.cjs +1 -1
- package/dist/cjs/components/product/filters.cjs +1 -1
- package/dist/cjs/components/product/fixture-status.cjs +1 -1
- package/dist/cjs/components/product/linked-chart.cjs +1 -1
- package/dist/cjs/components/product/view-mode-menu.cjs +1 -1
- package/dist/es/components/fundamental/button.js +10 -9
- package/dist/es/components/fundamental/calendar.js +18 -17
- package/dist/es/components/fundamental/custom-icons.js +283 -517
- package/dist/es/components/fundamental/dialog.js +25 -24
- package/dist/es/components/fundamental/file-upload.js +17 -16
- package/dist/es/components/fundamental/icon.js +68 -147
- package/dist/es/components/fundamental/month-picker.js +21 -20
- package/dist/es/components/fundamental/pagination.js +44 -43
- package/dist/es/components/fundamental/select.js +40 -39
- package/dist/es/components/fundamental/separator.js +11 -10
- package/dist/es/components/fundamental/sidebar.js +85 -84
- package/dist/es/components/fundamental/toast.js +8 -7
- package/dist/es/components/product/app-frame.js +83 -82
- package/dist/es/components/product/attributes-list.js +61 -60
- package/dist/es/components/product/bookmarks.js +170 -169
- package/dist/es/components/product/data-table-settings-menu.js +38 -37
- package/dist/es/components/product/data-table.js +374 -373
- package/dist/es/components/product/filters.js +93 -92
- package/dist/es/components/product/fixture-status.js +89 -87
- package/dist/es/components/product/linked-chart.js +54 -53
- package/dist/es/components/product/view-mode-menu.js +176 -175
- package/dist/types/components/core-index.d.cts +1 -1
- package/dist/types/components/core-index.d.ts +1 -1
- package/dist/types/components/fundamental/custom-icons.d.ts +32 -36
- package/dist/types/components/fundamental/dropdown-menu.d.ts +2 -1
- package/dist/types/components/fundamental/icon.d.ts +1 -3
- package/dist/types/components/index.d.ts +2 -1
- package/dist/types/components/product/fixture-status.d.ts +2 -2
- package/dist/types/lib/index.d.cts +1 -1
- package/dist/types/lib/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("react"),X=require("../fundamental/button.cjs"),j=require("../fundamental/dropdown-menu.cjs"),t=require("../fundamental/select.cjs"),Y=require("../fundamental/toggle.cjs"),S=require("../fundamental/tabs.cjs"),$=require("../fundamental/switch.cjs"),K=require("../fundamental/label.cjs"),x=require("../fundamental/icon.cjs"),m=require("lucide-react"),ee=require("../fundamental/input.cjs");function se(r){if(!r)return null;try{const c=localStorage.getItem(r);return c?JSON.parse(c):null}catch{return null}}function te(r,c){if(r)try{localStorage.setItem(r,JSON.stringify(c))}catch(o){console.warn("Failed to save settings to localStorage:",o)}}function T(r="table",c=[]){return{viewMode:r,table:{sortDirection:"asc",visibleColumns:c.map(o=>o.id)},columns:{sortDirection:"asc"},folders:{sortDirection:"asc",showFoldersFirst:!1}}}function b(r){if(r?.directionOptions)return r.directionOptions;if(r?.dataType)switch(r.dataType){case"text":return{asc:"A to Z",desc:"Z to A"};case"number":return{asc:"Ascending",desc:"Descending"};case"date":return{asc:"Oldest first",desc:"Newest first"};case"boolean":return{asc:"False first",desc:"True first"}}return{asc:"Ascending",desc:"Descending"}}const V=u.forwardRef(function({persistenceKey:c,defaultViewMode:o="table",sortableColumns:v=[],groupableColumns:C=[],columns:d=[],columnsSortableColumns:f,columnsGroupableColumns:h,foldersSortableColumns:g,align:y="end",triggerClassName:D},M){const[n,i]=u.useState(()=>{const s=se(c);return s||T(o,d)}),[p,F]=u.useState("");u.useImperativeHandle(M,()=>({getSettings:()=>n,reset:()=>{i(T(o,d))}})),u.useEffect(()=>{te(c,n)},[n,c]),u.useEffect(()=>{n.viewMode==="columns"&&!n.columns.groupColumn&&h&&h.length>0&&i(s=>({...s,columns:{...s.columns,groupColumn:h[0].id}}))},[n.viewMode,n.columns.groupColumn,h]);const z=v.length>0,I=C.length>0,q=d.length>0,A=(f?.length??0)>0,w=(h?.length??0)>0,N=(g?.length??0)>0,W=1+(N?1:0)+(w?1:0)>1,L=p?d.filter(s=>s.label.toLowerCase().includes(p.toLowerCase())):d,O=d.length>=20,P=s=>{i(l=>({...l,viewMode:s}))},R=s=>{i(l=>({...l,table:{...l.table,sortColumn:s}}))},E=s=>{i(l=>({...l,table:{...l.table,sortDirection:s}}))},J=s=>{i(l=>({...l,table:{...l.table,groupColumn:s==="none"?void 0:s}}))},Z=(s,l)=>{i(a=>({...a,table:{...a.table,visibleColumns:l?[...a.table.visibleColumns,s]:a.table.visibleColumns.filter(U=>U!==s)}}))},B=s=>{i(l=>({...l,columns:{...l.columns,sortColumn:s}}))},G=s=>{i(l=>({...l,columns:{...l.columns,sortDirection:s}}))},H=s=>{i(l=>({...l,columns:{...l.columns,groupColumn:s==="none"?void 0:s}}))},_=s=>{i(l=>({...l,folders:{...l.folders,sortColumn:s}}))},k=s=>{i(l=>({...l,folders:{...l.folders,sortDirection:s}}))},Q=s=>{i(l=>({...l,folders:{...l.folders,showFoldersFirst:s}}))};return e.jsxs(j.DropdownMenu,{children:[e.jsx(j.DropdownMenuTrigger,{asChild:!0,children:e.jsx(X.Button,{size:"m",icon:"settings",className:D})}),e.jsxs(j.DropdownMenuContent,{align:y,className:"w-72 max-w-[90vw]",children:[W&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"px-3 pt-3 pb-2",children:[e.jsx("h3",{className:"text-label-sm text-[var(--color-text-tertiary)] mb-2",children:"View mode"}),e.jsx(S.Tabs,{value:n.viewMode,onValueChange:P,children:e.jsxs(S.TabsList,{variant:"pilled",size:"s",fullWidth:!0,children:[e.jsx(S.TabsTrigger,{variant:"pilled",size:"s",fullWidth:!0,value:"table",children:"Table"}),N&&e.jsx(S.TabsTrigger,{variant:"pilled",size:"s",fullWidth:!0,value:"folders",children:"Folders"}),w&&e.jsx(S.TabsTrigger,{variant:"pilled",size:"s",fullWidth:!0,value:"columns",children:"Columns"})]})})]}),e.jsx(j.DropdownMenuSeparator,{})]}),e.jsxs("div",{className:"p-3",children:[n.viewMode==="table"&&e.jsxs("div",{className:"space-y-4",children:[z&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Sorting"}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs(t.Select,{value:n.table.sortColumn,onValueChange:R,children:[e.jsx(t.SelectTrigger,{size:"s",children:e.jsx(t.SelectValue,{placeholder:"Select column to sort"})}),e.jsx(t.SelectContent,{children:v.map(s=>e.jsx(t.SelectItem,{value:s.id,children:s.label},s.id))})]}),n.table.sortColumn&&e.jsxs(t.Select,{value:n.table.sortDirection,onValueChange:s=>E(s),children:[e.jsx(t.SelectTrigger,{size:"s",children:e.jsx(t.SelectValue,{})}),e.jsx(t.SelectContent,{children:(()=>{const s=v.find(a=>a.id===n.table.sortColumn),l=b(s);return e.jsxs(e.Fragment,{children:[e.jsx(t.SelectItem,{value:"asc",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x.Icon,{name:m.ArrowDownNarrowWide,size:"s"}),e.jsx("span",{children:l.asc})]})}),e.jsx(t.SelectItem,{value:"desc",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x.Icon,{name:m.ArrowDownWideNarrow,size:"s"}),e.jsx("span",{children:l.desc})]})})]})})()})]})]})]}),I&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Grouping"}),e.jsxs(t.Select,{value:n.table.groupColumn||"none",onValueChange:J,children:[e.jsx(t.SelectTrigger,{size:"s",children:e.jsx(t.SelectValue,{placeholder:"Select column to group by"})}),e.jsxs(t.SelectContent,{children:[e.jsx(t.SelectItem,{value:"none",children:"None"}),C.map(s=>e.jsx(t.SelectItem,{value:s.id,children:s.label},s.id))]})]})]}),q&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Display columns"}),O&&e.jsx(ee.Input,{type:"search",size:"s",placeholder:"Search columns...",value:p,onChange:s=>F(s.target.value)}),e.jsx("div",{className:"flex flex-wrap items-start justify-start gap-1 max-h-[190px] overflow-y-auto",children:L.map(s=>{const l=n.table.visibleColumns.includes(s.id);return e.jsx(Y.Toggle,{variant:"outline",size:"s",pressed:l,onPressedChange:a=>{Z(s.id,a)},children:s.label},s.id)})})]})]}),n.viewMode==="folders"&&g&&g.length>0&&e.jsx(e.Fragment,{children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Sorting"}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs(t.Select,{value:n.folders.sortColumn,onValueChange:_,children:[e.jsx(t.SelectTrigger,{size:"s",children:e.jsx(t.SelectValue,{placeholder:"Select column"})}),e.jsx(t.SelectContent,{children:g.map(s=>e.jsx(t.SelectItem,{value:s.id,children:s.label},s.id))})]}),n.folders.sortColumn&&e.jsxs(t.Select,{value:n.folders.sortDirection,onValueChange:s=>k(s),children:[e.jsx(t.SelectTrigger,{size:"s",children:e.jsx(t.SelectValue,{})}),e.jsx(t.SelectContent,{children:(()=>{const s=g.find(a=>a.id===n.folders.sortColumn),l=b(s);return e.jsxs(e.Fragment,{children:[e.jsx(t.SelectItem,{value:"asc",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x.Icon,{name:m.ArrowDownNarrowWide,size:"s"}),e.jsx("span",{children:l.asc})]})}),e.jsx(t.SelectItem,{value:"desc",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x.Icon,{name:m.ArrowDownWideNarrow,size:"s"}),e.jsx("span",{children:l.desc})]})})]})})()})]})]})]})}),n.viewMode==="columns"&&e.jsxs("div",{className:"space-y-4",children:[w&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Grouping"}),e.jsxs(t.Select,{value:n.columns.groupColumn||"none",onValueChange:H,children:[e.jsx(t.SelectTrigger,{size:"s",children:e.jsx(t.SelectValue,{placeholder:"Select column to group by"})}),e.jsxs(t.SelectContent,{children:[e.jsx(t.SelectItem,{value:"none",children:"None"}),h?.map(s=>e.jsx(t.SelectItem,{value:s.id,children:s.label},s.id))]})]})]}),A&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Sorting"}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs(t.Select,{value:n.columns.sortColumn,onValueChange:B,children:[e.jsx(t.SelectTrigger,{size:"s",children:e.jsx(t.SelectValue,{placeholder:"Select column to sort"})}),e.jsx(t.SelectContent,{children:f?.map(s=>e.jsx(t.SelectItem,{value:s.id,children:s.label},s.id))})]}),n.columns.sortColumn&&e.jsxs(t.Select,{value:n.columns.sortDirection,onValueChange:s=>G(s),children:[e.jsx(t.SelectTrigger,{size:"s",children:e.jsx(t.SelectValue,{})}),e.jsx(t.SelectContent,{children:(()=>{const s=f?.find(a=>a.id===n.columns.sortColumn),l=b(s);return e.jsxs(e.Fragment,{children:[e.jsx(t.SelectItem,{value:"asc",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x.Icon,{name:m.ArrowDownNarrowWide,size:"s"}),e.jsx("span",{children:l.asc})]})}),e.jsx(t.SelectItem,{value:"desc",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x.Icon,{name:m.ArrowDownWideNarrow,size:"s"}),e.jsx("span",{children:l.desc})]})})]})})()})]})]})]})]})]}),n.viewMode==="folders"&&e.jsxs(e.Fragment,{children:[e.jsx(j.DropdownMenuSeparator,{}),e.jsx("div",{className:"p-3",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(K.Label,{htmlFor:"folders-first",children:"Show folders first"}),e.jsx($.Switch,{id:"folders-first",checked:n.folders.showFoldersFirst,onCheckedChange:Q})]})})]})]})]})});V.displayName="ViewModeMenu";exports.ViewModeMenu=V;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsxs as P, jsx as c } from "react/jsx-runtime";
|
|
2
2
|
import N from "react";
|
|
3
3
|
import { cva as j } from "class-variance-authority";
|
|
4
|
-
import {
|
|
4
|
+
import { ChevronDown as D, Loader2 as I } from "lucide-react";
|
|
5
|
+
import { cn as V } from "../../lib/utils.js";
|
|
5
6
|
import { Icon as d } from "./icon.js";
|
|
6
|
-
const
|
|
7
|
+
const B = j(
|
|
7
8
|
"inline-flex items-center justify-center relative transition-all duration-150 ease-in-out focus:outline-none cursor-pointer select-none disabled:cursor-not-allowed gap-[var(--space-xs)] whitespace-nowrap",
|
|
8
9
|
{
|
|
9
10
|
variants: {
|
|
@@ -129,7 +130,7 @@ const V = j(
|
|
|
129
130
|
iconPosition: "none"
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
|
-
),
|
|
133
|
+
), C = /* @__PURE__ */ N.forwardRef(
|
|
133
134
|
({
|
|
134
135
|
className: u,
|
|
135
136
|
variant: o,
|
|
@@ -144,7 +145,7 @@ const V = j(
|
|
|
144
145
|
type: f = "button",
|
|
145
146
|
...x
|
|
146
147
|
}, h) => {
|
|
147
|
-
const l = b || "m", v = m || e, n = v ? "disabled" : o === "primary" || o === "destructive" || o === "success" ? "inverse" : "primary", y = () => e ? /* @__PURE__ */ c(d, { name:
|
|
148
|
+
const l = b || "m", v = m || e, n = v ? "disabled" : o === "primary" || o === "destructive" || o === "success" ? "inverse" : "primary", y = () => e ? /* @__PURE__ */ c(d, { name: I, size: l, color: n, className: "animate-spin" }) : null, t = () => e ? y() : a ? /* @__PURE__ */ c(d, { name: a, size: l, color: n }) : null, z = () => i ? /* @__PURE__ */ c(d, { name: D, size: l, color: n }) : null, r = a && s ? p : a || e ? "only" : e && s ? "left" : "none", w = i ? {
|
|
148
149
|
"aria-haspopup": "menu",
|
|
149
150
|
"aria-expanded": g
|
|
150
151
|
} : {}, k = e ? {
|
|
@@ -155,8 +156,8 @@ const V = j(
|
|
|
155
156
|
"button",
|
|
156
157
|
{
|
|
157
158
|
type: f,
|
|
158
|
-
className:
|
|
159
|
-
|
|
159
|
+
className: V(
|
|
160
|
+
B({
|
|
160
161
|
variant: o,
|
|
161
162
|
size: b,
|
|
162
163
|
iconPosition: r,
|
|
@@ -179,8 +180,8 @@ const V = j(
|
|
|
179
180
|
);
|
|
180
181
|
}
|
|
181
182
|
);
|
|
182
|
-
|
|
183
|
+
C.displayName = "Button";
|
|
183
184
|
export {
|
|
184
|
-
|
|
185
|
-
|
|
185
|
+
C as Button,
|
|
186
|
+
B as buttonVariants
|
|
186
187
|
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as x } from "react/jsx-runtime";
|
|
2
2
|
import * as y from "react";
|
|
3
|
-
import { DayPicker as
|
|
3
|
+
import { DayPicker as L } from "react-day-picker";
|
|
4
4
|
import { cn as m } from "../../lib/utils.js";
|
|
5
|
-
import { Icon as
|
|
6
|
-
|
|
5
|
+
import { Icon as M } from "./icon.js";
|
|
6
|
+
import { ChevronLeft as P, ChevronRight as H } from "lucide-react";
|
|
7
|
+
function B(i) {
|
|
7
8
|
const {
|
|
8
9
|
className: h,
|
|
9
10
|
classNames: w,
|
|
@@ -11,8 +12,8 @@ function H(i) {
|
|
|
11
12
|
mode: n,
|
|
12
13
|
...k
|
|
13
14
|
} = i, o = "selected" in i ? i.selected : void 0, s = "onSelect" in i ? i.onSelect : void 0, [r, v] = y.useState(null), [g, b] = y.useState(null), f = (e, t) => e.toDateString() === t.toDateString(), p = (e, t, c) => {
|
|
14
|
-
const u = e.getTime(), a = t.getTime(), d = c.getTime(), [E,
|
|
15
|
-
return u > E && u <
|
|
15
|
+
const u = e.getTime(), a = t.getTime(), d = c.getTime(), [E, I] = a < d ? [a, d] : [d, a];
|
|
16
|
+
return u > E && u < I;
|
|
16
17
|
}, S = (e, t) => {
|
|
17
18
|
if (!t.disabled && n === "range")
|
|
18
19
|
if (!r)
|
|
@@ -27,15 +28,15 @@ function H(i) {
|
|
|
27
28
|
n === "range" && r && !t.disabled && b(e);
|
|
28
29
|
}, D = () => {
|
|
29
30
|
n === "range" && b(null);
|
|
30
|
-
},
|
|
31
|
+
}, C = (e) => !r || !g ? !1 : p(e, r, g), R = (e) => r ? f(e, r) : !1, T = (e) => {
|
|
31
32
|
if (r || n !== "range" || !o || typeof o > "u") return !1;
|
|
32
33
|
const t = o;
|
|
33
34
|
return t.from ? f(e, t.from) : !1;
|
|
34
|
-
},
|
|
35
|
+
}, j = (e) => {
|
|
35
36
|
if (r || n !== "range" || !o || typeof o > "u") return !1;
|
|
36
37
|
const t = o;
|
|
37
38
|
return t.to ? f(e, t.to) : !1;
|
|
38
|
-
},
|
|
39
|
+
}, N = (e) => {
|
|
39
40
|
if (r || n !== "range" || !o || typeof o > "u") return !1;
|
|
40
41
|
const t = o;
|
|
41
42
|
return !t.from || !t.to ? !1 : p(e, t.from, t.to);
|
|
@@ -50,11 +51,11 @@ function H(i) {
|
|
|
50
51
|
onDayMouseEnter: z,
|
|
51
52
|
onDayMouseLeave: D,
|
|
52
53
|
modifiers: {
|
|
53
|
-
rangeStart:
|
|
54
|
-
rangePreview:
|
|
54
|
+
rangeStart: R,
|
|
55
|
+
rangePreview: C,
|
|
55
56
|
confirmedRangeStart: T,
|
|
56
|
-
confirmedRangeEnd:
|
|
57
|
-
inConfirmedRange:
|
|
57
|
+
confirmedRangeEnd: j,
|
|
58
|
+
inConfirmedRange: N
|
|
58
59
|
},
|
|
59
60
|
classNames: {
|
|
60
61
|
// months: no 'relative' so nav positions to root; horizontal margin creates space for side buttons
|
|
@@ -116,15 +117,15 @@ function H(i) {
|
|
|
116
117
|
},
|
|
117
118
|
components: {
|
|
118
119
|
Chevron: ({ orientation: e, ...t }) => {
|
|
119
|
-
const c = e === "left" ?
|
|
120
|
-
return /* @__PURE__ */ x(
|
|
120
|
+
const c = e === "left" ? P : H, { size: u, ...a } = t;
|
|
121
|
+
return /* @__PURE__ */ x(M, { name: c, size: "s", ...a });
|
|
121
122
|
}
|
|
122
123
|
},
|
|
123
124
|
...k
|
|
124
125
|
};
|
|
125
|
-
return n === "range" ? l.onDayClick = S : (l.mode = n, l.selected = o, l.onSelect = s), /* @__PURE__ */ x(
|
|
126
|
+
return n === "range" ? l.onDayClick = S : (l.mode = n, l.selected = o, l.onSelect = s), /* @__PURE__ */ x(L, { ...l });
|
|
126
127
|
}
|
|
127
|
-
|
|
128
|
+
B.displayName = "Calendar";
|
|
128
129
|
export {
|
|
129
|
-
|
|
130
|
+
B as Calendar
|
|
130
131
|
};
|