@planningcenter/tapestry 1.2.0 → 1.3.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,34 +14,61 @@ const SidenavItem = /*@__PURE__*/ proxyCustomElement(class SidenavItem extends H
14
14
  * Whether the sidenav item is selected.
15
15
  */
16
16
  this.selected = false;
17
+ /**
18
+ * Handles toggling the popover state.
19
+ */
20
+ this.handleClick = () => {
21
+ const popover = this.el.closest("tds-sidenav-popover [popover]");
22
+ if (popover) {
23
+ popover.togglePopover();
24
+ }
25
+ };
26
+ /**
27
+ * Handles the case where slotted content might change
28
+ */
29
+ this.handleSlottedContent = () => {
30
+ const item = this.el.firstElementChild;
31
+ if (this.selected) {
32
+ item === null || item === void 0 ? void 0 : item.setAttribute("aria-current", "page");
33
+ }
34
+ else {
35
+ item === null || item === void 0 ? void 0 : item.removeAttribute("aria-current");
36
+ }
37
+ item === null || item === void 0 ? void 0 : item.addEventListener("click", this.handleClick);
38
+ };
17
39
  }
18
40
  // --------------------------------------------------------------------------
19
41
  //
20
42
  // Lifecycle
21
43
  //
22
44
  // --------------------------------------------------------------------------
45
+ componentWillLoad() {
46
+ this.observer = new MutationObserver(this.handleSlottedContent);
47
+ this.observer.observe(this.el, {
48
+ childList: true,
49
+ });
50
+ }
23
51
  componentWillRender() {
24
- var _a, _b;
25
- if (this.selected) {
26
- (_a = this.el.firstElementChild) === null || _a === void 0 ? void 0 : _a.setAttribute("aria-current", "page");
27
- }
28
- else {
29
- (_b = this.el.firstElementChild) === null || _b === void 0 ? void 0 : _b.removeAttribute("aria-current");
30
- }
52
+ this.handleSlottedContent();
31
53
  }
32
54
  componentDidLoad() {
33
55
  removeSSRSlot(this.el);
34
56
  }
57
+ disconnectedCallback() {
58
+ var _a;
59
+ this.observer.disconnect();
60
+ (_a = this.el.firstElementChild) === null || _a === void 0 ? void 0 : _a.removeEventListener("click", this.handleClick);
61
+ }
35
62
  // --------------------------------------------------------------------------
36
63
  //
37
64
  // Render Methods
38
65
  //
39
66
  // --------------------------------------------------------------------------
40
67
  render() {
41
- return (h(Host, { key: 'ee66d39f809ff4699e92478a1c9b1e0eaf79d0e8', class: {
68
+ return (h(Host, { key: '9b54744af4c0ffe05344c4b822382a0f67394dab', class: {
42
69
  "tds-sidenav-item": true,
43
70
  selected: this.selected,
44
- }, role: "listitem" }, h("slot", { key: 'a03cb80fc0012d2026464489cc2ac5265055e7cf' }), h("slot", { key: '36d7654444bd9f8bf758b8c8fe6e694db8cd9657', name: "subnav" })));
71
+ }, role: "listitem" }, h("slot", { key: '932559ed05f6cf1014d167ddf31672bf388ca0c4' }), h("slot", { key: 'f378509ef2ec9f8fb6e3c71af1ed928e822d1b88', name: "subnav" })));
45
72
  }
46
73
  get el() { return this; }
47
74
  }, [6, "tds-sidenav-item", {
@@ -1 +1 @@
1
- {"version":3,"file":"tds-sidenav-item.js","sources":["../../../../../../tapestry-wc/dist/components/tds-sidenav-item.js"],"sourcesContent":["/*!\n * Planning Center Tapestry Web Components\n * Version: 1.2.0\n */\nimport { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';\nimport { r as removeSSRSlot } from './index2.js';\n\nconst SidenavItem = /*@__PURE__*/ proxyCustomElement(class SidenavItem extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n /**\n * Whether the sidenav item is selected.\n */\n this.selected = false;\n }\n // --------------------------------------------------------------------------\n //\n // Lifecycle\n //\n // --------------------------------------------------------------------------\n componentWillRender() {\n var _a, _b;\n if (this.selected) {\n (_a = this.el.firstElementChild) === null || _a === void 0 ? void 0 : _a.setAttribute(\"aria-current\", \"page\");\n }\n else {\n (_b = this.el.firstElementChild) === null || _b === void 0 ? void 0 : _b.removeAttribute(\"aria-current\");\n }\n }\n componentDidLoad() {\n removeSSRSlot(this.el);\n }\n // --------------------------------------------------------------------------\n //\n // Render Methods\n //\n // --------------------------------------------------------------------------\n render() {\n return (h(Host, { key: 'ee66d39f809ff4699e92478a1c9b1e0eaf79d0e8', class: {\n \"tds-sidenav-item\": true,\n selected: this.selected,\n }, role: \"listitem\" }, h(\"slot\", { key: 'a03cb80fc0012d2026464489cc2ac5265055e7cf' }), h(\"slot\", { key: '36d7654444bd9f8bf758b8c8fe6e694db8cd9657', name: \"subnav\" })));\n }\n get el() { return this; }\n}, [6, \"tds-sidenav-item\", {\n \"selected\": [4]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"tds-sidenav-item\"];\n components.forEach(tagName => { switch (tagName) {\n case \"tds-sidenav-item\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SidenavItem);\n }\n break;\n } });\n}\n\nconst TdsSidenavItem = SidenavItem;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { TdsSidenavItem, defineCustomElement };\n//# sourceMappingURL=tds-sidenav-item.js.map\n\n//# sourceMappingURL=tds-sidenav-item.js.map"],"names":["HTMLElement"],"mappings":";;;AAAA;AACA;AACA;AACA;AAGA;AACA,MAAM,WAAW,iBAAiB,kBAAkB,CAAC,MAAM,WAAW,SAASA,CAAW,CAAC;AAC3F,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,EAAE,CAAC;AAChB,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;AAC9B;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAC9B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;AACnB,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC3B,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAC1H,SAAS;AACT,aAAa;AACb,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AACrH,SAAS;AACT,KAAK;AACL,IAAI,gBAAgB,GAAG;AACvB,QAAQ,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG;AACb,QAAQ,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,0CAA0C,EAAE,KAAK,EAAE;AAClF,gBAAgB,kBAAkB,EAAE,IAAI;AACxC,gBAAgB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvC,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,0CAA0C,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,0CAA0C,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE;AACpL,KAAK;AACL,IAAI,IAAI,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC,EAAE;AAC7B,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE;AAC3B,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAC;AACvB,KAAK,CAAC,CAAC,CAAC;AACR,SAAS,qBAAqB,GAAG;AACjC,IAAI,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;AAC/C,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,MAAM,UAAU,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAC5C,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,QAAQ,OAAO;AACnD,QAAQ,KAAK,kBAAkB;AAC/B,YAAY,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AAC9C,gBAAgB,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAC5D,aAAa;AACb,YAAY,MAAM;AAClB,KAAK,EAAE,CAAC,CAAC;AACT,CAAC;AAGI,MAAC,mBAAmB,GAAG;;;;"}
1
+ {"version":3,"file":"tds-sidenav-item.js","sources":["../../../../../../tapestry-wc/dist/components/tds-sidenav-item.js"],"sourcesContent":["/*!\n * Planning Center Tapestry Web Components\n * Version: 1.2.0\n */\nimport { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';\nimport { r as removeSSRSlot } from './index2.js';\n\nconst SidenavItem = /*@__PURE__*/ proxyCustomElement(class SidenavItem extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n /**\n * Whether the sidenav item is selected.\n */\n this.selected = false;\n /**\n * Handles toggling the popover state.\n */\n this.handleClick = () => {\n const popover = this.el.closest(\"tds-sidenav-popover [popover]\");\n if (popover) {\n popover.togglePopover();\n }\n };\n /**\n * Handles the case where slotted content might change\n */\n this.handleSlottedContent = () => {\n const item = this.el.firstElementChild;\n if (this.selected) {\n item === null || item === void 0 ? void 0 : item.setAttribute(\"aria-current\", \"page\");\n }\n else {\n item === null || item === void 0 ? void 0 : item.removeAttribute(\"aria-current\");\n }\n item === null || item === void 0 ? void 0 : item.addEventListener(\"click\", this.handleClick);\n };\n }\n // --------------------------------------------------------------------------\n //\n // Lifecycle\n //\n // --------------------------------------------------------------------------\n componentWillLoad() {\n this.observer = new MutationObserver(this.handleSlottedContent);\n this.observer.observe(this.el, {\n childList: true,\n });\n }\n componentWillRender() {\n this.handleSlottedContent();\n }\n componentDidLoad() {\n removeSSRSlot(this.el);\n }\n disconnectedCallback() {\n var _a;\n this.observer.disconnect();\n (_a = this.el.firstElementChild) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"click\", this.handleClick);\n }\n // --------------------------------------------------------------------------\n //\n // Render Methods\n //\n // --------------------------------------------------------------------------\n render() {\n return (h(Host, { key: '9b54744af4c0ffe05344c4b822382a0f67394dab', class: {\n \"tds-sidenav-item\": true,\n selected: this.selected,\n }, role: \"listitem\" }, h(\"slot\", { key: '932559ed05f6cf1014d167ddf31672bf388ca0c4' }), h(\"slot\", { key: 'f378509ef2ec9f8fb6e3c71af1ed928e822d1b88', name: \"subnav\" })));\n }\n get el() { return this; }\n}, [6, \"tds-sidenav-item\", {\n \"selected\": [4]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"tds-sidenav-item\"];\n components.forEach(tagName => { switch (tagName) {\n case \"tds-sidenav-item\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SidenavItem);\n }\n break;\n } });\n}\n\nconst TdsSidenavItem = SidenavItem;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { TdsSidenavItem, defineCustomElement };\n//# sourceMappingURL=tds-sidenav-item.js.map\n\n//# sourceMappingURL=tds-sidenav-item.js.map"],"names":["HTMLElement"],"mappings":"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"}