@speakeasy-api/moonshine 1.36.1 → 1.38.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/components/Table/index.d.ts +30 -4
- package/dist/components/Table/sorting.d.ts +31 -0
- package/dist/{createCustomLucideIcon-D-gFRvUd.mjs → createCustomLucideIcon-PXfw4lT4.mjs} +2 -2
- package/dist/{createCustomLucideIcon-D-gFRvUd.mjs.map → createCustomLucideIcon-PXfw4lT4.mjs.map} +1 -1
- package/dist/{gems-C9gEGS_l.mjs → gems-B2uZHIOZ.mjs} +2 -2
- package/dist/{gems-C9gEGS_l.mjs.map → gems-B2uZHIOZ.mjs.map} +1 -1
- package/dist/{go-C9P0gGBL.mjs → go-DkxSUbdC.mjs} +2 -2
- package/dist/{go-C9P0gGBL.mjs.map → go-DkxSUbdC.mjs.map} +1 -1
- package/dist/{index-B333GcaX.mjs → index-BMwTVKfO.mjs} +2903 -2777
- package/dist/index-BMwTVKfO.mjs.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/{maven-C8d6w32K.mjs → maven-0m_0YhcW.mjs} +2 -2
- package/dist/{maven-C8d6w32K.mjs.map → maven-0m_0YhcW.mjs.map} +1 -1
- package/dist/moonshine.es.js +17 -16
- package/dist/{npm-BObhxj3J.mjs → npm-C-bOlvs0.mjs} +2 -2
- package/dist/{npm-BObhxj3J.mjs.map → npm-C-bOlvs0.mjs.map} +1 -1
- package/dist/{nuget-BVH-Ny8G.mjs → nuget-DjNpwz-r.mjs} +2 -2
- package/dist/{nuget-BVH-Ny8G.mjs.map → nuget-DjNpwz-r.mjs.map} +1 -1
- package/dist/{packagist-C1UMnDsn.mjs → packagist-Ce_Byfj6.mjs} +2 -2
- package/dist/{packagist-C1UMnDsn.mjs.map → packagist-Ce_Byfj6.mjs.map} +1 -1
- package/dist/{pypi-i9XQRZGp.mjs → pypi-D6-7tJjw.mjs} +2 -2
- package/dist/{pypi-i9XQRZGp.mjs.map → pypi-D6-7tJjw.mjs.map} +1 -1
- package/dist/style.css +1 -1
- package/package.json +10 -10
- package/types/utilities.d.ts +1 -1
- package/dist/index-B333GcaX.mjs.map +0 -1
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
import { default as React, PropsWithChildren, ReactNode } from 'react';
|
|
2
|
-
export type
|
|
3
|
-
|
|
2
|
+
export type SortDirection = 'asc' | 'desc';
|
|
3
|
+
export type SortValue = string | number | boolean | Date | null | undefined;
|
|
4
|
+
type ColumnKey<T extends object> = keyof T | string;
|
|
5
|
+
export type SortDescriptor = {
|
|
6
|
+
id: string;
|
|
7
|
+
direction: SortDirection;
|
|
8
|
+
};
|
|
9
|
+
type BaseColumn<T extends object> = {
|
|
10
|
+
key: ColumnKey<T>;
|
|
11
|
+
id?: string;
|
|
4
12
|
header: ReactNode;
|
|
5
13
|
render?: (row: T) => ReactNode;
|
|
6
14
|
width?: `${number}fr` | `${number}px` | 'auto' | undefined;
|
|
7
15
|
};
|
|
16
|
+
export type SortableColumn<T extends object> = BaseColumn<T> & {
|
|
17
|
+
sortable: true;
|
|
18
|
+
sortLabel?: string;
|
|
19
|
+
sortValue: (row: T) => SortValue;
|
|
20
|
+
sortCompare?: (a: T, b: T) => number;
|
|
21
|
+
};
|
|
22
|
+
type UnsortableColumn<T extends object> = BaseColumn<T> & {
|
|
23
|
+
sortable?: false;
|
|
24
|
+
sortLabel?: never;
|
|
25
|
+
sortValue?: never;
|
|
26
|
+
sortCompare?: never;
|
|
27
|
+
};
|
|
28
|
+
export type Column<T extends object> = SortableColumn<T> | UnsortableColumn<T>;
|
|
8
29
|
export type Group<T extends object> = {
|
|
9
30
|
key: string;
|
|
10
31
|
items: T[];
|
|
@@ -27,6 +48,8 @@ export type TableProps<T extends object> = {
|
|
|
27
48
|
className?: string;
|
|
28
49
|
cellPadding?: CellPadding;
|
|
29
50
|
hideHeader?: boolean;
|
|
51
|
+
sort?: SortDescriptor | null;
|
|
52
|
+
onSortChange?: (sort: SortDescriptor | null) => void;
|
|
30
53
|
};
|
|
31
54
|
export type TableWrapperProps<T extends object> = PropsWithChildrenAndClassName & {
|
|
32
55
|
columns: Column<T>[];
|
|
@@ -35,6 +58,8 @@ export type TableWrapperProps<T extends object> = PropsWithChildrenAndClassName
|
|
|
35
58
|
declare function TableRoot<T extends object>(props: TableProps<T> | TableWrapperProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
36
59
|
type HeaderProps<T extends object> = {
|
|
37
60
|
columns: Column<T>[];
|
|
61
|
+
sort?: SortDescriptor | null;
|
|
62
|
+
onSortChange?: (sort: SortDescriptor | null) => void;
|
|
38
63
|
className?: string;
|
|
39
64
|
};
|
|
40
65
|
declare function Header<T extends object>(props: HeaderProps<T> | PropsWithChildrenAndClassName): import("react/jsx-runtime").JSX.Element;
|
|
@@ -76,9 +101,10 @@ type CellProps<T extends object> = {
|
|
|
76
101
|
};
|
|
77
102
|
declare function Cell<T extends object>(props: CellProps<T> | PropsWithChildrenAndClassName): import("react/jsx-runtime").JSX.Element;
|
|
78
103
|
declare function NoResultsMessage({ className, children, }: PropsWithChildrenAndClassName): import("react/jsx-runtime").JSX.Element;
|
|
79
|
-
|
|
104
|
+
type HeaderCellProps = React.ThHTMLAttributes<HTMLTableCellElement> & PropsWithChildren<{
|
|
80
105
|
className?: string;
|
|
81
|
-
}
|
|
106
|
+
}>;
|
|
107
|
+
declare function HeaderCell({ className, children, ...props }: HeaderCellProps): import("react/jsx-runtime").JSX.Element;
|
|
82
108
|
export declare const Table: typeof TableRoot & {
|
|
83
109
|
Header: typeof Header & {
|
|
84
110
|
Cell: typeof HeaderCell;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Column, Group, SortableColumn, SortDescriptor, SortDirection, SortValue } from './index';
|
|
2
|
+
export declare function isSortableColumn<T extends object>(column: Column<T>): column is SortableColumn<T>;
|
|
3
|
+
export declare function getColumnSortId<T extends object>(column: Column<T>): string;
|
|
4
|
+
export declare function compareSortValues(a: SortValue, b: SortValue): number;
|
|
5
|
+
export declare function sortRows<T extends object>(rows: T[], column: SortableColumn<T>, direction: SortDirection): T[];
|
|
6
|
+
/**
|
|
7
|
+
* Sorts table data with the same sort descriptors emitted by `Table`.
|
|
8
|
+
*
|
|
9
|
+
* `Table` only renders sortable headers and calls `onSortChange`; it never
|
|
10
|
+
* reorders `data` internally. Use this helper when the caller wants simple
|
|
11
|
+
* client-side sorting for rows already loaded in memory.
|
|
12
|
+
*
|
|
13
|
+
* For grouped data, group order is preserved and only each group's `items`
|
|
14
|
+
* array is sorted. If `sort` is `null` or references a missing/non-sortable
|
|
15
|
+
* column, the original `data` reference is returned unchanged.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* const [sort, setSort] = useState<SortDescriptor | null>(null)
|
|
19
|
+
* const sortedData = sortTableData(data, columns, sort)
|
|
20
|
+
*
|
|
21
|
+
* return (
|
|
22
|
+
* <Table
|
|
23
|
+
* columns={columns}
|
|
24
|
+
* data={sortedData}
|
|
25
|
+
* rowKey={(row) => row.id}
|
|
26
|
+
* sort={sort}
|
|
27
|
+
* onSortChange={setSort}
|
|
28
|
+
* />
|
|
29
|
+
* )
|
|
30
|
+
*/
|
|
31
|
+
export declare function sortTableData<T extends object>(data: T[] | Group<T>[], columns: Column<T>[], sort: SortDescriptor | null | undefined): T[] | Group<T>[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as s, t as n } from "./index-
|
|
1
|
+
import { c as s, t as n } from "./index-BMwTVKfO.mjs";
|
|
2
2
|
import { Icon as p } from "lucide-react";
|
|
3
3
|
import { forwardRef as f, createElement as i } from "react";
|
|
4
4
|
const C = (e, t, r) => {
|
|
@@ -16,4 +16,4 @@ const C = (e, t, r) => {
|
|
|
16
16
|
export {
|
|
17
17
|
C as c
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=createCustomLucideIcon-
|
|
19
|
+
//# sourceMappingURL=createCustomLucideIcon-PXfw4lT4.mjs.map
|
package/dist/{createCustomLucideIcon-D-gFRvUd.mjs.map → createCustomLucideIcon-PXfw4lT4.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCustomLucideIcon-
|
|
1
|
+
{"version":3,"file":"createCustomLucideIcon-PXfw4lT4.mjs","sources":["../src/components/Icon/customIcons/createCustomLucideIcon.ts"],"sourcesContent":["import { cn, toKebabCase } from '@/lib/utils'\nimport { Icon, IconNode, LucideProps } from 'lucide-react'\nimport { createElement, forwardRef } from 'react'\n\nconst createCustomLucideIcon = (\n iconName: string,\n iconNode: IconNode,\n lucideProps?: Partial<LucideProps>\n) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(\n ({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: cn(`lucide-${toKebabCase(iconName)}`, className),\n ...{ ...(lucideProps ?? {}), ...props },\n })\n )\n\n Component.displayName = `${iconName}`\n\n return Component\n}\n\nexport default createCustomLucideIcon\n"],"names":["createCustomLucideIcon","iconName","iconNode","lucideProps","Component","forwardRef","className","props","ref","createElement","Icon","cn","toKebabCase"],"mappings":";;;AAIA,MAAMA,IAAyB,CAC7BC,GACAC,GACAC,MACG;AACH,QAAMC,IAAYC;AAAA,IAChB,CAAC,EAAE,WAAAC,GAAW,GAAGC,KAASC,MACxBC,EAAcC,GAAM;AAAA,MAClB,KAAAF;AAAA,MACA,UAAAN;AAAA,MACA,WAAWS,EAAG,UAAUC,EAAYX,CAAQ,CAAC,IAAIK,CAAS;AAAA,MACrD,GAAIH,KAAe,CAAA;AAAA,MAAK,GAAGI;AAAA,IAAM,CACvC;AAAA,EAAA;AAGL,SAAAH,EAAU,cAAc,GAAGH,CAAQ,IAE5BG;AACT;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as L } from "./createCustomLucideIcon-
|
|
1
|
+
import { c as L } from "./createCustomLucideIcon-PXfw4lT4.mjs";
|
|
2
2
|
const o = [
|
|
3
3
|
[
|
|
4
4
|
"path",
|
|
@@ -21,4 +21,4 @@ const o = [
|
|
|
21
21
|
export {
|
|
22
22
|
e as default
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=gems-
|
|
24
|
+
//# sourceMappingURL=gems-B2uZHIOZ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gems-
|
|
1
|
+
{"version":3,"file":"gems-B2uZHIOZ.mjs","sources":["../src/components/Icon/customIcons/gems.ts"],"sourcesContent":["import { IconNode } from 'lucide-react'\nimport createCustomLucideIcon from './createCustomLucideIcon'\n\nconst iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M156.139 157.469L196.307 117.301L168.177 89.1397V89.0126H88.2885L88.4113 89.2582L88.2885 89.1354L60.6496 117.296L128.5 184.929',\n key: 'path-1',\n },\n ],\n [\n 'path',\n {\n d: 'M128.5 14L29 71.0835V185.25L128.5 242.333L228 185.25V71.0829L128.5 14ZM208.96 174.341L128.5 220.767L48.0401 174.34V81.7386L128.5 35.3114L208.96 81.3762',\n key: 'path-2',\n },\n ],\n]\n\nconst icon = createCustomLucideIcon('gems', iconNode, {\n viewBox: '0 0 256 256',\n fill: 'currentColor',\n})\n\nexport { icon as default }\n"],"names":["iconNode","icon","createCustomLucideIcon"],"mappings":";AAGA,MAAMA,IAAqB;AAAA,EACzB;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IAAA;AAAA,EACP;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IAAA;AAAA,EACP;AAEJ,GAEMC,IAAOC,EAAuB,QAAQF,GAAU;AAAA,EACpD,SAAS;AAAA,EACT,MAAM;AACR,CAAC;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c } from "./createCustomLucideIcon-
|
|
1
|
+
import { c } from "./createCustomLucideIcon-PXfw4lT4.mjs";
|
|
2
2
|
const o = [
|
|
3
3
|
[
|
|
4
4
|
"path",
|
|
@@ -21,4 +21,4 @@ const o = [
|
|
|
21
21
|
export {
|
|
22
22
|
e as default
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=go-
|
|
24
|
+
//# sourceMappingURL=go-DkxSUbdC.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"go-
|
|
1
|
+
{"version":3,"file":"go-DkxSUbdC.mjs","sources":["../src/components/Icon/customIcons/go.ts"],"sourcesContent":["import { IconNode } from 'lucide-react'\nimport createCustomLucideIcon from './createCustomLucideIcon'\n\nconst iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M11.156 54.829c-.243 0-.303-.122-.182-.303l1.273-1.637c.12-.182.424-.303.666-.303H34.55c.243 0 .303.182.182.364l-1.03 1.576c-.121.181-.424.363-.606.363zM2.004 60.404c-.242 0-.303-.12-.182-.303l1.273-1.636c.121-.182.424-.303.667-.303h27.636c.242 0 .364.182.303.364l-.485 1.454c-.06.243-.303.364-.545.364zM16.67 65.98c-.242 0-.302-.182-.181-.364l.848-1.515c.122-.182.364-.363.607-.363h12.12c.243 0 .364.181.364.424l-.12 1.454c0 .243-.243.425-.425.425zM79.58 53.738c-3.819.97-6.425 1.697-10.182 2.666-.91.243-.97.303-1.758-.606-.909-1.03-1.576-1.697-2.848-2.303-3.819-1.878-7.516-1.333-10.97.91-4.121 2.666-6.242 6.605-6.182 11.514.06 4.849 3.394 8.849 8.182 9.516 4.121.545 7.576-.91 10.303-4 .545-.667 1.03-1.394 1.636-2.243H56.064c-1.272 0-1.575-.788-1.151-1.818.788-1.879 2.242-5.03 3.09-6.606.183-.364.607-.97 1.516-.97h22.06c-.12 1.637-.12 3.273-.363 4.91-.667 4.363-2.303 8.363-4.97 11.878-4.364 5.758-10.06 9.333-17.273 10.303-5.939.788-11.454-.364-16.302-4-4.485-3.394-7.03-7.879-7.697-13.454-.788-6.606 1.151-12.546 5.151-17.758 4.303-5.636 10-9.212 16.97-10.485 5.697-1.03 11.151-.363 16.06 2.97 3.212 2.121 5.515 5.03 7.03 8.545.364.546.122.849-.606 1.03z',\n key: 'path-1',\n },\n ],\n [\n 'path',\n {\n d: 'M99.64 87.253c-5.515-.122-10.546-1.697-14.788-5.334-3.576-3.09-5.818-7.03-6.545-11.697-1.091-6.848.787-12.909 4.909-18.302 4.424-5.819 9.757-8.849 16.97-10.122 6.181-1.09 12-.484 17.272 3.091 4.788 3.273 7.757 7.697 8.545 13.515 1.03 8.182-1.333 14.849-6.97 20.546-4 4.06-8.909 6.606-14.545 7.757-1.636.303-3.273.364-4.848.546zm14.424-24.485c-.06-.788-.06-1.394-.182-2-1.09-6-6.606-9.394-12.363-8.06-5.637 1.272-9.273 4.848-10.606 10.545-1.091 4.727 1.212 9.515 5.575 11.454 3.334 1.455 6.667 1.273 9.879-.363 4.788-2.485 7.394-6.364 7.697-11.576z',\n key: 'path-2',\n },\n ],\n]\n\nconst icon = createCustomLucideIcon('go', iconNode, {\n viewBox: '0 0 128 128',\n fill: 'currentColor',\n})\n\nexport { icon as default }\n"],"names":["iconNode","icon","createCustomLucideIcon"],"mappings":";AAGA,MAAMA,IAAqB;AAAA,EACzB;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IAAA;AAAA,EACP;AAAA,EAEF;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IAAA;AAAA,EACP;AAEJ,GAEMC,IAAOC,EAAuB,MAAMF,GAAU;AAAA,EAClD,SAAS;AAAA,EACT,MAAM;AACR,CAAC;"}
|