@aquera/nile-elements 0.0.6-11 → 0.0.6-12

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 (37) hide show
  1. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/nile-button-toggle.css.js +4 -0
  2. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/nile-button-toggle.css.js.map +1 -1
  3. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/nile-button-toggle.d.ts +4 -2
  4. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/nile-button-toggle.js +12 -2
  5. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/nile-button-toggle.js.map +1 -1
  6. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle-group/nile-button-toggle-group.d.ts +6 -2
  7. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle-group/nile-button-toggle-group.js +30 -7
  8. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle-group/nile-button-toggle-group.js.map +1 -1
  9. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/tsconfig.tsbuildinfo +1 -1
  10. package/demo/index.html +1 -1
  11. package/dist/index.iife.js +6 -4
  12. package/dist/nile-button-toggle/index.cjs.js +1 -1
  13. package/dist/nile-button-toggle/index.esm.js +1 -1
  14. package/dist/nile-button-toggle/nile-button-toggle.cjs.js +1 -1
  15. package/dist/nile-button-toggle/nile-button-toggle.cjs.js.map +1 -1
  16. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js +1 -1
  17. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js.map +1 -1
  18. package/dist/nile-button-toggle/nile-button-toggle.css.esm.js +4 -0
  19. package/dist/nile-button-toggle/nile-button-toggle.esm.js +3 -3
  20. package/dist/nile-button-toggle-group/index.cjs.js +1 -1
  21. package/dist/nile-button-toggle-group/index.esm.js +1 -1
  22. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js +1 -1
  23. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js.map +1 -1
  24. package/dist/nile-button-toggle-group/nile-button-toggle-group.esm.js +1 -3
  25. package/dist/src/nile-button-toggle/nile-button-toggle.css.js +4 -0
  26. package/dist/src/nile-button-toggle/nile-button-toggle.css.js.map +1 -1
  27. package/dist/src/nile-button-toggle/nile-button-toggle.d.ts +4 -2
  28. package/dist/src/nile-button-toggle/nile-button-toggle.js +12 -2
  29. package/dist/src/nile-button-toggle/nile-button-toggle.js.map +1 -1
  30. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.d.ts +6 -2
  31. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js +30 -7
  32. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js.map +1 -1
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +1 -1
  35. package/src/nile-button-toggle/nile-button-toggle.css.ts +4 -0
  36. package/src/nile-button-toggle/nile-button-toggle.ts +9 -2
  37. package/src/nile-button-toggle-group/nile-button-toggle-group.ts +51 -26
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent nile-elements following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "nile-elements",
6
- "version": "0.0.6-11",
6
+ "version": "0.0.6-12",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
@@ -49,6 +49,10 @@ export const styles = css`
49
49
  .nile-button-toggle__active {
50
50
  background-color: #c7ced4;
51
51
  }
52
+
53
+ .nile-button-toggle__disabled {
54
+ cursor: not-allowed;
55
+ }
52
56
  `;
53
57
 
54
58
  export default [styles];
@@ -8,6 +8,7 @@
8
8
  import {LitElement, html, property, CSSResultArray, TemplateResult} from 'lit-element';
9
9
  import { customElement } from 'lit/decorators.js';
10
10
  import {styles} from './nile-button-toggle.css';
11
+ import NileElement from '../internal/nile-element';
11
12
 
12
13
  /**
13
14
  * Nile icon component.
@@ -16,7 +17,7 @@ import {styles} from './nile-button-toggle.css';
16
17
  *
17
18
  */
18
19
  @customElement('nile-button-toggle')
19
- export class NileButtonToggle extends LitElement {
20
+ export class NileButtonToggle extends NileElement {
20
21
 
21
22
  /**
22
23
  * The styles for ButtonToggle
@@ -38,6 +39,9 @@ export class NileButtonToggle extends LitElement {
38
39
  @property({ type: Boolean, reflect: true })
39
40
  end = false;
40
41
 
42
+ @property({ type: Boolean, reflect: true })
43
+ disabled = false;
44
+
41
45
  @property({ type: String })
42
46
  value = '';
43
47
 
@@ -52,10 +56,10 @@ export class NileButtonToggle extends LitElement {
52
56
  }
53
57
 
54
58
  toggle() {
59
+ if (this.disabled) return;
55
60
  this.active = true;
56
61
  const eventData = { active: this.active, value: this.value };
57
62
  this.dispatchEvent(new CustomEvent('nile-toggle-changed', { detail: eventData, bubbles: true }));
58
-
59
63
  }
60
64
 
61
65
  /**
@@ -76,6 +80,9 @@ export class NileButtonToggle extends LitElement {
76
80
  if (this.end) {
77
81
  classes.push('nile-button-toggle__end');
78
82
  }
83
+ if (this.disabled) {
84
+ classes.push('nile-button-toggle__disabled');
85
+ }
79
86
 
80
87
  const classString = classes.join(' ');
81
88
 
@@ -9,6 +9,7 @@ import {LitElement, html, property, CSSResultArray, TemplateResult} from 'lit-el
9
9
  import { customElement, query, queryAll } from 'lit/decorators.js';
10
10
  import {styles} from './nile-button-toggle-group.css';
11
11
  import NileButtonToggle from '../nile-button-toggle/nile-button-toggle';
12
+ import NileElement from '../internal/nile-element';
12
13
  /**
13
14
  * Nile icon component.
14
15
  *
@@ -16,15 +17,14 @@ import NileButtonToggle from '../nile-button-toggle/nile-button-toggle';
16
17
  *
17
18
  */
18
19
  @customElement('nile-button-toggle-group')
19
- export class NileButtonToggleGroup extends LitElement {
20
-
21
- /**
22
- * The styles for ButtonToggleGroup
23
- * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
24
- */
25
- public static get styles(): CSSResultArray {
26
- return [styles];
27
- }
20
+ export class NileButtonToggleGroup extends NileElement {
21
+ /**
22
+ * The styles for ButtonToggleGroup
23
+ * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
24
+ */
25
+ public static get styles(): CSSResultArray {
26
+ return [styles];
27
+ }
28
28
 
29
29
  @queryAll('nile-button-toggle')
30
30
  private toggles!: NodeListOf<NileButtonToggle>;
@@ -32,20 +32,46 @@ export class NileButtonToggleGroup extends LitElement {
32
32
  @query('slot:not([name])')
33
33
  private defaultSlot!: HTMLSlotElement;
34
34
 
35
+ @property({ type: Boolean, reflect: true })
36
+ public disabled: boolean = false;
35
37
 
36
38
  connectedCallback() {
37
39
  super.connectedCallback();
38
40
  }
39
41
 
40
42
  firstUpdated() {
41
- this.defaultSlot.addEventListener('slotchange', () => this.updateTogglePositions());
43
+ this.defaultSlot.addEventListener('slotchange', () =>
44
+ this.updateTogglePositions()
45
+ );
42
46
  this.addEventListener('nile-toggle-changed', this.handleToggle);
43
47
  this.updateTogglePositions();
44
48
  }
45
49
 
50
+ updated(changedProperties: Map<string | number | symbol, unknown>) {
51
+ super.updated(changedProperties);
52
+ if (changedProperties.has('disabled')) {
53
+ this.updateDisabledState();
54
+ }
55
+ }
56
+
57
+ private updateDisabledState() {
58
+ const assignedNodes = this.defaultSlot.assignedNodes({ flatten: true });
59
+ const toggles = assignedNodes.filter(
60
+ node => node instanceof NileButtonToggle
61
+ ) as NileButtonToggle[];
62
+
63
+ toggles.forEach(toggle => {
64
+ if (!toggle.disabled) {
65
+ toggle.disabled = this.disabled;
66
+ }
67
+ });
68
+ }
69
+
46
70
  updateTogglePositions() {
47
- const assignedNodes = this.defaultSlot.assignedNodes({flatten: true});
48
- const toggles = assignedNodes.filter(node => node instanceof NileButtonToggle) as NileButtonToggle[];
71
+ const assignedNodes = this.defaultSlot.assignedNodes({ flatten: true });
72
+ const toggles = assignedNodes.filter(
73
+ node => node instanceof NileButtonToggle
74
+ ) as NileButtonToggle[];
49
75
 
50
76
  toggles.forEach((toggle, index) => {
51
77
  toggle.initial = index === 0;
@@ -55,6 +81,7 @@ export class NileButtonToggleGroup extends LitElement {
55
81
  }
56
82
 
57
83
  handleToggle(event: CustomEvent) {
84
+ if (this.disabled) return;
58
85
  const toggles = this.querySelectorAll('nile-button-toggle');
59
86
 
60
87
  if (toggles && event.detail.active) {
@@ -64,21 +91,19 @@ export class NileButtonToggleGroup extends LitElement {
64
91
  }
65
92
  });
66
93
 
67
- this.dispatchEvent(new CustomEvent('nile-changed', { detail: { value: event.detail.value } }));
94
+ this.emit('nile-change', { value: event.detail.value });
68
95
  }
69
- };
70
-
71
- /**
72
- * Render method
73
- * @slot This is a slot test
74
- */
75
- public render(): TemplateResult {
76
- return html`
77
- <slot> </slot>
78
- `;
79
- }
80
-
81
- /* #endregion */
96
+ }
97
+
98
+ /**
99
+ * Render method
100
+ * @slot This is a slot test
101
+ */
102
+ public render(): TemplateResult {
103
+ return html` <slot> </slot> `;
104
+ }
105
+
106
+ /* #endregion */
82
107
  }
83
108
 
84
109
  export default NileButtonToggleGroup;