@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.
- package/components/EdElement.d.ts +61 -0
- package/components/EdElement.d.ts.map +1 -0
- package/components/EdElement.js +63 -0
- package/components/EdFormElement.d.ts +65 -0
- package/components/EdFormElement.d.ts.map +1 -0
- package/components/EdFormElement.js +46 -0
- package/components/accordion/accordion.d.ts +19 -0
- package/components/accordion/accordion.d.ts.map +1 -0
- package/components/accordion/accordion.js +31 -0
- package/components/accordion-panel/accordion-panel.d.ts +57 -0
- package/components/accordion-panel/accordion-panel.d.ts.map +1 -0
- package/components/accordion-panel/accordion-panel.js +95 -0
- package/components/alert/alert.d.ts +72 -0
- package/components/alert/alert.d.ts.map +1 -0
- package/components/alert/alert.js +77 -0
- package/components/badge/badge.d.ts +29 -0
- package/components/badge/badge.d.ts.map +1 -0
- package/components/badge/badge.js +33 -0
- package/components/band/band.d.ts +24 -0
- package/components/band/band.d.ts.map +1 -0
- package/components/band/band.js +32 -0
- package/components/box/box.d.ts +14 -0
- package/components/box/box.d.ts.map +1 -0
- package/components/box/box.js +20 -0
- package/components/breadcrumbs/breadcrumbs.d.ts +14 -0
- package/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/components/breadcrumbs/breadcrumbs.js +22 -0
- package/components/breadcrumbs-item/breadcrumbs-item.d.ts +31 -0
- package/components/breadcrumbs-item/breadcrumbs-item.d.ts.map +1 -0
- package/components/breadcrumbs-item/breadcrumbs-item.js +36 -0
- package/components/button/button.d.ts +93 -0
- package/components/button/button.d.ts.map +1 -0
- package/components/button/button.js +118 -0
- package/components/button-group/button-group.d.ts +24 -0
- package/components/button-group/button-group.d.ts.map +1 -0
- package/components/button-group/button-group.js +35 -0
- package/components/card/card.d.ts +34 -0
- package/components/card/card.d.ts.map +1 -0
- package/components/card/card.js +43 -0
- package/components/checkbox-field/checkbox-field.d.ts +76 -0
- package/components/checkbox-field/checkbox-field.d.ts.map +1 -0
- package/components/checkbox-field/checkbox-field.js +98 -0
- package/components/checkbox-field-item/checkbox-field-item.d.ts +81 -0
- package/components/checkbox-field-item/checkbox-field-item.d.ts.map +1 -0
- package/components/checkbox-field-item/checkbox-field-item.js +110 -0
- package/components/counter/counter.d.ts +134 -0
- package/components/counter/counter.d.ts.map +1 -0
- package/components/counter/counter.js +176 -0
- package/components/drawer/drawer.d.ts +41 -0
- package/components/drawer/drawer.d.ts.map +1 -0
- package/components/drawer/drawer.js +74 -0
- package/components/feature/feature.d.ts +27 -0
- package/components/feature/feature.d.ts.map +1 -0
- package/components/feature/feature.js +42 -0
- package/components/field-note/field-note.d.ts +33 -0
- package/components/field-note/field-note.d.ts.map +1 -0
- package/components/field-note/field-note.js +44 -0
- package/components/file-upload/file-upload.d.ts +118 -0
- package/components/file-upload/file-upload.d.ts.map +1 -0
- package/components/file-upload/file-upload.js +224 -0
- package/components/file-upload/file-upload.model.d.ts +24 -0
- package/components/file-upload/file-upload.model.d.ts.map +1 -0
- package/components/file-upload.model/file-upload.model.js +11 -0
- package/components/footer/footer.d.ts +16 -0
- package/components/footer/footer.d.ts.map +1 -0
- package/components/footer/footer.js +35 -0
- package/components/global-nav/global-nav.d.ts +14 -0
- package/components/global-nav/global-nav.d.ts.map +1 -0
- package/components/global-nav/global-nav.js +22 -0
- package/components/global-nav-item/global-nav-item.d.ts +80 -0
- package/components/global-nav-item/global-nav-item.d.ts.map +1 -0
- package/components/global-nav-item/global-nav-item.js +128 -0
- package/components/grid/grid.d.ts +51 -0
- package/components/grid/grid.d.ts.map +1 -0
- package/components/grid/grid.js +49 -0
- package/components/grid-item/grid-item.d.ts +14 -0
- package/components/grid-item/grid-item.d.ts.map +1 -0
- package/components/grid-item/grid-item.js +20 -0
- package/components/header/header.d.ts +19 -0
- package/components/header/header.d.ts.map +1 -0
- package/components/header/header.js +49 -0
- package/components/heading/heading.d.ts +44 -0
- package/components/heading/heading.d.ts.map +1 -0
- package/components/heading/heading.js +51 -0
- package/components/hero/hero.d.ts +22 -0
- package/components/hero/hero.d.ts.map +1 -0
- package/components/hero/hero.js +37 -0
- package/components/hr/hr.d.ts +23 -0
- package/components/hr/hr.d.ts.map +1 -0
- package/components/hr/hr.js +27 -0
- package/components/icon/icon.d.ts +51 -0
- package/components/icon/icon.d.ts.map +1 -0
- package/components/icon/icon.js +66 -0
- package/components/icon-link-list/icon-link-list.d.ts +19 -0
- package/components/icon-link-list/icon-link-list.d.ts.map +1 -0
- package/components/icon-link-list/icon-link-list.js +31 -0
- package/components/icon-link-list-item/icon-link-list-item.d.ts +23 -0
- package/components/icon-link-list-item/icon-link-list-item.d.ts.map +1 -0
- package/components/icon-link-list-item/icon-link-list-item.js +39 -0
- package/components/index.browser.js +4 -0
- package/components/inline-checkbox/inline-checkbox.d.ts +73 -0
- package/components/inline-checkbox/inline-checkbox.d.ts.map +1 -0
- package/components/inline-checkbox/inline-checkbox.js +114 -0
- package/components/key-value-table/key-value-table.d.ts +19 -0
- package/components/key-value-table/key-value-table.d.ts.map +1 -0
- package/components/key-value-table/key-value-table.js +33 -0
- package/components/key-value-table-row/key-value-table-row.d.ts +30 -0
- package/components/key-value-table-row/key-value-table-row.d.ts.map +1 -0
- package/components/key-value-table-row/key-value-table-row.js +38 -0
- package/components/layout/layout.d.ts +50 -0
- package/components/layout/layout.d.ts.map +1 -0
- package/components/layout/layout.js +43 -0
- package/components/layout-container/layout-container.d.ts +14 -0
- package/components/layout-container/layout-container.d.ts.map +1 -0
- package/components/layout-container/layout-container.js +20 -0
- package/components/layout-section/layout-section.d.ts +28 -0
- package/components/layout-section/layout-section.d.ts.map +1 -0
- package/components/layout-section/layout-section.js +37 -0
- package/components/linelength-container/linelength-container.d.ts +14 -0
- package/components/linelength-container/linelength-container.d.ts.map +1 -0
- package/components/linelength-container/linelength-container.js +20 -0
- package/components/link-list/link-list.d.ts +56 -0
- package/components/link-list/link-list.d.ts.map +1 -0
- package/components/link-list/link-list.js +48 -0
- package/components/link-list-item/link-list-item.d.ts +26 -0
- package/components/link-list-item/link-list-item.d.ts.map +1 -0
- package/components/link-list-item/link-list-item.js +41 -0
- package/components/list/list.d.ts +33 -0
- package/components/list/list.d.ts.map +1 -0
- package/components/list/list.js +36 -0
- package/components/list-item/list-item.d.ts +14 -0
- package/components/list-item/list-item.d.ts.map +1 -0
- package/components/list-item/list-item.js +20 -0
- package/components/loading-indicator/loading-indicator.d.ts +14 -0
- package/components/loading-indicator/loading-indicator.d.ts.map +1 -0
- package/components/loading-indicator/loading-indicator.js +20 -0
- package/components/logo/logo.d.ts +18 -0
- package/components/logo/logo.d.ts.map +1 -0
- package/components/logo/logo.js +29 -0
- package/components/main/main.d.ts +14 -0
- package/components/main/main.d.ts.map +1 -0
- package/components/main/main.js +16 -0
- package/components/media-block/media-block.d.ts +24 -0
- package/components/media-block/media-block.d.ts.map +1 -0
- package/components/media-block/media-block.js +37 -0
- package/components/modal/modal.d.ts +37 -0
- package/components/modal/modal.d.ts.map +1 -0
- package/components/modal/modal.js +67 -0
- package/components/nav-container/nav-container.d.ts +14 -0
- package/components/nav-container/nav-container.d.ts.map +1 -0
- package/components/nav-container/nav-container.js +20 -0
- package/components/page-header/page-header.d.ts +18 -0
- package/components/page-header/page-header.d.ts.map +1 -0
- package/components/page-header/page-header.js +39 -0
- package/components/pagination/pagination.d.ts +38 -0
- package/components/pagination/pagination.d.ts.map +1 -0
- package/components/pagination/pagination.js +52 -0
- package/components/pagination-item/pagination-item.d.ts +35 -0
- package/components/pagination-item/pagination-item.d.ts.map +1 -0
- package/components/pagination-item/pagination-item.js +52 -0
- package/components/primary-nav/primary-nav.d.ts +23 -0
- package/components/primary-nav/primary-nav.d.ts.map +1 -0
- package/components/primary-nav/primary-nav.js +33 -0
- package/components/primary-nav-item/primary-nav-item.d.ts +70 -0
- package/components/primary-nav-item/primary-nav-item.d.ts.map +1 -0
- package/components/primary-nav-item/primary-nav-item.js +121 -0
- package/components/radio-field/radio-field.d.ts +84 -0
- package/components/radio-field/radio-field.d.ts.map +1 -0
- package/components/radio-field/radio-field.js +108 -0
- package/components/radio-field-item/radio-field-item.d.ts +100 -0
- package/components/radio-field-item/radio-field-item.d.ts.map +1 -0
- package/components/radio-field-item/radio-field-item.js +142 -0
- package/components/search-form/search-form.d.ts +91 -0
- package/components/search-form/search-form.d.ts.map +1 -0
- package/components/search-form/search-form.js +131 -0
- package/components/section/section.d.ts +16 -0
- package/components/section/section.d.ts.map +1 -0
- package/components/section/section.js +27 -0
- package/components/select-field/select-field.d.ts +94 -0
- package/components/select-field/select-field.d.ts.map +1 -0
- package/components/select-field/select-field.js +123 -0
- package/components/show-hide/show-hide.d.ts +61 -0
- package/components/show-hide/show-hide.d.ts.map +1 -0
- package/components/show-hide/show-hide.js +72 -0
- package/components/show-more/show-more.d.ts +33 -0
- package/components/show-more/show-more.d.ts.map +1 -0
- package/components/show-more/show-more.js +63 -0
- package/components/skeleton/skeleton.d.ts +31 -0
- package/components/skeleton/skeleton.d.ts.map +1 -0
- package/components/skeleton/skeleton.js +33 -0
- package/components/tab/tab.d.ts +45 -0
- package/components/tab/tab.d.ts.map +1 -0
- package/components/tab/tab.js +47 -0
- package/components/table/table.d.ts +33 -0
- package/components/table/table.d.ts.map +1 -0
- package/components/table/table.js +39 -0
- package/components/table-body/table-body.d.ts +14 -0
- package/components/table-body/table-body.d.ts.map +1 -0
- package/components/table-body/table-body.js +20 -0
- package/components/table-cell/table-cell.d.ts +38 -0
- package/components/table-cell/table-cell.d.ts.map +1 -0
- package/components/table-cell/table-cell.js +36 -0
- package/components/table-header/table-header.d.ts +14 -0
- package/components/table-header/table-header.d.ts.map +1 -0
- package/components/table-header/table-header.js +20 -0
- package/components/table-header-cell/table-header-cell.d.ts +62 -0
- package/components/table-header-cell/table-header-cell.d.ts.map +1 -0
- package/components/table-header-cell/table-header-cell.js +62 -0
- package/components/table-object/table-object.d.ts +66 -0
- package/components/table-object/table-object.d.ts.map +1 -0
- package/components/table-object/table-object.js +96 -0
- package/components/table-row/table-row.d.ts +14 -0
- package/components/table-row/table-row.d.ts.map +1 -0
- package/components/table-row/table-row.js +20 -0
- package/components/tabs/tabs.d.ts +101 -0
- package/components/tabs/tabs.d.ts.map +1 -0
- package/components/tabs/tabs.js +184 -0
- package/components/tag/tag.d.ts +27 -0
- package/components/tag/tag.d.ts.map +1 -0
- package/components/tag/tag.js +41 -0
- package/components/tag-list/tag-list.d.ts +14 -0
- package/components/tag-list/tag-list.d.ts.map +1 -0
- package/components/tag-list/tag-list.js +20 -0
- package/components/text-field/text-field.d.ts +89 -0
- package/components/text-field/text-field.d.ts.map +1 -0
- package/components/text-field/text-field.js +124 -0
- package/components/text-link/text-link.d.ts +42 -0
- package/components/text-link/text-link.d.ts.map +1 -0
- package/components/text-link/text-link.js +47 -0
- package/components/text-passage/text-passage.d.ts +38 -0
- package/components/text-passage/text-passage.d.ts.map +1 -0
- package/components/text-passage/text-passage.js +57 -0
- package/components/textarea-field/textarea-field.d.ts +82 -0
- package/components/textarea-field/textarea-field.d.ts.map +1 -0
- package/components/textarea-field/textarea-field.js +111 -0
- package/components/toggle/toggle.d.ts +89 -0
- package/components/toggle/toggle.d.ts.map +1 -0
- package/components/toggle/toggle.js +132 -0
- package/components/toolbar/toolbar.d.ts +32 -0
- package/components/toolbar/toolbar.d.ts.map +1 -0
- package/components/toolbar/toolbar.js +40 -0
- package/components/tooltip/tooltip.d.ts +15 -0
- package/components/tooltip/tooltip.d.ts.map +1 -0
- package/components/tooltip/tooltip.js +35 -0
- package/components/tooltip-trigger/tooltip-trigger.d.ts +46 -0
- package/components/tooltip-trigger/tooltip-trigger.d.ts.map +1 -0
- package/components/tooltip-trigger/tooltip-trigger.js +100 -0
- package/components/utility-nav/utility-nav.d.ts +14 -0
- package/components/utility-nav/utility-nav.d.ts.map +1 -0
- package/components/utility-nav/utility-nav.js +22 -0
- package/components/utility-nav-item/utility-nav-item.d.ts +38 -0
- package/components/utility-nav-item/utility-nav-item.d.ts.map +1 -0
- package/components/utility-nav-item/utility-nav-item.js +57 -0
- 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
|
+
}
|