@procore/saved-views 1.1.0-alpha.2 → 1.1.0-alpha.4

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.
@@ -785,7 +785,7 @@ var require_lodash = __commonJS({
785
785
  "use strict";
786
786
  (function() {
787
787
  var undefined2;
788
- var VERSION = "4.17.21";
788
+ var VERSION = "4.17.23";
789
789
  var LARGE_ARRAY_SIZE = 200;
790
790
  var CORE_ERROR_TEXT = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", FUNC_ERROR_TEXT = "Expected a function", INVALID_TEMPL_VAR_ERROR_TEXT = "Invalid `variable` option passed into `_.template`";
791
791
  var HASH_UNDEFINED = "__lodash_hash_undefined__";
@@ -1514,7 +1514,7 @@ var require_lodash = __commonJS({
1514
1514
  }
1515
1515
  return new LodashWrapper(value);
1516
1516
  }
1517
- var baseCreate = /* @__PURE__ */ function() {
1517
+ var baseCreate = function() {
1518
1518
  function object3() {
1519
1519
  }
1520
1520
  return function(proto) {
@@ -2713,8 +2713,28 @@ var require_lodash = __commonJS({
2713
2713
  }
2714
2714
  function baseUnset(object3, path) {
2715
2715
  path = castPath(path, object3);
2716
- object3 = parent(object3, path);
2717
- return object3 == null || delete object3[toKey(last(path))];
2716
+ var index = -1, length = path.length;
2717
+ if (!length) {
2718
+ return true;
2719
+ }
2720
+ var isRootPrimitive = object3 == null || typeof object3 !== "object" && typeof object3 !== "function";
2721
+ while (++index < length) {
2722
+ var key = path[index];
2723
+ if (typeof key !== "string") {
2724
+ continue;
2725
+ }
2726
+ if (key === "__proto__" && !hasOwnProperty.call(object3, "__proto__")) {
2727
+ return false;
2728
+ }
2729
+ if (key === "constructor" && index + 1 < length && typeof path[index + 1] === "string" && path[index + 1] === "prototype") {
2730
+ if (isRootPrimitive && index === 0) {
2731
+ continue;
2732
+ }
2733
+ return false;
2734
+ }
2735
+ }
2736
+ var obj = parent(object3, path);
2737
+ return obj == null || delete obj[toKey(last(path))];
2718
2738
  }
2719
2739
  function baseUpdate(object3, path, updater, customizer) {
2720
2740
  return baseSet(object3, path, updater(baseGet(object3, path)), customizer);
@@ -4821,7 +4841,7 @@ var require_lodash = __commonJS({
4821
4841
  var gte = createRelationalOperation(function(value, other) {
4822
4842
  return value >= other;
4823
4843
  });
4824
- var isArguments = baseIsArguments(/* @__PURE__ */ function() {
4844
+ var isArguments = baseIsArguments(function() {
4825
4845
  return arguments;
4826
4846
  }()) ? baseIsArguments : function(value) {
4827
4847
  return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
@@ -8590,8 +8610,8 @@ function memoize(fn) {
8590
8610
  };
8591
8611
  }
8592
8612
 
8593
- // node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js
8594
- var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;
8613
+ // ../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js
8614
+ var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|popover|popoverTarget|popoverTargetAction|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;
8595
8615
  var isPropValid = /* @__PURE__ */ memoize(
8596
8616
  function(prop) {
8597
8617
  return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91;
@@ -8917,7 +8937,7 @@ var re = function() {
8917
8937
  var oe = /^\s*\/\/.*$/gm;
8918
8938
  var se = [":", "[", ".", "#"];
8919
8939
  function ie(e2) {
8920
- var t2, n2, r2, o2, s2 = void 0 === e2 ? S : e2, i2 = s2.options, a2 = void 0 === i2 ? S : i2, c2 = s2.plugins, u2 = void 0 === c2 ? g : c2, l2 = new stylis_esm_default(a2), h = [], p = /* @__PURE__ */ function(e3) {
8940
+ var t2, n2, r2, o2, s2 = void 0 === e2 ? S : e2, i2 = s2.options, a2 = void 0 === i2 ? S : i2, c2 = s2.plugins, u2 = void 0 === c2 ? g : c2, l2 = new stylis_esm_default(a2), h = [], p = function(e3) {
8921
8941
  function t3(t4) {
8922
8942
  if (t4)
8923
8943
  try {
@@ -9155,7 +9175,7 @@ function Fe(e2, t2, n2) {
9155
9175
  return this._foldedDefaultProps;
9156
9176
  }, set: function(t3) {
9157
9177
  this._foldedDefaultProps = o2 ? ze({}, e2.defaultProps, t3) : t3;
9158
- } }), "production" !== process.env.NODE_ENV && (Ie(y2, v2), A2.warnTooManyClasses = /* @__PURE__ */ function(e3, t3) {
9178
+ } }), "production" !== process.env.NODE_ENV && (Ie(y2, v2), A2.warnTooManyClasses = function(e3, t3) {
9159
9179
  var n3 = {}, r2 = false;
9160
9180
  return function(o3) {
9161
9181
  if (!r2 && (n3[o3] = true, Object.keys(n3).length >= 200)) {
@@ -9582,7 +9602,9 @@ var useSavedViewsQuery = (props) => {
9582
9602
  queryKey: ["savedViews", domain, tableName, companyId, projectId],
9583
9603
  queryFn: async () => {
9584
9604
  const getUrl = `${url}&per_page=${PAGE_SIZE}`;
9585
- const response = await requestJSON2(getUrl);
9605
+ const response = await requestJSON2(getUrl, {
9606
+ priority: "low"
9607
+ });
9586
9608
  return response.data;
9587
9609
  }
9588
9610
  });
@@ -9594,7 +9616,9 @@ var useSavedViewsPermissions = (props) => {
9594
9616
  return useQuery({
9595
9617
  queryKey: ["savedViewsConfig", domain, companyId, projectId],
9596
9618
  queryFn: async () => {
9597
- const response = await requestJSON2(url);
9619
+ const response = await requestJSON2(url, {
9620
+ priority: "low"
9621
+ });
9598
9622
  return response.data;
9599
9623
  }
9600
9624
  });
@@ -9622,7 +9646,9 @@ var useFetchSavedViewById = (savedViewToken, queryInput, enabled = true) => {
9622
9646
  queryKey: ["savedView", savedViewToken, companyId, projectId],
9623
9647
  queryFn: async () => {
9624
9648
  const url = `${basePath}/${savedViewToken}?permissions_domain=${domain}`;
9625
- const response = await requestJSON2(url);
9649
+ const response = await requestJSON2(url, {
9650
+ priority: "low"
9651
+ });
9626
9652
  return response.data;
9627
9653
  }
9628
9654
  });
@@ -9743,18 +9769,40 @@ var getOrderedVisibleColumns = (columns, idKey) => {
9743
9769
  });
9744
9770
  return [leftAction, ...middleColumns, rightAction].filter(Boolean);
9745
9771
  };
9772
+ var SMART_GRID_COLUMN_COMPARE_KEYS = [
9773
+ "colId",
9774
+ "hide",
9775
+ "width",
9776
+ "sort",
9777
+ "sortIndex",
9778
+ "pinned",
9779
+ "rowGroup",
9780
+ "rowGroupIndex",
9781
+ "pivot",
9782
+ "pivotIndex"
9783
+ ];
9784
+ var DATA_TABLE_COLUMN_COMPARE_KEYS = [
9785
+ "field",
9786
+ "hidden",
9787
+ "width",
9788
+ "sort",
9789
+ "sortIndex",
9790
+ "pinned",
9791
+ "rowGroup",
9792
+ "rowGroupIndex"
9793
+ ];
9746
9794
  var cleanObject = (table_config, provider) => {
9747
9795
  if (provider === "smart-grid") {
9748
9796
  const smartGridConfig = table_config;
9749
- if (!smartGridConfig.filterState)
9750
- return table_config;
9751
9797
  const orderedColumns = getOrderedVisibleColumns(
9752
9798
  smartGridConfig.columnState,
9753
9799
  "colId"
9754
9800
  );
9755
9801
  return {
9756
9802
  ...smartGridConfig,
9757
- columnState: orderedColumns
9803
+ columnState: orderedColumns.map(
9804
+ (col) => import_lodash.default.pick(col, SMART_GRID_COLUMN_COMPARE_KEYS)
9805
+ )
9758
9806
  };
9759
9807
  } else {
9760
9808
  const dataTableConfig = table_config;
@@ -9766,7 +9814,9 @@ var cleanObject = (table_config, provider) => {
9766
9814
  );
9767
9815
  return {
9768
9816
  ...dataTableConfig,
9769
- columnState: orderedColumns,
9817
+ columnState: orderedColumns.map(
9818
+ (col) => import_lodash.default.pick(col, DATA_TABLE_COLUMN_COMPARE_KEYS)
9819
+ ),
9770
9820
  serverFilters: dataTableConfig.serverFilters.map(
9771
9821
  (filter) => import_lodash.default.omit(filter, "filterRenderer")
9772
9822
  )
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@procore/saved-views",
3
- "version": "1.1.0-alpha.2",
3
+ "version": "1.1.0-alpha.4",
4
4
  "description": "Saved Views Component for Data Table",
5
5
  "author": "Procore Technologies, Inc",
6
6
  "repository": {
@@ -50,7 +50,6 @@
50
50
  "storybook": "storybook dev -p 6006",
51
51
  "test": "hammer test",
52
52
  "test:coverage": "yarn test --coverage",
53
- "test:dev": "vitest",
54
53
  "build-storybook": "storybook build --webpack-stats-json",
55
54
  "watch": "chokidar './src' -c 'yalc publish --push'"
56
55
  },
@@ -58,8 +57,8 @@
58
57
  "@procore/cdn-translations": "^0.1.12",
59
58
  "@procore/core-http": "^12.0.0",
60
59
  "@procore/core-react": ">=11.4.0 <13",
61
- "@procore/toast-alert": ">=5.1.0",
62
60
  "@procore/globalization-toolkit": "^3.4.2",
61
+ "@procore/toast-alert": ">=5.1.0",
63
62
  "react": ">=16.8",
64
63
  "react-router-dom": "^6.0.0"
65
64
  },
@@ -68,7 +67,9 @@
68
67
  "@babel/preset-react": "^7.26.3",
69
68
  "@babel/preset-typescript": "^7.26.0",
70
69
  "@dotenvx/dotenvx": "1.6.4",
70
+ "@procore/core-react": "^12.34.1",
71
71
  "@procore/data-table": "14.27.1",
72
+ "@procore/hammer": "^1.2.0",
72
73
  "@procore/hammer-test-jest": "^0.9.1",
73
74
  "@procore/prettier-config": "^1.0.0",
74
75
  "@procore/typescript-config": "^1.0.0",
@@ -88,9 +89,6 @@
88
89
  "@types/styled-components": "5.1.26",
89
90
  "@typescript-eslint/eslint-plugin": "^6.9.0",
90
91
  "@typescript-eslint/parser": "^6.9.0",
91
- "@vitest/browser": "^2.1.4",
92
- "@vitest/coverage-v8": "^1.2.2",
93
- "ag-grid-community": "33.2.4",
94
92
  "babel-jest": "^29.7.0",
95
93
  "chokidar-cli": "^3.0.0",
96
94
  "eslint": "^8.52.0",
@@ -108,7 +106,7 @@
108
106
  "react-is": "^17.0.2",
109
107
  "sass-loader": "^16.0.3",
110
108
  "storybook": "^7.6.21",
111
- "styled-components": "^>= 5.1.1 < 6",
109
+ "styled-components": "^5.1.1",
112
110
  "ts-jest": "^29.2.5",
113
111
  "tsup": "^7.2.0",
114
112
  "typescript": "^5.2.2"