@aquera/nile-elements 0.0.4-9 → 0.0.5-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 (117) hide show
  1. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-error-message/nile-error-message.css.js +42 -45
  2. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-error-message/nile-error-message.css.js.map +1 -1
  3. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-error-message/nile-error-message.d.ts +13 -5
  4. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-error-message/nile-error-message.js +54 -84
  5. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-error-message/nile-error-message.js.map +1 -1
  6. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-select/nile-select.js +2 -2
  7. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-select/nile-select.js.map +1 -1
  8. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/tsconfig.tsbuildinfo +1 -1
  9. package/dist/{index-cd83c5c8.cjs.js → index-0da7021a.cjs.js} +2 -2
  10. package/dist/{index-cd83c5c8.cjs.js.map → index-0da7021a.cjs.js.map} +1 -1
  11. package/dist/index.cjs.js +1 -1
  12. package/dist/index.iife.js +82 -87
  13. package/dist/nile-auto-complete/index.cjs.js +1 -1
  14. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  15. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js +1 -1
  16. package/dist/nile-button/index.cjs.js +1 -1
  17. package/dist/nile-button/nile-button.cjs.js +1 -1
  18. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  19. package/dist/nile-calendar/index.cjs.js +1 -1
  20. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  21. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  22. package/dist/nile-checkbox/index.cjs.js +1 -1
  23. package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
  24. package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
  25. package/dist/nile-chip/index.cjs.js +1 -1
  26. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  27. package/dist/nile-chip/nile-chip.css.cjs.js +1 -1
  28. package/dist/nile-date-picker/index.cjs.js +1 -1
  29. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  30. package/dist/nile-date-picker/nile-date-picker.css.cjs.js +1 -1
  31. package/dist/nile-drawer/index.cjs.js +1 -1
  32. package/dist/nile-drawer/nile-drawer.css.cjs.js +1 -1
  33. package/dist/nile-dropdown/index.cjs.js +1 -1
  34. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  35. package/dist/nile-dropdown/nile-dropdown.css.cjs.js +1 -1
  36. package/dist/nile-error-message/index.cjs.js +1 -1
  37. package/dist/nile-error-message/nile-error-message.cjs.js +1 -1
  38. package/dist/nile-error-message/nile-error-message.cjs.js.map +1 -1
  39. package/dist/nile-error-message/nile-error-message.css.cjs.js +1 -1
  40. package/dist/nile-error-message/nile-error-message.css.cjs.js.map +1 -1
  41. package/dist/nile-error-message/nile-error-message.css.esm.js +42 -45
  42. package/dist/nile-error-message/nile-error-message.esm.js +26 -28
  43. package/dist/nile-footer/index.cjs.js +1 -1
  44. package/dist/nile-footer/nile-footer.css.cjs.js +1 -1
  45. package/dist/nile-form-error-message/index.cjs.js +1 -1
  46. package/dist/nile-form-error-message/nile-form-error-message.cjs.js +1 -1
  47. package/dist/nile-form-error-message/nile-form-error-message.css.cjs.js +1 -1
  48. package/dist/nile-form-help-text/index.cjs.js +1 -1
  49. package/dist/nile-form-help-text/nile-form-help-text.cjs.js +1 -1
  50. package/dist/nile-form-help-text/nile-form-help-text.css.cjs.js +1 -1
  51. package/dist/nile-icon-button/index.cjs.js +1 -1
  52. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  53. package/dist/nile-icon-button/nile-icon-button.css.cjs.js +1 -1
  54. package/dist/nile-input/index.cjs.js +1 -1
  55. package/dist/nile-input/nile-input.cjs.js +1 -1
  56. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  57. package/dist/nile-link/index.cjs.js +1 -1
  58. package/dist/nile-link/nile-link.cjs.js +1 -1
  59. package/dist/nile-link/nile-link.css.cjs.js +1 -1
  60. package/dist/nile-loader/index.cjs.js +1 -1
  61. package/dist/nile-loader/nile-loader.cjs.js +1 -1
  62. package/dist/nile-menu/index.cjs.js +1 -1
  63. package/dist/nile-menu/nile-menu.cjs.js +1 -1
  64. package/dist/nile-menu/nile-menu.css.cjs.js +1 -1
  65. package/dist/nile-menu-item/index.cjs.js +1 -1
  66. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  67. package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
  68. package/dist/nile-option/index.cjs.js +1 -1
  69. package/dist/nile-option/nile-option.cjs.js +1 -1
  70. package/dist/nile-option/nile-option.css.cjs.js +1 -1
  71. package/dist/nile-popup/index.cjs.js +1 -1
  72. package/dist/nile-popup/nile-popup.cjs.js +1 -1
  73. package/dist/nile-popup/nile-popup.css.cjs.js +1 -1
  74. package/dist/nile-progress-bar/index.cjs.js +1 -1
  75. package/dist/nile-progress-bar/nile-progress-bar.cjs.js +1 -1
  76. package/dist/nile-radio/index.cjs.js +1 -1
  77. package/dist/nile-radio/nile-radio.cjs.js +1 -1
  78. package/dist/nile-radio/nile-radio.css.cjs.js +1 -1
  79. package/dist/nile-radio-button/index.cjs.js +1 -1
  80. package/dist/nile-radio-button/nile-radio-button.cjs.js +1 -1
  81. package/dist/nile-radio-button/nile-radio-button.css.cjs.js +1 -1
  82. package/dist/nile-radio-button-group/index.cjs.js +1 -1
  83. package/dist/nile-radio-button-group/nile-radio-button-group.cjs.js +1 -1
  84. package/dist/nile-radio-button-group/nile-radio-button-group.css.cjs.js +1 -1
  85. package/dist/nile-select/index.cjs.js +1 -1
  86. package/dist/nile-select/nile-select.cjs.js +1 -1
  87. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  88. package/dist/nile-select/nile-select.css.cjs.js +1 -1
  89. package/dist/nile-select/nile-select.esm.js +1 -1
  90. package/dist/nile-slide-toggle/index.cjs.js +1 -1
  91. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
  92. package/dist/nile-spinner/index.cjs.js +1 -1
  93. package/dist/nile-spinner/nile-spinner.cjs.js +1 -1
  94. package/dist/nile-spinner/nile-spinner.css.cjs.js +1 -1
  95. package/dist/nile-tag/index.cjs.js +1 -1
  96. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  97. package/dist/nile-tag/nile-tag.css.cjs.js +1 -1
  98. package/dist/nile-textarea/index.cjs.js +1 -1
  99. package/dist/nile-textarea/nile-textarea.cjs.js +1 -1
  100. package/dist/nile-textarea/nile-textarea.css.cjs.js +1 -1
  101. package/dist/nile-toolbar/index.cjs.js +1 -1
  102. package/dist/nile-toolbar/nile-toolbar.css.cjs.js +1 -1
  103. package/dist/nile-tooltip/index.cjs.js +1 -1
  104. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  105. package/dist/nile-tooltip/nile-tooltip.css.cjs.js +1 -1
  106. package/dist/src/nile-error-message/nile-error-message.css.js +42 -45
  107. package/dist/src/nile-error-message/nile-error-message.css.js.map +1 -1
  108. package/dist/src/nile-error-message/nile-error-message.d.ts +13 -5
  109. package/dist/src/nile-error-message/nile-error-message.js +54 -84
  110. package/dist/src/nile-error-message/nile-error-message.js.map +1 -1
  111. package/dist/src/nile-select/nile-select.js +2 -2
  112. package/dist/src/nile-select/nile-select.js.map +1 -1
  113. package/dist/tsconfig.tsbuildinfo +1 -1
  114. package/package.json +1 -1
  115. package/src/nile-error-message/nile-error-message.css.ts +42 -45
  116. package/src/nile-error-message/nile-error-message.ts +52 -90
  117. package/src/nile-select/nile-select.ts +2 -2
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.4-9",
6
+ "version": "0.0.5-1",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
@@ -12,76 +12,73 @@ import { css } from 'lit-element';
12
12
  */
13
13
  export const styles = css`
14
14
  :host {
15
- width:100%;
16
15
  }
17
16
 
18
17
  .nile-error-message {
19
18
  width: 100%;
19
+ word-break: break-all;
20
20
  font-size: var(--nile-font-size-small);
21
+ letter-spacing: 0.2px;
21
22
  font-weight: var(--nile-font-weight-regular);
22
23
  line-height: var(--nile-font-size-small);
23
- border: 1px solid var(--nile-colors-red-500);
24
- border-left: 6px solid var(--nile-colors-red-500);
25
- border-radius: var(--nile-radius-base-standard);
26
- background: var(--nile-colors-red-100);
27
24
  }
28
25
 
29
- .nile-error-message__info {
26
+ .nile-error-message__error {
30
27
  color: var(--nile-colors-red-500);
31
- padding: 8px;
32
- display: flex;
33
- align-items: center;
28
+ word-break: break-word;
29
+ }
30
+
31
+ .nile-error-message__response {
32
+ color: var(--nile-colors-dark-500);
34
33
  }
35
34
 
36
- .nile-error-message__icon,
37
- .nile-error-message__arrow {
35
+ .nile-error-message__icon {
38
36
  vertical-align: middle;
39
- margin-right: 6px;
40
- transition: transform 0.3s ease-in-out;
37
+ margin-right:2px;
41
38
  }
42
39
 
43
- .nile-error-message__expandable {
40
+ .nile-error-message__more-button {
41
+ color: var(--nile-colors-primary-600);
44
42
  cursor: pointer;
45
- overflow: hidden;
43
+ word-break: break-word;
46
44
  }
47
45
 
48
- .nile-error-message__content {
49
- display: flex;
50
- align-items: flex-start;
51
- padding: 8px 12px;
46
+ .nile-error-message__response-expanded {
47
+ height: auto;
48
+ border: 1px solid var(--nile-colors-red-500);
49
+ border-left: 6px solid var(--nile-colors-red-500);
50
+ border-radius: 4px;
51
+ margin-top: 12px;
52
+ padding: 12px;
53
+ background: var(--nile-colors-neutral-100);
52
54
  }
53
55
 
54
- .nile-error-message__expandable.bordered {
55
- border-top: 1px solid var(--nile-colors-neutral-500);
56
+ .nile-error-message__response-expanded {
57
+ max-height: 100px;
58
+ overflow-y: auto;
59
+ border: 1px solid var(--nile-colors-red-500);
60
+ border-left: 6px solid var(--nile-colors-red-500);
61
+ border-radius: 4px;
62
+ margin-top: 12px;
63
+ padding: 12px;
64
+ background: var(--nile-colors-neutral-100);
65
+ transition: max-height 0.3s ease-in-out;
66
+ flex-shrink: 0;
56
67
  }
57
68
 
58
- .nile-error-message__summary {
59
- white-space: nowrap;
69
+ .nile-error-message__response-expanded.collapsed {
70
+ max-height: 0;
60
71
  overflow: hidden;
61
- text-overflow: ellipsis;
62
- transition: height 0.3s ease-in-out, white-space 1s ease-in-out;
63
- height: 14px;
64
- }
65
-
66
- .nile-error-message__expandable.expanded .nile-error-message__summary {
67
- white-space: normal;
68
- max-height: 6em;
69
- overflow-y: scroll;
70
- }
71
-
72
- .nile-error-message__expandable.expanded
73
- .nile-error-message__summary::-webkit-scrollbar {
74
- width: 8px;
75
- }
76
-
77
- .nile-error-message__expandable.expanded
78
- .nile-error-message__summary::-webkit-scrollbar-thumb {
79
- border-radius: 20px;
80
- background: rgba(148, 159, 184, 0.25);
72
+ transition: max-height 0.3s ease-in-out;
73
+ visibility: hidden;
74
+ padding: 0 12px;
81
75
  }
82
76
 
83
- .nile-error-message__expandable.expanded .nile-error-message__arrow {
84
- transform: rotate(90deg);
77
+ .nile-error-message__response-expanded.expanded {
78
+ max-height: 100px;
79
+ transition: max-height 0.3s ease-in-out;
80
+ visibility: visible;
81
+ padding: 12px;
85
82
  }
86
83
  `;
87
84
 
@@ -8,13 +8,6 @@ import {
8
8
  import { customElement } from 'lit/decorators.js';
9
9
  import { styles } from './nile-error-message.css';
10
10
 
11
- const convertToStringArray = (value: any): Array<string> => {
12
- if (Array.isArray(value)) {
13
- return value.map(item => String(item));
14
- }
15
- return [];
16
- };
17
-
18
11
  /**
19
12
  * A custom error message component that displays error information to the user.
20
13
  * @customElement nile-error-message
@@ -25,100 +18,69 @@ export class NileErrorMessage extends LitElement {
25
18
  return [styles];
26
19
  }
27
20
 
28
- @property({
29
- type: Array,
30
- attribute: 'error-messages',
31
- hasChanged: (newVal, oldVal) =>
32
- JSON.stringify(newVal) !== JSON.stringify(oldVal), // Optional: to detect deep changes
33
- converter: {
34
- toAttribute: value => JSON.stringify(value),
35
- fromAttribute: value => convertToStringArray(JSON.parse(value || '[]')),
36
- },
37
- })
38
- errorMessages: Array<string> = [];
21
+ // Represents the error message to be displayed to the user.
22
+ @property({ type: String })
23
+ errorMessage: string = '';
39
24
 
40
- @property({ type: Number })
41
- expandedIndex: number | null = null;
25
+ // Represents additional details about the error, like stack trace or other info.
26
+ @property({ type: String })
27
+ errorResponse: string;
42
28
 
43
- expandText(index: number, target: any) {
44
- const element = target.querySelector('.nile-error-message__summary');
45
- const originalHeight = element.clientHeight;
46
- element.style.whiteSpace = 'normal';
47
- element.style.height = 'auto';
48
- const expandedHeight = Math.min(element.clientHeight, 5.5 * 12);
29
+ @property({ type: Boolean })
30
+ isExpanded: boolean = false;
49
31
 
50
- element.style.height = originalHeight + 'px';
32
+ // The maximum length before truncation.
33
+ private readonly MAX_LENGTH: number = 100;
51
34
 
52
- requestAnimationFrame(() => {
53
- element.style.height = expandedHeight + 'px';
54
- });
35
+ /**
36
+ * Get a truncated version of the errorResponse if it's too long.
37
+ * @returns {string}
38
+ */
39
+ getTruncatedResponse(): string {
40
+ if (this.errorResponse.length > this.MAX_LENGTH) {
41
+ return `${this.errorResponse.substring(0, this.MAX_LENGTH)}...`;
42
+ }
43
+ return this.errorResponse;
55
44
  }
56
45
 
57
- collapseText(target: any) {
58
- const element = target.querySelector('.nile-error-message__summary');
59
- const expandedHeight = element.clientHeight;
60
- element.style.height = expandedHeight + 'px';
61
-
62
- requestAnimationFrame(() => {
63
- element.style.height = '14px';
64
- element.style.whiteSpace = 'nowrap';
65
- });
46
+ /**
47
+ * Toggle the expanded state of the error response.
48
+ */
49
+ toggleExpanded() {
50
+ this.isExpanded = !this.isExpanded;
66
51
  }
67
52
 
68
- toggleExpand(index: number, event: any) {
69
- if (this.shadowRoot) {
70
- if (this.expandedIndex !== null && this.expandedIndex !== index) {
71
- const prevExpandable = this.shadowRoot.querySelectorAll(
72
- '.nile-error-message__expandable'
73
- )[this.expandedIndex];
74
- if (prevExpandable) {
75
- this.collapseText(prevExpandable);
76
- }
77
- }
78
- }
53
+ public render(): TemplateResult {
54
+ return html`
55
+ <div class="nile-error-message" part="base">
56
+ <nile-icon
57
+ name="info2"
58
+ size="14"
59
+ class="nile-error-message__icon"
60
+ part="icon"
61
+ color="#E5434D"
62
+ ></nile-icon>
63
+ <span class="nile-error-message__error">${this.errorMessage}</span>
79
64
 
80
- if (this.expandedIndex === index) {
81
- this.expandedIndex = null;
82
- this.collapseText(event.currentTarget);
83
- } else {
84
- this.expandedIndex = index;
85
- this.expandText(index, event.currentTarget);
86
- }
87
- }
88
65
 
89
- render(): TemplateResult {
90
- return html`
91
- <div class="nile-error-message">
92
- <div class="nile-error-message__info">
93
- <nile-icon
94
- name="info2"
95
- size="14"
96
- class="nile-error-message__icon"
97
- part="icon"
98
- ></nile-icon>
99
- ${this.errorMessages.length}
100
- ${this.errorMessages.length > 1 ? 'attributes' : 'attribute'} are not
101
- valid
66
+ ${this.errorResponse
67
+ ? html` <span class="nile-error-message__response"
68
+ >${this.getTruncatedResponse()}</span
69
+ >
70
+ <span
71
+ class="nile-error-message__more-button"
72
+ @click=${this.toggleExpanded}
73
+ >${this.isExpanded ? 'View Less' : 'View More'}</span
74
+ >`
75
+ : ``}
76
+
77
+ <div
78
+ class="nile-error-message__response-expanded ${this.isExpanded
79
+ ? 'expanded'
80
+ : 'collapsed'}"
81
+ >
82
+ ${this.errorResponse}
102
83
  </div>
103
- ${this.errorMessages.map(
104
- (errorMessage, index) => html`
105
- <div
106
- class="nile-error-message__expandable ${index !== 0
107
- ? 'bordered'
108
- : ''} ${this.expandedIndex === index ? 'expanded' : ''}"
109
- @click="${(event: any) => this.toggleExpand(index, event)}"
110
- >
111
- <div class="nile-error-message__content">
112
- <nile-icon
113
- name="arrowright"
114
- size="14"
115
- class="nile-error-message__arrow"
116
- ></nile-icon>
117
- <div class="nile-error-message__summary">${errorMessage}</div>
118
- </div>
119
- </div>
120
- `
121
- )}
122
84
  </div>
123
85
  `;
124
86
  }
@@ -224,12 +224,12 @@ export class NileSelect extends NileElement implements NileFormControl {
224
224
 
225
225
  /** Gets the validity state object */
226
226
  get validity() {
227
- return this.valueInput.validity;
227
+ return this.valueInput?.validity;
228
228
  }
229
229
 
230
230
  /** Gets the validation message */
231
231
  get validationMessage() {
232
- return this.valueInput.validationMessage;
232
+ return this.valueInput?.validationMessage;
233
233
  }
234
234
 
235
235
  connectedCallback() {