@react-fabric/data 1.0.0-beta.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.
Files changed (94) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +10 -0
  3. package/dist/cjs/histogram/Histogram.js +89 -0
  4. package/dist/cjs/histogram/Histogram.module.css +1 -0
  5. package/dist/cjs/hooks/useFilteredList.js +56 -0
  6. package/dist/cjs/hooks/usePagination.js +85 -0
  7. package/dist/cjs/i18n/ar.json.js +56 -0
  8. package/dist/cjs/i18n/en.json.js +56 -0
  9. package/dist/cjs/i18n/index.js +33 -0
  10. package/dist/cjs/index.js +24 -0
  11. package/dist/cjs/json/JsonViewer.js +246 -0
  12. package/dist/cjs/pagination/Pagination.js +100 -0
  13. package/dist/cjs/table/BodyCell.js +47 -0
  14. package/dist/cjs/table/HeaderCell.js +79 -0
  15. package/dist/cjs/table/Table.js +133 -0
  16. package/dist/cjs/table/useTableColumns.js +26 -0
  17. package/dist/cjs/table/useVirtualTable.js +56 -0
  18. package/dist/cjs/tree/TreeNode.js +107 -0
  19. package/dist/cjs/tree/TreePanel.js +136 -0
  20. package/dist/cjs/tree/types.js +30 -0
  21. package/dist/cjs/tree/useTree.js +181 -0
  22. package/dist/cjs/tree/utils.js +145 -0
  23. package/dist/cjs/virtual/Gallery.js +229 -0
  24. package/dist/cjs/virtual/List.js +218 -0
  25. package/dist/cjs/virtual/Scroller.js +77 -0
  26. package/dist/esm/histogram/Histogram.js +89 -0
  27. package/dist/esm/histogram/Histogram.module.css +1 -0
  28. package/dist/esm/hooks/useFilteredList.js +56 -0
  29. package/dist/esm/hooks/usePagination.js +85 -0
  30. package/dist/esm/i18n/ar.json.js +47 -0
  31. package/dist/esm/i18n/en.json.js +47 -0
  32. package/dist/esm/i18n/index.js +33 -0
  33. package/dist/esm/index.js +12 -0
  34. package/dist/esm/json/JsonViewer.js +246 -0
  35. package/dist/esm/pagination/Pagination.js +100 -0
  36. package/dist/esm/table/BodyCell.js +47 -0
  37. package/dist/esm/table/HeaderCell.js +79 -0
  38. package/dist/esm/table/Table.js +133 -0
  39. package/dist/esm/table/useTableColumns.js +26 -0
  40. package/dist/esm/table/useVirtualTable.js +56 -0
  41. package/dist/esm/tree/TreeNode.js +107 -0
  42. package/dist/esm/tree/TreePanel.js +136 -0
  43. package/dist/esm/tree/types.js +29 -0
  44. package/dist/esm/tree/useTree.js +181 -0
  45. package/dist/esm/tree/utils.js +140 -0
  46. package/dist/esm/virtual/Gallery.js +229 -0
  47. package/dist/esm/virtual/List.js +218 -0
  48. package/dist/esm/virtual/Scroller.js +77 -0
  49. package/dist/types/histogram/Histogram.d.ts +41 -0
  50. package/dist/types/hooks/useFilteredList.d.ts +7 -0
  51. package/dist/types/hooks/usePagination.d.ts +25 -0
  52. package/dist/types/i18n/index.d.ts +1 -0
  53. package/dist/types/index.d.ts +10 -0
  54. package/dist/types/json/JsonViewer.d.ts +59 -0
  55. package/dist/types/pagination/Pagination.d.ts +24 -0
  56. package/dist/types/table/BodyCell.d.ts +5 -0
  57. package/dist/types/table/HeaderCell.d.ts +2 -0
  58. package/dist/types/table/Table.d.ts +2 -0
  59. package/dist/types/table/types.d.ts +26 -0
  60. package/dist/types/table/useTableColumns.d.ts +8 -0
  61. package/dist/types/table/useVirtualTable.d.ts +8 -0
  62. package/dist/types/tree/TreeNode.d.ts +2 -0
  63. package/dist/types/tree/TreePanel.d.ts +2 -0
  64. package/dist/types/tree/types.d.ts +138 -0
  65. package/dist/types/tree/useTree.d.ts +20 -0
  66. package/dist/types/tree/utils.d.ts +10 -0
  67. package/dist/types/virtual/Gallery.d.ts +55 -0
  68. package/dist/types/virtual/List.d.ts +59 -0
  69. package/dist/types/virtual/Scroller.d.ts +8 -0
  70. package/package.json +55 -0
  71. package/src/histogram/Histogram.module.css +57 -0
  72. package/src/histogram/Histogram.tsx +176 -0
  73. package/src/hooks/useFilteredList.tsx +78 -0
  74. package/src/hooks/usePagination.tsx +135 -0
  75. package/src/i18n/ar.json +36 -0
  76. package/src/i18n/en.json +36 -0
  77. package/src/i18n/index.ts +28 -0
  78. package/src/index.ts +35 -0
  79. package/src/json/JsonViewer.tsx +381 -0
  80. package/src/pagination/Pagination.tsx +157 -0
  81. package/src/table/BodyCell.tsx +54 -0
  82. package/src/table/HeaderCell.tsx +70 -0
  83. package/src/table/Table.tsx +143 -0
  84. package/src/table/types.ts +65 -0
  85. package/src/table/useTableColumns.ts +52 -0
  86. package/src/table/useVirtualTable.ts +54 -0
  87. package/src/tree/TreeNode.tsx +163 -0
  88. package/src/tree/TreePanel.tsx +157 -0
  89. package/src/tree/types.ts +181 -0
  90. package/src/tree/useTree.ts +227 -0
  91. package/src/tree/utils.ts +185 -0
  92. package/src/virtual/Gallery.tsx +349 -0
  93. package/src/virtual/List.tsx +351 -0
  94. package/src/virtual/Scroller.tsx +81 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2024 React Fabric, Adarsh Pastakia
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,10 @@
1
+ # React-Fabric Data Module
2
+
3
+ #### Install
4
+
5
+ ```bash
6
+ # Using
7
+ yarn add @react-fabric/data
8
+ ```
9
+
10
+ #### Usage
@@ -0,0 +1,89 @@
1
+ 'use strict';
2
+
3
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
4
+ var core = require('@react-fabric/core');
5
+ var utilities = require('@react-fabric/utilities');
6
+ var classNames = require('classnames');
7
+ var react = require('react');
8
+ var reactI18next = require('react-i18next');
9
+ var Histogram_module = require('./Histogram.module.css');
10
+ var jsxRuntime = require('react/jsx-runtime');
11
+
12
+ var emptyIcon = "M20.84 22.73L11.11 13H3V11H9.11L6.11 8H3V6H4.11L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M15 11H14.2L15 11.8V11M21 8V6H9.2L11.2 8H21M3 18H9V16H3V18Z";
13
+ var Histogram = function Histogram(_ref) {
14
+ var _ref$items = _ref.items,
15
+ items = _ref$items === void 0 ? [] : _ref$items,
16
+ total = _ref.total,
17
+ _ref$color = _ref.color,
18
+ color = _ref$color === void 0 ? "primary" : _ref$color,
19
+ _ref$sortBy = _ref.sortBy,
20
+ sortBy = _ref$sortBy === void 0 ? "count" : _ref$sortBy,
21
+ emptyTitle = _ref.emptyTitle,
22
+ emptyMessage = _ref.emptyMessage,
23
+ _onClick = _ref.onClick;
24
+ var _useTranslation = reactI18next.useTranslation("data"),
25
+ t = _useTranslation.t;
26
+ var maxTotal = react.useMemo(function () {
27
+ if (total) return total;
28
+ return Math.max.apply(Math, _toConsumableArray(items.map(function (item) {
29
+ return item.count;
30
+ })));
31
+ }, [total, items]);
32
+ var sorted = react.useMemo(function () {
33
+ return items.sort(utilities.compareValues(sortBy === "label" ? "asc" : "desc", sortBy));
34
+ }, [items, sortBy]);
35
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
36
+ className: Histogram_module.histogram,
37
+ style: {
38
+ "--color": "var(--".concat(color, ")")
39
+ },
40
+ children: [sorted.length === 0 && /*#__PURE__*/jsxRuntime.jsx(core.EmptyContent, {
41
+ icon: /*#__PURE__*/jsxRuntime.jsx(core.Icon, {
42
+ icon: emptyIcon,
43
+ size: "2.5rem"
44
+ }),
45
+ title: emptyTitle,
46
+ message: emptyMessage !== null && emptyMessage !== void 0 ? emptyMessage : t("histogram.empty")
47
+ }), sorted === null || sorted === void 0 ? void 0 : sorted.map(function (item) {
48
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
49
+ role: "none",
50
+ "data-disabled": item.count === 0 || item.disabled,
51
+ className: classNames("relative cursor-pointer flex flex-nowrap items-center select-none overflow-hidden min-h-6 my-px", Histogram_module.histoLabel, (item.count === 0 || item.disabled) && "pointer-events-none"),
52
+ onClick: function onClick(e) {
53
+ return [_onClick === null || _onClick === void 0 ? void 0 : _onClick(item.id), e.stopPropagation()];
54
+ },
55
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
56
+ className: classNames("absolute z-0 inset-0 opacity-50 min-w-2 ltr:bg-gradient-to-r rtl:bg-gradient-to-l from-0% to-100%", Histogram_module.histoBar),
57
+ style: {
58
+ width: "".concat(Math.min(item.count / maxTotal, 1) * 100, "%")
59
+ }
60
+ }), /*#__PURE__*/jsxRuntime.jsx(core.ActionLabel, {
61
+ className: "flex-1 truncate z-1 text-sm cursor-pointer font-medium",
62
+ actions: [/*#__PURE__*/jsxRuntime.jsx(core.Button, {
63
+ color: "danger",
64
+ size: "sm",
65
+ icon: core.CoreIcons.funnelMinus,
66
+ "aria-label": "Filter Negative",
67
+ onClick: function onClick() {
68
+ return _onClick === null || _onClick === void 0 ? void 0 : _onClick(item.id, true);
69
+ }
70
+ }, "negative"), /*#__PURE__*/jsxRuntime.jsx(core.Button, {
71
+ color: "primary",
72
+ size: "sm",
73
+ icon: core.CoreIcons.funnelPlus,
74
+ "aria-label": "Filter",
75
+ onClick: function onClick() {
76
+ return _onClick === null || _onClick === void 0 ? void 0 : _onClick(item.id);
77
+ }
78
+ }, "positive")],
79
+ children: item.label
80
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
81
+ className: classNames("z-1 rounded-full text-xs font-medium px-2 py-1 leading-none", Histogram_module.histoBadge),
82
+ children: utilities.Format.number(item.count)
83
+ })]
84
+ }, item.id);
85
+ })]
86
+ });
87
+ };
88
+
89
+ exports.Histogram = Histogram;
@@ -0,0 +1 @@
1
+ @layer comp{.histogram{.histoLabel{--tw-gradient-from:var(--color) var(--tw-gradient-from-position);--tw-gradient-to:color-mix(in lab,var(--color) 20%,var(--fabric-bg)) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);background-color:color(from var(--color) srgb r g b/5%);&:hover{background-color:color(from var(--color) srgb r g b/15%)}&[data-disabled=true]{--color:theme(colors.tint.300);color:theme(colors.tint.600)}}.histoBar{box-shadow:-2px 0 0 var(--color) inset;:global([dir=rtl]) &{box-shadow:2px 0 0 var(--color) inset}}.histoBadge{background-color:color(from var(--color) srgb r g b/15%)}}}
@@ -0,0 +1,56 @@
1
+ 'use strict';
2
+
3
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
+ var utilities = require('@react-fabric/utilities');
5
+ var react = require('react');
6
+
7
+ var filterList = function filterList(items) {
8
+ var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
9
+ var matcher = arguments.length > 2 ? arguments[2] : undefined;
10
+ var newList = [];
11
+ items.forEach(function (item) {
12
+ if (matcher) {
13
+ return (matcher === null || matcher === void 0 ? void 0 : matcher(item, query)) && newList.push(item);
14
+ }
15
+ if (query && utilities.isString(query)) {
16
+ var _item$label;
17
+ if (utilities.matchString((_item$label = item.label) !== null && _item$label !== void 0 ? _item$label : item.toString(), query)) {
18
+ return newList.push(item);
19
+ }
20
+ } else {
21
+ return newList.push(item);
22
+ }
23
+ });
24
+ return newList;
25
+ };
26
+ var useFilteredList = function useFilteredList(items, matcher) {
27
+ var _useState = react.useState(),
28
+ _useState2 = _slicedToArray(_useState, 2),
29
+ query = _useState2[0],
30
+ setQuery = _useState2[1];
31
+ var _items = react.useDeferredValue(items !== null && items !== void 0 ? items : []);
32
+ var _useState3 = react.useState([]),
33
+ _useState4 = _slicedToArray(_useState3, 2),
34
+ filteredList = _useState4[0],
35
+ setFilteredList = _useState4[1];
36
+ var _useTransition = react.useTransition(),
37
+ _useTransition2 = _slicedToArray(_useTransition, 2),
38
+ isSearching = _useTransition2[0],
39
+ startTransition = _useTransition2[1];
40
+ var filterItems = react.useCallback(function (items, query) {
41
+ return startTransition(function () {
42
+ return setFilteredList(filterList(items, query, matcher));
43
+ });
44
+ }, []);
45
+ react.useEffect(function () {
46
+ if (query) filterItems(_items, query);else setFilteredList(items);
47
+ }, [query, _items]);
48
+ return {
49
+ onSearch: setQuery,
50
+ query: query,
51
+ filteredList: filteredList,
52
+ isSearching: isSearching
53
+ };
54
+ };
55
+
56
+ exports.useFilteredList = useFilteredList;
@@ -0,0 +1,85 @@
1
+ 'use strict';
2
+
3
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
+ var react = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ var TOTAL_PILLS = 12;
8
+ var TOTAL_SIBLINGS = 2;
9
+ var TOTAL_MID_SIBLINGS = 3;
10
+ var makeRange = function makeRange(start, end) {
11
+ var length = end - start;
12
+ return Array.from({
13
+ length: length
14
+ }, function (_, idx) {
15
+ return idx + start;
16
+ });
17
+ };
18
+ var usePagination = function usePagination(_ref) {
19
+ var totalRecords = _ref.totalRecords,
20
+ _ref$currentPage = _ref.currentPage,
21
+ currentPage = _ref$currentPage === void 0 ? 0 : _ref$currentPage,
22
+ _ref$perPage = _ref.perPage,
23
+ perPage = _ref$perPage === void 0 ? 25 : _ref$perPage,
24
+ onChange = _ref.onChange;
25
+ var _useState = react.useState(0),
26
+ _useState2 = _slicedToArray(_useState, 2),
27
+ page = _useState2[0],
28
+ setPage = _useState2[1];
29
+ var _useTransition = react.useTransition(),
30
+ _useTransition2 = _slicedToArray(_useTransition, 2),
31
+ startTransition = _useTransition2[1];
32
+
33
+ /** ***************** calculate total pages *******************/
34
+ var totalPages = react.useMemo(function () {
35
+ return Math.max(1, Math.ceil(totalRecords / perPage));
36
+ }, [totalRecords, perPage]);
37
+
38
+ /** ***************** calculate ranges *******************/
39
+ var ranges = react.useMemo(function () {
40
+ if (totalPages <= TOTAL_PILLS) {
41
+ return [makeRange(0, totalPages)];
42
+ }
43
+ var leftSiblingIndex = Math.max(page - TOTAL_MID_SIBLINGS, 0);
44
+ var rightSiblingIndex = Math.min(page + TOTAL_MID_SIBLINGS, totalPages - 1);
45
+ var shouldShowLeftDots = leftSiblingIndex >= TOTAL_SIBLINGS;
46
+ var shouldShowRightDots = rightSiblingIndex < totalPages - TOTAL_SIBLINGS;
47
+ if (!shouldShowLeftDots && shouldShowRightDots) {
48
+ return [makeRange(0, TOTAL_SIBLINGS * 3), makeRange(totalPages - TOTAL_SIBLINGS, totalPages)];
49
+ }
50
+ if (shouldShowLeftDots && !shouldShowRightDots) {
51
+ return [makeRange(0, TOTAL_SIBLINGS), makeRange(totalPages - TOTAL_SIBLINGS * 3, totalPages)];
52
+ }
53
+ if (shouldShowLeftDots && shouldShowRightDots) {
54
+ return [makeRange(0, TOTAL_SIBLINGS), makeRange(leftSiblingIndex + 1, rightSiblingIndex), makeRange(totalPages - TOTAL_SIBLINGS, totalPages)];
55
+ }
56
+ return [];
57
+ }, [page, totalPages]);
58
+
59
+ /** ***************** set page *******************/
60
+ react.useEffect(function () {
61
+ setPage(Math.min(currentPage, totalPages - 1));
62
+ onChange === null || onChange === void 0 || onChange(Math.min(currentPage, totalPages - 1));
63
+ }, [currentPage, totalPages]);
64
+ var headLabel = react.useMemo(function () {
65
+ return /*#__PURE__*/jsxRuntime.jsxs("span", {
66
+ className: "text-muted",
67
+ children: [page * perPage + 1, "\xA0-\xA0", Math.min(page * perPage + perPage, totalRecords)]
68
+ });
69
+ }, [page, perPage, totalRecords]);
70
+ var onPageChange = react.useCallback(function (page) {
71
+ setPage(page);
72
+ startTransition(function () {
73
+ return onChange === null || onChange === void 0 ? void 0 : onChange(page);
74
+ });
75
+ }, []);
76
+ return {
77
+ page: page,
78
+ totalPages: totalPages,
79
+ headLabel: headLabel,
80
+ ranges: ranges,
81
+ onPageChange: onPageChange
82
+ };
83
+ };
84
+
85
+ exports.usePagination = usePagination;
@@ -0,0 +1,56 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var label = {
6
+ noRecords: "لا تسجيلات"
7
+ };
8
+ var tree = {
9
+ noItems: "لا توجد عناصر",
10
+ error: "خطأ في تحميل العناصر",
11
+ loading: "تحميل العناصر…"
12
+ };
13
+ var datagrid = {
14
+ empty: "لا توجد سجلات متاحة"
15
+ };
16
+ var json = {
17
+ empty: "لا توجد خصائص بيانات",
18
+ "true": "نعم",
19
+ "false": "رقم"
20
+ };
21
+ var checkList = {
22
+ empty: "لا توجد عناصر قائمة"
23
+ };
24
+ var histogram = {
25
+ empty: "لا توجد رسوم بيانية"
26
+ };
27
+ var action = {
28
+ find: "تجد…",
29
+ copy: "قيمة النسخ",
30
+ filter: "منقي…",
31
+ showShortcuts: "اختصارات لوحة المفاتيح…",
32
+ collapseAll: "انهيار جميع",
33
+ expandAll: "توسيع الكل",
34
+ checkAll: "تحقق من الكل",
35
+ uncheckAll: "الغاءالكل",
36
+ addFilter: "أضف عامل تصفية",
37
+ addFilterNot: "إضافة لا تصفية"
38
+ };
39
+ var ar = {
40
+ label: label,
41
+ tree: tree,
42
+ datagrid: datagrid,
43
+ json: json,
44
+ checkList: checkList,
45
+ histogram: histogram,
46
+ action: action
47
+ };
48
+
49
+ exports.action = action;
50
+ exports.checkList = checkList;
51
+ exports.datagrid = datagrid;
52
+ exports.default = ar;
53
+ exports.histogram = histogram;
54
+ exports.json = json;
55
+ exports.label = label;
56
+ exports.tree = tree;
@@ -0,0 +1,56 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var label = {
6
+ noRecords: "No Records"
7
+ };
8
+ var tree = {
9
+ noItems: "No items",
10
+ error: "Error loading items",
11
+ loading: "Loading items..."
12
+ };
13
+ var datagrid = {
14
+ empty: "No records available"
15
+ };
16
+ var json = {
17
+ empty: "No data properties",
18
+ "true": "Yes",
19
+ "false": "No"
20
+ };
21
+ var checkList = {
22
+ empty: "No list items"
23
+ };
24
+ var histogram = {
25
+ empty: "No histograms"
26
+ };
27
+ var action = {
28
+ find: "Find...",
29
+ copy: "Copy Value",
30
+ filter: "Filter...",
31
+ showShortcuts: "Keyboard shortcuts...",
32
+ collapseAll: "Collapse All",
33
+ expandAll: "Expand All",
34
+ checkAll: "Check All",
35
+ uncheckAll: "Uncheck All",
36
+ addFilter: "Add Filter",
37
+ addFilterNot: "Add not Filter"
38
+ };
39
+ var en = {
40
+ label: label,
41
+ tree: tree,
42
+ datagrid: datagrid,
43
+ json: json,
44
+ checkList: checkList,
45
+ histogram: histogram,
46
+ action: action
47
+ };
48
+
49
+ exports.action = action;
50
+ exports.checkList = checkList;
51
+ exports.datagrid = datagrid;
52
+ exports.default = en;
53
+ exports.histogram = histogram;
54
+ exports.json = json;
55
+ exports.label = label;
56
+ exports.tree = tree;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var core = require('@react-fabric/core');
4
+ var ar = require('./ar.json.js');
5
+ var en = require('./en.json.js');
6
+
7
+ /*
8
+ * React Fabric
9
+ * @version: 1.0.0
10
+ *
11
+ *
12
+ * The MIT License (MIT)
13
+ * Copyright (c) 2024 Adarsh Pastakia
14
+ *
15
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
16
+ * and associated documentation files (the "Software"), to deal in the Software without restriction,
17
+ * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
18
+ * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
19
+ * subject to the following conditions:
20
+ *
21
+ * The above copyright notice and this permission notice shall be included in all copies or substantial
22
+ * portions of the Software.
23
+ *
24
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
25
+ * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ */
29
+
30
+ core.addTranslationBundle("data", {
31
+ en: en.default,
32
+ ar: ar.default
33
+ });
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ require('./i18n/index.js');
4
+ var Histogram = require('./histogram/Histogram.js');
5
+ var JsonViewer = require('./json/JsonViewer.js');
6
+ var Pagination = require('./pagination/Pagination.js');
7
+ var Table = require('./table/Table.js');
8
+ var TreePanel = require('./tree/TreePanel.js');
9
+ var Gallery = require('./virtual/Gallery.js');
10
+ var List = require('./virtual/List.js');
11
+ var useFilteredList = require('./hooks/useFilteredList.js');
12
+ var usePagination = require('./hooks/usePagination.js');
13
+
14
+
15
+
16
+ exports.Histogram = Histogram.Histogram;
17
+ exports.JsonViewer = JsonViewer.JsonViewer;
18
+ exports.Pagination = Pagination.Pagination;
19
+ exports.Table = Table.Table;
20
+ exports.TreePanel = TreePanel.TreePanel;
21
+ exports.VirtualGallery = Gallery.VirtualGallery;
22
+ exports.VirtualList = List.VirtualList;
23
+ exports.useFilteredList = useFilteredList.useFilteredList;
24
+ exports.usePagination = usePagination.usePagination;