@aquera/nile-elements 1.5.5 → 1.5.6

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 (216) hide show
  1. package/README.md +4 -0
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.esm.js +1 -1
  4. package/dist/index.js +465 -238
  5. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js +1 -1
  6. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js.map +1 -1
  7. package/dist/nile-auto-complete/nile-auto-complete.css.esm.js +13 -2
  8. package/dist/nile-button/nile-button.cjs.js +1 -1
  9. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  10. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  11. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  12. package/dist/nile-button/nile-button.css.esm.js +89 -33
  13. package/dist/nile-button/nile-button.esm.js +2 -2
  14. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  15. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  16. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  17. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  18. package/dist/nile-calendar/nile-calendar.css.esm.js +59 -2
  19. package/dist/nile-calendar/nile-calendar.esm.js +16 -10
  20. package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
  21. package/dist/nile-checkbox/nile-checkbox.css.cjs.js.map +1 -1
  22. package/dist/nile-checkbox/nile-checkbox.css.esm.js +4 -5
  23. package/dist/nile-chip/nile-chip.css.cjs.js +1 -1
  24. package/dist/nile-chip/nile-chip.css.cjs.js.map +1 -1
  25. package/dist/nile-chip/nile-chip.css.esm.js +37 -23
  26. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  27. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  28. package/dist/nile-code-editor/nile-code-editor.css.cjs.js +1 -1
  29. package/dist/nile-code-editor/nile-code-editor.css.cjs.js.map +1 -1
  30. package/dist/nile-code-editor/nile-code-editor.css.esm.js +7 -6
  31. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
  32. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  33. package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
  34. package/dist/nile-date-picker/nile-date-picker.esm.js +4 -4
  35. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  36. package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
  37. package/dist/nile-dropdown/nile-dropdown.esm.js +1 -1
  38. package/dist/nile-file-upload/utils/file-validation.util.cjs.js +2 -2
  39. package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +1 -1
  40. package/dist/nile-file-upload/utils/file-validation.util.esm.js +1 -1
  41. package/dist/nile-filter-chip/nile-filter-chip.cjs.js +1 -1
  42. package/dist/nile-filter-chip/nile-filter-chip.cjs.js.map +1 -1
  43. package/dist/nile-filter-chip/nile-filter-chip.css.cjs.js +1 -1
  44. package/dist/nile-filter-chip/nile-filter-chip.css.cjs.js.map +1 -1
  45. package/dist/nile-filter-chip/nile-filter-chip.css.esm.js +24 -2
  46. package/dist/nile-filter-chip/nile-filter-chip.esm.js +2 -2
  47. package/dist/nile-inline-edit/nile-inline-edit.cjs.js +1 -1
  48. package/dist/nile-inline-edit/nile-inline-edit.cjs.js.map +1 -1
  49. package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js +1 -1
  50. package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js.map +1 -1
  51. package/dist/nile-inline-edit/nile-inline-edit.css.esm.js +15 -6
  52. package/dist/nile-inline-edit/nile-inline-edit.esm.js +2 -2
  53. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  54. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  55. package/dist/nile-input/nile-input.css.esm.js +4 -4
  56. package/dist/nile-link/nile-link.cjs.js +1 -1
  57. package/dist/nile-link/nile-link.cjs.js.map +1 -1
  58. package/dist/nile-link/nile-link.css.cjs.js +1 -1
  59. package/dist/nile-link/nile-link.css.cjs.js.map +1 -1
  60. package/dist/nile-link/nile-link.css.esm.js +3 -4
  61. package/dist/nile-link/nile-link.esm.js +2 -2
  62. package/dist/nile-qr-code/index.cjs.js +2 -0
  63. package/dist/nile-qr-code/index.cjs.js.map +1 -0
  64. package/dist/nile-qr-code/index.esm.js +1 -0
  65. package/dist/nile-qr-code/nile-qr-code-utils.cjs.js +2 -0
  66. package/dist/nile-qr-code/nile-qr-code-utils.cjs.js.map +1 -0
  67. package/dist/nile-qr-code/nile-qr-code-utils.esm.js +1 -0
  68. package/dist/nile-qr-code/nile-qr-code.cjs.js +2 -0
  69. package/dist/nile-qr-code/nile-qr-code.cjs.js.map +1 -0
  70. package/dist/nile-qr-code/nile-qr-code.css.cjs.js +2 -0
  71. package/dist/nile-qr-code/nile-qr-code.css.cjs.js.map +1 -0
  72. package/dist/nile-qr-code/nile-qr-code.css.esm.js +12 -0
  73. package/dist/nile-qr-code/nile-qr-code.esm.js +9 -0
  74. package/dist/nile-radio/nile-radio.css.cjs.js +1 -1
  75. package/dist/nile-radio/nile-radio.css.cjs.js.map +1 -1
  76. package/dist/nile-radio/nile-radio.css.esm.js +1 -1
  77. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
  78. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
  79. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
  80. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
  81. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +25 -6
  82. package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
  83. package/dist/nile-rich-text-editor/nile-rte-select.cjs.js +1 -1
  84. package/dist/nile-rich-text-editor/nile-rte-select.cjs.js.map +1 -1
  85. package/dist/nile-rich-text-editor/nile-rte-select.esm.js +4 -3
  86. package/dist/nile-select/nile-select.css.cjs.js +1 -1
  87. package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
  88. package/dist/nile-select/nile-select.css.esm.js +7 -4
  89. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js +1 -1
  90. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js.map +1 -1
  91. package/dist/nile-slide-toggle/nile-slide-toggle.css.esm.js +5 -1
  92. package/dist/nile-textarea/nile-textarea.css.cjs.js +1 -1
  93. package/dist/nile-textarea/nile-textarea.css.cjs.js.map +1 -1
  94. package/dist/nile-textarea/nile-textarea.css.esm.js +10 -5
  95. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  96. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  97. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +5 -3
  98. package/dist/src/index.d.ts +1 -0
  99. package/dist/src/index.js +1 -0
  100. package/dist/src/index.js.map +1 -1
  101. package/dist/src/nile-auto-complete/nile-auto-complete.css.js +11 -0
  102. package/dist/src/nile-auto-complete/nile-auto-complete.css.js.map +1 -1
  103. package/dist/src/nile-button/nile-button.css.js +89 -33
  104. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  105. package/dist/src/nile-button/nile-button.js +5 -5
  106. package/dist/src/nile-button/nile-button.js.map +1 -1
  107. package/dist/src/nile-calendar/nile-calendar.css.js +57 -0
  108. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  109. package/dist/src/nile-calendar/nile-calendar.d.ts +1 -0
  110. package/dist/src/nile-calendar/nile-calendar.js +24 -6
  111. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  112. package/dist/src/nile-checkbox/nile-checkbox.css.js +4 -5
  113. package/dist/src/nile-checkbox/nile-checkbox.css.js.map +1 -1
  114. package/dist/src/nile-chip/nile-chip.css.js +35 -21
  115. package/dist/src/nile-chip/nile-chip.css.js.map +1 -1
  116. package/dist/src/nile-code-editor/nile-code-editor.css.js +7 -6
  117. package/dist/src/nile-code-editor/nile-code-editor.css.js.map +1 -1
  118. package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -1
  119. package/dist/src/nile-code-editor/nile-code-editor.js +7 -1
  120. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  121. package/dist/src/nile-date-picker/nile-date-picker.d.ts +3 -0
  122. package/dist/src/nile-date-picker/nile-date-picker.js +22 -2
  123. package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
  124. package/dist/src/nile-dropdown/nile-dropdown.d.ts +1 -0
  125. package/dist/src/nile-dropdown/nile-dropdown.js +11 -0
  126. package/dist/src/nile-dropdown/nile-dropdown.js.map +1 -1
  127. package/dist/src/nile-file-upload/utils/file-validation.util.js +11 -6
  128. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
  129. package/dist/src/nile-filter-chip/nile-filter-chip.css.js +22 -0
  130. package/dist/src/nile-filter-chip/nile-filter-chip.css.js.map +1 -1
  131. package/dist/src/nile-filter-chip/nile-filter-chip.d.ts +1 -0
  132. package/dist/src/nile-filter-chip/nile-filter-chip.js +6 -0
  133. package/dist/src/nile-filter-chip/nile-filter-chip.js.map +1 -1
  134. package/dist/src/nile-inline-edit/nile-inline-edit.css.js +15 -6
  135. package/dist/src/nile-inline-edit/nile-inline-edit.css.js.map +1 -1
  136. package/dist/src/nile-inline-edit/nile-inline-edit.d.ts +2 -0
  137. package/dist/src/nile-inline-edit/nile-inline-edit.js +7 -0
  138. package/dist/src/nile-inline-edit/nile-inline-edit.js.map +1 -1
  139. package/dist/src/nile-input/nile-input.css.js +4 -4
  140. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  141. package/dist/src/nile-link/nile-link.css.js +1 -2
  142. package/dist/src/nile-link/nile-link.css.js.map +1 -1
  143. package/dist/src/nile-link/nile-link.js +1 -0
  144. package/dist/src/nile-link/nile-link.js.map +1 -1
  145. package/dist/src/nile-qr-code/index.d.ts +1 -0
  146. package/dist/src/nile-qr-code/index.js +2 -0
  147. package/dist/src/nile-qr-code/index.js.map +1 -0
  148. package/dist/src/nile-qr-code/nile-qr-code-utils.d.ts +15 -0
  149. package/dist/src/nile-qr-code/nile-qr-code-utils.js +678 -0
  150. package/dist/src/nile-qr-code/nile-qr-code-utils.js.map +1 -0
  151. package/dist/src/nile-qr-code/nile-qr-code.css.d.ts +12 -0
  152. package/dist/src/nile-qr-code/nile-qr-code.css.js +24 -0
  153. package/dist/src/nile-qr-code/nile-qr-code.css.js.map +1 -0
  154. package/dist/src/nile-qr-code/nile-qr-code.d.ts +127 -0
  155. package/dist/src/nile-qr-code/nile-qr-code.js +381 -0
  156. package/dist/src/nile-qr-code/nile-qr-code.js.map +1 -0
  157. package/dist/src/nile-qr-code/nile-qr-code.test.d.ts +1 -0
  158. package/dist/src/nile-qr-code/nile-qr-code.test.js +719 -0
  159. package/dist/src/nile-qr-code/nile-qr-code.test.js.map +1 -0
  160. package/dist/src/nile-radio/nile-radio.css.js +1 -1
  161. package/dist/src/nile-radio/nile-radio.css.js.map +1 -1
  162. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +25 -6
  163. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
  164. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +1 -0
  165. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +17 -6
  166. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
  167. package/dist/src/nile-rich-text-editor/nile-rte-select.d.ts +1 -0
  168. package/dist/src/nile-rich-text-editor/nile-rte-select.js +7 -2
  169. package/dist/src/nile-rich-text-editor/nile-rte-select.js.map +1 -1
  170. package/dist/src/nile-select/nile-select.css.js +7 -4
  171. package/dist/src/nile-select/nile-select.css.js.map +1 -1
  172. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js +5 -1
  173. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js.map +1 -1
  174. package/dist/src/nile-textarea/nile-textarea.css.js +10 -5
  175. package/dist/src/nile-textarea/nile-textarea.css.js.map +1 -1
  176. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +5 -3
  177. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  178. package/dist/src/version.js +1 -1
  179. package/dist/src/version.js.map +1 -1
  180. package/dist/tsconfig.tsbuildinfo +1 -1
  181. package/package.json +3 -2
  182. package/src/index.ts +2 -1
  183. package/src/nile-auto-complete/nile-auto-complete.css.ts +11 -0
  184. package/src/nile-button/nile-button.css.ts +89 -33
  185. package/src/nile-button/nile-button.ts +6 -5
  186. package/src/nile-calendar/nile-calendar.css.ts +57 -0
  187. package/src/nile-calendar/nile-calendar.ts +17 -6
  188. package/src/nile-checkbox/nile-checkbox.css.ts +4 -5
  189. package/src/nile-chip/nile-chip.css.ts +35 -21
  190. package/src/nile-code-editor/nile-code-editor.css.ts +7 -6
  191. package/src/nile-code-editor/nile-code-editor.ts +7 -1
  192. package/src/nile-date-picker/nile-date-picker.ts +22 -2
  193. package/src/nile-dropdown/nile-dropdown.ts +11 -0
  194. package/src/nile-file-upload/utils/file-validation.util.ts +10 -5
  195. package/src/nile-filter-chip/nile-filter-chip.css.ts +22 -0
  196. package/src/nile-filter-chip/nile-filter-chip.ts +2 -0
  197. package/src/nile-inline-edit/nile-inline-edit.css.ts +15 -6
  198. package/src/nile-inline-edit/nile-inline-edit.ts +4 -0
  199. package/src/nile-input/nile-input.css.ts +4 -4
  200. package/src/nile-link/nile-link.css.ts +1 -2
  201. package/src/nile-link/nile-link.ts +1 -0
  202. package/src/nile-qr-code/index.ts +1 -0
  203. package/src/nile-qr-code/nile-qr-code-utils.ts +733 -0
  204. package/src/nile-qr-code/nile-qr-code.css.ts +26 -0
  205. package/src/nile-qr-code/nile-qr-code.test.ts +879 -0
  206. package/src/nile-qr-code/nile-qr-code.ts +431 -0
  207. package/src/nile-radio/nile-radio.css.ts +1 -1
  208. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +25 -6
  209. package/src/nile-rich-text-editor/nile-rich-text-editor.ts +14 -6
  210. package/src/nile-rich-text-editor/nile-rte-select.ts +5 -2
  211. package/src/nile-select/nile-select.css.ts +7 -4
  212. package/src/nile-slide-toggle/nile-slide-toggle.css.ts +5 -1
  213. package/src/nile-textarea/nile-textarea.css.ts +10 -5
  214. package/src/nile-virtual-select/nile-virtual-select.css.ts +5 -3
  215. package/vscode-html-custom-data.json +108 -6
  216. package/web-test-runner.config.mjs +1 -1
@@ -62,7 +62,6 @@ export const styles = css `
62
62
  }
63
63
 
64
64
  .button--disabled {
65
- opacity: 0.5;
66
65
  cursor: not-allowed;
67
66
  }
68
67
 
@@ -118,18 +117,17 @@ export const styles = css `
118
117
  }
119
118
 
120
119
  .button--standard.button--primary.button--disabled {
121
- background-color: var(--nile-colors-neutral-700, var(--ng-colors-bg-disabled));
122
- border-color: var(--nile-colors-neutral-700, var(--ng-colors-border-disabled-subtle));
123
- color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));
120
+ background-color: var(--nile-colors-primary-500, var(--ng-colors-bg-disabled));
121
+ border-color: var(--nile-colors-primary-500, var(--ng-colors-border-disabled-subtle));
124
122
  cursor: not-allowed;
123
+ color: var(--nile-colors-white-base, var(--ng-colors-border-neutral));
125
124
  box-shadow: none;
126
125
  }
127
126
 
128
127
  .button--standard.button--primary.button--disabled:hover,
129
128
  .button--standard.button--primary.button--disabled:active {
130
- background-color: var(--nile-colors-neutral-700, var(--ng-colors-bg-disabled));
131
- border-color: var(--nile-colors-neutral-700, var(--ng-colors-border-disabled-subtle));
132
- color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));
129
+ background-color: var(--nile-colors-primary-500, var(--ng-colors-bg-disabled));
130
+ border-color: var(--nile-colors-primary-500, var(--ng-colors-border-disabled-subtle));
133
131
  cursor: not-allowed;
134
132
  }
135
133
 
@@ -165,7 +163,7 @@ export const styles = css `
165
163
  .button--standard.button--secondary.button--disabled {
166
164
  background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));
167
165
  border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled-subtle));
168
- color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));
166
+ color: var(--nile-colors-neutral-700, var(--ng-colors-fg-disabled));
169
167
  cursor: not-allowed;
170
168
  }
171
169
 
@@ -173,7 +171,7 @@ export const styles = css `
173
171
  .button--standard.button--secondary.button--disabled:active {
174
172
  background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));
175
173
  border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled-subtle));
176
- color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));
174
+ color: var(--nile-colors-neutral-700, var(--ng-colors-fg-disabled));
177
175
  cursor: not-allowed;
178
176
  }
179
177
 
@@ -207,7 +205,7 @@ export const styles = css `
207
205
  .button--standard.button--tertiary.button--disabled:hover,
208
206
  .button--standard.button--tertiary.button--disabled:active {
209
207
  background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
210
- border-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-primary));
208
+ border-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));
211
209
  color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));
212
210
  cursor: not-allowed;
213
211
  box-shadow: none;
@@ -253,31 +251,69 @@ export const styles = css `
253
251
 
254
252
  /* caution */
255
253
  .button--standard.button--caution {
256
- background-color: var(--nile-colors-red-500);
254
+ background-color: var(--nile-colors-red-500,var(--ng-colors-bg-error-solid));
257
255
  border-color: var(--nile-colors-red-500);
258
- color: var(--nile-colors-white-base);
256
+ color: var(--nile-colors-white-base, var(--ng-colors-text-white));
257
+ border-width: var(--nile-border-width-1, var(--ng-border-width-0));
258
+ border-style: var(--nile-border-style-solid, var(--ng-border-style-none));
259
259
  }
260
260
 
261
261
  .button--standard.button--caution:hover:not(.button--disabled) {
262
- background-color: var(--nile-colors-red-700);
262
+ background-color: var(--nile-colors-red-700,var( --ng-colors-bg-error-solid-hover));
263
263
  border-color: var(--nile-colors-red-700);
264
- color: var(--nile-colors-white-base);
264
+ color: var(--nile-colors-white-base, var(--ng-colors-text-white));
265
265
  }
266
266
 
267
+
268
+
267
269
  .button--standard.button--caution:active:not(.button--disabled) {
268
270
  background-color: var(--nile-colors-red-700);
269
- border-color: var(--nile-colors-red-700);
271
+ border-color: var(--nile-colors-red-700,var(--ng-border-style-none));
270
272
  color: var(--nile-colors-white-base);
271
273
  }
272
274
 
273
- .button--standard.button--caution.button--disabled,
274
- .button--standard.button--caution.button--disabled:hover,
275
- .button--standard.button--caution.button--disabled:active {
276
- background-color: var(--nile-colors-neutral-500);
277
- border-color: var(--nile-colors-neutral-500);
278
- color: var(--nile-colors-neutral-400);
275
+ .button--standard.button--caution:active:not(.button--disabled) {
276
+ background-color: var(--nile-colors-red-700, var(--ng-colors-bg-error-solid));
277
+ border-color: var(--nile-colors-dark-900, var(--ng-primary-standard));
278
+ color: var(--nile-colors-white-base, var(--ng-colors-text-white));
279
279
  }
280
280
 
281
+ .button--standard.button--caution {
282
+ position: relative;
283
+ overflow: hidden;
284
+ box-shadow: var(--nile-box-shadow-1, var(--ng-shadow-none));
285
+ }
286
+
287
+ .button--standard.button--caution::before {
288
+ content: "";
289
+ position: absolute;
290
+ inset: 0;
291
+ border-radius: inherit;
292
+ pointer-events: none;
293
+ background: var(--ng-skeuemorphic-gradient-border);
294
+ mask: var(--ng-mask-rim);
295
+ mask-composite: var(--ng-mask-composite-exclude);
296
+ padding: var(--ng-spacing-xxs);
297
+ }
298
+
299
+ .button--standard.button--caution::after {
300
+ content: "";
301
+ position: absolute;
302
+ inset: 0;
303
+ border-radius: inherit;
304
+ pointer-events: none;
305
+ box-shadow: var(--ng-shadow-xs-skeuomorphic);
306
+ }
307
+
308
+ .button.button--disabled {
309
+ box-shadow: none !important;
310
+ border-width: var(--nile-border-width-1, var(--ng-border-width-1)) !important;
311
+ }
312
+
313
+ .button.button--disabled::after {
314
+ box-shadow: none !important;
315
+ }
316
+
281
317
  /* destructive */
282
318
  .button--standard.button--destructive {
283
319
  position: relative;
@@ -320,8 +356,8 @@ export const styles = css `
320
356
  }
321
357
 
322
358
  .button--standard.button--destructive:active:not(.button--disabled) {
323
- background-color: var(--nile-colors-red-500, var(--ng-colors-bg-error-solid));
324
- border-color: var(--nile-colors-red-500, var(--ng-primary-standard));
359
+ background-color: var(--nile-colors-red-700, var(--ng-colors-bg-error-solid));
360
+ border-color: var(--nile-colors-dark-900, var(--ng-primary-standard));
325
361
  color: var(--nile-colors-white-base, var(--ng-colors-text-white));
326
362
  }
327
363
  .button--standard.button--destructive:focus-visible:not(.button--disabled) {
@@ -333,7 +369,7 @@ export const styles = css `
333
369
 
334
370
  .button--standard.button--destructive.button--disabled {
335
371
  background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled));
336
- border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled-subtle));
372
+ border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-border-disabled-subtle));
337
373
  color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));
338
374
  cursor: not-allowed;
339
375
  box-shadow: none;
@@ -346,12 +382,12 @@ export const styles = css `
346
382
  cursor: not-allowed;
347
383
  }
348
384
 
349
- .button--standard.button--destructive.button--disabled:hover {
350
- background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled));
351
- border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled-subtle));
352
- color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));
385
+ .button--standard.button--destructive.button--disabled:hover {
386
+ background-color: var(--nile-colors-red-400,var(--ng-colors-bg-disabled));
387
+ color: var(--nile-colors-white-base,var(--ng-colors-fg-disabled));
388
+ border-color: var(--nile-colors-red-400,var(--ng-colors-border-disabled-subtle));
353
389
  cursor: not-allowed;
354
- }
390
+ }
355
391
 
356
392
  /* secondary-Grey */
357
393
  .button--standard.button--secondary-grey {
@@ -440,7 +476,7 @@ export const styles = css `
440
476
  --nile-svg-fill: var(--nile-colors-white-base, var(--ng-componentcolors-components-button-primary-icon-hover)) !important;
441
477
  }
442
478
  .button--standard.button--primary.button--disabled ::slotted(nile-icon:not([color])) {
443
- --nile-svg-fill: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle)) !important;
479
+ --nile-svg-fill: var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle)) !important;
444
480
  }
445
481
 
446
482
  /* Secondary Variant */
@@ -468,7 +504,7 @@ export const styles = css `
468
504
  --nile-svg-fill: var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-hover)) !important;
469
505
  }
470
506
  .button--standard.button--tertiary.button--disabled ::slotted(nile-icon:not([color])) {
471
- --nile-svg-fill: var(--nile-colors-neutral-500, var(--ng-colors-fg-quaternary-400)) !important;
507
+ --nile-svg-fill: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle)) !important;
472
508
  }
473
509
 
474
510
  /* Ghost Variant */
@@ -493,11 +529,23 @@ export const styles = css `
493
529
  ::slotted(nile-icon:not([color])),
494
530
  .button--standard.button--caution:active:not(.button--disabled)
495
531
  ::slotted(nile-icon:not([color])) {
496
- --nile-svg-fill: var(--nile-colors-white-base) !important;
532
+ --nile-svg-fill: var(--nile-colors-white-base,var(--ng-componentcolors-components-button-destructive-primary-icon-hover)) !important;
533
+ }
534
+ .button--standard.button--caution.button--disabled{
535
+ background-color: var(--nile-colors-red-400,var(--ng-colors-bg-disabled));
536
+ color: var(--nile-colors-white-base,var(--ng-colors-fg-disabled));
537
+ border-color: var(--nile-colors-red-400,var(--ng-colors-border-disabled-subtle));
538
+ border-width: var(--ng-border-width-1, 1px);
539
+ border-style: var(--ng-border-style-solid, solid);
540
+ }
541
+
542
+ .button--standard.button--caution ::slotted(nile-icon:not([color])) {
543
+ --nile-svg-fill: var(--nile-colors-white-base,var(--ng-componentcolors-components-button-destructive-primary-icon)) !important;
497
544
  }
498
545
  .button--standard.button--caution.button--disabled ::slotted(nile-icon:not([color])) {
499
- --nile-svg-fill: var(--nile-colors-neutral-400) !important;
546
+ --nile-svg-fill: var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle)) !important;
500
547
  }
548
+
501
549
 
502
550
  /* destructive */
503
551
  .button--standard.button--destructive ::slotted(nile-icon:not([color])) {
@@ -513,6 +561,14 @@ export const styles = css `
513
561
  --nile-svg-fill: var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle)) !important;
514
562
  }
515
563
 
564
+ .button--standard.button--destructive.button--disabled{
565
+ background-color: var(--nile-colors-red-400,var(--ng-colors-bg-disabled));
566
+ color: var(--nile-colors-white-base,var(--ng-colors-fg-disabled));
567
+ border-color: var(--nile-colors-red-400,var(--ng-colors-border-disabled-subtle));
568
+ border-width: var(--ng-border-width-1, 1px);
569
+ border-style: var(--ng-border-style-solid, solid);
570
+ }
571
+
516
572
  /*
517
573
  * Outline buttons
518
574
  */
@@ -1 +1 @@
1
- {"version":3,"file":"nile-button.css.js","sourceRoot":"","sources":["../../../src/nile-button/nile-button.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8wBxB,CAAC","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 { css } from 'lit';\n\n/**\n * Button CSS\n */\nexport const styles = css`\n :host {\n display: inline-block;\n position: relative;\n width: auto;\n cursor: pointer;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-style: solid;\n border-width: var(--nile-border-size-1, var(--ng-border-width-1));\n font-style: normal;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n text-align: center;\n letter-spacing: 0.2px;\n text-decoration: none;\n user-select: none;\n white-space: nowrap;\n vertical-align: middle;\n transition: var(--nile-transition-duration-default, var(--ng-transition-duration-default)) background-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) border,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) box-shadow;\n cursor: inherit;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-semibold));\n border-radius: var(--nile-radius-base-standard, var(--ng-radius-md));\n padding: var(--nile-spacing-10px, var(--ng-spacing-md-alt)) var(--nile-spacing-14px, var(--ng-spacing-lg));\n gap: var(--nile-spacing-5px, var(--ng-spacing-xs));\n line-height: var(--nile-type-scale-6, var(--ng-spacing-5));\n box-sizing: border-box;\n height: var(--nile-height-40px, var(--ng-height-40px));\n }\n\n .button::-moz-focus-inner {\n border: 0;\n }\n\n .button:focus {\n outline: none;\n }\n\n .button:focus-visible {\n outline: var(--nile-outline-5px, --ng-outline-5px) auto var(--ng-colors-bg-brand-solid, -webkit-focus-ring-color);\n outline-offset: var(--ng-outline-2px, --ng-outline-4px);\n }\n\n .button--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .button--disabled * {\n pointer-events: none;\n }\n\n /* Primary */\n .button--standard.button--primary {\n position: relative;\n overflow: hidden; \n background-color: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n border-color: var(--nile-colors-primary-600);\n border-width: var(--nile-border-width-1, var(--ng-border-width-0));\n border-style: var(--nile-border-style-solid, var(--ng-border-style-none));\n box-shadow: var(--nile-textarea-standard-disabled-box-shadow, var(--ng-shadow-none));\n}\n\n.button--standard.button--primary::before {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n background: var(--ng-skeuemorphic-gradient-border);\n mask: var(--ng-mask-rim);\n mask-composite: var(--ng-mask-composite-exclude); \n padding: var(--ng-spacing-xxs); \n}\n\n \n.button--standard.button--primary::after {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n box-shadow: var(--ng-shadow-xs-skeuomorphic)\n}\n\n\n .button--standard.button--primary:hover:not(.button--disabled) {\n background-color: var(--nile-colors-primary-700, var(--ng-colors-bg-brand-solid-hover));\n border-color: var(--nile-colors-primary-700, var(--ng-primary-standard));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n }\n\n .button--standard.button--primary:active:not(.button--disabled) {\n background-color: var(--nile-colors-primary-700, var(--ng-colors-bg-brand-solid));\n border-color: var(--nile-colors-primary-900, var(--ng-primary-standard));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n }\n\n .button--standard.button--primary.button--disabled {\n background-color: var(--nile-colors-neutral-700, var(--ng-colors-bg-disabled));\n border-color: var(--nile-colors-neutral-700, var(--ng-colors-border-disabled-subtle));\n color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n box-shadow: none;\n }\n\n .button--standard.button--primary.button--disabled:hover,\n .button--standard.button--primary.button--disabled:active {\n background-color: var(--nile-colors-neutral-700, var(--ng-colors-bg-disabled));\n border-color: var(--nile-colors-neutral-700, var(--ng-colors-border-disabled-subtle));\n color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n }\n\n .button--standard.button--primary:focus-visible:not(.button--disabled) {\n background-color: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n border-color: var(--nile-colors-primary-600, var(--ng-primary-standard));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n box-shadow: var(--nile-box-shadow-none,var(--ng-focus-ring-shadow-xs-skeumorphic));\n }\n\n /* Secondary */\n .button--standard.button--secondary {\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-400, var(--ng-border-none));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-secondary-700));\n box-shadow: var(--nile-box-shadow-none,var(--ng-shadow-xs-skeuomorphic));\n border-width:var(--nile-border-width-1, var(--ng-border-width-0));\n border-style: var(--nile-border-style-solid, var(--ng-border-style-none));\n }\n\n .button--standard.button--secondary:hover:not(.button--disabled) {\n background-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-primary-hover));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-secondary-hover));\n }\n\n .button--standard.button--secondary:active:not(.button--disabled) {\n background-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-700, var(--ng-colors-border-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-secondary-700));\n }\n\n .button--standard.button--secondary.button--disabled {\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled-subtle));\n color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n }\n\n .button--standard.button--secondary.button--disabled:hover,\n .button--standard.button--secondary.button--disabled:active {\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled-subtle));\n color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n }\n\n .button--standard.button--secondary:focus-visible:not(.button--disabled) {\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-secondary-700));\n box-shadow: var(--nile-box-shadow-none,var(--ng-focus-ring-shadow-xs-skeumorphic));\n }\n\n /* Tertiary */\n .button--standard.button--tertiary {\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n }\n\n .button--standard.button--tertiary:hover:not(.button--disabled) {\n background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-primary-hover));\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-hover));\n }\n\n .button--standard.button--tertiary:active:not(.button--disabled) {\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-700, var(--ng-colors-bg-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n }\n\n .button--standard.button--tertiary.button--disabled,\n .button--standard.button--tertiary.button--disabled:hover,\n .button--standard.button--tertiary.button--disabled:active {\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-primary));\n color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n box-shadow: none;\n }\n\n .button--standard.button--tertiary:focus-visible:not(.button--disabled) {\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n box-shadow: var(--nile-box-shadow-none,var(--ng-focus-ring));\n }\n\n /* ghost */\n .button--standard.button--ghost {\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-color: var(--nile-border-color-transparent, var(--ng-colors-bg-primary)) ;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n }\n\n .button--standard.button--ghost:hover:not(.button--disabled) {\n background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-primary-hover));\n border-color: var(--nile-border-color-transparent, var(--ng-colors-bg-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-hover));\n }\n\n .button--standard.button--ghost:active:not(.button--disabled) {\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n border-color: var(--nile-border-color-transparent, var(--ng-colors-bg-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n }\n\n .button--standard.button--ghost.button--disabled,\n .button--standard.button--ghost.button--disabled:hover,\n .button--standard.button--ghost.button--disabled:active {\n border-color: var(--nile-border-color-transparent,var(--ng-colors-bg-primary));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n color: var(--nile-colors-neutral-500,var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n box-shadow: none;\n }\n\n \n\n /* caution */\n .button--standard.button--caution {\n background-color: var(--nile-colors-red-500);\n border-color: var(--nile-colors-red-500);\n color: var(--nile-colors-white-base);\n }\n\n .button--standard.button--caution:hover:not(.button--disabled) {\n background-color: var(--nile-colors-red-700);\n border-color: var(--nile-colors-red-700);\n color: var(--nile-colors-white-base);\n }\n\n .button--standard.button--caution:active:not(.button--disabled) {\n background-color: var(--nile-colors-red-700);\n border-color: var(--nile-colors-red-700);\n color: var(--nile-colors-white-base);\n }\n\n .button--standard.button--caution.button--disabled,\n .button--standard.button--caution.button--disabled:hover,\n .button--standard.button--caution.button--disabled:active {\n background-color: var(--nile-colors-neutral-500);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-neutral-400);\n }\n\n /* destructive */\n .button--standard.button--destructive {\n position: relative;\n overflow: hidden; \n background-color: var(--nile-colors-red-500, var(--ng-colors-bg-error-solid));\n border-color: var(--nile-colors-red-500);\n border-width: var(--nile-border-width-1, var(--ng-border-width-0));\n border-style: var(--nile-border-style-solid, var(--ng-border-style-none));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n box-shadow: var(--nile-box-shadow-1, var(--ng-shadow-none));\n }\n\n\n .button--standard.button--destructive::before {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n background: var(--ng-skeuemorphic-gradient-border);\n mask: var(--ng-mask-rim);\n mask-composite: var(--ng-mask-composite-exclude); \n padding: var(--ng-spacing-xxs); \n}\n\n \n.button--standard.button--destructive::after {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n box-shadow: var(--ng-shadow-xs-skeuomorphic)\n}\n\n .button--standard.button--destructive:hover:not(.button--disabled) {\n background-color: var(--nile-colors-red-700, var(--ng-colors-bg-error-solid-hover));\n border-color: var(--nile-colors-red-700, var(--ng-primary-standard));\n box-shadow: var(--nile-box-shadow-1, var(--ng-shadow-xs-skeuomorphic));\n }\n\n .button--standard.button--destructive:active:not(.button--disabled) {\n background-color: var(--nile-colors-red-500, var(--ng-colors-bg-error-solid));\n border-color: var(--nile-colors-red-500, var(--ng-primary-standard));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n }\n .button--standard.button--destructive:focus-visible:not(.button--disabled) {\n background-color: var(--nile-colors-red-500, var(--ng-colors-bg-error-solid));\n border-color: var(--nile-colors-red-500, var(--ng-primary-standard));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n box-shadow: var(--nile-box-shadow-none, var(--ng-focus-ring-error-shadow-xs-skeumorphic))\n }\n\n .button--standard.button--destructive.button--disabled {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled-subtle));\n color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n box-shadow: none;\n }\n\n .button--standard.button--destructive.button--disabled:active {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled));\n border-color: var(--nile-colors-neutral-400, var(--ng-primary-standard));\n color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n }\n\n .button--standard.button--destructive.button--disabled:hover {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled-subtle));\n color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n }\n\n /* secondary-Grey */\n .button--standard.button--secondary-grey {\n background-color: var(--nile-colors-white-base);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-primary-900);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n }\n\n .button--standard.button--secondary-grey:hover:not(.button--disabled) {\n background-color: var(--nile-colors-neutral-100);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-dark-900);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n }\n\n .button--standard.button--secondary-grey:active:not(.button--disabled) {\n background-color: var(--nile-colors-white-base);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-primary-900);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05),\n 0px 0px 0px 4px rgba(152, 162, 179, 0.14);\n }\n\n .button--standard.button--secondary-grey.button--disabled {\n background-color: var(--nile-colors-neutral-400);\n border-color: var(--nile-colors-neutral-700);\n color: var(--nile-colors-neutral-500);\n cursor: not-allowed;\n }\n\n .button--standard.button--secondary-grey.button--disabled:hover,\n .button--standard.button--secondary-grey.button--disabled:active {\n background-color: var(--nile-colors-neutral-400);\n border-color: var(--nile-colors-neutral-700);\n color: var(--nile-colors-neutral-500);\n cursor: not-allowed;\n }\n\n /* secondary-blue */\n .button--standard.button--secondary-blue {\n background-color: var(--nile-colors-white-base);\n border-color: var(--nile-colors-primary-500);\n color: var(--nile-colors-primary-700);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n }\n\n .button--standard.button--secondary-blue:hover:not(.button--disabled) {\n background-color: var(--nile-colors-blue-100);\n border-color: var(--nile-colors-primary-500);\n color: var(--nile-colors-primary-700);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n }\n\n .button--standard.button--secondary-blue:active:not(.button--disabled) {\n background-color: var(--nile-colors-white-base);\n border-color: var(--nile-colors-primary-500);\n color: var(--nile-colors-primary-700);\n box-shadow: 0px 1px 2px 0px rgba(0, 82, 145, 0.1),\n 0px 0px 0px 4px rgba(0, 94, 166, 0.15);\n }\n\n .button--standard.button--secondary-blue.button--disabled {\n background-color: var(--nile-colors-white-base);\n border-color: var(--nile-colors-neutral-400);\n color: var(--nile-colors-neutral-500);\n cursor: not-allowed;\n }\n\n .button--standard.button--secondary-blue.button--disabled:hover,\n .button--standard.button--secondary-blue.button--disabled:active {\n background-color: var(--nile-colors-white-base);\n border-color: var(--nile-colors-neutral-400);\n color: var(--nile-colors-neutral-500);\n cursor: not-allowed;\n }\n\n /* Primary Variant - Nile Icon Fill */\n .button--standard.button--primary ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base, var(--ng-componentcolors-components-button-primary-icon)) !important;\n }\n .button--standard.button--primary:hover:not(.button--disabled)\n ::slotted(nile-icon:not([color])),\n .button--standard.button--primary:active:not(.button--disabled)\n ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base, var(--ng-componentcolors-components-button-primary-icon-hover)) !important;\n }\n .button--standard.button--primary.button--disabled ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle)) !important;\n }\n\n /* Secondary Variant */\n .button--standard.button--secondary ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400)) !important;\n }\n .button--standard.button--secondary:hover:not(.button--disabled)\n ::slotted(nile-icon:not([color])),\n .button--standard.button--secondary:active:not(.button--disabled)\n ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-hover)) !important;\n }\n .button--standard.button--secondary.button--disabled ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled-subtle)) !important;\n }\n\n /* Tertiary Variant */\n .button--standard.button--tertiary ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400)) !important;\n }\n .button--standard.button--tertiary:hover:not(.button--disabled)\n ::slotted(nile-icon:not([color])),\n .button--standard.button--tertiary:active:not(.button--disabled)\n ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-hover)) !important;\n }\n .button--standard.button--tertiary.button--disabled ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-neutral-500, var(--ng-colors-fg-quaternary-400)) !important;\n }\n\n /* Ghost Variant */\n .button--standard.button--ghost ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-900) !important;\n }\n .button--standard.button--ghost:hover:not(.button--disabled)\n ::slotted(nile-icon:not([color])),\n .button--standard.button--ghost:active:not(.button--disabled)\n ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-900) !important;\n }\n .button--standard.button--ghost ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-neutral-500) !important;\n }\n\n /* Caution Variant */\n .button--standard.button--caution ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base) !important;\n }\n .button--standard.button--caution:hover:not(.button--disabled)\n ::slotted(nile-icon:not([color])),\n .button--standard.button--caution:active:not(.button--disabled)\n ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base) !important;\n }\n .button--standard.button--caution.button--disabled ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-neutral-400) !important;\n }\n\n /* destructive */\n .button--standard.button--destructive ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base, var(--ng-componentcolors-components-button-destructive-primary-icon)) !important;\n }\n .button--standard.button--destructive:hover:not(.button--disabled)\n ::slotted(nile-icon:not([color])),\n .button--standard.button--caution:active:not(.button--disabled)\n ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base, var(--ng-componentcolors-components-button-destructive-primary-icon-hover)) !important;\n }\n .button--standard.button--destructive.button--disabled ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle)) !important;\n }\n\n /*\n * Outline buttons\n */\n\n .button--outline {\n background: none;\n border: solid 2px;\n }\n\n /* Default */\n .button--outline.button--secondary {\n border-color: var(--nile-colors-neutral-300);\n color: var(--nile-colors-neutral-700);\n }\n\n .button--outline.button--secondary:hover:not(.button--disabled),\n .button--outline.button--secondary.button--checked:not(.button--disabled) {\n border-color: var(--nile-colors-primary-600);\n color: var(--nile-colors-white-base);\n }\n\n .button--outline.button--secondary:active:not(.button--disabled) {\n border-color: var(--nile-colors-neutral-700);\n color: var(--nile-colors-white-base);\n }\n\n /* Primary */\n .button--outline.button--primary {\n border-color: var(--nile-colors-primary-600);\n color: var(--nile-colors-primary-600);\n }\n\n .button--outline.button--primary:hover:not(.button--disabled),\n .button--outline.button--primary.button--checked:not(.button--disabled) {\n color: var(--nile-colors-white-base);\n }\n\n .button--outline.button--primary:active:not(.button--disabled) {\n border-color: var(--nile-colors-primary-700);\n color: var(--nile-colors-white-base);\n }\n\n /* Success */\n .button--outline.button--success {\n border-color: var(--nile-colors-green-600);\n color: var(--nile-colors-green-600);\n }\n\n .button--outline.button--success:hover:not(.button--disabled),\n .button--outline.button--success.button--checked:not(.button--disabled) {\n color: var(--nile-colors-white-base);\n }\n\n .button--outline.button--success:active:not(.button--disabled) {\n border-color: var(--nile-colors-green-700);\n color: var(--nile-colors-white-base);\n }\n\n /* Neutral */\n .button--outline.button--neutral {\n border-color: var(--nile-colors-neutral-600);\n color: var(--nile-colors-neutral-600);\n }\n\n .button--outline.button--neutral:hover:not(.button--disabled),\n .button--outline.button--neutral.button--checked:not(.button--disabled) {\n color: var(--nile-colors-white-base);\n }\n\n .button--outline.button--neutral:active:not(.button--disabled) {\n border-color: var(--nile-colors-neutral-700);\n color: var(--nile-colors-white-base);\n }\n\n /* Warning */\n .button--outline.button--warning {\n border-color: var(--nile-colors-orange-600);\n color: var(--nile-colors-orange-600);\n }\n\n .button--outline.button--warning:hover:not(.button--disabled),\n .button--outline.button--warning.button--checked:not(.button--disabled) {\n color: var(--nile-colors-white-base);\n }\n\n .button--outline.button--warning:active:not(.button--disabled) {\n border-color: var(--nile-colors-orange-700);\n color: var(--nile-colors-white-base);\n }\n\n /* Danger */\n .button--outline.button--danger {\n border-color: var(--nile-colors-red-600);\n color: var(--nile-colors-red-600);\n }\n\n .button--outline.button--danger:hover:not(.button--disabled),\n .button--outline.button--danger.button--checked:not(.button--disabled) {\n background-color: var(--nile-colors-red-600);\n color: var(--nile-colors-white-base);\n }\n\n .button--outline.button--danger:active:not(.button--disabled) {\n border-color: var(--nile-colors-red-700);\n background-color: var(--nile-colors-red-700);\n color: var(--nile-colors-white-base);\n }\n\n /* destructive */\n .button--outline.button--destructive {\n border-color: var(--nile-colors-red-400, var(--ng-colors-effects-focus-ring-error));\n color: var(--nile-colors-red-700);\n box-shadow: 0px;\n }\n\n .button--outline.button--destructive:hover:not(.button--disabled),\n .button--outline.button--destructive.button--checked:not(.button--disabled) {\n border-color: var(--nile-colors-red-400);\n color: var(--nile-colors-red-700);\n background-color: var(--nile-colors-red-100);\n }\n\n .button--outline.button--destructive:active:not(.button--disabled) {\n border-color: var(--nile-colors-red-400);\n color: var(--nile-colors-red-700);\n background-color: var(--nile-colors-white-base);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05),\n 0px 0px 0px 4px rgba(240, 68, 56, 0.24);\n }\n\n /* destructive - focus-visible */\n .button--outline.button--destructive:focus-visible:not(.button--disabled) {\n border-color: var(--nile-colors-red-400, var(--ng-colors-effects-focus-ring-error));\n color: var(--nile-colors-red-700);\n background-color: var(--nile-colors-white-base);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05),\n 0px 0px 0px 4px rgba(240, 68, 56, 0.24);\n }\n\n /* secondary-grey */\n .button--outline.button--secondary-grey {\n box-shadow: 0px;\n }\n\n .button--outline.button--secondary-grey:hover:not(.button--disabled),\n .button--outline.button--secondary-grey.button--checked:not(\n .button--disabled\n ) {\n color: var(--nile-colors-primary-900);\n background-color: var(--nile-colors-neutral-100);\n }\n\n .button--outline.button--secondary-grey:active:not(.button--disabled) {\n box-shadow: 0px;\n }\n\n .button--outline.button--secondary-grey:focus-visible:not(.button--disabled) {\n box-shadow: 0px;\n }\n\n /* secondary-blue */\n .button--outline.button--secondary-blue {\n box-shadow: 0px;\n }\n\n .button--outline.button--secondary-blue:hover:not(.button--disabled),\n .button--outline.button--secondary-blue.button--checked:not(\n .button--disabled\n ) {\n color: var(--nile-colors-primary-700);\n background-color: var(--nile-colors-blue-100);\n }\n\n .button--outline.button--secondary-blue:active:not(.button--disabled) {\n box-shadow: 0px;\n }\n\n .button--outline.button--secondary-blue:focus-visible:not(.button--disabled) {\n box-shadow: 0px;\n }\n\n @media (forced-colors: active) {\n .button.button--outline.button--checked:not(.button--disabled) {\n outline: solid 2px transparent;\n }\n }\n\n /*\n * Pill modifier\n */\n\n .button--pill.button--small {\n border-radius: var(--nile-radius-2xl);\n }\n\n .button--pill.button--medium {\n border-radius: var(--nile-radius-2xl);\n }\n\n /*\n * Circle modifier\n */\n\n .button--circle {\n padding-left: var(--nile-spacing-none);\n padding-right: var(--nile-spacing-none);\n }\n\n .button--circle.button--small {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n }\n\n .button--circle.button--medium {\n width: 38px;\n height: 38px;\n border-radius: 50%;\n }\n\n .button--circle .button__prefix,\n .button--circle .button__suffix,\n .button--circle .button__caret {\n display: none;\n }\n\n /* Caret modifier */\n\n .button--caret .button__suffix {\n display: none;\n }\n\n .button--caret .button__caret {\n height: auto;\n }\n\n /*\n * Loading modifier\n */\n\n .button--loading {\n position: relative;\n cursor: wait;\n }\n\n .button--loading .button__prefix,\n .button--loading .button__label,\n .button--loading .button__suffix,\n .button--loading .button__caret {\n visibility: hidden;\n }\n\n .button--loading nile-spinner {\n --indicator-color: currentColor;\n position: absolute;\n font-size: var(--nile-type-scale-3);\n height: 1em;\n width: 1em;\n top: calc(50% - 0.5em);\n left: calc(50% - 0.5em);\n }\n /*\n * Badges\n */\n\n .button ::slotted(nile-badge) {\n position: absolute;\n top: 0;\n right: 0;\n translate: 50% -50%;\n pointer-events: none;\n }\n\n /* outline with no border */\n .button--outline.button--hideborder {\n border: 0px;\n }\n`;\n"]}
1
+ {"version":3,"file":"nile-button.css.js","sourceRoot":"","sources":["../../../src/nile-button/nile-button.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAs0BxB,CAAC","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 { css } from 'lit';\n\n/**\n * Button CSS\n */\nexport const styles = css`\n :host {\n display: inline-block;\n position: relative;\n width: auto;\n cursor: pointer;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-style: solid;\n border-width: var(--nile-border-size-1, var(--ng-border-width-1));\n font-style: normal;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n text-align: center;\n letter-spacing: 0.2px;\n text-decoration: none;\n user-select: none;\n white-space: nowrap;\n vertical-align: middle;\n transition: var(--nile-transition-duration-default, var(--ng-transition-duration-default)) background-color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) color,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) border,\n var(--nile-transition-duration-default, var(--ng-transition-duration-default)) box-shadow;\n cursor: inherit;\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-semibold));\n border-radius: var(--nile-radius-base-standard, var(--ng-radius-md));\n padding: var(--nile-spacing-10px, var(--ng-spacing-md-alt)) var(--nile-spacing-14px, var(--ng-spacing-lg));\n gap: var(--nile-spacing-5px, var(--ng-spacing-xs));\n line-height: var(--nile-type-scale-6, var(--ng-spacing-5));\n box-sizing: border-box;\n height: var(--nile-height-40px, var(--ng-height-40px));\n }\n\n .button::-moz-focus-inner {\n border: 0;\n }\n\n .button:focus {\n outline: none;\n }\n\n .button:focus-visible {\n outline: var(--nile-outline-5px, --ng-outline-5px) auto var(--ng-colors-bg-brand-solid, -webkit-focus-ring-color);\n outline-offset: var(--ng-outline-2px, --ng-outline-4px);\n }\n\n .button--disabled {\n cursor: not-allowed;\n }\n\n .button--disabled * {\n pointer-events: none;\n }\n\n /* Primary */\n .button--standard.button--primary {\n position: relative;\n overflow: hidden; \n background-color: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n border-color: var(--nile-colors-primary-600);\n border-width: var(--nile-border-width-1, var(--ng-border-width-0));\n border-style: var(--nile-border-style-solid, var(--ng-border-style-none));\n box-shadow: var(--nile-textarea-standard-disabled-box-shadow, var(--ng-shadow-none));\n}\n\n.button--standard.button--primary::before {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n background: var(--ng-skeuemorphic-gradient-border);\n mask: var(--ng-mask-rim);\n mask-composite: var(--ng-mask-composite-exclude); \n padding: var(--ng-spacing-xxs); \n}\n\n \n.button--standard.button--primary::after {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n box-shadow: var(--ng-shadow-xs-skeuomorphic)\n}\n\n\n .button--standard.button--primary:hover:not(.button--disabled) {\n background-color: var(--nile-colors-primary-700, var(--ng-colors-bg-brand-solid-hover));\n border-color: var(--nile-colors-primary-700, var(--ng-primary-standard));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n }\n\n .button--standard.button--primary:active:not(.button--disabled) {\n background-color: var(--nile-colors-primary-700, var(--ng-colors-bg-brand-solid));\n border-color: var(--nile-colors-primary-900, var(--ng-primary-standard));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n }\n\n .button--standard.button--primary.button--disabled {\n background-color: var(--nile-colors-primary-500, var(--ng-colors-bg-disabled));\n border-color: var(--nile-colors-primary-500, var(--ng-colors-border-disabled-subtle));\n cursor: not-allowed;\n color: var(--nile-colors-white-base, var(--ng-colors-border-neutral));\n box-shadow: none;\n }\n\n .button--standard.button--primary.button--disabled:hover,\n .button--standard.button--primary.button--disabled:active {\n background-color: var(--nile-colors-primary-500, var(--ng-colors-bg-disabled));\n border-color: var(--nile-colors-primary-500, var(--ng-colors-border-disabled-subtle));\n cursor: not-allowed;\n }\n\n .button--standard.button--primary:focus-visible:not(.button--disabled) {\n background-color: var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));\n border-color: var(--nile-colors-primary-600, var(--ng-primary-standard));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n box-shadow: var(--nile-box-shadow-none,var(--ng-focus-ring-shadow-xs-skeumorphic));\n }\n\n /* Secondary */\n .button--standard.button--secondary {\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-400, var(--ng-border-none));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-secondary-700));\n box-shadow: var(--nile-box-shadow-none,var(--ng-shadow-xs-skeuomorphic));\n border-width:var(--nile-border-width-1, var(--ng-border-width-0));\n border-style: var(--nile-border-style-solid, var(--ng-border-style-none));\n }\n\n .button--standard.button--secondary:hover:not(.button--disabled) {\n background-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-primary-hover));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-secondary-hover));\n }\n\n .button--standard.button--secondary:active:not(.button--disabled) {\n background-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-700, var(--ng-colors-border-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-secondary-700));\n }\n\n .button--standard.button--secondary.button--disabled {\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled-subtle));\n color: var(--nile-colors-neutral-700, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n }\n\n .button--standard.button--secondary.button--disabled:hover,\n .button--standard.button--secondary.button--disabled:active {\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled-subtle));\n color: var(--nile-colors-neutral-700, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n }\n\n .button--standard.button--secondary:focus-visible:not(.button--disabled) {\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-secondary-700));\n box-shadow: var(--nile-box-shadow-none,var(--ng-focus-ring-shadow-xs-skeumorphic));\n }\n\n /* Tertiary */\n .button--standard.button--tertiary {\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n }\n\n .button--standard.button--tertiary:hover:not(.button--disabled) {\n background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-primary-hover));\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-hover));\n }\n\n .button--standard.button--tertiary:active:not(.button--disabled) {\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-700, var(--ng-colors-bg-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n }\n\n .button--standard.button--tertiary.button--disabled,\n .button--standard.button--tertiary.button--disabled:hover,\n .button--standard.button--tertiary.button--disabled:active {\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n box-shadow: none;\n }\n\n .button--standard.button--tertiary:focus-visible:not(.button--disabled) {\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n box-shadow: var(--nile-box-shadow-none,var(--ng-focus-ring));\n }\n\n /* ghost */\n .button--standard.button--ghost {\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-color: var(--nile-border-color-transparent, var(--ng-colors-bg-primary)) ;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n }\n\n .button--standard.button--ghost:hover:not(.button--disabled) {\n background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-primary-hover));\n border-color: var(--nile-border-color-transparent, var(--ng-colors-bg-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-hover));\n }\n\n .button--standard.button--ghost:active:not(.button--disabled) {\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-bg-primary));\n border-color: var(--nile-border-color-transparent, var(--ng-colors-bg-primary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n }\n\n .button--standard.button--ghost.button--disabled,\n .button--standard.button--ghost.button--disabled:hover,\n .button--standard.button--ghost.button--disabled:active {\n border-color: var(--nile-border-color-transparent,var(--ng-colors-bg-primary));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n color: var(--nile-colors-neutral-500,var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n box-shadow: none;\n }\n\n \n\n /* caution */\n .button--standard.button--caution {\n background-color: var(--nile-colors-red-500,var(--ng-colors-bg-error-solid));\n border-color: var(--nile-colors-red-500);\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n border-width: var(--nile-border-width-1, var(--ng-border-width-0));\n border-style: var(--nile-border-style-solid, var(--ng-border-style-none));\n }\n\n .button--standard.button--caution:hover:not(.button--disabled) {\n background-color: var(--nile-colors-red-700,var( --ng-colors-bg-error-solid-hover));\n border-color: var(--nile-colors-red-700);\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n }\n\n\n\n .button--standard.button--caution:active:not(.button--disabled) {\n background-color: var(--nile-colors-red-700);\n border-color: var(--nile-colors-red-700,var(--ng-border-style-none));\n color: var(--nile-colors-white-base);\n }\n\n .button--standard.button--caution:active:not(.button--disabled) {\n background-color: var(--nile-colors-red-700, var(--ng-colors-bg-error-solid));\n border-color: var(--nile-colors-dark-900, var(--ng-primary-standard));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n }\n\n .button--standard.button--caution {\n position: relative;\n overflow: hidden;\n box-shadow: var(--nile-box-shadow-1, var(--ng-shadow-none));\n}\n\n.button--standard.button--caution::before {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n background: var(--ng-skeuemorphic-gradient-border);\n mask: var(--ng-mask-rim);\n mask-composite: var(--ng-mask-composite-exclude);\n padding: var(--ng-spacing-xxs);\n}\n\n.button--standard.button--caution::after {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n box-shadow: var(--ng-shadow-xs-skeuomorphic);\n}\n\n.button.button--disabled {\n box-shadow: none !important;\n border-width: var(--nile-border-width-1, var(--ng-border-width-1)) !important;\n}\n\n.button.button--disabled::after {\n box-shadow: none !important;\n}\n\n /* destructive */\n .button--standard.button--destructive {\n position: relative;\n overflow: hidden; \n background-color: var(--nile-colors-red-500, var(--ng-colors-bg-error-solid));\n border-color: var(--nile-colors-red-500);\n border-width: var(--nile-border-width-1, var(--ng-border-width-0));\n border-style: var(--nile-border-style-solid, var(--ng-border-style-none));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n box-shadow: var(--nile-box-shadow-1, var(--ng-shadow-none));\n }\n\n\n .button--standard.button--destructive::before {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n background: var(--ng-skeuemorphic-gradient-border);\n mask: var(--ng-mask-rim);\n mask-composite: var(--ng-mask-composite-exclude); \n padding: var(--ng-spacing-xxs); \n}\n\n \n.button--standard.button--destructive::after {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n box-shadow: var(--ng-shadow-xs-skeuomorphic)\n}\n\n .button--standard.button--destructive:hover:not(.button--disabled) {\n background-color: var(--nile-colors-red-700, var(--ng-colors-bg-error-solid-hover));\n border-color: var(--nile-colors-red-700, var(--ng-primary-standard));\n box-shadow: var(--nile-box-shadow-1, var(--ng-shadow-xs-skeuomorphic));\n }\n\n .button--standard.button--destructive:active:not(.button--disabled) {\n background-color: var(--nile-colors-red-700, var(--ng-colors-bg-error-solid));\n border-color: var(--nile-colors-dark-900, var(--ng-primary-standard));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n }\n .button--standard.button--destructive:focus-visible:not(.button--disabled) {\n background-color: var(--nile-colors-red-500, var(--ng-colors-bg-error-solid));\n border-color: var(--nile-colors-red-500, var(--ng-primary-standard));\n color: var(--nile-colors-white-base, var(--ng-colors-text-white));\n box-shadow: var(--nile-box-shadow-none, var(--ng-focus-ring-error-shadow-xs-skeumorphic))\n }\n\n .button--standard.button--destructive.button--disabled {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled));\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-border-disabled-subtle));\n color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n box-shadow: none;\n }\n\n .button--standard.button--destructive.button--disabled:active {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled));\n border-color: var(--nile-colors-neutral-400, var(--ng-primary-standard));\n color: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled));\n cursor: not-allowed;\n }\n\n .button--standard.button--destructive.button--disabled:hover {\n background-color: var(--nile-colors-red-400,var(--ng-colors-bg-disabled));\n color: var(--nile-colors-white-base,var(--ng-colors-fg-disabled));\n border-color: var(--nile-colors-red-400,var(--ng-colors-border-disabled-subtle));\n cursor: not-allowed;\n } \n\n /* secondary-Grey */\n .button--standard.button--secondary-grey {\n background-color: var(--nile-colors-white-base);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-primary-900);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n }\n\n .button--standard.button--secondary-grey:hover:not(.button--disabled) {\n background-color: var(--nile-colors-neutral-100);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-dark-900);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n }\n\n .button--standard.button--secondary-grey:active:not(.button--disabled) {\n background-color: var(--nile-colors-white-base);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-primary-900);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05),\n 0px 0px 0px 4px rgba(152, 162, 179, 0.14);\n }\n\n .button--standard.button--secondary-grey.button--disabled {\n background-color: var(--nile-colors-neutral-400);\n border-color: var(--nile-colors-neutral-700);\n color: var(--nile-colors-neutral-500);\n cursor: not-allowed;\n }\n\n .button--standard.button--secondary-grey.button--disabled:hover,\n .button--standard.button--secondary-grey.button--disabled:active {\n background-color: var(--nile-colors-neutral-400);\n border-color: var(--nile-colors-neutral-700);\n color: var(--nile-colors-neutral-500);\n cursor: not-allowed;\n }\n\n /* secondary-blue */\n .button--standard.button--secondary-blue {\n background-color: var(--nile-colors-white-base);\n border-color: var(--nile-colors-primary-500);\n color: var(--nile-colors-primary-700);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n }\n\n .button--standard.button--secondary-blue:hover:not(.button--disabled) {\n background-color: var(--nile-colors-blue-100);\n border-color: var(--nile-colors-primary-500);\n color: var(--nile-colors-primary-700);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\n }\n\n .button--standard.button--secondary-blue:active:not(.button--disabled) {\n background-color: var(--nile-colors-white-base);\n border-color: var(--nile-colors-primary-500);\n color: var(--nile-colors-primary-700);\n box-shadow: 0px 1px 2px 0px rgba(0, 82, 145, 0.1),\n 0px 0px 0px 4px rgba(0, 94, 166, 0.15);\n }\n\n .button--standard.button--secondary-blue.button--disabled {\n background-color: var(--nile-colors-white-base);\n border-color: var(--nile-colors-neutral-400);\n color: var(--nile-colors-neutral-500);\n cursor: not-allowed;\n }\n\n .button--standard.button--secondary-blue.button--disabled:hover,\n .button--standard.button--secondary-blue.button--disabled:active {\n background-color: var(--nile-colors-white-base);\n border-color: var(--nile-colors-neutral-400);\n color: var(--nile-colors-neutral-500);\n cursor: not-allowed;\n }\n\n /* Primary Variant - Nile Icon Fill */\n .button--standard.button--primary ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base, var(--ng-componentcolors-components-button-primary-icon)) !important;\n }\n .button--standard.button--primary:hover:not(.button--disabled)\n ::slotted(nile-icon:not([color])),\n .button--standard.button--primary:active:not(.button--disabled)\n ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base, var(--ng-componentcolors-components-button-primary-icon-hover)) !important;\n }\n .button--standard.button--primary.button--disabled ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle)) !important;\n }\n\n /* Secondary Variant */\n .button--standard.button--secondary ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400)) !important;\n }\n .button--standard.button--secondary:hover:not(.button--disabled)\n ::slotted(nile-icon:not([color])),\n .button--standard.button--secondary:active:not(.button--disabled)\n ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-hover)) !important;\n }\n .button--standard.button--secondary.button--disabled ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled-subtle)) !important;\n }\n\n /* Tertiary Variant */\n .button--standard.button--tertiary ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400)) !important;\n }\n .button--standard.button--tertiary:hover:not(.button--disabled)\n ::slotted(nile-icon:not([color])),\n .button--standard.button--tertiary:active:not(.button--disabled)\n ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-hover)) !important;\n }\n .button--standard.button--tertiary.button--disabled ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle)) !important;\n }\n\n /* Ghost Variant */\n .button--standard.button--ghost ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-900) !important;\n }\n .button--standard.button--ghost:hover:not(.button--disabled)\n ::slotted(nile-icon:not([color])),\n .button--standard.button--ghost:active:not(.button--disabled)\n ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-dark-900) !important;\n }\n .button--standard.button--ghost ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-neutral-500) !important;\n }\n\n /* Caution Variant */\n .button--standard.button--caution ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base) !important;\n }\n .button--standard.button--caution:hover:not(.button--disabled)\n ::slotted(nile-icon:not([color])),\n .button--standard.button--caution:active:not(.button--disabled)\n ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base,var(--ng-componentcolors-components-button-destructive-primary-icon-hover)) !important;\n }\n .button--standard.button--caution.button--disabled{\n background-color: var(--nile-colors-red-400,var(--ng-colors-bg-disabled));\n color: var(--nile-colors-white-base,var(--ng-colors-fg-disabled));\n border-color: var(--nile-colors-red-400,var(--ng-colors-border-disabled-subtle));\n border-width: var(--ng-border-width-1, 1px);\n border-style: var(--ng-border-style-solid, solid);\n }\n\n .button--standard.button--caution ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base,var(--ng-componentcolors-components-button-destructive-primary-icon)) !important;\n }\n .button--standard.button--caution.button--disabled ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle)) !important;\n }\n \n\n /* destructive */\n .button--standard.button--destructive ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base, var(--ng-componentcolors-components-button-destructive-primary-icon)) !important;\n }\n .button--standard.button--destructive:hover:not(.button--disabled)\n ::slotted(nile-icon:not([color])),\n .button--standard.button--caution:active:not(.button--disabled)\n ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base, var(--ng-componentcolors-components-button-destructive-primary-icon-hover)) !important;\n }\n .button--standard.button--destructive.button--disabled ::slotted(nile-icon:not([color])) {\n --nile-svg-fill: var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle)) !important;\n }\n\n .button--standard.button--destructive.button--disabled{\n background-color: var(--nile-colors-red-400,var(--ng-colors-bg-disabled));\n color: var(--nile-colors-white-base,var(--ng-colors-fg-disabled));\n border-color: var(--nile-colors-red-400,var(--ng-colors-border-disabled-subtle));\n border-width: var(--ng-border-width-1, 1px);\n border-style: var(--ng-border-style-solid, solid);\n }\n\n /*\n * Outline buttons\n */\n\n .button--outline {\n background: none;\n border: solid 2px;\n }\n\n /* Default */\n .button--outline.button--secondary {\n border-color: var(--nile-colors-neutral-300);\n color: var(--nile-colors-neutral-700);\n }\n\n .button--outline.button--secondary:hover:not(.button--disabled),\n .button--outline.button--secondary.button--checked:not(.button--disabled) {\n border-color: var(--nile-colors-primary-600);\n color: var(--nile-colors-white-base);\n }\n\n .button--outline.button--secondary:active:not(.button--disabled) {\n border-color: var(--nile-colors-neutral-700);\n color: var(--nile-colors-white-base);\n }\n\n /* Primary */\n .button--outline.button--primary {\n border-color: var(--nile-colors-primary-600);\n color: var(--nile-colors-primary-600);\n }\n\n .button--outline.button--primary:hover:not(.button--disabled),\n .button--outline.button--primary.button--checked:not(.button--disabled) {\n color: var(--nile-colors-white-base);\n }\n\n .button--outline.button--primary:active:not(.button--disabled) {\n border-color: var(--nile-colors-primary-700);\n color: var(--nile-colors-white-base);\n }\n\n /* Success */\n .button--outline.button--success {\n border-color: var(--nile-colors-green-600);\n color: var(--nile-colors-green-600);\n }\n\n .button--outline.button--success:hover:not(.button--disabled),\n .button--outline.button--success.button--checked:not(.button--disabled) {\n color: var(--nile-colors-white-base);\n }\n\n .button--outline.button--success:active:not(.button--disabled) {\n border-color: var(--nile-colors-green-700);\n color: var(--nile-colors-white-base);\n }\n\n /* Neutral */\n .button--outline.button--neutral {\n border-color: var(--nile-colors-neutral-600);\n color: var(--nile-colors-neutral-600);\n }\n\n .button--outline.button--neutral:hover:not(.button--disabled),\n .button--outline.button--neutral.button--checked:not(.button--disabled) {\n color: var(--nile-colors-white-base);\n }\n\n .button--outline.button--neutral:active:not(.button--disabled) {\n border-color: var(--nile-colors-neutral-700);\n color: var(--nile-colors-white-base);\n }\n\n /* Warning */\n .button--outline.button--warning {\n border-color: var(--nile-colors-orange-600);\n color: var(--nile-colors-orange-600);\n }\n\n .button--outline.button--warning:hover:not(.button--disabled),\n .button--outline.button--warning.button--checked:not(.button--disabled) {\n color: var(--nile-colors-white-base);\n }\n\n .button--outline.button--warning:active:not(.button--disabled) {\n border-color: var(--nile-colors-orange-700);\n color: var(--nile-colors-white-base);\n }\n\n /* Danger */\n .button--outline.button--danger {\n border-color: var(--nile-colors-red-600);\n color: var(--nile-colors-red-600);\n }\n\n .button--outline.button--danger:hover:not(.button--disabled),\n .button--outline.button--danger.button--checked:not(.button--disabled) {\n background-color: var(--nile-colors-red-600);\n color: var(--nile-colors-white-base);\n }\n\n .button--outline.button--danger:active:not(.button--disabled) {\n border-color: var(--nile-colors-red-700);\n background-color: var(--nile-colors-red-700);\n color: var(--nile-colors-white-base);\n }\n\n /* destructive */\n .button--outline.button--destructive {\n border-color: var(--nile-colors-red-400, var(--ng-colors-effects-focus-ring-error));\n color: var(--nile-colors-red-700);\n box-shadow: 0px;\n }\n\n .button--outline.button--destructive:hover:not(.button--disabled),\n .button--outline.button--destructive.button--checked:not(.button--disabled) {\n border-color: var(--nile-colors-red-400);\n color: var(--nile-colors-red-700);\n background-color: var(--nile-colors-red-100);\n }\n\n .button--outline.button--destructive:active:not(.button--disabled) {\n border-color: var(--nile-colors-red-400);\n color: var(--nile-colors-red-700);\n background-color: var(--nile-colors-white-base);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05),\n 0px 0px 0px 4px rgba(240, 68, 56, 0.24);\n }\n\n /* destructive - focus-visible */\n .button--outline.button--destructive:focus-visible:not(.button--disabled) {\n border-color: var(--nile-colors-red-400, var(--ng-colors-effects-focus-ring-error));\n color: var(--nile-colors-red-700);\n background-color: var(--nile-colors-white-base);\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05),\n 0px 0px 0px 4px rgba(240, 68, 56, 0.24);\n }\n\n /* secondary-grey */\n .button--outline.button--secondary-grey {\n box-shadow: 0px;\n }\n\n .button--outline.button--secondary-grey:hover:not(.button--disabled),\n .button--outline.button--secondary-grey.button--checked:not(\n .button--disabled\n ) {\n color: var(--nile-colors-primary-900);\n background-color: var(--nile-colors-neutral-100);\n }\n\n .button--outline.button--secondary-grey:active:not(.button--disabled) {\n box-shadow: 0px;\n }\n\n .button--outline.button--secondary-grey:focus-visible:not(.button--disabled) {\n box-shadow: 0px;\n }\n\n /* secondary-blue */\n .button--outline.button--secondary-blue {\n box-shadow: 0px;\n }\n\n .button--outline.button--secondary-blue:hover:not(.button--disabled),\n .button--outline.button--secondary-blue.button--checked:not(\n .button--disabled\n ) {\n color: var(--nile-colors-primary-700);\n background-color: var(--nile-colors-blue-100);\n }\n\n .button--outline.button--secondary-blue:active:not(.button--disabled) {\n box-shadow: 0px;\n }\n\n .button--outline.button--secondary-blue:focus-visible:not(.button--disabled) {\n box-shadow: 0px;\n }\n\n @media (forced-colors: active) {\n .button.button--outline.button--checked:not(.button--disabled) {\n outline: solid 2px transparent;\n }\n }\n\n /*\n * Pill modifier\n */\n\n .button--pill.button--small {\n border-radius: var(--nile-radius-2xl);\n }\n\n .button--pill.button--medium {\n border-radius: var(--nile-radius-2xl);\n }\n\n /*\n * Circle modifier\n */\n\n .button--circle {\n padding-left: var(--nile-spacing-none);\n padding-right: var(--nile-spacing-none);\n }\n\n .button--circle.button--small {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n }\n\n .button--circle.button--medium {\n width: 38px;\n height: 38px;\n border-radius: 50%;\n }\n\n .button--circle .button__prefix,\n .button--circle .button__suffix,\n .button--circle .button__caret {\n display: none;\n }\n\n /* Caret modifier */\n\n .button--caret .button__suffix {\n display: none;\n }\n\n .button--caret .button__caret {\n height: auto;\n }\n\n /*\n * Loading modifier\n */\n\n .button--loading {\n position: relative;\n cursor: wait;\n }\n\n .button--loading .button__prefix,\n .button--loading .button__label,\n .button--loading .button__suffix,\n .button--loading .button__caret {\n visibility: hidden;\n }\n\n .button--loading nile-spinner {\n --indicator-color: currentColor;\n position: absolute;\n font-size: var(--nile-type-scale-3);\n height: 1em;\n width: 1em;\n top: calc(50% - 0.5em);\n left: calc(50% - 0.5em);\n }\n /*\n * Badges\n */\n\n .button ::slotted(nile-badge) {\n position: absolute;\n top: 0;\n right: 0;\n translate: 50% -50%;\n pointer-events: none;\n }\n\n /* outline with no border */\n .button--outline.button--hideborder {\n border: 0px;\n }\n`;\n"]}
@@ -209,10 +209,10 @@ let NileButton = class NileButton extends NileElement {
209
209
  const tag = isLink ? literal `a` : literal `button`;
210
210
  const variantCaretColors = {
211
211
  primary: this.disabled ? 'var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-white-base, var(--ng-componentcolors-components-button-primary-icon))',
212
- secondary: this.disabled ? 'var(--nile-colors-dark-900, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400))',
213
- tertiary: this.disabled ? 'var(--nile-colors-dark-900, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400))',
214
- caution: 'white',
215
- ghost: 'black',
212
+ secondary: this.disabled ? 'var(--nile-colors-dark-500, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400))',
213
+ tertiary: this.disabled ? 'var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400))',
214
+ caution: this.disabled ? 'var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-white-base)',
215
+ ghost: this.disabled ? 'var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400))',
216
216
  destructive: this.disabled ? 'var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-white-base, var(--ng-componentcolors-components-button-destructive-primary-icon))',
217
217
  'secondary-grey': 'black',
218
218
  'secondary-blue': 'black',
@@ -324,7 +324,7 @@ let NileButton = class NileButton extends NileElement {
324
324
  <nile-icon
325
325
  part="caret"
326
326
  class="button__caret"
327
- color="${variantCaretColors[this.variant]}"
327
+ color=${variantCaretColors[this.variant]}
328
328
  name="var(--nile-icon-arrow-down, var(--ng-icon-chevron-down))"
329
329
  method="var(--nile-svg-method-fill, var(--ng-svg-method-stroke))"
330
330
  ></nile-icon>
@@ -1 +1 @@
1
- {"version":3,"file":"nile-button.js","sourceRoot":"","sources":["../../../src/nile-button/nile-button.ts"],"names":[],"mappings":";AAAA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGI,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,WAAW;IAApC;;QAGY,0BAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE;YACvE,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,kHAAkH;gBAClH,2CAA2C;gBAC3C,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAA2B,CAAC;oBACzD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAE,CAAC;oBAC3C,OAAO,GAAG,CAAC,cAAc,CAAC,MAAM,CAAoB,CAAC;gBACvD,CAAC;gBAED,2CAA2C;gBAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YACD,mBAAmB,EAAE,CAAC,OAAO,CAAC;SAC/B,CAAC,CAAC;QACc,sBAAiB,GAAG,IAAI,iBAAiB,CACxD,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,QAAQ,CACT,CAAC;QAIe,aAAQ,GAAG,KAAK,CAAC;QACzB,YAAO,GAAG,KAAK,CAAC;QACb,UAAK,GAAG,EAAE,CAAC,CAAC,gCAAgC;QAExD,kCAAkC;QACL,YAAO,GAQb,SAAS,CAAC;QAEjC,yBAAyB;QAChB,SAAI,GAAG,QAAQ,CAAC;QAEzB,oHAAoH;QACxE,UAAK,GAAG,KAAK,CAAC;QAE1D,2BAA2B;QACiB,aAAQ,GAAG,KAAK,CAAC;QAE7D,2CAA2C;QACC,YAAO,GAAG,KAAK,CAAC;QAE5D,gCAAgC;QACY,YAAO,GAAG,KAAK,CAAC;QAE5D,oDAAoD;QACR,SAAI,GAAG,KAAK,CAAC;QAEzD;;;WAGG;QACyC,WAAM,GAAG,KAAK,CAAC;QAE3D;;;WAGG;QACS,SAAI,GAAkC,QAAQ,CAAC;QAE3D;;;WAGG;QACS,SAAI,GAAG,EAAE,CAAC;QAEtB;;;WAGG;QACS,UAAK,GAAG,EAAE,CAAC;QAEvB,6GAA6G;QACjG,SAAI,GAAG,EAAE,CAAC;QAKtB;;;;;WAKG;QACS,QAAG,GAAG,qBAAqB,CAAC;QAqCxC,eAAU,GAAG,KAAK,CAAC;IA2QrB,CAAC;IAzQC,qCAAqC;IACrC,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAQ,IAAI,CAAC,MAA4B,CAAC,QAAQ,CAAC;QACrD,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,kCAAkC;IAClC,IAAI,iBAAiB;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAQ,IAAI,CAAC,MAA4B,CAAC,iBAAiB,CAAC;QAC9D,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAiB;QACvC,oFAAoF;QACpF,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,KAAY;QAChC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,QAAQ;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC;IAEO,MAAM;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAClC,CAAC;IAGD,oBAAoB;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,0CAA0C;YAC1C,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,OAAsB;QAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,qCAAqC;IACrC,IAAI;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,sHAAsH;IACtH,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAQ,IAAI,CAAC,MAA4B,CAAC,aAAa,EAAE,CAAC;QAC5D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+CAA+C;IAC/C,OAAO;QACL,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED,gGAAgG;IAChG,cAAc;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAQ,IAAI,CAAC,MAA4B,CAAC,cAAc,EAAE,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kFAAkF;IAClF,iBAAiB,CAAC,OAAe;QAC/B,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,MAA4B,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA,GAAG,CAAC,CAAC,CAAC,OAAO,CAAA,QAAQ,CAAC;QAElD,MAAM,kBAAkB,GAAG;YACzB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,oEAAoE,CAAC,CAAC,CAAC,yFAAyF;YACzL,SAAS,EAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC,iEAAiE;YAClK,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC,iEAAiE;YAChK,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,OAAO;YACd,WAAW,EAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,oEAAoE,CAAC,CAAC,CAAC,qGAAqG;YAC1M,gBAAgB,EAAE,OAAO;YACzB,gBAAgB,EAAE,OAAO;YACzB,eAAe,EAAE,OAAO;SACzB,CAAC;QAEF,IAAG,IAAI,CAAC,MAAM,EAAE,EAAC,CAAC;YAChB,OAAO,IAAI,CAAA;;;kBAGC,QAAQ,CAAC;gBACf,MAAM,EAAE,IAAI;gBACZ,iBAAiB,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;gBAC7C,mBAAmB,EAAE,IAAI,CAAC,OAAO,KAAK,WAAW;gBACjD,kBAAkB,EAAE,IAAI,CAAC,OAAO,KAAK,UAAU;gBAC/C,iBAAiB,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;gBAC7C,eAAe,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;gBACzC,qBAAqB,EAAE,IAAI,CAAC,OAAO,KAAK,aAAa;gBACrD,wBAAwB,EAAE,IAAI,CAAC,OAAO,KAAK,gBAAgB;gBAC3D,wBAAwB,EAAE,IAAI,CAAC,OAAO,KAAK,gBAAgB;gBAC3D,oBAAoB,EAAE,IAAI,CAAC,UAAU;gBACrC,gBAAgB,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;gBACxC,eAAe,EAAE,IAAI,CAAC,KAAK;gBAC3B,gBAAgB,EAAE,IAAI,CAAC,MAAM;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,QAAQ;gBACjC,iBAAiB,EAAE,IAAI,CAAC,QAAQ;gBAChC,iBAAiB,EAAE,IAAI,CAAC,OAAO;gBAC/B,kBAAkB,EAAE,CAAC,IAAI,CAAC,OAAO;gBACjC,iBAAiB,EAAE,IAAI,CAAC,OAAO;gBAC/B,cAAc,EAAE,IAAI,CAAC,IAAI;gBACzB,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC7D,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC3D,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC5D,CAAC;iBACK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;mBAClB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;qBACpB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;kBACjB,IAAI,CAAC,KAAK;;0BAEF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;qBACrC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;kBAC7B,IAAI,CAAC,UAAU;mBACd,IAAI,CAAC,WAAW;mBAChB,IAAI,CAAC,WAAW;;;;;YAKvB,IAAI,CAAC,KAAK;gBACV,CAAC,CAAC,IAAI,CAAA;;;;2BAIS,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;;;;eAI5C;gBACH,CAAC,CAAC,EAAE;YACJ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,+BAA+B,CAAC,CAAC,CAAC,EAAE;;OAE5D,CAAC;QACJ,CAAC;aACG,CAAC;YACH,OAAO,IAAI,CAAA;;;gBAGD,QAAQ,CAAC;gBACf,MAAM,EAAE,IAAI;gBACZ,iBAAiB,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;gBAC7C,mBAAmB,EAAE,IAAI,CAAC,OAAO,KAAK,WAAW;gBACjD,kBAAkB,EAAE,IAAI,CAAC,OAAO,KAAK,UAAU;gBAC/C,iBAAiB,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;gBAC7C,eAAe,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;gBACzC,qBAAqB,EAAE,IAAI,CAAC,OAAO,KAAK,aAAa;gBACrD,wBAAwB,EAAE,IAAI,CAAC,OAAO,KAAK,gBAAgB;gBAC3D,wBAAwB,EAAE,IAAI,CAAC,OAAO,KAAK,gBAAgB;gBAC3D,oBAAoB,EAAE,IAAI,CAAC,UAAU;gBACrC,gBAAgB,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;gBACxC,eAAe,EAAE,IAAI,CAAC,KAAK;gBAC3B,gBAAgB,EAAE,IAAI,CAAC,MAAM;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,QAAQ;gBACjC,iBAAiB,EAAE,IAAI,CAAC,QAAQ;gBAChC,iBAAiB,EAAE,IAAI,CAAC,OAAO;gBAC/B,kBAAkB,EAAE,CAAC,IAAI,CAAC,OAAO;gBACjC,iBAAiB,EAAE,IAAI,CAAC,OAAO;gBAC/B,cAAc,EAAE,IAAI,CAAC,IAAI;gBACzB,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC7D,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC3D,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC5D,CAAC;oBACU,IAAI,CAAC,QAAQ;eAClB,IAAI,CAAC,IAAI;eACT,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrB,IAAI,CAAC,KAAK;wBACF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;mBACrC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;gBAC7B,IAAI,CAAC,UAAU;iBACd,IAAI,CAAC,WAAW;mBACd,IAAI,CAAC,aAAa;iBACpB,IAAI,CAAC,WAAW;;;;;UAKvB,IAAI,CAAC,KAAK;gBACV,CAAC,CAAC,IAAI,CAAA;;;;yBAIS,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;;;;aAI5C;gBACH,CAAC,CAAC,EAAE;UACJ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,+BAA+B,CAAC,CAAC,CAAC,EAAE;;KAE5D,CAAC;QACF,CAAC;IACH,CAAC;;AA9YM,iBAAM,GAAmB,MAAM,AAAzB,CAA0B;AAwBrB;IAAjB,KAAK,CAAC,SAAS,CAAC;0CAA6C;AAE7C;IAAhB,KAAK,EAAE;4CAA0B;AACzB;IAAR,KAAK,EAAE;2CAAiB;AACb;IAAX,QAAQ,EAAE;yCAAY;AAGM;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAQK;AAGxB;IAAR,KAAK,EAAE;wCAAiB;AAGmB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAAe;AAGd;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAAkB;AAGjB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAiB;AAGhB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAiB;AAGhB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCAAc;AAMb;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CAAgB;AAM/C;IAAX,QAAQ,EAAE;wCAAgD;AAM/C;IAAX,QAAQ,EAAE;wCAAW;AAMV;IAAX,QAAQ,EAAE;yCAAY;AAGX;IAAX,QAAQ,EAAE;wCAAW;AAGV;IAAX,QAAQ,EAAE;0CAAiD;AAQhD;IAAX,QAAQ,EAAE;uCAA6B;AAG5B;IAAX,QAAQ,EAAE;4CAAmB;AAMlB;IAAX,QAAQ,EAAE;wCAAc;AAGc;IAAtC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;8CAAoB;AAI1D;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;+CAItB;AAGsB;IAAtC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;8CAA4B;AAIlE;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACjC;AAGe;IAAtC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;8CAK3B;AAGX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;8CAClD;AAiFnB;IADC,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;sDAMjD;AA3NU,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAgZtB;;AAED,eAAe,UAAU,CAAC","sourcesContent":["import '../nile-icon';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { FormControlController, validValidityState } from '../internal/form';\nimport { HasSlotController } from '../internal/slot';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { watch } from '../internal/watch';\nimport { styles } from './nile-button.css';\nimport type { CSSResultGroup, TemplateResult } from 'lit';\nimport type { NileFormControl } from '../internal/nile-element';\nimport NileElement from '../internal/nile-element';\nimport { literal } from 'lit/static-html.js';\n/**\n * @summary Buttons represent actions that are available to the user.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-spinner\n *\n * @event nile-blur - Emitted when the button loses focus.\n * @event nile-focus - Emitted when the button gains focus.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @slot - The button's label.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @csspart base - The component's base wrapper.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart label - The button's label.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart caret - The button's caret icon, an `<nile-icon>` element.\n */\n\n@customElement('nile-button')\nexport class NileButton extends NileElement implements NileFormControl {\n static styles: CSSResultGroup = styles;\n\n private readonly formControlController = new FormControlController(this, {\n form: input => {\n // Buttons support a form attribute that points to an arbitrary form, so if this attribute is set we need to query\n // the form from the same root using its id\n if (input.hasAttribute('form')) {\n const doc = input.getRootNode() as Document | ShadowRoot;\n const formId = input.getAttribute('form')!;\n return doc.getElementById(formId) as HTMLFormElement;\n }\n\n // Fall back to the closest containing form\n return input.closest('form');\n },\n assumeInteractionOn: ['click'],\n });\n private readonly hasSlotController = new HasSlotController(\n this,\n '[default]',\n 'prefix',\n 'suffix'\n );\n\n @query('.button') button: HTMLButtonElement | HTMLLinkElement;\n\n @state() private hasFocus = false;\n @state() invalid = false;\n @property() title = ''; // make reactive to pass through\n\n /** The button's theme variant. */\n @property({ reflect: true }) variant:\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'caution'\n | 'ghost'\n | 'destructive'\n | 'secondary-grey'\n | 'secondary-blue' = 'primary';\n\n /** The button's size. */\n @state() size = 'medium';\n\n /** Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior. */\n @property({ type: Boolean, reflect: true }) caret = false;\n\n /** Disables the button. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Draws the button in a loading state. */\n @property({ type: Boolean, reflect: true }) loading = false;\n\n /** Draws an outlined button. */\n @property({ type: Boolean, reflect: true }) outline = false;\n\n /** Draws a pill-style button with rounded edges. */\n @property({ type: Boolean, reflect: true }) pill = false;\n\n /**\n * Draws a circular icon button. When this attribute is present, the button expects a single `<nile-icon>` in the\n * default slot.\n */\n @property({ type: Boolean, reflect: true }) circle = false;\n\n /**\n * The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n * `<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.\n */\n @property() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\n * This attribute is ignored when `href` is present.\n */\n @property() name = '';\n\n /**\n * The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\n * button is the submitter. This attribute is ignored when `href` is present.\n */\n @property() value = '';\n\n /** When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`. */\n @property() href = '';\n\n /** Tells the browser where to open the link. Only used when `href` is present. */\n @property() target: '_blank' | '_parent' | '_self' | '_top';\n\n /**\n * When using `href`, this attribute will map to the underlying link's `rel` attribute. Unlike regular links, the\n * default is `noreferrer noopener` to prevent security exploits. However, if you're using `target` to point to a\n * specific tab/window, this will prevent that from working correctly. You can remove or change the default value by\n * setting the attribute to an empty string or a value of your choice, respectively.\n */\n @property() rel = 'noreferrer noopener';\n\n /** Tells the browser to download the linked file as this filename. Only used when `href` is present. */\n @property() download?: string;\n\n /**\n * The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\n * value of this attribute must be an id of a form in the same document or shadow root as the button.\n */\n @property() form: string;\n\n /** Used to override the form owner's `action` attribute. */\n @property({ attribute: 'formaction' }) formAction: string;\n\n /** Used to override the form owner's `enctype` attribute. */\n @property({ attribute: 'formenctype' })\n formEnctype:\n | 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain';\n\n /** Used to override the form owner's `method` attribute. */\n @property({ attribute: 'formmethod' }) formMethod: 'post' | 'get';\n\n /** Used to override the form owner's `novalidate` attribute. */\n @property({ attribute: 'formnovalidate', type: Boolean })\n formNoValidate: boolean;\n\n /** Used to override the form owner's `target` attribute. */\n @property({ attribute: 'formtarget' }) formTarget:\n | '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string;\n\n @property({ type: Boolean, reflect: true, attribute: 'hide-border' })\n hideBorder = false;\n\n /** Gets the validity state object */\n get validity() {\n if (this.isButton()) {\n return (this.button as HTMLButtonElement).validity;\n }\n\n return validValidityState;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n if (this.isButton()) {\n return (this.button as HTMLButtonElement).validationMessage;\n }\n\n return '';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.handleHostClick = this.handleHostClick.bind(this);\n this.addEventListener('click', this.handleHostClick);\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this.handleHostClick);\n this.emit('nile-destroy');\n }\n\n firstUpdated() {\n if (this.isButton()) {\n this.formControlController.updateValidity();\n }\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('nile-blur');\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('nile-focus');\n }\n\n private handleClick() {\n if (this.type === 'submit') {\n this.formControlController.submit(this);\n }\n\n if (this.type === 'reset') {\n this.formControlController.reset(this);\n }\n }\n\n private handleHostClick(event: MouseEvent) {\n // Prevent the click event from being emitted when the button is disabled or loading\n if (this.disabled || this.loading) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n private handleInvalid(event: Event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n private isButton() {\n return this.href ? false : true;\n }\n\n private isLink() {\n return this.href ? true : false;\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n if (this.isButton()) {\n // Disabled form controls are always valid\n this.formControlController.setValidity(this.disabled);\n }\n }\n\n /** Simulates a click on the button. */\n click() {\n this.button.click();\n }\n\n /** Sets focus on the button. */\n focus(options?: FocusOptions) {\n this.button.focus(options);\n }\n\n /** Removes focus from the button. */\n blur() {\n this.button.blur();\n }\n\n /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n if (this.isButton()) {\n return (this.button as HTMLButtonElement).checkValidity();\n }\n\n return true;\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n if (this.isButton()) {\n return (this.button as HTMLButtonElement).reportValidity();\n }\n\n return true;\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n if (this.isButton()) {\n (this.button as HTMLButtonElement).setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n }\n\n render(): TemplateResult {\n const isLink = this.isLink();\n const tag = isLink ? literal`a` : literal`button`;\n\n const variantCaretColors = {\n primary: this.disabled ? 'var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-white-base, var(--ng-componentcolors-components-button-primary-icon))',\n secondary: this.disabled ? 'var(--nile-colors-dark-900, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400))',\n tertiary: this.disabled ? 'var(--nile-colors-dark-900, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400))',\n caution: 'white',\n ghost: 'black',\n destructive: this.disabled ? 'var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-white-base, var(--ng-componentcolors-components-button-destructive-primary-icon))',\n 'secondary-grey': 'black',\n 'secondary-blue': 'black',\n 'tertiary-blue': 'black',\n };\n\n if(this.isLink()){\n return html`\n <a\n part=\"base\"\n class=${classMap({\n button: true,\n 'button--primary': this.variant === 'primary',\n 'button--secondary': this.variant === 'secondary',\n 'button--tertiary': this.variant === 'tertiary',\n 'button--caution': this.variant === 'caution',\n 'button--ghost': this.variant === 'ghost',\n 'button--destructive': this.variant === 'destructive',\n 'button--secondary-grey': this.variant === 'secondary-grey',\n 'button--secondary-blue': this.variant === 'secondary-blue',\n 'button--hideborder': this.hideBorder,\n 'button--medium': this.size === 'medium',\n 'button--caret': this.caret,\n 'button--circle': this.circle,\n 'button--disabled': this.disabled,\n 'button--focused': this.hasFocus,\n 'button--loading': this.loading,\n 'button--standard': !this.outline,\n 'button--outline': this.outline,\n 'button--pill': this.pill,\n 'button--has-label': this.hasSlotController.test('[default]'),\n 'button--has-prefix': this.hasSlotController.test('prefix'),\n 'button--has-suffix': this.hasSlotController.test('suffix'),\n })}\n href=${ifDefined(this.href)}\n target=${ifDefined(this.target)}\n download=${ifDefined(this.download)}\n rel=${ifDefined(this.rel)}\n title=${this.title}\n role=\"button\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n tabindex=${this.disabled ? '-1' : '0'}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @click=${this.handleClick}\n >\n <slot name=\"prefix\" part=\"prefix\" class=\"button__prefix\"></slot>\n <slot part=\"label\" class=\"button__label\"></slot>\n <slot name=\"suffix\" part=\"suffix\" class=\"button__suffix\"></slot>\n ${this.caret\n ? html`\n <nile-icon\n part=\"caret\"\n class=\"button__caret\"\n color=\"${variantCaretColors[this.variant]}\"\n name=\"var(--nile-icon-arrow-down, var(--ng-icon-chevron-down))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n ></nile-icon>\n `\n : ''}\n ${this.loading ? html`<nile-spinner></nile-spinner>` : ''}\n </a>\n `;\n }\n else{\n return html`\n <button\n part=\"base\"\n class=${classMap({\n button: true,\n 'button--primary': this.variant === 'primary',\n 'button--secondary': this.variant === 'secondary',\n 'button--tertiary': this.variant === 'tertiary',\n 'button--caution': this.variant === 'caution',\n 'button--ghost': this.variant === 'ghost',\n 'button--destructive': this.variant === 'destructive',\n 'button--secondary-grey': this.variant === 'secondary-grey',\n 'button--secondary-blue': this.variant === 'secondary-blue',\n 'button--hideborder': this.hideBorder,\n 'button--medium': this.size === 'medium',\n 'button--caret': this.caret,\n 'button--circle': this.circle,\n 'button--disabled': this.disabled,\n 'button--focused': this.hasFocus,\n 'button--loading': this.loading,\n 'button--standard': !this.outline,\n 'button--outline': this.outline,\n 'button--pill': this.pill,\n 'button--has-label': this.hasSlotController.test('[default]'),\n 'button--has-prefix': this.hasSlotController.test('prefix'),\n 'button--has-suffix': this.hasSlotController.test('suffix'),\n })}\n ?disabled=${this.disabled}\n type=${this.type}\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n title=${this.title}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n tabindex=${this.disabled ? '-1' : '0'}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @invalid=${this.handleInvalid}\n @click=${this.handleClick}\n >\n <slot name=\"prefix\" part=\"prefix\" class=\"button__prefix\"></slot>\n <slot part=\"label\" class=\"button__label\"></slot>\n <slot name=\"suffix\" part=\"suffix\" class=\"button__suffix\"></slot>\n ${this.caret\n ? html`\n <nile-icon\n part=\"caret\"\n class=\"button__caret\"\n color=\"${variantCaretColors[this.variant]}\"\n name=\"var(--nile-icon-arrow-down, var(--ng-icon-chevron-down))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n ></nile-icon>\n `\n : ''}\n ${this.loading ? html`<nile-spinner></nile-spinner>` : ''}\n </button>\n `;\n }\n }\n}\n\nexport default NileButton;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-button': NileButton;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-button.js","sourceRoot":"","sources":["../../../src/nile-button/nile-button.ts"],"names":[],"mappings":";AAAA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGI,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,WAAW;IAApC;;QAGY,0BAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE;YACvE,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,kHAAkH;gBAClH,2CAA2C;gBAC3C,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAA2B,CAAC;oBACzD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAE,CAAC;oBAC3C,OAAO,GAAG,CAAC,cAAc,CAAC,MAAM,CAAoB,CAAC;gBACvD,CAAC;gBAED,2CAA2C;gBAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YACD,mBAAmB,EAAE,CAAC,OAAO,CAAC;SAC/B,CAAC,CAAC;QACc,sBAAiB,GAAG,IAAI,iBAAiB,CACxD,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,QAAQ,CACT,CAAC;QAIe,aAAQ,GAAG,KAAK,CAAC;QACzB,YAAO,GAAG,KAAK,CAAC;QACb,UAAK,GAAG,EAAE,CAAC,CAAC,gCAAgC;QAExD,kCAAkC;QACL,YAAO,GAQb,SAAS,CAAC;QAEjC,yBAAyB;QAChB,SAAI,GAAG,QAAQ,CAAC;QAEzB,oHAAoH;QACxE,UAAK,GAAG,KAAK,CAAC;QAE1D,2BAA2B;QACiB,aAAQ,GAAG,KAAK,CAAC;QAE7D,2CAA2C;QACC,YAAO,GAAG,KAAK,CAAC;QAE5D,gCAAgC;QACY,YAAO,GAAG,KAAK,CAAC;QAE5D,oDAAoD;QACR,SAAI,GAAG,KAAK,CAAC;QAEzD;;;WAGG;QACyC,WAAM,GAAG,KAAK,CAAC;QAE3D;;;WAGG;QACS,SAAI,GAAkC,QAAQ,CAAC;QAE3D;;;WAGG;QACS,SAAI,GAAG,EAAE,CAAC;QAEtB;;;WAGG;QACS,UAAK,GAAG,EAAE,CAAC;QAEvB,6GAA6G;QACjG,SAAI,GAAG,EAAE,CAAC;QAKtB;;;;;WAKG;QACS,QAAG,GAAG,qBAAqB,CAAC;QAqCxC,eAAU,GAAG,KAAK,CAAC;IA4QrB,CAAC;IA1QC,qCAAqC;IACrC,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAQ,IAAI,CAAC,MAA4B,CAAC,QAAQ,CAAC;QACrD,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,kCAAkC;IAClC,IAAI,iBAAiB;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAQ,IAAI,CAAC,MAA4B,CAAC,iBAAiB,CAAC;QAC9D,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAiB;QACvC,oFAAoF;QACpF,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,KAAY;QAChC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,QAAQ;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC;IAEO,MAAM;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAClC,CAAC;IAGD,oBAAoB;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,0CAA0C;YAC1C,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,OAAsB;QAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,qCAAqC;IACrC,IAAI;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,sHAAsH;IACtH,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAQ,IAAI,CAAC,MAA4B,CAAC,aAAa,EAAE,CAAC;QAC5D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+CAA+C;IAC/C,OAAO;QACL,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED,gGAAgG;IAChG,cAAc;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAQ,IAAI,CAAC,MAA4B,CAAC,cAAc,EAAE,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kFAAkF;IAClF,iBAAiB,CAAC,OAAe;QAC/B,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,MAA4B,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA,GAAG,CAAC,CAAC,CAAC,OAAO,CAAA,QAAQ,CAAC;QAElD,MAAM,kBAAkB,GAAG;YACzB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,oEAAoE,CAAC,CAAC,CAAC,yFAAyF;YACzL,SAAS,EAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC,iEAAiE;YAClK,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,qEAAqE,CAAC,CAAC,CAAC,iEAAiE;YACnK,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAA,CAAC,CAAC,oEAAoE,CAAA,CAAC,CAAC,+BAA+B;YAE7H,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,qEAAqE,CAAC,CAAC,CAAC,iEAAiE;YAChK,WAAW,EAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,oEAAoE,CAAC,CAAC,CAAC,qGAAqG;YAC1M,gBAAgB,EAAE,OAAO;YACzB,gBAAgB,EAAE,OAAO;YACzB,eAAe,EAAE,OAAO;SACzB,CAAC;QAEF,IAAG,IAAI,CAAC,MAAM,EAAE,EAAC,CAAC;YAChB,OAAO,IAAI,CAAA;;;kBAGC,QAAQ,CAAC;gBACf,MAAM,EAAE,IAAI;gBACZ,iBAAiB,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;gBAC7C,mBAAmB,EAAE,IAAI,CAAC,OAAO,KAAK,WAAW;gBACjD,kBAAkB,EAAE,IAAI,CAAC,OAAO,KAAK,UAAU;gBAC/C,iBAAiB,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;gBAC7C,eAAe,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;gBACzC,qBAAqB,EAAE,IAAI,CAAC,OAAO,KAAK,aAAa;gBACrD,wBAAwB,EAAE,IAAI,CAAC,OAAO,KAAK,gBAAgB;gBAC3D,wBAAwB,EAAE,IAAI,CAAC,OAAO,KAAK,gBAAgB;gBAC3D,oBAAoB,EAAE,IAAI,CAAC,UAAU;gBACrC,gBAAgB,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;gBACxC,eAAe,EAAE,IAAI,CAAC,KAAK;gBAC3B,gBAAgB,EAAE,IAAI,CAAC,MAAM;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,QAAQ;gBACjC,iBAAiB,EAAE,IAAI,CAAC,QAAQ;gBAChC,iBAAiB,EAAE,IAAI,CAAC,OAAO;gBAC/B,kBAAkB,EAAE,CAAC,IAAI,CAAC,OAAO;gBACjC,iBAAiB,EAAE,IAAI,CAAC,OAAO;gBAC/B,cAAc,EAAE,IAAI,CAAC,IAAI;gBACzB,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC7D,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC3D,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC5D,CAAC;iBACK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;mBAClB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;qBACpB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;kBACjB,IAAI,CAAC,KAAK;;0BAEF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;qBACrC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;kBAC7B,IAAI,CAAC,UAAU;mBACd,IAAI,CAAC,WAAW;mBAChB,IAAI,CAAC,WAAW;;;;;YAKvB,IAAI,CAAC,KAAK;gBACV,CAAC,CAAC,IAAI,CAAA;;;;2BAIS,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;;;;eAI5C;gBACH,CAAC,CAAC,EAAE;YACJ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,+BAA+B,CAAC,CAAC,CAAC,EAAE;;OAE5D,CAAC;QACJ,CAAC;aACG,CAAC;YACH,OAAO,IAAI,CAAA;;;gBAGD,QAAQ,CAAC;gBACf,MAAM,EAAE,IAAI;gBACZ,iBAAiB,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;gBAC7C,mBAAmB,EAAE,IAAI,CAAC,OAAO,KAAK,WAAW;gBACjD,kBAAkB,EAAE,IAAI,CAAC,OAAO,KAAK,UAAU;gBAC/C,iBAAiB,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;gBAC7C,eAAe,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;gBACzC,qBAAqB,EAAE,IAAI,CAAC,OAAO,KAAK,aAAa;gBACrD,wBAAwB,EAAE,IAAI,CAAC,OAAO,KAAK,gBAAgB;gBAC3D,wBAAwB,EAAE,IAAI,CAAC,OAAO,KAAK,gBAAgB;gBAC3D,oBAAoB,EAAE,IAAI,CAAC,UAAU;gBACrC,gBAAgB,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;gBACxC,eAAe,EAAE,IAAI,CAAC,KAAK;gBAC3B,gBAAgB,EAAE,IAAI,CAAC,MAAM;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,QAAQ;gBACjC,iBAAiB,EAAE,IAAI,CAAC,QAAQ;gBAChC,iBAAiB,EAAE,IAAI,CAAC,OAAO;gBAC/B,kBAAkB,EAAE,CAAC,IAAI,CAAC,OAAO;gBACjC,iBAAiB,EAAE,IAAI,CAAC,OAAO;gBAC/B,cAAc,EAAE,IAAI,CAAC,IAAI;gBACzB,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC7D,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC3D,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC5D,CAAC;oBACU,IAAI,CAAC,QAAQ;eAClB,IAAI,CAAC,IAAI;eACT,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrB,IAAI,CAAC,KAAK;wBACF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;mBACrC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;gBAC7B,IAAI,CAAC,UAAU;iBACd,IAAI,CAAC,WAAW;mBACd,IAAI,CAAC,aAAa;iBACpB,IAAI,CAAC,WAAW;;;;;UAKvB,IAAI,CAAC,KAAK;gBACV,CAAC,CAAC,IAAI,CAAA;;;;wBAIQ,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;;;;aAI3C;gBACH,CAAC,CAAC,EAAE;UACJ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,+BAA+B,CAAC,CAAC,CAAC,EAAE;;KAE5D,CAAC;QACF,CAAC;IACH,CAAC;;AA/YM,iBAAM,GAAmB,MAAM,AAAzB,CAA0B;AAwBrB;IAAjB,KAAK,CAAC,SAAS,CAAC;0CAA6C;AAE7C;IAAhB,KAAK,EAAE;4CAA0B;AACzB;IAAR,KAAK,EAAE;2CAAiB;AACb;IAAX,QAAQ,EAAE;yCAAY;AAGM;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAQK;AAGxB;IAAR,KAAK,EAAE;wCAAiB;AAGmB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAAe;AAGd;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAAkB;AAGjB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAiB;AAGhB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAiB;AAGhB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCAAc;AAMb;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CAAgB;AAM/C;IAAX,QAAQ,EAAE;wCAAgD;AAM/C;IAAX,QAAQ,EAAE;wCAAW;AAMV;IAAX,QAAQ,EAAE;yCAAY;AAGX;IAAX,QAAQ,EAAE;wCAAW;AAGV;IAAX,QAAQ,EAAE;0CAAiD;AAQhD;IAAX,QAAQ,EAAE;uCAA6B;AAG5B;IAAX,QAAQ,EAAE;4CAAmB;AAMlB;IAAX,QAAQ,EAAE;wCAAc;AAGc;IAAtC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;8CAAoB;AAI1D;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;+CAItB;AAGsB;IAAtC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;8CAA4B;AAIlE;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACjC;AAGe;IAAtC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;8CAK3B;AAGX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;8CAClD;AAiFnB;IADC,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;sDAMjD;AA3NU,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAiZtB;;AAED,eAAe,UAAU,CAAC","sourcesContent":["import '../nile-icon';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { FormControlController, validValidityState } from '../internal/form';\nimport { HasSlotController } from '../internal/slot';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { watch } from '../internal/watch';\nimport { styles } from './nile-button.css';\nimport type { CSSResultGroup, TemplateResult } from 'lit';\nimport type { NileFormControl } from '../internal/nile-element';\nimport NileElement from '../internal/nile-element';\nimport { literal } from 'lit/static-html.js';\n/**\n * @summary Buttons represent actions that are available to the user.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-spinner\n *\n * @event nile-blur - Emitted when the button loses focus.\n * @event nile-focus - Emitted when the button gains focus.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @slot - The button's label.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @csspart base - The component's base wrapper.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart label - The button's label.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart caret - The button's caret icon, an `<nile-icon>` element.\n */\n\n@customElement('nile-button')\nexport class NileButton extends NileElement implements NileFormControl {\n static styles: CSSResultGroup = styles;\n\n private readonly formControlController = new FormControlController(this, {\n form: input => {\n // Buttons support a form attribute that points to an arbitrary form, so if this attribute is set we need to query\n // the form from the same root using its id\n if (input.hasAttribute('form')) {\n const doc = input.getRootNode() as Document | ShadowRoot;\n const formId = input.getAttribute('form')!;\n return doc.getElementById(formId) as HTMLFormElement;\n }\n\n // Fall back to the closest containing form\n return input.closest('form');\n },\n assumeInteractionOn: ['click'],\n });\n private readonly hasSlotController = new HasSlotController(\n this,\n '[default]',\n 'prefix',\n 'suffix'\n );\n\n @query('.button') button: HTMLButtonElement | HTMLLinkElement;\n\n @state() private hasFocus = false;\n @state() invalid = false;\n @property() title = ''; // make reactive to pass through\n\n /** The button's theme variant. */\n @property({ reflect: true }) variant:\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'caution'\n | 'ghost'\n | 'destructive'\n | 'secondary-grey'\n | 'secondary-blue' = 'primary';\n\n /** The button's size. */\n @state() size = 'medium';\n\n /** Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior. */\n @property({ type: Boolean, reflect: true }) caret = false;\n\n /** Disables the button. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Draws the button in a loading state. */\n @property({ type: Boolean, reflect: true }) loading = false;\n\n /** Draws an outlined button. */\n @property({ type: Boolean, reflect: true }) outline = false;\n\n /** Draws a pill-style button with rounded edges. */\n @property({ type: Boolean, reflect: true }) pill = false;\n\n /**\n * Draws a circular icon button. When this attribute is present, the button expects a single `<nile-icon>` in the\n * default slot.\n */\n @property({ type: Boolean, reflect: true }) circle = false;\n\n /**\n * The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n * `<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.\n */\n @property() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\n * This attribute is ignored when `href` is present.\n */\n @property() name = '';\n\n /**\n * The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\n * button is the submitter. This attribute is ignored when `href` is present.\n */\n @property() value = '';\n\n /** When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`. */\n @property() href = '';\n\n /** Tells the browser where to open the link. Only used when `href` is present. */\n @property() target: '_blank' | '_parent' | '_self' | '_top';\n\n /**\n * When using `href`, this attribute will map to the underlying link's `rel` attribute. Unlike regular links, the\n * default is `noreferrer noopener` to prevent security exploits. However, if you're using `target` to point to a\n * specific tab/window, this will prevent that from working correctly. You can remove or change the default value by\n * setting the attribute to an empty string or a value of your choice, respectively.\n */\n @property() rel = 'noreferrer noopener';\n\n /** Tells the browser to download the linked file as this filename. Only used when `href` is present. */\n @property() download?: string;\n\n /**\n * The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\n * value of this attribute must be an id of a form in the same document or shadow root as the button.\n */\n @property() form: string;\n\n /** Used to override the form owner's `action` attribute. */\n @property({ attribute: 'formaction' }) formAction: string;\n\n /** Used to override the form owner's `enctype` attribute. */\n @property({ attribute: 'formenctype' })\n formEnctype:\n | 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain';\n\n /** Used to override the form owner's `method` attribute. */\n @property({ attribute: 'formmethod' }) formMethod: 'post' | 'get';\n\n /** Used to override the form owner's `novalidate` attribute. */\n @property({ attribute: 'formnovalidate', type: Boolean })\n formNoValidate: boolean;\n\n /** Used to override the form owner's `target` attribute. */\n @property({ attribute: 'formtarget' }) formTarget:\n | '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | string;\n\n @property({ type: Boolean, reflect: true, attribute: 'hide-border' })\n hideBorder = false;\n\n /** Gets the validity state object */\n get validity() {\n if (this.isButton()) {\n return (this.button as HTMLButtonElement).validity;\n }\n\n return validValidityState;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n if (this.isButton()) {\n return (this.button as HTMLButtonElement).validationMessage;\n }\n\n return '';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.handleHostClick = this.handleHostClick.bind(this);\n this.addEventListener('click', this.handleHostClick);\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this.handleHostClick);\n this.emit('nile-destroy');\n }\n\n firstUpdated() {\n if (this.isButton()) {\n this.formControlController.updateValidity();\n }\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('nile-blur');\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('nile-focus');\n }\n\n private handleClick() {\n if (this.type === 'submit') {\n this.formControlController.submit(this);\n }\n\n if (this.type === 'reset') {\n this.formControlController.reset(this);\n }\n }\n\n private handleHostClick(event: MouseEvent) {\n // Prevent the click event from being emitted when the button is disabled or loading\n if (this.disabled || this.loading) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n private handleInvalid(event: Event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n private isButton() {\n return this.href ? false : true;\n }\n\n private isLink() {\n return this.href ? true : false;\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n if (this.isButton()) {\n // Disabled form controls are always valid\n this.formControlController.setValidity(this.disabled);\n }\n }\n\n /** Simulates a click on the button. */\n click() {\n this.button.click();\n }\n\n /** Sets focus on the button. */\n focus(options?: FocusOptions) {\n this.button.focus(options);\n }\n\n /** Removes focus from the button. */\n blur() {\n this.button.blur();\n }\n\n /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n if (this.isButton()) {\n return (this.button as HTMLButtonElement).checkValidity();\n }\n\n return true;\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n if (this.isButton()) {\n return (this.button as HTMLButtonElement).reportValidity();\n }\n\n return true;\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n if (this.isButton()) {\n (this.button as HTMLButtonElement).setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n }\n\n render(): TemplateResult {\n const isLink = this.isLink();\n const tag = isLink ? literal`a` : literal`button`;\n\n const variantCaretColors = {\n primary: this.disabled ? 'var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-white-base, var(--ng-componentcolors-components-button-primary-icon))',\n secondary: this.disabled ? 'var(--nile-colors-dark-500, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400))',\n tertiary: this.disabled ? 'var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400))',\n caution: this.disabled? 'var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle))': 'var(--nile-colors-white-base)',\n\n ghost: this.disabled ? 'var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-dark-900, var(--ng-colors-fg-quaternary-400))',\n destructive: this.disabled ? 'var(--nile-colors-white-base, var(--ng-colors-fg-disabled-subtle))' : 'var(--nile-colors-white-base, var(--ng-componentcolors-components-button-destructive-primary-icon))',\n 'secondary-grey': 'black',\n 'secondary-blue': 'black',\n 'tertiary-blue': 'black',\n };\n\n if(this.isLink()){\n return html`\n <a\n part=\"base\"\n class=${classMap({\n button: true,\n 'button--primary': this.variant === 'primary',\n 'button--secondary': this.variant === 'secondary',\n 'button--tertiary': this.variant === 'tertiary',\n 'button--caution': this.variant === 'caution',\n 'button--ghost': this.variant === 'ghost',\n 'button--destructive': this.variant === 'destructive',\n 'button--secondary-grey': this.variant === 'secondary-grey',\n 'button--secondary-blue': this.variant === 'secondary-blue',\n 'button--hideborder': this.hideBorder,\n 'button--medium': this.size === 'medium',\n 'button--caret': this.caret,\n 'button--circle': this.circle,\n 'button--disabled': this.disabled,\n 'button--focused': this.hasFocus,\n 'button--loading': this.loading,\n 'button--standard': !this.outline,\n 'button--outline': this.outline,\n 'button--pill': this.pill,\n 'button--has-label': this.hasSlotController.test('[default]'),\n 'button--has-prefix': this.hasSlotController.test('prefix'),\n 'button--has-suffix': this.hasSlotController.test('suffix'),\n })}\n href=${ifDefined(this.href)}\n target=${ifDefined(this.target)}\n download=${ifDefined(this.download)}\n rel=${ifDefined(this.rel)}\n title=${this.title}\n role=\"button\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n tabindex=${this.disabled ? '-1' : '0'}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @click=${this.handleClick}\n >\n <slot name=\"prefix\" part=\"prefix\" class=\"button__prefix\"></slot>\n <slot part=\"label\" class=\"button__label\"></slot>\n <slot name=\"suffix\" part=\"suffix\" class=\"button__suffix\"></slot>\n ${this.caret\n ? html`\n <nile-icon\n part=\"caret\"\n class=\"button__caret\"\n color=\"${variantCaretColors[this.variant]}\"\n name=\"var(--nile-icon-arrow-down, var(--ng-icon-chevron-down))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n ></nile-icon>\n `\n : ''}\n ${this.loading ? html`<nile-spinner></nile-spinner>` : ''}\n </a>\n `;\n }\n else{\n return html`\n <button\n part=\"base\"\n class=${classMap({\n button: true,\n 'button--primary': this.variant === 'primary',\n 'button--secondary': this.variant === 'secondary',\n 'button--tertiary': this.variant === 'tertiary',\n 'button--caution': this.variant === 'caution',\n 'button--ghost': this.variant === 'ghost',\n 'button--destructive': this.variant === 'destructive',\n 'button--secondary-grey': this.variant === 'secondary-grey',\n 'button--secondary-blue': this.variant === 'secondary-blue',\n 'button--hideborder': this.hideBorder,\n 'button--medium': this.size === 'medium',\n 'button--caret': this.caret,\n 'button--circle': this.circle,\n 'button--disabled': this.disabled,\n 'button--focused': this.hasFocus,\n 'button--loading': this.loading,\n 'button--standard': !this.outline,\n 'button--outline': this.outline,\n 'button--pill': this.pill,\n 'button--has-label': this.hasSlotController.test('[default]'),\n 'button--has-prefix': this.hasSlotController.test('prefix'),\n 'button--has-suffix': this.hasSlotController.test('suffix'),\n })}\n ?disabled=${this.disabled}\n type=${this.type}\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n title=${this.title}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n tabindex=${this.disabled ? '-1' : '0'}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @invalid=${this.handleInvalid}\n @click=${this.handleClick}\n >\n <slot name=\"prefix\" part=\"prefix\" class=\"button__prefix\"></slot>\n <slot part=\"label\" class=\"button__label\"></slot>\n <slot name=\"suffix\" part=\"suffix\" class=\"button__suffix\"></slot>\n ${this.caret\n ? html`\n <nile-icon\n part=\"caret\"\n class=\"button__caret\"\n color=${variantCaretColors[this.variant]}\n name=\"var(--nile-icon-arrow-down, var(--ng-icon-chevron-down))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n ></nile-icon>\n `\n : ''}\n ${this.loading ? html`<nile-spinner></nile-spinner>` : ''}\n </button>\n `;\n }\n }\n}\n\nexport default NileButton;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-button': NileButton;\n }\n}\n"]}
@@ -578,6 +578,63 @@ export const styles = css `
578
578
  .month-dropdown, .year-dropdown {
579
579
  cursor: pointer;
580
580
  }
581
+
582
+
583
+
584
+ :host([disabled]) .calendar-header__month-navigation,
585
+ :host([disabled]) .calendar-header__trigger,
586
+ :host([disabled]) .day_date {
587
+ cursor: not-allowed;
588
+ color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));
589
+ }
590
+
591
+
592
+
593
+ :host([disabled]) .base {
594
+ background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));
595
+ cursor: not-allowed;
596
+ color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));
597
+ }
598
+
599
+ :host([disabled]) .calendar-container {
600
+ background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));
601
+ }
602
+
603
+ :host([disabled]) .day_name {
604
+ color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));
605
+ }
606
+
607
+ :host([disabled]) nile-input::part(form-control-label) {
608
+ color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));
609
+ }
610
+ :host([disabled]) nile-select::part(form-control-label) {
611
+ color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));
612
+ }
613
+
614
+
615
+
616
+ :host([disabled]) .calendar-switcher {
617
+ pointer-events: none;
618
+ opacity:var(--nile-opacity-50, var(--ng-opacity-50));
619
+ }
620
+
621
+
622
+ :host([disabled]) .day_date{
623
+ pointer-events:none;
624
+ }
625
+ :host([disabled]) .day_date:not(.range-start, .selected-date, .range-end) .current__date__dot {
626
+ background-color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));
627
+ }
628
+
629
+ :host([disabled]) .duration_unit{
630
+ background-color: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));
631
+ }
632
+ :host([disabled]) .duration__value {
633
+ cursor: not-allowed;
634
+ background: var(--nile-colors-dark-200, var(--ng-colors-bg-disabled-subtle));
635
+ color: var(--nile-colors-dark-500, var(--ng-colors-fg-disabled));
636
+ border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-disabled));
637
+ }
581
638
  `;
582
639
  export default [styles];
583
640
  //# sourceMappingURL=nile-calendar.css.js.map