@design.estate/dees-catalog 9.3.0 → 9.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/dist_bundle/bundle.js +1372 -2727
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.js +2 -1
- package/dist_ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.js +4 -2
- package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.d.ts +11 -9
- package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.d.ts +2 -2
- package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.js +148 -319
- package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.js +60 -279
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.d.ts +25 -10
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.demo.d.ts +3 -4
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.demo.js +229 -388
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +253 -813
- package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.demo.d.ts +2 -0
- package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.demo.js +150 -389
- package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.js +67 -11
- package/package.json +1 -1
- package/readme.hints.md +26 -0
- package/readme.md +76 -15
- package/scripts/bdtheme-baseline.json +0 -2
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-button/dees-button/dees-button.ts +1 -0
- package/ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.ts +3 -1
- package/ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.ts +67 -332
- package/ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.ts +65 -322
- package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.demo.ts +136 -382
- package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +224 -872
- package/ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.demo.ts +116 -421
- package/ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.ts +66 -10
|
@@ -1,326 +1,155 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
15
19
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
20
|
-
gap: 20px;
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
21
23
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import { html, css, cssManager, customElement, state, DeesElement } from '@design.estate/dees-element';
|
|
36
|
+
import { themeDefaultStyles } from '../../00theme.js';
|
|
37
|
+
import { demoPage } from '../../../demos/templates.js';
|
|
38
|
+
import '../../00group-input/dees-input-multitoggle/dees-input-multitoggle.js';
|
|
39
|
+
import '../../00group-button/dees-button/dees-button.js';
|
|
40
|
+
// Small original vector product studies keep this fixture sharp and self-contained.
|
|
41
|
+
const illustration = (content) => `data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 300"><rect width="400" height="300" fill="#e8e6e1"/>${content}</svg>`)}`;
|
|
42
|
+
const products = [
|
|
43
|
+
{ name: 'Studio headphones', category: 'Sound', description: 'A quiet space, wherever you work.', price: 179, originalPrice: 219, iconName: 'lucide:headphones', imageUrl: illustration('<path d="M125 172v-40a75 75 0 0 1 150 0v40" fill="none" stroke="#383a3c" stroke-width="17"/><path d="M135 136v-5a65 65 0 0 1 130 0v5" fill="none" stroke="#b4b1ab" stroke-width="7"/><rect x="106" y="130" width="42" height="88" rx="20" fill="#343638"/><rect x="124" y="130" width="30" height="88" rx="15" fill="#616467"/><rect x="252" y="130" width="42" height="88" rx="20" fill="#343638"/><rect x="246" y="130" width="30" height="88" rx="15" fill="#616467"/>') },
|
|
44
|
+
{ name: 'Everyday keyboard', category: 'Desk', description: 'Low-profile keys. A little more focus.', price: 89, iconName: 'lucide:keyboard', imageUrl: illustration('<rect x="54" y="109" width="292" height="111" rx="14" fill="#a6a4a0"/><rect x="54" y="101" width="292" height="111" rx="14" fill="#cecbc4"/>' + Array.from({ length: 3 }, (_, row) => Array.from({ length: 11 }, (_, col) => `<rect x="${67 + col * 24}" y="${112 + row * 23}" width="19" height="17" rx="4" fill="#f6f5f1"/>`).join('')).join('') + '<rect x="67" y="181" width="42" height="17" rx="4" fill="#f6f5f1"/><rect x="115" y="181" width="165" height="17" rx="4" fill="#f6f5f1"/><rect x="286" y="181" width="43" height="17" rx="4" fill="#f6f5f1"/>') },
|
|
45
|
+
{ name: 'Pocket notebook', category: 'Ideas', description: 'For the ideas that start on paper.', price: 24, iconName: 'lucide:notebook', imageUrl: illustration('<rect x="122" y="51" width="156" height="210" rx="8" fill="#a7ada5"/><rect x="116" y="43" width="156" height="210" rx="8" fill="#737e6d"/><path d="M129 43v210" stroke="#596750" stroke-width="3"/><path d="M248 43v210" stroke="#485541" stroke-width="7"/><rect x="151" y="94" width="72" height="1" fill="#aeb6a6"/><rect x="151" y="103" width="50" height="1" fill="#aeb6a6"/><path d="M207 252v18l8-5 8 5v-18" fill="#c0b391"/>') },
|
|
46
|
+
{ name: 'Desktop hub', category: 'Connections', description: 'One cable. Everything connected.', price: 69, inStock: false, stockText: 'Back soon', iconName: 'lucide:usb', imageUrl: illustration('<path d="M253 135h30q37 0 37-40v-8" fill="none" stroke="#53565a" stroke-width="10"/><rect x="307" y="58" width="25" height="35" rx="5" fill="#33383d"/><rect x="76" y="130" width="220" height="73" rx="19" fill="#646a71"/><rect x="76" y="118" width="220" height="67" rx="19" fill="#adb3ba"/><rect x="97" y="159" width="40" height="9" rx="3" fill="#33383d"/><rect x="151" y="159" width="40" height="9" rx="3" fill="#33383d"/><rect x="217" y="159" width="31" height="9" rx="4" fill="#33383d"/><circle cx="268" cy="163" r="3" fill="#d4dddc"/>') },
|
|
47
|
+
];
|
|
48
|
+
const money = (value) => `$${value.toFixed(2)}`;
|
|
49
|
+
let DeesDemoSimpleShop = (() => {
|
|
50
|
+
let _classDecorators = [customElement('dees-demo-simple-shop')];
|
|
51
|
+
let _classDescriptor;
|
|
52
|
+
let _classExtraInitializers = [];
|
|
53
|
+
let _classThis;
|
|
54
|
+
let _classSuper = DeesElement;
|
|
55
|
+
let _mode_decorators;
|
|
56
|
+
let _mode_initializers = [];
|
|
57
|
+
let _mode_extraInitializers = [];
|
|
58
|
+
let _quantities_decorators;
|
|
59
|
+
let _quantities_initializers = [];
|
|
60
|
+
let _quantities_extraInitializers = [];
|
|
61
|
+
let _selected_decorators;
|
|
62
|
+
let _selected_initializers = [];
|
|
63
|
+
let _selected_extraInitializers = [];
|
|
64
|
+
let _restocked_decorators;
|
|
65
|
+
let _restocked_initializers = [];
|
|
66
|
+
let _restocked_extraInitializers = [];
|
|
67
|
+
let _result_decorators;
|
|
68
|
+
let _result_initializers = [];
|
|
69
|
+
let _result_extraInitializers = [];
|
|
70
|
+
var DeesDemoSimpleShop = class extends _classSuper {
|
|
71
|
+
static { _classThis = this; }
|
|
72
|
+
static {
|
|
73
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
74
|
+
_mode_decorators = [state()];
|
|
75
|
+
_quantities_decorators = [state()];
|
|
76
|
+
_selected_decorators = [state()];
|
|
77
|
+
_restocked_decorators = [state()];
|
|
78
|
+
_result_decorators = [state()];
|
|
79
|
+
__esDecorate(this, null, _mode_decorators, { kind: "accessor", name: "mode", static: false, private: false, access: { has: obj => "mode" in obj, get: obj => obj.mode, set: (obj, value) => { obj.mode = value; } }, metadata: _metadata }, _mode_initializers, _mode_extraInitializers);
|
|
80
|
+
__esDecorate(this, null, _quantities_decorators, { kind: "accessor", name: "quantities", static: false, private: false, access: { has: obj => "quantities" in obj, get: obj => obj.quantities, set: (obj, value) => { obj.quantities = value; } }, metadata: _metadata }, _quantities_initializers, _quantities_extraInitializers);
|
|
81
|
+
__esDecorate(this, null, _selected_decorators, { kind: "accessor", name: "selected", static: false, private: false, access: { has: obj => "selected" in obj, get: obj => obj.selected, set: (obj, value) => { obj.selected = value; } }, metadata: _metadata }, _selected_initializers, _selected_extraInitializers);
|
|
82
|
+
__esDecorate(this, null, _restocked_decorators, { kind: "accessor", name: "restocked", static: false, private: false, access: { has: obj => "restocked" in obj, get: obj => obj.restocked, set: (obj, value) => { obj.restocked = value; } }, metadata: _metadata }, _restocked_initializers, _restocked_extraInitializers);
|
|
83
|
+
__esDecorate(this, null, _result_decorators, { kind: "accessor", name: "result", static: false, private: false, access: { has: obj => "result" in obj, get: obj => obj.result, set: (obj, value) => { obj.result = value; } }, metadata: _metadata }, _result_initializers, _result_extraInitializers);
|
|
84
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
85
|
+
DeesDemoSimpleShop = _classThis = _classDescriptor.value;
|
|
86
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
45
87
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
88
|
+
#mode_accessor_storage = __runInitializers(this, _mode_initializers, 'shop');
|
|
89
|
+
get mode() { return this.#mode_accessor_storage; }
|
|
90
|
+
set mode(value) { this.#mode_accessor_storage = value; }
|
|
91
|
+
#quantities_accessor_storage = (__runInitializers(this, _mode_extraInitializers), __runInitializers(this, _quantities_initializers, products.map(() => 0)));
|
|
92
|
+
get quantities() { return this.#quantities_accessor_storage; }
|
|
93
|
+
set quantities(value) { this.#quantities_accessor_storage = value; }
|
|
94
|
+
#selected_accessor_storage = (__runInitializers(this, _quantities_extraInitializers), __runInitializers(this, _selected_initializers, []));
|
|
95
|
+
get selected() { return this.#selected_accessor_storage; }
|
|
96
|
+
set selected(value) { this.#selected_accessor_storage = value; }
|
|
97
|
+
#restocked_accessor_storage = (__runInitializers(this, _selected_extraInitializers), __runInitializers(this, _restocked_initializers, false));
|
|
98
|
+
get restocked() { return this.#restocked_accessor_storage; }
|
|
99
|
+
set restocked(value) { this.#restocked_accessor_storage = value; }
|
|
100
|
+
#result_accessor_storage = (__runInitializers(this, _restocked_extraInitializers), __runInitializers(this, _result_initializers, 'Add a few essentials to your bag, or build a kit.'));
|
|
101
|
+
get result() { return this.#result_accessor_storage; }
|
|
102
|
+
set result(value) { this.#result_accessor_storage = value; }
|
|
103
|
+
get inventory() { return products.map(product => product.inStock === false && this.restocked ? { ...product, inStock: true, stockText: 'In stock' } : product); }
|
|
104
|
+
static styles = [themeDefaultStyles, cssManager.defaultStyles, css `
|
|
105
|
+
:host { display: grid; gap: 24px; container-type: inline-size; font: 13px/1.5 var(--dees-font-family); }
|
|
106
|
+
.toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
|
|
107
|
+
.layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 24px; align-items: start; }
|
|
108
|
+
.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
|
|
109
|
+
.bag { position: sticky; top: 20px; display: grid; gap: 20px; padding: 24px; border-radius: var(--dees-radius-2xl); corner-shape: var(--dees-corner-shape); background: var(--dees-color-bg-primary); border: 1px solid var(--dees-color-border-subtle); }
|
|
110
|
+
h2 { margin: 0; font-size: 19px; font-weight: 600; letter-spacing: -.02em; }
|
|
111
|
+
p { margin: 0; color: var(--dees-color-text-secondary); }
|
|
112
|
+
.empty { display: grid; justify-items: start; gap: 12px; padding: 16px 0; color: var(--dees-color-text-secondary); }
|
|
113
|
+
.lines { display: grid; gap: 16px; }
|
|
114
|
+
.line, .total { display: flex; gap: 16px; justify-content: space-between; }
|
|
115
|
+
.line small { display: block; color: var(--dees-color-text-secondary); margin-top: 3px; }
|
|
116
|
+
.line > span, .total { font-variant-numeric: tabular-nums; }
|
|
117
|
+
.total { border-top: 1px solid var(--dees-color-border-subtle); padding-top: 16px; font-weight: 600; }
|
|
118
|
+
.kit { display: grid; gap: 12px; padding-top: 20px; border-top: 1px solid var(--dees-color-border-subtle); }
|
|
119
|
+
output { padding: 14px 16px; border-radius: var(--dees-radius-lg); background: var(--dees-color-bg-secondary); color: var(--dees-color-text-secondary); }
|
|
120
|
+
@container (max-width: 760px) { .layout { grid-template-columns: minmax(0, 1fr); } .bag { position: static; } }
|
|
121
|
+
@container (max-width: 500px) { .products { grid-template-columns: minmax(0, 1fr); } }
|
|
122
|
+
`];
|
|
123
|
+
render() {
|
|
124
|
+
const inventory = this.inventory;
|
|
125
|
+
const count = this.quantities.reduce((sum, quantity) => sum + quantity, 0);
|
|
126
|
+
const total = this.quantities.reduce((sum, quantity, index) => sum + quantity * inventory[index].price, 0);
|
|
127
|
+
return html `<div class="toolbar"><dees-input-multitoggle aria-label="Shopping mode" .options=${[{ key: 'shop', label: 'Shop essentials' }, { key: 'kit', label: 'Build a kit' }]} .value=${this.mode}
|
|
128
|
+
@change=${(event) => { this.mode = event.detail.value; }}></dees-input-multitoggle>
|
|
129
|
+
<dees-button type="ghost" text=${this.restocked ? 'Hub restocked' : 'Restock hub'} .disabled=${this.restocked} @clicked=${() => { this.restocked = true; this.result = 'Desktop hub is available again.'; }}></dees-button></div>
|
|
130
|
+
<div class="layout"><div class="products">${inventory.map((product, index) => html `<dees-shopping-productcard .productData=${product} .quantity=${this.quantities[index]}
|
|
131
|
+
.selectable=${this.mode === 'kit' && product.inStock !== false} .selected=${this.mode === 'kit' && this.selected.includes(index)} .showQuantitySelector=${product.inStock !== false}
|
|
132
|
+
@quantityChange=${(event) => { this.quantities = this.quantities.map((value, i) => i === index ? event.detail.quantity : value); this.result = `${product.name}: ${event.detail.quantity} in your bag.`; }}
|
|
133
|
+
@selectionChange=${(event) => { this.selected = event.detail.selected ? [...this.selected, index] : this.selected.filter(i => i !== index); this.result = `${this.selected.length} essentials selected for your kit.`; }}></dees-shopping-productcard>`)}</div>
|
|
134
|
+
<aside class="bag" aria-label="Shopping bag"><h2>Your bag${count ? ` · ${count}` : ''}</h2>
|
|
135
|
+
${count ? html `<div class="lines">${inventory.map((product, index) => this.quantities[index] ? html `<div class="line"><div>${product.name}<small>Quantity ${this.quantities[index]}</small></div><span>${money(product.price * this.quantities[index])}</span></div>` : '')}</div>` : html `<div class="empty"><dees-icon icon="lucide:shoppingBag" iconSize="28"></dees-icon><p>A few good essentials.<br>A space that feels like yours.</p></div>`}
|
|
136
|
+
<div class="total"><span>Subtotal</span><span>${money(total)}</span></div>
|
|
137
|
+
<dees-button full-width type="accent" text="Review bag" .disabled=${count === 0} @clicked=${() => { this.result = `Your sample bag has ${count} items, totaling ${money(total)}. No order has been placed.`; }}></dees-button>
|
|
138
|
+
${count ? html `<dees-button type="ghost" size="sm" text="Clear bag" @clicked=${() => { this.quantities = products.map(() => 0); this.result = 'Your bag is empty.'; }}></dees-button>` : ''}
|
|
139
|
+
${this.mode === 'kit' ? html `<div class="kit"><p>${this.selected.length} items selected for your kit.</p><dees-button full-width type="outline" text="Add kit to bag" .disabled=${!this.selected.length}
|
|
140
|
+
@clicked=${() => { this.quantities = this.quantities.map((quantity, index) => quantity + (this.selected.includes(index) ? 1 : 0)); this.result = 'One of each selected essential was added to your bag.'; }}></dees-button></div>` : ''}
|
|
141
|
+
</aside>
|
|
142
|
+
</div><output role="status">${this.result}</output>`;
|
|
57
143
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
background: ${cssManager.bdTheme('hsl(210 40% 96.1%)', 'hsl(215 20.2% 16.8%)')};
|
|
62
|
-
border-radius: 6px;
|
|
63
|
-
font-size: 14px;
|
|
64
|
-
color: ${cssManager.bdTheme('hsl(215.3 25% 26.7%)', 'hsl(217.9 10.6% 74.9%)')};
|
|
144
|
+
constructor() {
|
|
145
|
+
super(...arguments);
|
|
146
|
+
__runInitializers(this, _result_extraInitializers);
|
|
65
147
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
<div class="demo-container">
|
|
70
|
-
<dees-panel .title=${'Basic Product Cards'} .subtitle=${'Simple product display with various configurations'}>
|
|
71
|
-
<div class="product-grid">
|
|
72
|
-
<dees-shopping-productcard
|
|
73
|
-
.productData=${{
|
|
74
|
-
name: 'Wireless Bluetooth Headphones',
|
|
75
|
-
category: 'Audio',
|
|
76
|
-
description: 'Premium sound quality with active noise cancellation',
|
|
77
|
-
price: 149.99,
|
|
78
|
-
originalPrice: 199.99,
|
|
79
|
-
iconName: 'lucide:headphones'
|
|
80
|
-
}}
|
|
81
|
-
.quantity=${1}
|
|
82
|
-
></dees-shopping-productcard>
|
|
83
|
-
|
|
84
|
-
<dees-shopping-productcard
|
|
85
|
-
.productData=${{
|
|
86
|
-
name: 'Smart Watch Series 7',
|
|
87
|
-
category: 'Wearables',
|
|
88
|
-
description: 'Track your fitness and stay connected on the go',
|
|
89
|
-
price: 399.00,
|
|
90
|
-
iconName: 'lucide:watch'
|
|
91
|
-
}}
|
|
92
|
-
.quantity=${1}
|
|
93
|
-
></dees-shopping-productcard>
|
|
94
|
-
|
|
95
|
-
<dees-shopping-productcard
|
|
96
|
-
.productData=${{
|
|
97
|
-
name: 'USB-C Hub',
|
|
98
|
-
category: 'Accessories',
|
|
99
|
-
price: 49.99,
|
|
100
|
-
iconName: 'lucide:usb',
|
|
101
|
-
inStock: false
|
|
102
|
-
}}
|
|
103
|
-
.quantity=${0}
|
|
104
|
-
></dees-shopping-productcard>
|
|
105
|
-
</div>
|
|
106
|
-
</dees-panel>
|
|
107
|
-
|
|
108
|
-
<dees-panel .title=${'Interactive Shopping Cart'} .subtitle=${'Product cards with dynamic cart calculation'} .runAfterRender=${async (elementArg) => {
|
|
109
|
-
const products = [
|
|
110
|
-
{ id: 'laptop', element: null, data: { name: 'MacBook Pro 14"', category: 'Computers', description: 'M3 Pro chip with 18GB RAM', price: 1999, originalPrice: 2199, iconName: 'lucide:laptop' } },
|
|
111
|
-
{ id: 'tablet', element: null, data: { name: 'Tablet Air', category: 'Tablets', description: '10.9" high-resolution display', price: 599, iconName: 'lucide:tablet' } },
|
|
112
|
-
{ id: 'keyboard', element: null, data: { name: 'Magic Keyboard', category: 'Accessories', description: 'Wireless keyboard with Touch ID', price: 149, iconName: 'lucide:keyboard' } }
|
|
113
|
-
];
|
|
114
|
-
const updateCartSummary = () => {
|
|
115
|
-
let total = 0;
|
|
116
|
-
const items = [];
|
|
117
|
-
products.forEach(product => {
|
|
118
|
-
const element = elementArg.querySelector(`#${product.id}`);
|
|
119
|
-
if (element && element.quantity > 0) {
|
|
120
|
-
const subtotal = product.data.price * element.quantity;
|
|
121
|
-
total += subtotal;
|
|
122
|
-
items.push(`
|
|
123
|
-
<div class="cart-item">
|
|
124
|
-
<span>${product.data.name} (${element.quantity})</span>
|
|
125
|
-
<span>$${subtotal.toFixed(2)}</span>
|
|
126
|
-
</div>
|
|
127
|
-
`);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
const summary = elementArg.querySelector('#interactive-cart-summary');
|
|
131
|
-
if (summary) {
|
|
132
|
-
summary.innerHTML = `
|
|
133
|
-
${items.join('')}
|
|
134
|
-
${items.length === 0 ? '<div class="cart-item" style="text-align: center; color: #999;">Your cart is empty</div>' : ''}
|
|
135
|
-
<div class="cart-total">
|
|
136
|
-
<span>Total</span>
|
|
137
|
-
<span>$${total.toFixed(2)}</span>
|
|
138
|
-
</div>
|
|
139
|
-
`;
|
|
148
|
+
static {
|
|
149
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
140
150
|
}
|
|
141
151
|
};
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
card.addEventListener('quantityChange', updateCartSummary);
|
|
147
|
-
});
|
|
148
|
-
}}>
|
|
149
|
-
<div class="product-grid">
|
|
150
|
-
<dees-shopping-productcard
|
|
151
|
-
id="laptop"
|
|
152
|
-
.productData=${{
|
|
153
|
-
name: 'MacBook Pro 14"',
|
|
154
|
-
category: 'Computers',
|
|
155
|
-
description: 'M3 Pro chip with 18GB RAM',
|
|
156
|
-
price: 1999,
|
|
157
|
-
originalPrice: 2199,
|
|
158
|
-
iconName: 'lucide:laptop'
|
|
159
|
-
}}
|
|
160
|
-
.quantity=${1}
|
|
161
|
-
></dees-shopping-productcard>
|
|
162
|
-
|
|
163
|
-
<dees-shopping-productcard
|
|
164
|
-
id="tablet"
|
|
165
|
-
.productData=${{
|
|
166
|
-
name: 'Tablet Air',
|
|
167
|
-
category: 'Tablets',
|
|
168
|
-
description: '10.9" high-resolution display',
|
|
169
|
-
price: 599,
|
|
170
|
-
iconName: 'lucide:tablet'
|
|
171
|
-
}}
|
|
172
|
-
.quantity=${0}
|
|
173
|
-
></dees-shopping-productcard>
|
|
174
|
-
|
|
175
|
-
<dees-shopping-productcard
|
|
176
|
-
id="keyboard"
|
|
177
|
-
.productData=${{
|
|
178
|
-
name: 'Magic Keyboard',
|
|
179
|
-
category: 'Accessories',
|
|
180
|
-
description: 'Wireless keyboard with Touch ID',
|
|
181
|
-
price: 149,
|
|
182
|
-
iconName: 'lucide:keyboard'
|
|
183
|
-
}}
|
|
184
|
-
.quantity=${2}
|
|
185
|
-
></dees-shopping-productcard>
|
|
186
|
-
</div>
|
|
187
|
-
|
|
188
|
-
<div class="cart-summary">
|
|
189
|
-
<h3 class="cart-summary-title">Shopping Cart</h3>
|
|
190
|
-
<div id="interactive-cart-summary">
|
|
191
|
-
<!-- Dynamically updated -->
|
|
192
|
-
</div>
|
|
193
|
-
</div>
|
|
194
|
-
</dees-panel>
|
|
195
|
-
|
|
196
|
-
<dees-panel .title=${'Selectable Product Cards'} .subtitle=${'Click cards or checkboxes to select products'}>
|
|
197
|
-
<div class="product-grid">
|
|
198
|
-
<dees-shopping-productcard
|
|
199
|
-
.productData=${{
|
|
200
|
-
name: 'Sony Alpha 7 IV',
|
|
201
|
-
category: 'Cameras',
|
|
202
|
-
description: 'Full-frame mirrorless camera',
|
|
203
|
-
price: 2498,
|
|
204
|
-
iconName: 'lucide:camera'
|
|
205
|
-
}}
|
|
206
|
-
.selectable=${true}
|
|
207
|
-
.showQuantitySelector=${false}
|
|
208
|
-
@selectionChange=${(e) => {
|
|
209
|
-
const output = document.querySelector('#selection-output');
|
|
210
|
-
if (output) {
|
|
211
|
-
const selectedCards = document.querySelectorAll('dees-shopping-productcard[selectable]');
|
|
212
|
-
const selectedProducts = [];
|
|
213
|
-
selectedCards.forEach((card) => {
|
|
214
|
-
if (card.selected) {
|
|
215
|
-
selectedProducts.push(card.productData.name);
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
output.textContent = selectedProducts.length > 0
|
|
219
|
-
? `Selected: ${selectedProducts.join(', ')}`
|
|
220
|
-
: 'No products selected';
|
|
221
|
-
}
|
|
222
|
-
}}
|
|
223
|
-
></dees-shopping-productcard>
|
|
224
|
-
|
|
225
|
-
<dees-shopping-productcard
|
|
226
|
-
.productData=${{
|
|
227
|
-
name: 'DJI Mini 3 Pro',
|
|
228
|
-
category: 'Drones',
|
|
229
|
-
description: 'Lightweight drone with 4K camera',
|
|
230
|
-
price: 759,
|
|
231
|
-
iconName: 'lucide:plane'
|
|
232
|
-
}}
|
|
233
|
-
.selectable=${true}
|
|
234
|
-
.showQuantitySelector=${false}
|
|
235
|
-
@selectionChange=${(e) => {
|
|
236
|
-
const output = document.querySelector('#selection-output');
|
|
237
|
-
if (output) {
|
|
238
|
-
const selectedCards = document.querySelectorAll('dees-shopping-productcard[selectable]');
|
|
239
|
-
const selectedProducts = [];
|
|
240
|
-
selectedCards.forEach((card) => {
|
|
241
|
-
if (card.selected) {
|
|
242
|
-
selectedProducts.push(card.productData.name);
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
output.textContent = selectedProducts.length > 0
|
|
246
|
-
? `Selected: ${selectedProducts.join(', ')}`
|
|
247
|
-
: 'No products selected';
|
|
248
|
-
}
|
|
249
|
-
}}
|
|
250
|
-
></dees-shopping-productcard>
|
|
251
|
-
|
|
252
|
-
<dees-shopping-productcard
|
|
253
|
-
.productData=${{
|
|
254
|
-
name: 'GoPro HERO12',
|
|
255
|
-
category: 'Action Cameras',
|
|
256
|
-
description: '5.3K video with HyperSmooth 6.0',
|
|
257
|
-
price: 399,
|
|
258
|
-
originalPrice: 449,
|
|
259
|
-
iconName: 'lucide:video'
|
|
260
|
-
}}
|
|
261
|
-
.selectable=${true}
|
|
262
|
-
.showQuantitySelector=${false}
|
|
263
|
-
@selectionChange=${(e) => {
|
|
264
|
-
const output = document.querySelector('#selection-output');
|
|
265
|
-
if (output) {
|
|
266
|
-
const selectedCards = document.querySelectorAll('dees-shopping-productcard[selectable]');
|
|
267
|
-
const selectedProducts = [];
|
|
268
|
-
selectedCards.forEach((card) => {
|
|
269
|
-
if (card.selected) {
|
|
270
|
-
selectedProducts.push(card.productData.name);
|
|
271
|
-
}
|
|
272
|
-
});
|
|
273
|
-
output.textContent = selectedProducts.length > 0
|
|
274
|
-
? `Selected: ${selectedProducts.join(', ')}`
|
|
275
|
-
: 'No products selected';
|
|
276
|
-
}
|
|
277
|
-
}}
|
|
278
|
-
></dees-shopping-productcard>
|
|
279
|
-
</div>
|
|
280
|
-
|
|
281
|
-
<div class="selected-products" id="selection-output" style="margin-top: 16px;">
|
|
282
|
-
No products selected
|
|
283
|
-
</div>
|
|
284
|
-
</dees-panel>
|
|
285
|
-
|
|
286
|
-
<dees-panel .title=${'Product Variations'} .subtitle=${'Different states and configurations'}>
|
|
287
|
-
<div class="product-grid">
|
|
288
|
-
<dees-shopping-productcard
|
|
289
|
-
.productData=${{
|
|
290
|
-
name: 'Limited Edition Sneakers',
|
|
291
|
-
category: 'Footwear',
|
|
292
|
-
description: 'Exclusive colorway - Only 500 pairs',
|
|
293
|
-
price: 299,
|
|
294
|
-
iconName: 'lucide:footprints',
|
|
295
|
-
inStock: false,
|
|
296
|
-
stockText: 'Sold Out'
|
|
297
|
-
}}
|
|
298
|
-
.quantity=${0}
|
|
299
|
-
></dees-shopping-productcard>
|
|
300
|
-
|
|
301
|
-
<dees-shopping-productcard
|
|
302
|
-
.productData=${{
|
|
303
|
-
name: 'Minimalist Wallet',
|
|
304
|
-
price: 39.99,
|
|
305
|
-
iconName: 'lucide:wallet'
|
|
306
|
-
}}
|
|
307
|
-
.quantity=${1}
|
|
308
|
-
></dees-shopping-productcard>
|
|
309
|
-
|
|
310
|
-
<dees-shopping-productcard
|
|
311
|
-
.productData=${{
|
|
312
|
-
name: 'Premium Coffee Beans',
|
|
313
|
-
category: 'Food & Beverage',
|
|
314
|
-
description: 'Single origin, medium roast',
|
|
315
|
-
price: 18.50,
|
|
316
|
-
iconName: 'lucide:coffee',
|
|
317
|
-
currency: '€'
|
|
318
|
-
}}
|
|
319
|
-
.quantity=${2}
|
|
320
|
-
></dees-shopping-productcard>
|
|
321
|
-
</div>
|
|
322
|
-
</dees-panel>
|
|
323
|
-
</div>
|
|
324
|
-
</dees-demowrapper>
|
|
325
|
-
`;
|
|
326
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZC5kZW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtc2ltcGxlL2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZC5kZW1vLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sdUNBQXVDLENBQUM7QUFDL0MsT0FBTywrQ0FBK0MsQ0FBQztBQUd2RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7UUFHMUIsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O3dCQW1CYSxVQUFVLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLHNCQUFzQixDQUFDOzhCQUMxRCxVQUFVLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLHNCQUFzQixDQUFDOzs7Ozs7OzttQkFRL0UsVUFBVSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDOzs7Ozs7Ozs7bUJBU25ELFVBQVUsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLENBQUM7Ozs7Ozs7OztrQ0FTckQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQzs7O21CQUd2RSxVQUFVLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUM7Ozs7O3dCQUs5QyxVQUFVLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLHNCQUFzQixDQUFDOzs7bUJBR3JFLFVBQVUsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsd0JBQXdCLENBQUM7O09BRWhGOzs7OzJCQUlvQixxQkFBcUIsY0FBYyxvREFBb0Q7OzsyQkFHdkY7SUFDYixJQUFJLEVBQUUsK0JBQStCO0lBQ3JDLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLFdBQVcsRUFBRSxzREFBc0Q7SUFDbkUsS0FBSyxFQUFFLE1BQU07SUFDYixhQUFhLEVBQUUsTUFBTTtJQUNyQixRQUFRLEVBQUUsbUJBQW1CO0NBQzlCO3dCQUNXLENBQUM7Ozs7MkJBSUU7SUFDYixJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFdBQVcsRUFBRSxpREFBaUQ7SUFDOUQsS0FBSyxFQUFFLE1BQU07SUFDYixRQUFRLEVBQUUsY0FBYztDQUN6Qjt3QkFDVyxDQUFDOzs7OzJCQUlFO0lBQ2IsSUFBSSxFQUFFLFdBQVc7SUFDakIsUUFBUSxFQUFFLGFBQWE7SUFDdkIsS0FBSyxFQUFFLEtBQUs7SUFDWixRQUFRLEVBQUUsWUFBWTtJQUN0QixPQUFPLEVBQUUsS0FBSztDQUNmO3dCQUNXLENBQUM7Ozs7OzJCQUtFLDJCQUEyQixjQUFjLDZDQUE2QyxvQkFBb0IsS0FBSyxFQUFFLFVBQXVCLEVBQUUsRUFBRTtJQUMvSixNQUFNLFFBQVEsR0FBRztRQUNmLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBc0MsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsRUFBQztRQUNqTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQXNDLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSwrQkFBK0IsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsRUFBQztRQUN4TSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQXNDLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGlDQUFpQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLEVBQUM7S0FDdk4sQ0FBQztJQUVGLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxFQUFFO1FBQzdCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUUzQixRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQTRCLENBQUM7WUFDdEYsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztnQkFDdkQsS0FBSyxJQUFJLFFBQVEsQ0FBQztnQkFDbEIsS0FBSyxDQUFDLElBQUksQ0FBQzs7MEJBRUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLFFBQVE7MkJBQ3JDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDOztlQUUvQixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDdEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxTQUFTLEdBQUc7Z0JBQ2hCLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNkLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQywwRkFBMEYsQ0FBQyxDQUFDLENBQUMsRUFBRTs7O3lCQUczRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzs7YUFFNUIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRixpQkFBaUI7SUFDakIsVUFBVSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRW5DLG1CQUFtQjtJQUNuQixVQUFVLENBQUMsZ0JBQWdCLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDOzs7OzJCQUlvQjtJQUNiLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsUUFBUSxFQUFFLFdBQVc7SUFDckIsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFFBQVEsRUFBRSxlQUFlO0NBQzFCO3dCQUNXLENBQUM7Ozs7OzJCQUtFO0lBQ2IsSUFBSSxFQUFFLFlBQVk7SUFDbEIsUUFBUSxFQUFFLFNBQVM7SUFDbkIsV0FBVyxFQUFFLCtCQUErQjtJQUM1QyxLQUFLLEVBQUUsR0FBRztJQUNWLFFBQVEsRUFBRSxlQUFlO0NBQzFCO3dCQUNXLENBQUM7Ozs7OzJCQUtFO0lBQ2IsSUFBSSxFQUFFLGdCQUFnQjtJQUN0QixRQUFRLEVBQUUsYUFBYTtJQUN2QixXQUFXLEVBQUUsaUNBQWlDO0lBQzlDLEtBQUssRUFBRSxHQUFHO0lBQ1YsUUFBUSxFQUFFLGlCQUFpQjtDQUM1Qjt3QkFDVyxDQUFDOzs7Ozs7Ozs7Ozs7MkJBWUUsMEJBQTBCLGNBQWMsOENBQThDOzs7MkJBR3RGO0lBQ2IsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QixRQUFRLEVBQUUsU0FBUztJQUNuQixXQUFXLEVBQUUsOEJBQThCO0lBQzNDLEtBQUssRUFBRSxJQUFJO0lBQ1gsUUFBUSxFQUFFLGVBQWU7Q0FDMUI7MEJBQ2EsSUFBSTtvQ0FDTSxLQUFLOytCQUNWLENBQUMsQ0FBYyxFQUFFLEVBQUU7SUFDcEMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzNELElBQUksTUFBTSxFQUFFLENBQUM7UUFDWCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUN6RixNQUFNLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUNyQyxhQUFxRCxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNsQixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQzlDLENBQUMsQ0FBQyxhQUFhLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM1QyxDQUFDLENBQUMsc0JBQXNCLENBQUM7SUFDN0IsQ0FBQztBQUNILENBQUM7Ozs7MkJBSWM7SUFDYixJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFdBQVcsRUFBRSxrQ0FBa0M7SUFDL0MsS0FBSyxFQUFFLEdBQUc7SUFDVixRQUFRLEVBQUUsY0FBYztDQUN6QjswQkFDYSxJQUFJO29DQUNNLEtBQUs7K0JBQ1YsQ0FBQyxDQUFjLEVBQUUsRUFBRTtJQUNwQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDM0QsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQ3pGLE1BQU0sZ0JBQWdCLEdBQWEsRUFBRSxDQUFDO1FBQ3JDLGFBQXFELENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDOUMsQ0FBQyxDQUFDLGFBQWEsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzVDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQztJQUM3QixDQUFDO0FBQ0gsQ0FBQzs7OzsyQkFJYztJQUNiLElBQUksRUFBRSxjQUFjO0lBQ3BCLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsV0FBVyxFQUFFLGlDQUFpQztJQUM5QyxLQUFLLEVBQUUsR0FBRztJQUNWLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFFBQVEsRUFBRSxjQUFjO0NBQ3pCOzBCQUNhLElBQUk7b0NBQ00sS0FBSzsrQkFDVixDQUFDLENBQWMsRUFBRSxFQUFFO0lBQ3BDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMzRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDekYsTUFBTSxnQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFDckMsYUFBcUQsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0RSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0MsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUM5QyxDQUFDLENBQUMsYUFBYSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO0lBQzdCLENBQUM7QUFDSCxDQUFDOzs7Ozs7Ozs7MkJBU2Msb0JBQW9CLGNBQWMscUNBQXFDOzs7MkJBR3ZFO0lBQ2IsSUFBSSxFQUFFLDBCQUEwQjtJQUNoQyxRQUFRLEVBQUUsVUFBVTtJQUNwQixXQUFXLEVBQUUscUNBQXFDO0lBQ2xELEtBQUssRUFBRSxHQUFHO0lBQ1YsUUFBUSxFQUFFLG1CQUFtQjtJQUM3QixPQUFPLEVBQUUsS0FBSztJQUNkLFNBQVMsRUFBRSxVQUFVO0NBQ3RCO3dCQUNXLENBQUM7Ozs7MkJBSUU7SUFDYixJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLEtBQUssRUFBRSxLQUFLO0lBQ1osUUFBUSxFQUFFLGVBQWU7Q0FDMUI7d0JBQ1csQ0FBQzs7OzsyQkFJRTtJQUNiLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsUUFBUSxFQUFFLGlCQUFpQjtJQUMzQixXQUFXLEVBQUUsNkJBQTZCO0lBQzFDLEtBQUssRUFBRSxLQUFLO0lBQ1osUUFBUSxFQUFFLGVBQWU7SUFDekIsUUFBUSxFQUFFLEdBQUc7Q0FDZDt3QkFDVyxDQUFDOzs7Ozs7Q0FNeEIsQ0FBQyJ9
|
|
152
|
+
return DeesDemoSimpleShop = _classThis;
|
|
153
|
+
})();
|
|
154
|
+
export const demoFunc = () => demoPage('Good things for good work.', 'A considered set of desk essentials. Find your favorites and build a kit that works together.', html `<dees-demo-simple-shop></dees-demo-simple-shop>`);
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZC5kZW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtc2ltcGxlL2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZC5kZW1vLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFdkQsT0FBTyxzRUFBc0UsQ0FBQztBQUM5RSxPQUFPLGlEQUFpRCxDQUFDO0FBRXpELG9GQUFvRjtBQUNwRixNQUFNLFlBQVksR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFLENBQUMsc0JBQXNCLGtCQUFrQixDQUFDLGdIQUFnSCxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUM7QUFDdE4sTUFBTSxRQUFRLEdBQW1CO0lBQy9CLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1DQUFtQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQywyY0FBMmMsQ0FBQyxFQUFFO0lBQ3RvQixFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSx3Q0FBd0MsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxRQUFR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
|