@ssejal8/recipe-ui-kit 0.1.0 → 0.1.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/README.md +108 -277
- package/dist/cjs/index-BEr8BsSA.js +1712 -0
- package/dist/cjs/index-BEr8BsSA.js.map +1 -0
- package/dist/cjs/index.cjs.js +5 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +15 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/recipe-kit.cjs.js +27 -0
- package/dist/cjs/recipe-kit.cjs.js.map +1 -0
- package/dist/cjs/rk-badge_10.cjs.entry.js +638 -0
- package/dist/cjs/rk-badge_10.cjs.entry.js.map +1 -0
- package/dist/collection/collection-manifest.json +22 -0
- package/dist/collection/components/rk-badge/rk-badge.js +97 -0
- package/dist/collection/components/rk-badge/rk-badge.js.map +1 -0
- package/dist/collection/components/rk-chip/rk-chip.js +245 -0
- package/dist/collection/components/rk-chip/rk-chip.js.map +1 -0
- package/dist/collection/components/rk-empty-state/rk-empty-state.js +138 -0
- package/dist/collection/components/rk-empty-state/rk-empty-state.js.map +1 -0
- package/dist/collection/components/rk-meal-slot/rk-meal-slot.js +312 -0
- package/dist/collection/components/rk-meal-slot/rk-meal-slot.js.map +1 -0
- package/dist/collection/components/rk-modal/rk-modal.js +256 -0
- package/dist/collection/components/rk-modal/rk-modal.js.map +1 -0
- package/dist/collection/components/rk-rating/rk-rating.js +228 -0
- package/dist/collection/components/rk-rating/rk-rating.js.map +1 -0
- package/dist/collection/components/rk-recipe-card/rk-recipe-card.js +366 -0
- package/dist/collection/components/rk-recipe-card/rk-recipe-card.js.map +1 -0
- package/dist/collection/components/rk-search-bar/rk-search-bar.js +291 -0
- package/dist/collection/components/rk-search-bar/rk-search-bar.js.map +1 -0
- package/dist/collection/components/rk-segmented-control/rk-segmented-control.js +196 -0
- package/dist/collection/components/rk-segmented-control/rk-segmented-control.js.map +1 -0
- package/dist/collection/components/rk-tag-input/rk-tag-input.js +264 -0
- package/dist/collection/components/rk-tag-input/rk-tag-input.js.map +1 -0
- package/dist/collection/index.js +2 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/components/index.d.ts +35 -0
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/rk-badge.d.ts +11 -0
- package/dist/components/rk-badge.js +2 -0
- package/dist/components/rk-badge.js.map +1 -0
- package/dist/components/rk-chip.d.ts +11 -0
- package/dist/components/rk-chip.js +2 -0
- package/dist/components/rk-chip.js.map +1 -0
- package/dist/components/rk-empty-state.d.ts +11 -0
- package/dist/components/rk-empty-state.js +2 -0
- package/dist/components/rk-empty-state.js.map +1 -0
- package/dist/components/rk-meal-slot.d.ts +11 -0
- package/dist/components/rk-meal-slot.js +2 -0
- package/dist/components/rk-meal-slot.js.map +1 -0
- package/dist/components/rk-modal.d.ts +11 -0
- package/dist/components/rk-modal.js +2 -0
- package/dist/components/rk-modal.js.map +1 -0
- package/dist/components/rk-rating.d.ts +11 -0
- package/dist/components/rk-rating.js +2 -0
- package/dist/components/rk-rating.js.map +1 -0
- package/dist/components/rk-recipe-card.d.ts +11 -0
- package/dist/components/rk-recipe-card.js +2 -0
- package/dist/components/rk-recipe-card.js.map +1 -0
- package/dist/components/rk-search-bar.d.ts +11 -0
- package/dist/components/rk-search-bar.js +2 -0
- package/dist/components/rk-search-bar.js.map +1 -0
- package/dist/components/rk-segmented-control.d.ts +11 -0
- package/dist/components/rk-segmented-control.js +2 -0
- package/dist/components/rk-segmented-control.js.map +1 -0
- package/dist/components/rk-tag-input.d.ts +11 -0
- package/dist/components/rk-tag-input.js +2 -0
- package/dist/components/rk-tag-input.js.map +1 -0
- package/dist/esm/index-Bxo0C8lB.js +1684 -0
- package/dist/esm/index-Bxo0C8lB.js.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +13 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/recipe-kit.js +23 -0
- package/dist/esm/recipe-kit.js.map +1 -0
- package/dist/esm/rk-badge_10.entry.js +627 -0
- package/dist/esm/rk-badge_10.entry.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/recipe-kit/index.esm.js +2 -0
- package/dist/recipe-kit/index.esm.js.map +1 -0
- package/dist/recipe-kit/p-Bxo0C8lB.js +3 -0
- package/dist/recipe-kit/p-Bxo0C8lB.js.map +1 -0
- package/dist/recipe-kit/p-fcb955c7.entry.js +2 -0
- package/dist/recipe-kit/p-fcb955c7.entry.js.map +1 -0
- package/dist/recipe-kit/recipe-kit.css +1 -0
- package/dist/recipe-kit/recipe-kit.esm.js +2 -0
- package/dist/recipe-kit/recipe-kit.esm.js.map +1 -0
- package/dist/recipe-kit/rk-global.css +104 -0
- package/dist/types/components/rk-badge/rk-badge.d.ts +15 -0
- package/dist/types/components/rk-chip/rk-chip.d.ts +37 -0
- package/dist/types/components/rk-empty-state/rk-empty-state.d.ts +19 -0
- package/dist/types/components/rk-meal-slot/rk-meal-slot.d.ts +53 -0
- package/dist/types/components/rk-modal/rk-modal.d.ts +41 -0
- package/dist/types/components/rk-rating/rk-rating.d.ts +26 -0
- package/dist/types/components/rk-recipe-card/rk-recipe-card.d.ts +67 -0
- package/dist/types/components/rk-search-bar/rk-search-bar.d.ts +39 -0
- package/dist/types/components/rk-segmented-control/rk-segmented-control.d.ts +37 -0
- package/dist/types/components/rk-tag-input/rk-tag-input.d.ts +35 -0
- package/{packages/recipe-kit-stencil/src → dist/types}/components.d.ts +1 -1
- package/{packages/recipe-kit-stencil/src/index.ts → dist/types/index.d.ts} +0 -2
- package/dist/types/stencil-public-runtime.d.ts +1873 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +84 -22
- package/.claude/settings.local.json +0 -10
- package/.npmr +0 -1
- package/apps/recipe-web/package.json +0 -31
- package/apps/recipe-web/src/app.css +0 -418
- package/apps/recipe-web/src/app.d.ts +0 -32
- package/apps/recipe-web/src/app.html +0 -25
- package/apps/recipe-web/src/lib/api/mealdb.ts +0 -240
- package/apps/recipe-web/src/lib/components/AppHeader.svelte +0 -290
- package/apps/recipe-web/src/lib/components/ConfirmDialog.svelte +0 -46
- package/apps/recipe-web/src/lib/components/Modal.svelte +0 -33
- package/apps/recipe-web/src/lib/components/RecipeCard.svelte +0 -100
- package/apps/recipe-web/src/lib/components/RecipeForm.svelte +0 -560
- package/apps/recipe-web/src/lib/components/RecipeGrid.svelte +0 -77
- package/apps/recipe-web/src/lib/components/RecipePickerDialog.svelte +0 -185
- package/apps/recipe-web/src/lib/components/Toaster.svelte +0 -111
- package/apps/recipe-web/src/lib/domain/recipe.ts +0 -130
- package/apps/recipe-web/src/lib/domain/validation.ts +0 -189
- package/apps/recipe-web/src/lib/stencil/WebComponent.svelte +0 -145
- package/apps/recipe-web/src/lib/stencil/register.ts +0 -28
- package/apps/recipe-web/src/lib/stores/favorites.svelte.ts +0 -81
- package/apps/recipe-web/src/lib/stores/myRecipes.svelte.ts +0 -98
- package/apps/recipe-web/src/lib/stores/persisted.svelte.ts +0 -73
- package/apps/recipe-web/src/lib/stores/planner.svelte.ts +0 -275
- package/apps/recipe-web/src/lib/stores/theme.svelte.ts +0 -67
- package/apps/recipe-web/src/lib/stores/toast.svelte.ts +0 -66
- package/apps/recipe-web/src/routes/+error.svelte +0 -36
- package/apps/recipe-web/src/routes/+layout.svelte +0 -62
- package/apps/recipe-web/src/routes/+page.svelte +0 -352
- package/apps/recipe-web/src/routes/+page.ts +0 -107
- package/apps/recipe-web/src/routes/favorites/+page.svelte +0 -170
- package/apps/recipe-web/src/routes/my-recipes/+layout.ts +0 -55
- package/apps/recipe-web/src/routes/my-recipes/+page.svelte +0 -180
- package/apps/recipe-web/src/routes/my-recipes/[id]/edit/+page.svelte +0 -104
- package/apps/recipe-web/src/routes/my-recipes/new/+page.svelte +0 -67
- package/apps/recipe-web/src/routes/planner/+page.svelte +0 -422
- package/apps/recipe-web/src/routes/recipes/[id]/+page.svelte +0 -538
- package/apps/recipe-web/src/routes/recipes/[id]/+page.ts +0 -24
- package/apps/recipe-web/static/favicon.svg +0 -8
- package/apps/recipe-web/static/robots.txt +0 -2
- package/apps/recipe-web/svelte.config.js +0 -35
- package/apps/recipe-web/tsconfig.json +0 -14
- package/apps/recipe-web/vite.config.ts +0 -23
- package/packages/recipe-kit-stencil/README.md +0 -185
- package/packages/recipe-kit-stencil/package-lock.json +0 -4772
- package/packages/recipe-kit-stencil/package.json +0 -91
- package/packages/recipe-kit-stencil/src/components/rk-badge/readme.md +0 -38
- package/packages/recipe-kit-stencil/src/components/rk-badge/rk-badge.tsx +0 -31
- package/packages/recipe-kit-stencil/src/components/rk-chip/readme.md +0 -52
- package/packages/recipe-kit-stencil/src/components/rk-chip/rk-chip.tsx +0 -105
- package/packages/recipe-kit-stencil/src/components/rk-empty-state/readme.md +0 -44
- package/packages/recipe-kit-stencil/src/components/rk-empty-state/rk-empty-state.tsx +0 -50
- package/packages/recipe-kit-stencil/src/components/rk-meal-slot/readme.md +0 -58
- package/packages/recipe-kit-stencil/src/components/rk-meal-slot/rk-meal-slot.tsx +0 -182
- package/packages/recipe-kit-stencil/src/components/rk-modal/readme.md +0 -57
- package/packages/recipe-kit-stencil/src/components/rk-modal/rk-modal.tsx +0 -176
- package/packages/recipe-kit-stencil/src/components/rk-rating/readme.md +0 -42
- package/packages/recipe-kit-stencil/src/components/rk-rating/rk-rating.tsx +0 -114
- package/packages/recipe-kit-stencil/src/components/rk-recipe-card/readme.md +0 -66
- package/packages/recipe-kit-stencil/src/components/rk-recipe-card/rk-recipe-card.tsx +0 -179
- package/packages/recipe-kit-stencil/src/components/rk-recipe-card/test/rk-recipe-card.spec.tsx +0 -70
- package/packages/recipe-kit-stencil/src/components/rk-search-bar/readme.md +0 -67
- package/packages/recipe-kit-stencil/src/components/rk-search-bar/rk-search-bar.tsx +0 -152
- package/packages/recipe-kit-stencil/src/components/rk-search-bar/test/rk-search-bar.spec.tsx +0 -93
- package/packages/recipe-kit-stencil/src/components/rk-segmented-control/readme.md +0 -41
- package/packages/recipe-kit-stencil/src/components/rk-segmented-control/rk-segmented-control.tsx +0 -115
- package/packages/recipe-kit-stencil/src/components/rk-tag-input/readme.md +0 -47
- package/packages/recipe-kit-stencil/src/components/rk-tag-input/rk-tag-input.tsx +0 -181
- package/packages/recipe-kit-stencil/src/components/rk-tag-input/test/rk-tag-input.spec.tsx +0 -76
- package/packages/recipe-kit-stencil/src/index.html +0 -259
- package/packages/recipe-kit-stencil/stencil.config.ts +0 -41
- package/packages/recipe-kit-stencil/tsconfig.json +0 -24
- /package/{packages/recipe-kit-stencil/LICENSE → LICENSE} +0 -0
- /package/{packages/recipe-kit-stencil/src → dist/collection}/components/rk-badge/rk-badge.css +0 -0
- /package/{packages/recipe-kit-stencil/src → dist/collection}/components/rk-chip/rk-chip.css +0 -0
- /package/{packages/recipe-kit-stencil/src → dist/collection}/components/rk-empty-state/rk-empty-state.css +0 -0
- /package/{packages/recipe-kit-stencil/src → dist/collection}/components/rk-meal-slot/rk-meal-slot.css +0 -0
- /package/{packages/recipe-kit-stencil/src → dist/collection}/components/rk-modal/rk-modal.css +0 -0
- /package/{packages/recipe-kit-stencil/src → dist/collection}/components/rk-rating/rk-rating.css +0 -0
- /package/{packages/recipe-kit-stencil/src → dist/collection}/components/rk-recipe-card/rk-recipe-card.css +0 -0
- /package/{packages/recipe-kit-stencil/src → dist/collection}/components/rk-search-bar/rk-search-bar.css +0 -0
- /package/{packages/recipe-kit-stencil/src → dist/collection}/components/rk-segmented-control/rk-segmented-control.css +0 -0
- /package/{packages/recipe-kit-stencil/src → dist/collection}/components/rk-tag-input/rk-tag-input.css +0 -0
- /package/{packages/recipe-kit-stencil/src/global → dist/collection}/rk-global.css +0 -0
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* A tag / token editor used for recipe tags and free-form ingredient lists.
|
|
4
|
+
*
|
|
5
|
+
* `values` is an array property — the SvelteKit app assigns it as a DOM
|
|
6
|
+
* property. A JSON-encoded or comma-separated string attribute also works.
|
|
7
|
+
*/
|
|
8
|
+
export class RkTagInput {
|
|
9
|
+
constructor() {
|
|
10
|
+
/** Current tags. Array, JSON string, or comma-separated string. */
|
|
11
|
+
this.values = [];
|
|
12
|
+
/** Placeholder for the entry field. */
|
|
13
|
+
this.placeholder = 'Add a tag and press Enter';
|
|
14
|
+
/** Maximum number of tags. `0` means unlimited. */
|
|
15
|
+
this.maxTags = 0;
|
|
16
|
+
/** Prevent editing. */
|
|
17
|
+
this.disabled = false;
|
|
18
|
+
this.draft = '';
|
|
19
|
+
this.tags = [];
|
|
20
|
+
this.handleKeyDown = (event) => {
|
|
21
|
+
if (event.key === 'Enter' || event.key === ',') {
|
|
22
|
+
event.preventDefault();
|
|
23
|
+
this.addDraft();
|
|
24
|
+
}
|
|
25
|
+
else if (event.key === 'Backspace' && this.draft === '' && this.tags.length > 0) {
|
|
26
|
+
event.preventDefault();
|
|
27
|
+
this.removeAt(this.tags.length - 1);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
onValuesChange() {
|
|
32
|
+
this.syncTags();
|
|
33
|
+
}
|
|
34
|
+
componentWillLoad() {
|
|
35
|
+
this.syncTags();
|
|
36
|
+
}
|
|
37
|
+
syncTags() {
|
|
38
|
+
const incoming = this.values;
|
|
39
|
+
if (Array.isArray(incoming)) {
|
|
40
|
+
this.tags = incoming.filter(tag => typeof tag === 'string');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (typeof incoming === 'string' && incoming.trim()) {
|
|
44
|
+
const trimmed = incoming.trim();
|
|
45
|
+
if (trimmed.startsWith('[')) {
|
|
46
|
+
try {
|
|
47
|
+
const decoded = JSON.parse(trimmed);
|
|
48
|
+
this.tags = Array.isArray(decoded) ? decoded.map(String) : [];
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
/* fall through to comma parsing */
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
this.tags = trimmed
|
|
56
|
+
.split(',')
|
|
57
|
+
.map(tag => tag.trim())
|
|
58
|
+
.filter(Boolean);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.tags = [];
|
|
62
|
+
}
|
|
63
|
+
get atCapacity() {
|
|
64
|
+
return this.maxTags > 0 && this.tags.length >= this.maxTags;
|
|
65
|
+
}
|
|
66
|
+
commit(next) {
|
|
67
|
+
this.tags = next;
|
|
68
|
+
this.rkTagsChange.emit([...next]);
|
|
69
|
+
}
|
|
70
|
+
addDraft() {
|
|
71
|
+
const candidates = this.draft
|
|
72
|
+
.split(',')
|
|
73
|
+
.map(tag => tag.trim())
|
|
74
|
+
.filter(Boolean);
|
|
75
|
+
if (candidates.length === 0)
|
|
76
|
+
return;
|
|
77
|
+
const next = [...this.tags];
|
|
78
|
+
for (const candidate of candidates) {
|
|
79
|
+
if (this.maxTags > 0 && next.length >= this.maxTags)
|
|
80
|
+
break;
|
|
81
|
+
// Case-insensitive de-duplication keeps "Vegan" and "vegan" from coexisting.
|
|
82
|
+
if (next.some(tag => tag.toLowerCase() === candidate.toLowerCase()))
|
|
83
|
+
continue;
|
|
84
|
+
next.push(candidate);
|
|
85
|
+
}
|
|
86
|
+
this.draft = '';
|
|
87
|
+
if (next.length !== this.tags.length)
|
|
88
|
+
this.commit(next);
|
|
89
|
+
}
|
|
90
|
+
removeAt(index) {
|
|
91
|
+
this.commit(this.tags.filter((_, position) => position !== index));
|
|
92
|
+
}
|
|
93
|
+
render() {
|
|
94
|
+
return (h(Host, { key: '446657dc603ffa9e4d14ee5c54c947aef90bab4f' }, this.label && (h("label", { key: '37575fae490ba8e1a03a3aa6e25ba46d2b364d9e', class: "label", part: "label", onClick: () => this.inputEl?.focus() }, this.label, this.maxTags > 0 && (h("span", { key: 'e29c5d1fd9038cee4707c310adfb88ce7cc75308', class: "counter" }, this.tags.length, "/", this.maxTags)))), h("div", { key: '13d171bce0dd090bd3034e0150e2def80f493960', class: { shell: true, 'is-disabled': this.disabled, 'has-error': !!this.error }, part: "shell", onClick: () => !this.disabled && this.inputEl?.focus() }, this.tags.map((tag, index) => (h("span", { class: "tag", part: "tag", key: `${tag}-${index}` }, h("span", { class: "tag-text" }, tag), h("button", { class: "tag-remove", type: "button", "aria-label": `Remove ${tag}`, disabled: this.disabled, onClick: event => {
|
|
95
|
+
event.stopPropagation();
|
|
96
|
+
this.removeAt(index);
|
|
97
|
+
} }, h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2.6", "stroke-linecap": "round", "aria-hidden": "true" }, h("path", { d: "M6 6l12 12M18 6 6 18" })))))), h("input", { key: '8ccdc5e12bd89f7c6b7b8d3c0f5bf80ec7473224', ref: el => (this.inputEl = el), class: "entry", part: "input", type: "text", value: this.draft, placeholder: this.tags.length === 0 ? this.placeholder : this.atCapacity ? '' : 'Add another…', "aria-label": this.label ?? 'Add a tag', disabled: this.disabled || this.atCapacity, autocomplete: "off", onInput: event => (this.draft = event.target.value), onKeyDown: this.handleKeyDown, onBlur: () => this.addDraft() })), this.error && (h("p", { key: '31e84622ac580903e7ebb6af7f57b1842572ce9f', class: "error", part: "error", role: "alert" }, this.error))));
|
|
98
|
+
}
|
|
99
|
+
static get is() { return "rk-tag-input"; }
|
|
100
|
+
static get encapsulation() { return "shadow"; }
|
|
101
|
+
static get originalStyleUrls() {
|
|
102
|
+
return {
|
|
103
|
+
"$": ["rk-tag-input.css"]
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
static get styleUrls() {
|
|
107
|
+
return {
|
|
108
|
+
"$": ["rk-tag-input.css"]
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
static get properties() {
|
|
112
|
+
return {
|
|
113
|
+
"values": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"mutable": false,
|
|
116
|
+
"complexType": {
|
|
117
|
+
"original": "string[] | string",
|
|
118
|
+
"resolved": "string | string[]",
|
|
119
|
+
"references": {}
|
|
120
|
+
},
|
|
121
|
+
"required": false,
|
|
122
|
+
"optional": false,
|
|
123
|
+
"docs": {
|
|
124
|
+
"tags": [],
|
|
125
|
+
"text": "Current tags. Array, JSON string, or comma-separated string."
|
|
126
|
+
},
|
|
127
|
+
"getter": false,
|
|
128
|
+
"setter": false,
|
|
129
|
+
"reflect": false,
|
|
130
|
+
"attribute": "values",
|
|
131
|
+
"defaultValue": "[]"
|
|
132
|
+
},
|
|
133
|
+
"placeholder": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"mutable": false,
|
|
136
|
+
"complexType": {
|
|
137
|
+
"original": "string",
|
|
138
|
+
"resolved": "string",
|
|
139
|
+
"references": {}
|
|
140
|
+
},
|
|
141
|
+
"required": false,
|
|
142
|
+
"optional": false,
|
|
143
|
+
"docs": {
|
|
144
|
+
"tags": [],
|
|
145
|
+
"text": "Placeholder for the entry field."
|
|
146
|
+
},
|
|
147
|
+
"getter": false,
|
|
148
|
+
"setter": false,
|
|
149
|
+
"reflect": false,
|
|
150
|
+
"attribute": "placeholder",
|
|
151
|
+
"defaultValue": "'Add a tag and press Enter'"
|
|
152
|
+
},
|
|
153
|
+
"label": {
|
|
154
|
+
"type": "string",
|
|
155
|
+
"mutable": false,
|
|
156
|
+
"complexType": {
|
|
157
|
+
"original": "string",
|
|
158
|
+
"resolved": "string",
|
|
159
|
+
"references": {}
|
|
160
|
+
},
|
|
161
|
+
"required": false,
|
|
162
|
+
"optional": true,
|
|
163
|
+
"docs": {
|
|
164
|
+
"tags": [],
|
|
165
|
+
"text": "Visible field label."
|
|
166
|
+
},
|
|
167
|
+
"getter": false,
|
|
168
|
+
"setter": false,
|
|
169
|
+
"reflect": false,
|
|
170
|
+
"attribute": "label"
|
|
171
|
+
},
|
|
172
|
+
"maxTags": {
|
|
173
|
+
"type": "number",
|
|
174
|
+
"mutable": false,
|
|
175
|
+
"complexType": {
|
|
176
|
+
"original": "number",
|
|
177
|
+
"resolved": "number",
|
|
178
|
+
"references": {}
|
|
179
|
+
},
|
|
180
|
+
"required": false,
|
|
181
|
+
"optional": false,
|
|
182
|
+
"docs": {
|
|
183
|
+
"tags": [],
|
|
184
|
+
"text": "Maximum number of tags. `0` means unlimited."
|
|
185
|
+
},
|
|
186
|
+
"getter": false,
|
|
187
|
+
"setter": false,
|
|
188
|
+
"reflect": false,
|
|
189
|
+
"attribute": "max-tags",
|
|
190
|
+
"defaultValue": "0"
|
|
191
|
+
},
|
|
192
|
+
"disabled": {
|
|
193
|
+
"type": "boolean",
|
|
194
|
+
"mutable": false,
|
|
195
|
+
"complexType": {
|
|
196
|
+
"original": "boolean",
|
|
197
|
+
"resolved": "boolean",
|
|
198
|
+
"references": {}
|
|
199
|
+
},
|
|
200
|
+
"required": false,
|
|
201
|
+
"optional": false,
|
|
202
|
+
"docs": {
|
|
203
|
+
"tags": [],
|
|
204
|
+
"text": "Prevent editing."
|
|
205
|
+
},
|
|
206
|
+
"getter": false,
|
|
207
|
+
"setter": false,
|
|
208
|
+
"reflect": false,
|
|
209
|
+
"attribute": "disabled",
|
|
210
|
+
"defaultValue": "false"
|
|
211
|
+
},
|
|
212
|
+
"error": {
|
|
213
|
+
"type": "string",
|
|
214
|
+
"mutable": false,
|
|
215
|
+
"complexType": {
|
|
216
|
+
"original": "string",
|
|
217
|
+
"resolved": "string",
|
|
218
|
+
"references": {}
|
|
219
|
+
},
|
|
220
|
+
"required": false,
|
|
221
|
+
"optional": true,
|
|
222
|
+
"docs": {
|
|
223
|
+
"tags": [],
|
|
224
|
+
"text": "Validation message rendered under the field."
|
|
225
|
+
},
|
|
226
|
+
"getter": false,
|
|
227
|
+
"setter": false,
|
|
228
|
+
"reflect": false,
|
|
229
|
+
"attribute": "error"
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
static get states() {
|
|
234
|
+
return {
|
|
235
|
+
"draft": {},
|
|
236
|
+
"tags": {}
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
static get events() {
|
|
240
|
+
return [{
|
|
241
|
+
"method": "rkTagsChange",
|
|
242
|
+
"name": "rkTagsChange",
|
|
243
|
+
"bubbles": true,
|
|
244
|
+
"cancelable": true,
|
|
245
|
+
"composed": true,
|
|
246
|
+
"docs": {
|
|
247
|
+
"tags": [],
|
|
248
|
+
"text": "Emitted with the full, updated list whenever tags change."
|
|
249
|
+
},
|
|
250
|
+
"complexType": {
|
|
251
|
+
"original": "string[]",
|
|
252
|
+
"resolved": "string[]",
|
|
253
|
+
"references": {}
|
|
254
|
+
}
|
|
255
|
+
}];
|
|
256
|
+
}
|
|
257
|
+
static get watchers() {
|
|
258
|
+
return [{
|
|
259
|
+
"propName": "values",
|
|
260
|
+
"methodName": "onValuesChange"
|
|
261
|
+
}];
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=rk-tag-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rk-tag-input.js","sourceRoot":"","sources":["../../../src/components/rk-tag-input/rk-tag-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\n\n/**\n * A tag / token editor used for recipe tags and free-form ingredient lists.\n *\n * `values` is an array property — the SvelteKit app assigns it as a DOM\n * property. A JSON-encoded or comma-separated string attribute also works.\n */\n@Component({\n tag: 'rk-tag-input',\n styleUrl: 'rk-tag-input.css',\n shadow: true,\n})\nexport class RkTagInput {\n /** Current tags. Array, JSON string, or comma-separated string. */\n @Prop() values: string[] | string = [];\n\n /** Placeholder for the entry field. */\n @Prop() placeholder = 'Add a tag and press Enter';\n\n /** Visible field label. */\n @Prop() label?: string;\n\n /** Maximum number of tags. `0` means unlimited. */\n @Prop() maxTags = 0;\n\n /** Prevent editing. */\n @Prop() disabled = false;\n\n /** Validation message rendered under the field. */\n @Prop() error?: string;\n\n /** Emitted with the full, updated list whenever tags change. */\n @Event({ eventName: 'rkTagsChange' }) rkTagsChange!: EventEmitter<string[]>;\n\n @State() private draft = '';\n @State() private tags: string[] = [];\n\n private inputEl?: HTMLInputElement;\n\n @Watch('values')\n protected onValuesChange() {\n this.syncTags();\n }\n\n componentWillLoad() {\n this.syncTags();\n }\n\n private syncTags() {\n const incoming = this.values;\n if (Array.isArray(incoming)) {\n this.tags = incoming.filter(tag => typeof tag === 'string');\n return;\n }\n if (typeof incoming === 'string' && incoming.trim()) {\n const trimmed = incoming.trim();\n if (trimmed.startsWith('[')) {\n try {\n const decoded = JSON.parse(trimmed);\n this.tags = Array.isArray(decoded) ? decoded.map(String) : [];\n return;\n } catch {\n /* fall through to comma parsing */\n }\n }\n this.tags = trimmed\n .split(',')\n .map(tag => tag.trim())\n .filter(Boolean);\n return;\n }\n this.tags = [];\n }\n\n private get atCapacity() {\n return this.maxTags > 0 && this.tags.length >= this.maxTags;\n }\n\n private commit(next: string[]) {\n this.tags = next;\n this.rkTagsChange.emit([...next]);\n }\n\n private addDraft() {\n const candidates = this.draft\n .split(',')\n .map(tag => tag.trim())\n .filter(Boolean);\n if (candidates.length === 0) return;\n\n const next = [...this.tags];\n for (const candidate of candidates) {\n if (this.maxTags > 0 && next.length >= this.maxTags) break;\n // Case-insensitive de-duplication keeps \"Vegan\" and \"vegan\" from coexisting.\n if (next.some(tag => tag.toLowerCase() === candidate.toLowerCase())) continue;\n next.push(candidate);\n }\n\n this.draft = '';\n if (next.length !== this.tags.length) this.commit(next);\n }\n\n private removeAt(index: number) {\n this.commit(this.tags.filter((_, position) => position !== index));\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ',') {\n event.preventDefault();\n this.addDraft();\n } else if (event.key === 'Backspace' && this.draft === '' && this.tags.length > 0) {\n event.preventDefault();\n this.removeAt(this.tags.length - 1);\n }\n };\n\n render() {\n return (\n <Host>\n {this.label && (\n <label class=\"label\" part=\"label\" onClick={() => this.inputEl?.focus()}>\n {this.label}\n {this.maxTags > 0 && (\n <span class=\"counter\">\n {this.tags.length}/{this.maxTags}\n </span>\n )}\n </label>\n )}\n\n <div\n class={{ shell: true, 'is-disabled': this.disabled, 'has-error': !!this.error }}\n part=\"shell\"\n onClick={() => !this.disabled && this.inputEl?.focus()}\n >\n {this.tags.map((tag, index) => (\n <span class=\"tag\" part=\"tag\" key={`${tag}-${index}`}>\n <span class=\"tag-text\">{tag}</span>\n <button\n class=\"tag-remove\"\n type=\"button\"\n aria-label={`Remove ${tag}`}\n disabled={this.disabled}\n onClick={event => {\n event.stopPropagation();\n this.removeAt(index);\n }}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" aria-hidden=\"true\">\n <path d=\"M6 6l12 12M18 6 6 18\" />\n </svg>\n </button>\n </span>\n ))}\n\n <input\n ref={el => (this.inputEl = el)}\n class=\"entry\"\n part=\"input\"\n type=\"text\"\n value={this.draft}\n placeholder={this.tags.length === 0 ? this.placeholder : this.atCapacity ? '' : 'Add another…'}\n aria-label={this.label ?? 'Add a tag'}\n disabled={this.disabled || this.atCapacity}\n autocomplete=\"off\"\n onInput={event => (this.draft = (event.target as HTMLInputElement).value)}\n onKeyDown={this.handleKeyDown}\n onBlur={() => this.addDraft()}\n />\n </div>\n\n {this.error && (\n <p class=\"error\" part=\"error\" role=\"alert\">\n {this.error}\n </p>\n )}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"","sourcesContent":["export { Components, JSX } from './components';\n\n// Event payload contracts, re-exported so consumers can type their handlers.\nexport type { RkRecipeCardSelectDetail, RkFavoriteToggleDetail } from './components/rk-recipe-card/rk-recipe-card';\nexport type { RkSegmentOption } from './components/rk-segmented-control/rk-segmented-control';\nexport type { RkMealSlotDetail, RkMealRecipeDetail, RkMealDropDetail } from './components/rk-meal-slot/rk-meal-slot';\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the base path to where the assets can be found. Use "setAssetPath(path)"
|
|
3
|
+
* if the path needs to be customized.
|
|
4
|
+
*/
|
|
5
|
+
export declare const getAssetPath: (path: string) => string;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Used to manually set the base path where assets can be found.
|
|
9
|
+
* If the script is used as "module", it's recommended to use "import.meta.url",
|
|
10
|
+
* such as "setAssetPath(import.meta.url)". Other options include
|
|
11
|
+
* "setAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
|
|
12
|
+
* dynamically set the path at build time, such as "setAssetPath(process.env.ASSET_PATH)".
|
|
13
|
+
* But do note that this configuration depends on how your script is bundled, or lack of
|
|
14
|
+
* bundling, and where your assets can be loaded from. Additionally custom bundling
|
|
15
|
+
* will have to ensure the static assets are copied to its build directory.
|
|
16
|
+
*/
|
|
17
|
+
export declare const setAssetPath: (path: string) => void;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Used to specify a nonce value that corresponds with an application's CSP.
|
|
21
|
+
* When set, the nonce will be added to all dynamically created script and style tags at runtime.
|
|
22
|
+
* Alternatively, the nonce value can be set on a meta tag in the DOM head
|
|
23
|
+
* (<meta name="csp-nonce" content="{ nonce value here }" />) which
|
|
24
|
+
* will result in the same behavior.
|
|
25
|
+
*/
|
|
26
|
+
export declare const setNonce: (nonce: string) => void
|
|
27
|
+
|
|
28
|
+
export interface SetPlatformOptions {
|
|
29
|
+
raf?: (c: FrameRequestCallback) => number;
|
|
30
|
+
ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
31
|
+
rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
32
|
+
}
|
|
33
|
+
export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
|
|
34
|
+
|
|
35
|
+
export * from '../types';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=':root,:host{--rk-primary:#d94f1b;--rk-primary-strong:#b23c11;--rk-primary-soft:#fdeee6;--rk-accent:#0f766e;--rk-accent-soft:#e2f3f1;--rk-bg:#fffaf6;--rk-surface:#ffffff;--rk-surface-2:#fdf5ef;--rk-ink:#211a16;--rk-ink-2:#52443c;--rk-muted:#857166;--rk-border:#ecdfd4;--rk-border-strong:#d9c6b8;--rk-danger:#c2410c;--rk-danger-soft:#fdeae1;--rk-success:#15803d;--rk-success-soft:#e6f5eb;--rk-warning:#a16207;--rk-warning-soft:#fdf3d8;--rk-radius-sm:8px;--rk-radius:14px;--rk-radius-lg:20px;--rk-radius-pill:999px;--rk-shadow-sm:0 1px 2px rgba(33, 26, 22, 0.06), 0 1px 3px rgba(33, 26, 22, 0.04);--rk-shadow:0 4px 12px rgba(33, 26, 22, 0.08), 0 1px 3px rgba(33, 26, 22, 0.05);--rk-shadow-lg:0 18px 42px rgba(33, 26, 22, 0.16);--rk-font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--rk-font-display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--rk-font-size:15px;--rk-transition:160ms cubic-bezier(0.2, 0, 0.2, 1);--rk-focus-ring:0 0 0 3px rgba(217, 79, 27, 0.32);--rk-z-modal:1000}:root[data-rk-theme=\'dark\'],:root[data-theme=\'dark\']{--rk-primary:#ff7a45;--rk-primary-strong:#ff9469;--rk-primary-soft:#3a2118;--rk-accent:#5eead4;--rk-accent-soft:#10312e;--rk-bg:#16110e;--rk-surface:#201814;--rk-surface-2:#2a201a;--rk-ink:#f7ece5;--rk-ink-2:#d9c8bd;--rk-muted:#a89387;--rk-border:#38291f;--rk-border-strong:#4b382c;--rk-danger:#ff8f66;--rk-danger-soft:#3a1d14;--rk-success:#6ee7a0;--rk-success-soft:#12301f;--rk-warning:#fbbf5b;--rk-warning-soft:#33260d;--rk-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.4);--rk-shadow:0 4px 14px rgba(0, 0, 0, 0.45);--rk-shadow-lg:0 20px 48px rgba(0, 0, 0, 0.6);--rk-focus-ring:0 0 0 3px rgba(255, 122, 69, 0.4)}.rk-sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}';const t="recipe-kit";const r={hotModuleReplacement:false,hydratedSelectorName:"hydrated",lazyLoad:false,state:true,updatable:true};var n="http://www.w3.org/2000/svg";var s="http://www.w3.org/1999/xhtml";function i(e,t,r){const n=typeof HTMLElement!=="undefined"?HTMLElement.prototype:null;while(e&&e!==n){const n=Object.getOwnPropertyDescriptor(e,t);if(n&&(!r||n.get))return n;e=Object.getPrototypeOf(e)}return void 0}var o=(e,t)=>{var r;const n=t.t;const s=Object.entries((r=n.i)!=null?r:{});s.map((([r,[n]])=>{if(n&31||n&32){const n=e[r];const s=i(Object.getPrototypeOf(e),r,true)||Object.getOwnPropertyDescriptor(e,r);if(s){Object.defineProperty(e,r,{get(){return s.get.call(this)},set(e){s.set.call(this,e)},configurable:true,enumerable:true})}if(t.o.has(r)){e[r]=t.o.get(r)}else if(n!==void 0){e[r]=n}}}))};var l=e=>{if(e.__stencil__getHostRef){return e.__stencil__getHostRef()}return void 0};var f=(e,t)=>{const n={l:0,$hostElement$:e,t,o:new Map,u:new Map};{n.v=new Promise((e=>n.p=e));e["s-p"]=[];e["s-rc"]=[]}const s=n;e.__stencil__getHostRef=()=>s;if(t.l&512&&r.state){o(e,n)}return s};var a=(e,t)=>t in e;var c=(e,t)=>(0,console.error)(e,t);var u=new Map;var v="slot-fb{display:contents}slot-fb[hidden]{display:none}";var d=1e3;var p=typeof window!=="undefined"?window:{};var h=p.HTMLElement||class{};var b={l:0,h:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,r,n)=>e.addEventListener(t,r,n),rel:(e,t,r,n)=>e.removeEventListener(t,r,n),ce:(e,t)=>new CustomEvent(e,t)};var m=e=>Promise.resolve(e);var g=(()=>{try{if(!p.document.adoptedStyleSheets){return false}new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false})();var k=g?(()=>!!p.document&&Object.getOwnPropertyDescriptor(p.document.adoptedStyleSheets,"length").writable)():false;var y=false;var w=[];var $=[];var x=()=>{var e;return((e=p.document)==null?void 0:e.hidden)?M(O):b.raf(O)};var j=(e,t)=>r=>{e.push(r);if(!y){y=true;if(t&&b.l&4){M(O)}else{x()}}};var S=e=>{for(let t=0;t<e.length;t++){try{e[t](performance.now())}catch(e){c(e)}}e.length=0};var O=()=>{S(w);{S($);if(y=w.length>0){x()}}};var M=e=>m().then(e);var E=j($,true);var C=e=>{const t=new URL(e,b.h);return t.origin!==p.location.origin?t.href:t.pathname};var A=e=>b.h=e;function N(e){if(!g)return void 0;const t=new CSSStyleSheet;t.replaceSync(e);return t}var L;function U(t){var r;const n={mode:"open"};const s=this.attachShadow(n);if(L===void 0)L=(r=N(e))!=null?r:null;if(L){if(k){s.adoptedStyleSheets.push(L)}else{s.adoptedStyleSheets=[...s.adoptedStyleSheets,L]}}else if(!g){const t=document.createElement("style");t.innerHTML=e;s.prepend(t)}}var P=(e,t="")=>{{return()=>{}}};function R(e){var t,r,n;return(n=(r=(t=e.head)==null?void 0:t.querySelector('meta[name="csp-nonce"]'))==null?void 0:r.getAttribute("content"))!=null?n:void 0}var z=new WeakMap;var H=(e,t,r)=>{let n=u.get(e);if(g&&r){n=n||new CSSStyleSheet;if(typeof n==="string"){n=t}else{n.replaceSync(t)}}else{n=t}u.set(e,n)};var _=(e,t,r)=>{var n,s,i;const o=W(t);const l=u.get(o);if(!p.document){return o}e=e.nodeType===11?e:p.document;if(l){if(typeof l==="string"){e=e.head||e;let r=z.get(e);let i;if(!r){z.set(e,r=new Set)}if(!r.has(o)){i=p.document.createElement("style");i.textContent=l;const f=(n=b.m)!=null?n:R(p.document);if(f!=null){i.setAttribute("nonce",f)}if(!(t.l&1)){if(e.nodeName==="HEAD"){const t=e.querySelectorAll("link[rel=preconnect]");const r=t.length>0?t[t.length-1].nextSibling:e.querySelector("style");e.insertBefore(i,(r==null?void 0:r.parentNode)===e?r:null)}else if("host"in e){if(g){const t=(s=e.defaultView)!=null?s:e.ownerDocument.defaultView;const r=new t.CSSStyleSheet;r.replaceSync(l);if(k){e.adoptedStyleSheets.unshift(r)}else{e.adoptedStyleSheets=[r,...e.adoptedStyleSheets]}}else{const t=e.querySelector("style");if(t&&true){t.textContent=l+t.textContent}else{e.prepend(i)}}}else{e.append(i)}}if(t.l&1){e.insertBefore(i,null)}if(t.l&4){i.textContent+=v}if(r){r.add(o)}}}else{let t=z.get(e);if(!t){z.set(e,t=new Set)}if(!t.has(o)){const r=(i=e.defaultView)!=null?i:e.ownerDocument.defaultView;let n;if(l.constructor===r.CSSStyleSheet){n=l}else{n=new r.CSSStyleSheet;for(let e=0;e<l.cssRules.length;e++){n.insertRule(l.cssRules[e].cssText,e)}}if(k){e.adoptedStyleSheets.push(n)}else{e.adoptedStyleSheets=[...e.adoptedStyleSheets,n]}t.add(o)}}}return o};var D=e=>{const t=e.t;const r=e.$hostElement$;const n=t.l;const s=P("attachStyles",t.k);const i=_(r.shadowRoot?r.shadowRoot:r.getRootNode(),t);if(n&10){r["s-sc"]=i;r.classList.add(i+"-h")}s()};var W=(e,t)=>"sc-"+e.k;var F=e=>{e=typeof e;return e==="object"||e==="function"};var I=(e,t,...r)=>{if(typeof e==="string"){e=Ge(e)}let n=null;let s=null;let i=false;let o=false;const l=[];const f=t=>{for(let r=0;r<t.length;r++){n=t[r];if(Array.isArray(n)){f(n)}else if(n!=null&&typeof n!=="boolean"){if(i=typeof e!=="function"&&!F(n)){n=String(n)}else if(typeof e!=="function"&&n.l===void 0){{c("Invalid vNode child")}continue}if(i&&o){l[l.length-1].$+=n}else{l.push(i?T(null,n):n)}o=i}}};f(r);if(t){if(t.key){s=t.key}{const e=t.className||t.class;if(e){t.class=typeof e!=="object"?e:Object.keys(e).filter((t=>e[t])).join(" ")}}}const a=T(e,null);a.j=t;if(l.length>0){a.S=l}{a.O=s}return a};var T=(e,t)=>{const r={l:0,M:e,$:t!=null?t:null,C:null,S:null};{r.j=null}{r.O=null}return r};var V={};var q=e=>e&&e.M===V;var G=e=>{if(!e)return void 0;const t=Object.keys(e);if(t.length===0)return void 0;let r=false;for(const n of t){if(r)break;for(const t of e[n]){if(typeof t==="string"){r=true;break}}}if(!r)return e;const n={};for(const r of t){n[r]=e[r].map((e=>typeof e==="string"?{[e]:0}:e))}return n};var Y=(e,t,r)=>{if(e!=null&&!F(e)){if(t&4){{return e==="false"?false:e===""||!!e}}if(t&2){return typeof e==="string"?parseFloat(e):typeof e==="number"?e:NaN}if(t&1){return String(e)}return e}return e};var Z=e=>e;var B=(e,t,r)=>{const n=Z(e);return{emit:e=>J(n,t,{bubbles:true,composed:true,cancelable:true,detail:e})}};var J=(e,t,r)=>{const n=b.ce(t,r);e.dispatchEvent(n);return n};var K=(e,t,r,n,s,i,o)=>{if(r===n){return}let f=a(e,t);let c=t.toLowerCase();if(t==="class"){const t=e.classList;const s=te(r);let i=te(n);{t.remove(...s.filter((e=>e&&!i.includes(e))));t.add(...i.filter((e=>e&&!s.includes(e))))}}else if(t==="style"){{for(const t in r){if(!n||n[t]==null){if(t.includes("-")){e.style.removeProperty(t)}else{e.style[t]=""}}}}for(const t in n){if(!r||n[t]!==r[t]){if(t.includes("-")){e.style.setProperty(t,n[t])}else{e.style[t]=n[t]}}}}else if(t==="key");else if(t==="ref"){if(n){ke(n,e)}}else if(!e.__lookupSetter__(t)&&t[0]==="o"&&t[1]==="n"){if(t[2]==="-"){t=t.slice(3)}else if(a(p,c)){t=c.slice(2)}else{t=c[2]+t.slice(3)}if(r||n){const s=t.endsWith(re);t=t.replace(ne,"");if(r){b.rel(e,t,r,s)}if(n){b.ael(e,t,n,s)}}}else if(t[0]==="a"&&t.startsWith("attr:")){const r=t.slice(5);let s;{const t=l(e);if(t&&t.t&&t.t.i){const e=t.t.i[r];if(e&&e[1]){s=e[1]}}}if(!s){s=r.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}if(n==null||n===false){if(n!==false||e.getAttribute(s)===""){e.removeAttribute(s)}}else{e.setAttribute(s,n===true?"":n)}return}else if(t[0]==="p"&&t.startsWith("prop:")){const r=t.slice(5);try{e[r]=n}catch(e){}return}else{const o=F(n);if((f||o&&n!==null)&&!s){try{if(!e.tagName.includes("-")){const s=n==null?"":n;if(t==="list"){f=false}else if(r==null||e[t]!==s){if(typeof e.__lookupSetter__(t)==="function"){e[t]=s}else{e.setAttribute(t,s)}}}else if(e[t]!==n){e[t]=n}}catch(e){}}if(n==null||n===false){if(n!==false||e.getAttribute(t)===""||i&4&&!X(t)){{e.removeAttribute(t)}}}else if((!f||i&4||s)&&!o&&e.nodeType===1){n=n===true?"":n;{e.setAttribute(t,n)}}}};var Q=new Set(["draggable","contenteditable","spellcheck"]);var X=e=>Q.has(e)||e.startsWith("aria-");var ee=/\s/;var te=e=>{if(typeof e==="object"&&e&&"baseVal"in e){e=e.baseVal}if(!e||typeof e!=="string"){return[]}return e.split(ee)};var re="Capture";var ne=new RegExp(re+"$");var se=(e,t,r,n)=>{const s=t.C.nodeType===11&&t.C.host?t.C.host:t.C;const i=e&&e.j||{};const o=t.j||{};{for(const e of ie(Object.keys(i))){if(!(e in o)){K(s,e,i[e],void 0,r,t.l)}}}for(const e of ie(Object.keys(o))){K(s,e,i[e],o[e],r,t.l)}};function ie(e){return e.includes("ref")?[...e.filter((e=>e!=="ref")),"ref"]:e}var oe;var le=false;var fe=false;var ae=[];var ce=[];var ue=(e,t,r)=>{const i=t.S[r];let o=0;let l;let f;if(i.$!=null){l=i.C=p.document.createTextNode(i.$)}else{if(!fe){fe=i.M==="svg"}if(!p.document){throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM.")}l=i.C=p.document.createElementNS(fe?n:s,i.M);if(fe&&i.M==="foreignObject"){fe=false}{se(null,i,fe)}if(i.S){const t=i.M==="template"?l.content:l;for(o=0;o<i.S.length;++o){f=ue(e,i,o);if(f){t.appendChild(f)}}}{if(i.M==="svg"){fe=false}else if(l.tagName==="foreignObject"){fe=true}}}l["s-hn"]=oe;return l};var ve=e=>{b.l|=1;const t=e.closest(oe.toLowerCase());if(t!=null){const r=Array.from(t.__childNodes||t.childNodes).find((e=>e["s-cr"]));const n=Array.from(e.__childNodes||e.childNodes);for(const e of r?n.reverse():n){if(e["s-sh"]!=null){we(t,e,r!=null?r:null);e["s-sh"]=void 0}}}b.l&=-2};var de=(e,t,r,n,s,i)=>{let o=e;let l;if(o.shadowRoot&&o.tagName===oe){o=o.shadowRoot}if(r.M==="template"){o=o.content}for(;s<=i;++s){if(n[s]){l=ue(null,r,s);if(l){n[s].C=l;we(o,l,t)}}}};var pe=(e,t,r)=>{for(let n=t;n<=r;++n){const t=e[n];if(t){const e=t.C;ge(t);if(e){e.remove()}}}};var he=(e,t,r,n,s=false)=>{let i=0;let o=0;let l=0;let f=0;let a=t.length-1;let c=t[0];let u=t[a];let v=n.length-1;let d=n[0];let p=n[v];let h;let b;const m=r.M==="template"?e.content:e;while(i<=a&&o<=v){if(c==null){c=t[++i]}else if(u==null){u=t[--a]}else if(d==null){d=n[++o]}else if(p==null){p=n[--v]}else if(be(c,d,s)){me(c,d,s);c=t[++i];d=n[++o]}else if(be(u,p,s)){me(u,p,s);u=t[--a];p=n[--v]}else if(be(c,p,s)){me(c,p,s);we(m,c.C,u.C.nextSibling);c=t[++i];p=n[--v]}else if(be(u,d,s)){me(u,d,s);we(m,u.C,c.C);u=t[--a];d=n[++o]}else{l=-1;{for(f=i;f<=a;++f){if(t[f]&&t[f].O!==null&&t[f].O===d.O){l=f;break}}}if(l>=0){b=t[l];if(b.M!==d.M){h=ue(t&&t[o],r,l)}else{me(b,d,s);t[l]=void 0;h=b.C}d=n[++o]}else{h=ue(t&&t[o],r,o);d=n[++o]}if(h){{we(c.C.parentNode,h,c.C)}}}}if(i>a){de(e,n[v+1]==null?null:n[v+1].C,r,n,o,v)}else if(o>v){pe(t,i,a)}};var be=(e,t,r=false)=>{if(e.M===t.M){if(!r){return e.O===t.O}if(r&&!e.O&&t.O){e.O=t.O}return true}return false};var me=(e,t,n=false)=>{const s=t.C=e.C;const i=e.S;const o=t.S;const l=t.M;const f=t.$;if(f==null){{fe=l==="svg"?true:l==="foreignObject"?false:fe}{if(l==="slot"&&!le){if(e.A!==t.A){t.C["s-sn"]=t.A||"";ve(t.C.parentElement)}}se(e,t,fe)}if(i!==null&&o!==null){he(s,i,t,o,n)}else if(o!==null){if(e.$!==null){s.textContent=""}de(s,null,t,o,0,o.length-1)}else if(!n&&r.updatable&&i!==null){pe(i,0,i.length-1)}else;if(fe&&l==="svg"){fe=false}}else if(e.$!==f){s.data=f}};var ge=e=>{{if(e.j&&e.j.ref){ae.push((()=>e.j.ref(null)))}e.S&&e.S.map(ge)}};var ke=(e,t)=>{{ce.push((()=>e(t)))}};var ye=()=>{{ae.forEach((e=>e()));ae.length=0;ce.forEach((e=>e()));ce.length=0}};var we=(e,t,r,n)=>{{return e==null?void 0:e.insertBefore(t,r)}};var $e=(e,t,r=false)=>{const n=e.$hostElement$;const s=e.t;const i=e.N||T(null,null);const o=q(t);const l=o?t:I(null,null,t);oe=n.tagName;if(r&&l.j){for(const e of Object.keys(l.j)){if(n.hasAttribute(e)&&!["key","ref","style","class"].includes(e)){l.j[e]=n[e]}}}l.M=null;l.l|=4;e.N=l;l.C=i.C=n.shadowRoot||n;le=!!(s.l&1)&&!(s.l&128);me(i,l,r);ye()};var xe=(e,t)=>{if(t&&!e.L&&t["s-p"]){const r=t["s-p"].push(new Promise((n=>e.L=()=>{t["s-p"].splice(r-1,1);n()})))}};var je=(e,t)=>{{e.l|=16}if(e.l&4){e.l|=512;return}xe(e,e.U);const r=()=>Se(e,t);if(t){queueMicrotask((()=>{r()}));return}return E(r)};var Se=(e,t)=>{const r=e.$hostElement$;const n=P("scheduleUpdate",e.t.k);const s=r;if(!s){throw new Error(`Can't render component <${r.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`)}let i;if(t){i=Le(s,"componentWillLoad",void 0,r)}else{i=Le(s,"componentWillUpdate",void 0,r)}i=Oe(i,(()=>Le(s,"componentWillRender",void 0,r)));n();return Oe(i,(()=>Ee(e,s,t)))};var Oe=(e,t)=>Me(e)?e.then(t).catch((e=>{console.error(e);t()})):t();var Me=e=>e instanceof Promise||e&&e.then&&typeof e.then==="function";var Ee=async(e,t,r)=>{var n;const s=e.$hostElement$;const i=P("update",e.t.k);const o=s["s-rc"];if(r){D(e)}const l=P("render",e.t.k);{Ce(e,t,s,r)}if(o){o.map((e=>e()));s["s-rc"]=void 0}l();i();{const t=(n=s["s-p"])!=null?n:[];const r=()=>Ae(e);if(t.length===0){r()}else{Promise.all(t).then(r).catch(r);e.l|=4;t.length=0}}};var Ce=(e,t,r,n)=>{try{t=t.render();{e.l&=-17}{e.l|=2}{{{$e(e,t,n)}}}}catch(t){c(t,e.$hostElement$)}return null};var Ae=e=>{const t=e.t.k;const r=e.$hostElement$;const n=P("postUpdate",t);const s=r;const i=e.U;Le(s,"componentDidRender",void 0,r);if(!(e.l&64)){e.l|=64;{Ue(r)}Le(s,"componentDidLoad",void 0,r);n();{e.p(r);if(!i){Ne()}}}else{Le(s,"componentDidUpdate",void 0,r);n()}{if(e.L){e.L();e.L=void 0}if(e.l&512){M((()=>je(e,false)))}e.l&=-517}};var Ne=e=>{M((()=>J(p,"appload",{detail:{namespace:t}})))};var Le=(e,t,r,n)=>{if(e&&e[t]){try{return e[t](r)}catch(e){c(e,n)}}return void 0};var Ue=e=>{var t;return e.classList.add((t=r.hydratedSelectorName)!=null?t:"hydrated")};var Pe=(e,t)=>l(e).o.get(t);var Re=(e,t,r,n)=>{const s=l(e);if(!s){return}const i=e;const o=s.o.get(t);const f=s.l;const a=i;r=Y(r,n.i[t][0]);const u=Number.isNaN(o)&&Number.isNaN(r);const v=r!==o&&!u;if(v){s.o.set(t,r);if(n.P){const e=n.P[t];if(e){e.map((e=>{try{const[[n,i]]=Object.entries(e);if(f&128||i&1){if(!a){s.R.push((()=>{s.H[n](r,o,t)}))}else{a[n](r,o,t)}}}catch(e){c(e,i)}}))}}if(f&2){if(a.componentShouldUpdate){const e=a.componentShouldUpdate(r,o,t);if(e===false&&!(f&16)){return}}if(!(f&16)){je(s,false)}}}};var ze=(e,t,n)=>{var s,o;const f=e.prototype;{{if(e.watchers&&!t.P){t.P=G(e.watchers)}if(e.deserializers&&!t._){t._=e.deserializers}if(e.serializers&&!t.D){t.D=e.serializers}}const n=Object.entries((s=t.i)!=null?s:{});n.map((([e,[r]])=>{if(r&31||r&32){const{get:n,set:s}=i(f,e)||{};if(n)t.i[e][0]|=2048;if(s)t.i[e][0]|=4096;{Object.defineProperty(f,e,{get(){{return n?n.apply(this):Pe(this,e)}},configurable:true,enumerable:true})}Object.defineProperty(f,e,{set(n){const i=l(this);if(!i){return}if(s){const o=r&32?this[e]:i.$hostElement$[e];if(typeof o==="undefined"&&i.o.get(e)){n=i.o.get(e)}s.apply(this,[Y(n,r)]);n=r&32?this[e]:i.$hostElement$[e];Re(this,e,n,t);return}{Re(this,e,n,t);return}}})}}));{const s=new Map;f.attributeChangedCallback=function(e,i,o){b.jmp((()=>{var a;const c=s.get(e);const u=l(this);if(this.hasOwnProperty(c)&&r.lazyLoad);if(f.hasOwnProperty(c)&&typeof this[c]==="number"&&this[c]==o){return}else if(c==null){const r=u==null?void 0:u.l;if(u&&r&&!(r&8)&&o!==i){const n=this;const s=n;const l=(a=t.P)==null?void 0:a[e];l==null?void 0:l.forEach((t=>{const[[n,l]]=Object.entries(t);if(s[n]!=null&&(r&128||l&1)){s[n].call(s,o,i,e)}}))}return}const v=n.find((([e])=>e===c));const d=v&&v[1][0]&4;const p=d&&o===null&&this[c]===void 0;if(d){o=o===null||o==="false"?false:true}const h=Object.getOwnPropertyDescriptor(f,c);if(!p&&o!=this[c]&&(!h.get||!!h.set)){this[c]=o}}))};e.observedAttributes=Array.from(new Set([...Object.keys((o=t.P)!=null?o:{}),...n.filter((([e,t])=>t[0]&31)).map((([e,t])=>{const r=t[1]||e;s.set(r,e);return r}))]))}}return e};var He=async(e,t,n,s)=>{let i;try{if((t.l&32)===0){t.l|=32;t.l&=-1025;{i=e.constructor;const r=e.localName;customElements.whenDefined(r).then((()=>t.l|=128))}if(i&&i.style){let e;if(typeof i.style==="string"){e=i.style}const t=W(n);if(!u.has(t)||r.hotModuleReplacement){const r=P("registerStyles",n.k);H(t,e,!!(n.l&1));r()}}}const s=t.U;const o=()=>je(t,true);if(s&&s["s-rc"]){s["s-rc"].push(o)}else{o()}}catch(r){c(r,e);if(t.L){t.L();t.L=void 0}if(t.p&&!(t.l&1024)){t.p(e)}}};var _e=(e,t)=>{};var De=e=>{if((b.l&1)===0){const t=l(e);if(!t){return}const r=t.t;const n=P("connectedCallback",r.k);if(!(t.l&1)){t.l|=1;{let r=e;while(r=r.parentNode||r.host){if(r["s-p"]){xe(t,t.U=r);break}}}if(r.i){Object.entries(r.i).map((([t,[r]])=>{if(r&31&&Object.prototype.hasOwnProperty.call(e,t)){const r=e[t];delete e[t];e[t]=r}}))}{He(e,t,r)}}else{if(t==null?void 0:t.H);else if(t.l&1024){setTimeout((()=>He(e,t,r)),d)}else if(t==null?void 0:t.v){t.v.then((()=>_e()))}}n()}};var We=async e=>{if((b.l&1)===0){l(e)}if(z.has(e)){z.delete(e)}if(e.shadowRoot&&z.has(e.shadowRoot)){z.delete(e.shadowRoot)}};var Fe=(e,t)=>{const r={l:t[0],k:t[1]};try{{r.i=t[2]}{r.P=G(e.P);r._=e._;r.D=e.D}const n=e.prototype.connectedCallback;const s=e.prototype.disconnectedCallback;Object.assign(e.prototype,{__hasHostListenerAttached:false,__registerHost(){f(this,r)},connectedCallback(){if(!this.__hasHostListenerAttached){const e=l(this);if(!e){return}this.__hasHostListenerAttached=true}De(this);if(n){n.call(this)}},disconnectedCallback(){We(this);if(s){s.call(this)}},__attachShadow(){{if(!this.shadowRoot){U.call(this,r)}else{if(this.shadowRoot.mode!=="open"){throw new Error(`Unable to re-use existing shadow root for ${r.k}! Mode is set to ${this.shadowRoot.mode} but Stencil only supports open shadow roots.`)}}}}});Object.defineProperty(e,"is",{value:r.k,configurable:true});return ze(e,r)}catch(t){c(t);return e}};var Ie=e=>b.m=e;var Te=e=>Object.assign(b,e);var Ve=new WeakMap;function qe(e,t){let r=Ve.get(t);if(!r){const e={l:0,k:t.tagName};r={l:0,t:e,$hostElement$:t};Ve.set(t,r)}$e(r,e)}function Ge(e){return e}export{h as H,V as a,B as c,C as getAssetPath,I as h,Fe as p,qe as render,A as setAssetPath,Ie as setNonce,Te as setPlatformOptions,Ge as t};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|