@i-vresse/haddock3-ui 0.1.9 → 0.2.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.
package/README.md CHANGED
@@ -36,7 +36,9 @@ export default {
36
36
  }
37
37
  ```
38
38
 
39
- If you are not using tailwindss, you can make css file that mimics the tailwind classes.
39
+ If you are not using tailwindss,
40
+ you can make use the included css file `import "@i-vresse/haddock3-ui/dist/index.css"`
41
+ (based on New York neutral [shadcn/ui theme](https://ui.shadcn.com/themeshttps://ui.shadcn.com/themes)).
40
42
 
41
43
  ## Usage
42
44
 
@@ -47,3 +49,10 @@ Once component is selected
47
49
  - use sliders icon button in footer to change props when available
48
50
 
49
51
  API documentation is available at [https://i-VRESSE.github.io/haddock3-ui/api/](https://i-VRESSE.github.io/haddock3-ui/api/)
52
+
53
+ ### Direct in browser
54
+
55
+ The components can be used directly in the browser, without your own build system.
56
+
57
+ [example.html](example.html) is a clustered table example which uses the latest library from npm using https://esm.sh/ for libray hosting.
58
+ [example-molviewer.html](example-molviewer.html) is a simple molecule viewer example.
@@ -0,0 +1,12 @@
1
+ import { type ReactNode } from "react";
2
+ export declare function DialogViewer({ url, children, labelTrigger, labelClose, classNameTrigger, classNameClose, classNameTitle, classNameDialog, }: {
3
+ url: string;
4
+ children?: ReactNode;
5
+ labelTrigger?: ReactNode;
6
+ labelClose?: ReactNode;
7
+ classNameTrigger?: string;
8
+ classNameClose?: string;
9
+ classNameTitle?: string;
10
+ classNameDialog?: string;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=DialogViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogViewer.d.ts","sourceRoot":"","sources":["../src/DialogViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAIjD,wBAAgB,YAAY,CAAC,EAC3B,GAAG,EACH,QAAQ,EACR,YAAqB,EACrB,UAAgB,EAChB,gBAAqB,EACrB,cAAmB,EACnB,cAAmB,EACnB,eAAoB,GACrB,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,2CA6DA"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { cn } from "./cn.js";
4
+ import { SimpleViewer } from "./molviewer.js";
5
+ export function DialogViewer({ url, children, labelTrigger = "Open", labelClose = "X", classNameTrigger = "", classNameClose = "", classNameTitle = "", classNameDialog = "", }) {
6
+ const [dialogOpen, setDialogOpen] = useState(false);
7
+ const fileName = url.split("/").pop();
8
+ let dialogBody = null;
9
+ if (dialogOpen) {
10
+ dialogBody = children ?? _jsx(SimpleViewer, { structure: url });
11
+ }
12
+ // TODO close dialog on escape key or click outside
13
+ return (_jsxs("div", { children: [_jsx("button", { className: cn(
14
+ // classes from https://ui.shadcn.com/docs/components/button
15
+ // base
16
+ "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
17
+ //size=default
18
+ "h-9 px-4 py-2",
19
+ // variant=secondary
20
+ "bg-gray-300 text-black shadow-sm hover:bg-gray-300/80", classNameTrigger), onClick: () => setDialogOpen(true), children: labelTrigger }), _jsxs("dialog", { open: dialogOpen, className: cn("w-3/4 h-3/4 fixed top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 drop-shadow-xl", classNameDialog), children: [_jsxs("div", { className: "w-full flex flex-row justify-between items-center", children: [_jsx("a", { className: cn("hover:underline m-2", classNameTitle), href: url, download: fileName, children: fileName }), _jsx("button", { className: cn(
21
+ // classes from https://ui.shadcn.com/docs/components/button
22
+ // base
23
+ "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
24
+ //size=default
25
+ "h-9 px-4 py-2",
26
+ // variant=ghost
27
+ "hover:bg-gray-300 hover:text-black",
28
+ // upper right corner
29
+ classNameClose), onClick: () => setDialogOpen(false), children: labelClose })] }), dialogBody] })] }));
30
+ }
31
+ //# sourceMappingURL=DialogViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogViewer.js","sourceRoot":"","sources":["../src/DialogViewer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,UAAU,YAAY,CAAC,EAC3B,GAAG,EACH,QAAQ,EACR,YAAY,GAAG,MAAM,EACrB,UAAU,GAAG,GAAG,EAChB,gBAAgB,GAAG,EAAE,EACrB,cAAc,GAAG,EAAE,EACnB,cAAc,GAAG,EAAE,EACnB,eAAe,GAAG,EAAE,GAUrB;IACC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACtC,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,GAAG,QAAQ,IAAI,KAAC,YAAY,IAAC,SAAS,EAAE,GAAG,GAAI,CAAC;IAC5D,CAAC;IACD,mDAAmD;IACnD,OAAO,CACL,0BACE,iBACE,SAAS,EAAE,EAAE;gBACX,4DAA4D;gBAC5D,OAAO;gBACP,qOAAqO;gBACrO,cAAc;gBACd,eAAe;gBACf,oBAAoB;gBACpB,uDAAuD,EACvD,gBAAgB,CACjB,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,YAEjC,YAAY,GACN,EACT,kBACE,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,EAAE,CACX,+FAA+F,EAC/F,eAAe,CAChB,aAED,eAAK,SAAS,EAAC,mDAAmD,aAChE,YACE,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,cAAc,CAAC,EACpD,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,QAAQ,YAEjB,QAAQ,GACP,EACJ,iBACE,SAAS,EAAE,EAAE;gCACX,4DAA4D;gCAC5D,OAAO;gCACP,qOAAqO;gCACrO,cAAc;gCACd,eAAe;gCACf,gBAAgB;gCAChB,oCAAoC;gCACpC,qBAAqB;gCACrB,cAAc,CACf,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,YAElC,UAAU,GACJ,IACL,EACL,UAAU,IACJ,IACL,CACP,CAAC;AACJ,CAAC"}
package/dist/hetero.d.ts CHANGED
@@ -10,6 +10,8 @@ export interface Hetero {
10
10
  /**
11
11
  * Retrieve hetero residues from a PDB file.
12
12
  *
13
+ * Only heteros from first assembly are returned.
14
+ *
13
15
  * @param file PDB file to read from
14
16
  * @returns List of hetero residues
15
17
  */
@@ -27,7 +29,7 @@ export declare function hetGrep(pdb: string, hetUnpadded: string, chain: string,
27
29
  /**
28
30
  * Filters and extracts specific lines from a PDB file based on the given criteria.
29
31
  *
30
- * @param pdb - The PDB file.
32
+ * @param file - The PDB file.
31
33
  * @param hetUnpadded - Name of hetero residues to keep. For example ATP.
32
34
  * @param chain - The chain identifier of the hetero residue to keep.
33
35
  * @param sequenceNr - The sequence number of the hetero residue to keep.
@@ -1 +1 @@
1
- {"version":3,"file":"hetero.d.ts","sourceRoot":"","sources":["../src/hetero.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAoBD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgCnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,MAAM,CAoCR;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAIf"}
1
+ {"version":3,"file":"hetero.d.ts","sourceRoot":"","sources":["../src/hetero.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAoBD;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgCnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,MAAM,CAoCR;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAIf"}
package/dist/hetero.js CHANGED
@@ -14,6 +14,8 @@ function getAllowedChains(structure) {
14
14
  /**
15
15
  * Retrieve hetero residues from a PDB file.
16
16
  *
17
+ * Only heteros from first assembly are returned.
18
+ *
17
19
  * @param file PDB file to read from
18
20
  * @returns List of hetero residues
19
21
  */
@@ -92,7 +94,7 @@ export function hetGrep(pdb, hetUnpadded, chain, sequenceNr) {
92
94
  /**
93
95
  * Filters and extracts specific lines from a PDB file based on the given criteria.
94
96
  *
95
- * @param pdb - The PDB file.
97
+ * @param file - The PDB file.
96
98
  * @param hetUnpadded - Name of hetero residues to keep. For example ATP.
97
99
  * @param chain - The chain identifier of the hetero residue to keep.
98
100
  * @param sequenceNr - The sequence number of the hetero residue to keep.
@@ -1 +1 @@
1
- {"version":3,"file":"hetero.js","sourceRoot":"","sources":["../src/hetero.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hetero.js","sourceRoot":"","sources":["../src/hetero.ts"],"names":[],"mappings":"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"}
package/dist/index.css ADDED
@@ -0,0 +1 @@
1
+ /*! tailwindcss v3.4.6 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 3.9%;--radius:0.3rem;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%}.dark{--background:0 0% 3.9%;--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--input:0 0% 14.9%;--ring:0 0% 83.1%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-1\/2{left:50%}.right-4{right:1rem}.top-1\/2{top:50%}.top-2{top:.5rem}.z-10{z-index:10}.m-2{margin:.5rem}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-3\/4{height:75%}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-\[3rem\]{height:3rem}.h-\[4\.5rem\]{height:4.5rem}.h-auto{height:auto}.h-full{height:100%}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-full{width:100%}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-secondary{background-color:hsl(var(--secondary))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-1{padding-left:.25rem}.pr-1{padding-right:.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[0\.5rem\]{font-size:.5rem}.text-\[0\.8rem\]{font-size:.8rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-inherit{color:inherit}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-25{opacity:.25}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px #00000008) drop-shadow(0 8px 5px #00000014)}.drop-shadow-xl,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.hover\:bg-gray-300\/80:hover{background-color:#d1d5dbcc}.hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.hover\:text-secondary-foreground:hover{color:hsl(var(--secondary-foreground))}.hover\:underline:hover{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid #0000;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:bg-green-700:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.dark\:bg-inherit:where(.dark,.dark *){background-color:inherit}.dark\:bg-secondary-foreground:where(.dark,.dark *){background-color:hsl(var(--secondary-foreground))}.dark\:bg-yellow-700:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity))}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}
@@ -1,4 +1,4 @@
1
- import { Stage, StructureComponent, type StructureRepresentationType } from "ngl";
1
+ import { Stage, type StructureComponent, type StructureRepresentationType } from "ngl";
2
2
  import { type ErrorInfo, Component as ReactComponent, type ReactNode } from "react";
3
3
  import type { Hetero } from "./hetero.js";
4
4
  /**
@@ -71,11 +71,12 @@ export declare function useComponent(): StructureComponent;
71
71
  * List from https://github.com/nglviewer/ngl/blob/5d64dbe6769448e0f33080e9ac957a70a0973a13/src/component/structure-component.ts#L52-L79
72
72
  */
73
73
  export declare const defaultRepresentationNames: Set<string>;
74
- export declare function NGLComponent({ structure, chain, opacity, children, }: {
75
- structure: File;
76
- chain: string;
74
+ export declare function NGLComponent({ structure, chain, opacity, children, defaultRepresentation, }: {
75
+ structure: File | string;
76
+ chain?: string;
77
77
  opacity?: number;
78
78
  children?: ReactNode;
79
+ defaultRepresentation?: boolean;
79
80
  }): import("react/jsx-runtime").JSX.Element;
80
81
  export declare function NGLStage({ onMouseLeave, onPick, onHover, children, }: {
81
82
  children: ReactNode;
@@ -114,8 +115,11 @@ export declare function NGLSurface({ active, passive, neighbours, highlight, act
114
115
  /**
115
116
  * Component to render PDB file with NGL using its default representations.
116
117
  */
117
- export declare function SimpleViewer({ structure }: {
118
- structure: File;
118
+ export declare function SimpleViewer({ structure, chain, defaultRepresentation, opacity, }: {
119
+ structure: File | string;
120
+ chain?: string;
121
+ defaultRepresentation?: boolean;
122
+ opacity?: number;
119
123
  }): import("react/jsx-runtime").JSX.Element;
120
124
  export declare function Viewer({ structure, chain, active, passive, renderSelectionAs, surface, neighbours, higlightResidue, onPick, onHover, onMouseLeave, selectionOpacity, theme, }: {
121
125
  structure: File;
@@ -1 +1 @@
1
- {"version":3,"file":"molviewer.d.ts","sourceRoot":"","sources":["../src/molviewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"molviewer.d.ts","sourceRoot":"","sources":["../src/molviewer.tsx"],"names":[],"mappings":"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"}
package/dist/molviewer.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ColormakerRegistry, Component, PickingProxy, Stage, Structure, StructureComponent, } from "ngl";
2
+ import { ColormakerRegistry, Stage, } from "ngl";
3
3
  import { Component as ReactComponent, createContext, useCallback, useContext, useEffect, useId, useMemo, useState, } from "react";
4
4
  // TODO split in more files
5
5
  /**
@@ -174,25 +174,28 @@ export const defaultRepresentationNames = new Set([
174
174
  "unitcell",
175
175
  "validation",
176
176
  ]);
177
- export function NGLComponent({ structure, chain, opacity = 1.0, children, }) {
177
+ export function NGLComponent({ structure, chain = "", opacity = 1.0, children, defaultRepresentation = true, }) {
178
178
  const stage = useStage();
179
179
  const [component, setComponent] = useState(undefined);
180
180
  useEffect(() => {
181
181
  async function loadStructure() {
182
- stage.getComponentsByName(structure.name).dispose();
183
- const newComponent = await stage.loadFile(structure);
182
+ const name = typeof structure === "string" ? structure : structure.name;
183
+ stage.getComponentsByName(name).dispose();
184
+ const newComponent = await stage.loadFile(structure, {
185
+ defaultRepresentation,
186
+ });
184
187
  if (!newComponent) {
185
188
  return;
186
189
  }
187
- stage.defaultFileRepresentation(newComponent);
188
190
  stage.autoView();
189
191
  setComponent(newComponent);
190
192
  }
191
193
  loadStructure();
192
194
  return () => {
193
- stage.getComponentsByName(structure.name).dispose();
195
+ const name = typeof structure === "string" ? structure : structure.name;
196
+ stage.getComponentsByName(name).dispose();
194
197
  };
195
- }, [stage, structure]);
198
+ }, [stage, structure, defaultRepresentation]);
196
199
  useEffect(() => {
197
200
  if (!component) {
198
201
  return;
@@ -282,7 +285,7 @@ export function NGLStage({ onMouseLeave = () => { }, onPick, onHover, children,
282
285
  }
283
286
  };
284
287
  }, [stage, onHoverCallback]);
285
- return (_jsxs("div", { className: "relative h-full w-full overflow-hidden", onMouseLeave: onMouseLeave, children: [_jsx("div", { ref: stageElementRef, className: "h-full w-full " }), stage && (_jsxs(_Fragment, { children: [_jsx("div", { className: "absolute right-2 top-2 z-10", children: _jsx("span", { title: "Center all", className: "h-5 w-5 cursor-pointer", onClick: (e) => {
288
+ return (_jsxs("div", { className: "relative h-full w-full overflow-hidden", onMouseLeave: onMouseLeave, children: [_jsx("div", { ref: stageElementRef, className: "h-full w-full " }), stage && (_jsxs(_Fragment, { children: [_jsx("div", { className: "absolute right-4 top-2 z-10", children: _jsx("span", { title: "Center all", className: "h-5 w-5 cursor-pointer", onClick: (e) => {
286
289
  e.preventDefault();
287
290
  stage.autoView();
288
291
  }, children: "\u25CE" }) }), _jsx(StageReactContext.Provider, { value: stage, children: children })] }))] }));
@@ -362,8 +365,8 @@ export function NGLSurface({ active = [], passive = [], neighbours = [], highlig
362
365
  /**
363
366
  * Component to render PDB file with NGL using its default representations.
364
367
  */
365
- export function SimpleViewer({ structure }) {
366
- return (_jsx(ErrorBoundary, { children: _jsx(NGLStage, { children: _jsx(NGLComponent, { structure: structure, chain: "" }) }) }));
368
+ export function SimpleViewer({ structure, chain = "", defaultRepresentation = true, opacity = 1.0, }) {
369
+ return (_jsx(ErrorBoundary, { children: _jsx(NGLStage, { children: _jsx(NGLComponent, { structure: structure, chain: chain, defaultRepresentation: defaultRepresentation, opacity: opacity }) }) }));
367
370
  }
368
371
  export function Viewer({ structure, chain, active, passive, renderSelectionAs = "surface", surface, neighbours = [], higlightResidue, onPick, onHover, onMouseLeave = () => { }, selectionOpacity = 0.5, theme = "light", }) {
369
372
  const isDark = theme === "dark";
@@ -397,6 +400,6 @@ export function LigandViewer({ structure, selected, onPick, onHover, highlight,
397
400
  function onLigandHover(chain, residue, _componentName, resname) {
398
401
  onHover(`${resname}-${chain}-${residue}`);
399
402
  }
400
- return (_jsx(ErrorBoundary, { children: _jsx(NGLStage, { onMouseLeave: onMouseLeave, onHover: onLigandHover, onPick: onLigandPick, children: _jsx(NGLComponent, { structure: structure, chain: "", opacity: opacity, children: representations }) }) }));
403
+ return (_jsx(ErrorBoundary, { children: _jsx(NGLStage, { onMouseLeave: onMouseLeave, onHover: onLigandHover, onPick: onLigandPick, children: _jsx(NGLComponent, { structure: structure, opacity: opacity, children: representations }) }) }));
401
404
  }
402
405
  //# sourceMappingURL=molviewer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"molviewer.js","sourceRoot":"","sources":["../src/molviewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"molviewer.js","sourceRoot":"","sources":["../src/molviewer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { DataItem, Header } from "./SortableTable.js";
2
+ export interface Cluster extends DataItem {
3
+ rank: number;
4
+ size: number;
5
+ }
6
+ export declare function ClusterTable({ clusters, headers, }: {
7
+ clusters: Cluster[];
8
+ headers: Header[];
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=ClusterTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusterTable.d.ts","sourceRoot":"","sources":["../../src/table/ClusterTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,OAAQ,SAAQ,QAAQ;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,2CAEA"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { SortableTable } from "./SortableTable.js";
3
+ export function ClusterTable({ clusters, headers, }) {
4
+ return _jsx(SortableTable, { data: clusters, headers: headers, orientation: "left" });
5
+ }
6
+ //# sourceMappingURL=ClusterTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusterTable.js","sourceRoot":"","sources":["../../src/table/ClusterTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQnD,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAO,GAIR;IACC,OAAO,KAAC,aAAa,IAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAC,MAAM,GAAG,CAAC;AAChF,CAAC"}
@@ -0,0 +1,44 @@
1
+ export type SortDirection = "asc" | "desc";
2
+ export interface Header {
3
+ key: string;
4
+ label: string;
5
+ type?: "string" | "number" | "stats" | "structure";
6
+ sortable?: boolean;
7
+ sorted?: SortDirection;
8
+ }
9
+ export interface Stats {
10
+ mean: number;
11
+ std: number;
12
+ }
13
+ export interface DataItem {
14
+ [key: string]: number | string | Stats;
15
+ }
16
+ export interface SortState {
17
+ key: string;
18
+ direction: SortDirection;
19
+ }
20
+ type Orientation = "top" | "left";
21
+ /**
22
+ * Sorts the provided data array based on the given sort state and headers.
23
+ *
24
+ * @param data - The array of data items to be sorted.
25
+ * @param sortState - The current state of sorting, including the key to sort by and the direction.
26
+ * @param headers - The array of headers which includes metadata about each column.
27
+ * @returns A new array of data items sorted according to the sort state and headers.
28
+ */
29
+ export declare function sortData(data: DataItem[], sortState: SortState, headers: Header[]): DataItem[];
30
+ export declare function itemKeyFinder(item: DataItem, itemKey: string): string;
31
+ export declare function SortableTable({ orientation, headers, data, className, tableClassName, theadClassName, tbodyClassName, trClassName, thClassName, tdClassName, }: {
32
+ orientation?: Orientation;
33
+ headers: Header[];
34
+ data: DataItem[];
35
+ className?: string;
36
+ tableClassName?: string;
37
+ theadClassName?: string;
38
+ tbodyClassName?: string;
39
+ trClassName?: string;
40
+ thClassName?: string;
41
+ tdClassName?: string;
42
+ }): import("react/jsx-runtime").JSX.Element;
43
+ export {};
44
+ //# sourceMappingURL=SortableTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortableTable.d.ts","sourceRoot":"","sources":["../../src/table/SortableTable.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;CACxC;AAsHD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,KAAK,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;AAalC;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,QAAQ,EAAE,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EAAE,cAkBlB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAS5D;AAED,wBAAgB,aAAa,CAAC,EAC5B,WAAmB,EACnB,OAAO,EACP,IAAI,EACJ,SAAc,EACd,cAAmB,EACnB,cAAmB,EACnB,cAAmB,EACnB,WAAgB,EAChB,WAAgB,EAChB,WAAgB,GACjB,EAAE;IACD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,2CAgHA"}
@@ -0,0 +1,139 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useMemo, useState } from "react";
3
+ import { DialogViewer } from "../DialogViewer.js";
4
+ import { cn } from "../cn.js";
5
+ const defaultHeader = {
6
+ type: "number",
7
+ sortable: true,
8
+ };
9
+ function HeaderContent({ header, sortState, setSortState, orientation, className = "", }) {
10
+ const scope = orientation === "top" ? "col" : "row";
11
+ const header2 = { ...defaultHeader, ...header };
12
+ let icon = "";
13
+ const icons = {
14
+ top: {
15
+ asc: "↓",
16
+ desc: "↑",
17
+ both: "↕",
18
+ },
19
+ left: {
20
+ asc: "→",
21
+ desc: "←",
22
+ both: "⇄",
23
+ },
24
+ };
25
+ const thProps = {
26
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
27
+ onClick: () => { },
28
+ };
29
+ if (header.key === sortState.key) {
30
+ icon = icons[orientation][sortState.direction];
31
+ thProps.onClick = () => setSortState({
32
+ key: header.key,
33
+ direction: sortState.direction === "asc" ? "desc" : "asc",
34
+ });
35
+ }
36
+ else if (header2.sortable) {
37
+ icon = icons[orientation].both;
38
+ thProps.onClick = () => setSortState({
39
+ key: header.key,
40
+ direction: header.sorted || "asc",
41
+ });
42
+ }
43
+ return (_jsxs("th", { scope: scope, className: cn({ "cursor-pointer group": header2.sortable }, className), ...thProps, children: [_jsx("span", { children: header2.label }), _jsx("span", { children: "\u00A0" }), _jsx("span", { className: cn({
44
+ "opacity-25 group-hover:opacity-100": header2.sortable && header.key !== sortState.key,
45
+ }), children: icon })] }));
46
+ }
47
+ function CellContent({ data, header, }) {
48
+ const cell = data[header.key];
49
+ const header2 = { ...defaultHeader, ...header };
50
+ if (cell === null || cell === undefined) {
51
+ return _jsx(_Fragment, { children: "NA" });
52
+ }
53
+ else if (header2.type === "stats" && typeof cell === "object") {
54
+ if (cell.std === 0) {
55
+ return _jsx(_Fragment, { children: cell.mean });
56
+ }
57
+ return (_jsxs(_Fragment, { children: [cell.mean, " \u00B1 ", cell.std] }));
58
+ }
59
+ else if (header2.type === "structure" &&
60
+ typeof cell === "string" &&
61
+ cell !== "") {
62
+ const href = cell;
63
+ const filename = href.split("/").pop();
64
+ return (_jsxs("div", { children: [_jsx("a", { href: cell, download: filename, className: "hover:underline", children: "\u2193\u00A0Download" }), _jsx(DialogViewer, { url: href, labelTrigger: "\uD83D\uDC41\u00A0View",
65
+ // TODO make className configurable from outside
66
+ classNameTrigger: "text-inherit bg-inherit inline-block rounded-none h-auto" })] }));
67
+ }
68
+ return _jsx(_Fragment, { children: cell });
69
+ }
70
+ const getValue = (header, content) => {
71
+ if (header.type === "stats" &&
72
+ content != null &&
73
+ typeof content === "object") {
74
+ return content.mean;
75
+ }
76
+ return content;
77
+ };
78
+ /**
79
+ * Sorts the provided data array based on the given sort state and headers.
80
+ *
81
+ * @param data - The array of data items to be sorted.
82
+ * @param sortState - The current state of sorting, including the key to sort by and the direction.
83
+ * @param headers - The array of headers which includes metadata about each column.
84
+ * @returns A new array of data items sorted according to the sort state and headers.
85
+ */
86
+ export function sortData(data, sortState, headers) {
87
+ const header = headers.find((h) => h.key === sortState.key);
88
+ if (header === undefined) {
89
+ return data;
90
+ }
91
+ return data.toSorted((a, b) => {
92
+ const valueA = getValue(header, a[sortState.key]);
93
+ const valueB = getValue(header, b[sortState.key]);
94
+ if (valueA < valueB) {
95
+ return sortState.direction === "asc" ? -1 : 1;
96
+ }
97
+ if (valueA > valueB) {
98
+ return sortState.direction === "asc" ? 1 : -1;
99
+ }
100
+ return 0;
101
+ });
102
+ }
103
+ export function itemKeyFinder(item, itemKey) {
104
+ const value = item[itemKey];
105
+ if (value === null || value === undefined) {
106
+ return "NA";
107
+ }
108
+ if (typeof value === "object") {
109
+ return value.mean.toString();
110
+ }
111
+ return value.toString();
112
+ }
113
+ export function SortableTable({ orientation = "top", headers, data, className = "", tableClassName = "", theadClassName = "", tbodyClassName = "", trClassName = "", thClassName = "", tdClassName = "", }) {
114
+ const initialSortedHeader = headers.find((h) => h.sorted !== undefined);
115
+ // use the first header if no header is sorted as key for a data item
116
+ const itemKey = (initialSortedHeader ?? headers[0]).key;
117
+ const [sortState, setSortState] = useState(() => {
118
+ if (initialSortedHeader && initialSortedHeader.sorted !== undefined) {
119
+ return {
120
+ key: initialSortedHeader.key,
121
+ direction: initialSortedHeader.sorted,
122
+ };
123
+ }
124
+ return {
125
+ key: "",
126
+ direction: "asc",
127
+ };
128
+ });
129
+ const sortedData = useMemo(() => {
130
+ return sortData(data, sortState, headers);
131
+ }, [data, sortState, headers]);
132
+ if (orientation === "top") {
133
+ return (_jsx("div", { className: cn("", className), children: _jsxs("table", { className: cn("caption-bottom text-sm", tableClassName), children: [_jsx("thead", { className: cn("&_tr]:border-b", theadClassName), children: _jsx("tr", { className: cn("border-b transition-colors hover:bg-muted/50", trClassName), children: headers.map((header) => (_jsx(HeaderContent, { header: header, sortState: sortState, setSortState: setSortState, orientation: orientation, className: cn("h-12 px-4 text-left align-middle font-medium text-muted-foreground", thClassName) }, header.key))) }) }), _jsx("tbody", { className: cn("[&_tr:last-child]:border-0", tbodyClassName), children: sortedData.map((row) => (_jsx("tr", { className: cn("border-b transition-colors hover:bg-muted/50", trClassName), children: headers.map((header) => (_jsx("td", { className: cn("p-4 align-middle", tdClassName), children: _jsx(CellContent, { data: row, header: header }) }, `${itemKeyFinder(row, itemKey)}-${header.key}`))) }, itemKeyFinder(row, itemKey)))) })] }) }));
134
+ }
135
+ else {
136
+ return (_jsx("div", { className: cn("", className), children: _jsxs("table", { className: cn("caption-bottom text-sm", tableClassName), children: [_jsx("thead", { className: cn("", theadClassName) }), _jsx("tbody", { className: cn("", tbodyClassName), children: headers.map((header) => (_jsxs("tr", { className: cn("transition-colors", trClassName), children: [_jsx(HeaderContent, { header: header, sortState: sortState, setSortState: setSortState, orientation: orientation, className: cn("border-r h-12 px-4 text-left align-middle font-medium text-muted-foreground", thClassName) }, header.key), sortedData.map((col, index) => (_jsx("td", { className: cn("p-4 align-middle", { "border-r": index < sortedData.length - 1 }, tdClassName), children: _jsx(CellContent, { data: col, header: header }) }, `${itemKeyFinder(col, itemKey)}-${header.key}`)))] }, header.key))) })] }) }));
137
+ }
138
+ }
139
+ //# sourceMappingURL=SortableTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortableTable.js","sourceRoot":"","sources":["../../src/table/SortableTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { DataItem, Header } from "./SortableTable.js";
2
+ export interface Structure extends DataItem {
3
+ rank: number;
4
+ model: string;
5
+ }
6
+ export declare function StructureTable({ structures, headers, }: {
7
+ structures: Structure[];
8
+ headers: Header[];
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=StructureTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StructureTable.d.ts","sourceRoot":"","sources":["../../src/table/StructureTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,OAAO,GACR,EAAE;IACD,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,2CAIA"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { SortableTable } from "./SortableTable.js";
3
+ export function StructureTable({ structures, headers, }) {
4
+ return (_jsx(SortableTable, { data: structures, headers: headers, orientation: "top" }));
5
+ }
6
+ //# sourceMappingURL=StructureTable.js.map