tinybase 8.0.0 → 8.0.2

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 (51) hide show
  1. package/index.js +1 -1
  2. package/mergeable-store/index.js +1 -1
  3. package/mergeable-store/with-schemas/index.js +1 -1
  4. package/min/index.js +1 -1
  5. package/min/index.js.gz +0 -0
  6. package/min/mergeable-store/index.js +1 -1
  7. package/min/mergeable-store/index.js.gz +0 -0
  8. package/min/mergeable-store/with-schemas/index.js +1 -1
  9. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  10. package/min/omni/index.js +1 -1
  11. package/min/omni/index.js.gz +0 -0
  12. package/min/omni/with-schemas/index.js +1 -1
  13. package/min/omni/with-schemas/index.js.gz +0 -0
  14. package/min/queries/index.js +1 -1
  15. package/min/queries/index.js.gz +0 -0
  16. package/min/queries/with-schemas/index.js +1 -1
  17. package/min/queries/with-schemas/index.js.gz +0 -0
  18. package/min/store/index.js +1 -1
  19. package/min/store/index.js.gz +0 -0
  20. package/min/store/with-schemas/index.js +1 -1
  21. package/min/store/with-schemas/index.js.gz +0 -0
  22. package/min/ui-react/index.js +1 -1
  23. package/min/ui-react/index.js.gz +0 -0
  24. package/min/ui-react/with-schemas/index.js +1 -1
  25. package/min/ui-react/with-schemas/index.js.gz +0 -0
  26. package/min/ui-react-dom/index.js +1 -1
  27. package/min/ui-react-dom/index.js.gz +0 -0
  28. package/min/ui-react-dom/with-schemas/index.js +1 -1
  29. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  30. package/min/ui-react-inspector/index.js +1 -1
  31. package/min/ui-react-inspector/index.js.gz +0 -0
  32. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  33. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  34. package/min/with-schemas/index.js +1 -1
  35. package/min/with-schemas/index.js.gz +0 -0
  36. package/omni/index.js +29 -21
  37. package/omni/with-schemas/index.js +29 -21
  38. package/package.json +5 -5
  39. package/queries/index.js +1 -1
  40. package/queries/with-schemas/index.js +1 -1
  41. package/readme.md +14 -14
  42. package/releases.md +44 -44
  43. package/store/index.js +1 -1
  44. package/store/with-schemas/index.js +1 -1
  45. package/ui-react/index.js +7 -6
  46. package/ui-react/with-schemas/index.js +7 -6
  47. package/ui-react-dom/index.js +7 -6
  48. package/ui-react-dom/with-schemas/index.js +7 -6
  49. package/ui-react-inspector/index.js +29 -21
  50. package/ui-react-inspector/with-schemas/index.js +29 -21
  51. package/with-schemas/index.js +1 -1
package/store/index.js CHANGED
@@ -112,7 +112,7 @@ const objIsEqual = (
112
112
  isObject(value1)
113
113
  ? /* istanbul ignore next */
114
114
  isObject(obj2[index])
115
- ? objIsEqual(obj2[index], value1)
115
+ ? objIsEqual(obj2[index], value1, isEqual)
116
116
  : false
117
117
  : isEqual(value1, obj2[index]),
118
118
  )
@@ -112,7 +112,7 @@ const objIsEqual = (
112
112
  isObject(value1)
113
113
  ? /* istanbul ignore next */
114
114
  isObject(obj2[index])
115
- ? objIsEqual(obj2[index], value1)
115
+ ? objIsEqual(obj2[index], value1, isEqual)
116
116
  : false
117
117
  : isEqual(value1, obj2[index]),
118
118
  )
package/ui-react/index.js CHANGED
@@ -106,7 +106,7 @@ const objIsEqual = (
106
106
  isObject(value1)
107
107
  ? /* istanbul ignore next */
108
108
  isObject(obj2[index])
109
- ? objIsEqual(obj2[index], value1)
109
+ ? objIsEqual(obj2[index], value1, isEqual)
110
110
  : false
111
111
  : isEqual(value1, obj2[index]),
112
112
  )
@@ -341,8 +341,12 @@ const DEFAULTS = [
341
341
  false,
342
342
  0,
343
343
  ];
344
+ const cellOrValueEqual = (thing1, thing2) =>
345
+ thing1 === thing2 ||
346
+ ((isObject(thing1) || isArray(thing1)) &&
347
+ jsonString(thing1) === jsonString(thing2));
344
348
  const IS_EQUALS = [
345
- objIsEqual,
349
+ (obj1, obj2) => objIsEqual(obj1, obj2, cellOrValueEqual),
346
350
  arrayIsEqual,
347
351
  (
348
352
  [backwardIds1, currentId1, forwardIds1],
@@ -354,10 +358,7 @@ const IS_EQUALS = [
354
358
  (paramValues1, paramValues2) =>
355
359
  objIsEqual(paramValues1, paramValues2, arrayOrValueEqual),
356
360
  arrayOrValueEqual,
357
- (thing1, thing2) =>
358
- thing1 === thing2 ||
359
- ((isObject(thing1) || isArray(thing1)) &&
360
- jsonString(thing1) === jsonString(thing2)),
361
+ cellOrValueEqual,
361
362
  ];
362
363
  const isEqual = (thing1, thing2) => thing1 === thing2;
363
364
  const useCreate = (store, create, createDeps = EMPTY_ARRAY) => {
@@ -106,7 +106,7 @@ const objIsEqual = (
106
106
  isObject(value1)
107
107
  ? /* istanbul ignore next */
108
108
  isObject(obj2[index])
109
- ? objIsEqual(obj2[index], value1)
109
+ ? objIsEqual(obj2[index], value1, isEqual)
110
110
  : false
111
111
  : isEqual(value1, obj2[index]),
112
112
  )
@@ -341,8 +341,12 @@ const DEFAULTS = [
341
341
  false,
342
342
  0,
343
343
  ];
344
+ const cellOrValueEqual = (thing1, thing2) =>
345
+ thing1 === thing2 ||
346
+ ((isObject(thing1) || isArray(thing1)) &&
347
+ jsonString(thing1) === jsonString(thing2));
344
348
  const IS_EQUALS = [
345
- objIsEqual,
349
+ (obj1, obj2) => objIsEqual(obj1, obj2, cellOrValueEqual),
346
350
  arrayIsEqual,
347
351
  (
348
352
  [backwardIds1, currentId1, forwardIds1],
@@ -354,10 +358,7 @@ const IS_EQUALS = [
354
358
  (paramValues1, paramValues2) =>
355
359
  objIsEqual(paramValues1, paramValues2, arrayOrValueEqual),
356
360
  arrayOrValueEqual,
357
- (thing1, thing2) =>
358
- thing1 === thing2 ||
359
- ((isObject(thing1) || isArray(thing1)) &&
360
- jsonString(thing1) === jsonString(thing2)),
361
+ cellOrValueEqual,
361
362
  ];
362
363
  const isEqual = (thing1, thing2) => thing1 === thing2;
363
364
  const useCreate = (store, create, createDeps = EMPTY_ARRAY) => {
@@ -114,7 +114,7 @@ const objIsEqual = (
114
114
  isObject(value1)
115
115
  ? /* istanbul ignore next */
116
116
  isObject(obj2[index])
117
- ? objIsEqual(obj2[index], value1)
117
+ ? objIsEqual(obj2[index], value1, isEqual)
118
118
  : false
119
119
  : isEqual(value1, obj2[index]),
120
120
  )
@@ -186,8 +186,12 @@ const DEFAULTS = [
186
186
  false,
187
187
  0,
188
188
  ];
189
+ const cellOrValueEqual = (thing1, thing2) =>
190
+ thing1 === thing2 ||
191
+ ((isObject(thing1) || isArray(thing1)) &&
192
+ jsonString(thing1) === jsonString(thing2));
189
193
  const IS_EQUALS = [
190
- objIsEqual,
194
+ (obj1, obj2) => objIsEqual(obj1, obj2, cellOrValueEqual),
191
195
  arrayIsEqual,
192
196
  (
193
197
  [backwardIds1, currentId1, forwardIds1],
@@ -199,10 +203,7 @@ const IS_EQUALS = [
199
203
  (paramValues1, paramValues2) =>
200
204
  objIsEqual(paramValues1, paramValues2, arrayOrValueEqual),
201
205
  arrayOrValueEqual,
202
- (thing1, thing2) =>
203
- thing1 === thing2 ||
204
- ((isObject(thing1) || isArray(thing1)) &&
205
- jsonString(thing1) === jsonString(thing2)),
206
+ cellOrValueEqual,
206
207
  ];
207
208
  const isEqual = (thing1, thing2) => thing1 === thing2;
208
209
  const addAndDelListener = (thing, listenable, ...args) => {
@@ -114,7 +114,7 @@ const objIsEqual = (
114
114
  isObject(value1)
115
115
  ? /* istanbul ignore next */
116
116
  isObject(obj2[index])
117
- ? objIsEqual(obj2[index], value1)
117
+ ? objIsEqual(obj2[index], value1, isEqual)
118
118
  : false
119
119
  : isEqual(value1, obj2[index]),
120
120
  )
@@ -186,8 +186,12 @@ const DEFAULTS = [
186
186
  false,
187
187
  0,
188
188
  ];
189
+ const cellOrValueEqual = (thing1, thing2) =>
190
+ thing1 === thing2 ||
191
+ ((isObject(thing1) || isArray(thing1)) &&
192
+ jsonString(thing1) === jsonString(thing2));
189
193
  const IS_EQUALS = [
190
- objIsEqual,
194
+ (obj1, obj2) => objIsEqual(obj1, obj2, cellOrValueEqual),
191
195
  arrayIsEqual,
192
196
  (
193
197
  [backwardIds1, currentId1, forwardIds1],
@@ -199,10 +203,7 @@ const IS_EQUALS = [
199
203
  (paramValues1, paramValues2) =>
200
204
  objIsEqual(paramValues1, paramValues2, arrayOrValueEqual),
201
205
  arrayOrValueEqual,
202
- (thing1, thing2) =>
203
- thing1 === thing2 ||
204
- ((isObject(thing1) || isArray(thing1)) &&
205
- jsonString(thing1) === jsonString(thing2)),
206
+ cellOrValueEqual,
206
207
  ];
207
208
  const isEqual = (thing1, thing2) => thing1 === thing2;
208
209
  const addAndDelListener = (thing, listenable, ...args) => {
@@ -191,7 +191,7 @@ const objIsEqual = (
191
191
  isObject(value1)
192
192
  ? /* istanbul ignore next */
193
193
  isObject(obj2[index])
194
- ? objIsEqual(obj2[index], value1)
194
+ ? objIsEqual(obj2[index], value1, isEqual)
195
195
  : false
196
196
  : isEqual(value1, obj2[index]),
197
197
  )
@@ -2586,8 +2586,12 @@ const DEFAULTS = [
2586
2586
  false,
2587
2587
  0,
2588
2588
  ];
2589
+ const cellOrValueEqual = (thing1, thing2) =>
2590
+ thing1 === thing2 ||
2591
+ ((isObject(thing1) || isArray(thing1)) &&
2592
+ jsonString(thing1) === jsonString(thing2));
2589
2593
  const IS_EQUALS = [
2590
- objIsEqual,
2594
+ (obj1, obj2) => objIsEqual(obj1, obj2, cellOrValueEqual),
2591
2595
  arrayIsEqual,
2592
2596
  (
2593
2597
  [backwardIds1, currentId1, forwardIds1],
@@ -2599,10 +2603,7 @@ const IS_EQUALS = [
2599
2603
  (paramValues1, paramValues2) =>
2600
2604
  objIsEqual(paramValues1, paramValues2, arrayOrValueEqual),
2601
2605
  arrayOrValueEqual,
2602
- (thing1, thing2) =>
2603
- thing1 === thing2 ||
2604
- ((isObject(thing1) || isArray(thing1)) &&
2605
- jsonString(thing1) === jsonString(thing2)),
2606
+ cellOrValueEqual,
2606
2607
  ];
2607
2608
  const isEqual = (thing1, thing2) => thing1 === thing2;
2608
2609
  const addAndDelListener = (thing, listenable, ...args) => {
@@ -4411,7 +4412,7 @@ const TablesView = ({store, storeId, s}) => {
4411
4412
  s,
4412
4413
  children: [
4413
4414
  arrayIsEmpty(tableIds)
4414
- ? /* @__PURE__ */ jsx('caption', {children: 'No tables.'})
4415
+ ? /* @__PURE__ */ jsx('p', {children: 'No tables.'})
4415
4416
  : sortedIdsMap(tableIds, (tableId) =>
4416
4417
  /* @__PURE__ */ jsx(
4417
4418
  TableView,
@@ -4508,7 +4509,7 @@ const ValuesView = ({store, storeId, s}) => {
4508
4509
  s,
4509
4510
  children: [
4510
4511
  arrayIsEmpty(useValueIds$1(store))
4511
- ? /* @__PURE__ */ jsx('caption', {children: 'No values.'})
4512
+ ? /* @__PURE__ */ jsx('p', {children: 'No values.'})
4512
4513
  : /* @__PURE__ */ jsx(ValuesInHtmlTable, {
4513
4514
  store,
4514
4515
  editable,
@@ -4785,10 +4786,10 @@ const MAX_WIDTH = 'max-' + WIDTH;
4785
4786
  const MIN_WIDTH = 'min-' + WIDTH;
4786
4787
  const HEIGHT = 'height';
4787
4788
  const BORDER = 'border';
4788
- const BORDER_RADIUS = BORDER + '-radius';
4789
+ const RADIUS = 'radius';
4790
+ const BORDER_RADIUS = BORDER + '-' + RADIUS;
4789
4791
  const PADDING = 'padding';
4790
4792
  const MARGIN = 'margin';
4791
- const MARGIN_RIGHT = MARGIN + '-right';
4792
4793
  const TOP = 'top';
4793
4794
  const BOTTOM = 'bottom';
4794
4795
  const LEFT = 'left';
@@ -4803,6 +4804,11 @@ const CURSOR = 'cursor';
4803
4804
  const VERTICAL_ALIGN = 'vertical-align';
4804
4805
  const TEXT_ALIGN = 'text-align';
4805
4806
  const JUSTIFY_CONTENT = 'justify-content';
4807
+ const WHITE_SPACE = 'white-space';
4808
+ const TEXT_OVERFLOW = 'text-overflow';
4809
+ const ALIGN_ITEMS = 'align-items';
4810
+ const BACKDROP_FILTER = 'backdrop-filter';
4811
+ const MARGIN_RIGHT = MARGIN + '-' + RIGHT;
4806
4812
  const FIXED = 'fixed';
4807
4813
  const REVERT = 'revert';
4808
4814
  const UNSET = 'unset';
@@ -4932,8 +4938,8 @@ const APP_STYLESHEET = arrayJoin(
4932
4938
  [WIDTH]: 'calc(100% - .5rem)',
4933
4939
  [POSITION]: 'absolute',
4934
4940
  [BORDER + '-' + BOTTOM]: cssVar(BORDER),
4935
- 'align-items': 'center',
4936
- 'backdrop-filter': 'blur(4px)',
4941
+ [ALIGN_ITEMS]: 'center',
4942
+ [BACKDROP_FILTER]: 'blur(4px)',
4937
4943
  },
4938
4944
  'header>img:nth-of-type(1)': {
4939
4945
  [HEIGHT]: rem(1),
@@ -4951,8 +4957,8 @@ const APP_STYLESHEET = arrayJoin(
4951
4957
  [OVERFLOW]: HIDDEN,
4952
4958
  [FLEX]: 1,
4953
4959
  'font-weight': 800,
4954
- 'white-space': NOWRAP,
4955
- 'text-overflow': 'ellipsis',
4960
+ [WHITE_SPACE]: NOWRAP,
4961
+ [TEXT_OVERFLOW]: 'ellipsis',
4956
4962
  },
4957
4963
  // Body
4958
4964
  article: {[OVERFLOW]: AUTO, [FLEX]: 1, [PADDING + '-' + TOP]: rem(2)},
@@ -4970,7 +4976,8 @@ const APP_STYLESHEET = arrayJoin(
4970
4976
  [BORDER_RADIUS]: rem(0.25),
4971
4977
  'user-select': NONE,
4972
4978
  [JUSTIFY_CONTENT]: 'space-between',
4973
- 'align-items': 'center',
4979
+ [ALIGN_ITEMS]: 'center',
4980
+ [BACKDROP_FILTER]: 'blur(4px)',
4974
4981
  },
4975
4982
  'summary>span::before': {
4976
4983
  [DISPLAY]: 'inline-block',
@@ -4981,8 +4988,8 @@ const APP_STYLESHEET = arrayJoin(
4981
4988
  ...RIGHT_SVG,
4982
4989
  },
4983
4990
  'details[open]>summary': {
4984
- 'border-bottom-left-radius': 0,
4985
- 'border-bottom-right-radius': 0,
4991
+ [BORDER + '-' + BOTTOM + '-' + LEFT + '-' + RADIUS]: 0,
4992
+ [BORDER + '-' + BOTTOM + '-' + RIGHT + '-' + RADIUS]: 0,
4986
4993
  [MARGIN + '-' + BOTTOM]: 0,
4987
4994
  },
4988
4995
  'details[open]>summary>span::before': DOWN_SVG,
@@ -4992,11 +4999,12 @@ const APP_STYLESHEET = arrayJoin(
4992
4999
  [MARGIN + '-' + LEFT]: rem(0.25),
4993
5000
  },
4994
5001
  'details>div': {[OVERFLOW]: AUTO},
4995
- caption: {
5002
+ [`caption,#${UNIQUE_ID} p`]: {
4996
5003
  [COLOR]: cssVar('fg2'),
4997
5004
  [PADDING]: rem(0.25, 0.5),
4998
5005
  [TEXT_ALIGN]: LEFT,
4999
- 'white-space': NOWRAP,
5006
+ [MARGIN]: 0,
5007
+ [WHITE_SPACE]: NOWRAP,
5000
5008
  },
5001
5009
  'caption button': {
5002
5010
  [WIDTH]: rem(1.5),
@@ -5026,8 +5034,8 @@ const APP_STYLESHEET = arrayJoin(
5026
5034
  [PADDING]: rem(0.25, 0.5),
5027
5035
  [MAX_WIDTH]: rem(20),
5028
5036
  [BORDER]: cssVar(BORDER),
5029
- 'text-overflow': 'ellipsis',
5030
- 'white-space': NOWRAP,
5037
+ [TEXT_OVERFLOW]: 'ellipsis',
5038
+ [WHITE_SPACE]: NOWRAP,
5031
5039
  'border-width': px(1, 0, 0),
5032
5040
  [TEXT_ALIGN]: LEFT,
5033
5041
  },
@@ -191,7 +191,7 @@ const objIsEqual = (
191
191
  isObject(value1)
192
192
  ? /* istanbul ignore next */
193
193
  isObject(obj2[index])
194
- ? objIsEqual(obj2[index], value1)
194
+ ? objIsEqual(obj2[index], value1, isEqual)
195
195
  : false
196
196
  : isEqual(value1, obj2[index]),
197
197
  )
@@ -2586,8 +2586,12 @@ const DEFAULTS = [
2586
2586
  false,
2587
2587
  0,
2588
2588
  ];
2589
+ const cellOrValueEqual = (thing1, thing2) =>
2590
+ thing1 === thing2 ||
2591
+ ((isObject(thing1) || isArray(thing1)) &&
2592
+ jsonString(thing1) === jsonString(thing2));
2589
2593
  const IS_EQUALS = [
2590
- objIsEqual,
2594
+ (obj1, obj2) => objIsEqual(obj1, obj2, cellOrValueEqual),
2591
2595
  arrayIsEqual,
2592
2596
  (
2593
2597
  [backwardIds1, currentId1, forwardIds1],
@@ -2599,10 +2603,7 @@ const IS_EQUALS = [
2599
2603
  (paramValues1, paramValues2) =>
2600
2604
  objIsEqual(paramValues1, paramValues2, arrayOrValueEqual),
2601
2605
  arrayOrValueEqual,
2602
- (thing1, thing2) =>
2603
- thing1 === thing2 ||
2604
- ((isObject(thing1) || isArray(thing1)) &&
2605
- jsonString(thing1) === jsonString(thing2)),
2606
+ cellOrValueEqual,
2606
2607
  ];
2607
2608
  const isEqual = (thing1, thing2) => thing1 === thing2;
2608
2609
  const addAndDelListener = (thing, listenable, ...args) => {
@@ -4411,7 +4412,7 @@ const TablesView = ({store, storeId, s}) => {
4411
4412
  s,
4412
4413
  children: [
4413
4414
  arrayIsEmpty(tableIds)
4414
- ? /* @__PURE__ */ jsx('caption', {children: 'No tables.'})
4415
+ ? /* @__PURE__ */ jsx('p', {children: 'No tables.'})
4415
4416
  : sortedIdsMap(tableIds, (tableId) =>
4416
4417
  /* @__PURE__ */ jsx(
4417
4418
  TableView,
@@ -4508,7 +4509,7 @@ const ValuesView = ({store, storeId, s}) => {
4508
4509
  s,
4509
4510
  children: [
4510
4511
  arrayIsEmpty(useValueIds$1(store))
4511
- ? /* @__PURE__ */ jsx('caption', {children: 'No values.'})
4512
+ ? /* @__PURE__ */ jsx('p', {children: 'No values.'})
4512
4513
  : /* @__PURE__ */ jsx(ValuesInHtmlTable, {
4513
4514
  store,
4514
4515
  editable,
@@ -4785,10 +4786,10 @@ const MAX_WIDTH = 'max-' + WIDTH;
4785
4786
  const MIN_WIDTH = 'min-' + WIDTH;
4786
4787
  const HEIGHT = 'height';
4787
4788
  const BORDER = 'border';
4788
- const BORDER_RADIUS = BORDER + '-radius';
4789
+ const RADIUS = 'radius';
4790
+ const BORDER_RADIUS = BORDER + '-' + RADIUS;
4789
4791
  const PADDING = 'padding';
4790
4792
  const MARGIN = 'margin';
4791
- const MARGIN_RIGHT = MARGIN + '-right';
4792
4793
  const TOP = 'top';
4793
4794
  const BOTTOM = 'bottom';
4794
4795
  const LEFT = 'left';
@@ -4803,6 +4804,11 @@ const CURSOR = 'cursor';
4803
4804
  const VERTICAL_ALIGN = 'vertical-align';
4804
4805
  const TEXT_ALIGN = 'text-align';
4805
4806
  const JUSTIFY_CONTENT = 'justify-content';
4807
+ const WHITE_SPACE = 'white-space';
4808
+ const TEXT_OVERFLOW = 'text-overflow';
4809
+ const ALIGN_ITEMS = 'align-items';
4810
+ const BACKDROP_FILTER = 'backdrop-filter';
4811
+ const MARGIN_RIGHT = MARGIN + '-' + RIGHT;
4806
4812
  const FIXED = 'fixed';
4807
4813
  const REVERT = 'revert';
4808
4814
  const UNSET = 'unset';
@@ -4932,8 +4938,8 @@ const APP_STYLESHEET = arrayJoin(
4932
4938
  [WIDTH]: 'calc(100% - .5rem)',
4933
4939
  [POSITION]: 'absolute',
4934
4940
  [BORDER + '-' + BOTTOM]: cssVar(BORDER),
4935
- 'align-items': 'center',
4936
- 'backdrop-filter': 'blur(4px)',
4941
+ [ALIGN_ITEMS]: 'center',
4942
+ [BACKDROP_FILTER]: 'blur(4px)',
4937
4943
  },
4938
4944
  'header>img:nth-of-type(1)': {
4939
4945
  [HEIGHT]: rem(1),
@@ -4951,8 +4957,8 @@ const APP_STYLESHEET = arrayJoin(
4951
4957
  [OVERFLOW]: HIDDEN,
4952
4958
  [FLEX]: 1,
4953
4959
  'font-weight': 800,
4954
- 'white-space': NOWRAP,
4955
- 'text-overflow': 'ellipsis',
4960
+ [WHITE_SPACE]: NOWRAP,
4961
+ [TEXT_OVERFLOW]: 'ellipsis',
4956
4962
  },
4957
4963
  // Body
4958
4964
  article: {[OVERFLOW]: AUTO, [FLEX]: 1, [PADDING + '-' + TOP]: rem(2)},
@@ -4970,7 +4976,8 @@ const APP_STYLESHEET = arrayJoin(
4970
4976
  [BORDER_RADIUS]: rem(0.25),
4971
4977
  'user-select': NONE,
4972
4978
  [JUSTIFY_CONTENT]: 'space-between',
4973
- 'align-items': 'center',
4979
+ [ALIGN_ITEMS]: 'center',
4980
+ [BACKDROP_FILTER]: 'blur(4px)',
4974
4981
  },
4975
4982
  'summary>span::before': {
4976
4983
  [DISPLAY]: 'inline-block',
@@ -4981,8 +4988,8 @@ const APP_STYLESHEET = arrayJoin(
4981
4988
  ...RIGHT_SVG,
4982
4989
  },
4983
4990
  'details[open]>summary': {
4984
- 'border-bottom-left-radius': 0,
4985
- 'border-bottom-right-radius': 0,
4991
+ [BORDER + '-' + BOTTOM + '-' + LEFT + '-' + RADIUS]: 0,
4992
+ [BORDER + '-' + BOTTOM + '-' + RIGHT + '-' + RADIUS]: 0,
4986
4993
  [MARGIN + '-' + BOTTOM]: 0,
4987
4994
  },
4988
4995
  'details[open]>summary>span::before': DOWN_SVG,
@@ -4992,11 +4999,12 @@ const APP_STYLESHEET = arrayJoin(
4992
4999
  [MARGIN + '-' + LEFT]: rem(0.25),
4993
5000
  },
4994
5001
  'details>div': {[OVERFLOW]: AUTO},
4995
- caption: {
5002
+ [`caption,#${UNIQUE_ID} p`]: {
4996
5003
  [COLOR]: cssVar('fg2'),
4997
5004
  [PADDING]: rem(0.25, 0.5),
4998
5005
  [TEXT_ALIGN]: LEFT,
4999
- 'white-space': NOWRAP,
5006
+ [MARGIN]: 0,
5007
+ [WHITE_SPACE]: NOWRAP,
5000
5008
  },
5001
5009
  'caption button': {
5002
5010
  [WIDTH]: rem(1.5),
@@ -5026,8 +5034,8 @@ const APP_STYLESHEET = arrayJoin(
5026
5034
  [PADDING]: rem(0.25, 0.5),
5027
5035
  [MAX_WIDTH]: rem(20),
5028
5036
  [BORDER]: cssVar(BORDER),
5029
- 'text-overflow': 'ellipsis',
5030
- 'white-space': NOWRAP,
5037
+ [TEXT_OVERFLOW]: 'ellipsis',
5038
+ [WHITE_SPACE]: NOWRAP,
5031
5039
  'border-width': px(1, 0, 0),
5032
5040
  [TEXT_ALIGN]: LEFT,
5033
5041
  },
@@ -163,7 +163,7 @@ const objIsEqual = (
163
163
  isObject(value1)
164
164
  ? /* istanbul ignore next */
165
165
  isObject(obj2[index])
166
- ? objIsEqual(obj2[index], value1)
166
+ ? objIsEqual(obj2[index], value1, isEqual)
167
167
  : false
168
168
  : isEqual(value1, obj2[index]),
169
169
  )