@lilydesignsystem/angular-picker-bar 0.2.0 → 0.4.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/README.md +2 -0
- package/fesm2022/lilydesignsystem-angular-picker-bar.mjs +120 -11
- package/fesm2022/lilydesignsystem-angular-picker-bar.mjs.map +1 -1
- package/package.json +8 -7
- package/types/lilydesignsystem-angular-picker-bar.d.ts +71 -45
- package/types/lilydesignsystem-angular-picker-bar.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Lily Design System™ — Angular PickerBar
|
|
2
2
|
|
|
3
|
+
> **Link picker (0.3.0).** Pass `links` (and `labels.link`) to add a `link-picker` — a home icon opening the page links your app defines — as the leftmost icon. It renders only when both are given.
|
|
4
|
+
|
|
3
5
|
A single page-header row that composes five of the Lily
|
|
4
6
|
[`*-picker` helpers](../index.md) — search, theme, locale, text size,
|
|
5
7
|
and share, in that order — with two catalog-wide defaults pre-wired, so
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import { ChangeDetectionStrategy, Component, input, model, output } from "@angular/core";
|
|
3
|
+
import { LinkPicker } from "@lilydesignsystem/angular-link-picker";
|
|
3
4
|
import { ThemePicker } from "@lilydesignsystem/angular-theme-picker";
|
|
4
5
|
import { LocalePicker } from "@lilydesignsystem/angular-locale-picker";
|
|
5
6
|
import { TextSizePicker } from "@lilydesignsystem/angular-text-size-picker";
|
|
@@ -9,11 +10,14 @@ const DEFAULT_THEMES = [
|
|
|
9
10
|
"abyss",
|
|
10
11
|
"acid",
|
|
11
12
|
"adobe-spectrum",
|
|
13
|
+
"ant-design",
|
|
12
14
|
"aqua",
|
|
15
|
+
"atlassian",
|
|
13
16
|
"autumn",
|
|
14
17
|
"black",
|
|
15
18
|
"bumblebee",
|
|
16
19
|
"business",
|
|
20
|
+
"cappuccino",
|
|
17
21
|
"caramellatte",
|
|
18
22
|
"cmyk",
|
|
19
23
|
"coffee",
|
|
@@ -24,23 +28,32 @@ const DEFAULT_THEMES = [
|
|
|
24
28
|
"dim",
|
|
25
29
|
"dracula",
|
|
26
30
|
"emerald",
|
|
31
|
+
"excel",
|
|
27
32
|
"fantasy",
|
|
33
|
+
"fluent",
|
|
28
34
|
"forest",
|
|
29
35
|
"garden",
|
|
36
|
+
"github-primer",
|
|
30
37
|
"halloween",
|
|
38
|
+
"ibm-carbon",
|
|
31
39
|
"lemonade",
|
|
32
40
|
"light",
|
|
41
|
+
"linear",
|
|
33
42
|
"lofi",
|
|
34
43
|
"luxury",
|
|
35
44
|
"mozilla-protocol",
|
|
36
45
|
"night",
|
|
37
46
|
"nord",
|
|
47
|
+
"notion",
|
|
38
48
|
"pastel",
|
|
39
49
|
"retro",
|
|
50
|
+
"salesforce",
|
|
51
|
+
"sap-fiori",
|
|
40
52
|
"silk",
|
|
41
53
|
"sunset",
|
|
42
54
|
"synthwave",
|
|
43
55
|
"valentine",
|
|
56
|
+
"vercel",
|
|
44
57
|
"winter",
|
|
45
58
|
"wireframe",
|
|
46
59
|
"united-kingdom-government-digital-service",
|
|
@@ -64,6 +77,9 @@ const DEFAULT_SIZES = [
|
|
|
64
77
|
var PickerBar = class PickerBar {
|
|
65
78
|
constructor() {
|
|
66
79
|
this.labels = input.required(...ngDevMode ? [{ debugName: "labels" }] : /* istanbul ignore next */ []);
|
|
80
|
+
this.links = input([], ...ngDevMode ? [{ debugName: "links" }] : /* istanbul ignore next */ []);
|
|
81
|
+
this.linkNavigate = input(void 0, ...ngDevMode ? [{ debugName: "linkNavigate" }] : /* istanbul ignore next */ []);
|
|
82
|
+
this.linkNavigated = output();
|
|
67
83
|
this.searchPlaceholder = input(void 0, ...ngDevMode ? [{ debugName: "searchPlaceholder" }] : /* istanbul ignore next */ []);
|
|
68
84
|
this.searchValue = model("", ...ngDevMode ? [{ debugName: "searchValue" }] : /* istanbul ignore next */ []);
|
|
69
85
|
this.searchAction = input("/", ...ngDevMode ? [{ debugName: "searchAction" }] : /* istanbul ignore next */ []);
|
|
@@ -119,7 +135,7 @@ var PickerBar = class PickerBar {
|
|
|
119
135
|
}
|
|
120
136
|
static {
|
|
121
137
|
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
122
|
-
minVersion: "17.
|
|
138
|
+
minVersion: "17.0.0",
|
|
123
139
|
version: "22.2.1",
|
|
124
140
|
type: PickerBar,
|
|
125
141
|
isStandalone: true,
|
|
@@ -132,6 +148,20 @@ var PickerBar = class PickerBar {
|
|
|
132
148
|
isRequired: true,
|
|
133
149
|
transformFunction: null
|
|
134
150
|
},
|
|
151
|
+
links: {
|
|
152
|
+
classPropertyName: "links",
|
|
153
|
+
publicName: "links",
|
|
154
|
+
isSignal: true,
|
|
155
|
+
isRequired: false,
|
|
156
|
+
transformFunction: null
|
|
157
|
+
},
|
|
158
|
+
linkNavigate: {
|
|
159
|
+
classPropertyName: "linkNavigate",
|
|
160
|
+
publicName: "linkNavigate",
|
|
161
|
+
isSignal: true,
|
|
162
|
+
isRequired: false,
|
|
163
|
+
transformFunction: null
|
|
164
|
+
},
|
|
135
165
|
searchPlaceholder: {
|
|
136
166
|
classPropertyName: "searchPlaceholder",
|
|
137
167
|
publicName: "searchPlaceholder",
|
|
@@ -400,6 +430,7 @@ var PickerBar = class PickerBar {
|
|
|
400
430
|
}
|
|
401
431
|
},
|
|
402
432
|
outputs: {
|
|
433
|
+
linkNavigated: "linkNavigated",
|
|
403
434
|
searchValue: "searchValueChange",
|
|
404
435
|
searched: "searched",
|
|
405
436
|
themeValue: "themeValueChange",
|
|
@@ -412,6 +443,14 @@ var PickerBar = class PickerBar {
|
|
|
412
443
|
ngImport: i0,
|
|
413
444
|
template: `
|
|
414
445
|
<div class="picker-bar {{ className() }}">
|
|
446
|
+
@if (links().length > 0 && labels().link) {
|
|
447
|
+
<lily-link-picker
|
|
448
|
+
[label]="labels().link!"
|
|
449
|
+
[links]="links()"
|
|
450
|
+
[navigate]="linkNavigate()"
|
|
451
|
+
(navigated)="linkNavigated.emit($event)"
|
|
452
|
+
/>
|
|
453
|
+
}
|
|
415
454
|
<lily-search-picker
|
|
416
455
|
[label]="labels().search"
|
|
417
456
|
[inputLabel]="labels().searchInput"
|
|
@@ -474,6 +513,20 @@ var PickerBar = class PickerBar {
|
|
|
474
513
|
`,
|
|
475
514
|
isInline: true,
|
|
476
515
|
dependencies: [
|
|
516
|
+
{
|
|
517
|
+
kind: "component",
|
|
518
|
+
type: LinkPicker,
|
|
519
|
+
selector: "lily-link-picker",
|
|
520
|
+
inputs: [
|
|
521
|
+
"label",
|
|
522
|
+
"links",
|
|
523
|
+
"navigate",
|
|
524
|
+
"className",
|
|
525
|
+
"open",
|
|
526
|
+
"disabled"
|
|
527
|
+
],
|
|
528
|
+
outputs: ["navigated", "openChange"]
|
|
529
|
+
},
|
|
477
530
|
{
|
|
478
531
|
kind: "component",
|
|
479
532
|
type: SearchPicker,
|
|
@@ -486,9 +539,15 @@ var PickerBar = class PickerBar {
|
|
|
486
539
|
"value",
|
|
487
540
|
"action",
|
|
488
541
|
"navigate",
|
|
489
|
-
"className"
|
|
542
|
+
"className",
|
|
543
|
+
"open",
|
|
544
|
+
"disabled"
|
|
490
545
|
],
|
|
491
|
-
outputs: [
|
|
546
|
+
outputs: [
|
|
547
|
+
"valueChange",
|
|
548
|
+
"searched",
|
|
549
|
+
"openChange"
|
|
550
|
+
]
|
|
492
551
|
},
|
|
493
552
|
{
|
|
494
553
|
kind: "component",
|
|
@@ -506,9 +565,15 @@ var PickerBar = class PickerBar {
|
|
|
506
565
|
"extension",
|
|
507
566
|
"target",
|
|
508
567
|
"themeLabels",
|
|
509
|
-
"className"
|
|
568
|
+
"className",
|
|
569
|
+
"open",
|
|
570
|
+
"disabled"
|
|
510
571
|
],
|
|
511
|
-
outputs: [
|
|
572
|
+
outputs: [
|
|
573
|
+
"valueChange",
|
|
574
|
+
"themeChange",
|
|
575
|
+
"openChange"
|
|
576
|
+
]
|
|
512
577
|
},
|
|
513
578
|
{
|
|
514
579
|
kind: "component",
|
|
@@ -525,9 +590,15 @@ var PickerBar = class PickerBar {
|
|
|
525
590
|
"target",
|
|
526
591
|
"applyDir",
|
|
527
592
|
"localeLabels",
|
|
528
|
-
"className"
|
|
593
|
+
"className",
|
|
594
|
+
"open",
|
|
595
|
+
"disabled"
|
|
529
596
|
],
|
|
530
|
-
outputs: [
|
|
597
|
+
outputs: [
|
|
598
|
+
"valueChange",
|
|
599
|
+
"localeChange",
|
|
600
|
+
"openChange"
|
|
601
|
+
]
|
|
531
602
|
},
|
|
532
603
|
{
|
|
533
604
|
kind: "component",
|
|
@@ -542,9 +613,15 @@ var PickerBar = class PickerBar {
|
|
|
542
613
|
"name",
|
|
543
614
|
"target",
|
|
544
615
|
"sizeLabels",
|
|
545
|
-
"className"
|
|
616
|
+
"className",
|
|
617
|
+
"open",
|
|
618
|
+
"disabled"
|
|
546
619
|
],
|
|
547
|
-
outputs: [
|
|
620
|
+
outputs: [
|
|
621
|
+
"valueChange",
|
|
622
|
+
"sizeChange",
|
|
623
|
+
"openChange"
|
|
624
|
+
]
|
|
548
625
|
},
|
|
549
626
|
{
|
|
550
627
|
kind: "component",
|
|
@@ -560,12 +637,15 @@ var PickerBar = class PickerBar {
|
|
|
560
637
|
"copiedLabel",
|
|
561
638
|
"copyFailedLabel",
|
|
562
639
|
"strategy",
|
|
563
|
-
"className"
|
|
640
|
+
"className",
|
|
641
|
+
"open",
|
|
642
|
+
"disabled"
|
|
564
643
|
],
|
|
565
644
|
outputs: [
|
|
566
645
|
"share",
|
|
567
646
|
"copy",
|
|
568
|
-
"nativeShare"
|
|
647
|
+
"nativeShare",
|
|
648
|
+
"openChange"
|
|
569
649
|
]
|
|
570
650
|
}
|
|
571
651
|
],
|
|
@@ -584,6 +664,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
584
664
|
selector: "lily-picker-bar",
|
|
585
665
|
standalone: true,
|
|
586
666
|
imports: [
|
|
667
|
+
LinkPicker,
|
|
587
668
|
SearchPicker,
|
|
588
669
|
ThemePicker,
|
|
589
670
|
LocalePicker,
|
|
@@ -593,6 +674,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
593
674
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
594
675
|
template: `
|
|
595
676
|
<div class="picker-bar {{ className() }}">
|
|
677
|
+
@if (links().length > 0 && labels().link) {
|
|
678
|
+
<lily-link-picker
|
|
679
|
+
[label]="labels().link!"
|
|
680
|
+
[links]="links()"
|
|
681
|
+
[navigate]="linkNavigate()"
|
|
682
|
+
(navigated)="linkNavigated.emit($event)"
|
|
683
|
+
/>
|
|
684
|
+
}
|
|
596
685
|
<lily-search-picker
|
|
597
686
|
[label]="labels().search"
|
|
598
687
|
[inputLabel]="labels().searchInput"
|
|
@@ -664,6 +753,26 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
664
753
|
required: true
|
|
665
754
|
}]
|
|
666
755
|
}],
|
|
756
|
+
links: [{
|
|
757
|
+
type: i0.Input,
|
|
758
|
+
args: [{
|
|
759
|
+
isSignal: true,
|
|
760
|
+
alias: "links",
|
|
761
|
+
required: false
|
|
762
|
+
}]
|
|
763
|
+
}],
|
|
764
|
+
linkNavigate: [{
|
|
765
|
+
type: i0.Input,
|
|
766
|
+
args: [{
|
|
767
|
+
isSignal: true,
|
|
768
|
+
alias: "linkNavigate",
|
|
769
|
+
required: false
|
|
770
|
+
}]
|
|
771
|
+
}],
|
|
772
|
+
linkNavigated: [{
|
|
773
|
+
type: i0.Output,
|
|
774
|
+
args: ["linkNavigated"]
|
|
775
|
+
}],
|
|
667
776
|
searchPlaceholder: [{
|
|
668
777
|
type: i0.Input,
|
|
669
778
|
args: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lilydesignsystem-angular-picker-bar.mjs","names":[],"sources":["../../picker-bar.component.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, model, output } from \"@angular/core\";\n\nimport { ThemePicker } from \"@lilydesignsystem/angular-theme-picker\";\nimport { LocalePicker } from \"@lilydesignsystem/angular-locale-picker\";\nimport { TextSizePicker } from \"@lilydesignsystem/angular-text-size-picker\";\nimport {\n SharePicker,\n type ShareEvent,\n type ShareStrategy,\n type ShareTarget,\n} from \"@lilydesignsystem/angular-share-picker\";\nimport {\n SearchPicker,\n type SearchEvent,\n} from \"@lilydesignsystem/angular-search-picker\";\n\n/**\n * All 45 Lily reference theme slugs (see `themes/` at the repo root),\n * sorted alphabetically except the United Kingdom and United States\n * government/public-sector themes, which sort last as one alphabetical\n * group of their own. Mirrors `theme-picker`'s own title-casing of each\n * slug, so no `themeLabels` override is needed for these to read well.\n */\nexport const DEFAULT_THEMES: string[] = [\n \"abyss\",\n \"acid\",\n \"adobe-spectrum\",\n \"aqua\",\n \"autumn\",\n \"black\",\n \"bumblebee\",\n \"business\",\n \"caramellatte\",\n \"cmyk\",\n \"coffee\",\n \"corporate\",\n \"cupcake\",\n \"cyberpunk\",\n \"dark\",\n \"dim\",\n \"dracula\",\n \"emerald\",\n \"fantasy\",\n \"forest\",\n \"garden\",\n \"halloween\",\n \"lemonade\",\n \"light\",\n \"lofi\",\n \"luxury\",\n \"mozilla-protocol\",\n \"night\",\n \"nord\",\n \"pastel\",\n \"retro\",\n \"silk\",\n \"sunset\",\n \"synthwave\",\n \"valentine\",\n \"winter\",\n \"wireframe\",\n \"united-kingdom-government-digital-service\",\n \"united-kingdom-national-health-service-england-for-patients\",\n \"united-kingdom-national-health-service-england-for-practitioners\",\n \"united-kingdom-national-health-service-scotland-for-patients\",\n \"united-kingdom-national-health-service-scotland-for-practitioners\",\n \"united-kingdom-national-health-service-wales-for-patients\",\n \"united-kingdom-national-health-service-wales-for-practitioners\",\n \"united-states-web-design-system\",\n];\n\n/**\n * The seven-step text-size scale. Each slug title-cases to exactly the\n * requested label (\"largest\" → \"Largest\", …) via `text-size-picker`'s\n * own default `labelFor`, so no `sizeLabels` override is needed either.\n */\nexport const DEFAULT_SIZES: string[] = [\n \"largest\",\n \"larger\",\n \"large\",\n \"normal\",\n \"small\",\n \"smaller\",\n \"smallest\",\n];\n\n/** Accessible names for the five pickers. Required — no English default. */\nexport type PickerBarLabels = {\n /** Accessible name for the search picker's button and search landmark. */\n search: string;\n /** Accessible name for the search picker's text field. */\n searchInput: string;\n /** Accessible name for the search picker's ⏎ submit button. */\n searchSubmit: string;\n /** Accessible name for the theme picker's button and listbox. */\n theme: string;\n /** Accessible name for the locale picker's button and listbox. */\n locale: string;\n /** Accessible name for the text-size picker's button and listbox. */\n textSize: string;\n /** Accessible name for the share picker's button and list. */\n share: string;\n};\n\n/**\n * PickerBar — composes search-picker, theme-picker, locale-picker,\n * text-size-picker, and share-picker into one page-header row.\n *\n * A thin wrapper: it renders the five picker components, each imported\n * as a real npm dependency from its own published package, unmodified.\n * It pre-wires two catalog-specific defaults (`DEFAULT_THEMES`,\n * `DEFAULT_SIZES`) and flattens each wrapped picker's most commonly\n * needed optional props onto its own inputs — Angular has no spread\n * binding for component inputs, so unlike the canonical Svelte\n * contract's `*Props` bag, overrides here are named inputs rather than\n * an object spread. `motion-picker` and `date-time-picker` are\n * deliberately not included — see `spec/index.md` §1.\n */\n@Component({\n selector: \"lily-picker-bar\",\n standalone: true,\n imports: [SearchPicker, ThemePicker, LocalePicker, TextSizePicker, SharePicker],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"picker-bar {{ className() }}\">\n <lily-search-picker\n [label]=\"labels().search\"\n [inputLabel]=\"labels().searchInput\"\n [submitLabel]=\"labels().searchSubmit\"\n [placeholder]=\"searchPlaceholder()\"\n [(value)]=\"searchValue\"\n [action]=\"searchAction()\"\n [navigate]=\"searchNavigate()\"\n (searched)=\"searched.emit($event)\"\n />\n <lily-theme-picker\n [label]=\"labels().theme\"\n [themesUrl]=\"themesUrl()\"\n [themes]=\"themes()\"\n [(value)]=\"themeValue\"\n [defaultValue]=\"themeDefaultValue()\"\n [storageKey]=\"themeStorageKey()\"\n [detectFromSystem]=\"themeDetectFromSystem()\"\n [name]=\"themeName()\"\n [target]=\"themeTarget()\"\n [themeLabels]=\"themeLabels()\"\n />\n <lily-locale-picker\n [label]=\"labels().locale\"\n [locales]=\"locales()\"\n [(value)]=\"localeValue\"\n [defaultValue]=\"localeDefaultValue()\"\n [storageKey]=\"localeStorageKey()\"\n [detectFromNavigator]=\"localeDetectFromNavigator()\"\n [name]=\"localeName()\"\n [target]=\"localeTarget()\"\n [applyDir]=\"localeApplyDir()\"\n [localeLabels]=\"localeLabels()\"\n />\n <lily-text-size-picker\n [label]=\"labels().textSize\"\n [sizes]=\"sizes()\"\n [(value)]=\"textSizeValue\"\n [defaultValue]=\"textSizeDefaultValue()\"\n [storageKey]=\"textSizeStorageKey()\"\n [name]=\"textSizeName()\"\n [target]=\"textSizeTarget()\"\n [sizeLabels]=\"textSizeLabels()\"\n />\n <lily-share-picker\n [label]=\"labels().share\"\n [targets]=\"shareTargets()\"\n [url]=\"shareUrl()\"\n [title]=\"shareTitle()\"\n [text]=\"shareText()\"\n [copyLabel]=\"copyLabel()\"\n [copiedLabel]=\"copiedLabel()\"\n [copyFailedLabel]=\"copyFailedLabel()\"\n [strategy]=\"shareStrategy()\"\n (share)=\"share.emit($event)\"\n (copy)=\"copy.emit($event)\"\n (nativeShare)=\"nativeShare.emit($event)\"\n />\n </div>\n `,\n})\nexport class PickerBar {\n /** Accessible names for each picker. */\n readonly labels = input.required<PickerBarLabels>();\n\n // --- search-picker ---\n /** Placeholder for the search field. No default (it would be English). */\n readonly searchPlaceholder = input<string | undefined>(undefined);\n /** Two-way bindable search text. */\n readonly searchValue = model<string>(\"\");\n /** Path the query is appended to (`${searchAction}?${query}`). */\n readonly searchAction = input<string>(\"/\");\n /** Performs the search navigation. Defaults to `location.assign(href)`. */\n readonly searchNavigate = input<((href: string) => void) | undefined>(undefined);\n /** Fires with the trimmed query and destination, before navigating. */\n readonly searched = output<SearchEvent>();\n\n // --- theme-picker ---\n /** Base URL of the themes directory, forwarded to ThemePicker. */\n readonly themesUrl = input.required<string>();\n /** Available theme slugs. Defaults to {@link DEFAULT_THEMES}. */\n readonly themes = input<string[]>(DEFAULT_THEMES);\n /** Two-way bindable current theme slug. */\n readonly themeValue = model<string>(\"\");\n readonly themeDefaultValue = input<string>(\"\");\n readonly themeStorageKey = input<string>(\"\");\n readonly themeDetectFromSystem = input<boolean>(false);\n readonly themeName = input<string>(\"theme\");\n readonly themeTarget = input<HTMLElement | null>(null);\n readonly themeLabels = input<Record<string, string>>({});\n\n // --- locale-picker ---\n /** Available locale codes. No catalog default exists — supply the set you support. */\n readonly locales = input.required<string[]>();\n /** Two-way bindable current locale code. */\n readonly localeValue = model<string>(\"\");\n readonly localeDefaultValue = input<string>(\"\");\n readonly localeStorageKey = input<string>(\"\");\n readonly localeDetectFromNavigator = input<boolean>(false);\n readonly localeName = input<string>(\"locale\");\n readonly localeTarget = input<HTMLElement | null>(null);\n readonly localeApplyDir = input<boolean>(true);\n readonly localeLabels = input<Record<string, string>>({});\n\n // --- text-size-picker ---\n /** Available size slugs. Defaults to {@link DEFAULT_SIZES}. */\n readonly sizes = input<string[]>(DEFAULT_SIZES);\n /** Two-way bindable current size slug. */\n readonly textSizeValue = model<string>(\"\");\n /**\n * `text-size-picker`'s own fallback (\"medium\", else `sizes[0]`) does\n * not fit the seven-slug scale — \"medium\" is not one of the seven,\n * and `sizes[0]` would silently start every consumer on \"Largest\".\n */\n readonly textSizeDefaultValue = input<string>(\"normal\");\n readonly textSizeStorageKey = input<string>(\"\");\n readonly textSizeName = input<string>(\"text-size\");\n readonly textSizeTarget = input<HTMLElement | null>(null);\n readonly textSizeLabels = input<Record<string, string>>({});\n\n // --- share-picker ---\n /** Destinations offered by the share picker. Empty is valid if `copyLabel` is set. */\n readonly shareTargets = input<ShareTarget[]>([]);\n readonly shareUrl = input<string>(\"\");\n readonly shareTitle = input<string>(\"\");\n readonly shareText = input<string>(\"\");\n readonly copyLabel = input<string>(\"\");\n readonly copiedLabel = input<string>(\"\");\n readonly copyFailedLabel = input<string>(\"\");\n readonly shareStrategy = input<ShareStrategy>(\"auto\");\n /** Fires after a share destination is chosen. */\n readonly share = output<ShareEvent>();\n /** Fires after the URL is copied. */\n readonly copy = output<string>();\n /** Fires when the native share sheet was used instead of the list. */\n readonly nativeShare = output<string>();\n\n /** Extra CSS class on the root. */\n readonly className = input<string>(\"\");\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lilydesignsystem-angular-picker-bar.mjs","names":[],"sources":["../../picker-bar.component.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, model, output } from \"@angular/core\";\n\nimport {\n LinkPicker,\n type LinkItem,\n type LinkNavigatedEvent,\n} from \"@lilydesignsystem/angular-link-picker\";\nimport { ThemePicker } from \"@lilydesignsystem/angular-theme-picker\";\nimport { LocalePicker } from \"@lilydesignsystem/angular-locale-picker\";\nimport { TextSizePicker } from \"@lilydesignsystem/angular-text-size-picker\";\nimport {\n SharePicker,\n type ShareEvent,\n type ShareStrategy,\n type ShareTarget,\n} from \"@lilydesignsystem/angular-share-picker\";\nimport {\n SearchPicker,\n type SearchEvent,\n} from \"@lilydesignsystem/angular-search-picker\";\n\n/**\n * All 57 Lily reference theme slugs (see `themes/` at the repo root),\n * sorted alphabetically except the United Kingdom and United States\n * government/public-sector themes, which sort last as one alphabetical\n * group of their own. Mirrors `theme-picker`'s own title-casing of each\n * slug, so no `themeLabels` override is needed for these to read well.\n */\nexport const DEFAULT_THEMES: string[] = [\n \"abyss\",\n \"acid\",\n \"adobe-spectrum\",\n \"ant-design\",\n \"aqua\",\n \"atlassian\",\n \"autumn\",\n \"black\",\n \"bumblebee\",\n \"business\",\n \"cappuccino\",\n \"caramellatte\",\n \"cmyk\",\n \"coffee\",\n \"corporate\",\n \"cupcake\",\n \"cyberpunk\",\n \"dark\",\n \"dim\",\n \"dracula\",\n \"emerald\",\n \"excel\",\n \"fantasy\",\n \"fluent\",\n \"forest\",\n \"garden\",\n \"github-primer\",\n \"halloween\",\n \"ibm-carbon\",\n \"lemonade\",\n \"light\",\n \"linear\",\n \"lofi\",\n \"luxury\",\n \"mozilla-protocol\",\n \"night\",\n \"nord\",\n \"notion\",\n \"pastel\",\n \"retro\",\n \"salesforce\",\n \"sap-fiori\",\n \"silk\",\n \"sunset\",\n \"synthwave\",\n \"valentine\",\n \"vercel\",\n \"winter\",\n \"wireframe\",\n \"united-kingdom-government-digital-service\",\n \"united-kingdom-national-health-service-england-for-patients\",\n \"united-kingdom-national-health-service-england-for-practitioners\",\n \"united-kingdom-national-health-service-scotland-for-patients\",\n \"united-kingdom-national-health-service-scotland-for-practitioners\",\n \"united-kingdom-national-health-service-wales-for-patients\",\n \"united-kingdom-national-health-service-wales-for-practitioners\",\n \"united-states-web-design-system\",\n];\n\n/**\n * The seven-step text-size scale. Each slug title-cases to exactly the\n * requested label (\"largest\" → \"Largest\", …) via `text-size-picker`'s\n * own default `labelFor`, so no `sizeLabels` override is needed either.\n */\nexport const DEFAULT_SIZES: string[] = [\n \"largest\",\n \"larger\",\n \"large\",\n \"normal\",\n \"small\",\n \"smaller\",\n \"smallest\",\n];\n\n/** Accessible names for the pickers. Required — no English default (`link` only when `links` is given). */\nexport type PickerBarLabels = {\n /**\n * Accessible name for the link picker's button and list. Needed only when `links` is\n * supplied; the link picker renders only when both are present.\n */\n link?: string;\n /** Accessible name for the search picker's button and search landmark. */\n search: string;\n /** Accessible name for the search picker's text field. */\n searchInput: string;\n /** Accessible name for the search picker's ⏎ submit button. */\n searchSubmit: string;\n /** Accessible name for the theme picker's button and listbox. */\n theme: string;\n /** Accessible name for the locale picker's button and listbox. */\n locale: string;\n /** Accessible name for the text-size picker's button and listbox. */\n textSize: string;\n /** Accessible name for the share picker's button and list. */\n share: string;\n};\n\n/**\n * PickerBar — composes search-picker, theme-picker, locale-picker,\n * text-size-picker, and share-picker into one page-header row.\n *\n * A thin wrapper: it renders the five picker components, each imported\n * as a real npm dependency from its own published package, unmodified.\n * It pre-wires two catalog-specific defaults (`DEFAULT_THEMES`,\n * `DEFAULT_SIZES`) and flattens each wrapped picker's most commonly\n * needed optional props onto its own inputs — Angular has no spread\n * binding for component inputs, so unlike the canonical Svelte\n * contract's `*Props` bag, overrides here are named inputs rather than\n * an object spread. `motion-picker` and `date-time-picker` are\n * deliberately not included — see `spec/index.md` §1.\n */\n@Component({\n selector: \"lily-picker-bar\",\n standalone: true,\n imports: [LinkPicker, SearchPicker, ThemePicker, LocalePicker, TextSizePicker, SharePicker],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"picker-bar {{ className() }}\">\n @if (links().length > 0 && labels().link) {\n <lily-link-picker\n [label]=\"labels().link!\"\n [links]=\"links()\"\n [navigate]=\"linkNavigate()\"\n (navigated)=\"linkNavigated.emit($event)\"\n />\n }\n <lily-search-picker\n [label]=\"labels().search\"\n [inputLabel]=\"labels().searchInput\"\n [submitLabel]=\"labels().searchSubmit\"\n [placeholder]=\"searchPlaceholder()\"\n [(value)]=\"searchValue\"\n [action]=\"searchAction()\"\n [navigate]=\"searchNavigate()\"\n (searched)=\"searched.emit($event)\"\n />\n <lily-theme-picker\n [label]=\"labels().theme\"\n [themesUrl]=\"themesUrl()\"\n [themes]=\"themes()\"\n [(value)]=\"themeValue\"\n [defaultValue]=\"themeDefaultValue()\"\n [storageKey]=\"themeStorageKey()\"\n [detectFromSystem]=\"themeDetectFromSystem()\"\n [name]=\"themeName()\"\n [target]=\"themeTarget()\"\n [themeLabels]=\"themeLabels()\"\n />\n <lily-locale-picker\n [label]=\"labels().locale\"\n [locales]=\"locales()\"\n [(value)]=\"localeValue\"\n [defaultValue]=\"localeDefaultValue()\"\n [storageKey]=\"localeStorageKey()\"\n [detectFromNavigator]=\"localeDetectFromNavigator()\"\n [name]=\"localeName()\"\n [target]=\"localeTarget()\"\n [applyDir]=\"localeApplyDir()\"\n [localeLabels]=\"localeLabels()\"\n />\n <lily-text-size-picker\n [label]=\"labels().textSize\"\n [sizes]=\"sizes()\"\n [(value)]=\"textSizeValue\"\n [defaultValue]=\"textSizeDefaultValue()\"\n [storageKey]=\"textSizeStorageKey()\"\n [name]=\"textSizeName()\"\n [target]=\"textSizeTarget()\"\n [sizeLabels]=\"textSizeLabels()\"\n />\n <lily-share-picker\n [label]=\"labels().share\"\n [targets]=\"shareTargets()\"\n [url]=\"shareUrl()\"\n [title]=\"shareTitle()\"\n [text]=\"shareText()\"\n [copyLabel]=\"copyLabel()\"\n [copiedLabel]=\"copiedLabel()\"\n [copyFailedLabel]=\"copyFailedLabel()\"\n [strategy]=\"shareStrategy()\"\n (share)=\"share.emit($event)\"\n (copy)=\"copy.emit($event)\"\n (nativeShare)=\"nativeShare.emit($event)\"\n />\n </div>\n `,\n})\nexport class PickerBar {\n /** Accessible names for each picker. */\n readonly labels = input.required<PickerBarLabels>();\n\n // --- link-picker ---\n /**\n * Page links for the link picker (a home icon), which renders FIRST — leftmost. Defined by the\n * app; omitted or empty means no link picker (and `labels().link` is then unused).\n */\n readonly links = input<LinkItem[]>([]);\n /** Client-side navigation hook for the links, e.g. a router's `navigateByUrl`. */\n readonly linkNavigate = input<((href: string) => void) | undefined>(undefined);\n /** Fires after a page link is chosen. */\n readonly linkNavigated = output<LinkNavigatedEvent>();\n\n // --- search-picker ---\n /** Placeholder for the search field. No default (it would be English). */\n readonly searchPlaceholder = input<string | undefined>(undefined);\n /** Two-way bindable search text. */\n readonly searchValue = model<string>(\"\");\n /** Path the query is appended to (`${searchAction}?${query}`). */\n readonly searchAction = input<string>(\"/\");\n /** Performs the search navigation. Defaults to `location.assign(href)`. */\n readonly searchNavigate = input<((href: string) => void) | undefined>(undefined);\n /** Fires with the trimmed query and destination, before navigating. */\n readonly searched = output<SearchEvent>();\n\n // --- theme-picker ---\n /** Base URL of the themes directory, forwarded to ThemePicker. */\n readonly themesUrl = input.required<string>();\n /** Available theme slugs. Defaults to {@link DEFAULT_THEMES}. */\n readonly themes = input<string[]>(DEFAULT_THEMES);\n /** Two-way bindable current theme slug. */\n readonly themeValue = model<string>(\"\");\n readonly themeDefaultValue = input<string>(\"\");\n readonly themeStorageKey = input<string>(\"\");\n readonly themeDetectFromSystem = input<boolean>(false);\n readonly themeName = input<string>(\"theme\");\n readonly themeTarget = input<HTMLElement | null>(null);\n readonly themeLabels = input<Record<string, string>>({});\n\n // --- locale-picker ---\n /** Available locale codes. No catalog default exists — supply the set you support. */\n readonly locales = input.required<string[]>();\n /** Two-way bindable current locale code. */\n readonly localeValue = model<string>(\"\");\n readonly localeDefaultValue = input<string>(\"\");\n readonly localeStorageKey = input<string>(\"\");\n readonly localeDetectFromNavigator = input<boolean>(false);\n readonly localeName = input<string>(\"locale\");\n readonly localeTarget = input<HTMLElement | null>(null);\n readonly localeApplyDir = input<boolean>(true);\n readonly localeLabels = input<Record<string, string>>({});\n\n // --- text-size-picker ---\n /** Available size slugs. Defaults to {@link DEFAULT_SIZES}. */\n readonly sizes = input<string[]>(DEFAULT_SIZES);\n /** Two-way bindable current size slug. */\n readonly textSizeValue = model<string>(\"\");\n /**\n * `text-size-picker`'s own fallback (\"medium\", else `sizes[0]`) does\n * not fit the seven-slug scale — \"medium\" is not one of the seven,\n * and `sizes[0]` would silently start every consumer on \"Largest\".\n */\n readonly textSizeDefaultValue = input<string>(\"normal\");\n readonly textSizeStorageKey = input<string>(\"\");\n readonly textSizeName = input<string>(\"text-size\");\n readonly textSizeTarget = input<HTMLElement | null>(null);\n readonly textSizeLabels = input<Record<string, string>>({});\n\n // --- share-picker ---\n /** Destinations offered by the share picker. Empty is valid if `copyLabel` is set. */\n readonly shareTargets = input<ShareTarget[]>([]);\n readonly shareUrl = input<string>(\"\");\n readonly shareTitle = input<string>(\"\");\n readonly shareText = input<string>(\"\");\n readonly copyLabel = input<string>(\"\");\n readonly copiedLabel = input<string>(\"\");\n readonly copyFailedLabel = input<string>(\"\");\n readonly shareStrategy = input<ShareStrategy>(\"auto\");\n /** Fires after a share destination is chosen. */\n readonly share = output<ShareEvent>();\n /** Fires after the URL is copied. */\n readonly copy = output<string>();\n /** Fires when the native share sheet was used instead of the list. */\n readonly nativeShare = output<string>();\n\n /** Extra CSS class on the root. */\n readonly className = input<string>(\"\");\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lilydesignsystem/angular-picker-bar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": "=26"
|
|
6
6
|
},
|
|
7
|
-
"description": "Lily Design System Angular
|
|
8
|
-
"peerDependencies": {
|
|
9
|
-
"@angular/core": ">=20.0.0 <23.0.0",
|
|
10
|
-
"@angular/common": ">=20.0.0 <23.0.0"
|
|
11
|
-
},
|
|
7
|
+
"description": "Lily Design System Angular picker bar: composes link-picker (optional), search-picker, theme-picker, locale-picker, text-size-picker, and share-picker into one page-header row. Headless, SSR-safe, no CSS.",
|
|
12
8
|
"dependencies": {
|
|
9
|
+
"@lilydesignsystem/angular-link-picker": "^0.1.0",
|
|
13
10
|
"@lilydesignsystem/angular-search-picker": "^0.1.0",
|
|
14
11
|
"@lilydesignsystem/angular-theme-picker": "^0.2.0",
|
|
15
12
|
"@lilydesignsystem/angular-locale-picker": "^0.2.0",
|
|
@@ -17,6 +14,10 @@
|
|
|
17
14
|
"@lilydesignsystem/angular-share-picker": "^0.2.0",
|
|
18
15
|
"tslib": "^2.3.0"
|
|
19
16
|
},
|
|
17
|
+
"peerDependencies": {
|
|
18
|
+
"@angular/core": ">=20.0.0 <23.0.0",
|
|
19
|
+
"@angular/common": ">=20.0.0 <23.0.0"
|
|
20
|
+
},
|
|
20
21
|
"sideEffects": false,
|
|
21
22
|
"keywords": [
|
|
22
23
|
"lily",
|
|
@@ -35,7 +36,7 @@
|
|
|
35
36
|
"license": "MIT OR Apache-2.0 OR GPL-2.0-only OR GPL-3.0-only OR BSD-3-Clause",
|
|
36
37
|
"repository": {
|
|
37
38
|
"type": "git",
|
|
38
|
-
"url": "git+https://github.com/LilyDesignSystem/lily-design-system
|
|
39
|
+
"url": "git+https://github.com/LilyDesignSystem/lily-design-system.git",
|
|
39
40
|
"directory": "lily-design-system-angular-picker-bar"
|
|
40
41
|
},
|
|
41
42
|
"homepage": "https://lilydesignsystem.com/",
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { LinkItem, LinkNavigatedEvent } from "@lilydesignsystem/angular-link-picker";
|
|
1
2
|
import { ShareEvent, ShareStrategy, ShareTarget } from "@lilydesignsystem/angular-share-picker";
|
|
2
3
|
import { SearchEvent } from "@lilydesignsystem/angular-search-picker";
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
/**
|
|
5
|
-
* All
|
|
6
|
+
* All 57 Lily reference theme slugs (see `themes/` at the repo root),
|
|
6
7
|
* sorted alphabetically except the United Kingdom and United States
|
|
7
8
|
* government/public-sector themes, which sort last as one alphabetical
|
|
8
9
|
* group of their own. Mirrors `theme-picker`'s own title-casing of each
|
|
@@ -15,8 +16,13 @@ export declare const DEFAULT_THEMES: string[];
|
|
|
15
16
|
* own default `labelFor`, so no `sizeLabels` override is needed either.
|
|
16
17
|
*/
|
|
17
18
|
export declare const DEFAULT_SIZES: string[];
|
|
18
|
-
/** Accessible names for the
|
|
19
|
+
/** Accessible names for the pickers. Required — no English default (`link` only when `links` is given). */
|
|
19
20
|
type PickerBarLabels = {
|
|
21
|
+
/**
|
|
22
|
+
* Accessible name for the link picker's button and list. Needed only when `links` is
|
|
23
|
+
* supplied; the link picker renders only when both are present.
|
|
24
|
+
*/
|
|
25
|
+
link?: string;
|
|
20
26
|
/** Accessible name for the search picker's button and search landmark. */
|
|
21
27
|
search: string;
|
|
22
28
|
/** Accessible name for the search picker's text field. */
|
|
@@ -48,71 +54,80 @@ type PickerBarLabels = {
|
|
|
48
54
|
*/
|
|
49
55
|
export declare class PickerBar {
|
|
50
56
|
/** Accessible names for each picker. */
|
|
51
|
-
readonly labels: import("@angular/core").InputSignal<PickerBarLabels>;
|
|
57
|
+
readonly labels: import("@angular/core/types/core").InputSignal<PickerBarLabels>;
|
|
58
|
+
/**
|
|
59
|
+
* Page links for the link picker (a home icon), which renders FIRST — leftmost. Defined by the
|
|
60
|
+
* app; omitted or empty means no link picker (and `labels().link` is then unused).
|
|
61
|
+
*/
|
|
62
|
+
readonly links: import("@angular/core/types/core").InputSignal<LinkItem[]>;
|
|
63
|
+
/** Client-side navigation hook for the links, e.g. a router's `navigateByUrl`. */
|
|
64
|
+
readonly linkNavigate: import("@angular/core/types/core").InputSignal<((href: string) => void) | undefined>;
|
|
65
|
+
/** Fires after a page link is chosen. */
|
|
66
|
+
readonly linkNavigated: import("@angular/core/types/_api-chunk").OutputEmitterRef<LinkNavigatedEvent>;
|
|
52
67
|
/** Placeholder for the search field. No default (it would be English). */
|
|
53
|
-
readonly searchPlaceholder: import("@angular/core").InputSignal<string | undefined>;
|
|
68
|
+
readonly searchPlaceholder: import("@angular/core/types/core").InputSignal<string | undefined>;
|
|
54
69
|
/** Two-way bindable search text. */
|
|
55
|
-
readonly searchValue: import("@angular/core").ModelSignal<string>;
|
|
70
|
+
readonly searchValue: import("@angular/core/types/core").ModelSignal<string>;
|
|
56
71
|
/** Path the query is appended to (`${searchAction}?${query}`). */
|
|
57
|
-
readonly searchAction: import("@angular/core").InputSignal<string>;
|
|
72
|
+
readonly searchAction: import("@angular/core/types/core").InputSignal<string>;
|
|
58
73
|
/** Performs the search navigation. Defaults to `location.assign(href)`. */
|
|
59
|
-
readonly searchNavigate: import("@angular/core").InputSignal<((href: string) => void) | undefined>;
|
|
74
|
+
readonly searchNavigate: import("@angular/core/types/core").InputSignal<((href: string) => void) | undefined>;
|
|
60
75
|
/** Fires with the trimmed query and destination, before navigating. */
|
|
61
|
-
readonly searched: import("@angular/core").OutputEmitterRef<SearchEvent>;
|
|
76
|
+
readonly searched: import("@angular/core/types/_api-chunk").OutputEmitterRef<SearchEvent>;
|
|
62
77
|
/** Base URL of the themes directory, forwarded to ThemePicker. */
|
|
63
|
-
readonly themesUrl: import("@angular/core").InputSignal<string>;
|
|
78
|
+
readonly themesUrl: import("@angular/core/types/core").InputSignal<string>;
|
|
64
79
|
/** Available theme slugs. Defaults to {@link DEFAULT_THEMES}. */
|
|
65
|
-
readonly themes: import("@angular/core").InputSignal<string[]>;
|
|
80
|
+
readonly themes: import("@angular/core/types/core").InputSignal<string[]>;
|
|
66
81
|
/** Two-way bindable current theme slug. */
|
|
67
|
-
readonly themeValue: import("@angular/core").ModelSignal<string>;
|
|
68
|
-
readonly themeDefaultValue: import("@angular/core").InputSignal<string>;
|
|
69
|
-
readonly themeStorageKey: import("@angular/core").InputSignal<string>;
|
|
70
|
-
readonly themeDetectFromSystem: import("@angular/core").InputSignal<boolean>;
|
|
71
|
-
readonly themeName: import("@angular/core").InputSignal<string>;
|
|
72
|
-
readonly themeTarget: import("@angular/core").InputSignal<HTMLElement | null>;
|
|
73
|
-
readonly themeLabels: import("@angular/core").InputSignal<Record<string, string>>;
|
|
82
|
+
readonly themeValue: import("@angular/core/types/core").ModelSignal<string>;
|
|
83
|
+
readonly themeDefaultValue: import("@angular/core/types/core").InputSignal<string>;
|
|
84
|
+
readonly themeStorageKey: import("@angular/core/types/core").InputSignal<string>;
|
|
85
|
+
readonly themeDetectFromSystem: import("@angular/core/types/core").InputSignal<boolean>;
|
|
86
|
+
readonly themeName: import("@angular/core/types/core").InputSignal<string>;
|
|
87
|
+
readonly themeTarget: import("@angular/core/types/core").InputSignal<HTMLElement | null>;
|
|
88
|
+
readonly themeLabels: import("@angular/core/types/core").InputSignal<Record<string, string>>;
|
|
74
89
|
/** Available locale codes. No catalog default exists — supply the set you support. */
|
|
75
|
-
readonly locales: import("@angular/core").InputSignal<string[]>;
|
|
90
|
+
readonly locales: import("@angular/core/types/core").InputSignal<string[]>;
|
|
76
91
|
/** Two-way bindable current locale code. */
|
|
77
|
-
readonly localeValue: import("@angular/core").ModelSignal<string>;
|
|
78
|
-
readonly localeDefaultValue: import("@angular/core").InputSignal<string>;
|
|
79
|
-
readonly localeStorageKey: import("@angular/core").InputSignal<string>;
|
|
80
|
-
readonly localeDetectFromNavigator: import("@angular/core").InputSignal<boolean>;
|
|
81
|
-
readonly localeName: import("@angular/core").InputSignal<string>;
|
|
82
|
-
readonly localeTarget: import("@angular/core").InputSignal<HTMLElement | null>;
|
|
83
|
-
readonly localeApplyDir: import("@angular/core").InputSignal<boolean>;
|
|
84
|
-
readonly localeLabels: import("@angular/core").InputSignal<Record<string, string>>;
|
|
92
|
+
readonly localeValue: import("@angular/core/types/core").ModelSignal<string>;
|
|
93
|
+
readonly localeDefaultValue: import("@angular/core/types/core").InputSignal<string>;
|
|
94
|
+
readonly localeStorageKey: import("@angular/core/types/core").InputSignal<string>;
|
|
95
|
+
readonly localeDetectFromNavigator: import("@angular/core/types/core").InputSignal<boolean>;
|
|
96
|
+
readonly localeName: import("@angular/core/types/core").InputSignal<string>;
|
|
97
|
+
readonly localeTarget: import("@angular/core/types/core").InputSignal<HTMLElement | null>;
|
|
98
|
+
readonly localeApplyDir: import("@angular/core/types/core").InputSignal<boolean>;
|
|
99
|
+
readonly localeLabels: import("@angular/core/types/core").InputSignal<Record<string, string>>;
|
|
85
100
|
/** Available size slugs. Defaults to {@link DEFAULT_SIZES}. */
|
|
86
|
-
readonly sizes: import("@angular/core").InputSignal<string[]>;
|
|
101
|
+
readonly sizes: import("@angular/core/types/core").InputSignal<string[]>;
|
|
87
102
|
/** Two-way bindable current size slug. */
|
|
88
|
-
readonly textSizeValue: import("@angular/core").ModelSignal<string>;
|
|
103
|
+
readonly textSizeValue: import("@angular/core/types/core").ModelSignal<string>;
|
|
89
104
|
/**
|
|
90
105
|
* `text-size-picker`'s own fallback ("medium", else `sizes[0]`) does
|
|
91
106
|
* not fit the seven-slug scale — "medium" is not one of the seven,
|
|
92
107
|
* and `sizes[0]` would silently start every consumer on "Largest".
|
|
93
108
|
*/
|
|
94
|
-
readonly textSizeDefaultValue: import("@angular/core").InputSignal<string>;
|
|
95
|
-
readonly textSizeStorageKey: import("@angular/core").InputSignal<string>;
|
|
96
|
-
readonly textSizeName: import("@angular/core").InputSignal<string>;
|
|
97
|
-
readonly textSizeTarget: import("@angular/core").InputSignal<HTMLElement | null>;
|
|
98
|
-
readonly textSizeLabels: import("@angular/core").InputSignal<Record<string, string>>;
|
|
109
|
+
readonly textSizeDefaultValue: import("@angular/core/types/core").InputSignal<string>;
|
|
110
|
+
readonly textSizeStorageKey: import("@angular/core/types/core").InputSignal<string>;
|
|
111
|
+
readonly textSizeName: import("@angular/core/types/core").InputSignal<string>;
|
|
112
|
+
readonly textSizeTarget: import("@angular/core/types/core").InputSignal<HTMLElement | null>;
|
|
113
|
+
readonly textSizeLabels: import("@angular/core/types/core").InputSignal<Record<string, string>>;
|
|
99
114
|
/** Destinations offered by the share picker. Empty is valid if `copyLabel` is set. */
|
|
100
|
-
readonly shareTargets: import("@angular/core").InputSignal<ShareTarget[]>;
|
|
101
|
-
readonly shareUrl: import("@angular/core").InputSignal<string>;
|
|
102
|
-
readonly shareTitle: import("@angular/core").InputSignal<string>;
|
|
103
|
-
readonly shareText: import("@angular/core").InputSignal<string>;
|
|
104
|
-
readonly copyLabel: import("@angular/core").InputSignal<string>;
|
|
105
|
-
readonly copiedLabel: import("@angular/core").InputSignal<string>;
|
|
106
|
-
readonly copyFailedLabel: import("@angular/core").InputSignal<string>;
|
|
107
|
-
readonly shareStrategy: import("@angular/core").InputSignal<ShareStrategy>;
|
|
115
|
+
readonly shareTargets: import("@angular/core/types/core").InputSignal<ShareTarget[]>;
|
|
116
|
+
readonly shareUrl: import("@angular/core/types/core").InputSignal<string>;
|
|
117
|
+
readonly shareTitle: import("@angular/core/types/core").InputSignal<string>;
|
|
118
|
+
readonly shareText: import("@angular/core/types/core").InputSignal<string>;
|
|
119
|
+
readonly copyLabel: import("@angular/core/types/core").InputSignal<string>;
|
|
120
|
+
readonly copiedLabel: import("@angular/core/types/core").InputSignal<string>;
|
|
121
|
+
readonly copyFailedLabel: import("@angular/core/types/core").InputSignal<string>;
|
|
122
|
+
readonly shareStrategy: import("@angular/core/types/core").InputSignal<ShareStrategy>;
|
|
108
123
|
/** Fires after a share destination is chosen. */
|
|
109
|
-
readonly share: import("@angular/core").OutputEmitterRef<ShareEvent>;
|
|
124
|
+
readonly share: import("@angular/core/types/_api-chunk").OutputEmitterRef<ShareEvent>;
|
|
110
125
|
/** Fires after the URL is copied. */
|
|
111
|
-
readonly copy: import("@angular/core").OutputEmitterRef<string>;
|
|
126
|
+
readonly copy: import("@angular/core/types/_api-chunk").OutputEmitterRef<string>;
|
|
112
127
|
/** Fires when the native share sheet was used instead of the list. */
|
|
113
|
-
readonly nativeShare: import("@angular/core").OutputEmitterRef<string>;
|
|
128
|
+
readonly nativeShare: import("@angular/core/types/_api-chunk").OutputEmitterRef<string>;
|
|
114
129
|
/** Extra CSS class on the root. */
|
|
115
|
-
readonly className: import("@angular/core").InputSignal<string>;
|
|
130
|
+
readonly className: import("@angular/core/types/core").InputSignal<string>;
|
|
116
131
|
static ɵfac: i0.ɵɵFactoryDeclaration<PickerBar, never>;
|
|
117
132
|
static ɵcmp: i0.ɵɵComponentDeclaration<PickerBar, "lily-picker-bar", never, {
|
|
118
133
|
"labels": {
|
|
@@ -120,6 +135,16 @@ export declare class PickerBar {
|
|
|
120
135
|
"required": true;
|
|
121
136
|
"isSignal": true;
|
|
122
137
|
};
|
|
138
|
+
"links": {
|
|
139
|
+
"alias": "links";
|
|
140
|
+
"required": false;
|
|
141
|
+
"isSignal": true;
|
|
142
|
+
};
|
|
143
|
+
"linkNavigate": {
|
|
144
|
+
"alias": "linkNavigate";
|
|
145
|
+
"required": false;
|
|
146
|
+
"isSignal": true;
|
|
147
|
+
};
|
|
123
148
|
"searchPlaceholder": {
|
|
124
149
|
"alias": "searchPlaceholder";
|
|
125
150
|
"required": false;
|
|
@@ -311,6 +336,7 @@ export declare class PickerBar {
|
|
|
311
336
|
"isSignal": true;
|
|
312
337
|
};
|
|
313
338
|
}, {
|
|
339
|
+
"linkNavigated": "linkNavigated";
|
|
314
340
|
"searchValue": "searchValueChange";
|
|
315
341
|
"searched": "searched";
|
|
316
342
|
"themeValue": "themeValueChange";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lilydesignsystem-angular-picker-bar.d.ts","names":[],"sources":["../../picker-bar.component.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"lilydesignsystem-angular-picker-bar.d.ts","names":[],"sources":["../../picker-bar.component.ts"],"mappings":";;;;;;;;;;;qBA4Ba;;;;;;qBAiEA;;KAWD;;;;;EAKV;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;;;;;;;;;;;qBA6FW;;WAEF,2CAAM,YAAA;;;;;WAON,0CAAK,YAAA;;WAEL,iDAAY,cAAA;;WAEZ,wDAAa,iBAAA;;WAIb,sDAAiB;;WAEjB,gDAAW;;WAEX,iDAAY;;WAEZ,mDAAc,cAAA;;WAEd,mDAAQ,iBAAA;;WAIR,8CAAS;;WAET,2CAAM;;WAEN,+CAAU;WACV,sDAAiB;WACjB,oDAAe;WACf,0DAAqB;WACrB,8CAAS;WACT,gDAAW,YAAA;WACX,gDAAW,YAAA;;WAIX,4CAAO;;WAEP,gDAAW;WACX,uDAAkB;WAClB,qDAAgB;WAChB,8DAAyB;WACzB,+CAAU;WACV,iDAAY,YAAA;WACZ,mDAAc;WACd,iDAAY,YAAA;;WAIZ,0CAAK;;WAEL,kDAAa;;;;;;WAMb,yDAAoB;WACpB,uDAAkB;WAClB,iDAAY;WACZ,mDAAc,YAAA;WACd,mDAAc,YAAA;;WAId,iDAAY,YAAA;WACZ,6CAAQ;WACR,+CAAU;WACV,8CAAS;WACT,8CAAS;WACT,gDAAW;WACX,oDAAe;WACf,kDAAa,YAAA;;WAEb,gDAAK,iBAAA;;WAEL,+CAAI;;WAEJ,sDAAW;;WAGX,8CAAS;SAxFP,MAAA,GAAA,qBAAA;SAAA,MAAA,GAAA,uBAAA;IAAS;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;IAAA;MAAA;MAAA;MAAA;;;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA"}
|