@common-stack/components-pro 0.2.29 → 0.3.1-alpha.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.
Files changed (36) hide show
  1. package/lib/slot-fill/__tests__/slot-features.test.js +30 -31
  2. package/lib/slot-fill/__tests__/slot-features.test.js.map +1 -1
  3. package/lib/slot-fill/__tests__/slot-fill-provider.test.d.ts +0 -0
  4. package/lib/slot-fill/__tests__/slot-fill-provider.test.js +58 -0
  5. package/lib/slot-fill/__tests__/slot-fill-provider.test.js.map +1 -0
  6. package/lib/slot-fill/base/fill.js +15 -6
  7. package/lib/slot-fill/base/fill.js.map +1 -1
  8. package/lib/slot-fill/base/provider.d.ts +4 -2
  9. package/lib/slot-fill/base/provider.js +3 -2
  10. package/lib/slot-fill/base/provider.js.map +1 -1
  11. package/lib/slot-fill/base/slot.d.ts +1 -2
  12. package/lib/slot-fill/base/slot.js +20 -11
  13. package/lib/slot-fill/base/slot.js.map +1 -1
  14. package/lib/slot-fill/base/use-slot.js +3 -0
  15. package/lib/slot-fill/base/use-slot.js.map +1 -1
  16. package/lib/slot-fill/bubbles-virtually/fill.js +16 -5
  17. package/lib/slot-fill/bubbles-virtually/fill.js.map +1 -1
  18. package/lib/slot-fill/bubbles-virtually/slot-fill-context.js +3 -2
  19. package/lib/slot-fill/bubbles-virtually/slot-fill-context.js.map +1 -1
  20. package/lib/slot-fill/bubbles-virtually/slot-fill-provider.js +23 -48
  21. package/lib/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  22. package/lib/slot-fill/bubbles-virtually/slot.js +8 -9
  23. package/lib/slot-fill/bubbles-virtually/slot.js.map +1 -1
  24. package/lib/slot-fill/bubbles-virtually/use-slot-fills.d.ts +1 -0
  25. package/lib/slot-fill/bubbles-virtually/use-slot-fills.js +18 -0
  26. package/lib/slot-fill/bubbles-virtually/use-slot-fills.js.map +1 -0
  27. package/lib/slot-fill/bubbles-virtually/use-slot.js +26 -13
  28. package/lib/slot-fill/bubbles-virtually/use-slot.js.map +1 -1
  29. package/lib/slot-fill/index.d.ts +1 -0
  30. package/lib/slot-fill/index.js +3 -1
  31. package/lib/slot-fill/index.js.map +1 -1
  32. package/lib/slot-fill/interfaces/index.d.ts +1 -1
  33. package/lib/slot-fill/utils/isEmptyElement.d.ts +1 -2
  34. package/lib/slot-fill/utils/isEmptyElement.js +2 -3
  35. package/lib/slot-fill/utils/isEmptyElement.js.map +1 -1
  36. package/package.json +59 -58
@@ -25,7 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  /* tslint:disable */
27
27
  const React = __importStar(require("react"));
28
- const lodash_1 = require("lodash");
29
28
  const react_1 = require("@testing-library/react");
30
29
  const __1 = require("../");
31
30
  const react_2 = require("react");
@@ -34,32 +33,32 @@ class Filler extends react_2.Component {
34
33
  constructor(props) {
35
34
  super(props);
36
35
  this.state = {
37
- num: 1
36
+ num: 1,
38
37
  };
39
38
  }
40
39
  render() {
41
40
  return [
42
41
  React.createElement("button", { key: "1", type: "button", onClick: () => this.setState({ num: this.state.num + 1 }) }),
43
- React.createElement(__1.Fill, { name: this.props.name, key: "2" }, this.props.text || this.state.num.toString())
42
+ React.createElement(__1.Fill, { name: this.props.name, key: "2" }, this.props.text || this.state.num.toString()),
44
43
  ];
45
44
  }
46
45
  }
47
- describe("Slot", () => {
48
- it("should render empty Fills", () => {
46
+ describe('Slot', () => {
47
+ it('should render empty Fills', () => {
49
48
  const { container } = (0, react_1.render)(React.createElement(__1.Provider, null,
50
49
  React.createElement("div", null,
51
50
  React.createElement(__1.Slot, { name: "chicken" })),
52
51
  React.createElement(__1.Fill, { name: "chicken" })));
53
52
  expect(container).toMatchSnapshot();
54
53
  });
55
- it("should render a string Fill", () => {
54
+ it('should render a string Fill', () => {
56
55
  const { container } = (0, react_1.render)(React.createElement(__1.Provider, null,
57
56
  React.createElement("div", null,
58
57
  React.createElement(__1.Slot, { name: "chicken" })),
59
58
  React.createElement(__1.Fill, { name: "chicken" }, "content")));
60
59
  expect(container).toMatchSnapshot();
61
60
  });
62
- it("should render a Fill containing an element", () => {
61
+ it('should render a Fill containing an element', () => {
63
62
  const { container } = (0, react_1.render)(React.createElement(__1.Provider, null,
64
63
  React.createElement("div", null,
65
64
  React.createElement(__1.Slot, { name: "chicken" })),
@@ -67,38 +66,38 @@ describe("Slot", () => {
67
66
  React.createElement("span", null))));
68
67
  expect(container).toMatchSnapshot();
69
68
  });
70
- it("should render a Fill containing an array", () => {
69
+ it('should render a Fill containing an array', () => {
71
70
  const { container } = (0, react_1.render)(React.createElement(__1.Provider, null,
72
71
  React.createElement("div", null,
73
72
  React.createElement(__1.Slot, { name: "chicken" })),
74
- React.createElement(__1.Fill, { name: "chicken" }, [React.createElement("span", { key: "1" }), React.createElement("div", { key: "2" }), "text"])));
73
+ React.createElement(__1.Fill, { name: "chicken" }, [React.createElement("span", { key: "1" }), React.createElement("div", { key: "2" }), 'text'])));
75
74
  expect(container).toMatchSnapshot();
76
75
  });
77
76
  it("calls the functions passed as the Slot's fillProps in the Fill", () => {
78
77
  const onClose = jest.fn();
79
78
  const { getByText } = (0, react_1.render)(React.createElement(__1.Provider, null,
80
79
  React.createElement(__1.Slot, { name: "chicken", fillProps: { onClose } }),
81
- React.createElement(__1.Fill, { name: "chicken" }, props => {
80
+ React.createElement(__1.Fill, { name: "chicken" }, (props) => {
82
81
  return React.createElement("button", { onClick: props.onClose }, " Click me");
83
82
  })));
84
83
  react_1.fireEvent.click(getByText('Click me'));
85
84
  expect(onClose).toHaveBeenCalledTimes(1);
86
85
  });
87
- it("should render empty Fills without HTML wrapper when render props used", () => {
86
+ it('should render empty Fills without HTML wrapper when render props used', () => {
88
87
  const { container } = (0, react_1.render)(React.createElement(__1.Provider, null,
89
88
  React.createElement("div", null,
90
- React.createElement(__1.Slot, { name: "chicken" }, fills => !(0, lodash_1.isEmpty)(fills) && React.createElement("blockquote", null, fills))),
89
+ React.createElement(__1.Slot, { name: "chicken" }, (fills) => ([...fills].length ? React.createElement("blockquote", null, fills) : null))),
91
90
  React.createElement(__1.Fill, { name: "chicken" })));
92
91
  expect(container).toMatchSnapshot();
93
92
  });
94
- it("should render a string Fill with HTML wrapper when render props used", () => {
93
+ it('should render a string Fill with HTML wrapper when render props used', () => {
95
94
  const { container } = (0, react_1.render)(React.createElement(__1.Provider, null,
96
95
  React.createElement("div", null,
97
- React.createElement(__1.Slot, { name: "chicken" }, fills => fills && React.createElement("blockquote", null, fills))),
96
+ React.createElement(__1.Slot, { name: "chicken" }, (fills) => fills && React.createElement("blockquote", null, fills))),
98
97
  React.createElement(__1.Fill, { name: "chicken" }, "content")));
99
98
  expect(container).toMatchSnapshot();
100
99
  });
101
- it("should re-render Slot when not bubbling virtually", () => {
100
+ it('should re-render Slot when not bubbling virtually', () => {
102
101
  const { container, getByRole } = (0, react_1.render)(React.createElement(__1.Provider, null,
103
102
  React.createElement("div", null,
104
103
  React.createElement(__1.Slot, { name: "egg" })),
@@ -107,7 +106,7 @@ describe("Slot", () => {
107
106
  react_1.fireEvent.click(getByRole('button'));
108
107
  expect(container).toMatchSnapshot();
109
108
  });
110
- it("should render in expected order when fills always mounted", () => {
109
+ it('should render in expected order when fills always mounted', () => {
111
110
  const { container, rerender } = (0, react_1.render)(React.createElement(__1.Provider, null,
112
111
  React.createElement("div", { key: "slot" },
113
112
  React.createElement(__1.Slot, { name: "egg" }))));
@@ -162,8 +161,8 @@ describe("Slot", () => {
162
161
  expect(container).toMatchSnapshot();
163
162
  // expect(console).toHaveWarned();
164
163
  });
165
- describe.each([false, true])("bubblesVirtually %p", bubblesVirtually => {
166
- it("should subsume another slot by the same name", () => {
164
+ describe.each([false, true])('bubblesVirtually %p', (bubblesVirtually) => {
165
+ it('should subsume another slot by the same name', () => {
167
166
  const { container, rerender } = (0, react_1.render)(React.createElement(__1.Provider, null,
168
167
  React.createElement("div", { "data-position": "first" },
169
168
  React.createElement(__1.Slot, { name: "egg", bubblesVirtually: bubblesVirtually })),
@@ -204,22 +203,22 @@ describe("Slot", () => {
204
203
  });
205
204
  });
206
205
  //@sri custom logic
207
- describe("Slot with logic", () => {
208
- it("should render a string Fill with HTML wrapper when render props used", () => {
209
- const Fill1 = props => {
210
- return React.createElement(__1.Fill, { name: "chicken", fillId: 'id1' }, props => {
211
- return "content";
212
- });
206
+ describe('Slot with logic', () => {
207
+ it('should render a string Fill with HTML wrapper when render props used', () => {
208
+ const Fill1 = (props) => {
209
+ return (React.createElement(__1.Fill, { name: "chicken", fillId: "id1" }, (props) => {
210
+ return 'content';
211
+ }));
213
212
  };
214
- const Fill2 = props => {
215
- return (React.createElement(__1.Fill, { name: "chicken", fillId: 'id2' }, props => {
216
- console.log("--filler--props", props);
217
- return "content1";
213
+ const Fill2 = (props) => {
214
+ return (React.createElement(__1.Fill, { name: "chicken", fillId: "id2" }, (props) => {
215
+ console.log('--filler--props', props);
216
+ return 'content1';
218
217
  }));
219
218
  };
220
- const Slot1 = props => {
221
- return (React.createElement(__1.Slot, { name: "chicken", fillProps: { selected: "one" } }, fills => {
222
- console.log("---files", fills);
219
+ const Slot1 = (props) => {
220
+ return (React.createElement(__1.Slot, { name: "chicken", fillProps: { selected: 'one' } }, (fills) => {
221
+ console.log('---files', fills);
223
222
  return fills && React.createElement("blockquote", null, "Test");
224
223
  }));
225
224
  };
@@ -1 +1 @@
1
- {"version":3,"file":"slot-features.test.js","sourceRoot":"","sources":["../../../src/slot-fill/__tests__/slot-features.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slot-features.test.js","sourceRoot":"","sources":["../../../src/slot-fill/__tests__/slot-features.test.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,6CAA+B;AAC/B,kDAA2D;AAC3D,2BAA2C;AAC3C,iCAAkC;AAClC,gBAAc;AAEd,MAAM,MAAO,SAAQ,iBAAmB;IACpC,YAAY,KAAK;QACb,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG;YACT,GAAG,EAAE,CAAC;SACT,CAAC;IACN,CAAC;IACM,MAAM;QACT,OAAO;YACH,gCAAQ,GAAG,EAAC,GAAG,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,GAAI;YAC3F,oBAAC,QAAI,IAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAC,GAAG,IAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAC1C;SACV,CAAC;IACN,CAAC;CACJ;AAED,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IAClB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EACxB,oBAAC,YAAQ;YACL;gBACI,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,GAAG,CACrB;YACN,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,GAAG,CAChB,CACd,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EACxB,oBAAC,YAAQ;YACL;gBACI,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,GAAG,CACrB;YACN,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,cAAe,CAC5B,CACd,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EACxB,oBAAC,YAAQ;YACL;gBACI,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,GAAG,CACrB;YACN,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS;gBAChB,iCAAQ,CACL,CACA,CACd,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EACxB,oBAAC,YAAQ;YACL;gBACI,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,GAAG,CACrB;YACN,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,IAAE,CAAC,8BAAM,GAAG,EAAC,GAAG,GAAG,EAAE,6BAAK,GAAG,EAAC,GAAG,GAAG,EAAE,MAAM,CAAC,CAAQ,CAClE,CACd,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE1B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EACxB,oBAAC,YAAQ;YACL,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,EAAE,OAAO,EAAE,GAAI;YAC/C,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,IACf,CAAC,KAAK,EAAE,EAAE;gBACP,OAAO,gCAAQ,OAAO,EAAE,KAAK,CAAC,OAAO,gBAAoB,CAAC;YAC9D,CAAC,CACE,CACA,CACd,CAAC;QACF,iBAAS,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAEvC,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC7E,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EACxB,oBAAC,YAAQ;YACL;gBACI,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,IACf,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,wCAAa,KAAY,CAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7E,CACL;YACN,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,GAAG,CAChB,CACd,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC5E,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EACxB,oBAAC,YAAQ;YACL;gBACI,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,IAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,wCAAa,KAAY,CAAc,CAAQ,CACvF;YACN,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,cAAe,CAC5B,CACd,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EACnC,oBAAC,YAAQ;YACL;gBACI,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,GAAG,CACjB;YACN,oBAAC,MAAM,IAAC,IAAI,EAAC,KAAK,GAAG,CACd,CACd,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;QACpC,iBAAS,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAA,cAAM,EAClC,oBAAC,YAAQ;YACL,6BAAK,GAAG,EAAC,MAAM;gBACX,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,GAAG,CACjB,CACC,CACd,CAAC;QAEF,QAAQ,CACJ,oBAAC,YAAQ;YACL,6BAAK,GAAG,EAAC,MAAM;gBACX,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,GAAG,CACjB;YACN,oBAAC,MAAM,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GAAG;YAC9C,oBAAC,MAAM,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAG,CACzC,CACd,CAAC;QAEF,QAAQ,CACJ,oBAAC,YAAQ;YACL,6BAAK,GAAG,EAAC,MAAM;gBACX,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,GAAG,CACjB;YACN,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,OAAO,GAAG;YAC/B,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,QAAQ,aAEtB;YACP,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,OAAO,YAErB,CACA,CACd,CAAC;QAEF,QAAQ,CACJ,oBAAC,YAAQ;YACL,6BAAK,GAAG,EAAC,MAAM;gBACX,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,GAAG,CACjB;YACN,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,OAAO,yBAErB;YACP,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,QAAQ,aAEtB;YACP,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,OAAO,YAErB;YACP,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,QAAQ,mBAEtB,CACA,CACd,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAA,cAAM,EAClC,oBAAC,YAAQ;YACL,6BAAK,GAAG,EAAC,MAAM;gBACX,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,GAAG,CACjB,CACC,CACd,CAAC;QAEF,QAAQ,CACJ,oBAAC,YAAQ;YACL,6BAAK,GAAG,EAAC,MAAM;gBACX,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,GAAG,CACjB;YACN,oBAAC,MAAM,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GAAG;YAC9C,oBAAC,MAAM,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAG,CACzC,CACd,CAAC;QAEF,QAAQ,CACJ,oBAAC,YAAQ;YACL,6BAAK,GAAG,EAAC,MAAM;gBACX,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,GAAG,CACjB;YACN,oBAAC,MAAM,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAG;YAChD,oBAAC,MAAM,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GAAG,CACvC,CACd,CAAC;QAEF,QAAQ,CACJ,oBAAC,YAAQ;YACL,6BAAK,GAAG,EAAC,MAAM;gBACX,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,GAAG,CACjB;YACN,oBAAC,MAAM,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,OAAO,EAAC,IAAI,EAAC,oBAAoB,GAAG;YAC3D,oBAAC,MAAM,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAG;YAChD,oBAAC,MAAM,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GAAG;YAC9C,oBAAC,MAAM,IAAC,IAAI,EAAC,KAAK,EAAC,GAAG,EAAC,QAAQ,EAAC,IAAI,EAAC,cAAc,GAAG,CAC/C,CACd,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EACxB;YACI;gBACI,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,EAAC,gBAAgB,SAAG,CACtC;YACN,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,GAAG,CACxB,CACN,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;QACpC,kCAAkC;IACtC,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,gBAAgB,EAAE,EAAE;QACrE,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACpD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAA,cAAM,EAClC,oBAAC,YAAQ;gBACL,8CAAmB,OAAO;oBACtB,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,gBAAgB,EAAE,gBAAgB,GAAI,CACrD;gBACN,8CAAmB,QAAQ,GAAG;gBAC9B,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,cAAe,CACxB,CACd,CAAC;YAEF,QAAQ,CACJ,oBAAC,YAAQ;gBACL,8CAAmB,OAAO;oBACtB,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,gBAAgB,EAAE,gBAAgB,GAAI,CACrD;gBACN,8CAAmB,QAAQ;oBACvB,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,gBAAgB,EAAE,gBAAgB,GAAI,CACrD;gBACN,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,cAAe,CACxB,CACd,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;YAEpC,QAAQ,CACJ,oBAAC,YAAQ;gBACL,8CAAmB,OAAO,GAAG;gBAC7B,8CAAmB,QAAQ;oBACvB,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,gBAAgB,EAAE,gBAAgB,GAAI,CACrD;gBACN,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,cAAe,CACxB,CACd,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACnD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAClC,oBAAC,YAAQ;gBACL,8CAAmB,OAAO;oBACtB,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,gBAAgB,EAAE,gBAAgB,GAAI,CACrD;gBACN,8CAAmB,QAAQ;oBACvB,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,gBAAgB,EAAE,gBAAgB,GAAI,CACrD;gBACN,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,cAAe,CACxB,CACd,CAAC;YAEF,QAAQ,CACJ,oBAAC,YAAQ;gBACL,8CAAmB,OAAO;oBACtB,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,EAAC,gBAAgB,EAAE,gBAAgB,GAAI,CACrD;gBACN,8CAAmB,QAAQ,GAAG;gBAC9B,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,cAAe,CACxB,CACd,CAAC;YACF,QAAQ,CACJ,oBAAC,YAAQ;gBACL,8CAAmB,OAAO,GAAG;gBAC7B,8CAAmB,QAAQ,GAAG;gBAC9B,oBAAC,QAAI,IAAC,IAAI,EAAC,KAAK,cAAe,CACxB,CACd,CAAC;YACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC5E,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE;YACpB,OAAO,CACH,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,EAAC,MAAM,EAAC,KAAK,IAC5B,CAAC,KAAK,EAAE,EAAE;gBACP,OAAO,SAAS,CAAC;YACrB,CAAC,CACE,CACV,CAAC;QACN,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE;YACpB,OAAO,CACH,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,EAAC,MAAM,EAAC,KAAK,IAC5B,CAAC,KAAK,EAAE,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;gBACtC,OAAO,UAAU,CAAC;YACtB,CAAC,CACE,CACV,CAAC;QACN,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE;YACpB,OAAO,CACH,oBAAC,QAAI,IAAC,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAC9C,CAAC,KAAK,EAAE,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC/B,OAAO,KAAK,IAAI,+CAA6B,CAAC;YAClD,CAAC,CACE,CACV,CAAC;QACN,CAAC,CAAC;QACF,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EACxB,oBAAC,YAAQ;YACL;gBACI,oBAAC,KAAK,OAAG,CACP;YACN,oBAAC,KAAK,OAAG;YACT,oBAAC,KAAK,OAAG,CACF,CACd,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,58 @@
1
+ // import * as React from 'react';
2
+ // import { render, screen, within } from '@testing-library/react';
3
+ // import { createSlotFill, Provider as SlotFillProvider } from '../';
4
+ // describe('createSlotFill', () => {
5
+ // test('should render all slot fills in order of rendering', () => {
6
+ // const PostSidebar: any = createSlotFill('PostSidebar');
7
+ // render(
8
+ // <SlotFillProvider>
9
+ // <PostSidebar.Fill>
10
+ // <p>Post Section 1</p>
11
+ // </PostSidebar.Fill>
12
+ // <PostSidebar.Fill>
13
+ // <p>Post Section 2</p>
14
+ // </PostSidebar.Fill>
15
+ // <div title="Post Sidebar">
16
+ // <PostSidebar.Slot />
17
+ // </div>
18
+ // </SlotFillProvider>,
19
+ // );
20
+ // const postSidebar = screen.getByTitle('Post Sidebar');
21
+ // const postSections = within(postSidebar).getAllByText(/Post Section \d/);
22
+ // expect(postSidebar).toBeVisible();
23
+ // expect(postSections).toHaveLength(2);
24
+ // postSections.forEach((postSection, index) => {
25
+ // expect(postSection).toBeVisible();
26
+ // expect(postSection).toHaveTextContent(`Post Section ${index + 1}`);
27
+ // });
28
+ // });
29
+ // test('should support separate multiple slots and fills', () => {
30
+ // const PostSidebar = createSlotFill('PostSidebar');
31
+ // const PageSidebar = createSlotFill('PageSidebar');
32
+ // render(
33
+ // <SlotFillProvider>
34
+ // <PostSidebar.Fill>
35
+ // <p>Post Section</p>
36
+ // </PostSidebar.Fill>
37
+ // <PageSidebar.Fill>
38
+ // <p>Page Section</p>
39
+ // </PageSidebar.Fill>
40
+ // <div title="Post Sidebar">
41
+ // <PostSidebar.Slot />
42
+ // </div>
43
+ // <div title="Page Sidebar">
44
+ // <PageSidebar.Slot />
45
+ // </div>
46
+ // </SlotFillProvider>,
47
+ // );
48
+ // const postSidebar = screen.getByTitle('Post Sidebar');
49
+ // expect(postSidebar).toBeVisible();
50
+ // expect(within(postSidebar).getByText('Post Section')).toBeVisible();
51
+ // const pageSidebar = screen.getByTitle('Page Sidebar');
52
+ // expect(pageSidebar).toBeVisible();
53
+ // expect(within(pageSidebar).getByText('Page Section')).toBeVisible();
54
+ // expect(within(postSidebar).queryByText('Page Section')).not.toBeInTheDocument();
55
+ // expect(within(pageSidebar).queryByText('Post Section')).not.toBeInTheDocument();
56
+ // });
57
+ // });
58
+ //# sourceMappingURL=slot-fill-provider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot-fill-provider.test.js","sourceRoot":"","sources":["../../../src/slot-fill/__tests__/slot-fill-provider.test.tsx"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,mEAAmE;AACnE,sEAAsE;AAEtE,qCAAqC;AACrC,yEAAyE;AACzE,kEAAkE;AAElE,kBAAkB;AAClB,iCAAiC;AACjC,qCAAqC;AACrC,4CAA4C;AAC5C,sCAAsC;AACtC,qCAAqC;AACrC,4CAA4C;AAC5C,sCAAsC;AACtC,6CAA6C;AAC7C,2CAA2C;AAC3C,yBAAyB;AACzB,mCAAmC;AACnC,aAAa;AAEb,iEAAiE;AACjE,oFAAoF;AAEpF,6CAA6C;AAC7C,gDAAgD;AAChD,yDAAyD;AACzD,iDAAiD;AACjD,kFAAkF;AAClF,cAAc;AACd,UAAU;AAEV,uEAAuE;AACvE,6DAA6D;AAC7D,6DAA6D;AAE7D,kBAAkB;AAClB,iCAAiC;AACjC,qCAAqC;AACrC,0CAA0C;AAC1C,sCAAsC;AACtC,qCAAqC;AACrC,0CAA0C;AAC1C,sCAAsC;AACtC,6CAA6C;AAC7C,2CAA2C;AAC3C,yBAAyB;AACzB,6CAA6C;AAC7C,2CAA2C;AAC3C,yBAAyB;AACzB,mCAAmC;AACnC,aAAa;AAEb,iEAAiE;AAEjE,6CAA6C;AAC7C,+EAA+E;AAE/E,iEAAiE;AAEjE,6CAA6C;AAC7C,+EAA+E;AAE/E,2FAA2F;AAC3F,2FAA2F;AAC3F,UAAU;AACV,MAAM"}
@@ -25,24 +25,30 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const react_1 = __importStar(require("react"));
27
27
  const react_dom_1 = require("react-dom");
28
- const lodash_1 = require("lodash");
29
28
  const context_1 = require("./context");
30
29
  const use_slot_1 = require("./use-slot");
31
- const FillComponent = ({ name, children, registerFill, unregisterFill, }) => {
30
+ const FillComponent = ({ name, children, registerFill, unregisterFill }) => {
32
31
  const slot = (0, use_slot_1.useSlot)(name);
33
32
  const ref = (0, react_1.useRef)({
34
33
  name,
35
34
  children,
36
35
  });
37
36
  (0, react_1.useLayoutEffect)(() => {
38
- registerFill(name, ref.current);
39
- return () => unregisterFill(name, ref.current);
37
+ const refValue = ref.current;
38
+ registerFill(name, refValue);
39
+ return () => unregisterFill(name, refValue);
40
+ // Ignore reason: the useLayoutEffects here are written to fire at specific times, and introducing new dependencies could cause unexpected changes in behavior.
41
+ // We'll leave them as-is until a more detailed investigation/refactor can be performed.
42
+ // eslint-disable-next-line react-hooks/exhaustive-deps
40
43
  }, []);
41
44
  (0, react_1.useLayoutEffect)(() => {
42
45
  ref.current.children = children;
43
46
  if (slot) {
44
47
  slot.forceUpdate();
45
48
  }
49
+ // Ignore reason: the useLayoutEffects here are written to fire at specific times, and introducing new dependencies could cause unexpected changes in behavior.
50
+ // We'll leave them as-is until a more detailed investigation/refactor can be performed.
51
+ // eslint-disable-next-line react-hooks/exhaustive-deps
46
52
  }, [children]);
47
53
  (0, react_1.useLayoutEffect)(() => {
48
54
  if (name === ref.current.name) {
@@ -52,17 +58,20 @@ const FillComponent = ({ name, children, registerFill, unregisterFill, }) => {
52
58
  unregisterFill(ref.current.name, ref.current);
53
59
  ref.current.name = name;
54
60
  registerFill(name, ref.current);
61
+ // Ignore reason: the useLayoutEffects here are written to fire at specific times, and introducing new dependencies could cause unexpected changes in behavior.
62
+ // We'll leave them as-is until a more detailed investigation/refactor can be performed.
63
+ // eslint-disable-next-line react-hooks/exhaustive-deps
55
64
  }, [name]);
56
65
  if (!slot || !slot.node) {
57
66
  return null;
58
67
  }
59
68
  // If a function is passed as a child, provide it with the fillProps.
60
- if ((0, lodash_1.isFunction)(children)) {
69
+ if (typeof children === 'function') {
61
70
  children = children(slot.props.fillProps);
62
71
  }
63
72
  return (0, react_dom_1.createPortal)(children, slot.node);
64
73
  };
65
- const Fill = props => {
74
+ const Fill = (props) => {
66
75
  return (react_1.default.createElement(context_1.Consumer, null, ({ registerFill, unregisterFill }) => (react_1.default.createElement(FillComponent, Object.assign({}, props, { registerFill: registerFill, unregisterFill: unregisterFill })))));
67
76
  };
68
77
  exports.default = Fill;
@@ -1 +1 @@
1
- {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../../src/slot-fill/base/fill.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,yCAAyC;AACzC,mCAAoC;AACpC,uCAAqC;AAErC,yCAAqC;AAKrC,MAAM,aAAa,GAA8B,CAAC,EAChD,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,IAAA,kBAAO,EAAC,IAAI,CAAC,CAAC;IAE3B,MAAM,GAAG,GAAG,IAAA,cAAM,EAAC;QACjB,IAAI;QACJ,QAAQ;KACT,CAAC,CAAC;IAEH,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAChC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,IAAI,IAAI,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YAC7B,wBAAwB;YACxB,OAAO;SACR;QACD,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IAED,qEAAqE;IACrE,IAAI,IAAA,mBAAU,EAAC,QAAQ,CAAC,EAAE;QACxB,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KAC3C;IAED,OAAO,IAAA,wBAAY,EAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC,CAAC;AAQF,MAAM,IAAI,GAAmB,KAAK,CAAC,EAAE;IACnC,OAAO,CACL,8BAAC,kBAAQ,QACN,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CACrC,8BAAC,aAAa,oBACR,KAAK,IACT,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,IAC9B,CACH,CACQ,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../../src/slot-fill/base/fill.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2D;AAC3D,yCAAyC;AACzC,uCAAqC;AAErC,yCAAqC;AAKrC,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAwB,EAAE,EAAE;IAC7F,MAAM,IAAI,GAAG,IAAA,kBAAO,EAAC,IAAI,CAAC,CAAC;IAE3B,MAAM,GAAG,GAAG,IAAA,cAAM,EAAC;QACf,IAAI;QACJ,QAAQ;KACX,CAAC,CAAC;IAEH,IAAA,uBAAe,EAAC,GAAG,EAAE;QACjB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;QAC7B,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5C,+JAA+J;QAC/J,wFAAwF;QACxF,uDAAuD;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,uBAAe,EAAC,GAAG,EAAE;QACjB,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAChC,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;QACD,+JAA+J;QAC/J,wFAAwF;QACxF,uDAAuD;IAC3D,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,IAAA,uBAAe,EAAC,GAAG,EAAE;QACjB,IAAI,IAAI,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YAC3B,wBAAwB;YACxB,OAAO;SACV;QACD,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,+JAA+J;QAC/J,wFAAwF;QACxF,uDAAuD;IACrD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACrB,OAAO,IAAI,CAAC;KACf;IAED,qEAAqE;IACrE,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;QAChC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KAC7C;IAED,OAAO,IAAA,wBAAY,EAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAOF,MAAM,IAAI,GAAmB,CAAC,KAAK,EAAE,EAAE;IACnC,OAAO,CACH,8BAAC,kBAAQ,QACJ,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CACnC,8BAAC,aAAa,oBAAK,KAAK,IAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,IAAI,CAC3F,CACM,CACd,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC"}
@@ -1,6 +1,8 @@
1
- import { Component } from 'react';
1
+ import { Component, ReactNode } from 'react';
2
2
  import { IFill, ISlot } from '../interfaces';
3
- declare class SlotFillProvider extends Component<{}, {}> {
3
+ declare class SlotFillProvider extends Component<{
4
+ children: ReactNode;
5
+ }, {}> {
4
6
  private slots;
5
7
  private fills;
6
8
  private listeners;
@@ -80,7 +80,8 @@ class SlotFillProvider extends react_1.Component {
80
80
  this.triggerListeners();
81
81
  }
82
82
  unregisterFill(name, instance) {
83
- this.fills[name] = (0, lodash_1.without)(this.fills[name], instance);
83
+ var _a, _b;
84
+ this.fills[name] = (_b = (_a = this.fills[name]) === null || _a === void 0 ? void 0 : _a.filter((fill) => fill !== instance)) !== null && _b !== void 0 ? _b : [];
84
85
  this.forceUpdateSlot(name);
85
86
  }
86
87
  getSlot(name) {
@@ -110,7 +111,7 @@ class SlotFillProvider extends react_1.Component {
110
111
  subscribe(listener) {
111
112
  this.listeners.push(listener);
112
113
  return () => {
113
- this.listeners = (0, lodash_1.without)(this.listeners, listener);
114
+ this.listeners = this.listeners.filter((l) => l !== listener);
114
115
  };
115
116
  }
116
117
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/slot-fill/base/provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/slot-fill/base/provider.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import { SFC } from 'react';
2
1
  import { ISlotProps, IContext } from '../interfaces';
3
2
  export declare namespace ISlotComponent {
4
3
  interface Props extends Partial<IContext>, ISlotProps {
5
4
  }
6
5
  }
7
- declare const Slot: SFC<ISlotProps>;
6
+ declare const Slot: (props: ISlotProps) => JSX.Element;
8
7
  export default Slot;
@@ -23,10 +23,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- const lodash_1 = require("lodash");
27
26
  const react_1 = __importStar(require("react"));
28
27
  const context_1 = require("./context");
29
28
  const isEmptyElement_1 = require("../utils/isEmptyElement");
29
+ /**
30
+ * Whether the argument is a function.
31
+ *
32
+ * @param {*} maybeFunc The argument to check.
33
+ * @returns {boolean} True if the argument is a function, false otherwise.
34
+ */
35
+ function isFunction(maybeFunc) {
36
+ return typeof maybeFunc === 'function';
37
+ }
30
38
  class SlotComponent extends react_1.Component {
31
39
  constructor(props) {
32
40
  super(props);
@@ -60,27 +68,28 @@ class SlotComponent extends react_1.Component {
60
68
  super.forceUpdate();
61
69
  }
62
70
  render() {
63
- const { children, name, fillProps = {}, getFills, className, } = this.props;
64
- const fills = (0, lodash_1.map)(getFills(name, this), fill => {
65
- const fillChildren = (0, lodash_1.isFunction)(fill.children)
66
- ? fill.children(fillProps)
67
- : fill.children;
71
+ var _a;
72
+ const { children, name, fillProps = {}, getFills, className } = this.props;
73
+ const fills = ((_a = getFills(name, this)) !== null && _a !== void 0 ? _a : [])
74
+ .map((fill) => {
75
+ const fillChildren = isFunction(fill.children) ? fill.children(fillProps) : fill.children;
68
76
  return react_1.Children.map(fillChildren, (child, childIndex) => {
69
- if (!child || (0, lodash_1.isString)(child)) {
77
+ if (!child || typeof child === 'string') {
70
78
  return child;
71
79
  }
72
80
  const childKey = child.key || childIndex;
73
81
  return (0, react_1.cloneElement)(child, { key: childKey });
74
82
  });
75
- }).filter(
83
+ })
84
+ .filter(
76
85
  // In some cases fills are rendered only when some conditions apply.
77
86
  // This ensures that we only use non-empty fills when rendering, i.e.,
78
87
  // it allows us to render wrappers only when the fills are actually present.
79
- (0, lodash_1.negate)(isEmptyElement_1.isEmptyElement));
80
- return react_1.default.createElement(react_1.default.Fragment, null, (0, lodash_1.isFunction)(children) ? children(fills) : fills);
88
+ (element) => !(0, isEmptyElement_1.isEmptyElement)(element));
89
+ return react_1.default.createElement(react_1.default.Fragment, null, isFunction(children) ? children(fills) : fills);
81
90
  }
82
91
  }
83
- const Slot = props => {
92
+ const Slot = (props) => {
84
93
  return (react_1.default.createElement(context_1.Consumer, null, ({ registerSlot, unregisterSlot, getFills }) => (react_1.default.createElement(SlotComponent, Object.assign({}, props, { getFills: getFills, registerSlot: registerSlot, unregisterSlot: unregisterSlot })))));
85
94
  };
86
95
  exports.default = Slot;
@@ -1 +1 @@
1
- {"version":3,"file":"slot.js","sourceRoot":"","sources":["../../../src/slot-fill/base/slot.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slot.js","sourceRoot":"","sources":["../../../src/slot-fill/base/slot.tsx"],"names":[],"mappings":"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"}
@@ -21,6 +21,9 @@ const useSlot = (name) => {
21
21
  setSlot(getSlot(name));
22
22
  });
23
23
  return unsubscribe;
24
+ // Ignore reason: Modifying this dep array could introduce unexpected changes in behavior,
25
+ // so we'll leave it as=is until the hook can be properly refactored for exhaustive-deps.
26
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
27
  }, [name]);
25
28
  return slot;
26
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-slot.js","sourceRoot":"","sources":["../../../src/slot-fill/base/use-slot.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAwD;AACxD,wDAAwC;AAExC;;;;;GAKG;AACI,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE;IAC9B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,kBAAU,EAAC,iBAAe,CAAC,CAAC;IAC3D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvB,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE;YACjC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,OAAO,WAYlB"}
1
+ {"version":3,"file":"use-slot.js","sourceRoot":"","sources":["../../../src/slot-fill/base/use-slot.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAwD;AACxD,wDAAwC;AAExC;;;;;GAKG;AACI,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE;IAC5B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,kBAAU,EAAC,iBAAe,CAAC,CAAC;IAC3D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvB,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE;YAC/B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;QACnB,0FAA0F;QAC1F,yFAAyF;QACzF,uDAAuD;IAC3D,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAfW,QAAA,OAAO,WAelB"}
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
@@ -21,17 +32,17 @@ function useForceUpdate() {
21
32
  };
22
33
  }
23
34
  function Fill({ name, children }) {
24
- const slot = (0, use_slot_1.default)(name);
35
+ const _a = (0, use_slot_1.default)(name), { registerFill, unregisterFill } = _a, slot = __rest(_a, ["registerFill", "unregisterFill"]);
25
36
  const ref = (0, react_1.useRef)({ rerender: useForceUpdate() });
26
37
  (0, react_1.useEffect)(() => {
27
- // We register fills so we can keep track of their existance.
38
+ // We register fills so we can keep track of their existence.
28
39
  // Some Slot implementations need to know if there're already fills
29
40
  // registered so they can choose to render themselves or not.
30
- slot.registerFill(ref);
41
+ registerFill(ref);
31
42
  return () => {
32
- slot.unregisterFill(ref);
43
+ unregisterFill(ref);
33
44
  };
34
- }, [slot.registerFill, slot.unregisterFill]);
45
+ }, [registerFill, unregisterFill]);
35
46
  if (!slot.ref || !slot.ref.current) {
36
47
  return null;
37
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../../src/slot-fill/bubbles-virtually/fill.ts"],"names":[],"mappings":";;;;;AAAA,iCAAoD;AACpD,yCAAyC;AACzC,0DAAiC;AAEjC,SAAS,cAAc;IACtB,MAAM,CAAE,AAAD,EAAG,QAAQ,CAAE,GAAG,IAAA,gBAAQ,EAAE,EAAE,CAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAA,cAAM,EAAE,IAAI,CAAE,CAAC;IAE/B,IAAA,iBAAS,EAAE,GAAG,EAAE;QACf,OAAO,GAAG,EAAE;YACX,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAE,CAAC;IAER,OAAO,GAAG,EAAE;QACX,IAAK,OAAO,CAAC,OAAO,EAAG;YACtB,QAAQ,CAAE,EAAE,CAAE,CAAC;SACf;IACF,CAAC,CAAC;AACH,CAAC;AAED,SAAwB,IAAI,CAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC/C,MAAM,IAAI,GAAG,IAAA,kBAAO,EAAE,IAAI,CAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAA,cAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,CAAE,CAAC;IAErD,IAAA,iBAAS,EAAE,GAAG,EAAE;QACf,6DAA6D;QAC7D,mEAAmE;QACnE,6DAA6D;QAC7D,IAAI,CAAC,YAAY,CAAE,GAAG,CAAE,CAAC;QACzB,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,cAAc,CAAE,GAAG,CAAE,CAAC;QAC5B,CAAC,CAAC;IACH,CAAC,EAAE,CAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAE,CAAE,CAAC;IAEhD,IAAK,CAAE,IAAI,CAAC,GAAG,IAAI,CAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAG;QACvC,OAAO,IAAI,CAAC;KACZ;IAED,IAAK,OAAO,QAAQ,KAAK,UAAU,EAAG;QACrC,QAAQ,GAAG,QAAQ,CAAE,IAAI,CAAC,SAAS,CAAE,CAAC;KACtC;IAEE,4EAA4E;IAC/E,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,mCAAmC;IACnC,4BAA4B;IAC5B,+DAA+D;IAC/D,iBAAiB;IACjB,oBAAoB;IACpB,KAAK;IAEL,OAAO,IAAA,wBAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;AACnD,CAAC;AAlCD,uBAkCC"}
1
+ {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../../src/slot-fill/bubbles-virtually/fill.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iCAAoD;AACpD,yCAAyC;AACzC,0DAAiC;AAEjC,SAAS,cAAc;IACtB,MAAM,CAAE,AAAD,EAAG,QAAQ,CAAE,GAAG,IAAA,gBAAQ,EAAE,EAAE,CAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAA,cAAM,EAAE,IAAI,CAAE,CAAC;IAE/B,IAAA,iBAAS,EAAE,GAAG,EAAE;QACf,OAAO,GAAG,EAAE;YACX,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAE,CAAC;IAER,OAAO,GAAG,EAAE;QACX,IAAK,OAAO,CAAC,OAAO,EAAG;YACtB,QAAQ,CAAE,EAAE,CAAE,CAAC;SACf;IACF,CAAC,CAAC;AACH,CAAC;AAED,SAAwB,IAAI,CAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC/C,MAAM,KAA4C,IAAA,kBAAO,EAAE,IAAI,CAAE,EAA3D,EAAE,YAAY,EAAE,cAAc,OAA6B,EAAxB,IAAI,cAAvC,kCAAyC,CAAkB,CAAC;IAClE,MAAM,GAAG,GAAG,IAAA,cAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,CAAE,CAAC;IAErD,IAAA,iBAAS,EAAE,GAAG,EAAE;QACf,6DAA6D;QAC7D,mEAAmE;QACnE,6DAA6D;QAC7D,YAAY,CAAE,GAAG,CAAE,CAAC;QACpB,OAAO,GAAG,EAAE;YACX,cAAc,CAAE,GAAG,CAAE,CAAC;QACvB,CAAC,CAAC;IACH,CAAC,EAAE,CAAE,YAAY,EAAE,cAAc,CAAE,CAAE,CAAC;IAEtC,IAAK,CAAE,IAAI,CAAC,GAAG,IAAI,CAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAG;QACvC,OAAO,IAAI,CAAC;KACZ;IAED,IAAK,OAAO,QAAQ,KAAK,UAAU,EAAG;QACrC,QAAQ,GAAG,QAAQ,CAAE,IAAI,CAAC,SAAS,CAAE,CAAC;KACtC;IAEE,4EAA4E;IAC/E,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,mCAAmC;IACnC,4BAA4B;IAC5B,+DAA+D;IAC/D,iBAAiB;IACjB,oBAAoB;IACpB,KAAK;IAEL,OAAO,IAAA,wBAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;AACnD,CAAC;AAlCD,uBAkCC"}
@@ -4,10 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = require("react");
7
+ const utils_1 = require("valtio/utils");
7
8
  const warning_1 = __importDefault(require("@wordpress/warning"));
8
9
  const SlotFillContext = (0, react_1.createContext)({
9
- slots: {},
10
- fills: {},
10
+ slots: (0, utils_1.proxyMap)(),
11
+ fills: (0, utils_1.proxyMap)(),
11
12
  registerSlot: () => {
12
13
  (0, warning_1.default)('Components must be wrapped within `SlotFillProvider`. ' +
13
14
  'See https://developer.wordpress.org/block-editor/components/slot-fill/');
@@ -1 +1 @@
1
- {"version":3,"file":"slot-fill-context.js","sourceRoot":"","sources":["../../../src/slot-fill/bubbles-virtually/slot-fill-context.ts"],"names":[],"mappings":";;;;;AAAA,iCAAsC;AACtC,iEAAyC;AAGzC,MAAM,eAAe,GAAG,IAAA,qBAAa,EAAwB;IAC5D,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,YAAY,EAAE,GAAG,EAAE;QAClB,IAAA,iBAAO,EACN,wDAAwD;YACvD,wEAAwE,CACzE,CAAC;IACH,CAAC;IACD,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;IACpB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;IACxB,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;IACtB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;CACxB,CAAE,CAAC;AAEJ,kBAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"slot-fill-context.js","sourceRoot":"","sources":["../../../src/slot-fill/bubbles-virtually/slot-fill-context.ts"],"names":[],"mappings":";;;;;AAAA,iCAAsC;AACtC,wCAAwC;AACxC,iEAAyC;AAGzC,MAAM,eAAe,GAAG,IAAA,qBAAa,EAAwB;IAC5D,KAAK,EAAE,IAAA,gBAAQ,GAAE;IACjB,KAAK,EAAE,IAAA,gBAAQ,GAAE;IACjB,YAAY,EAAE,GAAG,EAAE;QAClB,IAAA,iBAAO,EACN,wDAAwD;YACvD,wEAAwE,CACzE,CAAC;IACH,CAAC;IACD,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;IACpB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;IACxB,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;IACtB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;CACxB,CAAE,CAAC;AAEJ,kBAAe,eAAe,CAAC"}
@@ -22,95 +22,70 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __rest = (this && this.__rest) || function (s, e) {
26
- var t = {};
27
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
- t[p] = s[p];
29
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
- t[p[i]] = s[p[i]];
33
- }
34
- return t;
35
- };
36
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
27
  };
39
28
  Object.defineProperty(exports, "__esModule", { value: true });
40
29
  const react_1 = __importStar(require("react"));
30
+ const valtio_1 = require("valtio");
31
+ const utils_1 = require("valtio/utils");
41
32
  const is_shallow_equal_1 = __importDefault(require("@wordpress/is-shallow-equal"));
42
33
  /**
43
34
  * Internal dependencies
44
35
  */
45
36
  const slot_fill_context_1 = __importDefault(require("./slot-fill-context"));
46
37
  function useSlotRegistry() {
47
- const [slots, setSlots] = (0, react_1.useState)({});
48
- const [fills, setFills] = (0, react_1.useState)({});
38
+ const slots = (0, react_1.useRef)((0, utils_1.proxyMap)()); // TODO remove any
39
+ const fills = (0, react_1.useRef)((0, utils_1.proxyMap)()); // TODO remove any
49
40
  const registerSlot = (0, react_1.useCallback)((name, ref, fillProps) => {
50
- setSlots((prevSlots) => {
51
- const slot = prevSlots[name] || {};
52
- return Object.assign(Object.assign({}, prevSlots), { [name]: Object.assign(Object.assign({}, slot), { ref: ref || slot.ref, fillProps: fillProps || slot.fillProps || {} }) });
53
- });
41
+ const slot = slots.current.get(name) || {};
42
+ slots.current.set(name, (0, valtio_1.ref)(Object.assign(Object.assign({}, slot), { ref: ref || slot.ref, fillProps: fillProps || slot.fillProps || {} })));
54
43
  }, []);
55
44
  const unregisterSlot = (0, react_1.useCallback)((name, ref) => {
56
- setSlots((prevSlots) => {
57
- const _a = prevSlots, _b = name, slot = _a[_b], nextSlots = __rest(_a, [typeof _b === "symbol" ? _b : _b + ""]);
58
- // Make sure we're not unregistering a slot registered by another element
59
- // See https://github.com/WordPress/gutenberg/pull/19242#issuecomment-590295412
60
- if ((slot === null || slot === void 0 ? void 0 : slot.ref) === ref) {
61
- return nextSlots;
62
- }
63
- return prevSlots;
64
- });
45
+ var _a;
46
+ // Make sure we're not unregistering a slot registered by another element
47
+ // See https://github.com/WordPress/gutenberg/pull/19242#issuecomment-590295412
48
+ if (((_a = slots.current.get(name)) === null || _a === void 0 ? void 0 : _a.ref) === ref) {
49
+ slots.current.delete(name);
50
+ }
65
51
  }, []);
66
52
  const updateSlot = (0, react_1.useCallback)((name, fillProps) => {
67
- const slot = slots[name];
53
+ const slot = slots.current.get(name);
68
54
  if (!slot) {
69
55
  return;
70
56
  }
71
57
  if (!(0, is_shallow_equal_1.default)(slot.fillProps, fillProps)) {
72
58
  slot.fillProps = fillProps;
73
- const slotFills = fills[name];
59
+ const slotFills = fills.current.get(name);
74
60
  if (slotFills) {
75
61
  // Force update fills.
76
62
  slotFills.map((fill) => fill.current.rerender());
77
63
  }
78
64
  }
79
- }, [slots, fills]);
65
+ }, []);
80
66
  const registerFill = (0, react_1.useCallback)((name, ref) => {
81
- setFills((prevFills) => (Object.assign(Object.assign({}, prevFills), { [name]: [...(prevFills[name] || []), ref] })));
67
+ fills.current.set(name, (0, valtio_1.ref)([...(fills.current.get(name) || []), ref]));
82
68
  }, []);
83
69
  const unregisterFill = (0, react_1.useCallback)((name, ref) => {
84
- setFills((prevFills) => {
85
- if (prevFills[name]) {
86
- return Object.assign(Object.assign({}, prevFills), { [name]: prevFills[name].filter((fillRef) => fillRef !== ref) });
87
- }
88
- return prevFills;
89
- });
70
+ if (fills.current.get(name)) {
71
+ fills.current.set(name, (0, valtio_1.ref)(fills.current.get(name).filter((fillRef) => fillRef !== ref)));
72
+ }
90
73
  }, []);
91
74
  // Memoizing the return value so it can be directly passed to Provider value
92
75
  const registry = (0, react_1.useMemo)(() => ({
93
- slots,
94
- fills,
95
- registerSlot,
96
- updateSlot,
97
- unregisterSlot,
98
- registerFill,
99
- unregisterFill,
100
- }), [
101
- slots,
102
- fills,
76
+ slots: slots.current,
77
+ fills: fills.current,
103
78
  registerSlot,
104
79
  updateSlot,
105
80
  unregisterSlot,
106
81
  registerFill,
107
82
  unregisterFill,
108
- ]);
83
+ }), [registerSlot, updateSlot, unregisterSlot, registerFill, unregisterFill]);
109
84
  return registry;
110
85
  }
111
86
  function SlotFillProvider({ children }) {
112
87
  const registry = useSlotRegistry();
113
- return (react_1.default.createElement(slot_fill_context_1.default.Provider, { value: registry }, children));
88
+ return react_1.default.createElement(slot_fill_context_1.default.Provider, { value: registry }, children);
114
89
  }
115
90
  exports.default = SlotFillProvider;
116
91
  //# sourceMappingURL=slot-fill-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slot-fill-provider.js","sourceRoot":"","sources":["../../../src/slot-fill/bubbles-virtually/slot-fill-provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slot-fill-provider.js","sourceRoot":"","sources":["../../../src/slot-fill/bubbles-virtually/slot-fill-provider.tsx"],"names":[],"mappings":"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"}
@@ -42,24 +42,23 @@ const compose_1 = require("@wordpress/compose");
42
42
  const slot_fill_context_1 = __importDefault(require("./slot-fill-context"));
43
43
  function Slot(_a, forwardedRef) {
44
44
  var { name, fillProps = {}, as: Component = 'div' } = _a, props = __rest(_a, ["name", "fillProps", "as"]);
45
- const registry = (0, react_1.useContext)(slot_fill_context_1.default);
45
+ const _b = (0, react_1.useContext)(slot_fill_context_1.default), { registerSlot, unregisterSlot } = _b, registry = __rest(_b, ["registerSlot", "unregisterSlot"]);
46
46
  const ref = (0, react_1.useRef)();
47
47
  (0, react_1.useLayoutEffect)(() => {
48
- registry.registerSlot(name, ref, fillProps);
48
+ registerSlot(name, ref, fillProps);
49
49
  return () => {
50
- registry.unregisterSlot(name, ref);
50
+ unregisterSlot(name, ref);
51
51
  };
52
- // We are not including fillProps in the deps because we don't want to
53
- // unregister and register the slot whenever fillProps change, which would
54
- // cause the fill to be re-mounted. We are only considering the initial value
55
- // of fillProps.
56
- }, [registry.registerSlot, registry.unregisterSlot, name]);
52
+ // Ignore reason: We don't want to unregister and register the slot whenever
53
+ // `fillProps` change, which would cause the fill to be re-mounted. Instead,
54
+ // we can just update the slot (see hook below).
55
+ }, [registerSlot, unregisterSlot, name]);
57
56
  // fillProps may be an update that interacts with the layout, so we
58
57
  // useLayoutEffect.
59
58
  (0, react_1.useLayoutEffect)(() => {
60
59
  registry.updateSlot(name, fillProps);
61
60
  });
62
- return (react_1.default.createElement(Component, Object.assign({ ref: (0, compose_1.useMergeRefs)([forwardedRef, ref]) }, props)));
61
+ return react_1.default.createElement(Component, Object.assign({ ref: (0, compose_1.useMergeRefs)([forwardedRef, ref]) }, props));
63
62
  }
64
63
  exports.default = (0, react_1.forwardRef)(Slot);
65
64
  //# sourceMappingURL=slot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slot.js","sourceRoot":"","sources":["../../../src/slot-fill/bubbles-virtually/slot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAKe;AACf,gDAAkD;AAClD,4EAAkD;AAGlD,SAAS,IAAI,CACZ,EAAmF,EACnF,YAAY;QADZ,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,KAAK,OAAsC,EAAjC,KAAK,cAAvD,2BAAyD,CAAF;IAGvD,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,2BAAe,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAA,cAAM,GAAE,CAAC;IAErB,IAAA,uBAAe,EAAC,GAAG,EAAE;QACpB,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,GAAG,EAAE;YACX,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,sEAAsE;QACtE,0EAA0E;QAC1E,6EAA6E;QAC7E,gBAAgB;IACjB,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3D,mEAAmE;IACnE,mBAAmB;IACnB,IAAA,uBAAe,EAAC,GAAG,EAAE;QACpB,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO,CACN,8BAAC,SAAS,kBAAC,GAAG,EAAE,IAAA,sBAAY,EAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAM,KAAK,EAAI,CAChE,CAAC;AACH,CAAC;AAED,kBAAe,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"slot.js","sourceRoot":"","sources":["../../../src/slot-fill/bubbles-virtually/slot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA+E;AAC/E,gDAAkD;AAClD,4EAAkD;AAGlD,SAAS,IAAI,CAAC,EAAoF,EAAE,YAAY;QAAlG,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,KAAK,OAAuC,EAAlC,KAAK,cAAvD,2BAAyD,CAAF;IACjE,MAAM,KAAgD,IAAA,kBAAU,EAAC,2BAAe,CAAC,EAA3E,EAAE,YAAY,EAAE,cAAc,OAA6C,EAAxC,QAAQ,cAA3C,kCAA6C,CAA8B,CAAC;IAClF,MAAM,GAAG,GAAG,IAAA,cAAM,GAAE,CAAC;IAErB,IAAA,uBAAe,EAAC,GAAG,EAAE;QACjB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACnC,OAAO,GAAG,EAAE;YACR,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,4EAA4E;QAC5E,4EAA4E;QAC5E,gDAAgD;IACpD,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IACzC,mEAAmE;IACnE,mBAAmB;IACnB,IAAA,uBAAe,EAAC,GAAG,EAAE;QACjB,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,OAAO,8BAAC,SAAS,kBAAC,GAAG,EAAE,IAAA,sBAAY,EAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAM,KAAK,EAAI,CAAC;AAC5E,CAAC;AAED,kBAAe,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export default function useSlotFills(name: any): any;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = require("react");
7
+ const valtio_1 = require("valtio");
8
+ const slot_fill_context_1 = __importDefault(require("./slot-fill-context"));
9
+ function useSlotFills(name) {
10
+ const registry = (0, react_1.useContext)(slot_fill_context_1.default);
11
+ const fills = (0, valtio_1.useSnapshot)(registry.fills, { sync: true });
12
+ // The important bit here is that this call ensures that the hook
13
+ // only causes a re-render if the "fills" of a given slot name
14
+ // change change, not any fills.
15
+ return fills.get(name);
16
+ }
17
+ exports.default = useSlotFills;
18
+ //# sourceMappingURL=use-slot-fills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-slot-fills.js","sourceRoot":"","sources":["../../../src/slot-fill/bubbles-virtually/use-slot-fills.ts"],"names":[],"mappings":";;;;;AAAA,iCAAoC;AACpC,mCAAqC;AAErC,4EAAkD;AAElD,SAAwB,YAAY,CAAE,IAAI;IACzC,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAE,2BAAe,CAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAA,oBAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAE,CAAC;IAC5D,iEAAiE;IACjE,8DAA8D;IAC9D,gCAAgC;IAChC,OAAO,KAAK,CAAC,GAAG,CAAE,IAAI,CAAE,CAAC;AAC1B,CAAC;AAPD,+BAOC"}
@@ -1,30 +1,43 @@
1
1
  "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
17
  const react_1 = require("react");
18
+ const valtio_1 = require("valtio");
7
19
  const slot_fill_context_1 = __importDefault(require("./slot-fill-context"));
8
20
  function useSlot(name) {
9
- const registry = (0, react_1.useContext)(slot_fill_context_1.default);
10
- const slot = registry.slots[name] || {};
11
- const slotFills = registry.fills[name];
12
- const fills = (0, react_1.useMemo)(() => slotFills || [], [slotFills]);
21
+ const _a = (0, react_1.useContext)(slot_fill_context_1.default), { updateSlot: registryUpdateSlot, unregisterSlot: registryUnregisterSlot, registerFill: registryRegisterFill, unregisterFill: registryUnregisterFill } = _a, registry = __rest(_a, ["updateSlot", "unregisterSlot", "registerFill", "unregisterFill"]);
22
+ const slots = (0, valtio_1.useSnapshot)(registry.slots, { sync: true });
23
+ // The important bit here is that this call ensures
24
+ // the hook only causes a re-render if the slot
25
+ // with the given name change, not any other slot.
26
+ const slot = slots.get(name);
13
27
  const updateSlot = (0, react_1.useCallback)((fillProps) => {
14
- registry.updateSlot(name, fillProps);
15
- }, [name, registry.updateSlot]);
28
+ registryUpdateSlot(name, fillProps);
29
+ }, [name, registryUpdateSlot]);
16
30
  const unregisterSlot = (0, react_1.useCallback)((slotRef) => {
17
- registry.unregisterSlot(name, slotRef);
18
- }, [name, registry.unregisterSlot]);
31
+ registryUnregisterSlot(name, slotRef);
32
+ }, [name, registryUnregisterSlot]);
19
33
  const registerFill = (0, react_1.useCallback)((fillRef) => {
20
- registry.registerFill(name, fillRef);
21
- }, [name, registry.registerFill]);
34
+ registryRegisterFill(name, fillRef);
35
+ }, [name, registryRegisterFill]);
22
36
  const unregisterFill = (0, react_1.useCallback)((fillRef) => {
23
- registry.unregisterFill(name, fillRef);
24
- }, [name, registry.unregisterFill]);
37
+ registryUnregisterFill(name, fillRef);
38
+ }, [name, registryUnregisterFill]);
25
39
  return Object.assign(Object.assign({}, slot), { updateSlot,
26
40
  unregisterSlot,
27
- fills,
28
41
  registerFill,
29
42
  unregisterFill });
30
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-slot.js","sourceRoot":"","sources":["../../../src/slot-fill/bubbles-virtually/use-slot.tsx"],"names":[],"mappings":";;;;;AAAA,iCAAyD;AAEzD,4EAAkD;AAElD,SAAwB,OAAO,CAAC,IAAU;IACtC,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,2BAAe,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAc,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAG,IAAA,mBAAW,EAC1B,CAAC,SAAS,EAAE,EAAE;QACV,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC,EACD,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAC9B,CAAC;IAEF,MAAM,cAAc,GAAG,IAAA,mBAAW,EAC9B,CAAC,OAAO,EAAE,EAAE;QACR,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC,EACD,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,CAClC,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC5B,CAAC,OAAO,EAAE,EAAE;QACR,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,EACD,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAChC,CAAC;IAEF,MAAM,cAAc,GAAG,IAAA,mBAAW,EAC9B,CAAC,OAAO,EAAE,EAAE;QACR,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC,EACD,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,CAClC,CAAC;IAEF,uCACO,IAAI,KACP,UAAU;QACV,cAAc;QACd,KAAK;QACL,YAAY;QACZ,cAAc,IAChB;AACN,CAAC;AA3CD,0BA2CC"}
1
+ {"version":3,"file":"use-slot.js","sourceRoot":"","sources":["../../../src/slot-fill/bubbles-virtually/use-slot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iCAAyD;AACzD,mCAAqC;AAErC,4EAAkD;AAElD,SAAwB,OAAO,CAAC,IAAU;IACtC,MAAM,KAMF,IAAA,kBAAU,EAAC,2BAAe,CAAC,EANzB,EACF,UAAU,EAAE,kBAAkB,EAC9B,cAAc,EAAE,sBAAsB,EACtC,YAAY,EAAE,oBAAoB,EAClC,cAAc,EAAE,sBAAsB,OAEX,EADxB,QAAQ,cALT,kEAML,CAA8B,CAAC;IAChC,MAAM,KAAK,GAAG,IAAA,oBAAW,EAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,mDAAmD;IACnD,+CAA+C;IAC/C,kDAAkD;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,UAAU,GAAG,IAAA,mBAAW,EAC1B,CAAC,SAAS,EAAE,EAAE;QACV,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAC7B,CAAC;IAEF,MAAM,cAAc,GAAG,IAAA,mBAAW,EAC9B,CAAC,OAAO,EAAE,EAAE;QACR,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,IAAI,EAAE,sBAAsB,CAAC,CACjC,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC5B,CAAC,OAAO,EAAE,EAAE;QACR,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAC/B,CAAC;IAEF,MAAM,cAAc,GAAG,IAAA,mBAAW,EAC9B,CAAC,OAAO,EAAE,EAAE;QACR,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,IAAI,EAAE,sBAAsB,CAAC,CACjC,CAAC;IAEF,uCACO,IAAI,KACP,UAAU;QACV,cAAc;QACd,YAAY;QACZ,cAAc,IAChB;AACN,CAAC;AAjDD,0BAiDC"}
@@ -1,6 +1,7 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import SlotFillProvider from './base/provider';
3
3
  import useSlot from './bubbles-virtually/use-slot';
4
+ export { default as useSlotFills } from './bubbles-virtually/use-slot-fills';
4
5
  import { IFillProps, ISlotProps } from './interfaces';
5
6
  declare type RenderProps<T> = {
6
7
  children: (api: T) => ReactNode;
@@ -37,7 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.useSlot = exports.SlotFillProvider = exports.createSlotFill = exports.Provider = exports.Slot = exports.Fill = void 0;
40
+ exports.useSlot = exports.SlotFillProvider = exports.createSlotFill = exports.Provider = exports.Slot = exports.Fill = exports.useSlotFills = void 0;
41
41
  const react_1 = __importStar(require("react"));
42
42
  const fill_1 = __importDefault(require("./base/fill"));
43
43
  const slot_1 = __importDefault(require("./base/slot"));
@@ -48,6 +48,8 @@ const provider_1 = __importDefault(require("./base/provider"));
48
48
  exports.SlotFillProvider = provider_1.default;
49
49
  const use_slot_1 = __importDefault(require("./bubbles-virtually/use-slot"));
50
50
  exports.useSlot = use_slot_1.default;
51
+ var use_slot_fills_1 = require("./bubbles-virtually/use-slot-fills");
52
+ Object.defineProperty(exports, "useSlotFills", { enumerable: true, get: function () { return __importDefault(use_slot_fills_1).default; } });
51
53
  function Fill(props) {
52
54
  // We're adding both Fills here so they can register themselves before
53
55
  // their respective slot has been registered. Only the Fill that has a slot
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/slot-fill/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqD;AACrD,uDAAmC;AACnC,uDAAmC;AACnC,oEAA4D;AAC5D,oEAA4D;AAC5D,gGAAsF;AACtF,+DAA+C;AAqDtC,2BArDF,kBAAgB,CAqDE;AApDzB,4EAAmD;AAsD1C,kBAtDF,kBAAO,CAsDE;AA7ChB,SAAgB,IAAI,CAAC,KAAK;IACxB,sEAAsE;IACtE,2EAA2E;IAC3E,+CAA+C;IAC/C,OAAO,CACL;QACE,8BAAC,cAAQ,oBAAK,KAAK,EAAI;QACvB,8BAAC,cAAoB,oBAAK,KAAK,EAAI,CAClC,CACJ,CAAC;AACJ,CAAC;AAVD,oBAUC;AAEY,QAAA,IAAI,GAAG,IAAA,kBAAU,EAAC,CAAC,EAA0C,EAAE,GAAG,EAAE,EAAE;QAAnD,EAAE,gBAAgB,OAAwB,EAAnB,KAAK,cAA5B,oBAA8B,CAAF;IAC1D,IAAI,gBAAgB,EAAE;QACpB,OAAO,8BAAC,cAAoB,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,IAAI,CAAC;KACtD;IACD,OAAO,8BAAC,cAAQ,oBAAK,KAAK,EAAI,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,SAAgB,QAAQ,CAAC,EAAsB;QAAtB,EAAE,QAAQ,OAAY,EAAP,KAAK,cAApB,YAAsB,CAAF;IAC3C,OAAO,CACL,8BAAC,kBAAgB,oBAAK,KAAK;QACzB,8BAAC,4BAAgC,QAC9B,QAAQ,CACwB,CAClB,CACpB,CAAC;AACJ,CAAC;AARD,4BAQC;AAED,SAAgB,cAAc,CAAkC,IAAY;IAC1E,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE,CAAC,8BAAC,IAAI,kBAAC,IAAI,EAAE,IAAI,IAAM,KAAK,EAAI,CAAC;IACrF,aAAa,CAAC,WAAW,GAAG,IAAI,GAAG,MAAM,CAAC;IAE1C,MAAM,aAAa,GAAG,CAAC,KAAuB,EAAE,EAAE,CAAC,8BAAC,YAAI,kBAAC,IAAI,EAAE,IAAI,IAAM,KAAK,EAAI,CAAC;IACnF,aAAa,CAAC,WAAW,GAAG,IAAI,GAAG,MAAM,CAAC;IAC1C,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC;IAEpC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,aAAa;KACpB,CAAC;AACJ,CAAC;AAZD,wCAYC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/slot-fill/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqD;AACrD,uDAAmC;AACnC,uDAAmC;AACnC,oEAA4D;AAC5D,oEAA4D;AAC5D,gGAAsF;AACtF,+DAA+C;AAsDtC,2BAtDF,kBAAgB,CAsDE;AArDzB,4EAAmD;AAuD1C,kBAvDF,kBAAO,CAuDE;AAtDhB,qEAA6E;AAApE,+HAAA,OAAO,OAAgB;AAShC,SAAgB,IAAI,CAAC,KAAK;IACxB,sEAAsE;IACtE,2EAA2E;IAC3E,+CAA+C;IAC/C,OAAO,CACL;QACE,8BAAC,cAAQ,oBAAK,KAAK,EAAI;QACvB,8BAAC,cAAoB,oBAAK,KAAK,EAAI,CAClC,CACJ,CAAC;AACJ,CAAC;AAVD,oBAUC;AAEY,QAAA,IAAI,GAAG,IAAA,kBAAU,EAAC,CAAC,EAA0C,EAAE,GAAG,EAAE,EAAE;QAAnD,EAAE,gBAAgB,OAAwB,EAAnB,KAAK,cAA5B,oBAA8B,CAAF;IAC1D,IAAI,gBAAgB,EAAE;QACpB,OAAO,8BAAC,cAAoB,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,IAAI,CAAC;KACtD;IACD,OAAO,8BAAC,cAAQ,oBAAK,KAAK,EAAI,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,SAAgB,QAAQ,CAAC,EAAsB;QAAtB,EAAE,QAAQ,OAAY,EAAP,KAAK,cAApB,YAAsB,CAAF;IAC3C,OAAO,CACL,8BAAC,kBAAgB,oBAAK,KAAK;QACzB,8BAAC,4BAAgC,QAC9B,QAAQ,CACwB,CAClB,CACpB,CAAC;AACJ,CAAC;AARD,4BAQC;AAED,SAAgB,cAAc,CAAkC,IAAY;IAC1E,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE,CAAC,8BAAC,IAAI,kBAAC,IAAI,EAAE,IAAI,IAAM,KAAK,EAAI,CAAC;IACrF,aAAa,CAAC,WAAW,GAAG,IAAI,GAAG,MAAM,CAAC;IAE1C,MAAM,aAAa,GAAG,CAAC,KAAuB,EAAE,EAAE,CAAC,8BAAC,YAAI,kBAAC,IAAI,EAAE,IAAI,IAAM,KAAK,EAAI,CAAC;IACnF,aAAa,CAAC,WAAW,GAAG,IAAI,GAAG,MAAM,CAAC;IAC1C,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC;IAEpC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,aAAa;KACpB,CAAC;AACJ,CAAC;AAZD,wCAYC"}
@@ -6,7 +6,7 @@ export interface IFillProps {
6
6
  }
7
7
  export interface IFill extends Component<IFillProps> {
8
8
  occurrence: number;
9
- children: ReactNode;
9
+ children: ReactNode | any;
10
10
  }
11
11
  export interface IContext extends IProviderState {
12
12
  }
@@ -1,8 +1,7 @@
1
- import * as React from 'react';
2
1
  /**
3
2
  * Checks if the provided element to check.
4
3
  *
5
4
  * @param element React Component to check.
6
5
  * @returns True when an element is considered empty.
7
6
  */
8
- export declare const isEmptyElement: (element: React.ComponentElement<any, any> | any) => boolean;
7
+ export declare const isEmptyElement: (element: any) => boolean;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isEmptyElement = void 0;
4
- const lodash_1 = require("lodash");
5
4
  /**
6
5
  * Checks if the provided element to check.
7
6
  *
@@ -9,10 +8,10 @@ const lodash_1 = require("lodash");
9
8
  * @returns True when an element is considered empty.
10
9
  */
11
10
  const isEmptyElement = (element) => {
12
- if ((0, lodash_1.isNumber)(element)) {
11
+ if (typeof element === 'number') {
13
12
  return false;
14
13
  }
15
- if ((0, lodash_1.isString)(element) || (0, lodash_1.isArray)(element)) {
14
+ if (typeof (element === null || element === void 0 ? void 0 : element.valueOf()) === 'string' || Array.isArray(element)) {
16
15
  return !element.length;
17
16
  }
18
17
  return !element;
@@ -1 +1 @@
1
- {"version":3,"file":"isEmptyElement.js","sourceRoot":"","sources":["../../../src/slot-fill/utils/isEmptyElement.tsx"],"names":[],"mappings":";;;AAEA,mCAAqD;AAErD;;;;;GAKG;AAEI,MAAM,cAAc,GAAG,CAAC,OAA+C,EAAE,EAAE;IAC9E,IAAI,IAAA,iBAAQ,EAAC,OAAO,CAAC,EAAE;QACnB,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,IAAA,iBAAQ,EAAC,OAAO,CAAC,IAAI,IAAA,gBAAO,EAAE,OAAO,CAAC,EAAE;QACxC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;KAC1B;IAED,OAAO,CAAC,OAAO,CAAC;AACpB,CAAC,CAAC;AAVW,QAAA,cAAc,kBAUzB"}
1
+ {"version":3,"file":"isEmptyElement.js","sourceRoot":"","sources":["../../../src/slot-fill/utils/isEmptyElement.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AAEI,MAAM,cAAc,GAAG,CAAE,OAAO,EAAG,EAAE;IAC3C,IAAK,OAAO,OAAO,KAAK,QAAQ,EAAG;QAClC,OAAO,KAAK,CAAC;KACb;IAED,IAAK,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAA,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAE,OAAO,CAAE,EAAG;QACzE,OAAO,CAAE,OAAO,CAAC,MAAM,CAAC;KACxB;IAED,OAAO,CAAE,OAAO,CAAC;AAClB,CAAC,CAAC;AAVW,QAAA,cAAc,kBAUzB"}
package/package.json CHANGED
@@ -1,60 +1,61 @@
1
1
  {
2
- "name": "@common-stack/components-pro",
3
- "version": "0.2.29",
4
- "description": "browser plugin for git",
5
- "homepage": "https://github.com/cdmbase/fullstack-pro#readme",
6
- "bugs": {
7
- "url": "https://github.com/cdmbase/fullstack-pro/issues"
8
- },
9
- "repository": {
10
- "type": "git",
11
- "url": "git+https://github.com/cdmbase/fullstack-pro.git"
12
- },
13
- "license": "MIT",
14
- "author": "CDMBase LLC",
15
- "main": "lib/index.js",
16
- "react-native": "lib/index.native.js",
17
- "typings": "lib/index.d.ts",
18
- "scripts": {
19
- "build": "npm run build:clean && npm run build:lib",
20
- "build:clean": "rimraf esm",
21
- "build:lib": "tsc",
22
- "build:lib:watch": "npm run build:lib -- --watch",
23
- "jest": "./node_modules/.bin/jest",
24
- "prepublish": "npm run build",
25
- "test": "jest",
26
- "test:debug": "npm test -- --runInBand",
27
- "test:watch": "npm test -- --watch",
28
- "watch": "npm run build:lib:watch"
29
- },
30
- "resolutions": {
31
- "@wordpress/element": "~4.12.0",
32
- "is-plain-obj": "^3.0.0"
33
- },
34
- "dependencies": {
35
- "@wordpress/compose": "~5.12.0",
36
- "@wordpress/element": "~4.12.0",
37
- "@wordpress/hooks": "~3.14.0",
38
- "@wordpress/is-shallow-equal": "~4.14.0",
39
- "@wordpress/warning": "~2.14.0",
40
- "history-with-query": "^4.10.4",
41
- "sort-keys": "^4.1.0"
42
- },
43
- "devDependencies": {
44
- "@umijs/route-utils": "^1.0.34"
45
- },
46
- "peerDependencies": {
47
- "@apollo/client": ">=3.0.0",
48
- "react": ">=16.8.6",
49
- "react-dom": ">=16.8.6",
50
- "react-router": ">=5.0.0",
51
- "redux": ">=4.0.1"
52
- },
53
- "publishConfig": {
54
- "access": "public"
55
- },
56
- "gitHead": "17094254db6df420ff63eee3e8157c86667c71d4",
57
- "typescript": {
58
- "definition": "lib/index.d.ts"
59
- }
2
+ "name": "@common-stack/components-pro",
3
+ "version": "0.3.1-alpha.1",
4
+ "description": "browser plugin for git",
5
+ "homepage": "https://github.com/cdmbase/fullstack-pro#readme",
6
+ "bugs": {
7
+ "url": "https://github.com/cdmbase/fullstack-pro/issues"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/cdmbase/fullstack-pro.git"
12
+ },
13
+ "license": "MIT",
14
+ "author": "CDMBase LLC",
15
+ "main": "lib/index.js",
16
+ "react-native": "lib/index.native.js",
17
+ "typings": "lib/index.d.ts",
18
+ "scripts": {
19
+ "build": "npm run build:clean && npm run build:lib",
20
+ "build:clean": "rimraf esm",
21
+ "build:lib": "tsc",
22
+ "build:lib:watch": "npm run build:lib -- --watch",
23
+ "jest": "./node_modules/.bin/jest",
24
+ "prepublish": "npm run build",
25
+ "test": "jest",
26
+ "test:debug": "npm test -- --runInBand",
27
+ "test:watch": "npm test -- --watch",
28
+ "watch": "npm run build:lib:watch"
29
+ },
30
+ "resolutions": {
31
+ "@wordpress/element": "~4.12.0",
32
+ "is-plain-obj": "^3.0.0"
33
+ },
34
+ "dependencies": {
35
+ "@wordpress/compose": "~5.12.0",
36
+ "@wordpress/element": "~4.12.0",
37
+ "@wordpress/hooks": "~3.14.0",
38
+ "@wordpress/is-shallow-equal": "~4.14.0",
39
+ "@wordpress/warning": "~2.14.0",
40
+ "history-with-query": "^4.10.4",
41
+ "sort-keys": "^4.1.0",
42
+ "valtio": "^1.7.0"
43
+ },
44
+ "devDependencies": {
45
+ "@umijs/route-utils": "^1.0.34"
46
+ },
47
+ "peerDependencies": {
48
+ "@apollo/client": ">=3.0.0",
49
+ "react": ">=16.8.6",
50
+ "react-dom": ">=16.8.6",
51
+ "react-router": ">=5.0.0",
52
+ "redux": ">=4.0.1"
53
+ },
54
+ "publishConfig": {
55
+ "access": "public"
56
+ },
57
+ "gitHead": "a32bf55e87df6d821213ad90ed6279d466d4027e",
58
+ "typescript": {
59
+ "definition": "lib/index.d.ts"
60
+ }
60
61
  }