@aquera/nile-elements 0.0.79 → 0.0.81

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 (218) hide show
  1. package/README.md +8 -0
  2. package/demo/filenames.txt +1 -1
  3. package/demo/variables.css +7 -0
  4. package/demo/variables_v2.css +1 -0
  5. package/dist/fixture-6f853cbd.esm.js +569 -0
  6. package/dist/fixture-b1476eef.cjs.js +395 -0
  7. package/dist/fixture-b1476eef.cjs.js.map +1 -0
  8. package/dist/index.cjs.js +1 -1
  9. package/dist/index.esm.js +1 -1
  10. package/dist/index.iife.js +186 -70
  11. package/dist/internal/drag.cjs.js +2 -0
  12. package/dist/internal/drag.cjs.js.map +1 -0
  13. package/dist/internal/drag.esm.js +1 -0
  14. package/dist/internal/math.cjs.js +2 -0
  15. package/dist/internal/math.cjs.js.map +1 -0
  16. package/dist/internal/math.esm.js +1 -0
  17. package/dist/nile-badge/index.cjs.js +1 -1
  18. package/dist/nile-badge/index.esm.js +1 -1
  19. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  20. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  21. package/dist/nile-badge/nile-badge.esm.js +1 -1
  22. package/dist/nile-button/index.cjs.js +1 -1
  23. package/dist/nile-button/index.esm.js +1 -1
  24. package/dist/nile-button/nile-button.cjs.js +1 -1
  25. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  26. package/dist/nile-button/nile-button.esm.js +1 -1
  27. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -394
  28. package/dist/nile-checkbox/nile-checkbox.test.cjs.js.map +1 -1
  29. package/dist/nile-checkbox/nile-checkbox.test.esm.js +3 -571
  30. package/dist/nile-dialog/index.cjs.js +1 -1
  31. package/dist/nile-dialog/index.esm.js +1 -1
  32. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  33. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  34. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  35. package/dist/nile-drawer/index.cjs.js +1 -1
  36. package/dist/nile-drawer/index.esm.js +1 -1
  37. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  38. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  39. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  40. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +2 -0
  41. package/dist/nile-empty-state/nile-empty-state.test.cjs.js.map +1 -0
  42. package/dist/nile-empty-state/nile-empty-state.test.esm.js +9 -0
  43. package/dist/nile-hero/index.cjs.js +1 -1
  44. package/dist/nile-hero/index.esm.js +1 -1
  45. package/dist/nile-hero/nile-hero.cjs.js +1 -1
  46. package/dist/nile-hero/nile-hero.cjs.js.map +1 -1
  47. package/dist/nile-hero/nile-hero.css.cjs.js +1 -1
  48. package/dist/nile-hero/nile-hero.css.cjs.js.map +1 -1
  49. package/dist/nile-hero/nile-hero.css.esm.js +12 -2
  50. package/dist/nile-hero/nile-hero.esm.js +4 -4
  51. package/dist/nile-hero/nile-hero.test.cjs.js +2 -0
  52. package/dist/nile-hero/nile-hero.test.cjs.js.map +1 -0
  53. package/dist/nile-hero/nile-hero.test.esm.js +14 -0
  54. package/dist/nile-icon/icons/svg/flow-01.cjs.js +2 -0
  55. package/dist/nile-icon/icons/svg/flow-01.cjs.js.map +1 -0
  56. package/dist/nile-icon/icons/svg/flow-01.esm.js +1 -0
  57. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  58. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  59. package/dist/nile-icon/icons/svg/intersection.cjs.js +2 -0
  60. package/dist/nile-icon/icons/svg/intersection.cjs.js.map +1 -0
  61. package/dist/nile-icon/icons/svg/intersection.esm.js +1 -0
  62. package/dist/nile-icon/icons/svg/left-join.cjs.js +2 -0
  63. package/dist/nile-icon/icons/svg/left-join.cjs.js.map +1 -0
  64. package/dist/nile-icon/icons/svg/left-join.esm.js +1 -0
  65. package/dist/nile-icon/icons/svg/mapper.cjs.js +2 -0
  66. package/dist/nile-icon/icons/svg/mapper.cjs.js.map +1 -0
  67. package/dist/nile-icon/icons/svg/mapper.esm.js +1 -0
  68. package/dist/nile-icon/icons/svg/right-join.cjs.js +2 -0
  69. package/dist/nile-icon/icons/svg/right-join.cjs.js.map +1 -0
  70. package/dist/nile-icon/icons/svg/right-join.esm.js +1 -0
  71. package/dist/nile-icon/icons/svg/union.cjs.js +2 -0
  72. package/dist/nile-icon/icons/svg/union.cjs.js.map +1 -0
  73. package/dist/nile-icon/icons/svg/union.esm.js +1 -0
  74. package/dist/nile-icon/index.cjs.js +1 -1
  75. package/dist/nile-icon/index.cjs.js.map +1 -1
  76. package/dist/nile-icon/index.esm.js +1 -1
  77. package/dist/nile-icon-button/index.cjs.js +1 -1
  78. package/dist/nile-icon-button/index.esm.js +1 -1
  79. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  80. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  81. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  82. package/dist/nile-input/index.cjs.js +1 -1
  83. package/dist/nile-input/index.esm.js +1 -1
  84. package/dist/nile-input/nile-input.cjs.js +1 -1
  85. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  86. package/dist/nile-input/nile-input.esm.js +1 -1
  87. package/dist/nile-menu/nile-menu.cjs.js +1 -1
  88. package/dist/nile-menu/nile-menu.cjs.js.map +1 -1
  89. package/dist/nile-menu/nile-menu.esm.js +1 -1
  90. package/dist/nile-menu-item/index.cjs.js +1 -1
  91. package/dist/nile-menu-item/index.esm.js +1 -1
  92. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  93. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  94. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  95. package/dist/nile-option/index.cjs.js +1 -1
  96. package/dist/nile-option/index.esm.js +1 -1
  97. package/dist/nile-option/nile-option.cjs.js +1 -1
  98. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  99. package/dist/nile-option/nile-option.esm.js +1 -1
  100. package/dist/nile-select/index.cjs.js +1 -1
  101. package/dist/nile-select/index.esm.js +1 -1
  102. package/dist/nile-select/nile-select.cjs.js +1 -1
  103. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  104. package/dist/nile-select/nile-select.esm.js +1 -1
  105. package/dist/nile-split-panel/index.cjs.js +2 -0
  106. package/dist/nile-split-panel/index.cjs.js.map +1 -0
  107. package/dist/nile-split-panel/index.esm.js +1 -0
  108. package/dist/nile-split-panel/nile-split-panel.cjs.js +2 -0
  109. package/dist/nile-split-panel/nile-split-panel.cjs.js.map +1 -0
  110. package/dist/nile-split-panel/nile-split-panel.css.cjs.js +2 -0
  111. package/dist/nile-split-panel/nile-split-panel.css.cjs.js.map +1 -0
  112. package/dist/nile-split-panel/nile-split-panel.css.esm.js +87 -0
  113. package/dist/nile-split-panel/nile-split-panel.esm.js +21 -0
  114. package/dist/nile-stepper/nile-stepper.cjs.js +1 -1
  115. package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -1
  116. package/dist/nile-stepper/nile-stepper.esm.js +1 -1
  117. package/dist/nile-stepper/nile-stepper.test.cjs.js +2 -0
  118. package/dist/nile-stepper/nile-stepper.test.cjs.js.map +1 -0
  119. package/dist/nile-stepper/nile-stepper.test.esm.js +1 -0
  120. package/dist/nile-tab/index.cjs.js +1 -1
  121. package/dist/nile-tab/index.esm.js +1 -1
  122. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  123. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  124. package/dist/nile-tab/nile-tab.esm.js +1 -1
  125. package/dist/nile-tab-group/index.cjs.js +1 -1
  126. package/dist/nile-tab-group/index.esm.js +1 -1
  127. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  128. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  129. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  130. package/dist/nile-tag/index.cjs.js +1 -1
  131. package/dist/nile-tag/index.esm.js +1 -1
  132. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  133. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  134. package/dist/nile-tag/nile-tag.esm.js +1 -1
  135. package/dist/nile-toast/index.cjs.js +1 -1
  136. package/dist/nile-toast/index.esm.js +1 -1
  137. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  138. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  139. package/dist/nile-toast/nile-toast.esm.js +2 -2
  140. package/dist/src/index.d.ts +1 -0
  141. package/dist/src/index.js +1 -0
  142. package/dist/src/index.js.map +1 -1
  143. package/dist/src/internal/drag.d.ts +15 -0
  144. package/dist/src/internal/drag.js +28 -0
  145. package/dist/src/internal/drag.js.map +1 -0
  146. package/dist/src/internal/math.d.ts +2 -0
  147. package/dist/src/internal/math.js +12 -0
  148. package/dist/src/internal/math.js.map +1 -0
  149. package/dist/src/nile-empty-state/nile-empty-state.test.d.ts +1 -0
  150. package/dist/src/nile-empty-state/nile-empty-state.test.js +63 -0
  151. package/dist/src/nile-empty-state/nile-empty-state.test.js.map +1 -0
  152. package/dist/src/nile-hero/nile-hero.css.js +10 -0
  153. package/dist/src/nile-hero/nile-hero.css.js.map +1 -1
  154. package/dist/src/nile-hero/nile-hero.d.ts +0 -5
  155. package/dist/src/nile-hero/nile-hero.js +9 -36
  156. package/dist/src/nile-hero/nile-hero.js.map +1 -1
  157. package/dist/src/nile-hero/nile-hero.test.d.ts +1 -0
  158. package/dist/src/nile-hero/nile-hero.test.js +42 -0
  159. package/dist/src/nile-hero/nile-hero.test.js.map +1 -0
  160. package/dist/src/nile-icon/icons/svg/flow-01.d.ts +5 -0
  161. package/dist/src/nile-icon/icons/svg/flow-01.js +5 -0
  162. package/dist/src/nile-icon/icons/svg/flow-01.js.map +1 -0
  163. package/dist/src/nile-icon/icons/svg/index.d.ts +6 -0
  164. package/dist/src/nile-icon/icons/svg/index.js +6 -0
  165. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  166. package/dist/src/nile-icon/icons/svg/intersection.d.ts +5 -0
  167. package/dist/src/nile-icon/icons/svg/intersection.js +5 -0
  168. package/dist/src/nile-icon/icons/svg/intersection.js.map +1 -0
  169. package/dist/src/nile-icon/icons/svg/left-join.d.ts +5 -0
  170. package/dist/src/nile-icon/icons/svg/left-join.js +5 -0
  171. package/dist/src/nile-icon/icons/svg/left-join.js.map +1 -0
  172. package/dist/src/nile-icon/icons/svg/mapper.d.ts +5 -0
  173. package/dist/src/nile-icon/icons/svg/mapper.js +5 -0
  174. package/dist/src/nile-icon/icons/svg/mapper.js.map +1 -0
  175. package/dist/src/nile-icon/icons/svg/right-join.d.ts +5 -0
  176. package/dist/src/nile-icon/icons/svg/right-join.js +5 -0
  177. package/dist/src/nile-icon/icons/svg/right-join.js.map +1 -0
  178. package/dist/src/nile-icon/icons/svg/union.d.ts +5 -0
  179. package/dist/src/nile-icon/icons/svg/union.js +5 -0
  180. package/dist/src/nile-icon/icons/svg/union.js.map +1 -0
  181. package/dist/src/nile-menu/nile-menu.js +1 -1
  182. package/dist/src/nile-menu/nile-menu.js.map +1 -1
  183. package/dist/src/nile-split-panel/index.d.ts +1 -0
  184. package/dist/src/nile-split-panel/index.js +2 -0
  185. package/dist/src/nile-split-panel/index.js.map +1 -0
  186. package/dist/src/nile-split-panel/nile-split-panel.css.d.ts +12 -0
  187. package/dist/src/nile-split-panel/nile-split-panel.css.js +99 -0
  188. package/dist/src/nile-split-panel/nile-split-panel.css.js.map +1 -0
  189. package/dist/src/nile-split-panel/nile-split-panel.d.ts +78 -0
  190. package/dist/src/nile-split-panel/nile-split-panel.js +251 -0
  191. package/dist/src/nile-split-panel/nile-split-panel.js.map +1 -0
  192. package/dist/src/nile-stepper/nile-stepper.js +1 -1
  193. package/dist/src/nile-stepper/nile-stepper.js.map +1 -1
  194. package/dist/src/nile-stepper/nile-stepper.test.d.ts +0 -0
  195. package/dist/src/nile-stepper/nile-stepper.test.js +165 -0
  196. package/dist/src/nile-stepper/nile-stepper.test.js.map +1 -0
  197. package/dist/tsconfig.tsbuildinfo +1 -1
  198. package/package.json +1 -1
  199. package/src/index.ts +2 -1
  200. package/src/internal/drag.ts +45 -0
  201. package/src/internal/math.ts +14 -0
  202. package/src/nile-empty-state/nile-empty-state.test.ts +69 -0
  203. package/src/nile-hero/nile-hero.css.ts +10 -0
  204. package/src/nile-hero/nile-hero.test.ts +45 -0
  205. package/src/nile-hero/nile-hero.ts +7 -26
  206. package/src/nile-icon/icons/svg/flow-01.ts +5 -0
  207. package/src/nile-icon/icons/svg/index.ts +6 -0
  208. package/src/nile-icon/icons/svg/intersection.ts +5 -0
  209. package/src/nile-icon/icons/svg/left-join.ts +5 -0
  210. package/src/nile-icon/icons/svg/mapper.ts +5 -0
  211. package/src/nile-icon/icons/svg/right-join.ts +5 -0
  212. package/src/nile-icon/icons/svg/union.ts +5 -0
  213. package/src/nile-menu/nile-menu.ts +1 -1
  214. package/src/nile-split-panel/index.ts +1 -0
  215. package/src/nile-split-panel/nile-split-panel.css.ts +101 -0
  216. package/src/nile-split-panel/nile-split-panel.ts +285 -0
  217. package/src/nile-stepper/nile-stepper.test.ts +174 -0
  218. package/src/nile-stepper/nile-stepper.ts +2 -2
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent nile-elements following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "nile-elements",
6
- "version": "0.0.79",
6
+ "version": "0.0.81",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
package/src/index.ts CHANGED
@@ -63,4 +63,5 @@ export { NileStepperItem } from './nile-stepper-item';
63
63
  export { NileStepper } from './nile-stepper';
64
64
  export { NileHeroHeader } from './nile-hero-header';
65
65
  export { NileVerticalStepperItem } from './nile-vertical-stepper-item';
66
- export { NileFormatDate } from './nile-format-date';
66
+ export { NileFormatDate } from './nile-format-date';
67
+ export { NileSplitPanel } from './nile-split-panel';
@@ -0,0 +1,45 @@
1
+ interface DragOptions {
2
+ /** Callback that runs as dragging occurs. */
3
+ onMove: (x: number, y: number) => void;
4
+ /** Callback that runs when dragging stops. */
5
+ onStop: () => void;
6
+ /**
7
+ * When an initial event is passed, the first drag will be triggered immediately using the coordinates therein. This
8
+ * is useful when the drag is initiated by a mousedown/touchstart event but you want the initial "click" to activate
9
+ * a drag (e.g. positioning a handle initially at the click target).
10
+ */
11
+ initialEvent: PointerEvent;
12
+ }
13
+
14
+ /** Begins listening for dragging. */
15
+ export function drag(container: HTMLElement, options?: Partial<DragOptions>) {
16
+ function move(pointerEvent: PointerEvent) {
17
+ const dims = container.getBoundingClientRect();
18
+ const defaultView = container.ownerDocument.defaultView!;
19
+ const offsetX = dims.left + defaultView.pageXOffset;
20
+ const offsetY = dims.top + defaultView.pageYOffset;
21
+ const x = pointerEvent.pageX - offsetX;
22
+ const y = pointerEvent.pageY - offsetY;
23
+
24
+ if (options?.onMove) {
25
+ options.onMove(x, y);
26
+ }
27
+ }
28
+
29
+ function stop() {
30
+ document.removeEventListener('pointermove', move);
31
+ document.removeEventListener('pointerup', stop);
32
+
33
+ if (options?.onStop) {
34
+ options.onStop();
35
+ }
36
+ }
37
+
38
+ document.addEventListener('pointermove', move, { passive: true });
39
+ document.addEventListener('pointerup', stop);
40
+
41
+ // If an initial event is set, trigger the first drag immediately
42
+ if (options?.initialEvent instanceof PointerEvent) {
43
+ move(options.initialEvent);
44
+ }
45
+ }
@@ -0,0 +1,14 @@
1
+ /** Ensures a number stays within a minimum and maximum value */
2
+ export function clamp(value: number, min: number, max: number) {
3
+ const noNegativeZero = (n: number) => (Object.is(n, -0) ? 0 : n);
4
+
5
+ if (value < min) {
6
+ return noNegativeZero(min);
7
+ }
8
+
9
+ if (value > max) {
10
+ return noNegativeZero(max);
11
+ }
12
+
13
+ return noNegativeZero(value);
14
+ }
@@ -0,0 +1,69 @@
1
+ import { fixture,html,expect } from "@open-wc/testing";
2
+ import './nile-empty-state';
3
+ import { NileEmptyState } from "./nile-empty-state";
4
+
5
+ describe('NileEmptyState',()=>{
6
+ it('renders correctly with default properties',async ()=>{
7
+ const el=await fixture<NileEmptyState>(html`<nile-empty-state></nile-empty-state>`)
8
+ expect(el.size).to.equal('md');
9
+ expect(el.variant).to.equal('tonal');
10
+ expect(el.icon).to.equal('error');
11
+ expect(el.grayscale).to.be.false;
12
+ expect(el.text).to.equal('Empty State');
13
+ expect(el.subText).to.equal('No Data');
14
+ })
15
+
16
+ it('should reflect properties to attributes', async () => {
17
+ const iconName="action"
18
+ const el = await fixture<NileEmptyState>(html`
19
+ <nile-empty-state size="sm" variant="flat" icon=${iconName} grayscale text="Test state text" sub-text="Test sub text"></nile-empty-state>
20
+ `);
21
+ expect(el.getAttribute('size')).to.equal('sm');
22
+ expect(el.getAttribute('variant')).to.equal('flat');
23
+ expect(el.getAttribute('icon')).to.equal(iconName);
24
+ expect(el.hasAttribute('grayscale')).to.be.true;
25
+ expect(el.getAttribute('text')).to.equal('Test state text');
26
+ expect(el.getAttribute('sub-text')).to.equal('Test sub text');
27
+ });
28
+
29
+ it('should render different sizes correctly', async () => {
30
+ const sizes:Array<'sm' | 'md' | 'lg' >= ['sm', 'md', 'lg'];
31
+ for (const size of sizes) {
32
+ const el = await fixture<NileEmptyState>(html`<nile-empty-state size="${size}"></nile-empty-state>`);
33
+ const container = el.shadowRoot!.querySelector('.empty-state')!;
34
+ expect(container.classList.contains(`empty-state--${size}`)).to.be.true;
35
+ }
36
+ });
37
+
38
+ it('should render different variants correctly', async () => {
39
+ const variants :Array<'flat' | 'content' | 'tonal' >= ['flat', 'content', 'tonal'];
40
+ for (const variant of variants) {
41
+ const el = await fixture<NileEmptyState>(html`<nile-empty-state variant="${variant}"></nile-empty-state>`);
42
+ const container = el.shadowRoot!.querySelector(`.empty-state__body--${variant}`)!;
43
+ expect(container).to.exist;
44
+ }
45
+ });
46
+
47
+ it('should render text properties correctly', async () => {
48
+ const sampleText='Custom Text'
49
+ const sampleSubText="Custom SubText"
50
+ const el = await fixture<NileEmptyState>(html`
51
+ <nile-empty-state text=${sampleText} sub-text=${sampleSubText}></nile-empty-state>
52
+ `);
53
+ const textEl = el.shadowRoot!.querySelector('.empty-state__text')!;
54
+ const subTextEl = el.shadowRoot!.querySelector('.empty-state__subtext')!;
55
+ expect(textEl.textContent).to.equal(sampleText);
56
+ expect(subTextEl.textContent).to.equal(sampleSubText);
57
+ });
58
+
59
+ it('should render slot content', async () => {
60
+ const el = await fixture<NileEmptyState>(html`
61
+ <nile-empty-state>
62
+ <div class="slot-content">Slot Content</div>
63
+ </nile-empty-state>
64
+ `);
65
+ const slotContent = el.querySelector('.slot-content')!;
66
+ expect(slotContent).to.exist;
67
+ expect(slotContent.textContent).to.equal('Slot Content');
68
+ });
69
+ })
@@ -32,6 +32,16 @@ export const styles = css`
32
32
  transition: var(--nile-hero-transition-time);
33
33
  }
34
34
 
35
+ .hero__container--collapsed{
36
+ height: 67px;
37
+ background-color: var(--nile-hero-collapsed-background,#fff);
38
+ }
39
+
40
+ .hero__container--expanded{
41
+ height:var(--nile-hero-height);
42
+ background:linear-gradient(180deg, var( --nile-hero-color-bg-from-gradient) 0%, var( --nile-hero-color-bg-to-gradient) 100%);
43
+ }
44
+
35
45
  .icon__container {
36
46
  height: 32px;
37
47
  aspect-ratio: 1 / 1;
@@ -0,0 +1,45 @@
1
+ import { fixture, html, expect, oneEvent } from '@open-wc/testing';
2
+ import './nile-hero';
3
+ import { NileHero } from './nile-hero';
4
+
5
+ describe('NileHero', () => {
6
+ it('renders correctly with default properties', async () => {
7
+ const el = await fixture<NileHero>(html`
8
+ <nile-hero icon="error" hero-text="Test Hero">
9
+ <nile-page-header
10
+ heading="I am heading"
11
+ sub-heading="I am subheading"
12
+ ></nile-page-header>
13
+ </nile-hero>`);
14
+ expect(el.getAttribute('icon')).to.equal('error');
15
+ expect(el.hasAttribute('collapse')).to.be.false;
16
+ expect(el.getAttribute('img-src')).to.equal('');
17
+ expect(el.getAttribute('hero-text')).to.equal('Test Hero');
18
+ expect(el).shadowDom.to.equalSnapshot();
19
+ });
20
+
21
+ it('checks for collapsed state', async () => {
22
+ const el = await fixture<NileHero>(html`<nile-hero></nile-hero>`);
23
+ el.collapse = true;
24
+ await el.updateComplete;
25
+ expect(el.collapse).to.be.true;
26
+ el.collapse=true;
27
+ await el.updateComplete;
28
+ const heroContainer=el.shadowRoot?.querySelector('.hero__container');
29
+ expect(heroContainer?.classList.contains('hero__container--collapsed')).to.be.true;
30
+ });
31
+
32
+ it('should render slot content', async () => {
33
+ const el = await fixture<NileHero>(html`
34
+ <nile-hero>
35
+ <nile-page-header
36
+ heading="I am heading"
37
+ sub-heading="I am subheading"
38
+ ></nile-page-header>
39
+ </nile-hero>
40
+ `);
41
+ await el.updateComplete;
42
+ const NilePageHeader = el.querySelector('nile-page-header')!;
43
+ expect(NilePageHeader).to.exist;
44
+ });
45
+ })
@@ -9,7 +9,6 @@ import {LitElement, html, property, CSSResultArray, TemplateResult,nothing} from
9
9
  import { customElement, query, state } from 'lit/decorators.js';
10
10
  import {styles} from './nile-hero.css';
11
11
  import NileElement from '../internal/nile-element';
12
- import { watch } from '../internal/watch';
13
12
  import { classMap } from 'lit/directives/class-map.js';
14
13
 
15
14
 
@@ -21,14 +20,11 @@ import { classMap } from 'lit/directives/class-map.js';
21
20
  */
22
21
  @customElement('nile-hero')
23
22
  export class NileHero extends NileElement {
24
- @query('.hero__container') heroContainer: HTMLElement;
25
- @query('nile-hero-header') heroHeader: HTMLElement;
26
- @query('.hero__img__container') imgContainer: HTMLElement;
27
23
  @property({ reflect: true }) icon: string = 'action';
28
24
  @property({ reflect: true, type: Boolean }) collapse: boolean = false;
29
25
 
30
26
  @property({ reflect: true, attribute: 'img-src' }) imgSrc: string = '';
31
- @property({ reflect: true, attribute: 'hero-text' }) heroText: string = 'Nile Hero';
27
+ @property({ reflect: true, attribute: 'hero-text' }) heroText: string = '';
32
28
 
33
29
  /**
34
30
  * The styles for nile-hero
@@ -39,35 +35,20 @@ export class NileHero extends NileElement {
39
35
  }
40
36
 
41
37
  /* #endregion */
42
- connectedCallback() {
43
- super.connectedCallback();
44
- this.updateComplete.then(() => {
45
- this.updateOnCollapseChange();
46
- });
47
- }
48
38
  /* #region Methods */
49
39
 
50
- @watch('collapse')
51
- updateOnCollapseChange() {
52
- if (!this.heroContainer) return;
53
- const heroHeaderHeight = this.heroHeader.scrollHeight+1;
54
- if (this.collapse) {
55
- this.heroContainer.style.height = heroHeaderHeight + 'px';
56
- this.heroContainer.style.background = "var(--nile-hero-collapsed-background,#fff)";
57
- }
58
- else {
59
- this.heroContainer.style.height = "var(--nile-hero-height)";
60
- this.heroContainer.style.background = "linear-gradient(180deg, var( --nile-hero-color-bg-from-gradient) 0%, var( --nile-hero-color-bg-to-gradient) 100%)";
61
- }
62
- }
63
40
  /**
64
41
  * Render method
65
42
  * @slot This is a slot test
66
43
  */
67
44
  public render(): TemplateResult {
68
45
  return html`
69
- <div class="hero__container">
70
- <nile-hero-header class='hero__header--collapsed' style="opacity:${this.collapse?1:0}" hero-text="${this.heroText}" icon="${this.icon}"></nile-hero-header>
46
+ <div part="nile__hero__container" class=${classMap({
47
+ "hero__container":true,
48
+ "hero__container--collapsed":this.collapse,
49
+ "hero__container--expanded":!this.collapse
50
+ })}>
51
+ <nile-hero-header part="nile__hero__header" class='hero__header--collapsed' style="opacity:${this.collapse?1:0}" hero-text="${this.heroText}" icon="${this.icon}"></nile-hero-header>
71
52
  <div class="hero__slot__container" style="opacity:${this.collapse?0:1}">
72
53
  <div class="hero__slot">
73
54
  <span class="icon__container">
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+
5
+ export default "PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBpZD0iMTYvRmxvdyI+PHBhdGggaWQ9IlVuaW9uIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEuNjc0OCAxSDUuNjc0OFY1SDQuMTc0OFY2LjVINy42NzQ4VjVIMTUuNjc0OFY5SDcuNjc0OFY3LjVINC4xNzQ4VjEyLjVINy42NzQ4VjExSDE1LjY3NDhWMTVINy42NzQ4VjEzLjVINC4xNzQ4SDMuNjc0OEgzLjE3NDhWNUgxLjY3NDhWMVpNOC42NzQ4IDEzLjVWMTRIMTQuNjc0OFYxMkg4LjY3NDhWMTIuNVYxMy41Wk04LjY3NDggNy41VjYuNVY2SDE0LjY3NDhWOEg4LjY3NDhWNy41Wk0zLjE3NDggNEg0LjE3NDhINC42NzQ4VjJIMi42NzQ4VjRIMy4xNzQ4WiIgZmlsbD0iIzAwNUVBNiIvPjwvZz48L3N2Zz4=";
@@ -180,6 +180,7 @@ export { default as filter } from './filter';
180
180
  export { default as fingerprint03 } from './fingerprint-03';
181
181
  export { default as firewall } from './firewall';
182
182
  export { default as firewallagent } from './firewallagent';
183
+ export { default as flow01 } from './flow-01';
183
184
  export { default as flowh } from './flow-h';
184
185
  export { default as flow } from './flow';
185
186
  export { default as flowmapagent } from './flowmap-agent';
@@ -257,6 +258,7 @@ export { default as info } from './info';
257
258
  export { default as info2 } from './info2';
258
259
  export { default as inprogress } from './inprogress';
259
260
  export { default as integer } from './integer';
261
+ export { default as intersection } from './intersection';
260
262
  export { default as itemplaceholder } from './itemplaceholder';
261
263
  export { default as js } from './js';
262
264
  export { default as keyperformanceindicator } from './key-performance-indicator';
@@ -266,6 +268,7 @@ export { default as layersthree01 } from './layers-three-01';
266
268
  export { default as layersthree02 } from './layers-three-02';
267
269
  export { default as layoutalt02 } from './layout-alt-02';
268
270
  export { default as layoutalt03 } from './layout-alt-03';
271
+ export { default as leftjoin } from './left-join';
269
272
  export { default as leftarrow } from './leftarrow';
270
273
  export { default as leftpointarrow } from './leftpointarrow';
271
274
  export { default as lifebuoy01 } from './life-buoy-01';
@@ -290,6 +293,7 @@ export { default as mapcreate } from './mapcreate';
290
293
  export { default as mapdont } from './mapdont';
291
294
  export { default as maponcreate } from './maponcreate';
292
295
  export { default as maponupdate } from './maponupdate';
296
+ export { default as mapper } from './mapper';
293
297
  export { default as mapupdate } from './mapupdate';
294
298
  export { default as markerpin01 } from './marker-pin-01';
295
299
  export { default as maximize } from './maximize';
@@ -381,6 +385,7 @@ export { default as resource } from './resource';
381
385
  export { default as returnvalue } from './returnvalue';
382
386
  export { default as revocationcycle } from './revocationcycle';
383
387
  export { default as revokationcycle } from './revokation-cycle';
388
+ export { default as rightjoin } from './right-join';
384
389
  export { default as rightarrow } from './rightarrow';
385
390
  export { default as role } from './role';
386
391
  export { default as rolemanager } from './rolemanager';
@@ -452,6 +457,7 @@ export { default as trendup02 } from './trend-up-02';
452
457
  export { default as trigger } from './trigger';
453
458
  export { default as undo1 } from './undo-1';
454
459
  export { default as undo } from './undo';
460
+ export { default as union } from './union';
455
461
  export { default as unmute } from './unmute';
456
462
  export { default as uparrow } from './uparrow';
457
463
  export { default as update } from './update';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+
5
+ export default "PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAxNiAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWFzayBpZD0icGF0aC0xLWluc2lkZS0xXzE1ODZfMTcyNTQiIGZpbGw9IndoaXRlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEuNTAxMDEgMTMuMDAwMUMwLjU1NjM1NiAxMS42ODY3IC00LjI1ODA4ZS0wNyAxMC4wNzUzIC0zLjQ5NjkxZS0wNyA4LjMzMzk4Qy0xLjU2NTYyZS0wNyAzLjkxNTcxIDMuNTgxNzIgMC4zMzM5ODQgOCAwLjMzMzk4NEMxMi40MTgzIDAuMzMzOTg0IDE2IDMuOTE1NzEgMTYgOC4zMzM5OEMxNiAxMC4wNzUzIDE1LjQ0MzYgMTEuNjg2NyAxNC40OTkgMTMuMDAwMUMxNS40NDM2IDE0LjMxMzUgMTYgMTUuOTI0OSAxNiAxNy42NjYyQzE2IDIyLjA4NDUgMTIuNDE4MyAyNS42NjYyIDggMjUuNjY2MkMzLjU4MTcyIDI1LjY2NjIgLTkuNTA3NDZlLTA3IDIyLjA4NDUgLTcuNTc2MTdlLTA3IDE3LjY2NjJDLTYuODE1MDFlLTA3IDE1LjkyNDkgMC41NTYzNTYgMTQuMzEzNSAxLjUwMTAxIDEzLjAwMDFaIi8+PC9tYXNrPjxwYXRoIGQ9Ik0xLjUwMTAxIDEzLjAwMDFMMi4zMTI4NCAxMy41ODRMMi43MzI4MSAxMy4wMDAxTDIuMzEyODQgMTIuNDE2MkwxLjUwMTAxIDEzLjAwMDFaTTE0LjQ5OSAxMy4wMDAxTDEzLjY4NzIgMTIuNDE2MkwxMy4yNjcyIDEzLjAwMDFMMTMuNjg3MiAxMy41ODRMMTQuNDk5IDEzLjAwMDFaTTIuMzEyODQgMTIuNDE2MkMxLjQ4NjQ2IDExLjI2NzMgMSA5Ljg1ODkxIDEgOC4zMzM5OEwtMSA4LjMzMzk4Qy0xIDEwLjI5MTcgLTAuMzczNzQ3IDEyLjEwNjIgMC42ODkxODcgMTMuNTg0TDIuMzEyODQgMTIuNDE2MlpNMSA4LjMzMzk4QzEgNC40Njc5OSA0LjEzNDAxIDEuMzMzOTggOCAxLjMzMzk4TDggLTAuNjY2MDE2QzMuMDI5NDQgLTAuNjY2MDE2IC0xIDMuMzYzNDIgLTEgOC4zMzM5OEwxIDguMzMzOThaTTggMS4zMzM5OEMxMS44NjYgMS4zMzM5OCAxNSA0LjQ2Nzk5IDE1IDguMzMzOThMMTcgOC4zMzM5OEMxNyAzLjM2MzQyIDEyLjk3MDYgLTAuNjY2MDE2IDggLTAuNjY2MDE2TDggMS4zMzM5OFpNMTUgOC4zMzM5OEMxNSA5Ljg1ODkxIDE0LjUxMzUgMTEuMjY3MyAxMy42ODcyIDEyLjQxNjJMMTUuMzEwOCAxMy41ODRDMTYuMzczNyAxMi4xMDYyIDE3IDEwLjI5MTcgMTcgOC4zMzM5OEwxNSA4LjMzMzk4Wk0xMy42ODcyIDEzLjU4NEMxNC41MTM1IDE0LjczMyAxNSAxNi4xNDEzIDE1IDE3LjY2NjJMMTcgMTcuNjY2MkMxNyAxNS43MDg1IDE2LjM3MzcgMTMuODk0MSAxNS4zMTA4IDEyLjQxNjJMMTMuNjg3MiAxMy41ODRaTTE1IDE3LjY2NjJDMTUgMjEuNTMyMiAxMS44NjYgMjQuNjY2MiA4IDI0LjY2NjJMOCAyNi42NjYyQzEyLjk3MDYgMjYuNjY2MiAxNyAyMi42MzY4IDE3IDE3LjY2NjJMMTUgMTcuNjY2MlpNOCAyNC42NjYyQzQuMTM0MDEgMjQuNjY2MiAwLjk5OTk5OSAyMS41MzIyIDAuOTk5OTk5IDE3LjY2NjJMLTEgMTcuNjY2MkMtMSAyMi42MzY4IDMuMDI5NDQgMjYuNjY2MiA4IDI2LjY2NjJMOCAyNC42NjYyWk0wLjk5OTk5OSAxNy42NjYyQzAuOTk5OTk5IDE2LjE0MTMgMS40ODY0NiAxNC43MzMgMi4zMTI4NCAxMy41ODRMMC42ODkxODcgMTIuNDE2MkMtMC4zNzM3NDcgMTMuODk0MSAtMSAxNS43MDg1IC0xIDE3LjY2NjJMMC45OTk5OTkgMTcuNjY2MloiIGZpbGw9IiMwMDVFQTYiIG1hc2s9InVybCgjcGF0aC0xLWluc2lkZS0xXzE1ODZfMTcyNTQpIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjUwMTA1IDEzLjAwMThDMi45NTMyNSAxNS4wMjA5IDUuMzIzMSAxNi4zMzU3IDguMDAwMDMgMTYuMzM1N0MxMC42NzcgMTYuMzM1NyAxMy4wNDY4IDE1LjAyMDkgMTQuNDk5IDEzLjAwMThDMTMuMDQ2OCAxMC45ODI4IDEwLjY3NyA5LjY2Nzk3IDguMDAwMDMgOS42Njc5N0M1LjMyMzEgOS42Njc5NyAyLjk1MzI1IDEwLjk4MjggMS41MDEwNSAxMy4wMDE4WiIgZmlsbD0iIzAwNUVBNiIvPjwvc3ZnPg==";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+
5
+ export default "PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAxNiAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSI4IiBjeT0iMTcuNjY2IiByPSI3LjUiIHRyYW5zZm9ybT0icm90YXRlKDkwIDggMTcuNjY2KSIgc3Ryb2tlPSIjMDA1RUE2Ii8+PGNpcmNsZSBjeD0iOCIgY3k9IjguMzMzOTgiIHI9IjgiIHRyYW5zZm9ybT0icm90YXRlKDkwIDggOC4zMzM5OCkiIGZpbGw9IiMwMDVFQTYiLz48L3N2Zz4=";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+
5
+ export default "PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBpZD0iMTYvTWFwcGVyIj48cGF0aCBpZD0iVW5pb24iIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNC42NzQ4IDFIMS42NzQ4VjRINC42NzQ4VjNMMTIuNjc0OCAzVjRIMTUuNjc0OFYxSDEyLjY3NDhWMkw0LjY3NDggMlYxWk00LjY3NDggNi41SDEuNjc0OFY5LjVINC42NzQ4VjguNUg4LjY3NDhWMTIuNUM4LjY3NDggMTIuNzc2MSA4LjQ1MDk1IDEzIDguMTc0OCAxM0g0LjY3NDhWMTJIMS42NzQ4VjE1SDQuNjc0OFYxNEg4LjE3NDhDOS4wMDMyMyAxNCA5LjY3NDggMTMuMzI4NCA5LjY3NDggMTIuNVY4LjVIMTIuNjc0OFY5LjVIMTUuNjc0OFY2LjVIMTIuNjc0OFY3LjVINC42NzQ4VjYuNVoiIGZpbGw9IiMwMDVFQTYiLz48L2c+PC9zdmc+";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+
5
+ export default "PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAxNiAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSI4IiBjeT0iMTcuNjY2IiByPSI4IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA4IDE3LjY2NikiIGZpbGw9IiMwMDVFQTYiLz48Y2lyY2xlIGN4PSI4IiBjeT0iOC4zMzM5OCIgcj0iNy41IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA4IDguMzMzOTgpIiBzdHJva2U9IiMwMDVFQTYiLz48L3N2Zz4=";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+
5
+ export default "PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAxNiAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEuNTAxMDEgMTMuMDAwMUMwLjU1NjM1NiAxMS42ODY3IC00LjI1ODA4ZS0wNyAxMC4wNzUzIC0zLjQ5NjkxZS0wNyA4LjMzMzk4Qy0xLjU2NTYyZS0wNyAzLjkxNTcxIDMuNTgxNzIgMC4zMzM5ODQgOCAwLjMzMzk4NEMxMi40MTgzIDAuMzMzOTg0IDE2IDMuOTE1NzEgMTYgOC4zMzM5OEMxNiAxMC4wNzUzIDE1LjQ0MzYgMTEuNjg2NyAxNC40OTkgMTMuMDAwMUMxNS40NDM2IDE0LjMxMzUgMTYgMTUuOTI0OSAxNiAxNy42NjYyQzE2IDIyLjA4NDUgMTIuNDE4MyAyNS42NjYyIDggMjUuNjY2MkMzLjU4MTcyIDI1LjY2NjIgLTkuNTA3NDZlLTA3IDIyLjA4NDUgLTcuNTc2MTdlLTA3IDE3LjY2NjJDLTYuODE1MDFlLTA3IDE1LjkyNDkgMC41NTYzNTYgMTQuMzEzNSAxLjUwMTAxIDEzLjAwMDFaIiBmaWxsPSIjMDA1RUE2Ii8+PC9zdmc+";
@@ -30,7 +30,7 @@ export class NileMenu extends NileElement {
30
30
 
31
31
  @property({ type: String }) noResultsMessage: string = 'No results found';
32
32
 
33
- @query('slot') defaultSlot: HTMLSlotElement;
33
+ @query('slot:not([name])') defaultSlot!: HTMLSlotElement;
34
34
 
35
35
  connectedCallback() {
36
36
  super.connectedCallback();
@@ -0,0 +1 @@
1
+ export { NileSplitPanel } from './nile-split-panel';
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import {css} from 'lit-element';
9
+
10
+ /**
11
+ * SplitPanel CSS
12
+ */
13
+ export const styles = css`
14
+ :host *,
15
+ :host *::before,
16
+ :host *::after {
17
+ box-sizing: inherit;
18
+ }
19
+
20
+ [hidden] {
21
+ display: none !important;
22
+ }
23
+
24
+ :host {
25
+ box-sizing: border-box;
26
+ --divider-width: 4px;
27
+ --divider-hit-area: 12px;
28
+ --min: 0%;
29
+ --max: 100%;
30
+
31
+ display: grid;
32
+ }
33
+
34
+ .start,
35
+ .end {
36
+ overflow: hidden;
37
+ }
38
+
39
+ .divider {
40
+ flex: 0 0 var(--divider-width);
41
+ display: flex;
42
+ position: relative;
43
+ align-items: center;
44
+ justify-content: center;
45
+ background-color: var(--nile-colors-neutral-100);
46
+ color: var(--nile-colors-dark-900);
47
+ z-index: 1;
48
+ }
49
+
50
+ .divider:focus {
51
+ outline: none;
52
+ }
53
+
54
+ :host(:not([disabled])) .divider:focus-visible {
55
+ background-color: var(--nile-colors-blue-500);
56
+ color: var(--nile-colors-white-base);
57
+ }
58
+
59
+ :host([disabled]) .divider {
60
+ cursor: not-allowed;
61
+ }
62
+
63
+ /* Horizontal */
64
+ :host(:not([vertical], [disabled])) .divider {
65
+ cursor: col-resize;
66
+ }
67
+
68
+ :host(:not([vertical])) .divider::after {
69
+ display: flex;
70
+ content: '';
71
+ position: absolute;
72
+ height: 100%;
73
+ left: calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);
74
+ width: var(--divider-hit-area);
75
+ }
76
+
77
+ /* Vertical */
78
+ :host([vertical]) {
79
+ flex-direction: column;
80
+ }
81
+
82
+ :host([vertical]:not([disabled])) .divider {
83
+ cursor: row-resize;
84
+ }
85
+
86
+ :host([vertical]) .divider::after {
87
+ content: '';
88
+ position: absolute;
89
+ width: 100%;
90
+ top: calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);
91
+ height: var(--divider-hit-area);
92
+ }
93
+
94
+ @media (forced-colors: active) {
95
+ .divider {
96
+ outline: solid 1px transparent;
97
+ }
98
+ }
99
+ `;
100
+
101
+ export default [styles];