@ds-mo/ui 0.6.0 → 0.7.1
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/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-field.js +1 -1
- package/dist/components/ds-icon.d.ts +11 -0
- package/dist/components/ds-icon.js +2 -0
- package/dist/components/ds-icon.js.map +1 -0
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-input.js.map +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-panel-nav.d.ts +11 -0
- package/dist/components/ds-panel-nav.js +2 -0
- package/dist/components/ds-panel-nav.js.map +1 -0
- package/dist/components/ds-radio-group.js +1 -1
- package/dist/components/ds-radio-group.js.map +1 -1
- package/dist/components/ds-scrollbar.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-surface.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-table.js +1 -1
- package/dist/components/ds-table.js.map +1 -1
- package/dist/components/ds-tag.js +1 -1
- package/dist/components/ds-text.js +1 -1
- package/dist/components/ds-text.js.map +1 -1
- package/dist/components/ds-toast-provider.js +1 -1
- package/dist/components/ds-toggle.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/p-Bi2mMcOi.js +2 -0
- package/dist/components/p-Bi2mMcOi.js.map +1 -0
- package/dist/components/p-DNEqvbOR.js +2 -0
- package/dist/components/p-DNEqvbOR.js.map +1 -0
- package/dist/types/.stencil/Icon/Icon.d.ts +22 -0
- package/dist/types/.stencil/Icon/index.d.ts +2 -0
- package/dist/types/.stencil/PanelNav/PanelNav.d.ts +48 -0
- package/dist/types/.stencil/PanelNav/index.d.ts +2 -0
- package/dist/types/components.d.ts +180 -0
- package/package.json +2 -1
- package/src/angular/index.ts +2 -0
- package/src/angular/proxies.ts +63 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p as t,H as e,h as o,a as r,t as s}from"./index.js";const i=()=>`.text.sc-ds-text{margin:0}.text--truncate-1.sc-ds-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--truncate-2.sc-ds-text,.text--truncate-3.sc-ds-text,.text--truncate-4.sc-ds-text,.text--truncate-5.sc-ds-text{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;text-overflow:ellipsis;word-break:break-word}.text--truncate-2.sc-ds-text{-webkit-line-clamp:2}.text--truncate-3.sc-ds-text{-webkit-line-clamp:3}.text--truncate-4.sc-ds-text{-webkit-line-clamp:4}.text--truncate-5.sc-ds-text{-webkit-line-clamp:5}.text--nowrap.sc-ds-text{white-space:nowrap;word-break:normal;overflow:hidden;text-overflow:ellipsis;min-width:0}.text--balance.sc-ds-text{text-wrap:balance}.text--pretty.sc-ds-text{text-wrap:pretty}.text--color-primary.sc-ds-text{color:var(--color-foreground-primary)}.text--color-secondary.sc-ds-text{color:var(--color-foreground-secondary)}.text--color-tertiary.sc-ds-text{color:var(--color-foreground-tertiary)}.text--color-brand.sc-ds-text{color:var(--color-foreground-bold-brand)}.text--color-negative.sc-ds-text{color:var(--color-foreground-bold-negative)}.text--color-positive.sc-ds-text{color:var(--color-foreground-bold-positive)}.text--color-warning.sc-ds-text{color:var(--color-foreground-bold-warning)}.text--color-caution.sc-ds-text{color:var(--color-foreground-bold-caution)}.text--color-ai.sc-ds-text{color:var(--color-foreground-bold-ai)}.text--color-on-strong.sc-ds-text{color:var(--color-foreground-on-strong-background-primary)}.text--color-on-bold.sc-ds-text{color:var(--color-foreground-on-bold-background-primary)}.text--color-inherit.sc-ds-text{color:inherit}.text--decoration-underline.sc-ds-text{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.text--decoration-dotted-underline.sc-ds-text{text-decoration:underline dotted;text-underline-offset:2px;text-decoration-thickness:1px}.text--italic.sc-ds-text{font-style:italic}.text--align-left.sc-ds-text{text-align:left}.text--align-center.sc-ds-text{text-align:center}.text--align-right.sc-ds-text{text-align:right}`;const n=t(class t extends e{constructor(t){super();if(t!==false){this.__registerHost()}this.variant="text-body-medium";this.italic=false;this.lineTruncation="none";this.as="p"}render(){const t=this.as;const e=t=>typeof t==="string"&&t.startsWith("var(--");const s={[this.variant]:true,text:true,"text--nowrap":this.wrap==="nowrap","text--balance":this.wrap==="balance","text--pretty":this.wrap==="pretty","text--truncate-1":this.lineTruncation===1&&this.wrap!=="nowrap","text--truncate-2":this.lineTruncation===2&&this.wrap!=="nowrap","text--truncate-3":this.lineTruncation===3&&this.wrap!=="nowrap","text--truncate-4":this.lineTruncation===4&&this.wrap!=="nowrap","text--truncate-5":this.lineTruncation===5&&this.wrap!=="nowrap","text--color-primary":this.color==="primary","text--color-secondary":this.color==="secondary","text--color-tertiary":this.color==="tertiary","text--color-brand":this.color==="brand","text--color-negative":this.color==="negative","text--color-positive":this.color==="positive","text--color-warning":this.color==="warning","text--color-caution":this.color==="caution","text--color-ai":this.color==="ai","text--color-on-strong":this.color==="on-strong","text--color-on-bold":this.color==="on-bold","text--color-inherit":this.color==="inherit","text--decoration-underline":this.decoration==="underline","text--decoration-dotted-underline":this.decoration==="dotted-underline","text--italic":this.italic,"text--align-left":this.align==="left","text--align-center":this.align==="center","text--align-right":this.align==="right"};const i=this.color&&e(this.color)?{color:this.color}:undefined;const n={};if(this.as==="label"&&this.for)n["for"]=this.for;return o(r,{key:"2a96246adf5d1f90ae9fcb4ab4c642d152ada571",style:{display:"contents"}},o(t,{key:"123f40f87c819c15a74da08cd4825b21839299e7",class:s,style:i,...n},o("slot",{key:"d2738dfb791cd34cdfd99434eaa0c931662f6217"})))}static get style(){return i()}},[262,"ds-text",{variant:[1],color:[1],decoration:[1],italic:[4],align:[1],lineTruncation:[8,"line-truncation"],wrap:[1],as:[1],for:[1]}]);function c(){if(typeof customElements==="undefined"){return}const t=["ds-text"];t.forEach((t=>{switch(t){case"ds-text":if(!customElements.get(s(t))){customElements.define(s(t),n)}break}}))}c();export{n as T,c as d};
|
|
2
|
+
//# sourceMappingURL=p-DNEqvbOR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["textCss","Text","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","variant","italic","lineTruncation","as","render","Tag","isCustomColor","c","startsWith","cls","text","wrap","color","decoration","align","style","undefined","extraProps","for","h","Host","key","display","class"],"sources":["src/wc/components/Text/Text.css?tag=ds-text&encapsulation=scoped","src/wc/components/Text/Text.tsx"],"sourcesContent":[".text {\n margin: 0;\n}\n\n/* ── Truncation ─────────────────────────────────────────────────────────── */\n\n.text--truncate-1 {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text--truncate-2,\n.text--truncate-3,\n.text--truncate-4,\n.text--truncate-5 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n text-overflow: ellipsis;\n word-break: break-word;\n}\n\n.text--truncate-2 { -webkit-line-clamp: 2; }\n.text--truncate-3 { -webkit-line-clamp: 3; }\n.text--truncate-4 { -webkit-line-clamp: 4; }\n.text--truncate-5 { -webkit-line-clamp: 5; }\n\n/* ── Wrap ───────────────────────────────────────────────────────────────── */\n\n.text--nowrap {\n white-space: nowrap;\n word-break: normal;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n}\n\n.text--balance { text-wrap: balance; }\n.text--pretty { text-wrap: pretty; }\n\n/* ── Color ──────────────────────────────────────────────────────────────── */\n\n.text--color-primary { color: var(--color-foreground-primary); }\n.text--color-secondary { color: var(--color-foreground-secondary); }\n.text--color-tertiary { color: var(--color-foreground-tertiary); }\n.text--color-brand { color: var(--color-foreground-bold-brand); }\n.text--color-negative { color: var(--color-foreground-bold-negative); }\n.text--color-positive { color: var(--color-foreground-bold-positive); }\n.text--color-warning { color: var(--color-foreground-bold-warning); }\n.text--color-caution { color: var(--color-foreground-bold-caution); }\n.text--color-ai { color: var(--color-foreground-bold-ai); }\n.text--color-on-strong { color: var(--color-foreground-on-strong-background-primary); }\n.text--color-on-bold { color: var(--color-foreground-on-bold-background-primary); }\n.text--color-inherit { color: inherit; }\n\n/* ── Decoration ─────────────────────────────────────────────────────────── */\n\n.text--decoration-underline {\n text-decoration: underline;\n text-underline-offset: 2px;\n text-decoration-thickness: 1px;\n}\n\n.text--decoration-dotted-underline {\n text-decoration: underline dotted;\n text-underline-offset: 2px;\n text-decoration-thickness: 1px;\n}\n\n/* ── Style ──────────────────────────────────────────────────────────────── */\n\n.text--italic { font-style: italic; }\n\n/* ── Align ──────────────────────────────────────────────────────────────── */\n\n.text--align-left { text-align: left; }\n.text--align-center { text-align: center; }\n.text--align-right { text-align: right; }\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nexport type TextVariant =\n | 'text-display-medium'\n | 'text-display-small'\n | 'text-title-large'\n | 'text-title-medium'\n | 'text-title-small'\n | 'text-body-large'\n | 'text-body-large-emphasis'\n | 'text-body-medium'\n | 'text-body-medium-emphasis'\n | 'text-body-small'\n | 'text-body-small-emphasis'\n | 'text-caption'\n | 'text-caption-emphasis';\n\nexport type TextColorToken =\n | 'primary' | 'secondary' | 'tertiary'\n | 'brand' | 'negative' | 'positive' | 'warning' | 'caution' | 'ai'\n | 'on-strong' | 'on-bold' | 'inherit';\n\nexport type TextColor = TextColorToken | `var(--${string})`;\nexport type TextDecoration = 'none' | 'underline' | 'dotted-underline';\nexport type TextAlign = 'left' | 'center' | 'right';\nexport type LineTruncation = 1 | 2 | 3 | 4 | 5 | 'none';\nexport type TextWrap = 'wrap' | 'nowrap' | 'balance' | 'pretty';\nexport type TextElement = 'p' | 'span' | 'div' | 'label' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\n@Component({\n tag: 'ds-text',\n styleUrl: 'Text.css',\n scoped: true,\n})\nexport class Text {\n @Prop() variant: TextVariant = 'text-body-medium';\n @Prop() color: TextColor | undefined;\n @Prop() decoration: TextDecoration | undefined;\n @Prop() italic: boolean = false;\n @Prop() align: TextAlign | undefined;\n @Prop() lineTruncation: LineTruncation = 'none';\n @Prop() wrap: TextWrap | undefined;\n @Prop() as: TextElement = 'p';\n /** Maps to `for` attribute on <label> elements. */\n @Prop() for: string | undefined;\n\n render() {\n const Tag = this.as as any;\n const isCustomColor = (c: TextColor) => typeof c === 'string' && c.startsWith('var(--');\n\n const cls: Record<string, boolean> = {\n [this.variant]: true,\n 'text': true,\n 'text--nowrap': this.wrap === 'nowrap',\n 'text--balance': this.wrap === 'balance',\n 'text--pretty': this.wrap === 'pretty',\n 'text--truncate-1': this.lineTruncation === 1 && this.wrap !== 'nowrap',\n 'text--truncate-2': this.lineTruncation === 2 && this.wrap !== 'nowrap',\n 'text--truncate-3': this.lineTruncation === 3 && this.wrap !== 'nowrap',\n 'text--truncate-4': this.lineTruncation === 4 && this.wrap !== 'nowrap',\n 'text--truncate-5': this.lineTruncation === 5 && this.wrap !== 'nowrap',\n 'text--color-primary': this.color === 'primary',\n 'text--color-secondary': this.color === 'secondary',\n 'text--color-tertiary': this.color === 'tertiary',\n 'text--color-brand': this.color === 'brand',\n 'text--color-negative': this.color === 'negative',\n 'text--color-positive': this.color === 'positive',\n 'text--color-warning': this.color === 'warning',\n 'text--color-caution': this.color === 'caution',\n 'text--color-ai': this.color === 'ai',\n 'text--color-on-strong': this.color === 'on-strong',\n 'text--color-on-bold': this.color === 'on-bold',\n 'text--color-inherit': this.color === 'inherit',\n 'text--decoration-underline': this.decoration === 'underline',\n 'text--decoration-dotted-underline': this.decoration === 'dotted-underline',\n 'text--italic': this.italic,\n 'text--align-left': this.align === 'left',\n 'text--align-center': this.align === 'center',\n 'text--align-right': this.align === 'right',\n };\n\n const style = this.color && isCustomColor(this.color)\n ? { color: this.color as string }\n : undefined;\n\n const extraProps: Record<string, string> = {};\n if (this.as === 'label' && this.for) extraProps['for'] = this.for;\n\n return (\n <Host style={{ display: 'contents' }}>\n <Tag class={cls} style={style} {...extraProps}>\n <slot />\n </Tag>\n </Host>\n );\n }\n}\n"],"mappings":"2DAAA,MAAMA,EAAU,IAAM,ghE,MCkCTC,EAAIC,EAAA,MAAAD,UAAAE,EALjB,WAAAC,CAAAC,G,4CAMUC,KAAAC,QAAuB,mBAGvBD,KAAAE,OAAkB,MAElBF,KAAAG,eAAiC,OAEjCH,KAAAI,GAAkB,GAsD3B,CAlDC,MAAAC,GACE,MAAMC,EAAMN,KAAKI,GACjB,MAAMG,EAAiBC,UAAwBA,IAAM,UAAYA,EAAEC,WAAW,UAE9E,MAAMC,EAA+B,CACnC,CAACV,KAAKC,SAAU,KAChBU,KAAQ,KACR,eAAgBX,KAAKY,OAAS,SAC9B,gBAAiBZ,KAAKY,OAAS,UAC/B,eAAgBZ,KAAKY,OAAS,SAC9B,mBAAoBZ,KAAKG,iBAAmB,GAAKH,KAAKY,OAAS,SAC/D,mBAAoBZ,KAAKG,iBAAmB,GAAKH,KAAKY,OAAS,SAC/D,mBAAoBZ,KAAKG,iBAAmB,GAAKH,KAAKY,OAAS,SAC/D,mBAAoBZ,KAAKG,iBAAmB,GAAKH,KAAKY,OAAS,SAC/D,mBAAoBZ,KAAKG,iBAAmB,GAAKH,KAAKY,OAAS,SAC/D,sBAAyBZ,KAAKa,QAAU,UACxC,wBAAyBb,KAAKa,QAAU,YACxC,uBAAyBb,KAAKa,QAAU,WACxC,oBAAyBb,KAAKa,QAAU,QACxC,uBAAyBb,KAAKa,QAAU,WACxC,uBAAyBb,KAAKa,QAAU,WACxC,sBAAyBb,KAAKa,QAAU,UACxC,sBAAyBb,KAAKa,QAAU,UACxC,iBAAyBb,KAAKa,QAAU,KACxC,wBAAyBb,KAAKa,QAAU,YACxC,sBAAyBb,KAAKa,QAAU,UACxC,sBAAyBb,KAAKa,QAAU,UACxC,6BAAqCb,KAAKc,aAAe,YACzD,oCAAqCd,KAAKc,aAAe,mBACzD,eAAgBd,KAAKE,OACrB,mBAAsBF,KAAKe,QAAU,OACrC,qBAAsBf,KAAKe,QAAU,SACrC,oBAAsBf,KAAKe,QAAU,SAGvC,MAAMC,EAAQhB,KAAKa,OAASN,EAAcP,KAAKa,OAC3C,CAAEA,MAAOb,KAAKa,OACdI,UAEJ,MAAMC,EAAqC,GAC3C,GAAIlB,KAAKI,KAAO,SAAWJ,KAAKmB,IAAKD,EAAW,OAASlB,KAAKmB,IAE9D,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACN,MAAO,CAAEO,QAAS,aACtBH,EAACd,EAAG,CAAAgB,IAAA,2CAACE,MAAOd,EAAKM,MAAOA,KAAWE,GACjCE,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
|
|
2
|
+
export type IconColorToken = 'primary' | 'secondary' | 'tertiary' | 'quaternary' | 'brand' | 'negative' | 'positive' | 'warning' | 'caution' | 'ai' | 'guide' | 'neutral' | 'faint-brand' | 'faint-negative' | 'faint-positive' | 'faint-warning' | 'faint-caution' | 'faint-ai' | 'faint-neutral' | 'medium-brand' | 'medium-negative' | 'medium-positive' | 'medium-warning' | 'medium-caution' | 'medium-ai' | 'medium-neutral' | 'bold-brand' | 'bold-negative' | 'bold-positive' | 'bold-warning' | 'bold-caution' | 'bold-ai' | 'bold-neutral' | 'strong-brand' | 'strong-negative' | 'strong-positive' | 'strong-warning' | 'strong-caution' | 'strong-ai' | 'strong-neutral' | 'on-strong' | 'on-bold' | 'inherit';
|
|
3
|
+
export type IconColor = IconColorToken | `var(--${string})`;
|
|
4
|
+
export declare class Icon {
|
|
5
|
+
el: HTMLElement;
|
|
6
|
+
/** Name of the system icon (e.g. `"Gear"`, `"ArrowRight"`) or flag (e.g. `"US"`) */
|
|
7
|
+
name: string;
|
|
8
|
+
/** Iconography size token. Maps to `--dimension-iconography-{size}`. Default `md` = 20 px. */
|
|
9
|
+
size: IconSize;
|
|
10
|
+
/** Semantic foreground color token, or a raw CSS var reference. */
|
|
11
|
+
color: IconColor | undefined;
|
|
12
|
+
/** Accessible label. Sets `role="img"` and `aria-label`. Omit for decorative icons. */
|
|
13
|
+
label: string | undefined;
|
|
14
|
+
/** Set `true` to look up from the flag icon set instead of the system icon set. */
|
|
15
|
+
flag: boolean;
|
|
16
|
+
private get svgString();
|
|
17
|
+
private updateSvg;
|
|
18
|
+
onIconChange(): void;
|
|
19
|
+
componentDidRender(): void;
|
|
20
|
+
render(): any;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=Icon.d.ts.map
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export type PanelNavVariant = 'dashboard' | 'settings';
|
|
3
|
+
export interface PanelNavItem {
|
|
4
|
+
id: string;
|
|
5
|
+
icon: string;
|
|
6
|
+
label: string;
|
|
7
|
+
/** Show a notification dot badge on the item */
|
|
8
|
+
dot?: boolean;
|
|
9
|
+
flag?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface PanelNavGroup {
|
|
12
|
+
id?: string;
|
|
13
|
+
label?: string;
|
|
14
|
+
items: PanelNavItem[];
|
|
15
|
+
}
|
|
16
|
+
export declare class PanelNav {
|
|
17
|
+
/** Visual variant: `dashboard` = always-dark surface, `settings` = light surface */
|
|
18
|
+
variant: PanelNavVariant;
|
|
19
|
+
/** JSON string of `PanelNavGroup[]` */
|
|
20
|
+
groups: string;
|
|
21
|
+
/** ID of the currently active/selected nav item */
|
|
22
|
+
activeId: string;
|
|
23
|
+
/** Whether the nav is in collapsed (icon-only) state */
|
|
24
|
+
collapsed: boolean;
|
|
25
|
+
/** Display name for the footer user section */
|
|
26
|
+
userName: string;
|
|
27
|
+
/** Single character shown in the collapsed avatar */
|
|
28
|
+
userInitial: string;
|
|
29
|
+
/** Emitted when a nav item is clicked. Detail = the item's `id`. */
|
|
30
|
+
dsNavSelect: EventEmitter<string>;
|
|
31
|
+
/** Emitted when the collapse toggle is clicked. Detail = new collapsed state. */
|
|
32
|
+
dsNavToggle: EventEmitter<boolean>;
|
|
33
|
+
/** Emitted when the footer left button (gear / dashboard) is clicked. */
|
|
34
|
+
dsNavFooterAction: EventEmitter<void>;
|
|
35
|
+
el: HTMLElement;
|
|
36
|
+
private parsedGroups;
|
|
37
|
+
private atBottom;
|
|
38
|
+
onGroupsChange(val: string): void;
|
|
39
|
+
componentWillLoad(): void;
|
|
40
|
+
componentDidLoad(): void;
|
|
41
|
+
private checkScroll;
|
|
42
|
+
private handleBodyScroll;
|
|
43
|
+
private handleItemClick;
|
|
44
|
+
private handleToggle;
|
|
45
|
+
private handleFooterAction;
|
|
46
|
+
render(): any;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=PanelNav.d.ts.map
|
|
@@ -14,9 +14,11 @@ import { DividerOrientation } from "./components/Divider/Divider";
|
|
|
14
14
|
import { EmptyStateType } from "./components/EmptyState/EmptyState";
|
|
15
15
|
import { FadeSide } from "./components/Fade/Fade";
|
|
16
16
|
import { HeaderBackground } from "./components/Header/Header";
|
|
17
|
+
import { IconColor, IconSize } from "./components/Icon/Icon";
|
|
17
18
|
import { InputType } from "./components/Input/Input";
|
|
18
19
|
import { MenuAlign, MenuItemData, MenuSection, MenuSide } from "./components/Menu/Menu";
|
|
19
20
|
import { ModalWidth } from "./components/Modal/Modal";
|
|
21
|
+
import { PanelNavVariant } from "./components/PanelNav/PanelNav";
|
|
20
22
|
import { RadioOption } from "./components/RadioGroup/RadioGroup";
|
|
21
23
|
import { ScrollbarVariant } from "./components/Scrollbar/Scrollbar";
|
|
22
24
|
import { SidebarWidth } from "./components/Sidebar/Sidebar";
|
|
@@ -37,9 +39,11 @@ export { DividerOrientation } from "./components/Divider/Divider";
|
|
|
37
39
|
export { EmptyStateType } from "./components/EmptyState/EmptyState";
|
|
38
40
|
export { FadeSide } from "./components/Fade/Fade";
|
|
39
41
|
export { HeaderBackground } from "./components/Header/Header";
|
|
42
|
+
export { IconColor, IconSize } from "./components/Icon/Icon";
|
|
40
43
|
export { InputType } from "./components/Input/Input";
|
|
41
44
|
export { MenuAlign, MenuItemData, MenuSection, MenuSide } from "./components/Menu/Menu";
|
|
42
45
|
export { ModalWidth } from "./components/Modal/Modal";
|
|
46
|
+
export { PanelNavVariant } from "./components/PanelNav/PanelNav";
|
|
43
47
|
export { RadioOption } from "./components/RadioGroup/RadioGroup";
|
|
44
48
|
export { ScrollbarVariant } from "./components/Scrollbar/Scrollbar";
|
|
45
49
|
export { SidebarWidth } from "./components/Sidebar/Sidebar";
|
|
@@ -239,6 +243,31 @@ export namespace Components {
|
|
|
239
243
|
"background": HeaderBackground;
|
|
240
244
|
"heading": string | undefined;
|
|
241
245
|
}
|
|
246
|
+
interface DsIcon {
|
|
247
|
+
/**
|
|
248
|
+
* Semantic foreground color token, or a raw CSS var reference.
|
|
249
|
+
*/
|
|
250
|
+
"color": IconColor | undefined;
|
|
251
|
+
/**
|
|
252
|
+
* Set `true` to look up from the flag icon set instead of the system icon set.
|
|
253
|
+
* @default false
|
|
254
|
+
*/
|
|
255
|
+
"flag": boolean;
|
|
256
|
+
/**
|
|
257
|
+
* Accessible label. Sets `role="img"` and `aria-label`. Omit for decorative icons.
|
|
258
|
+
*/
|
|
259
|
+
"label": string | undefined;
|
|
260
|
+
/**
|
|
261
|
+
* Name of the system icon (e.g. `"Gear"`, `"ArrowRight"`) or flag (e.g. `"US"`)
|
|
262
|
+
* @default ''
|
|
263
|
+
*/
|
|
264
|
+
"name": string;
|
|
265
|
+
/**
|
|
266
|
+
* Iconography size token. Maps to `--dimension-iconography-{size}`. Default `md` = 20 px.
|
|
267
|
+
* @default 'md'
|
|
268
|
+
*/
|
|
269
|
+
"size": IconSize;
|
|
270
|
+
}
|
|
242
271
|
interface DsInput {
|
|
243
272
|
"ariaDescribedby": string | undefined;
|
|
244
273
|
"ariaLabel": string | undefined;
|
|
@@ -352,6 +381,38 @@ export namespace Components {
|
|
|
352
381
|
*/
|
|
353
382
|
"totalPages": number;
|
|
354
383
|
}
|
|
384
|
+
interface DsPanelNav {
|
|
385
|
+
/**
|
|
386
|
+
* ID of the currently active/selected nav item
|
|
387
|
+
* @default ''
|
|
388
|
+
*/
|
|
389
|
+
"activeId": string;
|
|
390
|
+
/**
|
|
391
|
+
* Whether the nav is in collapsed (icon-only) state
|
|
392
|
+
* @default false
|
|
393
|
+
*/
|
|
394
|
+
"collapsed": boolean;
|
|
395
|
+
/**
|
|
396
|
+
* JSON string of `PanelNavGroup[]`
|
|
397
|
+
* @default '[]'
|
|
398
|
+
*/
|
|
399
|
+
"groups": string;
|
|
400
|
+
/**
|
|
401
|
+
* Single character shown in the collapsed avatar
|
|
402
|
+
* @default ''
|
|
403
|
+
*/
|
|
404
|
+
"userInitial": string;
|
|
405
|
+
/**
|
|
406
|
+
* Display name for the footer user section
|
|
407
|
+
* @default ''
|
|
408
|
+
*/
|
|
409
|
+
"userName": string;
|
|
410
|
+
/**
|
|
411
|
+
* Visual variant: `dashboard` = always-dark surface, `settings` = light surface
|
|
412
|
+
* @default 'dashboard'
|
|
413
|
+
*/
|
|
414
|
+
"variant": PanelNavVariant;
|
|
415
|
+
}
|
|
355
416
|
interface DsRadioGroup {
|
|
356
417
|
"ariaLabel": string | undefined;
|
|
357
418
|
"ariaLabelledby": string | undefined;
|
|
@@ -682,6 +743,10 @@ export interface DsPaginationCustomEvent<T> extends CustomEvent<T> {
|
|
|
682
743
|
detail: T;
|
|
683
744
|
target: HTMLDsPaginationElement;
|
|
684
745
|
}
|
|
746
|
+
export interface DsPanelNavCustomEvent<T> extends CustomEvent<T> {
|
|
747
|
+
detail: T;
|
|
748
|
+
target: HTMLDsPanelNavElement;
|
|
749
|
+
}
|
|
685
750
|
export interface DsRadioGroupCustomEvent<T> extends CustomEvent<T> {
|
|
686
751
|
detail: T;
|
|
687
752
|
target: HTMLDsRadioGroupElement;
|
|
@@ -840,6 +905,12 @@ declare global {
|
|
|
840
905
|
prototype: HTMLDsHeaderElement;
|
|
841
906
|
new (): HTMLDsHeaderElement;
|
|
842
907
|
};
|
|
908
|
+
interface HTMLDsIconElement extends Components.DsIcon, HTMLStencilElement {
|
|
909
|
+
}
|
|
910
|
+
var HTMLDsIconElement: {
|
|
911
|
+
prototype: HTMLDsIconElement;
|
|
912
|
+
new (): HTMLDsIconElement;
|
|
913
|
+
};
|
|
843
914
|
interface HTMLDsInputElementEventMap {
|
|
844
915
|
"dsChange": string;
|
|
845
916
|
"dsClear": void;
|
|
@@ -916,6 +987,25 @@ declare global {
|
|
|
916
987
|
prototype: HTMLDsPaginationElement;
|
|
917
988
|
new (): HTMLDsPaginationElement;
|
|
918
989
|
};
|
|
990
|
+
interface HTMLDsPanelNavElementEventMap {
|
|
991
|
+
"dsNavSelect": string;
|
|
992
|
+
"dsNavToggle": boolean;
|
|
993
|
+
"dsNavFooterAction": void;
|
|
994
|
+
}
|
|
995
|
+
interface HTMLDsPanelNavElement extends Components.DsPanelNav, HTMLStencilElement {
|
|
996
|
+
addEventListener<K extends keyof HTMLDsPanelNavElementEventMap>(type: K, listener: (this: HTMLDsPanelNavElement, ev: DsPanelNavCustomEvent<HTMLDsPanelNavElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
997
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
998
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
999
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1000
|
+
removeEventListener<K extends keyof HTMLDsPanelNavElementEventMap>(type: K, listener: (this: HTMLDsPanelNavElement, ev: DsPanelNavCustomEvent<HTMLDsPanelNavElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1001
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1002
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1003
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1004
|
+
}
|
|
1005
|
+
var HTMLDsPanelNavElement: {
|
|
1006
|
+
prototype: HTMLDsPanelNavElement;
|
|
1007
|
+
new (): HTMLDsPanelNavElement;
|
|
1008
|
+
};
|
|
919
1009
|
interface HTMLDsRadioGroupElementEventMap {
|
|
920
1010
|
"dsChange": string;
|
|
921
1011
|
}
|
|
@@ -1089,11 +1179,13 @@ declare global {
|
|
|
1089
1179
|
"ds-fade": HTMLDsFadeElement;
|
|
1090
1180
|
"ds-field": HTMLDsFieldElement;
|
|
1091
1181
|
"ds-header": HTMLDsHeaderElement;
|
|
1182
|
+
"ds-icon": HTMLDsIconElement;
|
|
1092
1183
|
"ds-input": HTMLDsInputElement;
|
|
1093
1184
|
"ds-loader": HTMLDsLoaderElement;
|
|
1094
1185
|
"ds-menu": HTMLDsMenuElement;
|
|
1095
1186
|
"ds-modal": HTMLDsModalElement;
|
|
1096
1187
|
"ds-pagination": HTMLDsPaginationElement;
|
|
1188
|
+
"ds-panel-nav": HTMLDsPanelNavElement;
|
|
1097
1189
|
"ds-radio-group": HTMLDsRadioGroupElement;
|
|
1098
1190
|
"ds-scrollbar": HTMLDsScrollbarElement;
|
|
1099
1191
|
"ds-sidebar": HTMLDsSidebarElement;
|
|
@@ -1306,6 +1398,31 @@ declare namespace LocalJSX {
|
|
|
1306
1398
|
"background"?: HeaderBackground;
|
|
1307
1399
|
"heading"?: string | undefined;
|
|
1308
1400
|
}
|
|
1401
|
+
interface DsIcon {
|
|
1402
|
+
/**
|
|
1403
|
+
* Semantic foreground color token, or a raw CSS var reference.
|
|
1404
|
+
*/
|
|
1405
|
+
"color"?: IconColor | undefined;
|
|
1406
|
+
/**
|
|
1407
|
+
* Set `true` to look up from the flag icon set instead of the system icon set.
|
|
1408
|
+
* @default false
|
|
1409
|
+
*/
|
|
1410
|
+
"flag"?: boolean;
|
|
1411
|
+
/**
|
|
1412
|
+
* Accessible label. Sets `role="img"` and `aria-label`. Omit for decorative icons.
|
|
1413
|
+
*/
|
|
1414
|
+
"label"?: string | undefined;
|
|
1415
|
+
/**
|
|
1416
|
+
* Name of the system icon (e.g. `"Gear"`, `"ArrowRight"`) or flag (e.g. `"US"`)
|
|
1417
|
+
* @default ''
|
|
1418
|
+
*/
|
|
1419
|
+
"name"?: string;
|
|
1420
|
+
/**
|
|
1421
|
+
* Iconography size token. Maps to `--dimension-iconography-{size}`. Default `md` = 20 px.
|
|
1422
|
+
* @default 'md'
|
|
1423
|
+
*/
|
|
1424
|
+
"size"?: IconSize;
|
|
1425
|
+
}
|
|
1309
1426
|
interface DsInput {
|
|
1310
1427
|
"ariaDescribedby"?: string | undefined;
|
|
1311
1428
|
"ariaLabel"?: string | undefined;
|
|
@@ -1424,6 +1541,50 @@ declare namespace LocalJSX {
|
|
|
1424
1541
|
*/
|
|
1425
1542
|
"totalPages"?: number;
|
|
1426
1543
|
}
|
|
1544
|
+
interface DsPanelNav {
|
|
1545
|
+
/**
|
|
1546
|
+
* ID of the currently active/selected nav item
|
|
1547
|
+
* @default ''
|
|
1548
|
+
*/
|
|
1549
|
+
"activeId"?: string;
|
|
1550
|
+
/**
|
|
1551
|
+
* Whether the nav is in collapsed (icon-only) state
|
|
1552
|
+
* @default false
|
|
1553
|
+
*/
|
|
1554
|
+
"collapsed"?: boolean;
|
|
1555
|
+
/**
|
|
1556
|
+
* JSON string of `PanelNavGroup[]`
|
|
1557
|
+
* @default '[]'
|
|
1558
|
+
*/
|
|
1559
|
+
"groups"?: string;
|
|
1560
|
+
/**
|
|
1561
|
+
* Emitted when the footer left button (gear / dashboard) is clicked.
|
|
1562
|
+
*/
|
|
1563
|
+
"onDsNavFooterAction"?: (event: DsPanelNavCustomEvent<void>) => void;
|
|
1564
|
+
/**
|
|
1565
|
+
* Emitted when a nav item is clicked. Detail = the item's `id`.
|
|
1566
|
+
*/
|
|
1567
|
+
"onDsNavSelect"?: (event: DsPanelNavCustomEvent<string>) => void;
|
|
1568
|
+
/**
|
|
1569
|
+
* Emitted when the collapse toggle is clicked. Detail = new collapsed state.
|
|
1570
|
+
*/
|
|
1571
|
+
"onDsNavToggle"?: (event: DsPanelNavCustomEvent<boolean>) => void;
|
|
1572
|
+
/**
|
|
1573
|
+
* Single character shown in the collapsed avatar
|
|
1574
|
+
* @default ''
|
|
1575
|
+
*/
|
|
1576
|
+
"userInitial"?: string;
|
|
1577
|
+
/**
|
|
1578
|
+
* Display name for the footer user section
|
|
1579
|
+
* @default ''
|
|
1580
|
+
*/
|
|
1581
|
+
"userName"?: string;
|
|
1582
|
+
/**
|
|
1583
|
+
* Visual variant: `dashboard` = always-dark surface, `settings` = light surface
|
|
1584
|
+
* @default 'dashboard'
|
|
1585
|
+
*/
|
|
1586
|
+
"variant"?: PanelNavVariant;
|
|
1587
|
+
}
|
|
1427
1588
|
interface DsRadioGroup {
|
|
1428
1589
|
"ariaLabel"?: string | undefined;
|
|
1429
1590
|
"ariaLabelledby"?: string | undefined;
|
|
@@ -1811,6 +1972,13 @@ declare namespace LocalJSX {
|
|
|
1811
1972
|
"heading": string | undefined;
|
|
1812
1973
|
"background": HeaderBackground;
|
|
1813
1974
|
}
|
|
1975
|
+
interface DsIconAttributes {
|
|
1976
|
+
"name": string;
|
|
1977
|
+
"size": IconSize;
|
|
1978
|
+
"color": IconColor | undefined;
|
|
1979
|
+
"label": string | undefined;
|
|
1980
|
+
"flag": boolean;
|
|
1981
|
+
}
|
|
1814
1982
|
interface DsInputAttributes {
|
|
1815
1983
|
"value": string;
|
|
1816
1984
|
"placeholder": string | undefined;
|
|
@@ -1850,6 +2018,14 @@ declare namespace LocalJSX {
|
|
|
1850
2018
|
"siblingCount": number;
|
|
1851
2019
|
"inactive": boolean;
|
|
1852
2020
|
}
|
|
2021
|
+
interface DsPanelNavAttributes {
|
|
2022
|
+
"variant": PanelNavVariant;
|
|
2023
|
+
"groups": string;
|
|
2024
|
+
"activeId": string;
|
|
2025
|
+
"collapsed": boolean;
|
|
2026
|
+
"userName": string;
|
|
2027
|
+
"userInitial": string;
|
|
2028
|
+
}
|
|
1853
2029
|
interface DsRadioGroupAttributes {
|
|
1854
2030
|
"value": string;
|
|
1855
2031
|
"direction": 'vertical' | 'horizontal';
|
|
@@ -1965,11 +2141,13 @@ declare namespace LocalJSX {
|
|
|
1965
2141
|
"ds-fade": Omit<DsFade, keyof DsFadeAttributes> & { [K in keyof DsFade & keyof DsFadeAttributes]?: DsFade[K] } & { [K in keyof DsFade & keyof DsFadeAttributes as `attr:${K}`]?: DsFadeAttributes[K] } & { [K in keyof DsFade & keyof DsFadeAttributes as `prop:${K}`]?: DsFade[K] } & OneOf<"side", DsFade["side"], DsFadeAttributes["side"]>;
|
|
1966
2142
|
"ds-field": Omit<DsField, keyof DsFieldAttributes> & { [K in keyof DsField & keyof DsFieldAttributes]?: DsField[K] } & { [K in keyof DsField & keyof DsFieldAttributes as `attr:${K}`]?: DsFieldAttributes[K] } & { [K in keyof DsField & keyof DsFieldAttributes as `prop:${K}`]?: DsField[K] } & OneOf<"label", DsField["label"], DsFieldAttributes["label"]>;
|
|
1967
2143
|
"ds-header": Omit<DsHeader, keyof DsHeaderAttributes> & { [K in keyof DsHeader & keyof DsHeaderAttributes]?: DsHeader[K] } & { [K in keyof DsHeader & keyof DsHeaderAttributes as `attr:${K}`]?: DsHeaderAttributes[K] } & { [K in keyof DsHeader & keyof DsHeaderAttributes as `prop:${K}`]?: DsHeader[K] };
|
|
2144
|
+
"ds-icon": Omit<DsIcon, keyof DsIconAttributes> & { [K in keyof DsIcon & keyof DsIconAttributes]?: DsIcon[K] } & { [K in keyof DsIcon & keyof DsIconAttributes as `attr:${K}`]?: DsIconAttributes[K] } & { [K in keyof DsIcon & keyof DsIconAttributes as `prop:${K}`]?: DsIcon[K] };
|
|
1968
2145
|
"ds-input": Omit<DsInput, keyof DsInputAttributes> & { [K in keyof DsInput & keyof DsInputAttributes]?: DsInput[K] } & { [K in keyof DsInput & keyof DsInputAttributes as `attr:${K}`]?: DsInputAttributes[K] } & { [K in keyof DsInput & keyof DsInputAttributes as `prop:${K}`]?: DsInput[K] };
|
|
1969
2146
|
"ds-loader": Omit<DsLoader, keyof DsLoaderAttributes> & { [K in keyof DsLoader & keyof DsLoaderAttributes]?: DsLoader[K] } & { [K in keyof DsLoader & keyof DsLoaderAttributes as `attr:${K}`]?: DsLoaderAttributes[K] } & { [K in keyof DsLoader & keyof DsLoaderAttributes as `prop:${K}`]?: DsLoader[K] };
|
|
1970
2147
|
"ds-menu": Omit<DsMenu, keyof DsMenuAttributes> & { [K in keyof DsMenu & keyof DsMenuAttributes]?: DsMenu[K] } & { [K in keyof DsMenu & keyof DsMenuAttributes as `attr:${K}`]?: DsMenuAttributes[K] } & { [K in keyof DsMenu & keyof DsMenuAttributes as `prop:${K}`]?: DsMenu[K] };
|
|
1971
2148
|
"ds-modal": Omit<DsModal, keyof DsModalAttributes> & { [K in keyof DsModal & keyof DsModalAttributes]?: DsModal[K] } & { [K in keyof DsModal & keyof DsModalAttributes as `attr:${K}`]?: DsModalAttributes[K] } & { [K in keyof DsModal & keyof DsModalAttributes as `prop:${K}`]?: DsModal[K] } & OneOf<"heading", DsModal["heading"], DsModalAttributes["heading"]>;
|
|
1972
2149
|
"ds-pagination": Omit<DsPagination, keyof DsPaginationAttributes> & { [K in keyof DsPagination & keyof DsPaginationAttributes]?: DsPagination[K] } & { [K in keyof DsPagination & keyof DsPaginationAttributes as `attr:${K}`]?: DsPaginationAttributes[K] } & { [K in keyof DsPagination & keyof DsPaginationAttributes as `prop:${K}`]?: DsPagination[K] };
|
|
2150
|
+
"ds-panel-nav": Omit<DsPanelNav, keyof DsPanelNavAttributes> & { [K in keyof DsPanelNav & keyof DsPanelNavAttributes]?: DsPanelNav[K] } & { [K in keyof DsPanelNav & keyof DsPanelNavAttributes as `attr:${K}`]?: DsPanelNavAttributes[K] } & { [K in keyof DsPanelNav & keyof DsPanelNavAttributes as `prop:${K}`]?: DsPanelNav[K] };
|
|
1973
2151
|
"ds-radio-group": Omit<DsRadioGroup, keyof DsRadioGroupAttributes> & { [K in keyof DsRadioGroup & keyof DsRadioGroupAttributes]?: DsRadioGroup[K] } & { [K in keyof DsRadioGroup & keyof DsRadioGroupAttributes as `attr:${K}`]?: DsRadioGroupAttributes[K] } & { [K in keyof DsRadioGroup & keyof DsRadioGroupAttributes as `prop:${K}`]?: DsRadioGroup[K] };
|
|
1974
2152
|
"ds-scrollbar": Omit<DsScrollbar, keyof DsScrollbarAttributes> & { [K in keyof DsScrollbar & keyof DsScrollbarAttributes]?: DsScrollbar[K] } & { [K in keyof DsScrollbar & keyof DsScrollbarAttributes as `attr:${K}`]?: DsScrollbarAttributes[K] } & { [K in keyof DsScrollbar & keyof DsScrollbarAttributes as `prop:${K}`]?: DsScrollbar[K] };
|
|
1975
2153
|
"ds-sidebar": Omit<DsSidebar, keyof DsSidebarAttributes> & { [K in keyof DsSidebar & keyof DsSidebarAttributes]?: DsSidebar[K] } & { [K in keyof DsSidebar & keyof DsSidebarAttributes as `attr:${K}`]?: DsSidebarAttributes[K] } & { [K in keyof DsSidebar & keyof DsSidebarAttributes as `prop:${K}`]?: DsSidebar[K] };
|
|
@@ -2001,11 +2179,13 @@ declare module "@stencil/core" {
|
|
|
2001
2179
|
"ds-fade": LocalJSX.IntrinsicElements["ds-fade"] & JSXBase.HTMLAttributes<HTMLDsFadeElement>;
|
|
2002
2180
|
"ds-field": LocalJSX.IntrinsicElements["ds-field"] & JSXBase.HTMLAttributes<HTMLDsFieldElement>;
|
|
2003
2181
|
"ds-header": LocalJSX.IntrinsicElements["ds-header"] & JSXBase.HTMLAttributes<HTMLDsHeaderElement>;
|
|
2182
|
+
"ds-icon": LocalJSX.IntrinsicElements["ds-icon"] & JSXBase.HTMLAttributes<HTMLDsIconElement>;
|
|
2004
2183
|
"ds-input": LocalJSX.IntrinsicElements["ds-input"] & JSXBase.HTMLAttributes<HTMLDsInputElement>;
|
|
2005
2184
|
"ds-loader": LocalJSX.IntrinsicElements["ds-loader"] & JSXBase.HTMLAttributes<HTMLDsLoaderElement>;
|
|
2006
2185
|
"ds-menu": LocalJSX.IntrinsicElements["ds-menu"] & JSXBase.HTMLAttributes<HTMLDsMenuElement>;
|
|
2007
2186
|
"ds-modal": LocalJSX.IntrinsicElements["ds-modal"] & JSXBase.HTMLAttributes<HTMLDsModalElement>;
|
|
2008
2187
|
"ds-pagination": LocalJSX.IntrinsicElements["ds-pagination"] & JSXBase.HTMLAttributes<HTMLDsPaginationElement>;
|
|
2188
|
+
"ds-panel-nav": LocalJSX.IntrinsicElements["ds-panel-nav"] & JSXBase.HTMLAttributes<HTMLDsPanelNavElement>;
|
|
2009
2189
|
"ds-radio-group": LocalJSX.IntrinsicElements["ds-radio-group"] & JSXBase.HTMLAttributes<HTMLDsRadioGroupElement>;
|
|
2010
2190
|
"ds-scrollbar": LocalJSX.IntrinsicElements["ds-scrollbar"] & JSXBase.HTMLAttributes<HTMLDsScrollbarElement>;
|
|
2011
2191
|
"ds-sidebar": LocalJSX.IntrinsicElements["ds-sidebar"] & JSXBase.HTMLAttributes<HTMLDsSidebarElement>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ds-mo/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "CompoMo — composable web components styled with TokoMo design tokens",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components",
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"@storybook/addon-docs": "^8.6.18",
|
|
67
67
|
"@storybook/web-components": "^8.6.18",
|
|
68
68
|
"@storybook/web-components-vite": "^8.6.18",
|
|
69
|
+
"concurrently": "^9.2.1",
|
|
69
70
|
"eslint": "^9.39.4",
|
|
70
71
|
"globals": "^17.6.0",
|
|
71
72
|
"lit": "^3.3.3",
|
package/src/angular/index.ts
CHANGED
package/src/angular/proxies.ts
CHANGED
|
@@ -316,6 +316,29 @@ export class DsHeader {
|
|
|
316
316
|
export declare interface DsHeader extends Components.DsHeader {}
|
|
317
317
|
|
|
318
318
|
|
|
319
|
+
@ProxyCmp({
|
|
320
|
+
inputs: ['color', 'flag', 'label', 'name', 'size']
|
|
321
|
+
})
|
|
322
|
+
@Component({
|
|
323
|
+
selector: 'ds-icon',
|
|
324
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
325
|
+
template: '<ng-content></ng-content>',
|
|
326
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
327
|
+
inputs: ['color', 'flag', 'label', 'name', 'size'],
|
|
328
|
+
standalone: false
|
|
329
|
+
})
|
|
330
|
+
export class DsIcon {
|
|
331
|
+
protected el: HTMLDsIconElement;
|
|
332
|
+
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
|
|
333
|
+
c.detach();
|
|
334
|
+
this.el = r.nativeElement;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
export declare interface DsIcon extends Components.DsIcon {}
|
|
340
|
+
|
|
341
|
+
|
|
319
342
|
@ProxyCmp({
|
|
320
343
|
inputs: ['ariaDescribedby', 'ariaLabel', 'ariaLabelledby', 'autoFocus', 'error', 'errorMessage', 'inactive', 'inputId', 'placeholder', 'type', 'value'],
|
|
321
344
|
methods: ['setFocus']
|
|
@@ -460,6 +483,46 @@ export declare interface DsPagination extends Components.DsPagination {
|
|
|
460
483
|
}
|
|
461
484
|
|
|
462
485
|
|
|
486
|
+
@ProxyCmp({
|
|
487
|
+
inputs: ['activeId', 'collapsed', 'groups', 'userInitial', 'userName', 'variant']
|
|
488
|
+
})
|
|
489
|
+
@Component({
|
|
490
|
+
selector: 'ds-panel-nav',
|
|
491
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
492
|
+
template: '<ng-content></ng-content>',
|
|
493
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
494
|
+
inputs: ['activeId', 'collapsed', 'groups', 'userInitial', 'userName', 'variant'],
|
|
495
|
+
outputs: ['dsNavSelect', 'dsNavToggle', 'dsNavFooterAction'],
|
|
496
|
+
standalone: false
|
|
497
|
+
})
|
|
498
|
+
export class DsPanelNav {
|
|
499
|
+
protected el: HTMLDsPanelNavElement;
|
|
500
|
+
@Output() dsNavSelect = new EventEmitter<CustomEvent<string>>();
|
|
501
|
+
@Output() dsNavToggle = new EventEmitter<CustomEvent<boolean>>();
|
|
502
|
+
@Output() dsNavFooterAction = new EventEmitter<CustomEvent<void>>();
|
|
503
|
+
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
|
|
504
|
+
c.detach();
|
|
505
|
+
this.el = r.nativeElement;
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
export declare interface DsPanelNav extends Components.DsPanelNav {
|
|
511
|
+
/**
|
|
512
|
+
* Emitted when a nav item is clicked. Detail = the item's `id`.
|
|
513
|
+
*/
|
|
514
|
+
dsNavSelect: EventEmitter<CustomEvent<string>>;
|
|
515
|
+
/**
|
|
516
|
+
* Emitted when the collapse toggle is clicked. Detail = new collapsed state.
|
|
517
|
+
*/
|
|
518
|
+
dsNavToggle: EventEmitter<CustomEvent<boolean>>;
|
|
519
|
+
/**
|
|
520
|
+
* Emitted when the footer left button (gear / dashboard) is clicked.
|
|
521
|
+
*/
|
|
522
|
+
dsNavFooterAction: EventEmitter<CustomEvent<void>>;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
|
|
463
526
|
@ProxyCmp({
|
|
464
527
|
inputs: ['ariaLabel', 'ariaLabelledby', 'direction', 'inactive', 'options', 'value']
|
|
465
528
|
})
|