@aquera/nile-elements 0.0.6-10 → 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 (130) hide show
  1. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/index.d.ts +2 -0
  2. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/index.js +2 -0
  3. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/index.js.map +1 -1
  4. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/index.d.ts +1 -0
  5. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/index.js +2 -0
  6. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/index.js.map +1 -0
  7. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/{nile-radio-button/nile-radio-button.css.d.ts → nile-button-toggle/nile-button-toggle.css.d.ts} +1 -1
  8. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/nile-button-toggle.css.js +56 -0
  9. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/nile-button-toggle.css.js.map +1 -0
  10. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/nile-button-toggle.d.ts +41 -0
  11. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/nile-button-toggle.js +104 -0
  12. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle/nile-button-toggle.js.map +1 -0
  13. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle-group/index.d.ts +1 -0
  14. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle-group/index.js +2 -0
  15. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle-group/index.js.map +1 -0
  16. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.d.ts +12 -0
  17. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.js +17 -0
  18. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.js.map +1 -0
  19. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle-group/nile-button-toggle-group.d.ts +41 -0
  20. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle-group/nile-button-toggle-group.js +99 -0
  21. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-button-toggle-group/nile-button-toggle-group.js.map +1 -0
  22. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/tsconfig.tsbuildinfo +1 -1
  23. package/demo/index.html +1 -1
  24. package/dist/index.cjs.js +1 -1
  25. package/dist/index.esm.js +1 -1
  26. package/dist/index.iife.js +251 -194
  27. package/dist/nile-button-toggle/index.cjs.js +2 -0
  28. package/dist/nile-button-toggle/index.esm.js +1 -0
  29. package/dist/nile-button-toggle/nile-button-toggle.cjs.js +2 -0
  30. package/dist/nile-button-toggle/nile-button-toggle.cjs.js.map +1 -0
  31. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js +2 -0
  32. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js.map +1 -0
  33. package/dist/nile-button-toggle/nile-button-toggle.css.esm.js +44 -0
  34. package/dist/nile-button-toggle/nile-button-toggle.esm.js +6 -0
  35. package/dist/nile-button-toggle-group/index.cjs.js +2 -0
  36. package/dist/nile-button-toggle-group/index.esm.js +1 -0
  37. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js +2 -0
  38. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js.map +1 -0
  39. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.cjs.js +2 -0
  40. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.cjs.js.map +1 -0
  41. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.esm.js +5 -0
  42. package/dist/nile-button-toggle-group/nile-button-toggle-group.esm.js +1 -0
  43. package/dist/src/index.d.ts +2 -0
  44. package/dist/src/index.js +2 -0
  45. package/dist/src/index.js.map +1 -1
  46. package/dist/src/nile-button-toggle/index.d.ts +1 -0
  47. package/dist/src/nile-button-toggle/index.js +2 -0
  48. package/dist/src/nile-button-toggle/index.js.map +1 -0
  49. package/dist/src/{nile-radio-button/nile-radio-button.css.d.ts → nile-button-toggle/nile-button-toggle.css.d.ts} +1 -1
  50. package/dist/src/nile-button-toggle/nile-button-toggle.css.js +56 -0
  51. package/dist/src/nile-button-toggle/nile-button-toggle.css.js.map +1 -0
  52. package/dist/src/nile-button-toggle/nile-button-toggle.d.ts +41 -0
  53. package/dist/src/nile-button-toggle/nile-button-toggle.js +104 -0
  54. package/dist/src/nile-button-toggle/nile-button-toggle.js.map +1 -0
  55. package/dist/src/nile-button-toggle-group/index.d.ts +1 -0
  56. package/dist/src/nile-button-toggle-group/index.js +2 -0
  57. package/dist/src/nile-button-toggle-group/index.js.map +1 -0
  58. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.d.ts +12 -0
  59. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.js +17 -0
  60. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.js.map +1 -0
  61. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.d.ts +41 -0
  62. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js +99 -0
  63. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js.map +1 -0
  64. package/dist/tsconfig.tsbuildinfo +1 -1
  65. package/package.json +1 -1
  66. package/src/index.ts +3 -1
  67. package/src/nile-button-toggle/index.ts +1 -0
  68. package/src/nile-button-toggle/nile-button-toggle.css.ts +58 -0
  69. package/src/nile-button-toggle/nile-button-toggle.ts +106 -0
  70. package/src/nile-button-toggle-group/index.ts +1 -0
  71. package/src/nile-button-toggle-group/nile-button-toggle-group.css.ts +19 -0
  72. package/src/nile-button-toggle-group/nile-button-toggle-group.ts +115 -0
  73. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button/index.d.ts +0 -1
  74. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button/index.js +0 -2
  75. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button/index.js.map +0 -1
  76. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button/nile-radio-button.css.js +0 -173
  77. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button/nile-radio-button.css.js.map +0 -1
  78. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button/nile-radio-button.d.ts +0 -57
  79. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button/nile-radio-button.js +0 -145
  80. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button/nile-radio-button.js.map +0 -1
  81. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button-group/index.d.ts +0 -1
  82. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button-group/index.js +0 -2
  83. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button-group/index.js.map +0 -1
  84. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button-group/nile-radio-button-group.css.d.ts +0 -12
  85. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button-group/nile-radio-button-group.css.js +0 -70
  86. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button-group/nile-radio-button-group.css.js.map +0 -1
  87. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button-group/nile-radio-button-group.d.ts +0 -66
  88. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button-group/nile-radio-button-group.js +0 -308
  89. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-button-group/nile-radio-button-group.js.map +0 -1
  90. package/dist/nile-radio-button/index.cjs.js +0 -2
  91. package/dist/nile-radio-button/index.esm.js +0 -1
  92. package/dist/nile-radio-button/nile-radio-button.cjs.js +0 -2
  93. package/dist/nile-radio-button/nile-radio-button.cjs.js.map +0 -1
  94. package/dist/nile-radio-button/nile-radio-button.css.cjs.js +0 -2
  95. package/dist/nile-radio-button/nile-radio-button.css.cjs.js.map +0 -1
  96. package/dist/nile-radio-button/nile-radio-button.css.esm.js +0 -161
  97. package/dist/nile-radio-button/nile-radio-button.esm.js +0 -21
  98. package/dist/nile-radio-button-group/index.cjs.js +0 -2
  99. package/dist/nile-radio-button-group/index.esm.js +0 -1
  100. package/dist/nile-radio-button-group/nile-radio-button-group.cjs.js +0 -2
  101. package/dist/nile-radio-button-group/nile-radio-button-group.cjs.js.map +0 -1
  102. package/dist/nile-radio-button-group/nile-radio-button-group.css.cjs.js +0 -2
  103. package/dist/nile-radio-button-group/nile-radio-button-group.css.cjs.js.map +0 -1
  104. package/dist/nile-radio-button-group/nile-radio-button-group.css.esm.js +0 -58
  105. package/dist/nile-radio-button-group/nile-radio-button-group.esm.js +0 -56
  106. package/dist/src/nile-radio-button/index.d.ts +0 -1
  107. package/dist/src/nile-radio-button/index.js +0 -2
  108. package/dist/src/nile-radio-button/index.js.map +0 -1
  109. package/dist/src/nile-radio-button/nile-radio-button.css.js +0 -173
  110. package/dist/src/nile-radio-button/nile-radio-button.css.js.map +0 -1
  111. package/dist/src/nile-radio-button/nile-radio-button.d.ts +0 -57
  112. package/dist/src/nile-radio-button/nile-radio-button.js +0 -145
  113. package/dist/src/nile-radio-button/nile-radio-button.js.map +0 -1
  114. package/dist/src/nile-radio-button-group/index.d.ts +0 -1
  115. package/dist/src/nile-radio-button-group/index.js +0 -2
  116. package/dist/src/nile-radio-button-group/index.js.map +0 -1
  117. package/dist/src/nile-radio-button-group/nile-radio-button-group.css.d.ts +0 -12
  118. package/dist/src/nile-radio-button-group/nile-radio-button-group.css.js +0 -70
  119. package/dist/src/nile-radio-button-group/nile-radio-button-group.css.js.map +0 -1
  120. package/dist/src/nile-radio-button-group/nile-radio-button-group.d.ts +0 -66
  121. package/dist/src/nile-radio-button-group/nile-radio-button-group.js +0 -308
  122. package/dist/src/nile-radio-button-group/nile-radio-button-group.js.map +0 -1
  123. package/src/nile-radio-button/index.ts +0 -1
  124. package/src/nile-radio-button/nile-radio-button.css.ts +0 -175
  125. package/src/nile-radio-button/nile-radio-button.ts +0 -151
  126. package/src/nile-radio-button-group/index.ts +0 -1
  127. package/src/nile-radio-button-group/nile-radio-button-group.css.ts +0 -72
  128. package/src/nile-radio-button-group/nile-radio-button-group.ts +0 -337
  129. /package/dist/{nile-radio-button → nile-button-toggle}/index.cjs.js.map +0 -0
  130. /package/dist/{nile-radio-button-group → nile-button-toggle-group}/index.cjs.js.map +0 -0
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { __decorate } from "tslib";
8
+ import { html, property } from 'lit-element';
9
+ import { customElement, query, queryAll } from 'lit/decorators.js';
10
+ import { styles } from './nile-button-toggle-group.css';
11
+ import NileButtonToggle from '../nile-button-toggle/nile-button-toggle';
12
+ import NileElement from '../internal/nile-element';
13
+ /**
14
+ * Nile icon component.
15
+ *
16
+ * @tag nile-button-toggle-group
17
+ *
18
+ */
19
+ let NileButtonToggleGroup = class NileButtonToggleGroup extends NileElement {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.disabled = false;
23
+ /* #endregion */
24
+ }
25
+ /**
26
+ * The styles for ButtonToggleGroup
27
+ * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
28
+ */
29
+ static get styles() {
30
+ return [styles];
31
+ }
32
+ connectedCallback() {
33
+ super.connectedCallback();
34
+ }
35
+ firstUpdated() {
36
+ this.defaultSlot.addEventListener('slotchange', () => this.updateTogglePositions());
37
+ this.addEventListener('nile-toggle-changed', this.handleToggle);
38
+ this.updateTogglePositions();
39
+ }
40
+ updated(changedProperties) {
41
+ super.updated(changedProperties);
42
+ if (changedProperties.has('disabled')) {
43
+ this.updateDisabledState();
44
+ }
45
+ }
46
+ updateDisabledState() {
47
+ const assignedNodes = this.defaultSlot.assignedNodes({ flatten: true });
48
+ const toggles = assignedNodes.filter(node => node instanceof NileButtonToggle);
49
+ toggles.forEach(toggle => {
50
+ if (!toggle.disabled) {
51
+ toggle.disabled = this.disabled;
52
+ }
53
+ });
54
+ }
55
+ updateTogglePositions() {
56
+ const assignedNodes = this.defaultSlot.assignedNodes({ flatten: true });
57
+ const toggles = assignedNodes.filter(node => node instanceof NileButtonToggle);
58
+ toggles.forEach((toggle, index) => {
59
+ toggle.initial = index === 0;
60
+ toggle.middle = index > 0 && index < toggles.length - 1;
61
+ toggle.end = index === toggles.length - 1;
62
+ });
63
+ }
64
+ handleToggle(event) {
65
+ if (this.disabled)
66
+ return;
67
+ const toggles = this.querySelectorAll('nile-button-toggle');
68
+ if (toggles && event.detail.active) {
69
+ toggles.forEach((toggle) => {
70
+ if (toggle !== event.target) {
71
+ toggle.active = false;
72
+ }
73
+ });
74
+ this.emit('nile-change', { value: event.detail.value });
75
+ }
76
+ }
77
+ /**
78
+ * Render method
79
+ * @slot This is a slot test
80
+ */
81
+ render() {
82
+ return html ` <slot> </slot> `;
83
+ }
84
+ };
85
+ __decorate([
86
+ queryAll('nile-button-toggle')
87
+ ], NileButtonToggleGroup.prototype, "toggles", void 0);
88
+ __decorate([
89
+ query('slot:not([name])')
90
+ ], NileButtonToggleGroup.prototype, "defaultSlot", void 0);
91
+ __decorate([
92
+ property({ type: Boolean, reflect: true })
93
+ ], NileButtonToggleGroup.prototype, "disabled", void 0);
94
+ NileButtonToggleGroup = __decorate([
95
+ customElement('nile-button-toggle-group')
96
+ ], NileButtonToggleGroup);
97
+ export { NileButtonToggleGroup };
98
+ export default NileButtonToggleGroup;
99
+ //# sourceMappingURL=nile-button-toggle-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-button-toggle-group.js","sourceRoot":"","sources":["../../../src/nile-button-toggle-group/nile-button-toggle-group.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {LitElement, html, property, CSSResultArray, TemplateResult} from 'lit-element';\nimport { customElement, query, queryAll } from 'lit/decorators.js';\nimport {styles} from './nile-button-toggle-group.css';\nimport NileButtonToggle from '../nile-button-toggle/nile-button-toggle';\nimport NileElement from '../internal/nile-element';\n/**\n * Nile icon component.\n *\n * @tag nile-button-toggle-group\n *\n */\n@customElement('nile-button-toggle-group')\nexport class NileButtonToggleGroup extends NileElement {\n /**\n * The styles for ButtonToggleGroup\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @queryAll('nile-button-toggle')\n private toggles!: NodeListOf<NileButtonToggle>;\n\n @query('slot:not([name])')\n private defaultSlot!: HTMLSlotElement;\n\n @property({ type: Boolean, reflect: true })\n public disabled: boolean = false;\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n firstUpdated() {\n this.defaultSlot.addEventListener('slotchange', () =>\n this.updateTogglePositions()\n );\n this.addEventListener('nile-toggle-changed', this.handleToggle);\n this.updateTogglePositions();\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>) {\n super.updated(changedProperties);\n if (changedProperties.has('disabled')) {\n this.updateDisabledState();\n }\n }\n\n private updateDisabledState() {\n const assignedNodes = this.defaultSlot.assignedNodes({ flatten: true });\n const toggles = assignedNodes.filter(\n node => node instanceof NileButtonToggle\n ) as NileButtonToggle[];\n\n toggles.forEach(toggle => {\n if (!toggle.disabled) {\n toggle.disabled = this.disabled;\n }\n });\n }\n\n updateTogglePositions() {\n const assignedNodes = this.defaultSlot.assignedNodes({ flatten: true });\n const toggles = assignedNodes.filter(\n node => node instanceof NileButtonToggle\n ) as NileButtonToggle[];\n\n toggles.forEach((toggle, index) => {\n toggle.initial = index === 0;\n toggle.middle = index > 0 && index < toggles.length - 1;\n toggle.end = index === toggles.length - 1;\n });\n }\n\n handleToggle(event: CustomEvent) {\n if (this.disabled) return;\n const toggles = this.querySelectorAll('nile-button-toggle');\n\n if (toggles && event.detail.active) {\n toggles.forEach((toggle: any) => {\n if (toggle !== event.target) {\n toggle.active = false;\n }\n });\n\n this.emit('nile-change', { value: event.detail.value });\n }\n }\n\n /**\n * Render method\n * @slot This is a slot test\n */\n public render(): TemplateResult {\n return html` <slot> </slot> `;\n }\n\n /* #endregion */\n}\n\nexport default NileButtonToggleGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-button-toggle-group': NileButtonToggleGroup;\n }\n}\n"]}