@majoo-ui/react 1.41.0 → 1.41.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/index.umd.js CHANGED
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('prop-types'), require('@stitches/react'), require('@majoo-ui/core'), require('@majoo-ui/icons'), require('react-transition-group'), require('@majoo-ui/helpers'), require('react/jsx-runtime'), require('@radix-ui/react-avatar'), require('@radix-ui/react-tooltip'), require('@radix-ui/react-progress'), require('@radix-ui/react-label'), require('@radix-ui/react-checkbox'), require('@radix-ui/react-radio-group'), require('@radix-ui/react-switch'), require('downshift'), require('react-infinite-scroller'), require('lodash.debounce'), require('@floating-ui/react-dom-interactions'), require('@radix-ui/react-slider'), require('@radix-ui/react-tabs'), require('@radix-ui/react-separator'), require('@radix-ui/react-toggle-group'), require('@radix-ui/react-dialog'), require('@radix-ui/react-accordion'), require('dayzed'), require('moment'), require('react-dom'), require('react-table'), require('@radix-ui/react-alert-dialog'), require('@radix-ui/react-dropdown-menu'), require('@radix-ui/react-aspect-ratio'), require('react-color/lib/components/common'), require('react-color/lib/helpers/color'), require('react-step-wizard')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'react', 'prop-types', '@stitches/react', '@majoo-ui/core', '@majoo-ui/icons', 'react-transition-group', '@majoo-ui/helpers', 'react/jsx-runtime', '@radix-ui/react-avatar', '@radix-ui/react-tooltip', '@radix-ui/react-progress', '@radix-ui/react-label', '@radix-ui/react-checkbox', '@radix-ui/react-radio-group', '@radix-ui/react-switch', 'downshift', 'react-infinite-scroller', 'lodash.debounce', '@floating-ui/react-dom-interactions', '@radix-ui/react-slider', '@radix-ui/react-tabs', '@radix-ui/react-separator', '@radix-ui/react-toggle-group', '@radix-ui/react-dialog', '@radix-ui/react-accordion', 'dayzed', 'moment', 'react-dom', 'react-table', '@radix-ui/react-alert-dialog', '@radix-ui/react-dropdown-menu', '@radix-ui/react-aspect-ratio', 'react-color/lib/components/common', 'react-color/lib/helpers/color', 'react-step-wizard'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.React = {}, global.React, global.PropTypes, global.react, global.core, global.icons, global.reactTransitionGroup, global.helpers, global.jsxRuntime, global.AvatarPrimitive, global.TooltipPrimitive, global.ProgressPrimitive, global.LabelPrimitive, global.CheckboxPrimitive, global.RadioGroupPrimitive, global.SwitchPrimitive, global.Downshift, global.InfiniteScroll, global.debounce, global.reactDomInteractions, global.SliderPrimitive, global.TabsPrimitive, global.SeparatorPrimitive, global.ToggleGroupPrimitive, global.DialogPrimitive, global.AccordionPrimitive, global.dayzed, global.moment, global.ReactDOM, global.reactTable, global.ADialog, global.DropdownMenuPrimitive, global.AspectRatioPrimitive, global.common, global.color, global.StepWizard$1));
5
- })(this, (function (exports, React, PropTypes, react, core, icons, reactTransitionGroup, helpers, jsxRuntime, AvatarPrimitive, TooltipPrimitive, ProgressPrimitive, LabelPrimitive, CheckboxPrimitive, RadioGroupPrimitive, SwitchPrimitive, Downshift, InfiniteScroll, debounce, reactDomInteractions, SliderPrimitive, TabsPrimitive, SeparatorPrimitive, ToggleGroupPrimitive, DialogPrimitive, AccordionPrimitive, dayzed, moment, ReactDOM, reactTable, ADialog, DropdownMenuPrimitive, AspectRatioPrimitive, common, color, StepWizard$1) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('prop-types'), require('@stitches/react'), require('@majoo-ui/core'), require('@majoo-ui/icons'), require('react-transition-group'), require('@majoo-ui/helpers'), require('react/jsx-runtime'), require('@radix-ui/react-avatar'), require('@radix-ui/react-tooltip'), require('@radix-ui/react-progress'), require('@radix-ui/react-label'), require('@radix-ui/react-checkbox'), require('@radix-ui/react-radio-group'), require('react-number-format'), require('@radix-ui/react-switch'), require('downshift'), require('react-infinite-scroller'), require('lodash.debounce'), require('@floating-ui/react-dom-interactions'), require('@radix-ui/react-slider'), require('@radix-ui/react-tabs'), require('@radix-ui/react-separator'), require('@radix-ui/react-toggle-group'), require('@radix-ui/react-dialog'), require('@radix-ui/react-accordion'), require('dayzed'), require('moment'), require('react-dom'), require('react-table'), require('@radix-ui/react-alert-dialog'), require('@radix-ui/react-dropdown-menu'), require('@radix-ui/react-aspect-ratio'), require('react-color/lib/components/common'), require('react-color/lib/helpers/color'), require('react-step-wizard'), require('react-ui-scrollspy')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'react', 'prop-types', '@stitches/react', '@majoo-ui/core', '@majoo-ui/icons', 'react-transition-group', '@majoo-ui/helpers', 'react/jsx-runtime', '@radix-ui/react-avatar', '@radix-ui/react-tooltip', '@radix-ui/react-progress', '@radix-ui/react-label', '@radix-ui/react-checkbox', '@radix-ui/react-radio-group', 'react-number-format', '@radix-ui/react-switch', 'downshift', 'react-infinite-scroller', 'lodash.debounce', '@floating-ui/react-dom-interactions', '@radix-ui/react-slider', '@radix-ui/react-tabs', '@radix-ui/react-separator', '@radix-ui/react-toggle-group', '@radix-ui/react-dialog', '@radix-ui/react-accordion', 'dayzed', 'moment', 'react-dom', 'react-table', '@radix-ui/react-alert-dialog', '@radix-ui/react-dropdown-menu', '@radix-ui/react-aspect-ratio', 'react-color/lib/components/common', 'react-color/lib/helpers/color', 'react-step-wizard', 'react-ui-scrollspy'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.React = {}, global.React, global.PropTypes, global.react, global.core, global.icons, global.reactTransitionGroup, global.helpers, global.jsxRuntime, global.AvatarPrimitive, global.TooltipPrimitive, global.ProgressPrimitive, global.LabelPrimitive, global.CheckboxPrimitive, global.RadioGroupPrimitive, global.NumberFormat, global.SwitchPrimitive, global.Downshift, global.InfiniteScroll, global.debounce, global.reactDomInteractions, global.SliderPrimitive, global.TabsPrimitive, global.SeparatorPrimitive, global.ToggleGroupPrimitive, global.DialogPrimitive, global.AccordionPrimitive, global.dayzed, global.moment, global.ReactDOM, global.reactTable, global.ADialog, global.DropdownMenuPrimitive, global.AspectRatioPrimitive, global.common, global.color, global.StepWizard$1, global.ScrollSpy));
5
+ })(this, (function (exports, React, PropTypes, react, core, icons, reactTransitionGroup, helpers, jsxRuntime, AvatarPrimitive, TooltipPrimitive, ProgressPrimitive, LabelPrimitive, CheckboxPrimitive, RadioGroupPrimitive, NumberFormat, SwitchPrimitive, Downshift, InfiniteScroll, debounce, reactDomInteractions, SliderPrimitive, TabsPrimitive, SeparatorPrimitive, ToggleGroupPrimitive, DialogPrimitive, AccordionPrimitive, dayzed, moment, ReactDOM, reactTable, ADialog, DropdownMenuPrimitive, AspectRatioPrimitive, common, color, StepWizard$1, ScrollSpy) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -33,6 +33,7 @@
33
33
  var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
34
34
  var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
35
35
  var RadioGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(RadioGroupPrimitive);
36
+ var NumberFormat__default = /*#__PURE__*/_interopDefaultLegacy(NumberFormat);
36
37
  var SwitchPrimitive__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitive);
37
38
  var Downshift__default = /*#__PURE__*/_interopDefaultLegacy(Downshift);
38
39
  var InfiniteScroll__default = /*#__PURE__*/_interopDefaultLegacy(InfiniteScroll);
@@ -50,6 +51,7 @@
50
51
  var AspectRatioPrimitive__namespace = /*#__PURE__*/_interopNamespace(AspectRatioPrimitive);
51
52
  var color__namespace = /*#__PURE__*/_interopNamespace(color);
52
53
  var StepWizard__default = /*#__PURE__*/_interopDefaultLegacy(StepWizard$1);
54
+ var ScrollSpy__default = /*#__PURE__*/_interopDefaultLegacy(ScrollSpy);
53
55
 
54
56
  var _jsxFileName$17 = "/home/majoo-thariq/Majoonians/majoo-ui/packages/react/src/majoo-provider/ThemeProvider.js";
55
57
 
@@ -6074,6 +6076,151 @@
6074
6076
  };
6075
6077
  InputRightElement.name = 'InputRightElement';
6076
6078
 
6079
+ const InputNumber = styled(NumberFormat__default["default"], {
6080
+ // Reset
6081
+ appearance: 'none',
6082
+ boxSizing: 'border-box',
6083
+ fontFamily: 'inherit',
6084
+ margin: '0',
6085
+ outline: 'none',
6086
+ width: '100%',
6087
+ WebkitTapHighlightColor: 'rgba(0,0,0,0)',
6088
+ '&::before': {
6089
+ boxSizing: 'border-box'
6090
+ },
6091
+ '&::after': {
6092
+ boxSizing: 'border-box'
6093
+ },
6094
+ // Custom
6095
+ background: 'none',
6096
+ color: '$textPrimary',
6097
+ fontVariantNumeric: 'tabular-nums',
6098
+ fontSize: '$short-content-regular',
6099
+ letterSpacing: '$short-content-regular',
6100
+ lineHeight: '$short-content-regular',
6101
+ fontWeight: '400',
6102
+ padding: '10px $spacing-05',
6103
+ border: '1px solid $gray300',
6104
+ borderRadius: '$lg',
6105
+ '&:focus': {
6106
+ border: '1px solid $colors$primary400'
6107
+ },
6108
+ '&:active': {
6109
+ border: '1px solid $colors$primary400'
6110
+ },
6111
+ '&:hover': {
6112
+ border: '1px solid $colors$primary600'
6113
+ },
6114
+ '&:disabled': {
6115
+ backgroundColor: '$formDisable',
6116
+ color: '$textDisable',
6117
+ cursor: 'not-allowed',
6118
+ '&::placeholder': {
6119
+ color: '$textDisable'
6120
+ },
6121
+ '&:hover': {
6122
+ border: '1px solid $colors$gray300'
6123
+ }
6124
+ },
6125
+ '&::placeholder': {
6126
+ color: '$textDisable'
6127
+ },
6128
+ compoundVariants: [{
6129
+ inputGroup: true,
6130
+ isInvalid: true,
6131
+ css: {
6132
+ border: 'none',
6133
+ '&:focus': {
6134
+ border: 'none'
6135
+ },
6136
+ '&:hover': {
6137
+ border: 'none'
6138
+ }
6139
+ }
6140
+ }],
6141
+ variants: {
6142
+ readOnly: {
6143
+ true: {
6144
+ backgroundColor: '$formDisable'
6145
+ }
6146
+ },
6147
+ inputGroup: {
6148
+ true: {
6149
+ border: 'none',
6150
+ borderRadius: '$lg',
6151
+ '&:focus': {
6152
+ border: 'none'
6153
+ },
6154
+ '&:active': {
6155
+ border: 'none'
6156
+ },
6157
+ '&:hover': {
6158
+ border: 'none'
6159
+ },
6160
+ '&:disabled': {
6161
+ backgroundColor: 'transparent',
6162
+ color: '$textDisable',
6163
+ cursor: 'default',
6164
+ '&::placeholder': {
6165
+ color: '$textDisable'
6166
+ },
6167
+ '&:hover': {
6168
+ border: '1px solid $colors$gray300'
6169
+ }
6170
+ }
6171
+ }
6172
+ },
6173
+ size: {
6174
+ sm: {
6175
+ height: 32
6176
+ },
6177
+ lg: {
6178
+ height: 40
6179
+ }
6180
+ },
6181
+ isInvalid: {
6182
+ true: {
6183
+ border: '1px solid $colors$red400',
6184
+ '&:focus': {
6185
+ border: '1px solid $colors$red400'
6186
+ },
6187
+ '&:hover': {
6188
+ border: '1px solid $colors$red400'
6189
+ }
6190
+ }
6191
+ },
6192
+ isPicker: {
6193
+ true: {
6194
+ fontSize: '$placeholder',
6195
+ letterSpacing: '$placeholder',
6196
+ lineHeight: '$placeholder',
6197
+ fontVariantNumeric: 'unset',
6198
+ caretColor: 'transparent',
6199
+ cursor: 'pointer',
6200
+ padding: '0'
6201
+ }
6202
+ }
6203
+ },
6204
+ defaultVariants: {
6205
+ size: 'lg'
6206
+ }
6207
+ });
6208
+ InputNumber.propTypes = {
6209
+ placeholder: PropTypes__default["default"].string,
6210
+ value: PropTypes__default["default"].string,
6211
+ size: PropTypes__default["default"].oneOf(['sm', 'lg']),
6212
+ isInvalid: PropTypes__default["default"].bool,
6213
+ readOnly: PropTypes__default["default"].bool,
6214
+ disabled: PropTypes__default["default"].bool
6215
+ };
6216
+ InputNumber.defaultProps = {
6217
+ size: 'lg',
6218
+ thousandSeparator: '.',
6219
+ decimalSeparator: ','
6220
+ };
6221
+ InputNumber.name = 'InputText';
6222
+ InputNumber.displayName = 'InputNumber';
6223
+
6077
6224
  const _excluded$l = ["className", "children", "onClick", "size", "icon", "isRemovable", "disabled", "type", "onRemove", "readOnly"];
6078
6225
  var _jsxFileName$K = "/home/majoo-thariq/Majoonians/majoo-ui/packages/react/src/components/tag/Tag.js";
6079
6226
  const TagWrapper$3 = styled('div', {
@@ -8904,18 +9051,24 @@
8904
9051
  counterFooterText = _d === void 0 ? 'kategori dipilih' : _d,
8905
9052
  _e = _a.isLoading,
8906
9053
  isLoading = _e === void 0 ? false : _e,
9054
+ _f = _a.disableUnchecked,
9055
+ disableUnchecked = _f === void 0 ? false : _f,
8907
9056
  value = _a.value,
8908
9057
  fetchData = _a.fetchData,
8909
9058
  onQueryChange = _a.onQueryChange,
8910
9059
  css = _a.css;
8911
9060
 
8912
- var _f = React.useState([]),
8913
- checkedResources = _f[0],
8914
- setCheckedResources = _f[1];
9061
+ var _g = React.useState([]),
9062
+ checkedResources = _g[0],
9063
+ setCheckedResources = _g[1];
8915
9064
 
8916
- var _g = React.useState(),
8917
- query = _g[0],
8918
- setQuery = _g[1];
9065
+ var _h = React.useState(value),
9066
+ tempCheckedRes = _h[0];
9067
+ _h[1];
9068
+
9069
+ var _j = React.useState(),
9070
+ query = _j[0],
9071
+ setQuery = _j[1];
8919
9072
 
8920
9073
  var scrollerRef = React.useRef(null);
8921
9074
  React.useEffect(function () {
@@ -8929,6 +9082,7 @@
8929
9082
  var renderCheckbox = function renderCheckbox(resource, index) {
8930
9083
  var _a;
8931
9084
 
9085
+ var isDisabled = disableUnchecked && !tempCheckedRes.includes(resource);
8932
9086
  return jsxRuntime.jsx(InputCheckbox, {
8933
9087
  label: jsxRuntime.jsxs(Flex$1, __assign({
8934
9088
  gap: 3
@@ -8942,7 +9096,7 @@
8942
9096
  type: "varian",
8943
9097
  size: "lg",
8944
9098
  css: {
8945
- color: disabled ? '$textDisable' : '$textGreen'
9099
+ color: disabled || isDisabled ? '$textDisable' : '$textGreen'
8946
9100
  }
8947
9101
  }, {
8948
9102
  children: variant
@@ -8950,7 +9104,8 @@
8950
9104
  })]
8951
9105
  }), void 0),
8952
9106
  index: index,
8953
- value: resource.value
9107
+ value: resource.value,
9108
+ disabled: isDisabled
8954
9109
  }, "".concat(resource.value, "-").concat(new Date().toISOString()));
8955
9110
  };
8956
9111
 
@@ -9014,12 +9169,14 @@
9014
9169
  wrapper: function (children) {
9015
9170
  return jsxRuntime.jsx(InfiniteScroll__default["default"], __assign({
9016
9171
  loadMore: function (_) {
9017
- return fetchData({
9018
- query: query
9019
- });
9172
+ if (!isLoading) {
9173
+ fetchData({
9174
+ query: query
9175
+ });
9176
+ }
9020
9177
  },
9021
9178
  hasMore: true,
9022
- threshold: 10,
9179
+ threshold: 5,
9023
9180
  useWindow: false
9024
9181
  }, {
9025
9182
  children: children
@@ -13867,12 +14024,7 @@
13867
14024
  height: '100%',
13868
14025
  overflowY: 'auto',
13869
14026
  overflowX: 'hidden',
13870
- padding: '0 $spacing-05',
13871
- '-ms-overflow-style': 'none',
13872
- scrollbarWidth: 'none',
13873
- '&::-webkit-scrollbar': {
13874
- display: 'none'
13875
- }
14027
+ padding: '0 $spacing-05'
13876
14028
  });
13877
14029
  const TableHeadRow$1 = styled('tr', {
13878
14030
  borderBottom: '1pt solid $bgBorder',
@@ -13903,12 +14055,13 @@
13903
14055
  fontWeight: '400',
13904
14056
  color: '$textPrimary'
13905
14057
  });
13906
-
13907
- function MobileTable({
14058
+ const MobileTable = /*#__PURE__*/React__default["default"].forwardRef(({
13908
14059
  instance,
14060
+ isInfiniteScroll,
13909
14061
  footer,
14062
+ infiniteScrollWrapper,
13910
14063
  css
13911
- }) {
14064
+ }, ref) => {
13912
14065
  const {
13913
14066
  getTableProps,
13914
14067
  getTableBodyProps,
@@ -13921,98 +14074,101 @@
13921
14074
  } = instance;
13922
14075
  return /*#__PURE__*/React__default["default"].createElement(TableContainer$1, {
13923
14076
  css: css,
13924
- __self: this,
14077
+ ref: ref,
14078
+ __self: undefined,
13925
14079
  __source: {
13926
14080
  fileName: _jsxFileName$i,
13927
- lineNumber: 71,
14081
+ lineNumber: 74,
13928
14082
  columnNumber: 5
13929
14083
  }
13930
- }, /*#__PURE__*/React__default["default"].createElement(TableContent, _extends({}, getTableProps(), {
13931
- __self: this,
14084
+ }, infiniteScrollWrapper( /*#__PURE__*/React__default["default"].createElement(TableContent, _extends({}, getTableProps(), {
14085
+ __self: undefined,
13932
14086
  __source: {
13933
14087
  fileName: _jsxFileName$i,
13934
- lineNumber: 72,
13935
- columnNumber: 7
14088
+ lineNumber: 76,
14089
+ columnNumber: 9
13936
14090
  }
13937
14091
  }), /*#__PURE__*/React__default["default"].createElement(TableHead, {
13938
- __self: this,
14092
+ __self: undefined,
13939
14093
  __source: {
13940
14094
  fileName: _jsxFileName$i,
13941
- lineNumber: 73,
13942
- columnNumber: 9
14095
+ lineNumber: 77,
14096
+ columnNumber: 11
13943
14097
  }
13944
14098
  }, headerGroups.map(headerGroup => /*#__PURE__*/React__default["default"].createElement(TableHeadRow$1, _extends({}, headerGroup.getHeaderGroupProps(), {
13945
- __self: this,
14099
+ __self: undefined,
13946
14100
  __source: {
13947
14101
  fileName: _jsxFileName$i,
13948
- lineNumber: 75,
13949
- columnNumber: 13
14102
+ lineNumber: 79,
14103
+ columnNumber: 15
13950
14104
  }
13951
14105
  }), headerGroup.headers.map(column => {
13952
14106
  const headerRender = column.render('Header');
13953
- return /*#__PURE__*/React__default["default"].createElement(TableHeadCell$1, _extends({}, column.getHeaderProps(column.getSortByToggleProps()), {
13954
- __self: this,
14107
+ return /*#__PURE__*/React__default["default"].createElement(TableHeadCell$1, _extends({}, column.getHeaderProps(column.getSortByToggleProps && !column.unsortable ? column.getSortByToggleProps({
14108
+ title: 'Urutkan'
14109
+ }) : {}), {
14110
+ __self: undefined,
13955
14111
  __source: {
13956
14112
  fileName: _jsxFileName$i,
13957
- lineNumber: 79,
13958
- columnNumber: 19
14113
+ lineNumber: 83,
14114
+ columnNumber: 21
13959
14115
  }
13960
14116
  }), typeof headerRender === 'string' ? /*#__PURE__*/React__default["default"].createElement(TableHeaderCellContainer, {
13961
- __self: this,
14117
+ __self: undefined,
13962
14118
  __source: {
13963
14119
  fileName: _jsxFileName$i,
13964
- lineNumber: 81,
13965
- columnNumber: 23
14120
+ lineNumber: 91,
14121
+ columnNumber: 25
13966
14122
  }
13967
14123
  }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(TableHeadCellContent, {
13968
14124
  heading: "headerTable",
13969
14125
  color: "secondary",
13970
- __self: this,
14126
+ __self: undefined,
13971
14127
  __source: {
13972
14128
  fileName: _jsxFileName$i,
13973
- lineNumber: 83,
13974
- columnNumber: 27
14129
+ lineNumber: 93,
14130
+ columnNumber: 29
13975
14131
  }
13976
14132
  }, headerRender.toUpperCase()), /*#__PURE__*/React__default["default"].createElement(icons.SortingOutline, {
13977
14133
  color: colors.iconSecondary,
13978
- __self: this,
14134
+ __self: undefined,
13979
14135
  __source: {
13980
14136
  fileName: _jsxFileName$i,
13981
- lineNumber: 86,
13982
- columnNumber: 27
14137
+ lineNumber: 96,
14138
+ columnNumber: 29
13983
14139
  }
13984
14140
  }))) : headerRender);
13985
14141
  })))), /*#__PURE__*/React__default["default"].createElement(TableBody, _extends({}, getTableBodyProps(), {
13986
- __self: this,
14142
+ __self: undefined,
13987
14143
  __source: {
13988
14144
  fileName: _jsxFileName$i,
13989
- lineNumber: 98,
13990
- columnNumber: 9
14145
+ lineNumber: 108,
14146
+ columnNumber: 11
13991
14147
  }
13992
14148
  }), page.map(row => {
13993
14149
  prepareRow(row);
13994
14150
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
13995
14151
  key: row.id,
13996
- __self: this,
14152
+ __self: undefined,
13997
14153
  __source: {
13998
14154
  fileName: _jsxFileName$i,
13999
- lineNumber: 102,
14000
- columnNumber: 15
14155
+ lineNumber: 112,
14156
+ columnNumber: 17
14001
14157
  }
14002
14158
  }, /*#__PURE__*/React__default["default"].createElement(TableRow$1, _extends({}, row.getRowProps(), {
14003
- __self: this,
14159
+ __self: undefined,
14004
14160
  __source: {
14005
14161
  fileName: _jsxFileName$i,
14006
- lineNumber: 103,
14007
- columnNumber: 17
14162
+ lineNumber: 113,
14163
+ columnNumber: 19
14008
14164
  }
14009
14165
  }), row.cells.map(cell => {
14010
14166
  return /*#__PURE__*/React__default["default"].createElement(TableCell$1, _extends({}, cell.getCellProps(addOnCellStyle(cell.column.id)), {
14011
- __self: this,
14167
+ __self: undefined,
14012
14168
  __source: {
14013
14169
  fileName: _jsxFileName$i,
14014
- lineNumber: 106,
14015
- columnNumber: 23
14170
+ lineNumber: 116,
14171
+ columnNumber: 25
14016
14172
  }
14017
14173
  }), cell.column.accessor ? /*#__PURE__*/React__default["default"].createElement(Flex$1, {
14018
14174
  justify: "between",
@@ -14027,49 +14183,49 @@
14027
14183
  css: {
14028
14184
  cursor: 'pointer'
14029
14185
  },
14030
- __self: this,
14186
+ __self: undefined,
14031
14187
  __source: {
14032
14188
  fileName: _jsxFileName$i,
14033
- lineNumber: 108,
14034
- columnNumber: 27
14189
+ lineNumber: 118,
14190
+ columnNumber: 29
14035
14191
  }
14036
14192
  }, cell.render('Cell'), row.isExpanded ? /*#__PURE__*/React__default["default"].createElement(icons.ChevronUpOutline, {
14037
- __self: this,
14193
+ __self: undefined,
14038
14194
  __source: {
14039
14195
  fileName: _jsxFileName$i,
14040
- lineNumber: 122,
14041
- columnNumber: 47
14196
+ lineNumber: 132,
14197
+ columnNumber: 49
14042
14198
  }
14043
14199
  }) : /*#__PURE__*/React__default["default"].createElement(icons.ChevronDownOutline, {
14044
- __self: this,
14200
+ __self: undefined,
14045
14201
  __source: {
14046
14202
  fileName: _jsxFileName$i,
14047
- lineNumber: 122,
14048
- columnNumber: 70
14203
+ lineNumber: 132,
14204
+ columnNumber: 72
14049
14205
  }
14050
14206
  })) : cell.render('Cell'));
14051
14207
  })), row.isExpanded ? /*#__PURE__*/React__default["default"].createElement(TableRow$1, {
14052
- __self: this,
14208
+ __self: undefined,
14053
14209
  __source: {
14054
14210
  fileName: _jsxFileName$i,
14055
- lineNumber: 132,
14056
- columnNumber: 19
14211
+ lineNumber: 142,
14212
+ columnNumber: 21
14057
14213
  }
14058
14214
  }, /*#__PURE__*/React__default["default"].createElement(TableCell$1, {
14059
14215
  colSpan: visibleColumns.length,
14060
- __self: this,
14216
+ __self: undefined,
14061
14217
  __source: {
14062
14218
  fileName: _jsxFileName$i,
14063
- lineNumber: 133,
14064
- columnNumber: 21
14219
+ lineNumber: 143,
14220
+ columnNumber: 23
14065
14221
  }
14066
14222
  }, /*#__PURE__*/React__default["default"].createElement(Flex$1, {
14067
14223
  direction: "column",
14068
- __self: this,
14224
+ __self: undefined,
14069
14225
  __source: {
14070
14226
  fileName: _jsxFileName$i,
14071
- lineNumber: 134,
14072
- columnNumber: 23
14227
+ lineNumber: 144,
14228
+ columnNumber: 25
14073
14229
  }
14074
14230
  }, row.allCells.filter(cell => !cell.column.isMobileHeader && (cell.column.accessor || cell.column.id === 'menu')).map(cell => cell.column.accessor ? /*#__PURE__*/React__default["default"].createElement(Flex$1, {
14075
14231
  key: `${cell.column.id}-${row.id}`,
@@ -14080,20 +14236,20 @@
14080
14236
  padding: '$spacing-03 $spacing-05',
14081
14237
  borderBottom: '1pt solid $bgBorder'
14082
14238
  },
14083
- __self: this,
14239
+ __self: undefined,
14084
14240
  __source: {
14085
14241
  fileName: _jsxFileName$i,
14086
- lineNumber: 141,
14087
- columnNumber: 31
14242
+ lineNumber: 151,
14243
+ columnNumber: 33
14088
14244
  }
14089
14245
  }, /*#__PURE__*/React__default["default"].createElement(Heading, {
14090
14246
  heading: "headerTable",
14091
14247
  color: "secondary",
14092
- __self: this,
14248
+ __self: undefined,
14093
14249
  __source: {
14094
14250
  fileName: _jsxFileName$i,
14095
- lineNumber: 151,
14096
- columnNumber: 33
14251
+ lineNumber: 161,
14252
+ columnNumber: 35
14097
14253
  }
14098
14254
  }, cell.column.Header.toUpperCase()), cell.render('Cell')) : /*#__PURE__*/React__default["default"].createElement(Flex$1, {
14099
14255
  key: `${cell.column.id}-${row.id}`,
@@ -14102,37 +14258,37 @@
14102
14258
  height: '40px',
14103
14259
  alignSelf: 'flex-end'
14104
14260
  },
14105
- __self: this,
14261
+ __self: undefined,
14106
14262
  __source: {
14107
14263
  fileName: _jsxFileName$i,
14108
- lineNumber: 157,
14109
- columnNumber: 31
14264
+ lineNumber: 167,
14265
+ columnNumber: 33
14110
14266
  }
14111
14267
  }, cell.render('Cell')))))) : null);
14112
- })), /*#__PURE__*/React__default["default"].createElement(TableFoot, {
14113
- __self: this,
14268
+ })), !isInfiniteScroll && /*#__PURE__*/React__default["default"].createElement(TableFoot, {
14269
+ __self: undefined,
14114
14270
  __source: {
14115
14271
  fileName: _jsxFileName$i,
14116
- lineNumber: 177,
14117
- columnNumber: 9
14272
+ lineNumber: 188,
14273
+ columnNumber: 13
14118
14274
  }
14119
14275
  }, /*#__PURE__*/React__default["default"].createElement(TableFootRow, {
14120
- __self: this,
14276
+ __self: undefined,
14121
14277
  __source: {
14122
14278
  fileName: _jsxFileName$i,
14123
- lineNumber: 178,
14124
- columnNumber: 11
14279
+ lineNumber: 189,
14280
+ columnNumber: 15
14125
14281
  }
14126
14282
  }, /*#__PURE__*/React__default["default"].createElement(TableFootCell, {
14127
14283
  colSpan: "100%",
14128
- __self: this,
14284
+ __self: undefined,
14129
14285
  __source: {
14130
14286
  fileName: _jsxFileName$i,
14131
- lineNumber: 179,
14132
- columnNumber: 13
14287
+ lineNumber: 190,
14288
+ columnNumber: 17
14133
14289
  }
14134
- }, footer)))));
14135
- }
14290
+ }, footer))))));
14291
+ });
14136
14292
 
14137
14293
  var _jsxFileName$h = "/home/majoo-thariq/Majoonians/majoo-ui/packages/react/src/components/table/Table.js";
14138
14294
  const TableContainer = styled('div', {
@@ -14339,9 +14495,12 @@
14339
14495
  emptyDataMessage,
14340
14496
  isLoading,
14341
14497
  css,
14342
- onSelectedChange
14498
+ onSelectedChange,
14499
+ isInfiniteScroll,
14500
+ hasMoreItems,
14501
+ rowLimit
14343
14502
  }) {
14344
- const [limit, setLimit] = React.useState(10);
14503
+ const [limit, setLimit] = React.useState(rowLimit);
14345
14504
  const instance = reactTable.useTable({
14346
14505
  columns,
14347
14506
  data,
@@ -14373,8 +14532,7 @@
14373
14532
  pageSize,
14374
14533
  sortBy,
14375
14534
  selectedRowIds
14376
- },
14377
- selectedFlatRows
14535
+ }
14378
14536
  } = instance;
14379
14537
 
14380
14538
  const doFetchData = (pageIndex, pageSize, sortAccessor = sortBy.length > 0 ? sortBy[0].id : undefined, sortDirection = sortBy.length > 0 ? sortBy[0].desc ? 'DESC' : 'ASC' : undefined) => {
@@ -14387,6 +14545,7 @@
14387
14545
  if (fetchData) fetchData(fetchParams);
14388
14546
  };
14389
14547
 
14548
+ const scrollerRef = React.useRef(null);
14390
14549
  const isMobile = useMediaQuery('(max-width: 1024px)');
14391
14550
 
14392
14551
  const renderFooter = () => /*#__PURE__*/React__default["default"].createElement(Pagination, {
@@ -14414,11 +14573,35 @@
14414
14573
  __self: this,
14415
14574
  __source: {
14416
14575
  fileName: _jsxFileName$h,
14417
- lineNumber: 284,
14576
+ lineNumber: 289,
14418
14577
  columnNumber: 5
14419
14578
  }
14420
14579
  });
14421
14580
 
14581
+ const renderInfiniteScrollWrapper = children => /*#__PURE__*/React__default["default"].createElement(ConditionalWrapper, {
14582
+ condition: isInfiniteScroll && data.length > 0,
14583
+ wrapper: children => /*#__PURE__*/React__default["default"].createElement(InfiniteScroll__default["default"], {
14584
+ loadMore: _ => {
14585
+ if (!isLoading) doFetchData(controlledPageIndex + 1, rowLimit);
14586
+ },
14587
+ hasMore: hasMoreItems,
14588
+ threshold: 5,
14589
+ useWindow: false,
14590
+ __self: this,
14591
+ __source: {
14592
+ fileName: _jsxFileName$h,
14593
+ lineNumber: 316,
14594
+ columnNumber: 9
14595
+ }
14596
+ }, children),
14597
+ __self: this,
14598
+ __source: {
14599
+ fileName: _jsxFileName$h,
14600
+ lineNumber: 313,
14601
+ columnNumber: 5
14602
+ }
14603
+ }, children);
14604
+
14422
14605
  React.useEffect(() => {
14423
14606
  if (isMobile) {
14424
14607
  allColumns.map(column => {
@@ -14439,41 +14622,90 @@
14439
14622
  gotoPage(controlledPageIndex);
14440
14623
  }, [controlledPageIndex]);
14441
14624
  React.useEffect(() => {
14442
- if (data && data.length > 0) doFetchData(0, pageSize);
14625
+ if (data && data.length > 0) doFetchData(0, isInfiniteScroll ? rowLimit : pageSize);
14443
14626
  }, [sortBy]);
14444
14627
  React.useEffect(() => {
14445
14628
  if (data && data.length > 0 && selectedRowIds && onSelectedChange) onSelectedChange(selectedRowIds ? Object.keys(selectedRowIds) : []);
14446
14629
  }, [selectedRowIds]);
14447
- return !isMobile ? /*#__PURE__*/React__default["default"].createElement(TableContainer, {
14448
- css: css,
14630
+ React.useEffect(() => {
14631
+ if (isInfiniteScroll && data.length <= rowLimit) {
14632
+ var _scrollerRef$current;
14633
+
14634
+ (_scrollerRef$current = scrollerRef.current) === null || _scrollerRef$current === void 0 ? void 0 : _scrollerRef$current.scrollTo({
14635
+ top: 0
14636
+ });
14637
+ }
14638
+ }, [data]);
14639
+ return /*#__PURE__*/React__default["default"].createElement(Box$1, {
14640
+ css: {
14641
+ position: 'relative',
14642
+ width: `${css.width || '100%'}`,
14643
+ height: 'fit-content'
14644
+ },
14449
14645
  __self: this,
14450
14646
  __source: {
14451
14647
  fileName: _jsxFileName$h,
14452
- lineNumber: 337,
14648
+ lineNumber: 370,
14453
14649
  columnNumber: 5
14454
14650
  }
14455
- }, /*#__PURE__*/React__default["default"].createElement(TableContent, _extends({}, getTableProps(), {
14651
+ }, isLoading && /*#__PURE__*/React__default["default"].createElement(Flex$1, {
14652
+ justify: "center",
14653
+ align: "center",
14654
+ css: {
14655
+ zIndex: 10,
14656
+ position: 'absolute',
14657
+ inset: 0,
14658
+ top: isMobile ? 40 : 64,
14659
+ width: '100%',
14660
+ height: `calc(100% - ${isInfiniteScroll ? 0 : '72px'})`,
14661
+ backgroundColor: '$bgWhite',
14662
+ opacity: 0.8
14663
+ },
14456
14664
  __self: this,
14457
14665
  __source: {
14458
14666
  fileName: _jsxFileName$h,
14459
- lineNumber: 338,
14460
- columnNumber: 7
14667
+ lineNumber: 372,
14668
+ columnNumber: 9
14461
14669
  }
14462
- }), /*#__PURE__*/React__default["default"].createElement(TableHead, {
14670
+ }, /*#__PURE__*/React__default["default"].createElement(Text$1, {
14671
+ variant: "caption",
14463
14672
  __self: this,
14464
14673
  __source: {
14465
14674
  fileName: _jsxFileName$h,
14466
- lineNumber: 339,
14675
+ lineNumber: 386,
14676
+ columnNumber: 11
14677
+ }
14678
+ }, "Loading .... ")), !isMobile ? /*#__PURE__*/React__default["default"].createElement(TableContainer, {
14679
+ css: css,
14680
+ ref: scrollerRef,
14681
+ __self: this,
14682
+ __source: {
14683
+ fileName: _jsxFileName$h,
14684
+ lineNumber: 390,
14467
14685
  columnNumber: 9
14468
14686
  }
14687
+ }, renderInfiniteScrollWrapper( /*#__PURE__*/React__default["default"].createElement(TableContent, _extends({}, getTableProps(), {
14688
+ __self: this,
14689
+ __source: {
14690
+ fileName: _jsxFileName$h,
14691
+ lineNumber: 392,
14692
+ columnNumber: 13
14693
+ }
14694
+ }), /*#__PURE__*/React__default["default"].createElement(TableHead, {
14695
+ __self: this,
14696
+ __source: {
14697
+ fileName: _jsxFileName$h,
14698
+ lineNumber: 393,
14699
+ columnNumber: 15
14700
+ }
14469
14701
  }, headerGroups.map(headerGroup => {
14470
14702
  const visibleHeaders = headerGroup.headers.filter(column => !column.isSubRow);
14471
14703
  return /*#__PURE__*/React__default["default"].createElement(TableHeadRow, _extends({}, headerGroup.getHeaderGroupProps(), {
14472
14704
  __self: this,
14473
14705
  __source: {
14474
14706
  fileName: _jsxFileName$h,
14475
- lineNumber: 343,
14476
- columnNumber: 15
14707
+ lineNumber: 397,
14708
+ columnNumber: 21
14477
14709
  }
14478
14710
  }), visibleHeaders.map((column, index) => {
14479
14711
  const headerRender = column.render('Header');
@@ -14489,8 +14721,8 @@
14489
14721
  __self: this,
14490
14722
  __source: {
14491
14723
  fileName: _jsxFileName$h,
14492
- lineNumber: 347,
14493
- columnNumber: 21
14724
+ lineNumber: 401,
14725
+ columnNumber: 27
14494
14726
  }
14495
14727
  }), typeof headerRender === 'string' ? /*#__PURE__*/React__default["default"].createElement(TableHeaderCellContainer // css={{
14496
14728
  // padding:
@@ -14506,16 +14738,16 @@
14506
14738
  __self: this,
14507
14739
  __source: {
14508
14740
  fileName: _jsxFileName$h,
14509
- lineNumber: 363,
14510
- columnNumber: 25
14741
+ lineNumber: 417,
14742
+ columnNumber: 31
14511
14743
  }
14512
14744
  }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(TableHeadCellContent, {
14513
14745
  heading: "headerTable",
14514
14746
  __self: this,
14515
14747
  __source: {
14516
14748
  fileName: _jsxFileName$h,
14517
- lineNumber: 376,
14518
- columnNumber: 29
14749
+ lineNumber: 430,
14750
+ columnNumber: 35
14519
14751
  }
14520
14752
  }, headerRender.toUpperCase()))) : headerRender);
14521
14753
  }));
@@ -14523,8 +14755,8 @@
14523
14755
  __self: this,
14524
14756
  __source: {
14525
14757
  fileName: _jsxFileName$h,
14526
- lineNumber: 392,
14527
- columnNumber: 9
14758
+ lineNumber: 446,
14759
+ columnNumber: 15
14528
14760
  }
14529
14761
  }), page.map((row, i) => {
14530
14762
  var _row$cells$filter;
@@ -14538,17 +14770,19 @@
14538
14770
  __self: this,
14539
14771
  __source: {
14540
14772
  fileName: _jsxFileName$h,
14541
- lineNumber: 401,
14542
- columnNumber: 15
14773
+ lineNumber: 456,
14774
+ columnNumber: 21
14543
14775
  }
14544
14776
  }, /*#__PURE__*/React__default["default"].createElement(TableRow, _extends({}, row.getRowProps(), {
14545
14777
  __self: this,
14546
14778
  __source: {
14547
14779
  fileName: _jsxFileName$h,
14548
- lineNumber: 402,
14549
- columnNumber: 17
14780
+ lineNumber: 457,
14781
+ columnNumber: 23
14550
14782
  }
14551
- }), row.cells.filter(cell => !cell.column.isSubRow).map((cell, index) => /*#__PURE__*/React__default["default"].createElement(TableCell, _extends({}, cell.getCellProps(addOnCellStyle(cell.column.id)), {
14783
+ }), row.cells.filter(cell => !cell.column.isSubRow).map((cell, index) => /*#__PURE__*/React__default["default"].createElement(TableCell, _extends({
14784
+ key: cell.column.id
14785
+ }, cell.getCellProps(addOnCellStyle(cell.column.id)), {
14552
14786
  css: {
14553
14787
  // padding: cell.column.accessor && index > 0 ? '0 8px' : '0 20px',
14554
14788
  padding: cell.column.accessor ? '0 8px' : '0 20px'
@@ -14556,8 +14790,8 @@
14556
14790
  __self: this,
14557
14791
  __source: {
14558
14792
  fileName: _jsxFileName$h,
14559
- lineNumber: 406,
14560
- columnNumber: 23
14793
+ lineNumber: 461,
14794
+ columnNumber: 29
14561
14795
  }
14562
14796
  }), cell.render('Cell')))), row.isExpanded ? subRowCells.map(cell => /*#__PURE__*/React__default["default"].createElement(TableRow, {
14563
14797
  key: cell.column.id,
@@ -14565,24 +14799,24 @@
14565
14799
  __self: this,
14566
14800
  __source: {
14567
14801
  fileName: _jsxFileName$h,
14568
- lineNumber: 419,
14569
- columnNumber: 21
14802
+ lineNumber: 475,
14803
+ columnNumber: 27
14570
14804
  }
14571
14805
  }, leftAddOnCells.map((_, index) => /*#__PURE__*/React__default["default"].createElement("td", {
14572
14806
  key: index,
14573
14807
  __self: this,
14574
14808
  __source: {
14575
14809
  fileName: _jsxFileName$h,
14576
- lineNumber: 421,
14577
- columnNumber: 25
14810
+ lineNumber: 477,
14811
+ columnNumber: 31
14578
14812
  }
14579
14813
  })), /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
14580
14814
  key: cell.column.id,
14581
14815
  __self: this,
14582
14816
  __source: {
14583
14817
  fileName: _jsxFileName$h,
14584
- lineNumber: 423,
14585
- columnNumber: 23
14818
+ lineNumber: 479,
14819
+ columnNumber: 29
14586
14820
  }
14587
14821
  }, /*#__PURE__*/React__default["default"].createElement(TableCell, {
14588
14822
  subCell: true,
@@ -14595,16 +14829,16 @@
14595
14829
  __self: this,
14596
14830
  __source: {
14597
14831
  fileName: _jsxFileName$h,
14598
- lineNumber: 424,
14599
- columnNumber: 25
14832
+ lineNumber: 480,
14833
+ columnNumber: 31
14600
14834
  }
14601
14835
  }, /*#__PURE__*/React__default["default"].createElement(Paragraph, {
14602
14836
  paragraph: "shortContentBold",
14603
14837
  __self: this,
14604
14838
  __source: {
14605
14839
  fileName: _jsxFileName$h,
14606
- lineNumber: 433,
14607
- columnNumber: 27
14840
+ lineNumber: 489,
14841
+ columnNumber: 33
14608
14842
  }
14609
14843
  }, cell.column.Header)), /*#__PURE__*/React__default["default"].createElement(TableCell, {
14610
14844
  subCell: true,
@@ -14616,39 +14850,39 @@
14616
14850
  __self: this,
14617
14851
  __source: {
14618
14852
  fileName: _jsxFileName$h,
14619
- lineNumber: 435,
14620
- columnNumber: 25
14853
+ lineNumber: 491,
14854
+ columnNumber: 31
14621
14855
  }
14622
14856
  }, /*#__PURE__*/React__default["default"].createElement(Paragraph, {
14623
14857
  paragraph: "shortContentRegular",
14624
14858
  __self: this,
14625
14859
  __source: {
14626
14860
  fileName: _jsxFileName$h,
14627
- lineNumber: 443,
14628
- columnNumber: 27
14861
+ lineNumber: 499,
14862
+ columnNumber: 33
14629
14863
  }
14630
14864
  }, cell.render('Cell')))))) : null);
14631
- })), /*#__PURE__*/React__default["default"].createElement(TableFoot, {
14865
+ })), !isInfiniteScroll && /*#__PURE__*/React__default["default"].createElement(TableFoot, {
14632
14866
  __self: this,
14633
14867
  __source: {
14634
14868
  fileName: _jsxFileName$h,
14635
- lineNumber: 453,
14636
- columnNumber: 9
14869
+ lineNumber: 510,
14870
+ columnNumber: 17
14637
14871
  }
14638
14872
  }, /*#__PURE__*/React__default["default"].createElement(TableFootRow, {
14639
14873
  __self: this,
14640
14874
  __source: {
14641
14875
  fileName: _jsxFileName$h,
14642
- lineNumber: 454,
14643
- columnNumber: 11
14876
+ lineNumber: 511,
14877
+ columnNumber: 19
14644
14878
  }
14645
14879
  }, /*#__PURE__*/React__default["default"].createElement(TableFootCell, {
14646
14880
  colSpan: "100%",
14647
14881
  __self: this,
14648
14882
  __source: {
14649
14883
  fileName: _jsxFileName$h,
14650
- lineNumber: 455,
14651
- columnNumber: 13
14884
+ lineNumber: 512,
14885
+ columnNumber: 21
14652
14886
  }
14653
14887
  }, totalData > 0 || isLoading ? renderFooter() : /*#__PURE__*/React__default["default"].createElement(Flex$1, {
14654
14888
  css: {
@@ -14659,8 +14893,8 @@
14659
14893
  __self: this,
14660
14894
  __source: {
14661
14895
  fileName: _jsxFileName$h,
14662
- lineNumber: 459,
14663
- columnNumber: 17
14896
+ lineNumber: 516,
14897
+ columnNumber: 25
14664
14898
  }
14665
14899
  }, /*#__PURE__*/React__default["default"].createElement(Paragraph, {
14666
14900
  heading: "shortContentRegular",
@@ -14668,20 +14902,23 @@
14668
14902
  __self: this,
14669
14903
  __source: {
14670
14904
  fileName: _jsxFileName$h,
14671
- lineNumber: 466,
14672
- columnNumber: 19
14905
+ lineNumber: 523,
14906
+ columnNumber: 27
14673
14907
  }
14674
- }, emptyDataMessage || 'Tidak ada data'))))))) : /*#__PURE__*/React__default["default"].createElement(MobileTable, {
14908
+ }, emptyDataMessage || 'Tidak ada data')))))))) : /*#__PURE__*/React__default["default"].createElement(MobileTable, {
14909
+ ref: scrollerRef,
14675
14910
  instance: instance,
14911
+ isInfiniteScroll: isInfiniteScroll,
14676
14912
  footer: renderFooter(),
14913
+ infiniteScrollWrapper: renderInfiniteScrollWrapper,
14677
14914
  css: css,
14678
14915
  __self: this,
14679
14916
  __source: {
14680
14917
  fileName: _jsxFileName$h,
14681
- lineNumber: 477,
14682
- columnNumber: 5
14918
+ lineNumber: 536,
14919
+ columnNumber: 9
14683
14920
  }
14684
- });
14921
+ }));
14685
14922
  }
14686
14923
 
14687
14924
  Table.propTypes = {
@@ -14695,12 +14932,17 @@
14695
14932
  css: PropTypes__default["default"].object,
14696
14933
  onSelectedChange: PropTypes__default["default"].func,
14697
14934
  hideDataInfo: PropTypes__default["default"].bool,
14698
- emptyDataMessage: PropTypes__default["default"].string
14935
+ emptyDataMessage: PropTypes__default["default"].string,
14936
+ isInfiniteScroll: PropTypes__default["default"].bool,
14937
+ hasMoreItems: PropTypes__default["default"].bool,
14938
+ rowLimit: PropTypes__default["default"].number
14699
14939
  };
14700
14940
  Table.defaultProps = {
14701
14941
  keyId: 'id',
14702
14942
  pageIndex: 0,
14703
- hideDataInfo: false
14943
+ hideDataInfo: false,
14944
+ hasMoreItems: true,
14945
+ rowLimit: 10
14704
14946
  };
14705
14947
  Table.displayName = 'Table';
14706
14948
 
@@ -15521,7 +15763,7 @@
15521
15763
 
15522
15764
  var _jsxFileName$e = "/home/majoo-thariq/Majoonians/majoo-ui/packages/react/src/components/table/components/columns/RowMenuColumn.js";
15523
15765
 
15524
- const rowMenuColumn = options => ({
15766
+ const rowMenuColumn = (options, icon) => ({
15525
15767
  id: 'menu',
15526
15768
  Header: () => null,
15527
15769
  Cell: props => {
@@ -15534,7 +15776,7 @@
15534
15776
  __self: undefined,
15535
15777
  __source: {
15536
15778
  fileName: _jsxFileName$e,
15537
- lineNumber: 15,
15779
+ lineNumber: 27,
15538
15780
  columnNumber: 9
15539
15781
  }
15540
15782
  }, /*#__PURE__*/React__default["default"].createElement(DropdownMenuTrigger, {
@@ -15542,7 +15784,7 @@
15542
15784
  __self: undefined,
15543
15785
  __source: {
15544
15786
  fileName: _jsxFileName$e,
15545
- lineNumber: 16,
15787
+ lineNumber: 28,
15546
15788
  columnNumber: 11
15547
15789
  }
15548
15790
  }, /*#__PURE__*/React__default["default"].createElement(Box$1, {
@@ -15555,7 +15797,7 @@
15555
15797
  __self: undefined,
15556
15798
  __source: {
15557
15799
  fileName: _jsxFileName$e,
15558
- lineNumber: 17,
15800
+ lineNumber: 29,
15559
15801
  columnNumber: 13
15560
15802
  }
15561
15803
  }, /*#__PURE__*/React__default["default"].createElement(IconButton, {
@@ -15563,15 +15805,15 @@
15563
15805
  __self: undefined,
15564
15806
  __source: {
15565
15807
  fileName: _jsxFileName$e,
15566
- lineNumber: 18,
15808
+ lineNumber: 30,
15567
15809
  columnNumber: 15
15568
15810
  }
15569
- }, /*#__PURE__*/React__default["default"].createElement(icons.EllipsisHorizontalOutline, {
15811
+ }, icon || /*#__PURE__*/React__default["default"].createElement(icons.EllipsisHorizontalOutline, {
15570
15812
  __self: undefined,
15571
15813
  __source: {
15572
15814
  fileName: _jsxFileName$e,
15573
- lineNumber: 19,
15574
- columnNumber: 17
15815
+ lineNumber: 30,
15816
+ columnNumber: 70
15575
15817
  }
15576
15818
  })))), /*#__PURE__*/React__default["default"].createElement(DropdownMenuContent, {
15577
15819
  onInteractOutside: () => setOpenDrop(false),
@@ -15591,7 +15833,7 @@
15591
15833
  __self: undefined,
15592
15834
  __source: {
15593
15835
  fileName: _jsxFileName$e,
15594
- lineNumber: 23,
15836
+ lineNumber: 33,
15595
15837
  columnNumber: 11
15596
15838
  }
15597
15839
  }, options.map(option => /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(DropdownMenuItem, {
@@ -15603,7 +15845,7 @@
15603
15845
  __self: undefined,
15604
15846
  __source: {
15605
15847
  fileName: _jsxFileName$e,
15606
- lineNumber: 41,
15848
+ lineNumber: 51,
15607
15849
  columnNumber: 17
15608
15850
  }
15609
15851
  }, option.title), /*#__PURE__*/React__default["default"].createElement(DropdownMenuSeparator, {
@@ -15614,7 +15856,7 @@
15614
15856
  __self: undefined,
15615
15857
  __source: {
15616
15858
  fileName: _jsxFileName$e,
15617
- lineNumber: 46,
15859
+ lineNumber: 60,
15618
15860
  columnNumber: 17
15619
15861
  }
15620
15862
  }))))), /*#__PURE__*/React__default["default"].createElement(ModalDialog, {
@@ -15626,7 +15868,7 @@
15626
15868
  __self: undefined,
15627
15869
  __source: {
15628
15870
  fileName: _jsxFileName$e,
15629
- lineNumber: 51,
15871
+ lineNumber: 65,
15630
15872
  columnNumber: 9
15631
15873
  }
15632
15874
  }, /*#__PURE__*/React__default["default"].createElement(ModalDialogTrigger, {
@@ -15634,7 +15876,7 @@
15634
15876
  __self: undefined,
15635
15877
  __source: {
15636
15878
  fileName: _jsxFileName$e,
15637
- lineNumber: 58,
15879
+ lineNumber: 66,
15638
15880
  columnNumber: 11
15639
15881
  }
15640
15882
  }, /*#__PURE__*/React__default["default"].createElement(Box$1, {
@@ -15647,28 +15889,28 @@
15647
15889
  __self: undefined,
15648
15890
  __source: {
15649
15891
  fileName: _jsxFileName$e,
15650
- lineNumber: 59,
15892
+ lineNumber: 67,
15651
15893
  columnNumber: 13
15652
15894
  }
15653
15895
  }, /*#__PURE__*/React__default["default"].createElement(IconButton, {
15654
15896
  __self: undefined,
15655
15897
  __source: {
15656
15898
  fileName: _jsxFileName$e,
15657
- lineNumber: 60,
15899
+ lineNumber: 68,
15658
15900
  columnNumber: 15
15659
15901
  }
15660
- }, /*#__PURE__*/React__default["default"].createElement(icons.EllipsisHorizontalOutline, {
15902
+ }, icon || /*#__PURE__*/React__default["default"].createElement(icons.EllipsisHorizontalOutline, {
15661
15903
  __self: undefined,
15662
15904
  __source: {
15663
15905
  fileName: _jsxFileName$e,
15664
- lineNumber: 61,
15665
- columnNumber: 17
15906
+ lineNumber: 68,
15907
+ columnNumber: 36
15666
15908
  }
15667
15909
  })))), /*#__PURE__*/React__default["default"].createElement(ModalDialogTitle, {
15668
15910
  __self: undefined,
15669
15911
  __source: {
15670
15912
  fileName: _jsxFileName$e,
15671
- lineNumber: 65,
15913
+ lineNumber: 71,
15672
15914
  columnNumber: 11
15673
15915
  }
15674
15916
  }, "Aksi"), /*#__PURE__*/React__default["default"].createElement(ModalDialogContent, {
@@ -15678,7 +15920,7 @@
15678
15920
  __self: undefined,
15679
15921
  __source: {
15680
15922
  fileName: _jsxFileName$e,
15681
- lineNumber: 66,
15923
+ lineNumber: 72,
15682
15924
  columnNumber: 11
15683
15925
  }
15684
15926
  }, /*#__PURE__*/React__default["default"].createElement(Box$1, {
@@ -15693,7 +15935,7 @@
15693
15935
  __self: undefined,
15694
15936
  __source: {
15695
15937
  fileName: _jsxFileName$e,
15696
- lineNumber: 67,
15938
+ lineNumber: 73,
15697
15939
  columnNumber: 13
15698
15940
  }
15699
15941
  }, options.map(option => /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Box$1, {
@@ -15707,7 +15949,7 @@
15707
15949
  __self: undefined,
15708
15950
  __source: {
15709
15951
  fileName: _jsxFileName$e,
15710
- lineNumber: 70,
15952
+ lineNumber: 76,
15711
15953
  columnNumber: 19
15712
15954
  }
15713
15955
  }, /*#__PURE__*/React__default["default"].createElement(Paragraph, {
@@ -15716,7 +15958,7 @@
15716
15958
  __self: undefined,
15717
15959
  __source: {
15718
15960
  fileName: _jsxFileName$e,
15719
- lineNumber: 71,
15961
+ lineNumber: 85,
15720
15962
  columnNumber: 21
15721
15963
  }
15722
15964
  }, option.title)), /*#__PURE__*/React__default["default"].createElement(Separator$2, {
@@ -15724,7 +15966,7 @@
15724
15966
  __self: undefined,
15725
15967
  __source: {
15726
15968
  fileName: _jsxFileName$e,
15727
- lineNumber: 73,
15969
+ lineNumber: 89,
15728
15970
  columnNumber: 19
15729
15971
  }
15730
15972
  })))))));
@@ -15854,7 +16096,7 @@
15854
16096
  }
15855
16097
  }, /*#__PURE__*/React__default["default"].createElement(Box$1, {
15856
16098
  css: {
15857
- backgroundColor: isMobile ? '$white' : '$gray150',
16099
+ backgroundColor: isMobile ? '$white' : '$gray50',
15858
16100
  height: '100%',
15859
16101
  display: 'flex',
15860
16102
  flexDirection: 'column'
@@ -18724,8 +18966,8 @@
18724
18966
  height
18725
18967
  }) => {
18726
18968
  const isFile = listType === 'file';
18727
- const hiddenFileInput = React__default["default"].useRef(null);
18728
- const [indexReplace, setIndexReplace] = React.useState(null);
18969
+ const hiddenFileInput = React.useRef(null);
18970
+ const indexReplace = React.useRef(null);
18729
18971
  const [errorMessage, setErrorMessage] = React.useState(null);
18730
18972
  const defaultSize = 200;
18731
18973
  const ContainerUpload = styled('div', {
@@ -18751,6 +18993,11 @@
18751
18993
  background: '$bgFailed'
18752
18994
  }
18753
18995
  }
18996
+ },
18997
+ hidden: {
18998
+ true: {
18999
+ display: 'none !important'
19000
+ }
18754
19001
  }
18755
19002
  }
18756
19003
  });
@@ -18784,26 +19031,25 @@
18784
19031
  for (let i = 0; i < e.target.files.length; i++) {
18785
19032
  var _onChange, _onChange$then;
18786
19033
 
18787
- if (max && arrFile.length >= max) {
19034
+ if (max && arrFile.length >= max && indexReplace.current === null) {
18788
19035
  break;
18789
19036
  }
18790
19037
 
18791
19038
  let newFile = e.target.files[i];
18792
19039
  newFile.url = URL.createObjectURL(newFile);
18793
-
18794
- if (indexReplace !== null) {
18795
- arrFile[indexReplace] = newFile;
18796
- setIndexReplace(null);
18797
- } else {
18798
- arrFile.push(newFile);
18799
- }
18800
-
18801
19040
  (_onChange = onChange({
18802
19041
  fileList: arrFile,
18803
19042
  file: newFile,
18804
- indexReplace,
18805
- isReplace: indexReplace !== null
19043
+ indexReplace: indexReplace.current,
19044
+ isReplace: indexReplace.current !== null
18806
19045
  })) === null || _onChange === void 0 ? void 0 : (_onChange$then = _onChange.then(() => setErrorMessage(null))) === null || _onChange$then === void 0 ? void 0 : _onChange$then.catch(error => setErrorMessage(error.message));
19046
+
19047
+ if (indexReplace.current !== null) {
19048
+ arrFile[indexReplace.current] = newFile;
19049
+ indexReplace.current = null;
19050
+ } else {
19051
+ arrFile.push(newFile);
19052
+ }
18807
19053
  }
18808
19054
  }
18809
19055
  }
@@ -18829,7 +19075,7 @@
18829
19075
  }
18830
19076
 
18831
19077
  function handleReplace(index) {
18832
- setIndexReplace(index);
19078
+ indexReplace.current = index;
18833
19079
  handleClick();
18834
19080
  }
18835
19081
 
@@ -18849,7 +19095,7 @@
18849
19095
  __self: this,
18850
19096
  __source: {
18851
19097
  fileName: _jsxFileName$8,
18852
- lineNumber: 235,
19098
+ lineNumber: 240,
18853
19099
  columnNumber: 7
18854
19100
  }
18855
19101
  }, /*#__PURE__*/React__default["default"].createElement(ButtonText, {
@@ -18858,7 +19104,7 @@
18858
19104
  __self: this,
18859
19105
  __source: {
18860
19106
  fileName: _jsxFileName$8,
18861
- lineNumber: 236,
19107
+ lineNumber: 241,
18862
19108
  columnNumber: 9
18863
19109
  }
18864
19110
  }, replaceLabel && replaceLabel.length > 0 ? replaceLabel : `Ubah ${isFile ? 'Berkas' : 'Gambar'}`));
@@ -18871,7 +19117,7 @@
18871
19117
  __self: undefined,
18872
19118
  __source: {
18873
19119
  fileName: _jsxFileName$8,
18874
- lineNumber: 246,
19120
+ lineNumber: 251,
18875
19121
  columnNumber: 9
18876
19122
  }
18877
19123
  }, /*#__PURE__*/React__default["default"].createElement(Box$1, {
@@ -18881,7 +19127,7 @@
18881
19127
  __self: undefined,
18882
19128
  __source: {
18883
19129
  fileName: _jsxFileName$8,
18884
- lineNumber: 247,
19130
+ lineNumber: 252,
18885
19131
  columnNumber: 11
18886
19132
  }
18887
19133
  }, /*#__PURE__*/React__default["default"].createElement(IconStateFull, {
@@ -18890,7 +19136,7 @@
18890
19136
  __self: undefined,
18891
19137
  __source: {
18892
19138
  fileName: _jsxFileName$8,
18893
- lineNumber: 248,
19139
+ lineNumber: 253,
18894
19140
  columnNumber: 13
18895
19141
  }
18896
19142
  }), /*#__PURE__*/React__default["default"].createElement(Box$1, {
@@ -18903,7 +19149,7 @@
18903
19149
  __self: undefined,
18904
19150
  __source: {
18905
19151
  fileName: _jsxFileName$8,
18906
- lineNumber: 249,
19152
+ lineNumber: 254,
18907
19153
  columnNumber: 13
18908
19154
  }
18909
19155
  }, /*#__PURE__*/React__default["default"].createElement(IconStateFull, {
@@ -18912,7 +19158,7 @@
18912
19158
  __self: undefined,
18913
19159
  __source: {
18914
19160
  fileName: _jsxFileName$8,
18915
- lineNumber: 257,
19161
+ lineNumber: 262,
18916
19162
  columnNumber: 15
18917
19163
  }
18918
19164
  })), /*#__PURE__*/React__default["default"].createElement(Image, {
@@ -18920,7 +19166,7 @@
18920
19166
  __self: undefined,
18921
19167
  __source: {
18922
19168
  fileName: _jsxFileName$8,
18923
- lineNumber: 259,
19169
+ lineNumber: 264,
18924
19170
  columnNumber: 13
18925
19171
  }
18926
19172
  })), renderButtonReplace(index));
@@ -18934,7 +19180,7 @@
18934
19180
  __self: undefined,
18935
19181
  __source: {
18936
19182
  fileName: _jsxFileName$8,
18937
- lineNumber: 270,
19183
+ lineNumber: 275,
18938
19184
  columnNumber: 9
18939
19185
  }
18940
19186
  }, /*#__PURE__*/React__default["default"].createElement(Box$1, {
@@ -18944,7 +19190,7 @@
18944
19190
  __self: undefined,
18945
19191
  __source: {
18946
19192
  fileName: _jsxFileName$8,
18947
- lineNumber: 271,
19193
+ lineNumber: 276,
18948
19194
  columnNumber: 11
18949
19195
  }
18950
19196
  }, /*#__PURE__*/React__default["default"].createElement(IconStateFull, {
@@ -18953,7 +19199,7 @@
18953
19199
  __self: undefined,
18954
19200
  __source: {
18955
19201
  fileName: _jsxFileName$8,
18956
- lineNumber: 272,
19202
+ lineNumber: 277,
18957
19203
  columnNumber: 13
18958
19204
  }
18959
19205
  }), /*#__PURE__*/React__default["default"].createElement(Box$1, {
@@ -18966,7 +19212,7 @@
18966
19212
  __self: undefined,
18967
19213
  __source: {
18968
19214
  fileName: _jsxFileName$8,
18969
- lineNumber: 273,
19215
+ lineNumber: 278,
18970
19216
  columnNumber: 13
18971
19217
  }
18972
19218
  }, /*#__PURE__*/React__default["default"].createElement(Flex$1, {
@@ -18976,7 +19222,7 @@
18976
19222
  __self: undefined,
18977
19223
  __source: {
18978
19224
  fileName: _jsxFileName$8,
18979
- lineNumber: 281,
19225
+ lineNumber: 286,
18980
19226
  columnNumber: 15
18981
19227
  }
18982
19228
  }, /*#__PURE__*/React__default["default"].createElement(CheckIcon, {
@@ -18984,7 +19230,7 @@
18984
19230
  __self: undefined,
18985
19231
  __source: {
18986
19232
  fileName: _jsxFileName$8,
18987
- lineNumber: 282,
19233
+ lineNumber: 287,
18988
19234
  columnNumber: 17
18989
19235
  }
18990
19236
  }), /*#__PURE__*/React__default["default"].createElement(Text, {
@@ -18998,14 +19244,14 @@
18998
19244
  __self: undefined,
18999
19245
  __source: {
19000
19246
  fileName: _jsxFileName$8,
19001
- lineNumber: 283,
19247
+ lineNumber: 288,
19002
19248
  columnNumber: 17
19003
19249
  }
19004
19250
  }, item.name))), /*#__PURE__*/React__default["default"].createElement(Blank, {
19005
19251
  __self: undefined,
19006
19252
  __source: {
19007
19253
  fileName: _jsxFileName$8,
19008
- lineNumber: 296,
19254
+ lineNumber: 301,
19009
19255
  columnNumber: 13
19010
19256
  }
19011
19257
  })), renderButtonReplace(index));
@@ -19017,16 +19263,17 @@
19017
19263
  __self: this,
19018
19264
  __source: {
19019
19265
  fileName: _jsxFileName$8,
19020
- lineNumber: 306,
19266
+ lineNumber: 311,
19021
19267
  columnNumber: 7
19022
19268
  }
19023
19269
  }, /*#__PURE__*/React__default["default"].createElement(ContainerUpload, {
19270
+ hidden: max ? fileList.length >= max ? true : false : false,
19024
19271
  showError: errorMessage !== null,
19025
19272
  onClick: handleClick,
19026
19273
  __self: this,
19027
19274
  __source: {
19028
19275
  fileName: _jsxFileName$8,
19029
- lineNumber: 307,
19276
+ lineNumber: 312,
19030
19277
  columnNumber: 9
19031
19278
  }
19032
19279
  }, /*#__PURE__*/React__default["default"].createElement(Input, {
@@ -19037,49 +19284,49 @@
19037
19284
  __self: this,
19038
19285
  __source: {
19039
19286
  fileName: _jsxFileName$8,
19040
- lineNumber: 308,
19287
+ lineNumber: 317,
19041
19288
  columnNumber: 11
19042
19289
  }
19043
19290
  }), /*#__PURE__*/React__default["default"].createElement(Children, {
19044
19291
  __self: this,
19045
19292
  __source: {
19046
19293
  fileName: _jsxFileName$8,
19047
- lineNumber: 309,
19294
+ lineNumber: 318,
19048
19295
  columnNumber: 11
19049
19296
  }
19050
19297
  }, children != null ? children : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
19051
19298
  __self: this,
19052
19299
  __source: {
19053
19300
  fileName: _jsxFileName$8,
19054
- lineNumber: 311,
19301
+ lineNumber: 320,
19055
19302
  columnNumber: 15
19056
19303
  }
19057
19304
  }, /*#__PURE__*/React__default["default"].createElement(IconCard, {
19058
19305
  __self: this,
19059
19306
  __source: {
19060
19307
  fileName: _jsxFileName$8,
19061
- lineNumber: 312,
19308
+ lineNumber: 321,
19062
19309
  columnNumber: 17
19063
19310
  }
19064
19311
  }, /*#__PURE__*/React__default["default"].createElement(icons.UploadOutline, {
19065
19312
  __self: this,
19066
19313
  __source: {
19067
19314
  fileName: _jsxFileName$8,
19068
- lineNumber: 313,
19315
+ lineNumber: 322,
19069
19316
  columnNumber: 19
19070
19317
  }
19071
19318
  })), /*#__PURE__*/React__default["default"].createElement(Text, {
19072
19319
  __self: this,
19073
19320
  __source: {
19074
19321
  fileName: _jsxFileName$8,
19075
- lineNumber: 315,
19322
+ lineNumber: 324,
19076
19323
  columnNumber: 17
19077
19324
  }
19078
19325
  }, `Pilih atau letakkan ${isFile ? 'berkas' : 'gambar'} anda disini`)))), errorMessage && /*#__PURE__*/React__default["default"].createElement(ErrorMessage, {
19079
19326
  __self: this,
19080
19327
  __source: {
19081
19328
  fileName: _jsxFileName$8,
19082
- lineNumber: 320,
19329
+ lineNumber: 329,
19083
19330
  columnNumber: 26
19084
19331
  }
19085
19332
  }, errorMessage));
@@ -19095,10 +19342,10 @@
19095
19342
  __self: undefined,
19096
19343
  __source: {
19097
19344
  fileName: _jsxFileName$8,
19098
- lineNumber: 326,
19345
+ lineNumber: 335,
19099
19346
  columnNumber: 5
19100
19347
  }
19101
- }, !isFile && renderPicture(), isFile && renderFile(), max ? fileList.length >= max ? null : renderUpload() : renderUpload());
19348
+ }, !isFile && renderPicture(), isFile && renderFile(), renderUpload());
19102
19349
  };
19103
19350
 
19104
19351
  Upload.defaultProps = {
@@ -22516,51 +22763,6 @@
22516
22763
  }), void 0);
22517
22764
  };
22518
22765
 
22519
- const useTableOfContent = (rootMargin, isMobile) => {
22520
- const [activeId, setActiveId] = React.useState();
22521
- const headingElementsRef = React.useRef({});
22522
- React.useEffect(() => {
22523
- const margin = Object.assign({
22524
- top: '0px',
22525
- right: '0px',
22526
- bottom: '-200px',
22527
- left: '0px'
22528
- }, rootMargin);
22529
-
22530
- const callback = headings => {
22531
- headingElementsRef.current = headings.reduce((map, headingElement) => {
22532
- map[headingElement.target.id] = headingElement;
22533
- return map;
22534
- }, headingElementsRef.current);
22535
- const visibleHeadings = [];
22536
- Object.keys(headingElementsRef.current).forEach(key => {
22537
- const headingElement = headingElementsRef.current[key];
22538
- if (headingElement.isIntersecting) visibleHeadings.push(headingElement);
22539
- });
22540
-
22541
- const getIndexFromId = id => headingElements.findIndex(heading => heading.id === id);
22542
-
22543
- if (visibleHeadings.length === 1) {
22544
- setActiveId(visibleHeadings[0].target.id);
22545
- } else if (visibleHeadings.length > 1) {
22546
- const sortedVisibleHeadings = visibleHeadings.sort((a, b) => getIndexFromId(a.target.id) > getIndexFromId(b.target.id));
22547
- setActiveId(sortedVisibleHeadings[0].target.id);
22548
- }
22549
- };
22550
-
22551
- const observer = new IntersectionObserver(callback, {
22552
- rootMargin: `${margin.top} ${margin.right} ${margin.bottom} ${margin.left}`
22553
- });
22554
- const headingElements = Array.from(document.querySelectorAll('h2, h3, section'));
22555
- headingElements.forEach(element => {
22556
- observer.observe(element);
22557
- element.style.scrollMarginTop = `${Math.abs(parseInt(margin.top)) + 20}px`;
22558
- });
22559
- return () => observer.disconnect();
22560
- }, [setActiveId, rootMargin, isMobile]);
22561
- return [activeId];
22562
- };
22563
-
22564
22766
  var _jsxFileName$2 = "/home/majoo-thariq/Majoonians/majoo-ui/packages/react/src/components/tableOfContent/transition.js";
22565
22767
 
22566
22768
  function Collapse({
@@ -22609,6 +22811,9 @@
22609
22811
  var _jsxFileName$1 = "/home/majoo-thariq/Majoonians/majoo-ui/packages/react/src/components/tableOfContent/TableOfContent.js";
22610
22812
  const DesktopContainer = styled(Flex$1, {
22611
22813
  display: 'none',
22814
+ '& .active-scroll-spy': {
22815
+ borderLeft: '4px solid #04c99e !important'
22816
+ },
22612
22817
  '@md': {
22613
22818
  display: 'unset'
22614
22819
  }
@@ -22617,9 +22822,12 @@
22617
22822
  backgroundColor: '$white',
22618
22823
  border: '1px solid #EEF0F0',
22619
22824
  borderRadius: 8,
22620
- padding: '6.5px 8px',
22825
+ padding: '8px 8px',
22621
22826
  width: '100%',
22622
22827
  transition: '0.4s max-height',
22828
+ '& .active-scroll-spy': {
22829
+ borderLeft: '4px solid #04c99e !important'
22830
+ },
22623
22831
  '@md': {
22624
22832
  display: 'none'
22625
22833
  }
@@ -22632,24 +22840,24 @@
22632
22840
  });
22633
22841
  const List = styled('li', {
22634
22842
  '&:not(:last-child)': {
22635
- marginBottom: 16
22843
+ marginBottom: 20
22636
22844
  }
22637
22845
  });
22638
22846
  const Title = styled('a', {
22639
22847
  fontWeight: '600',
22640
22848
  fontSize: '$short-content-bold',
22641
- color: '$textDisable',
22642
- padding: '4px 0px',
22849
+ color: '$textDisable !important',
22643
22850
  paddingRight: 2,
22644
22851
  transitionDuration: '0.1s',
22645
22852
  userSelect: 'none',
22853
+ textDecoration: 'none !important',
22854
+ '&:hover': {
22855
+ color: '$gray300 !important'
22856
+ },
22646
22857
  variants: {
22647
22858
  active: {
22648
22859
  true: {
22649
- color: '$textGreen'
22650
- },
22651
- false: {
22652
- color: '$textDisable'
22860
+ color: '$textGreen !important'
22653
22861
  }
22654
22862
  }
22655
22863
  }
@@ -22657,17 +22865,12 @@
22657
22865
  const Separator = styled('div', {
22658
22866
  width: 4,
22659
22867
  borderRadius: 2,
22660
- backgroundColor: '$gray150',
22661
- transitionDuration: '0.1s',
22868
+ backgroundColor: '$gray150 !important',
22869
+ transitionDuration: '0.2s',
22662
22870
  variants: {
22663
- active: {
22664
- true: {
22665
- backgroundColor: '$bgGreen',
22666
- marginLeft: -4
22667
- },
22871
+ isCollapse: {
22668
22872
  false: {
22669
- backgroundColor: 'transparent',
22670
- marginLeft: -4
22873
+ backgroundColor: '$primary500 !important'
22671
22874
  }
22672
22875
  }
22673
22876
  }
@@ -22676,7 +22879,8 @@
22676
22879
  function Content({
22677
22880
  content,
22678
22881
  activeId,
22679
- isCollapse
22882
+ isCollapse,
22883
+ isDialog
22680
22884
  }) {
22681
22885
  var _getDatasets;
22682
22886
 
@@ -22705,21 +22909,25 @@
22705
22909
  __self: this,
22706
22910
  __source: {
22707
22911
  fileName: _jsxFileName$1,
22708
- lineNumber: 96,
22912
+ lineNumber: 93,
22709
22913
  columnNumber: 5
22710
22914
  }
22711
22915
  }, /*#__PURE__*/React__default["default"].createElement(Separator, {
22916
+ isCollapse: isCollapse,
22712
22917
  __self: this,
22713
22918
  __source: {
22714
22919
  fileName: _jsxFileName$1,
22715
- lineNumber: 97,
22920
+ lineNumber: 94,
22716
22921
  columnNumber: 7
22717
22922
  }
22718
22923
  }), /*#__PURE__*/React__default["default"].createElement(ListWrap, {
22924
+ css: {
22925
+ position: 'relative'
22926
+ },
22719
22927
  __self: this,
22720
22928
  __source: {
22721
22929
  fileName: _jsxFileName$1,
22722
- lineNumber: 98,
22930
+ lineNumber: 95,
22723
22931
  columnNumber: 7
22724
22932
  }
22725
22933
  }, (_getDatasets = getDatasets(content, activeId, isCollapse)) === null || _getDatasets === void 0 ? void 0 : _getDatasets.map((item, index) => {
@@ -22728,54 +22936,79 @@
22728
22936
  __self: this,
22729
22937
  __source: {
22730
22938
  fileName: _jsxFileName$1,
22731
- lineNumber: 101,
22939
+ lineNumber: 98,
22732
22940
  columnNumber: 13
22733
22941
  }
22734
22942
  }, /*#__PURE__*/React__default["default"].createElement(Flex$1, {
22735
22943
  direction: "row",
22736
22944
  gap: 5,
22945
+ align: "center",
22946
+ css: {
22947
+ minHeight: 25
22948
+ },
22737
22949
  __self: this,
22738
22950
  __source: {
22739
22951
  fileName: _jsxFileName$1,
22740
- lineNumber: 102,
22952
+ lineNumber: 99,
22741
22953
  columnNumber: 15
22742
22954
  }
22743
- }, /*#__PURE__*/React__default["default"].createElement(Separator, {
22955
+ }, /*#__PURE__*/React__default["default"].createElement(Title, {
22744
22956
  active: (item === null || item === void 0 ? void 0 : item.id) === activeId,
22957
+ href: `#${item === null || item === void 0 ? void 0 : item.id}`,
22958
+ onClick: e => {
22959
+ e.preventDefault();
22960
+ const target = window.document.getElementById(e.currentTarget.href.split('#')[1]);
22961
+
22962
+ if (target) {
22963
+ var headerOffset = 20;
22964
+ var elementPosition = target.getBoundingClientRect().top;
22965
+ var offsetPosition = elementPosition - headerOffset;
22966
+
22967
+ if (!isDialog) {
22968
+ window.scrollBy({
22969
+ top: offsetPosition,
22970
+ behavior: 'smooth'
22971
+ });
22972
+ } else {
22973
+ target.scrollIntoView({
22974
+ behavior: 'smooth',
22975
+ block: 'start'
22976
+ });
22977
+ }
22978
+ }
22979
+ },
22745
22980
  __self: this,
22746
22981
  __source: {
22747
22982
  fileName: _jsxFileName$1,
22748
- lineNumber: 103,
22983
+ lineNumber: 100,
22749
22984
  columnNumber: 17
22750
22985
  }
22751
- }), /*#__PURE__*/React__default["default"].createElement(Title, {
22752
- active: (item === null || item === void 0 ? void 0 : item.id) === activeId,
22753
- href: `#${item === null || item === void 0 ? void 0 : item.id}`,
22754
- onClick: e => {
22755
- var _document$querySelect;
22756
-
22757
- e.preventDefault();
22758
- (_document$querySelect = document.querySelector(`#${item === null || item === void 0 ? void 0 : item.id}`)) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.scrollIntoView({
22759
- behavior: 'smooth'
22760
- });
22986
+ }, /*#__PURE__*/React__default["default"].createElement(Box$1, {
22987
+ css: {
22988
+ marginLeft: '-4px !important',
22989
+ borderLeftWidth: '4px !important',
22990
+ borderLeftStyle: 'solid !important',
22991
+ borderLeftColor: 'transparent !important',
22992
+ paddingLeft: '16px !important'
22761
22993
  },
22994
+ "data-to-scrollspy-id": item === null || item === void 0 ? void 0 : item.id,
22762
22995
  __self: this,
22763
22996
  __source: {
22764
22997
  fileName: _jsxFileName$1,
22765
- lineNumber: 104,
22766
- columnNumber: 17
22998
+ lineNumber: 121,
22999
+ columnNumber: 19
22767
23000
  }
22768
- }, item === null || item === void 0 ? void 0 : item.title), item === null || item === void 0 ? void 0 : item.icon));
23001
+ }, item === null || item === void 0 ? void 0 : item.title)), item === null || item === void 0 ? void 0 : item.icon));
22769
23002
  })));
22770
23003
  }
22771
23004
 
22772
23005
  function TableOfContent({
22773
23006
  content,
22774
- rootMargin,
22775
23007
  css,
22776
- isMobile
23008
+ isMobile,
23009
+ isDialog,
23010
+ activeId
22777
23011
  }) {
22778
- const [activeId] = useTableOfContent(rootMargin, isMobile);
22779
23012
  const [mobileCollapse, setMobileCollapse] = React.useState(false);
22780
23013
 
22781
23014
  function toggleCollapse() {
@@ -22785,22 +23018,24 @@
22785
23018
  return isMobile ? /*#__PURE__*/React__default["default"].createElement(MobileContainer, {
22786
23019
  direction: "row",
22787
23020
  justify: "between",
23021
+ align: "center",
22788
23022
  css: css,
22789
23023
  onClick: toggleCollapse,
22790
23024
  __self: this,
22791
23025
  __source: {
22792
23026
  fileName: _jsxFileName$1,
22793
- lineNumber: 135,
23027
+ lineNumber: 152,
22794
23028
  columnNumber: 5
22795
23029
  }
22796
23030
  }, /*#__PURE__*/React__default["default"].createElement(Content, {
23031
+ activeId: activeId,
22797
23032
  isCollapse: mobileCollapse,
23033
+ isDialog: isDialog,
22798
23034
  content: content,
22799
- activeId: activeId,
22800
23035
  __self: this,
22801
23036
  __source: {
22802
23037
  fileName: _jsxFileName$1,
22803
- lineNumber: 136,
23038
+ lineNumber: 153,
22804
23039
  columnNumber: 7
22805
23040
  }
22806
23041
  }), /*#__PURE__*/React__default["default"].createElement(icons.ChevronDownOutline, {
@@ -22810,7 +23045,7 @@
22810
23045
  __self: this,
22811
23046
  __source: {
22812
23047
  fileName: _jsxFileName$1,
22813
- lineNumber: 137,
23048
+ lineNumber: 154,
22814
23049
  columnNumber: 7
22815
23050
  }
22816
23051
  })) : /*#__PURE__*/React__default["default"].createElement(DesktopContainer, {
@@ -22819,28 +23054,33 @@
22819
23054
  __self: this,
22820
23055
  __source: {
22821
23056
  fileName: _jsxFileName$1,
22822
- lineNumber: 140,
23057
+ lineNumber: 157,
22823
23058
  columnNumber: 5
22824
23059
  }
22825
23060
  }, /*#__PURE__*/React__default["default"].createElement(Content, {
22826
23061
  isCollapse: true,
23062
+ isDialog: isDialog,
22827
23063
  content: content,
22828
- activeId: activeId,
22829
23064
  __self: this,
22830
23065
  __source: {
22831
23066
  fileName: _jsxFileName$1,
22832
- lineNumber: 141,
23067
+ lineNumber: 158,
22833
23068
  columnNumber: 7
22834
23069
  }
22835
23070
  }));
22836
23071
  }
23072
+
23073
+ const Page = styled(ScrollSpy__default["default"]);
23074
+ Page.displayName = 'TableOfContent.Page';
23075
+ TableOfContent.Page = Page;
22837
23076
  TableOfContent.defaultProps = {
22838
23077
  isMobile: false
22839
23078
  };
22840
23079
  TableOfContent.propTypes = {
22841
23080
  content: PropTypes__default["default"].array,
22842
23081
  isMobile: PropTypes__default["default"].bool,
22843
- rootMarin: PropTypes__default["default"].object
23082
+ isDialog: PropTypes__default["default"].bool,
23083
+ activeId: PropTypes__default["default"].string
22844
23084
  };
22845
23085
 
22846
23086
  var _jsxFileName = "/home/majoo-thariq/Majoonians/majoo-ui/packages/react/src/colors/Colors.js";
@@ -23042,6 +23282,7 @@
23042
23282
  exports.InputGroup = InputGroup;
23043
23283
  exports.InputLeftAddon = InputLeftAddon;
23044
23284
  exports.InputLeftElement = InputLeftElement;
23285
+ exports.InputNumber = InputNumber;
23045
23286
  exports.InputPrefix = InputPrefix;
23046
23287
  exports.InputRadio = InputRadio;
23047
23288
  exports.InputRadioGroup = InputRadioGroup;
@@ -23121,7 +23362,6 @@
23121
23362
  exports.Upload = Upload;
23122
23363
  exports.addOnCellStyle = addOnCellStyle;
23123
23364
  exports.defaultFetchDataParams = defaultFetchDataParams;
23124
- exports.useTableOfContent = useTableOfContent;
23125
23365
 
23126
23366
  Object.defineProperty(exports, '__esModule', { value: true });
23127
23367