@aquera/nile-elements 0.0.3-3 → 0.0.3-4

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 (34) hide show
  1. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-option/nile-option.d.ts +2 -0
  2. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-option/nile-option.js +23 -9
  3. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-option/nile-option.js.map +1 -1
  4. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-select/nile-select.css.js +17 -2
  5. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-select/nile-select.css.js.map +1 -1
  6. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-select/nile-select.d.ts +6 -0
  7. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-select/nile-select.js +40 -19
  8. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-select/nile-select.js.map +1 -1
  9. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/tsconfig.tsbuildinfo +1 -1
  10. package/dist/index.iife.js +51 -38
  11. package/dist/nile-option/index.cjs.js +1 -1
  12. package/dist/nile-option/index.esm.js +1 -1
  13. package/dist/nile-option/nile-option.cjs.js +1 -1
  14. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  15. package/dist/nile-option/nile-option.esm.js +6 -10
  16. package/dist/nile-select/nile-select.cjs.js +1 -1
  17. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  18. package/dist/nile-select/nile-select.css.cjs.js +1 -1
  19. package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
  20. package/dist/nile-select/nile-select.css.esm.js +17 -2
  21. package/dist/nile-select/nile-select.esm.js +21 -19
  22. package/dist/src/nile-option/nile-option.d.ts +2 -0
  23. package/dist/src/nile-option/nile-option.js +23 -9
  24. package/dist/src/nile-option/nile-option.js.map +1 -1
  25. package/dist/src/nile-select/nile-select.css.js +17 -2
  26. package/dist/src/nile-select/nile-select.css.js.map +1 -1
  27. package/dist/src/nile-select/nile-select.d.ts +6 -0
  28. package/dist/src/nile-select/nile-select.js +40 -19
  29. package/dist/src/nile-select/nile-select.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +1 -1
  32. package/src/nile-option/nile-option.ts +22 -9
  33. package/src/nile-select/nile-select.css.ts +17 -2
  34. package/src/nile-select/nile-select.ts +39 -29
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.3-3",
6
+ "version": "0.0.3-4",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
@@ -14,6 +14,7 @@ import { html } from 'lit';
14
14
  import { watch } from '../internal/watch';
15
15
  import type { CSSResultGroup } from 'lit';
16
16
  import NileElement from '../internal/nile-element';
17
+ import '../nile-checkbox';
17
18
 
18
19
  /**
19
20
  * Nile icon component.
@@ -51,6 +52,7 @@ export class NileOption extends NileElement {
51
52
  @state() selected = false; // the option is selected and has aria-selected="true"
52
53
  @state() hasHover = false; // we need this because Safari doesn't honor :hover styles while dragging
53
54
  @state() hidden = false; // the option is hidden
55
+ @state() isMultipleSelect = false;
54
56
 
55
57
  /**
56
58
  * The option's value. When selected, the containing form control will receive this value. The value must be unique
@@ -66,6 +68,20 @@ export class NileOption extends NileElement {
66
68
  super.connectedCallback();
67
69
  this.setAttribute('role', 'option');
68
70
  this.setAttribute('aria-selected', 'false');
71
+
72
+ // Find the closest parent 'nile-select' element
73
+ const parentSelect = this.closest('nile-select');
74
+
75
+ // Check if the parent has the 'multiple' attribute
76
+ if (parentSelect && parentSelect.hasAttribute('multiple')) {
77
+ let multipleValue = parentSelect.getAttribute('multiple');
78
+ if (multipleValue !== 'false') {
79
+ if(multipleValue === ''){
80
+ multipleValue = 'true';
81
+ }
82
+ this.isMultipleSelect = Boolean(multipleValue);
83
+ }
84
+ }
69
85
  }
70
86
 
71
87
  private handleDefaultSlotChange() {
@@ -135,21 +151,18 @@ export class NileOption extends NileElement {
135
151
  part="base"
136
152
  class=${classMap({
137
153
  option: true,
138
- 'option--current': this.current,
154
+ // 'option--current': this.current,
155
+ 'option--current': this.selected && !this.isMultipleSelect,
139
156
  'option--disabled': this.disabled,
140
- 'option--selected': this.selected,
157
+ 'option--selected': this.selected && !this.isMultipleSelect,
141
158
  'option--hover': this.hasHover,
142
159
  })}
143
160
  @mouseenter=${this.handleMouseEnter}
144
161
  @mouseleave=${this.handleMouseLeave}
145
162
  >
146
- <nile-icon
147
- part="checked-icon"
148
- class="option__check"
149
- name="tick"
150
- color=${this.current ? '#005EA6' : ''}
151
- aria-hidden="true"
152
- ></nile-icon>
163
+
164
+ ${this.isMultipleSelect ? html`<nile-checkbox style="pointer-events: none;" .checked=${this.selected}></nile-checkbox>` : ''}
165
+
153
166
  <slot part="prefix" name="prefix" class="option__prefix"></slot>
154
167
  <slot
155
168
  part="label"
@@ -205,6 +205,11 @@ export const styles = css`
205
205
  border: solid 1px #cccccc;
206
206
  }
207
207
 
208
+ .select--standard .select__combobox:hover {
209
+ border: 1px solid #000;
210
+ background: #fff;
211
+ }
212
+
208
213
  .select--standard.select--disabled .select__combobox {
209
214
  background-color: #f4f4f4;
210
215
  border-color: #cccccc;
@@ -218,7 +223,18 @@ export const styles = css`
218
223
  .select--standard:not(.select--disabled).select--focused .select__combobox {
219
224
  background-color: #f4f4f4;
220
225
  border-color: #0059ff;
221
- box-shadow: 0 0 0 3px rgba(0, 89, 255, 0.4);
226
+ }
227
+
228
+ .select--warning .select__combobox {
229
+ border-color: var(--nile-colors-yellow-500);
230
+ }
231
+
232
+ .select--error .select__combobox {
233
+ border-color: #e5434d;
234
+ }
235
+
236
+ .select--success {
237
+ border-color: #43e5c0;
222
238
  }
223
239
 
224
240
  /* Filled selects */
@@ -328,7 +344,6 @@ export const styles = css`
328
344
  position: relative;
329
345
  font-size: 1rem;
330
346
  font-weight: 400;
331
- box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
332
347
  background: #ffffff;
333
348
  border: solid 1px #cccccc;
334
349
  border-radius: 0.25rem;
@@ -154,6 +154,15 @@ export class NileSelect extends NileElement implements NileFormControl {
154
154
 
155
155
  @property({ attribute: 'error-message' }) errorMessage = '';
156
156
 
157
+ /** Sets the input to a warning state, changing its visual appearance. */
158
+ @property({ type: Boolean }) warning = false;
159
+
160
+ /** Sets the input to an error state, changing its visual appearance. */
161
+ @property({ type: Boolean }) error = false;
162
+
163
+ /** Sets the input to a success state, changing its visual appearance. */
164
+ @property({ type: Boolean }) success = false;
165
+
157
166
  /**
158
167
  * The maximum number of selected options to show when `multiple` is true. After the maximum, "+n" will be shown to
159
168
  * indicate the number of additional items that are selected. Set to 0 to remove the limit.
@@ -854,6 +863,9 @@ export class NileSelect extends NileElement implements NileFormControl {
854
863
  <nile-popup
855
864
  class=${classMap({
856
865
  select: true,
866
+ 'select--warning': this.warning,
867
+ 'select--error': this.error,
868
+ 'select--success': this.success,
857
869
  'select--standard': true,
858
870
  'select--filled': this.filled,
859
871
  'select--pill': this.pill,
@@ -883,11 +895,14 @@ export class NileSelect extends NileElement implements NileFormControl {
883
895
  @keydown=${this.handleComboboxKeyDown}
884
896
  @mousedown=${this.handleComboboxMouseDown}
885
897
  >
886
- <slot part="prefix" name="prefix" class=${classMap({
887
- 'select__prefix': true,
888
- 'multiple': this.multiple,
889
-
890
- })}></slot>
898
+ <slot
899
+ part="prefix"
900
+ name="prefix"
901
+ class=${classMap({
902
+ select__prefix: true,
903
+ multiple: this.multiple,
904
+ })}
905
+ ></slot>
891
906
 
892
907
  <input
893
908
  part="display-input"
@@ -1012,7 +1027,7 @@ export class NileSelect extends NileElement implements NileFormControl {
1012
1027
  @mouseup=${this.handleOptionClick}
1013
1028
  @slotchange=${this.handleDefaultSlotChange}
1014
1029
  >
1015
- ${this.searchEnabled
1030
+ ${this.searchEnabled
1016
1031
  ? html` <div class="select__search">
1017
1032
  <nile-input
1018
1033
  size="small"
@@ -1027,13 +1042,16 @@ export class NileSelect extends NileElement implements NileFormControl {
1027
1042
  </nile-input>
1028
1043
  </div>`
1029
1044
  : ``}
1030
- <div class="select__options">
1045
+ <div class="select__options">
1031
1046
  ${this.showNoResults
1032
- ? html` <div class="select__no-results">${this.noResultsMessage} </div>
1033
- `: ''}
1047
+ ? html`
1048
+ <div class="select__no-results">
1049
+ ${this.noResultsMessage}
1050
+ </div>
1051
+ `
1052
+ : ''}
1034
1053
  <slot></slot>
1035
- </div>
1036
-
1054
+ </div>
1037
1055
 
1038
1056
  ${this.multiple
1039
1057
  ? html` <div
@@ -1060,24 +1078,16 @@ export class NileSelect extends NileElement implements NileFormControl {
1060
1078
  </nile-popup>
1061
1079
  </div>
1062
1080
 
1063
- ${
1064
- hasHelpText
1065
- ? html`
1066
- <nile-form-help-text>${this.helpText}</nile-form-help-text>
1067
- `
1068
- : ``
1069
- }
1070
-
1071
- ${
1072
- hasErrorMessage
1073
- ? html`
1074
- <nile-form-error-message
1075
- >${this.errorMessage}</nile-form-error-message
1076
- >
1077
- `
1078
- : ``
1079
- }
1080
-
1081
+ ${hasHelpText
1082
+ ? html` <nile-form-help-text>${this.helpText}</nile-form-help-text> `
1083
+ : ``}
1084
+ ${hasErrorMessage
1085
+ ? html`
1086
+ <nile-form-error-message
1087
+ >${this.errorMessage}</nile-form-error-message
1088
+ >
1089
+ `
1090
+ : ``}
1081
1091
  </div>
1082
1092
  `;
1083
1093
  }