@jsekulowicz/ds-components 0.3.1 → 0.4.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 (89) hide show
  1. package/custom-elements.json +175 -121
  2. package/dist/atoms/breadcrumb/breadcrumb-item.styles.d.ts.map +1 -1
  3. package/dist/atoms/breadcrumb/breadcrumb-item.styles.js +0 -1
  4. package/dist/atoms/breadcrumb/breadcrumb-item.styles.js.map +1 -1
  5. package/dist/atoms/button/button.d.ts +2 -0
  6. package/dist/atoms/button/button.d.ts.map +1 -1
  7. package/dist/atoms/button/button.js +5 -0
  8. package/dist/atoms/button/button.js.map +1 -1
  9. package/dist/atoms/button/button.styles.d.ts.map +1 -1
  10. package/dist/atoms/button/button.styles.js +13 -5
  11. package/dist/atoms/button/button.styles.js.map +1 -1
  12. package/dist/atoms/link/link.styles.d.ts.map +1 -1
  13. package/dist/atoms/link/link.styles.js +0 -1
  14. package/dist/atoms/link/link.styles.js.map +1 -1
  15. package/dist/atoms/menu/menu-item.styles.d.ts.map +1 -1
  16. package/dist/atoms/menu/menu-item.styles.js +0 -1
  17. package/dist/atoms/menu/menu-item.styles.js.map +1 -1
  18. package/dist/atoms/menu/menu.styles.d.ts.map +1 -1
  19. package/dist/atoms/menu/menu.styles.js +0 -4
  20. package/dist/atoms/menu/menu.styles.js.map +1 -1
  21. package/dist/atoms/nav-item/nav-group.styles.d.ts.map +1 -1
  22. package/dist/atoms/nav-item/nav-group.styles.js +0 -1
  23. package/dist/atoms/nav-item/nav-group.styles.js.map +1 -1
  24. package/dist/atoms/nav-item/nav-item.styles.d.ts.map +1 -1
  25. package/dist/atoms/nav-item/nav-item.styles.js +0 -1
  26. package/dist/atoms/nav-item/nav-item.styles.js.map +1 -1
  27. package/dist/atoms/searchable-select/searchable-select.d.ts.map +1 -1
  28. package/dist/atoms/searchable-select/searchable-select.js +7 -1
  29. package/dist/atoms/searchable-select/searchable-select.js.map +1 -1
  30. package/dist/atoms/searchable-select/searchable-select.styles.d.ts.map +1 -1
  31. package/dist/atoms/searchable-select/searchable-select.styles.js +0 -158
  32. package/dist/atoms/searchable-select/searchable-select.styles.js.map +1 -1
  33. package/dist/atoms/select/select.common-styles.d.ts +2 -0
  34. package/dist/atoms/select/select.common-styles.d.ts.map +1 -0
  35. package/dist/atoms/select/select.common-styles.js +150 -0
  36. package/dist/atoms/select/select.common-styles.js.map +1 -0
  37. package/dist/atoms/select/select.d.ts.map +1 -1
  38. package/dist/atoms/select/select.js +2 -1
  39. package/dist/atoms/select/select.js.map +1 -1
  40. package/dist/atoms/select/select.styles.d.ts.map +1 -1
  41. package/dist/atoms/select/select.styles.js +0 -159
  42. package/dist/atoms/select/select.styles.js.map +1 -1
  43. package/dist/atoms/tabs/tab-panel.styles.d.ts.map +1 -1
  44. package/dist/atoms/tabs/tab-panel.styles.js +0 -4
  45. package/dist/atoms/tabs/tab-panel.styles.js.map +1 -1
  46. package/dist/atoms/tabs/tab.styles.d.ts.map +1 -1
  47. package/dist/atoms/tabs/tab.styles.js +0 -1
  48. package/dist/atoms/tabs/tab.styles.js.map +1 -1
  49. package/dist/molecules/alert/alert.styles.d.ts.map +1 -1
  50. package/dist/molecules/alert/alert.styles.js +0 -1
  51. package/dist/molecules/alert/alert.styles.js.map +1 -1
  52. package/dist/molecules/bar-chart/bar-chart.styles.d.ts.map +1 -1
  53. package/dist/molecules/bar-chart/bar-chart.styles.js +0 -1
  54. package/dist/molecules/bar-chart/bar-chart.styles.js.map +1 -1
  55. package/dist/molecules/card/card.styles.d.ts.map +1 -1
  56. package/dist/molecules/card/card.styles.js +12 -1
  57. package/dist/molecules/card/card.styles.js.map +1 -1
  58. package/dist/molecules/color-picker/color-picker-swatch.styles.d.ts.map +1 -1
  59. package/dist/molecules/color-picker/color-picker-swatch.styles.js +0 -1
  60. package/dist/molecules/color-picker/color-picker-swatch.styles.js.map +1 -1
  61. package/dist/molecules/color-picker/color-picker.styles.d.ts.map +1 -1
  62. package/dist/molecules/color-picker/color-picker.styles.js +4 -2
  63. package/dist/molecules/color-picker/color-picker.styles.js.map +1 -1
  64. package/dist/molecules/color-picker/input-color.styles.d.ts.map +1 -1
  65. package/dist/molecules/color-picker/input-color.styles.js +4 -3
  66. package/dist/molecules/color-picker/input-color.styles.js.map +1 -1
  67. package/dist/molecules/toast/toast.styles.d.ts.map +1 -1
  68. package/dist/molecules/toast/toast.styles.js +0 -1
  69. package/dist/molecules/toast/toast.styles.js.map +1 -1
  70. package/dist/organisms/footer/footer.styles.d.ts.map +1 -1
  71. package/dist/organisms/footer/footer.styles.js +4 -2
  72. package/dist/organisms/footer/footer.styles.js.map +1 -1
  73. package/dist/organisms/form/form.styles.d.ts.map +1 -1
  74. package/dist/organisms/form/form.styles.js +9 -2
  75. package/dist/organisms/form/form.styles.js.map +1 -1
  76. package/dist/organisms/navbar/navbar.styles.d.ts.map +1 -1
  77. package/dist/organisms/navbar/navbar.styles.js +4 -4
  78. package/dist/organisms/navbar/navbar.styles.js.map +1 -1
  79. package/dist/pages/settings-page/settings-page.styles.d.ts.map +1 -1
  80. package/dist/pages/settings-page/settings-page.styles.js +4 -2
  81. package/dist/pages/settings-page/settings-page.styles.js.map +1 -1
  82. package/dist/templates/page-shell/page-shell.d.ts +4 -5
  83. package/dist/templates/page-shell/page-shell.d.ts.map +1 -1
  84. package/dist/templates/page-shell/page-shell.js +40 -21
  85. package/dist/templates/page-shell/page-shell.js.map +1 -1
  86. package/dist/templates/page-shell/page-shell.styles.d.ts.map +1 -1
  87. package/dist/templates/page-shell/page-shell.styles.js +3 -8
  88. package/dist/templates/page-shell/page-shell.styles.js.map +1 -1
  89. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"footer.styles.d.ts","sourceRoot":"","sources":["../../../src/organisms/footer/footer.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,yBAwCxB,CAAC"}
1
+ {"version":3,"file":"footer.styles.d.ts","sourceRoot":"","sources":["../../../src/organisms/footer/footer.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,yBAwCxB,CAAC"}
@@ -1,4 +1,6 @@
1
- import { css } from 'lit';
1
+ import { css, unsafeCSS } from 'lit';
2
+ import { breakpoint } from '@jsekulowicz/ds-tokens';
3
+ const mobileBreakpoint = unsafeCSS(breakpoint.sm);
2
4
  export const footerStyles = css `
3
5
  :host {
4
6
  display: block;
@@ -27,7 +29,7 @@ export const footerStyles = css `
27
29
  .end {
28
30
  justify-content: flex-end;
29
31
  }
30
- @container (max-width: 480px) {
32
+ @container (max-width: ${mobileBreakpoint}) {
31
33
  footer {
32
34
  gap: var(--ds-space-2);
33
35
  padding: var(--ds-space-2) var(--ds-space-4);
@@ -1 +1 @@
1
- {"version":3,"file":"footer.styles.js","sourceRoot":"","sources":["../../../src/organisms/footer/footer.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC9B,CAAC"}
1
+ {"version":3,"file":"footer.styles.js","sourceRoot":"","sources":["../../../src/organisms/footer/footer.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA4BJ,gBAAgB;;;;;;;;;;;;CAY1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"form.styles.d.ts","sourceRoot":"","sources":["../../../src/organisms/form/form.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,yBA+BtB,CAAC"}
1
+ {"version":3,"file":"form.styles.d.ts","sourceRoot":"","sources":["../../../src/organisms/form/form.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,UAAU,yBAoCtB,CAAC"}
@@ -1,4 +1,6 @@
1
- import { css } from 'lit';
1
+ import { css, unsafeCSS } from 'lit';
2
+ import { breakpoint } from '@jsekulowicz/ds-tokens';
3
+ const belowTabletBreakpoint = unsafeCSS(`calc(${breakpoint.md} - 0.02px)`);
2
4
  export const formStyles = css `
3
5
  :host {
4
6
  display: block;
@@ -20,9 +22,14 @@ export const formStyles = css `
20
22
  .actions {
21
23
  display: flex;
22
24
  gap: var(--ds-space-3);
23
- justify-content: flex-end;
25
+ justify-content: flex-start;
24
26
  margin-top: var(--ds-space-5);
25
27
  }
28
+ @media (max-width: ${belowTabletBreakpoint}) {
29
+ .actions {
30
+ justify-content: flex-end;
31
+ }
32
+ }
26
33
  .title {
27
34
  margin: 0 0 var(--ds-space-4);
28
35
  font-family: var(--ds-font-display);
@@ -1 +1 @@
1
- {"version":3,"file":"form.styles.js","sourceRoot":"","sources":["../../../src/organisms/form/form.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B5B,CAAC"}
1
+ {"version":3,"file":"form.styles.js","sourceRoot":"","sources":["../../../src/organisms/form/form.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,qBAAqB,GAAG,SAAS,CAAC,QAAQ,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;uBAwBN,qBAAqB;;;;;;;;;;;;CAY3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"navbar.styles.d.ts","sourceRoot":"","sources":["../../../src/organisms/navbar/navbar.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,yBAiFxB,CAAC"}
1
+ {"version":3,"file":"navbar.styles.d.ts","sourceRoot":"","sources":["../../../src/organisms/navbar/navbar.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,yBA+ExB,CAAC"}
@@ -1,9 +1,10 @@
1
- import { css } from 'lit';
1
+ import { css, unsafeCSS } from 'lit';
2
+ import { breakpoint } from '@jsekulowicz/ds-tokens';
3
+ const tabletBreakpoint = unsafeCSS(breakpoint.md);
2
4
  export const navbarStyles = css `
3
5
  :host {
4
6
  display: block;
5
7
  container-type: inline-size;
6
- --_breakpoint: 640px;
7
8
  }
8
9
  nav {
9
10
  position: relative;
@@ -46,13 +47,12 @@ export const navbarStyles = css `
46
47
  padding: var(--ds-space-2);
47
48
  }
48
49
  .toggle:focus-visible {
49
- outline: 2px solid transparent;
50
50
  box-shadow: var(--ds-shadow-focus);
51
51
  }
52
52
  .menu {
53
53
  display: contents;
54
54
  }
55
- @container (max-width: 640px) {
55
+ @container (max-width: ${tabletBreakpoint}) {
56
56
  .links {
57
57
  justify-content: flex-end;
58
58
  flex: 0 0 auto;
@@ -1 +1 @@
1
- {"version":3,"file":"navbar.styles.js","sourceRoot":"","sources":["../../../src/organisms/navbar/navbar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiF9B,CAAC"}
1
+ {"version":3,"file":"navbar.styles.js","sourceRoot":"","sources":["../../../src/organisms/navbar/navbar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAmDJ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-page.styles.d.ts","sourceRoot":"","sources":["../../../src/pages/settings-page/settings-page.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,yBAqE9B,CAAC"}
1
+ {"version":3,"file":"settings-page.styles.d.ts","sourceRoot":"","sources":["../../../src/pages/settings-page/settings-page.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB,yBAqE9B,CAAC"}
@@ -1,4 +1,6 @@
1
- import { css } from 'lit';
1
+ import { css, unsafeCSS } from 'lit';
2
+ import { breakpoint } from '@jsekulowicz/ds-tokens';
3
+ const belowTabletBreakpoint = unsafeCSS(`calc(${breakpoint.md} - 0.02px)`);
2
4
  export const settingsPageStyles = css `
3
5
  :host {
4
6
  display: block;
@@ -33,7 +35,7 @@ export const settingsPageStyles = css `
33
35
  gap: var(--ds-space-10);
34
36
  padding: var(--ds-space-8) 0;
35
37
  }
36
- @media (max-width: 768px) {
38
+ @media (max-width: ${belowTabletBreakpoint}) {
37
39
  .grid {
38
40
  grid-template-columns: 1fr;
39
41
  gap: var(--ds-space-6);
@@ -1 +1 @@
1
- {"version":3,"file":"settings-page.styles.js","sourceRoot":"","sources":["../../../src/pages/settings-page/settings-page.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEpC,CAAC"}
1
+ {"version":3,"file":"settings-page.styles.js","sourceRoot":"","sources":["../../../src/pages/settings-page/settings-page.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,qBAAqB,GAAG,SAAS,CAAC,QAAQ,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAkCd,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC3C,CAAC"}
@@ -6,16 +6,15 @@ import '../../atoms/icon/icons/bars-3.js';
6
6
  import '../../atoms/icon/icons/x-mark.js';
7
7
  /**
8
8
  * @tag ds-page-shell
9
- * @summary Application frame: header + aside + main + footer with responsive collapse.
9
+ * @summary Application frame: header + aside + main + optional footer with responsive collapse.
10
10
  * @slot brand - Top-left brand/logo.
11
11
  * @slot header-actions - Top-right actions.
12
12
  * @slot aside - Side navigation. When empty, the aside column and hamburger toggle are not rendered.
13
13
  * @slot default - Main content.
14
14
  * @slot footer - Footer content.
15
- * @cssprop --ds-page-shell-max-width - Outer cap for the shell's content column. Header inner content,
16
- * the aside + main row, and footer inner content all centre at this width and align vertically.
17
- * Defaults to `90rem` (1440px). Header and footer chrome (border, sticky background) remain
18
- * full-bleed.
15
+ * @cssprop --ds-page-shell-max-width - Outer cap for the shell's content column. Header inner
16
+ * content and the aside + main row centre at this width and align vertically. Defaults to `90rem`
17
+ * (1440px). Header chrome remains full-bleed.
19
18
  */
20
19
  export declare class DsPageShell extends DsElement {
21
20
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"page-shell.d.ts","sourceRoot":"","sources":["../../../src/templates/page-shell/page-shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,kCAAkC,CAAC;AAE1C;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAY,SAAQ,SAAS;;IACxC,OAAgB,MAAM,4BAA0C;IAEpD,KAAK,SAAM;IACgB,SAAS,SAAqB;IAC5D,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAG3B,iBAAiB,IAAI,IAAI;IAezB,oBAAoB,IAAI,IAAI;IAO5B,YAAY,IAAI,IAAI;IAyEpB,MAAM,IAAI,cAAc;CA0DlC"}
1
+ {"version":3,"file":"page-shell.d.ts","sourceRoot":"","sources":["../../../src/templates/page-shell/page-shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,kCAAkC,CAAC;AAE1C;;;;;;;;;;;GAWG;AACH,qBAAa,WAAY,SAAQ,SAAS;;IACxC,OAAgB,MAAM,4BAA0C;IAEpD,KAAK,SAAM;IACgB,SAAS,SAAqB;IAC5D,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAI3B,iBAAiB,IAAI,IAAI;IAuBzB,oBAAoB,IAAI,IAAI;IAS5B,YAAY,IAAI,IAAI;IAyEpB,MAAM,IAAI,cAAc;CA2DlC"}
@@ -14,16 +14,15 @@ import '../../atoms/icon/icons/bars-3.js';
14
14
  import '../../atoms/icon/icons/x-mark.js';
15
15
  /**
16
16
  * @tag ds-page-shell
17
- * @summary Application frame: header + aside + main + footer with responsive collapse.
17
+ * @summary Application frame: header + aside + main + optional footer with responsive collapse.
18
18
  * @slot brand - Top-left brand/logo.
19
19
  * @slot header-actions - Top-right actions.
20
20
  * @slot aside - Side navigation. When empty, the aside column and hamburger toggle are not rendered.
21
21
  * @slot default - Main content.
22
22
  * @slot footer - Footer content.
23
- * @cssprop --ds-page-shell-max-width - Outer cap for the shell's content column. Header inner content,
24
- * the aside + main row, and footer inner content all centre at this width and align vertically.
25
- * Defaults to `90rem` (1440px). Header and footer chrome (border, sticky background) remain
26
- * full-bleed.
23
+ * @cssprop --ds-page-shell-max-width - Outer cap for the shell's content column. Header inner
24
+ * content and the aside + main row centre at this width and align vertically. Defaults to `90rem`
25
+ * (1440px). Header chrome remains full-bleed.
27
26
  */
28
27
  export class DsPageShell extends DsElement {
29
28
  constructor() {
@@ -34,6 +33,15 @@ export class DsPageShell extends DsElement {
34
33
  this._hasAside = false;
35
34
  this._hasFooter = false;
36
35
  this.#resizeObserver = null;
36
+ this.#slotObserver = null;
37
+ this.#syncSlotPresence = () => {
38
+ const aside = this.shadowRoot?.querySelector('slot[name="aside"]');
39
+ const footer = this.shadowRoot?.querySelector('slot[name="footer"]');
40
+ this._hasAside = hasNamedSlotContent(this, 'aside', aside);
41
+ this._hasFooter = hasNamedSlotContent(this, 'footer', footer);
42
+ this.toggleAttribute('aside-empty', !this._hasAside);
43
+ this.toggleAttribute('footer-empty', !this._hasFooter);
44
+ };
37
45
  this.#syncLayout = (width) => {
38
46
  const isMobileLayout = width < 768;
39
47
  this.toggleAttribute('mobile-layout', isMobileLayout);
@@ -86,8 +94,17 @@ export class DsPageShell extends DsElement {
86
94
  }
87
95
  static { this.styles = [...DsElement.styles, pageShellStyles]; }
88
96
  #resizeObserver;
97
+ #slotObserver;
89
98
  connectedCallback() {
90
99
  super.connectedCallback();
100
+ this.#syncSlotPresence();
101
+ this.#slotObserver = new MutationObserver(this.#syncSlotPresence);
102
+ this.#slotObserver.observe(this, {
103
+ attributeFilter: ['slot'],
104
+ attributes: true,
105
+ childList: true,
106
+ subtree: true,
107
+ });
91
108
  this.#setMobileNav(false);
92
109
  document.addEventListener('keydown', this.#onDocumentKeydown);
93
110
  this.#resizeObserver = new ResizeObserver((entries) => {
@@ -104,20 +121,14 @@ export class DsPageShell extends DsElement {
104
121
  super.disconnectedCallback();
105
122
  document.removeEventListener('keydown', this.#onDocumentKeydown);
106
123
  this.#resizeObserver?.disconnect();
124
+ this.#slotObserver?.disconnect();
107
125
  this.#resizeObserver = null;
126
+ this.#slotObserver = null;
108
127
  }
109
128
  firstUpdated() {
110
- const aside = this.shadowRoot?.querySelector('slot[name="aside"]');
111
- const footer = this.shadowRoot?.querySelector('slot[name="footer"]');
112
- if (aside) {
113
- this._hasAside = hasAssignedContent(aside);
114
- this.toggleAttribute('aside-empty', !this._hasAside);
115
- }
116
- if (footer) {
117
- this._hasFooter = hasAssignedContent(footer);
118
- this.toggleAttribute('footer-empty', !this._hasFooter);
119
- }
129
+ this.#syncSlotPresence();
120
130
  }
131
+ #syncSlotPresence;
121
132
  #syncLayout;
122
133
  #onDocumentKeydown;
123
134
  #setMobileNav;
@@ -129,6 +140,7 @@ export class DsPageShell extends DsElement {
129
140
  render() {
130
141
  const menuIcon = this._mobileNavOpen ? 'x-mark' : 'bars-3';
131
142
  const ariaExpanded = this._mobileNavOpen ? 'true' : 'false';
143
+ const hasFooter = this._hasFooter || hasNamedSlotContent(this, 'footer');
132
144
  return html `<header part="header">
133
145
  <div class="shell-inner shell-inner--header">
134
146
  ${this._hasAside
@@ -178,11 +190,11 @@ export class DsPageShell extends DsElement {
178
190
  <slot></slot>
179
191
  </main>
180
192
  </div>
181
- <footer part="footer">
182
- <div class="shell-inner shell-inner--footer">
183
- <slot name="footer" @slotchange=${this.#onFooterSlotChange}></slot>
184
- </div>
185
- </footer>`;
193
+ ${hasFooter
194
+ ? html `<footer part="footer">
195
+ <slot name="footer" @slotchange=${this.#onFooterSlotChange}></slot>
196
+ </footer>`
197
+ : null}`;
186
198
  }
187
199
  }
188
200
  __decorate([
@@ -200,11 +212,18 @@ __decorate([
200
212
  __decorate([
201
213
  state()
202
214
  ], DsPageShell.prototype, "_hasFooter", void 0);
215
+ function hasNamedSlotContent(host, name, slot) {
216
+ if (slot) {
217
+ return hasAssignedContent(slot);
218
+ }
219
+ return Array.from(host.children).some((child) => child.slot === name);
220
+ }
203
221
  function hasAssignedContent(slot) {
204
222
  const nodes = slot.assignedNodes({ flatten: true });
205
223
  return nodes.some((node) => {
206
- if (node.nodeType === Node.ELEMENT_NODE)
224
+ if (node.nodeType === Node.ELEMENT_NODE) {
207
225
  return true;
226
+ }
208
227
  if (node.nodeType === Node.TEXT_NODE) {
209
228
  return (node.textContent ?? '').trim().length > 0;
210
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"page-shell.js","sourceRoot":"","sources":["../../../src/templates/page-shell/page-shell.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,kCAAkC,CAAC;AAE1C;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAA1C;;QAGc,UAAK,GAAG,EAAE,CAAC;QACgB,cAAS,GAAG,iBAAiB,CAAC;QACpD,mBAAc,GAAG,KAAK,CAAC;QACvB,cAAS,GAAG,KAAK,CAAC;QAClB,eAAU,GAAG,KAAK,CAAC;QACpC,oBAAe,GAA0B,IAAI,CAAC;QAqC9C,gBAAW,GAAG,CAAC,KAAa,EAAQ,EAAE;YACpC,MAAM,cAAc,GAAG,KAAK,GAAG,GAAG,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;YACtD,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QAEF,uBAAkB,GAAG,CAAC,KAAoB,EAAQ,EAAE;YAClD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QAEF,kBAAa,GAAG,CAAC,IAAa,EAAQ,EAAE;YACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,aAAa,CAAc,gBAAgB,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;YAClF,CAAC;QACH,CAAC,CAAC;QAEF,qBAAgB,GAAG,GAAS,EAAE;YAC5B,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,oBAAe,GAAG,GAAS,EAAE;YAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,kBAAa,GAAG,CAAC,KAAY,EAAQ,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxC,OAAO;YACT,CAAC;YACD,MAAM,cAAc,GAAG,KAAK;iBACzB,YAAY,EAAE;iBACd,IAAI,CACH,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,YAAY,WAAW;gBAC3B,CAAC,IAAI,CAAC,OAAO,KAAK,aAAa;oBAC7B,IAAI,CAAC,OAAO,KAAK,GAAG;oBACpB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CACxC,CAAC;YACJ,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;QAEF,uBAAkB,GAAG,CAAC,KAAY,EAAQ,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;YAC7C,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,wBAAmB,GAAG,CAAC,KAAY,EAAQ,EAAE;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;YAC7C,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC,CAAC;IA4DJ,CAAC;aAlKiB,WAAM,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,AAAzC,CAA0C;IAOhE,eAAe,CAA+B;IAErC,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE;YACpD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjE,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAEQ,YAAY;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAkB,oBAAoB,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAkB,qBAAqB,CAAC,CAAC;QACtF,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,WAAW,CAMT;IAEF,kBAAkB,CAIhB;IAEF,aAAa,CAMX;IAEF,gBAAgB,CAEd;IAEF,eAAe,CAEb;IAEF,aAAa,CAgBX;IAEF,kBAAkB,CAIhB;IAEF,mBAAmB,CAIjB;IAEO,MAAM;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,MAAM,YAAY,GAAqB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9E,OAAO,IAAI,CAAA;;YAEH,IAAI,CAAC,SAAS;YACd,CAAC,CAAC,IAAI,CAAA;;;;wBAIM,IAAI,CAAC,SAAS;6BACT,IAAI,CAAC,SAAS;gCACX,YAAY;;yBAEnB,IAAI,CAAC,gBAAgB;;+CAEC,QAAQ;2BAC5B;YACf,CAAC,CAAC,IAAI;;iCAEe,IAAI,CAAC,KAAK;;;;;;;;;kBASzB,CAAC,IAAI,CAAC,cAAc;iBACrB,IAAI,CAAC,eAAe;;;uDAGkB,IAAI,CAAC,aAAa;;;;;;;;uBAQlD,IAAI,CAAC,eAAe;;;;;2CAKA,IAAI,CAAC,kBAAkB;;;;;;;;4CAQtB,IAAI,CAAC,mBAAmB;;gBAEpD,CAAC;IACf,CAAC;;AA/JW;IAAX,QAAQ,EAAE;0CAAY;AACgB;IAAtC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;8CAA+B;AACpD;IAAhB,KAAK,EAAE;mDAAgC;AACvB;IAAhB,KAAK,EAAE;8CAA2B;AAClB;IAAhB,KAAK,EAAE;+CAA4B;AA8JtC,SAAS,kBAAkB,CAAC,IAAqB;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACrD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"page-shell.js","sourceRoot":"","sources":["../../../src/templates/page-shell/page-shell.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"page-shell.styles.d.ts","sourceRoot":"","sources":["../../../src/templates/page-shell/page-shell.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,yBAuK3B,CAAC"}
1
+ {"version":3,"file":"page-shell.styles.d.ts","sourceRoot":"","sources":["../../../src/templates/page-shell/page-shell.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,yBAkK3B,CAAC"}
@@ -24,13 +24,7 @@ export const pageShellStyles = css `
24
24
  }
25
25
 
26
26
  footer {
27
- border-top: 1px solid var(--ds-color-border);
28
- padding: var(--ds-space-2) 0;
29
- }
30
-
31
- :host([footer-empty]) footer {
32
- padding: 0;
33
- border-top: 0;
27
+ display: block;
34
28
  }
35
29
 
36
30
  .shell-inner {
@@ -78,7 +72,8 @@ export const pageShellStyles = css `
78
72
 
79
73
  main {
80
74
  padding: var(--ds-space-5);
81
- overflow-y: auto;
75
+ overflow: auto;
76
+ min-width: 0;
82
77
  min-height: 0;
83
78
  scrollbar-color: var(--ds-color-fg-subtle) transparent;
84
79
  scrollbar-width: thin;
@@ -1 +1 @@
1
- {"version":3,"file":"page-shell.styles.js","sourceRoot":"","sources":["../../../src/templates/page-shell/page-shell.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuKjC,CAAC"}
1
+ {"version":3,"file":"page-shell.styles.js","sourceRoot":"","sources":["../../../src/templates/page-shell/page-shell.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkKjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsekulowicz/ds-components",
3
- "version": "0.3.1",
3
+ "version": "0.4.1",
4
4
  "description": "Lit web components for the Design System Library (atoms, molecules, organisms, templates, pages).",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -376,13 +376,13 @@
376
376
  {
377
377
  "name": "full barrel (define, gzip)",
378
378
  "path": "dist/define.js",
379
- "limit": "38 kB"
379
+ "limit": "50 kB"
380
380
  }
381
381
  ],
382
382
  "dependencies": {
383
383
  "lit": "^3.2.1",
384
- "@jsekulowicz/ds-core": "0.3.1",
385
- "@jsekulowicz/ds-tokens": "0.3.1"
384
+ "@jsekulowicz/ds-core": "0.4.1",
385
+ "@jsekulowicz/ds-tokens": "0.4.1"
386
386
  },
387
387
  "devDependencies": {
388
388
  "heroicons": "2.2.0",