@dust-tt/sparkle 0.2.225 → 0.2.227-rc

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 (52) hide show
  1. package/dist/cjs/index.js +283 -113
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/esm/components/DataTable.d.ts +5 -2
  4. package/dist/esm/components/DataTable.d.ts.map +1 -1
  5. package/dist/esm/components/DataTable.js +48 -29
  6. package/dist/esm/components/DataTable.js.map +1 -1
  7. package/dist/esm/components/Item.d.ts +6 -52
  8. package/dist/esm/components/Item.d.ts.map +1 -1
  9. package/dist/esm/components/Item.js.map +1 -1
  10. package/dist/esm/components/PaginatedCitationsGrid.d.ts.map +1 -1
  11. package/dist/esm/components/PaginatedCitationsGrid.js +8 -4
  12. package/dist/esm/components/PaginatedCitationsGrid.js.map +1 -1
  13. package/dist/esm/components/Pagination.d.ts +5 -4
  14. package/dist/esm/components/Pagination.d.ts.map +1 -1
  15. package/dist/esm/components/Pagination.js +35 -35
  16. package/dist/esm/components/Pagination.js.map +1 -1
  17. package/dist/esm/hooks/index.d.ts +3 -0
  18. package/dist/esm/hooks/index.d.ts.map +1 -0
  19. package/dist/esm/hooks/index.js +3 -0
  20. package/dist/esm/hooks/index.js.map +1 -0
  21. package/dist/esm/hooks/useHashParams.d.ts +18 -0
  22. package/dist/esm/hooks/useHashParams.d.ts.map +1 -0
  23. package/dist/esm/hooks/useHashParams.js +67 -0
  24. package/dist/esm/hooks/useHashParams.js.map +1 -0
  25. package/dist/esm/hooks/usePaginationFromUrl.d.ts +6 -0
  26. package/dist/esm/hooks/usePaginationFromUrl.d.ts.map +1 -0
  27. package/dist/esm/hooks/usePaginationFromUrl.js +23 -0
  28. package/dist/esm/hooks/usePaginationFromUrl.js.map +1 -0
  29. package/dist/esm/index.d.ts +1 -0
  30. package/dist/esm/index.d.ts.map +1 -1
  31. package/dist/esm/index.js +1 -0
  32. package/dist/esm/index.js.map +1 -1
  33. package/dist/esm/stories/DataTable.stories.d.ts +2 -0
  34. package/dist/esm/stories/DataTable.stories.d.ts.map +1 -1
  35. package/dist/esm/stories/DataTable.stories.js +133 -106
  36. package/dist/esm/stories/DataTable.stories.js.map +1 -1
  37. package/dist/esm/stories/Pagination.stories.d.ts +1 -0
  38. package/dist/esm/stories/Pagination.stories.d.ts.map +1 -1
  39. package/dist/esm/stories/Pagination.stories.js +25 -3
  40. package/dist/esm/stories/Pagination.stories.js.map +1 -1
  41. package/dist/sparkle.css +4 -0
  42. package/package.json +1 -1
  43. package/src/components/DataTable.tsx +114 -75
  44. package/src/components/Item.tsx +47 -52
  45. package/src/components/PaginatedCitationsGrid.tsx +11 -6
  46. package/src/components/Pagination.tsx +48 -45
  47. package/src/hooks/index.ts +2 -0
  48. package/src/hooks/useHashParams.ts +95 -0
  49. package/src/hooks/usePaginationFromUrl.ts +36 -0
  50. package/src/index.ts +1 -0
  51. package/src/stories/DataTable.stories.tsx +200 -130
  52. package/src/stories/Pagination.stories.tsx +38 -10
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Original code from : https://www.npmjs.com/package/use-hash-param
3
+ * ISC License
4
+ */
5
+ import { __read } from "tslib";
6
+ import { useCallback, useEffect, useState } from "react";
7
+ var getHashSearchParams = function (location) {
8
+ var hash = location.hash.slice(1);
9
+ var _a = __read(hash.split("?"), 2), prefix = _a[0], query = _a[1];
10
+ return [prefix, new URLSearchParams(query)];
11
+ };
12
+ var getHashParam = function (key, defaultValue) {
13
+ var _a;
14
+ if (typeof window === "undefined") {
15
+ return defaultValue;
16
+ }
17
+ var _b = __read(getHashSearchParams(window.location), 2), searchParams = _b[1];
18
+ return (_a = searchParams.get(key)) !== null && _a !== void 0 ? _a : defaultValue;
19
+ };
20
+ var setHashParam = function (key, value, shouldReplaceState) {
21
+ if (typeof window !== "undefined") {
22
+ var _a = __read(getHashSearchParams(window.location), 2), prefix = _a[0], searchParams = _a[1];
23
+ if (typeof value === "undefined" || value === "") {
24
+ searchParams.delete(key);
25
+ }
26
+ else {
27
+ searchParams.set(key, value);
28
+ }
29
+ var search = searchParams.toString();
30
+ var hash = search ? "".concat(prefix, "?").concat(search) : prefix;
31
+ if (shouldReplaceState && "replaceState" in history) {
32
+ history.replaceState(null, "", "#".concat(hash));
33
+ }
34
+ else {
35
+ window.location.hash = hash;
36
+ }
37
+ }
38
+ };
39
+ /**
40
+ * @param key The parameter-name to use from the hash-string query string.
41
+ * @param defaultValue A default value to use if the parameter is not specified and on the server.
42
+ * @returns A two-tuple, the first element is the selected param value (either extracted from the hash param or the default value).
43
+ * The second element is a setter function to change the param value.
44
+ */
45
+ export var useHashParam = function (key, defaultValue) {
46
+ var _a = __read(useState(function () {
47
+ return getHashParam(key, defaultValue);
48
+ }), 2), innerValue = _a[0], setInnerValue = _a[1];
49
+ useEffect(function () {
50
+ var handleHashChange = function () {
51
+ return setInnerValue(getHashParam(key, defaultValue));
52
+ };
53
+ handleHashChange();
54
+ window.addEventListener("hashchange", handleHashChange);
55
+ return function () { return window.removeEventListener("hashchange", handleHashChange); };
56
+ }, [key]);
57
+ var setValue = useCallback(function (newValue, options) {
58
+ if (options === void 0) { options = { history: "replace" }; }
59
+ var newInnerValue = typeof newValue === "function"
60
+ ? newValue(getHashParam(key, defaultValue))
61
+ : newValue;
62
+ setInnerValue(newInnerValue);
63
+ setHashParam(key, newInnerValue, options.history === "replace");
64
+ }, [key]);
65
+ return [innerValue || defaultValue, setValue];
66
+ };
67
+ //# sourceMappingURL=useHashParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHashParams.js","sourceRoot":"","sources":["../../../src/hooks/useHashParams.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzD,IAAM,mBAAmB,GAAG,UAAC,QAAkB;IAC7C,IAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAA,KAAA,OAAkB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAAhC,MAAM,QAAA,EAAE,KAAK,QAAmB,CAAC;IAExC,OAAO,CAAC,MAAM,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,IAAM,YAAY,GAAG,UAAC,GAAW,EAAE,YAAqB;;IACtD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,YAAY,CAAC;IACtB,CAAC;IAEK,IAAA,KAAA,OAAmB,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAA,EAApD,YAAY,QAAwC,CAAC;IAE9D,OAAO,MAAA,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,YAAY,CAAC;AAC/C,CAAC,CAAC;AAEF,IAAM,YAAY,GAAG,UACnB,GAAW,EACX,KAAyB,EACzB,kBAA2B;IAE3B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAC5B,IAAA,KAAA,OAAyB,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAA,EAA5D,MAAM,QAAA,EAAE,YAAY,QAAwC,CAAC;QAEpE,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACjD,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,IAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,UAAG,MAAM,cAAI,MAAM,CAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACrD,IAAI,kBAAkB,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;YACpD,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,WAAI,IAAI,CAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAQF;;;;;GAKG;AAEH,MAAM,CAAC,IAAM,YAAY,GAAG,UAC1B,GAAW,EACX,YAAqB;IAEf,IAAA,KAAA,OAA8B,QAAQ,CAAqB;QAC/D,OAAA,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC;IAA/B,CAA+B,CAChC,IAAA,EAFM,UAAU,QAAA,EAAE,aAAa,QAE/B,CAAC;IAEF,SAAS,CAAC;QACR,IAAM,gBAAgB,GAAG;YACvB,OAAA,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAA9C,CAA8C,CAAC;QACjD,gBAAgB,EAAE,CAAC;QACnB,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACxD,OAAO,cAAM,OAAA,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAA1D,CAA0D,CAAC;IAC1E,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,IAAM,QAAQ,GAAG,WAAW,CAC1B,UACE,QAA2B,EAC3B,OAA+C;QAA/C,wBAAA,EAAA,YAA2B,OAAO,EAAE,SAAS,EAAE;QAE/C,IAAM,aAAa,GACjB,OAAO,QAAQ,KAAK,UAAU;YAC5B,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC3C,CAAC,CAAC,QAAQ,CAAC;QAEf,aAAa,CAAC,aAAa,CAAC,CAAC;QAC7B,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAClE,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IAEF,OAAO,CAAC,UAAU,IAAI,YAAY,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { PaginationState } from "@tanstack/react-table";
2
+ export declare const usePaginationFromUrl: (urlPrefix?: string, initialPageSize?: number) => {
3
+ pagination: PaginationState;
4
+ setPagination: (newValue: PaginationState) => void;
5
+ };
6
+ //# sourceMappingURL=usePaginationFromUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePaginationFromUrl.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePaginationFromUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOxD,eAAO,MAAM,oBAAoB,eACnB,MAAM;;8BAgBiB,eAAe;CAWnD,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { __read } from "tslib";
2
+ import { useMemo } from "react";
3
+ import { useHashParam } from "../hooks/useHashParams";
4
+ var defaultPageSize = 25;
5
+ export var usePaginationFromUrl = function (urlPrefix, initialPageSize) {
6
+ if (initialPageSize === void 0) { initialPageSize = defaultPageSize; }
7
+ var _a = __read(useHashParam(urlPrefix ? "".concat(urlPrefix, "PageIndex") : "pageIndex"), 2), pageIndexParam = _a[0], setPageIndexParam = _a[1];
8
+ var _b = __read(useHashParam(urlPrefix ? "".concat(urlPrefix, "PageSize") : "pageSize"), 2), pageSizeParam = _b[0], setPageSizeParam = _b[1];
9
+ var pageIndex = pageIndexParam ? parseInt(pageIndexParam) : 0;
10
+ var pageSize = pageSizeParam ? parseInt(pageSizeParam) : initialPageSize;
11
+ var res = useMemo(function () {
12
+ var pagination = { pageIndex: pageIndex, pageSize: pageSize };
13
+ var setPagination = function (newValue) {
14
+ if (newValue.pageIndex !== pageIndex || newValue.pageSize !== pageSize) {
15
+ setPageIndexParam(newValue.pageIndex.toString());
16
+ setPageSizeParam(newValue.pageSize.toString());
17
+ }
18
+ };
19
+ return { pagination: pagination, setPagination: setPagination };
20
+ }, [pageIndex, pageSize, urlPrefix]);
21
+ return res;
22
+ };
23
+ //# sourceMappingURL=usePaginationFromUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePaginationFromUrl.js","sourceRoot":"","sources":["../../../src/hooks/usePaginationFromUrl.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,IAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAClC,SAAkB,EAClB,eAAiC;IAAjC,gCAAA,EAAA,iCAAiC;IAE3B,IAAA,KAAA,OAAsC,YAAY,CACtD,SAAS,CAAC,CAAC,CAAC,UAAG,SAAS,cAAW,CAAC,CAAC,CAAC,WAAW,CAClD,IAAA,EAFM,cAAc,QAAA,EAAE,iBAAiB,QAEvC,CAAC;IACI,IAAA,KAAA,OAAoC,YAAY,CACpD,SAAS,CAAC,CAAC,CAAC,UAAG,SAAS,aAAU,CAAC,CAAC,CAAC,UAAU,CAChD,IAAA,EAFM,aAAa,QAAA,EAAE,gBAAgB,QAErC,CAAC;IAEF,IAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IAE3E,IAAM,GAAG,GAAG,OAAO,CAAC;QAClB,IAAM,UAAU,GAAoB,EAAE,SAAS,WAAA,EAAE,QAAQ,UAAA,EAAE,CAAC;QAE5D,IAAM,aAAa,GAAG,UAAC,QAAyB;YAC9C,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACvE,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjD,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,EAAE,UAAU,YAAA,EAAE,aAAa,eAAA,EAAE,CAAC;IACvC,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAErC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from "./components";
2
2
  export { SparkleContext } from "./context";
3
+ export * from "./hooks";
3
4
  export * from "./icons";
4
5
  export * from "./lib";
5
6
  export * from "./logo";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./components";
2
2
  export { SparkleContext } from "./context";
3
+ export * from "./hooks";
3
4
  export * from "./icons";
4
5
  export * from "./lib";
5
6
  export * from "./logo";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
@@ -6,4 +6,6 @@ declare const meta: {
6
6
  };
7
7
  export default meta;
8
8
  export declare const DataTableExample: () => React.JSX.Element;
9
+ export declare const DataTablePaginatedExample: () => React.JSX.Element;
10
+ export declare const DataTablePaginatedServerSideExample: () => React.JSX.Element;
9
11
  //# sourceMappingURL=DataTable.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/DataTable.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,SAAS,EAAc,MAAM,uBAAuB,CAAC;AAE9D,QAAA,MAAM,IAAI;;;CAGwB,CAAC;AAEnC,eAAe,IAAI,CAAC;AAiBpB,eAAO,MAAM,gBAAgB,yBA6I5B,CAAC"}
1
+ {"version":3,"file":"DataTable.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/DataTable.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,OAAO,EAAE,SAAS,EAAc,MAAM,uBAAuB,CAAC;AAE9D,QAAA,MAAM,IAAI;;;CAGwB,CAAC;AAEnC,eAAe,IAAI,CAAC;AA+IpB,eAAO,MAAM,gBAAgB,yBAmB5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,yBA2BrC,CAAC;AAEF,eAAO,MAAM,mCAAmC,yBAkC/C,CAAC"}
@@ -1,116 +1,143 @@
1
- import React from "react";
1
+ import { __read } from "tslib";
2
+ import React, { useMemo } from "react";
3
+ import { Input } from "../components/Input";
2
4
  import { DataTable, FolderIcon } from "../index_with_tw_base";
3
5
  var meta = {
4
6
  title: "Components/DataTable",
5
7
  component: DataTable,
6
8
  };
7
9
  export default meta;
10
+ var data = [
11
+ {
12
+ name: "Soupinou with tooltip on avatar",
13
+ usedBy: 100,
14
+ addedBy: "User1",
15
+ lastUpdated: "July 8, 2023",
16
+ size: "32kb",
17
+ avatarUrl: "https://avatars.githubusercontent.com/u/138893015?s=200&v=4",
18
+ avatarTooltipLabel: "Meow",
19
+ roundedAvatar: true,
20
+ onClick: function () { return console.log("hehe"); },
21
+ },
22
+ {
23
+ name: "Marketing",
24
+ description: "(23 items)",
25
+ usedBy: 8,
26
+ addedBy: "User1",
27
+ lastUpdated: "July 8, 2023",
28
+ size: "32kb",
29
+ avatarUrl: "https://dust.tt/static/droidavatar/Droid_Lime_3.jpg",
30
+ roundedAvatar: true,
31
+ onClick: function () { return alert("Marketing clicked"); },
32
+ },
33
+ {
34
+ name: "Design",
35
+ usedBy: 2,
36
+ addedBy: "User2",
37
+ lastUpdated: "2023-07-09",
38
+ size: "64kb",
39
+ icon: FolderIcon,
40
+ moreMenuItems: [
41
+ {
42
+ label: "Edit (disabled)",
43
+ onClick: function () { return alert("Design menu clicked"); },
44
+ disabled: true,
45
+ },
46
+ ],
47
+ onClick: function () { return alert("Design clicked"); },
48
+ },
49
+ {
50
+ name: "design",
51
+ usedBy: 3,
52
+ addedBy: "User21",
53
+ lastUpdated: "2023-07-09",
54
+ size: "64kb",
55
+ icon: FolderIcon,
56
+ moreMenuItems: [
57
+ {
58
+ label: "Edit",
59
+ onClick: function () { return alert("Design menu clicked"); },
60
+ },
61
+ ],
62
+ },
63
+ {
64
+ name: "Development",
65
+ usedBy: 5,
66
+ addedBy: "User3",
67
+ lastUpdated: "2023-07-07",
68
+ size: "128kb",
69
+ },
70
+ {
71
+ name: "Sales",
72
+ usedBy: 10,
73
+ addedBy: "User4",
74
+ lastUpdated: "2023-07-10",
75
+ size: "16kb",
76
+ },
77
+ {
78
+ name: "HR",
79
+ usedBy: 3,
80
+ addedBy: "User5",
81
+ lastUpdated: "2023-07-06",
82
+ size: "48kb",
83
+ },
84
+ ];
85
+ var columns = [
86
+ {
87
+ accessorKey: "name",
88
+ header: "Name",
89
+ sortingFn: "text",
90
+ cell: function (info) { return (React.createElement(DataTable.CellContent, { avatarUrl: info.row.original.avatarUrl, avatarTooltipLabel: info.row.original.avatarTooltipLabel, icon: info.row.original.icon, description: info.row.original.description, roundedAvatar: info.row.original.roundedAvatar }, info.row.original.name)); },
91
+ },
92
+ {
93
+ accessorKey: "usedBy",
94
+ header: "Used by",
95
+ cell: function (info) { return (React.createElement(DataTable.CellContent, null, info.row.original.usedBy)); },
96
+ },
97
+ {
98
+ accessorKey: "addedBy",
99
+ header: "Added by",
100
+ cell: function (info) { return (React.createElement(DataTable.CellContent, null, info.row.original.addedBy)); },
101
+ },
102
+ {
103
+ accessorKey: "lastUpdated",
104
+ header: "Last updated",
105
+ cell: function (info) { return (React.createElement(DataTable.CellContent, null, info.row.original.lastUpdated)); },
106
+ enableSorting: false,
107
+ },
108
+ {
109
+ accessorKey: "size",
110
+ header: "Size",
111
+ cell: function (info) { return (React.createElement(DataTable.CellContent, null, info.row.original.size)); },
112
+ },
113
+ ];
8
114
  export var DataTableExample = function () {
9
- var data = [
10
- {
11
- name: "Soupinou with tooltip on avatar",
12
- usedBy: 100,
13
- addedBy: "User1",
14
- lastUpdated: "July 8, 2023",
15
- size: "32kb",
16
- avatarUrl: "https://avatars.githubusercontent.com/u/138893015?s=200&v=4",
17
- avatarTooltipLabel: "Meow",
18
- roundedAvatar: true,
19
- onClick: function () { return console.log("hehe"); },
20
- },
21
- {
22
- name: "Marketing",
23
- description: "(23 items)",
24
- usedBy: 8,
25
- addedBy: "User1",
26
- lastUpdated: "July 8, 2023",
27
- size: "32kb",
28
- avatarUrl: "https://dust.tt/static/droidavatar/Droid_Lime_3.jpg",
29
- roundedAvatar: true,
30
- onClick: function () { return alert("Marketing clicked"); },
31
- },
32
- {
33
- name: "Design",
34
- usedBy: 2,
35
- addedBy: "User2",
36
- lastUpdated: "2023-07-09",
37
- size: "64kb",
38
- icon: FolderIcon,
39
- moreMenuItems: [
40
- {
41
- label: "Edit (disabled)",
42
- onClick: function () { return alert("Design menu clicked"); },
43
- disabled: true,
44
- },
45
- ],
46
- onClick: function () { return alert("Design clicked"); },
47
- },
48
- {
49
- name: "design",
50
- usedBy: 3,
51
- addedBy: "User21",
52
- lastUpdated: "2023-07-09",
53
- size: "64kb",
54
- icon: FolderIcon,
55
- moreMenuItems: [
56
- {
57
- label: "Edit",
58
- onClick: function () { return alert("Design menu clicked"); },
59
- },
60
- ],
61
- },
62
- {
63
- name: "Development",
64
- usedBy: 5,
65
- addedBy: "User3",
66
- lastUpdated: "2023-07-07",
67
- size: "128kb",
68
- },
69
- {
70
- name: "Sales",
71
- usedBy: 10,
72
- addedBy: "User4",
73
- lastUpdated: "2023-07-10",
74
- size: "16kb",
75
- },
76
- {
77
- name: "HR",
78
- usedBy: 3,
79
- addedBy: "User5",
80
- lastUpdated: "2023-07-06",
81
- size: "48kb",
82
- },
83
- ];
84
- var columns = [
85
- {
86
- accessorKey: "name",
87
- header: "Name",
88
- sortingFn: "text",
89
- cell: function (info) { return (React.createElement(DataTable.CellContent, { avatarUrl: info.row.original.avatarUrl, avatarTooltipLabel: info.row.original.avatarTooltipLabel, icon: info.row.original.icon, description: info.row.original.description, roundedAvatar: info.row.original.roundedAvatar }, info.row.original.name)); },
90
- },
91
- {
92
- accessorKey: "usedBy",
93
- header: "Used by",
94
- cell: function (info) { return (React.createElement(DataTable.CellContent, null, info.row.original.usedBy)); },
95
- },
96
- {
97
- accessorKey: "addedBy",
98
- header: "Added by",
99
- cell: function (info) { return (React.createElement(DataTable.CellContent, null, info.row.original.addedBy)); },
100
- },
101
- {
102
- accessorKey: "lastUpdated",
103
- header: "Last updated",
104
- cell: function (info) { return (React.createElement(DataTable.CellContent, null, info.row.original.lastUpdated)); },
105
- enableSorting: false,
106
- },
107
- {
108
- accessorKey: "size",
109
- header: "Size",
110
- cell: function (info) { return (React.createElement(DataTable.CellContent, null, info.row.original.size)); },
111
- },
112
- ];
115
+ var _a = __read(React.useState(""), 2), filter = _a[0], setFilter = _a[1];
113
116
  return (React.createElement("div", { className: "s-w-full s-max-w-4xl s-overflow-x-auto" },
114
- React.createElement(DataTable, { data: data, columns: columns, initialColumnOrder: [{ id: "name", desc: false }], columnsBreakpoints: { lastUpdated: "sm" } })));
117
+ React.createElement(Input, { name: "filter", placeholder: "Filter", value: filter, onChange: function (v) { return setFilter(v); } }),
118
+ React.createElement(DataTable, { data: data, filter: filter, filterColumn: "name", columns: columns })));
119
+ };
120
+ export var DataTablePaginatedExample = function () {
121
+ var _a = __read(React.useState({
122
+ pageIndex: 0,
123
+ pageSize: 2,
124
+ }), 2), pagination = _a[0], setPagination = _a[1];
125
+ var _b = __read(React.useState(""), 2), filter = _b[0], setFilter = _b[1];
126
+ return (React.createElement("div", { className: "s-w-full s-max-w-4xl s-overflow-x-auto" },
127
+ React.createElement(Input, { name: "filter", placeholder: "Filter", value: filter, onChange: function (v) { return setFilter(v); } }),
128
+ React.createElement(DataTable, { data: data, filter: filter, filterColumn: "name", pagination: pagination, setPagination: setPagination, columns: columns, initialColumnOrder: [{ id: "name", desc: false }], columnsBreakpoints: { lastUpdated: "sm" } })));
129
+ };
130
+ export var DataTablePaginatedServerSideExample = function () {
131
+ var _a = __read(React.useState({
132
+ pageIndex: 0,
133
+ pageSize: 2,
134
+ }), 2), pagination = _a[0], setPagination = _a[1];
135
+ var _b = __read(React.useState(""), 2), filter = _b[0], setFilter = _b[1];
136
+ var rows = useMemo(function () {
137
+ return data.slice(pagination.pageIndex * pagination.pageSize, (pagination.pageIndex + 1) * pagination.pageSize);
138
+ }, [data, pagination]);
139
+ return (React.createElement("div", { className: "s-w-full s-max-w-4xl s-overflow-x-auto" },
140
+ React.createElement(Input, { name: "filter", placeholder: "Filter", value: filter, onChange: function (v) { return setFilter(v); } }),
141
+ React.createElement(DataTable, { data: rows, totalRowCount: data.length, filter: filter, filterColumn: "name", pagination: pagination, setPagination: setPagination, columns: columns, initialColumnOrder: [{ id: "name", desc: false }], columnsBreakpoints: { lastUpdated: "sm" } })));
115
142
  };
116
143
  //# sourceMappingURL=DataTable.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.stories.js","sourceRoot":"","sources":["../../../src/stories/DataTable.stories.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.stories.js","sourceRoot":"","sources":["../../../src/stories/DataTable.stories.tsx"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ export default meta;
8
8
  export declare const PaginationSM: () => React.JSX.Element;
9
9
  export declare const PaginationXS: () => React.JSX.Element;
10
10
  export declare const PaginationNoPageButtons: () => React.JSX.Element;
11
+ export declare const PaginationWithUrl: () => React.JSX.Element;
11
12
  //# sourceMappingURL=Pagination.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/Pagination.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,QAAA,MAAM,IAAI;;;CAGyB,CAAC;AAEpC,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,YAAY,yBAQxB,CAAC;AAEF,eAAO,MAAM,YAAY,yBAUxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,yBAWnC,CAAC"}
1
+ {"version":3,"file":"Pagination.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/Pagination.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,QAAA,MAAM,IAAI;;;CAGyB,CAAC;AAEpC,eAAe,IAAI,CAAC;AACpB,eAAO,MAAM,YAAY,yBAYxB,CAAC;AAEF,eAAO,MAAM,YAAY,yBAcxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,yBAenC,CAAC;AAEF,eAAO,MAAM,iBAAiB,yBAa7B,CAAC"}
@@ -1,4 +1,6 @@
1
+ import { __read } from "tslib";
1
2
  import React from "react";
3
+ import { usePaginationFromUrl } from "../hooks/usePaginationFromUrl";
2
4
  import { Pagination } from "../index_with_tw_base";
3
5
  var meta = {
4
6
  title: "Components/Pagination",
@@ -6,12 +8,32 @@ var meta = {
6
8
  };
7
9
  export default meta;
8
10
  export var PaginationSM = function () {
9
- return (React.createElement(Pagination, { itemsCount: 960, maxItemsPerPage: 50, onButtonClick: function () { } }));
11
+ var _a = __read(React.useState({
12
+ pageIndex: 0,
13
+ pageSize: 50,
14
+ }), 2), pagination = _a[0], setPagination = _a[1];
15
+ return (React.createElement(Pagination, { rowCount: 960, pagination: pagination, setPagination: setPagination }));
10
16
  };
11
17
  export var PaginationXS = function () {
12
- return (React.createElement(Pagination, { itemsCount: 960, maxItemsPerPage: 50, size: "xs", showDetails: false, onButtonClick: function () { } }));
18
+ var _a = __read(React.useState({
19
+ pageIndex: 0,
20
+ pageSize: 50,
21
+ }), 2), pagination = _a[0], setPagination = _a[1];
22
+ return (React.createElement(Pagination, { rowCount: 960, size: "xs", showDetails: false, pagination: pagination, setPagination: setPagination }));
13
23
  };
14
24
  export var PaginationNoPageButtons = function () {
15
- return (React.createElement(Pagination, { itemsCount: 960, maxItemsPerPage: 50, size: "xs", showDetails: false, showPageButtons: false, onButtonClick: function () { } }));
25
+ var _a = __read(React.useState({
26
+ pageIndex: 0,
27
+ pageSize: 50,
28
+ }), 2), pagination = _a[0], setPagination = _a[1];
29
+ return (React.createElement(Pagination, { rowCount: 960, size: "xs", showDetails: false, showPageButtons: false, pagination: pagination, setPagination: setPagination }));
30
+ };
31
+ export var PaginationWithUrl = function () {
32
+ var _a = usePaginationFromUrl("example", 50), pagination = _a.pagination, setPagination = _a.setPagination;
33
+ return (React.createElement(React.Fragment, null,
34
+ React.createElement("div", { className: "s-p-2" },
35
+ "Current hash: ",
36
+ location.hash),
37
+ React.createElement(Pagination, { rowCount: 960, pagination: pagination, setPagination: setPagination })));
16
38
  };
17
39
  //# sourceMappingURL=Pagination.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.stories.js","sourceRoot":"","sources":["../../../src/stories/Pagination.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,IAAM,IAAI,GAAG;IACX,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,UAAU;CACY,CAAC;AAEpC,eAAe,IAAI,CAAC;AAEpB,MAAM,CAAC,IAAM,YAAY,GAAG;IAC1B,OAAO,CACL,oBAAC,UAAU,IACT,UAAU,EAAE,GAAG,EACf,eAAe,EAAE,EAAE,EACnB,aAAa,EAAE,cAAO,CAAC,GACvB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,YAAY,GAAG;IAC1B,OAAO,CACL,oBAAC,UAAU,IACT,UAAU,EAAE,GAAG,EACf,eAAe,EAAE,EAAE,EACnB,IAAI,EAAC,IAAI,EACT,WAAW,EAAE,KAAK,EAClB,aAAa,EAAE,cAAO,CAAC,GACvB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,uBAAuB,GAAG;IACrC,OAAO,CACL,oBAAC,UAAU,IACT,UAAU,EAAE,GAAG,EACf,eAAe,EAAE,EAAE,EACnB,IAAI,EAAC,IAAI,EACT,WAAW,EAAE,KAAK,EAClB,eAAe,EAAE,KAAK,EACtB,aAAa,EAAE,cAAO,CAAC,GACvB,CACH,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Pagination.stories.js","sourceRoot":"","sources":["../../../src/stories/Pagination.stories.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,IAAM,IAAI,GAAG;IACX,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,UAAU;CACY,CAAC;AAEpC,eAAe,IAAI,CAAC;AACpB,MAAM,CAAC,IAAM,YAAY,GAAG;IACpB,IAAA,KAAA,OAA8B,KAAK,CAAC,QAAQ,CAAC;QACjD,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,EAAE;KACb,CAAC,IAAA,EAHK,UAAU,QAAA,EAAE,aAAa,QAG9B,CAAC;IACH,OAAO,CACL,oBAAC,UAAU,IACT,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,GAC5B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,YAAY,GAAG;IACpB,IAAA,KAAA,OAA8B,KAAK,CAAC,QAAQ,CAAC;QACjD,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,EAAE;KACb,CAAC,IAAA,EAHK,UAAU,QAAA,EAAE,aAAa,QAG9B,CAAC;IACH,OAAO,CACL,oBAAC,UAAU,IACT,QAAQ,EAAE,GAAG,EACb,IAAI,EAAC,IAAI,EACT,WAAW,EAAE,KAAK,EAClB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,GAC5B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,uBAAuB,GAAG;IAC/B,IAAA,KAAA,OAA8B,KAAK,CAAC,QAAQ,CAAC;QACjD,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,EAAE;KACb,CAAC,IAAA,EAHK,UAAU,QAAA,EAAE,aAAa,QAG9B,CAAC;IACH,OAAO,CACL,oBAAC,UAAU,IACT,QAAQ,EAAE,GAAG,EACb,IAAI,EAAC,IAAI,EACT,WAAW,EAAE,KAAK,EAClB,eAAe,EAAE,KAAK,EACtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,GAC5B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG;IACzB,IAAA,KAAgC,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,EAAjE,UAAU,gBAAA,EAAE,aAAa,mBAAwC,CAAC;IAE1E,OAAO,CACL;QACE,6BAAK,SAAS,EAAC,OAAO;;YAAgB,QAAQ,CAAC,IAAI,CAAO;QAC1D,oBAAC,UAAU,IACT,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,GAC5B,CACD,CACJ,CAAC;AACJ,CAAC,CAAC"}
package/dist/sparkle.css CHANGED
@@ -3016,6 +3016,10 @@ select {
3016
3016
  padding: 0px;
3017
3017
  }
3018
3018
 
3019
+ .s-p-1 {
3020
+ padding: 0.25rem;
3021
+ }
3022
+
3019
3023
  .s-p-10 {
3020
3024
  padding: 2.5rem;
3021
3025
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dust-tt/sparkle",
3
- "version": "0.2.225",
3
+ "version": "0.2.227-rc",
4
4
  "scripts": {
5
5
  "build": "rm -rf dist && npm run tailwind && npm run build:esm && npm run build:cjs",
6
6
  "tailwind": "tailwindcss -i ./src/styles/tailwind.css -o dist/sparkle.css",