blob: 4405a9eb0018d4b5cb8df01ff2896945496afab7 [file] [log] [blame]
bankseand52d39d2025-07-20 14:57:38 -07001import { html } from "lit";
Philip Zeyliger254c49f2025-07-17 17:26:24 -07002import { customElement, state } from "lit/decorators.js";
3import { MockGitDataService } from "./mock-git-data-service.js";
4import "../sketch-push-button.js";
bankseand52d39d2025-07-20 14:57:38 -07005import { SketchTailwindElement } from "../sketch-tailwind-element.js";
Philip Zeyliger254c49f2025-07-17 17:26:24 -07006
7@customElement("sketch-push-button-demo")
bankseand52d39d2025-07-20 14:57:38 -07008export class SketchPushButtonDemo extends SketchTailwindElement {
Philip Zeyliger254c49f2025-07-17 17:26:24 -07009 @state()
10 private _gitDataService = new MockGitDataService();
11
Philip Zeyliger254c49f2025-07-17 17:26:24 -070012 render() {
13 return html`
14 <div
banksean3d1308e2025-07-29 17:20:10 +000015 class="p-4 bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 max-w-md mx-auto"
Philip Zeyliger254c49f2025-07-17 17:26:24 -070016 >
banksean3d1308e2025-07-29 17:20:10 +000017 <h2 class="text-lg font-semibold mb-4 text-gray-900 dark:text-gray-100">
18 Push Button Demo
19 </h2>
Philip Zeyliger254c49f2025-07-17 17:26:24 -070020
21 <div class="mb-4">
banksean3d1308e2025-07-29 17:20:10 +000022 <p class="text-sm text-gray-600 dark:text-gray-300 mb-2">
Philip Zeyliger254c49f2025-07-17 17:26:24 -070023 Test the push button component:
24 </p>
25 <sketch-push-button></sketch-push-button>
26 </div>
27
banksean3d1308e2025-07-29 17:20:10 +000028 <div class="text-xs text-gray-500 dark:text-gray-400">
Philip Zeyliger254c49f2025-07-17 17:26:24 -070029 <p>Click the push button to test:</p>
30 <ul class="list-disc list-inside mt-1">
31 <li>Modal opens with git information</li>
32 <li>Input fields can be disabled during loading</li>
33 <li>Buttons show individual spinners</li>
34 <li>No full modal overwrite during operations</li>
35 </ul>
36 </div>
37 </div>
38 `;
39 }
40}
41
42declare global {
43 interface HTMLElementTagNameMap {
44 "sketch-push-button-demo": SketchPushButtonDemo;
45 }
46}