@brad-frost-web/eddie-web-components 0.1.0

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 (254) hide show
  1. package/components/EdElement.d.ts +61 -0
  2. package/components/EdElement.d.ts.map +1 -0
  3. package/components/EdElement.js +63 -0
  4. package/components/EdFormElement.d.ts +65 -0
  5. package/components/EdFormElement.d.ts.map +1 -0
  6. package/components/EdFormElement.js +46 -0
  7. package/components/accordion/accordion.d.ts +19 -0
  8. package/components/accordion/accordion.d.ts.map +1 -0
  9. package/components/accordion/accordion.js +31 -0
  10. package/components/accordion-panel/accordion-panel.d.ts +57 -0
  11. package/components/accordion-panel/accordion-panel.d.ts.map +1 -0
  12. package/components/accordion-panel/accordion-panel.js +95 -0
  13. package/components/alert/alert.d.ts +72 -0
  14. package/components/alert/alert.d.ts.map +1 -0
  15. package/components/alert/alert.js +77 -0
  16. package/components/badge/badge.d.ts +29 -0
  17. package/components/badge/badge.d.ts.map +1 -0
  18. package/components/badge/badge.js +33 -0
  19. package/components/band/band.d.ts +24 -0
  20. package/components/band/band.d.ts.map +1 -0
  21. package/components/band/band.js +32 -0
  22. package/components/box/box.d.ts +14 -0
  23. package/components/box/box.d.ts.map +1 -0
  24. package/components/box/box.js +20 -0
  25. package/components/breadcrumbs/breadcrumbs.d.ts +14 -0
  26. package/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  27. package/components/breadcrumbs/breadcrumbs.js +22 -0
  28. package/components/breadcrumbs-item/breadcrumbs-item.d.ts +31 -0
  29. package/components/breadcrumbs-item/breadcrumbs-item.d.ts.map +1 -0
  30. package/components/breadcrumbs-item/breadcrumbs-item.js +36 -0
  31. package/components/button/button.d.ts +93 -0
  32. package/components/button/button.d.ts.map +1 -0
  33. package/components/button/button.js +118 -0
  34. package/components/button-group/button-group.d.ts +24 -0
  35. package/components/button-group/button-group.d.ts.map +1 -0
  36. package/components/button-group/button-group.js +35 -0
  37. package/components/card/card.d.ts +34 -0
  38. package/components/card/card.d.ts.map +1 -0
  39. package/components/card/card.js +43 -0
  40. package/components/checkbox-field/checkbox-field.d.ts +76 -0
  41. package/components/checkbox-field/checkbox-field.d.ts.map +1 -0
  42. package/components/checkbox-field/checkbox-field.js +98 -0
  43. package/components/checkbox-field-item/checkbox-field-item.d.ts +81 -0
  44. package/components/checkbox-field-item/checkbox-field-item.d.ts.map +1 -0
  45. package/components/checkbox-field-item/checkbox-field-item.js +110 -0
  46. package/components/counter/counter.d.ts +134 -0
  47. package/components/counter/counter.d.ts.map +1 -0
  48. package/components/counter/counter.js +176 -0
  49. package/components/drawer/drawer.d.ts +41 -0
  50. package/components/drawer/drawer.d.ts.map +1 -0
  51. package/components/drawer/drawer.js +74 -0
  52. package/components/feature/feature.d.ts +27 -0
  53. package/components/feature/feature.d.ts.map +1 -0
  54. package/components/feature/feature.js +42 -0
  55. package/components/field-note/field-note.d.ts +33 -0
  56. package/components/field-note/field-note.d.ts.map +1 -0
  57. package/components/field-note/field-note.js +44 -0
  58. package/components/file-upload/file-upload.d.ts +118 -0
  59. package/components/file-upload/file-upload.d.ts.map +1 -0
  60. package/components/file-upload/file-upload.js +224 -0
  61. package/components/file-upload/file-upload.model.d.ts +24 -0
  62. package/components/file-upload/file-upload.model.d.ts.map +1 -0
  63. package/components/file-upload.model/file-upload.model.js +11 -0
  64. package/components/footer/footer.d.ts +16 -0
  65. package/components/footer/footer.d.ts.map +1 -0
  66. package/components/footer/footer.js +35 -0
  67. package/components/global-nav/global-nav.d.ts +14 -0
  68. package/components/global-nav/global-nav.d.ts.map +1 -0
  69. package/components/global-nav/global-nav.js +22 -0
  70. package/components/global-nav-item/global-nav-item.d.ts +80 -0
  71. package/components/global-nav-item/global-nav-item.d.ts.map +1 -0
  72. package/components/global-nav-item/global-nav-item.js +128 -0
  73. package/components/grid/grid.d.ts +51 -0
  74. package/components/grid/grid.d.ts.map +1 -0
  75. package/components/grid/grid.js +49 -0
  76. package/components/grid-item/grid-item.d.ts +14 -0
  77. package/components/grid-item/grid-item.d.ts.map +1 -0
  78. package/components/grid-item/grid-item.js +20 -0
  79. package/components/header/header.d.ts +19 -0
  80. package/components/header/header.d.ts.map +1 -0
  81. package/components/header/header.js +49 -0
  82. package/components/heading/heading.d.ts +44 -0
  83. package/components/heading/heading.d.ts.map +1 -0
  84. package/components/heading/heading.js +51 -0
  85. package/components/hero/hero.d.ts +22 -0
  86. package/components/hero/hero.d.ts.map +1 -0
  87. package/components/hero/hero.js +37 -0
  88. package/components/hr/hr.d.ts +23 -0
  89. package/components/hr/hr.d.ts.map +1 -0
  90. package/components/hr/hr.js +27 -0
  91. package/components/icon/icon.d.ts +51 -0
  92. package/components/icon/icon.d.ts.map +1 -0
  93. package/components/icon/icon.js +66 -0
  94. package/components/icon-link-list/icon-link-list.d.ts +19 -0
  95. package/components/icon-link-list/icon-link-list.d.ts.map +1 -0
  96. package/components/icon-link-list/icon-link-list.js +31 -0
  97. package/components/icon-link-list-item/icon-link-list-item.d.ts +23 -0
  98. package/components/icon-link-list-item/icon-link-list-item.d.ts.map +1 -0
  99. package/components/icon-link-list-item/icon-link-list-item.js +39 -0
  100. package/components/index.browser.js +4 -0
  101. package/components/inline-checkbox/inline-checkbox.d.ts +73 -0
  102. package/components/inline-checkbox/inline-checkbox.d.ts.map +1 -0
  103. package/components/inline-checkbox/inline-checkbox.js +114 -0
  104. package/components/key-value-table/key-value-table.d.ts +19 -0
  105. package/components/key-value-table/key-value-table.d.ts.map +1 -0
  106. package/components/key-value-table/key-value-table.js +33 -0
  107. package/components/key-value-table-row/key-value-table-row.d.ts +30 -0
  108. package/components/key-value-table-row/key-value-table-row.d.ts.map +1 -0
  109. package/components/key-value-table-row/key-value-table-row.js +38 -0
  110. package/components/layout/layout.d.ts +50 -0
  111. package/components/layout/layout.d.ts.map +1 -0
  112. package/components/layout/layout.js +43 -0
  113. package/components/layout-container/layout-container.d.ts +14 -0
  114. package/components/layout-container/layout-container.d.ts.map +1 -0
  115. package/components/layout-container/layout-container.js +20 -0
  116. package/components/layout-section/layout-section.d.ts +28 -0
  117. package/components/layout-section/layout-section.d.ts.map +1 -0
  118. package/components/layout-section/layout-section.js +37 -0
  119. package/components/linelength-container/linelength-container.d.ts +14 -0
  120. package/components/linelength-container/linelength-container.d.ts.map +1 -0
  121. package/components/linelength-container/linelength-container.js +20 -0
  122. package/components/link-list/link-list.d.ts +56 -0
  123. package/components/link-list/link-list.d.ts.map +1 -0
  124. package/components/link-list/link-list.js +48 -0
  125. package/components/link-list-item/link-list-item.d.ts +26 -0
  126. package/components/link-list-item/link-list-item.d.ts.map +1 -0
  127. package/components/link-list-item/link-list-item.js +41 -0
  128. package/components/list/list.d.ts +33 -0
  129. package/components/list/list.d.ts.map +1 -0
  130. package/components/list/list.js +36 -0
  131. package/components/list-item/list-item.d.ts +14 -0
  132. package/components/list-item/list-item.d.ts.map +1 -0
  133. package/components/list-item/list-item.js +20 -0
  134. package/components/loading-indicator/loading-indicator.d.ts +14 -0
  135. package/components/loading-indicator/loading-indicator.d.ts.map +1 -0
  136. package/components/loading-indicator/loading-indicator.js +20 -0
  137. package/components/logo/logo.d.ts +18 -0
  138. package/components/logo/logo.d.ts.map +1 -0
  139. package/components/logo/logo.js +29 -0
  140. package/components/main/main.d.ts +14 -0
  141. package/components/main/main.d.ts.map +1 -0
  142. package/components/main/main.js +16 -0
  143. package/components/media-block/media-block.d.ts +24 -0
  144. package/components/media-block/media-block.d.ts.map +1 -0
  145. package/components/media-block/media-block.js +37 -0
  146. package/components/modal/modal.d.ts +37 -0
  147. package/components/modal/modal.d.ts.map +1 -0
  148. package/components/modal/modal.js +67 -0
  149. package/components/nav-container/nav-container.d.ts +14 -0
  150. package/components/nav-container/nav-container.d.ts.map +1 -0
  151. package/components/nav-container/nav-container.js +20 -0
  152. package/components/page-header/page-header.d.ts +18 -0
  153. package/components/page-header/page-header.d.ts.map +1 -0
  154. package/components/page-header/page-header.js +39 -0
  155. package/components/pagination/pagination.d.ts +38 -0
  156. package/components/pagination/pagination.d.ts.map +1 -0
  157. package/components/pagination/pagination.js +52 -0
  158. package/components/pagination-item/pagination-item.d.ts +35 -0
  159. package/components/pagination-item/pagination-item.d.ts.map +1 -0
  160. package/components/pagination-item/pagination-item.js +52 -0
  161. package/components/primary-nav/primary-nav.d.ts +23 -0
  162. package/components/primary-nav/primary-nav.d.ts.map +1 -0
  163. package/components/primary-nav/primary-nav.js +33 -0
  164. package/components/primary-nav-item/primary-nav-item.d.ts +70 -0
  165. package/components/primary-nav-item/primary-nav-item.d.ts.map +1 -0
  166. package/components/primary-nav-item/primary-nav-item.js +121 -0
  167. package/components/radio-field/radio-field.d.ts +84 -0
  168. package/components/radio-field/radio-field.d.ts.map +1 -0
  169. package/components/radio-field/radio-field.js +108 -0
  170. package/components/radio-field-item/radio-field-item.d.ts +100 -0
  171. package/components/radio-field-item/radio-field-item.d.ts.map +1 -0
  172. package/components/radio-field-item/radio-field-item.js +142 -0
  173. package/components/search-form/search-form.d.ts +91 -0
  174. package/components/search-form/search-form.d.ts.map +1 -0
  175. package/components/search-form/search-form.js +131 -0
  176. package/components/section/section.d.ts +16 -0
  177. package/components/section/section.d.ts.map +1 -0
  178. package/components/section/section.js +27 -0
  179. package/components/select-field/select-field.d.ts +94 -0
  180. package/components/select-field/select-field.d.ts.map +1 -0
  181. package/components/select-field/select-field.js +123 -0
  182. package/components/show-hide/show-hide.d.ts +61 -0
  183. package/components/show-hide/show-hide.d.ts.map +1 -0
  184. package/components/show-hide/show-hide.js +72 -0
  185. package/components/show-more/show-more.d.ts +33 -0
  186. package/components/show-more/show-more.d.ts.map +1 -0
  187. package/components/show-more/show-more.js +63 -0
  188. package/components/skeleton/skeleton.d.ts +31 -0
  189. package/components/skeleton/skeleton.d.ts.map +1 -0
  190. package/components/skeleton/skeleton.js +33 -0
  191. package/components/tab/tab.d.ts +45 -0
  192. package/components/tab/tab.d.ts.map +1 -0
  193. package/components/tab/tab.js +47 -0
  194. package/components/table/table.d.ts +33 -0
  195. package/components/table/table.d.ts.map +1 -0
  196. package/components/table/table.js +39 -0
  197. package/components/table-body/table-body.d.ts +14 -0
  198. package/components/table-body/table-body.d.ts.map +1 -0
  199. package/components/table-body/table-body.js +20 -0
  200. package/components/table-cell/table-cell.d.ts +38 -0
  201. package/components/table-cell/table-cell.d.ts.map +1 -0
  202. package/components/table-cell/table-cell.js +36 -0
  203. package/components/table-header/table-header.d.ts +14 -0
  204. package/components/table-header/table-header.d.ts.map +1 -0
  205. package/components/table-header/table-header.js +20 -0
  206. package/components/table-header-cell/table-header-cell.d.ts +62 -0
  207. package/components/table-header-cell/table-header-cell.d.ts.map +1 -0
  208. package/components/table-header-cell/table-header-cell.js +62 -0
  209. package/components/table-object/table-object.d.ts +66 -0
  210. package/components/table-object/table-object.d.ts.map +1 -0
  211. package/components/table-object/table-object.js +96 -0
  212. package/components/table-row/table-row.d.ts +14 -0
  213. package/components/table-row/table-row.d.ts.map +1 -0
  214. package/components/table-row/table-row.js +20 -0
  215. package/components/tabs/tabs.d.ts +101 -0
  216. package/components/tabs/tabs.d.ts.map +1 -0
  217. package/components/tabs/tabs.js +184 -0
  218. package/components/tag/tag.d.ts +27 -0
  219. package/components/tag/tag.d.ts.map +1 -0
  220. package/components/tag/tag.js +41 -0
  221. package/components/tag-list/tag-list.d.ts +14 -0
  222. package/components/tag-list/tag-list.d.ts.map +1 -0
  223. package/components/tag-list/tag-list.js +20 -0
  224. package/components/text-field/text-field.d.ts +89 -0
  225. package/components/text-field/text-field.d.ts.map +1 -0
  226. package/components/text-field/text-field.js +124 -0
  227. package/components/text-link/text-link.d.ts +42 -0
  228. package/components/text-link/text-link.d.ts.map +1 -0
  229. package/components/text-link/text-link.js +47 -0
  230. package/components/text-passage/text-passage.d.ts +38 -0
  231. package/components/text-passage/text-passage.d.ts.map +1 -0
  232. package/components/text-passage/text-passage.js +57 -0
  233. package/components/textarea-field/textarea-field.d.ts +82 -0
  234. package/components/textarea-field/textarea-field.d.ts.map +1 -0
  235. package/components/textarea-field/textarea-field.js +111 -0
  236. package/components/toggle/toggle.d.ts +89 -0
  237. package/components/toggle/toggle.d.ts.map +1 -0
  238. package/components/toggle/toggle.js +132 -0
  239. package/components/toolbar/toolbar.d.ts +32 -0
  240. package/components/toolbar/toolbar.d.ts.map +1 -0
  241. package/components/toolbar/toolbar.js +40 -0
  242. package/components/tooltip/tooltip.d.ts +15 -0
  243. package/components/tooltip/tooltip.d.ts.map +1 -0
  244. package/components/tooltip/tooltip.js +35 -0
  245. package/components/tooltip-trigger/tooltip-trigger.d.ts +46 -0
  246. package/components/tooltip-trigger/tooltip-trigger.d.ts.map +1 -0
  247. package/components/tooltip-trigger/tooltip-trigger.js +100 -0
  248. package/components/utility-nav/utility-nav.d.ts +14 -0
  249. package/components/utility-nav/utility-nav.d.ts.map +1 -0
  250. package/components/utility-nav/utility-nav.js +22 -0
  251. package/components/utility-nav-item/utility-nav-item.d.ts +38 -0
  252. package/components/utility-nav-item/utility-nav-item.d.ts.map +1 -0
  253. package/components/utility-nav-item/utility-nav-item.js +57 -0
  254. package/package.json +49 -0
@@ -0,0 +1,46 @@
1
+ import { EdElement } from '@brad-frost-web/eddie-web-components/components/EdElement';
2
+ /**
3
+ * @slot - The component content
4
+ */
5
+ export declare class EdTooltipTrigger extends EdElement {
6
+ static get styles(): import('lit').CSSResult;
7
+ isActive?: boolean;
8
+ align?: 'right' | 'bottom' | 'left';
9
+ /**
10
+ * Initialize functions
11
+ */
12
+ constructor();
13
+ /**
14
+ * Connected Callback lifecycle
15
+ */
16
+ connectedCallback(): void;
17
+ /**
18
+ * Disconnected callback lifecycle
19
+ * 1) Remove window resize event listener
20
+ */
21
+ disconnectedCallback(): void;
22
+ /**
23
+ * Handle click outside the component
24
+ * 1) Close the show hide panel on click outside
25
+ * 2) If the nav is already closed then we don't care about outside clicks and we
26
+ * can bail early
27
+ * 3) By the time a user clicks on the page the shadowRoot will almost certainly be
28
+ * defined, but TypeScript isn't that trusting and sees this.shadowRoot as possibly
29
+ * undefined. To work around that we'll check that we have a shadowRoot (and a
30
+ * rendered .host) element here to appease the TypeScript compiler. This should never
31
+ * actually be shown or run for a human end user.
32
+ * 4) Check to see if we clicked inside the active navigation item
33
+ * 5) If the navigation is active and we've clicked outside of the nav then it should
34
+ * be closed.
35
+ */
36
+ handleOnClickOutside(event: MouseEvent): void;
37
+ handleKeyDown(e: KeyboardEvent): void;
38
+ handleClick(): void;
39
+ render(): import('lit-html').TemplateResult<1>;
40
+ }
41
+ declare global {
42
+ interface HTMLElementTagNameMap {
43
+ 'ed-tooltip-trigger': EdTooltipTrigger;
44
+ }
45
+ }
46
+ //# sourceMappingURL=tooltip-trigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-trigger.d.ts","sourceRoot":"","sources":["../../../../packages/eddie-web-components/components/tooltip-trigger/tooltip-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2DAA2D,CAAC;AAGtF,OAAO,kBAAkB,CAAC;AAC1B,OAAO,oBAAoB,CAAC;AAG5B;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,MAAM,KAAK,MAAM,4BAEhB;IAGD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEpC;;OAEG;;IAMH;;OAEG;IACH,iBAAiB;IAKjB;;;OAGG;IACH,oBAAoB;IAKpB;;;;;;;;;;;;;OAaG;IACH,oBAAoB,CAAC,KAAK,EAAE,UAAU;IAoBtC,aAAa,CAAC,CAAC,EAAE,aAAa;IAM9B,WAAW;IAcX,MAAM;CAyBP;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
@@ -0,0 +1,100 @@
1
+ import { E as a } from "../EdElement.js";
2
+ import { unsafeCSS as c, html as h } from "lit";
3
+ import { property as l } from "lit/decorators.js";
4
+ import "../button/button.js";
5
+ import "../tooltip/tooltip.js";
6
+ const g = ":root,:host{--size-base-unit: .5rem}*,::slotted(*),*:before,*:after{box-sizing:border-box}h1,h2,h3,h4,h5,h6{margin:0}.ed-c-tooltip-trigger{display:inline-block;position:relative}ed-tooltip{display:none;position:absolute;bottom:135%;left:50%;transform:translate(-50%);margin-bottom:.375rem}ed-tooltip:focus-visible{outline:var(--ed-border-width-md) solid var(--ed-theme-color-border-strong);outline-offset:2px}.ed-c-tooltip-trigger--align-right ed-tooltip{bottom:auto;top:50%;left:135%;transform:translateY(-50%);margin-bottom:0;margin-left:.375rem}.ed-c-tooltip-trigger--align-bottom ed-tooltip{top:100%;bottom:inherit;margin-bottom:0;margin-top:.375rem}.ed-c-tooltip-trigger--align-left ed-tooltip{inset:50% 135% auto auto;transform:translateY(-50%);margin-bottom:0;margin-right:.375rem}.ed-c-tooltip-trigger.ed-is-active ed-tooltip{display:block}";
7
+ var m = Object.defineProperty, d = (i, t, o, p) => {
8
+ for (var e = void 0, s = i.length - 1, r; s >= 0; s--)
9
+ (r = i[s]) && (e = r(t, o, e) || e);
10
+ return e && m(t, o, e), e;
11
+ };
12
+ class n extends a {
13
+ static get styles() {
14
+ return c(g.toString());
15
+ }
16
+ /**
17
+ * Initialize functions
18
+ */
19
+ constructor() {
20
+ super(), this.handleOnClickOutside = this.handleOnClickOutside.bind(this);
21
+ }
22
+ /**
23
+ * Connected Callback lifecycle
24
+ */
25
+ connectedCallback() {
26
+ super.connectedCallback(), document.addEventListener("mousedown", this.handleOnClickOutside, !1);
27
+ }
28
+ /**
29
+ * Disconnected callback lifecycle
30
+ * 1) Remove window resize event listener
31
+ */
32
+ disconnectedCallback() {
33
+ document.removeEventListener("mousedown", this.handleOnClickOutside, !1), super.disconnectedCallback();
34
+ }
35
+ /**
36
+ * Handle click outside the component
37
+ * 1) Close the show hide panel on click outside
38
+ * 2) If the nav is already closed then we don't care about outside clicks and we
39
+ * can bail early
40
+ * 3) By the time a user clicks on the page the shadowRoot will almost certainly be
41
+ * defined, but TypeScript isn't that trusting and sees this.shadowRoot as possibly
42
+ * undefined. To work around that we'll check that we have a shadowRoot (and a
43
+ * rendered .host) element here to appease the TypeScript compiler. This should never
44
+ * actually be shown or run for a human end user.
45
+ * 4) Check to see if we clicked inside the active navigation item
46
+ * 5) If the navigation is active and we've clicked outside of the nav then it should
47
+ * be closed.
48
+ */
49
+ handleOnClickOutside(t) {
50
+ if (!this.isActive)
51
+ return;
52
+ if (!this.shadowRoot?.host)
53
+ throw Error("Could not determine navigation context during click handler");
54
+ const o = t.composedPath().includes(this.shadowRoot.host);
55
+ this.isActive && !o && this.handleClick();
56
+ }
57
+ handleKeyDown(t) {
58
+ (t.code === "Escape" || t.code === "Tab") && this.handleClick();
59
+ }
60
+ handleClick() {
61
+ const t = this.shadowRoot.querySelector("ed-button").shadowRoot.querySelector(".ed-c-button");
62
+ this.isActive = !this.isActive, setTimeout(() => {
63
+ this.isActive === !1 ? (console.log(t), t.focus()) : this.shadowRoot.querySelector("ed-tooltip").focus();
64
+ }, 1);
65
+ }
66
+ render() {
67
+ const t = this.componentClassNames("ed-c-tooltip-trigger", {
68
+ "ed-c-tooltip-trigger--align-right": this.align === "right",
69
+ "ed-c-tooltip-trigger--align-bottom": this.align === "bottom",
70
+ "ed-c-tooltip-trigger--align-left": this.align === "left",
71
+ "ed-is-active": this.isActive === !0
72
+ });
73
+ return h`
74
+ <div class="${t}">
75
+ <ed-button
76
+ variant="bare"
77
+ iconPosition="after"
78
+ iconName="info"
79
+ size="lg"
80
+ ?hideText=${!0}
81
+ text="Button"
82
+ @click=${this.handleClick}
83
+ ></ed-button>
84
+ <ed-tooltip align=${this.align} tabindex=${this.isActive ? 0 : -1} @keydown=${this.handleKeyDown}>
85
+ <slot></slot>
86
+ </ed-tooltip>
87
+ </div>
88
+ `;
89
+ }
90
+ }
91
+ d([
92
+ l({ type: Boolean })
93
+ ], n.prototype, "isActive");
94
+ d([
95
+ l()
96
+ ], n.prototype, "align");
97
+ customElements.get("ed-tooltip-trigger") === void 0 && customElements.define("ed-tooltip-trigger", n);
98
+ export {
99
+ n as EdTooltipTrigger
100
+ };
@@ -0,0 +1,14 @@
1
+ import { EdElement } from '@brad-frost-web/eddie-web-components/components/EdElement';
2
+ /**
3
+ * @slot - The utility nav items
4
+ */
5
+ export declare class EdUtilityNav extends EdElement {
6
+ static get styles(): import('lit').CSSResult;
7
+ render(): import('lit-html').TemplateResult<1>;
8
+ }
9
+ declare global {
10
+ interface HTMLElementTagNameMap {
11
+ 'ed-utility-nav': EdUtilityNav;
12
+ }
13
+ }
14
+ //# sourceMappingURL=utility-nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utility-nav.d.ts","sourceRoot":"","sources":["../../../../packages/eddie-web-components/components/utility-nav/utility-nav.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2DAA2D,CAAC;AAGtF;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,MAAM,KAAK,MAAM,4BAEhB;IAED,MAAM;CAWP;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,YAAY,CAAC;KAChC;CACF"}
@@ -0,0 +1,22 @@
1
+ import { unsafeCSS as e, html as s } from "lit";
2
+ import { E as i } from "../EdElement.js";
3
+ const l = ":root,:host{--size-base-unit: .5rem}*,::slotted(*),*:before,*:after{box-sizing:border-box}h1,h2,h3,h4,h5,h6{margin:0}:host{margin-left:auto}.ed-c-utility-nav__list{display:flex;margin:-1rem 0 0 -1rem;padding:0;list-style:none}.ed-c-utility-nav__list ::slotted(ed-utility-nav-item){margin-left:1rem;margin-top:1rem}";
4
+ class n extends i {
5
+ static get styles() {
6
+ return e(l);
7
+ }
8
+ render() {
9
+ const t = this.componentClassNames("ed-c-utility-nav", {});
10
+ return s`
11
+ <nav class="${t}">
12
+ <ul class="ed-c-utility-nav__list">
13
+ <slot></slot>
14
+ </ul>
15
+ </nav>
16
+ `;
17
+ }
18
+ }
19
+ customElements.get("ed-utility-nav") === void 0 && customElements.define("ed-utility-nav", n);
20
+ export {
21
+ n as EdUtilityNav
22
+ };
@@ -0,0 +1,38 @@
1
+ import { EdElement } from '@brad-frost-web/eddie-web-components/components/EdElement';
2
+ export declare class EdUtilityNavItem extends EdElement {
3
+ static get styles(): import('lit').CSSResult;
4
+ /**
5
+ * Hide text toggle
6
+ * 1) Visually hides the text so screenreaders can still read for accessibility when set to true.
7
+ */
8
+ hideText?: boolean;
9
+ /**
10
+ * URL of the utility nav item
11
+ */
12
+ href?: string;
13
+ /**
14
+ * Icon name
15
+ */
16
+ iconName?: string;
17
+ /**
18
+ * Icon position
19
+ * <ed-text-passage size="sm">
20
+ * <ul>
21
+ * <li>**before** places the icon before the text</li>
22
+ * <li>**after** places the icon after the text</li>
23
+ * </ul>
24
+ * </ed-text-passage>
25
+ */
26
+ iconPosition?: 'before' | 'after';
27
+ /**
28
+ * Text of the utility nav item
29
+ */
30
+ text?: string;
31
+ render(): import('lit-html').TemplateResult<1>;
32
+ }
33
+ declare global {
34
+ interface HTMLElementTagNameMap {
35
+ 'ed-utility-nav-item': EdUtilityNavItem;
36
+ }
37
+ }
38
+ //# sourceMappingURL=utility-nav-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utility-nav-item.d.ts","sourceRoot":"","sources":["../../../../packages/eddie-web-components/components/utility-nav-item/utility-nav-item.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,2DAA2D,CAAC;AAGtF,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,MAAM,KAAK,MAAM,4BAEhB;IAED;;;OAGG;IAEH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IAEH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;OAQG;IAEH,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAa;IAE9C;;OAEG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM;CAiCP;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,gBAAgB,CAAC;KACzC;CACF"}
@@ -0,0 +1,57 @@
1
+ import { unsafeCSS as h, html as e } from "lit";
2
+ import { ifDefined as d } from "lit-html/directives/if-defined.js";
3
+ import { property as a } from "lit/decorators.js";
4
+ import { E as c } from "../EdElement.js";
5
+ const p = '@charset "UTF-8";:root,:host{--size-base-unit: .5rem}*,::slotted(*),*:before,*:after{box-sizing:border-box}h1,h2,h3,h4,h5,h6{margin:0}.ed-u-is-hidden{display:none!important;visibility:hidden!important}.ed-u-is-vishidden{position:absolute!important;overflow:hidden;width:1px;height:1px;padding:0;border:0;clip:rect(1px,1px,1px,1px)}@media all and (min-width:23.4375rem){.ed-u-hide-sm{display:none!important}}@media all and (min-width:48rem){.ed-u-hide-md{display:none!important}}@media all and (min-width:60rem){.ed-u-hide-lg{display:none!important}}@media all and (min-width:75rem){.ed-u-hide-xl{display:none!important}}@media all and (max-width:23.4375rem){.ed-u-show-sm{display:none!important}}@media all and (max-width:48rem){.ed-u-show-md{display:none!important}}@media all and (max-width:60rem){.ed-u-show-lg{display:none!important}}@media all and (max-width:75rem){.ed-u-show-xl{display:none!important}}.ed-c-utility-nav__item{margin:0;padding:0}.ed-c-utility-nav__link{display:flex;font-family:var(--ed-theme-typography-body-default-font-family);font-weight:var(--ed-theme-typography-body-default-font-weight);font-size:var(--ed-theme-typography-body-default-font-size);line-height:var(--ed-theme-typography-body-default-line-height);letter-spacing:var(--ed-theme-typography-body-default-letter-spacing);text-transform:var(--ed-theme-typography-body-default-text-transform);border:none;background:none;appearance:none;padding:0;text-align:left;color:var(--ed-theme-color-content-brand);cursor:pointer;transition:color var(--ed-theme-animation-fade-quick) var(--ed-theme-animation-ease)}.ed-c-utility-nav__link:hover,.ed-c-utility-nav__link:focus{color:var(--ed-theme-color-content-brand-hover)}ed-icon{--ed-icon-height: 1rem;--ed-icon-width: 1rem}.ed-c-utility-nav__text+ed-icon{margin-left:.5rem}ed-icon+.ed-c-utility-nav__text{margin-left:.5rem}';
6
+ var y = Object.defineProperty, o = (r, n, l, u) => {
7
+ for (var t = void 0, s = r.length - 1, m; s >= 0; s--)
8
+ (m = r[s]) && (t = m(n, l, t) || t);
9
+ return t && y(n, l, t), t;
10
+ };
11
+ class i extends c {
12
+ constructor() {
13
+ super(...arguments), this.iconPosition = void 0;
14
+ }
15
+ static get styles() {
16
+ return h(p);
17
+ }
18
+ render() {
19
+ const n = this.componentClassNames("ed-c-utility-nav__item", {});
20
+ return this.href ? e`
21
+ <li class="${n}">
22
+ <a href="${this.href}" class="ed-c-utility-nav__link">
23
+ ${this.iconPosition === "before" ? e`<ed-icon styleModifier="ed-c-utility-nav__icon" aria-hidden="true" name="${d(this.iconName)}"></ed-icon>` : e``}
24
+ <span class="${this.hideText ? "ed-u-is-vishidden ed-c-utility-nav__text" : "ed-c-utility-nav__text"}">${this.text}</span>
25
+ ${this.iconPosition === "after" ? e`<ed-icon styleModifier="ed-c-utility-nav__icon" aria-hidden="true" name="${d(this.iconName)}"></ed-icon>` : e``}
26
+ </a>
27
+ </li>
28
+ ` : e`
29
+ <li class="${n}">
30
+ <button class="ed-c-utility-nav__link">
31
+ ${this.iconPosition === "before" ? e`<ed-icon styleModifier="ed-c-utility-nav__icon" aria-hidden="true" name="${d(this.iconName)}"></ed-icon>` : e``}
32
+ <span class="${this.hideText ? "ed-u-is-vishidden ed-c-utility-nav__text" : "ed-c-utility-nav__text"}">${this.text}</span>
33
+ ${this.iconPosition === "after" ? e`<ed-icon styleModifier="ed-c-utility-nav__icon" aria-hidden="true" name="${d(this.iconName)}"></ed-icon>` : e``}
34
+ </button>
35
+ </li>
36
+ `;
37
+ }
38
+ }
39
+ o([
40
+ a({ type: Boolean })
41
+ ], i.prototype, "hideText");
42
+ o([
43
+ a()
44
+ ], i.prototype, "href");
45
+ o([
46
+ a()
47
+ ], i.prototype, "iconName");
48
+ o([
49
+ a()
50
+ ], i.prototype, "iconPosition");
51
+ o([
52
+ a()
53
+ ], i.prototype, "text");
54
+ customElements.get("ed-utility-nav-item") === void 0 && customElements.define("ed-utility-nav-item", i);
55
+ export {
56
+ i as EdUtilityNavItem
57
+ };
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@brad-frost-web/eddie-web-components",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "start": "npm run build:custom-elements.json && npm run storybook",
7
+ "build": "vite build",
8
+ "preview": "vite preview",
9
+ "build:custom-elements.json": "wca analyze \"components/*/*.ts\" --outFile custom-elements.json",
10
+ "storybook": "storybook dev -p 6006",
11
+ "build-storybook": "storybook build",
12
+ "plop": "plop component",
13
+ "plop:page": "plop page",
14
+ "plop:recipe": "plop recipe"
15
+ },
16
+ "dependencies": {
17
+ "classnames": "^2.5.1",
18
+ "lit": "^3.3.1",
19
+ "sass": "^1.93.2"
20
+ },
21
+ "devDependencies": {
22
+ "@chromatic-com/storybook": "^4.1.1",
23
+ "@storybook/addon-a11y": "^9.1.10",
24
+ "@storybook/addon-links": "^9.1.10",
25
+ "@storybook/addon-docs": "^9.1.10",
26
+ "@storybook/addon-themes": "^9.1.10",
27
+ "@storybook/addon-vitest": "^9.1.10",
28
+ "@storybook/web-components-vite": "^9.1.10",
29
+ "@vitest/browser": "^3.2.4",
30
+ "@vitest/coverage-v8": "^3.2.4",
31
+ "copyfiles": "^2.4.1",
32
+ "del-cli": "^7.0.0",
33
+ "eslint-plugin-storybook": "^9.1.10",
34
+ "json-loader": "^0.5.7",
35
+ "markdown-it": "^14.1.0",
36
+ "plop": "^4.0.4",
37
+ "prismjs": "^1.30.0",
38
+ "playwright": "^1.56.0",
39
+ "storybook": "^9.1.10",
40
+ "typescript": "~5.9.3",
41
+ "vite": "^7.1.7",
42
+ "vite-plugin-css-injected-by-js": "^3.5.2",
43
+ "vite-plugin-dts": "^4.5.4",
44
+ "vite-plugin-dynamic-import": "^1.6.0",
45
+ "vite-plugin-static-copy": "^3.1.3",
46
+ "vitest": "^3.2.4",
47
+ "web-component-analyzer": "^2.0.0"
48
+ }
49
+ }