@feedlog-ai/webcomponents 0.0.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.
Files changed (82) hide show
  1. package/dist/cjs/feedlog-badge_3.cjs.entry.js +119 -0
  2. package/dist/cjs/feedlog-card.cjs.entry.js +17 -0
  3. package/dist/cjs/feedlog-github-issues-client.cjs.entry.js +520 -0
  4. package/dist/cjs/feedlog-github-issues.cjs.entry.js +81 -0
  5. package/dist/cjs/feedlog-toolkit.cjs.js +24 -0
  6. package/dist/cjs/index-5lluu_3h.js +3144 -0
  7. package/dist/cjs/index.cjs.js +2 -0
  8. package/dist/cjs/loader.cjs.js +12 -0
  9. package/dist/collection/collection-manifest.json +17 -0
  10. package/dist/collection/components/feedlog-badge/feedlog-badge.css +86 -0
  11. package/dist/collection/components/feedlog-badge/feedlog-badge.js +53 -0
  12. package/dist/collection/components/feedlog-badge/feedlog-badge.stories.js +38 -0
  13. package/dist/collection/components/feedlog-button/feedlog-button.css +155 -0
  14. package/dist/collection/components/feedlog-button/feedlog-button.js +154 -0
  15. package/dist/collection/components/feedlog-button/feedlog-button.stories.js +82 -0
  16. package/dist/collection/components/feedlog-card/feedlog-card.css +47 -0
  17. package/dist/collection/components/feedlog-card/feedlog-card.js +23 -0
  18. package/dist/collection/components/feedlog-card/feedlog-card.stories.js +22 -0
  19. package/dist/collection/components/feedlog-github-issues/feedlog-github-issues.css +69 -0
  20. package/dist/collection/components/feedlog-github-issues/feedlog-github-issues.js +308 -0
  21. package/dist/collection/components/feedlog-github-issues/feedlog-github-issues.stories.js +211 -0
  22. package/dist/collection/components/feedlog-github-issues-client/feedlog-github-issues-client.js +395 -0
  23. package/dist/collection/components/feedlog-issues-list/feedlog-issues-list.css +218 -0
  24. package/dist/collection/components/feedlog-issues-list/feedlog-issues-list.js +139 -0
  25. package/dist/collection/components/index.js +6 -0
  26. package/dist/collection/index.js +1 -0
  27. package/dist/components/feedlog-badge.d.ts +11 -0
  28. package/dist/components/feedlog-badge.js +1 -0
  29. package/dist/components/feedlog-button.d.ts +11 -0
  30. package/dist/components/feedlog-button.js +1 -0
  31. package/dist/components/feedlog-card.d.ts +11 -0
  32. package/dist/components/feedlog-card.js +1 -0
  33. package/dist/components/feedlog-github-issues-client.d.ts +11 -0
  34. package/dist/components/feedlog-github-issues-client.js +1 -0
  35. package/dist/components/feedlog-github-issues.d.ts +11 -0
  36. package/dist/components/feedlog-github-issues.js +1 -0
  37. package/dist/components/feedlog-issues-list.d.ts +11 -0
  38. package/dist/components/feedlog-issues-list.js +1 -0
  39. package/dist/components/index.d.ts +35 -0
  40. package/dist/components/index.js +1 -0
  41. package/dist/components/p-CHtSMTyP.js +1 -0
  42. package/dist/components/p-CPOiBAxu.js +1 -0
  43. package/dist/components/p-DMcNh5Ys.js +1 -0
  44. package/dist/components/p-DMdb-G26.js +1 -0
  45. package/dist/esm/feedlog-badge_3.entry.js +115 -0
  46. package/dist/esm/feedlog-card.entry.js +15 -0
  47. package/dist/esm/feedlog-github-issues-client.entry.js +518 -0
  48. package/dist/esm/feedlog-github-issues.entry.js +79 -0
  49. package/dist/esm/feedlog-toolkit.js +20 -0
  50. package/dist/esm/index-CkB6Yzeb.js +3135 -0
  51. package/dist/esm/index.js +1 -0
  52. package/dist/esm/loader.js +10 -0
  53. package/dist/feedlog-toolkit/feedlog-toolkit.css +1 -0
  54. package/dist/feedlog-toolkit/feedlog-toolkit.esm.js +1 -0
  55. package/dist/feedlog-toolkit/index.esm.js +0 -0
  56. package/dist/feedlog-toolkit/p-2f7954f7.entry.js +1 -0
  57. package/dist/feedlog-toolkit/p-399e0281.entry.js +1 -0
  58. package/dist/feedlog-toolkit/p-CkB6Yzeb.js +2 -0
  59. package/dist/feedlog-toolkit/p-b3d26272.entry.js +1 -0
  60. package/dist/feedlog-toolkit/p-cdb2b098.entry.js +1 -0
  61. package/dist/index.cjs.js +1 -0
  62. package/dist/index.js +1 -0
  63. package/dist/types/components/feedlog-badge/feedlog-badge.d.ts +12 -0
  64. package/dist/types/components/feedlog-badge/feedlog-badge.stories.d.ts +9 -0
  65. package/dist/types/components/feedlog-button/feedlog-button.d.ts +30 -0
  66. package/dist/types/components/feedlog-button/feedlog-button.stories.d.ts +13 -0
  67. package/dist/types/components/feedlog-card/feedlog-card.d.ts +8 -0
  68. package/dist/types/components/feedlog-card/feedlog-card.stories.d.ts +9 -0
  69. package/dist/types/components/feedlog-github-issues/feedlog-github-issues.d.ts +67 -0
  70. package/dist/types/components/feedlog-github-issues/feedlog-github-issues.stories.d.ts +11 -0
  71. package/dist/types/components/feedlog-github-issues-client/feedlog-github-issues-client.d.ts +77 -0
  72. package/dist/types/components/feedlog-issues-list/feedlog-issues-list.d.ts +31 -0
  73. package/dist/types/components/index.d.ts +6 -0
  74. package/dist/types/components.d.ts +532 -0
  75. package/dist/types/index.d.ts +1 -0
  76. package/dist/types/stencil-public-runtime.d.ts +1810 -0
  77. package/loader/cdn.js +1 -0
  78. package/loader/index.cjs.js +1 -0
  79. package/loader/index.d.ts +24 -0
  80. package/loader/index.es2017.js +1 -0
  81. package/loader/index.js +2 -0
  82. package/package.json +48 -0
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-5lluu_3h.js');
4
+
5
+ const defineCustomElements = async (win, options) => {
6
+ if (typeof window === 'undefined') return undefined;
7
+ await index.globalScripts();
8
+ return index.bootstrapLazy([["feedlog-card.cjs",[[257,"feedlog-card"]]],["feedlog-badge_3.cjs",[[1,"feedlog-issues-list",{"issues":[16],"theme":[1]}],[257,"feedlog-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1]}],[257,"feedlog-badge",{"variant":[1]}]]],["feedlog-github-issues.cjs",[[1,"feedlog-github-issues",{"issues":[16],"maxWidth":[1,"max-width"],"theme":[1025],"loading":[4],"error":[1],"showThemeToggle":[4,"show-theme-toggle"],"hasMore":[4,"has-more"],"isLoadingMore":[4,"is-loading-more"],"currentTheme":[32]}]]],["feedlog-github-issues-client.cjs",[[1,"feedlog-github-issues-client",{"repos":[1],"type":[1],"limit":[2],"endpoint":[1],"maxWidth":[1,"max-width"],"theme":[1],"showThemeToggle":[4,"show-theme-toggle"],"issues":[32],"loading":[32],"error":[32],"cursor":[32],"hasMore":[32],"isLoadingMore":[32]}]]]], options);
9
+ };
10
+
11
+ exports.setNonce = index.setNonce;
12
+ exports.defineCustomElements = defineCustomElements;
@@ -0,0 +1,17 @@
1
+ {
2
+ "entries": [
3
+ "components/feedlog-card/feedlog-card.js",
4
+ "components/feedlog-badge/feedlog-badge.js",
5
+ "components/feedlog-button/feedlog-button.js",
6
+ "components/feedlog-github-issues/feedlog-github-issues.js",
7
+ "components/feedlog-github-issues-client/feedlog-github-issues-client.js",
8
+ "components/feedlog-issues-list/feedlog-issues-list.js"
9
+ ],
10
+ "compiler": {
11
+ "name": "@stencil/core",
12
+ "version": "4.40.1",
13
+ "typescriptVersion": "5.8.3"
14
+ },
15
+ "collections": [],
16
+ "bundles": []
17
+ }
@@ -0,0 +1,86 @@
1
+ :host {
2
+ display: inline-block;
3
+
4
+ /* Light theme defaults */
5
+ --feedlog-badge-font-size: 0.75rem;
6
+ --feedlog-badge-font-weight: 500;
7
+ --feedlog-badge-padding-x: 0.5rem;
8
+ --feedlog-badge-padding-y: 0.125rem;
9
+ --feedlog-badge-border-radius: calc(0.625rem - 2px);
10
+
11
+ /* Default/Enhancement variant colors */
12
+ --feedlog-blue-500: oklch(0.623 0.214 259.815);
13
+ --feedlog-blue-600: oklch(0.546 0.245 262.881);
14
+ --feedlog-blue-700: oklch(0.488 0.243 264.376);
15
+
16
+ /* Destructive variant colors */
17
+ --feedlog-destructive: #d4183d;
18
+ --feedlog-destructive-hover: #b91c1c;
19
+ }
20
+
21
+ :host(.dark) {
22
+ /* Dark theme values */
23
+ --feedlog-blue-500: oklch(0.623 0.214 259.815);
24
+ --feedlog-blue-600: oklch(0.546 0.245 262.881);
25
+ --feedlog-destructive: oklch(0.396 0.141 25.723);
26
+ --feedlog-destructive-hover: oklch(0.45 0.16 25.723);
27
+ }
28
+
29
+ .badge {
30
+ display: inline-flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ font-size: var(--feedlog-badge-font-size);
34
+ font-weight: var(--feedlog-badge-font-weight);
35
+ padding: var(--feedlog-badge-padding-y) var(--feedlog-badge-padding-x);
36
+ border-radius: var(--feedlog-badge-border-radius);
37
+ white-space: nowrap;
38
+ transition: background-color 0.15s ease;
39
+ font-family: inherit;
40
+ }
41
+
42
+ /* Default variant - uses blue like enhancement */
43
+ .badge-default {
44
+ background-color: var(--feedlog-blue-600);
45
+ color: #ffffff;
46
+ }
47
+
48
+ .badge-default:hover {
49
+ background-color: var(--feedlog-blue-700);
50
+ }
51
+
52
+ :host(.dark) .badge-default {
53
+ background-color: var(--feedlog-blue-500);
54
+ }
55
+
56
+ :host(.dark) .badge-default:hover {
57
+ background-color: var(--feedlog-blue-600);
58
+ }
59
+
60
+ /* Enhancement variant - blue styling */
61
+ .badge-enhancement {
62
+ background-color: var(--feedlog-blue-600);
63
+ color: #ffffff;
64
+ }
65
+
66
+ .badge-enhancement:hover {
67
+ background-color: var(--feedlog-blue-700);
68
+ }
69
+
70
+ :host(.dark) .badge-enhancement {
71
+ background-color: var(--feedlog-blue-500);
72
+ }
73
+
74
+ :host(.dark) .badge-enhancement:hover {
75
+ background-color: var(--feedlog-blue-600);
76
+ }
77
+
78
+ /* Destructive variant - red/danger styling */
79
+ .badge-destructive {
80
+ background-color: var(--feedlog-destructive);
81
+ color: #ffffff;
82
+ }
83
+
84
+ .badge-destructive:hover {
85
+ background-color: var(--feedlog-destructive-hover);
86
+ }
@@ -0,0 +1,53 @@
1
+ import { h } from "@stencil/core";
2
+ /**
3
+ * Feedlog Badge Component
4
+ *
5
+ * A label component with variant support for different styles.
6
+ */
7
+ export class FeedlogBadge {
8
+ constructor() {
9
+ /**
10
+ * Badge variant style
11
+ */
12
+ this.variant = 'default';
13
+ }
14
+ render() {
15
+ return (h("span", { key: '482a74feb8d254a75383c30c7b39790edd04a05b', class: `badge badge-${this.variant}` }, h("slot", { key: '8d2db3fe0c2bc58e17829db4de7d0233189bb101' })));
16
+ }
17
+ static get is() { return "feedlog-badge"; }
18
+ static get encapsulation() { return "shadow"; }
19
+ static get originalStyleUrls() {
20
+ return {
21
+ "$": ["feedlog-badge.css"]
22
+ };
23
+ }
24
+ static get styleUrls() {
25
+ return {
26
+ "$": ["feedlog-badge.css"]
27
+ };
28
+ }
29
+ static get properties() {
30
+ return {
31
+ "variant": {
32
+ "type": "string",
33
+ "mutable": false,
34
+ "complexType": {
35
+ "original": "'default' | 'destructive' | 'enhancement'",
36
+ "resolved": "\"default\" | \"destructive\" | \"enhancement\"",
37
+ "references": {}
38
+ },
39
+ "required": false,
40
+ "optional": false,
41
+ "docs": {
42
+ "tags": [],
43
+ "text": "Badge variant style"
44
+ },
45
+ "getter": false,
46
+ "setter": false,
47
+ "reflect": false,
48
+ "attribute": "variant",
49
+ "defaultValue": "'default'"
50
+ }
51
+ };
52
+ }
53
+ }
@@ -0,0 +1,38 @@
1
+ import { h } from "@stencil/core";
2
+ import { FeedlogBadge } from "./feedlog-badge";
3
+ const meta = {
4
+ title: 'Components/Badge',
5
+ component: FeedlogBadge,
6
+ parameters: {
7
+ layout: 'centered',
8
+ },
9
+ argTypes: {
10
+ variant: {
11
+ control: 'select',
12
+ options: ['default', 'destructive'],
13
+ description: 'Badge variant style',
14
+ },
15
+ },
16
+ args: {
17
+ variant: 'default',
18
+ },
19
+ };
20
+ export default meta;
21
+ export const Default = {
22
+ args: {
23
+ variant: 'default',
24
+ },
25
+ render: props => h("feedlog-badge", Object.assign({}, props), "Enhancement"),
26
+ };
27
+ export const Destructive = {
28
+ args: {
29
+ variant: 'destructive',
30
+ },
31
+ render: props => h("feedlog-badge", Object.assign({}, props), "Bug"),
32
+ };
33
+ export const AllVariants = {
34
+ render: () => (h("div", { style: { display: 'flex', gap: '1rem' } }, h("feedlog-badge", { variant: "default" }, "Default"), h("feedlog-badge", { variant: "destructive" }, "Destructive"))),
35
+ };
36
+ export const Labels = {
37
+ render: () => (h("div", { style: { display: 'flex', gap: '0.5rem', flexWrap: 'wrap' } }, h("feedlog-badge", null, "New"), h("feedlog-badge", null, "Feature"), h("feedlog-badge", null, "Enhancement"), h("feedlog-badge", { variant: "destructive" }, "Bug"), h("feedlog-badge", { variant: "destructive" }, "Critical"))),
38
+ };
@@ -0,0 +1,155 @@
1
+ :host {
2
+ display: inline-block;
3
+ font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
4
+
5
+ /* Light theme defaults */
6
+ --feedlog-background: #ffffff;
7
+ --feedlog-foreground: oklch(0.145 0 0);
8
+ --feedlog-primary: #030213;
9
+ --feedlog-primary-foreground: oklch(1 0 0);
10
+ --feedlog-secondary: oklch(0.95 0.0058 264.53);
11
+ --feedlog-secondary-foreground: #030213;
12
+ --feedlog-muted: #ececf0;
13
+ --feedlog-accent: #e9ebef;
14
+ --feedlog-accent-foreground: #030213;
15
+ --feedlog-border: rgba(0, 0, 0, 0.1);
16
+ --feedlog-input: transparent;
17
+ --feedlog-ring: oklch(0.708 0 0);
18
+ --feedlog-destructive: #d4183d;
19
+ --feedlog-radius: 0.625rem;
20
+ }
21
+
22
+ :host(.dark) {
23
+ /* Dark theme values */
24
+ --feedlog-background: oklch(0.145 0 0);
25
+ --feedlog-foreground: oklch(0.985 0 0);
26
+ --feedlog-primary: oklch(0.985 0 0);
27
+ --feedlog-primary-foreground: oklch(0.205 0 0);
28
+ --feedlog-secondary: oklch(0.269 0 0);
29
+ --feedlog-secondary-foreground: oklch(0.985 0 0);
30
+ --feedlog-muted: oklch(0.269 0 0);
31
+ --feedlog-accent: oklch(0.269 0 0);
32
+ --feedlog-accent-foreground: oklch(0.985 0 0);
33
+ --feedlog-border: oklch(0.269 0 0);
34
+ --feedlog-input: oklch(0.269 0 0);
35
+ --feedlog-ring: oklch(0.439 0 0);
36
+ --feedlog-destructive: oklch(0.396 0.141 25.723);
37
+ }
38
+
39
+ button {
40
+ display: inline-flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ gap: 0.5rem;
44
+ white-space: nowrap;
45
+ font-size: 0.875rem;
46
+ font-weight: 500;
47
+ border-radius: calc(var(--feedlog-radius) - 2px);
48
+ border: 1px solid transparent;
49
+ cursor: pointer;
50
+ transition: all 0.15s ease;
51
+ outline: none;
52
+ font-family: inherit;
53
+ }
54
+
55
+ button:disabled {
56
+ opacity: 0.5;
57
+ cursor: not-allowed;
58
+ pointer-events: none;
59
+ }
60
+
61
+ button:focus-visible {
62
+ border-color: var(--feedlog-ring);
63
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--feedlog-ring) 50%, transparent);
64
+ }
65
+
66
+ /* Default variant */
67
+ .button-default {
68
+ background-color: var(--feedlog-primary);
69
+ color: var(--feedlog-primary-foreground);
70
+ border-color: transparent;
71
+ }
72
+
73
+ .button-default:hover:not(:disabled) {
74
+ background-color: color-mix(in oklab, var(--feedlog-primary) 90%, transparent);
75
+ }
76
+
77
+ /* Outline variant */
78
+ .button-outline {
79
+ background-color: var(--feedlog-background);
80
+ color: var(--feedlog-foreground);
81
+ border-color: var(--feedlog-border);
82
+ }
83
+
84
+ .button-outline:hover:not(:disabled) {
85
+ background-color: var(--feedlog-accent);
86
+ color: var(--feedlog-accent-foreground);
87
+ }
88
+
89
+ :host(.dark) .button-outline {
90
+ background-color: transparent;
91
+ border-color: var(--feedlog-input);
92
+ }
93
+
94
+ :host(.dark) .button-outline:hover:not(:disabled) {
95
+ background-color: color-mix(in oklab, var(--feedlog-accent) 50%, transparent);
96
+ }
97
+
98
+ /* Ghost variant */
99
+ .button-ghost {
100
+ background-color: transparent;
101
+ color: var(--feedlog-foreground);
102
+ border-color: transparent;
103
+ }
104
+
105
+ .button-ghost:hover:not(:disabled) {
106
+ background-color: var(--feedlog-accent);
107
+ color: var(--feedlog-accent-foreground);
108
+ }
109
+
110
+ /* Destructive variant */
111
+ .button-destructive {
112
+ background-color: var(--feedlog-destructive);
113
+ color: #ffffff;
114
+ border-color: transparent;
115
+ }
116
+
117
+ .button-destructive:hover:not(:disabled) {
118
+ background-color: color-mix(in oklab, var(--feedlog-destructive) 90%, transparent);
119
+ }
120
+
121
+ :host(.dark) .button-destructive {
122
+ background-color: color-mix(in oklab, var(--feedlog-destructive) 60%, transparent);
123
+ }
124
+
125
+ /* Size variants */
126
+ .button-size-sm {
127
+ height: 2rem;
128
+ padding: 0 0.75rem;
129
+ font-size: 0.75rem;
130
+ }
131
+
132
+ /* Icon-only small buttons */
133
+ .button-size-sm:has(svg:only-child) {
134
+ width: 2rem;
135
+ padding: 0;
136
+ }
137
+
138
+ .button-size-default {
139
+ height: 2.25rem;
140
+ padding: 0.5rem 1rem;
141
+ }
142
+
143
+ .button-size-lg {
144
+ height: 2.5rem;
145
+ padding: 0.625rem 1.5rem;
146
+ font-size: 1rem;
147
+ }
148
+
149
+ /* SVG icons styling */
150
+ button svg {
151
+ pointer-events: none;
152
+ flex-shrink: 0;
153
+ width: 1rem;
154
+ height: 1rem;
155
+ }
@@ -0,0 +1,154 @@
1
+ import { h } from "@stencil/core";
2
+ /**
3
+ * Feedlog Button Component
4
+ *
5
+ * A button component with variant and size support.
6
+ */
7
+ export class FeedlogButton {
8
+ constructor() {
9
+ /**
10
+ * Button variant style
11
+ */
12
+ this.variant = 'default';
13
+ /**
14
+ * Button size
15
+ */
16
+ this.size = 'default';
17
+ /**
18
+ * Disabled state
19
+ */
20
+ this.disabled = false;
21
+ /**
22
+ * Button type
23
+ */
24
+ this.type = 'button';
25
+ this.handleClick = (event) => {
26
+ if (!this.disabled) {
27
+ this.feedlogClick.emit(event);
28
+ }
29
+ };
30
+ }
31
+ render() {
32
+ const sizeClass = this.size === 'default' ? 'button-size-default' : `button-size-${this.size}`;
33
+ return (h("button", { key: '6cdd8347def51592707b1fb9aab0dc565ca0f76f', type: this.type, class: `button button-${this.variant} ${sizeClass}`, disabled: this.disabled, onClick: this.handleClick }, h("slot", { key: '3f3845195fa4b8a551473ecf1d5702321a31763e' })));
34
+ }
35
+ static get is() { return "feedlog-button"; }
36
+ static get encapsulation() { return "shadow"; }
37
+ static get originalStyleUrls() {
38
+ return {
39
+ "$": ["feedlog-button.css"]
40
+ };
41
+ }
42
+ static get styleUrls() {
43
+ return {
44
+ "$": ["feedlog-button.css"]
45
+ };
46
+ }
47
+ static get properties() {
48
+ return {
49
+ "variant": {
50
+ "type": "string",
51
+ "mutable": false,
52
+ "complexType": {
53
+ "original": "'default' | 'outline' | 'ghost' | 'destructive'",
54
+ "resolved": "\"default\" | \"destructive\" | \"ghost\" | \"outline\"",
55
+ "references": {}
56
+ },
57
+ "required": false,
58
+ "optional": false,
59
+ "docs": {
60
+ "tags": [],
61
+ "text": "Button variant style"
62
+ },
63
+ "getter": false,
64
+ "setter": false,
65
+ "reflect": false,
66
+ "attribute": "variant",
67
+ "defaultValue": "'default'"
68
+ },
69
+ "size": {
70
+ "type": "string",
71
+ "mutable": false,
72
+ "complexType": {
73
+ "original": "'default' | 'sm' | 'lg'",
74
+ "resolved": "\"default\" | \"lg\" | \"sm\"",
75
+ "references": {}
76
+ },
77
+ "required": false,
78
+ "optional": false,
79
+ "docs": {
80
+ "tags": [],
81
+ "text": "Button size"
82
+ },
83
+ "getter": false,
84
+ "setter": false,
85
+ "reflect": false,
86
+ "attribute": "size",
87
+ "defaultValue": "'default'"
88
+ },
89
+ "disabled": {
90
+ "type": "boolean",
91
+ "mutable": false,
92
+ "complexType": {
93
+ "original": "boolean",
94
+ "resolved": "boolean",
95
+ "references": {}
96
+ },
97
+ "required": false,
98
+ "optional": false,
99
+ "docs": {
100
+ "tags": [],
101
+ "text": "Disabled state"
102
+ },
103
+ "getter": false,
104
+ "setter": false,
105
+ "reflect": false,
106
+ "attribute": "disabled",
107
+ "defaultValue": "false"
108
+ },
109
+ "type": {
110
+ "type": "string",
111
+ "mutable": false,
112
+ "complexType": {
113
+ "original": "'button' | 'submit' | 'reset'",
114
+ "resolved": "\"button\" | \"reset\" | \"submit\"",
115
+ "references": {}
116
+ },
117
+ "required": false,
118
+ "optional": false,
119
+ "docs": {
120
+ "tags": [],
121
+ "text": "Button type"
122
+ },
123
+ "getter": false,
124
+ "setter": false,
125
+ "reflect": false,
126
+ "attribute": "type",
127
+ "defaultValue": "'button'"
128
+ }
129
+ };
130
+ }
131
+ static get events() {
132
+ return [{
133
+ "method": "feedlogClick",
134
+ "name": "feedlogClick",
135
+ "bubbles": true,
136
+ "cancelable": true,
137
+ "composed": true,
138
+ "docs": {
139
+ "tags": [],
140
+ "text": "Event emitted when button is clicked"
141
+ },
142
+ "complexType": {
143
+ "original": "MouseEvent",
144
+ "resolved": "MouseEvent",
145
+ "references": {
146
+ "MouseEvent": {
147
+ "location": "global",
148
+ "id": "global::MouseEvent"
149
+ }
150
+ }
151
+ }
152
+ }];
153
+ }
154
+ }
@@ -0,0 +1,82 @@
1
+ import { h } from "@stencil/core";
2
+ import { FeedlogButton } from "./feedlog-button";
3
+ const meta = {
4
+ title: 'Components/Button',
5
+ component: FeedlogButton,
6
+ parameters: {
7
+ layout: 'centered',
8
+ },
9
+ argTypes: {
10
+ variant: {
11
+ control: 'select',
12
+ options: ['default', 'outline', 'ghost', 'destructive'],
13
+ description: 'Button variant style',
14
+ },
15
+ size: {
16
+ control: 'select',
17
+ options: ['default', 'sm', 'lg'],
18
+ description: 'Button size',
19
+ },
20
+ disabled: {
21
+ control: 'boolean',
22
+ description: 'Disabled state',
23
+ },
24
+ type: {
25
+ control: 'select',
26
+ options: ['button', 'submit', 'reset'],
27
+ description: 'Button type',
28
+ },
29
+ },
30
+ args: {
31
+ variant: 'default',
32
+ size: 'default',
33
+ disabled: false,
34
+ type: 'button',
35
+ },
36
+ };
37
+ export default meta;
38
+ export const Default = {
39
+ args: {
40
+ variant: 'default',
41
+ },
42
+ render: props => h("feedlog-button", Object.assign({}, props), "Click me"),
43
+ };
44
+ export const Outline = {
45
+ args: {
46
+ variant: 'outline',
47
+ },
48
+ render: props => h("feedlog-button", Object.assign({}, props), "Outline Button"),
49
+ };
50
+ export const Ghost = {
51
+ args: {
52
+ variant: 'ghost',
53
+ },
54
+ render: props => h("feedlog-button", Object.assign({}, props), "Ghost Button"),
55
+ };
56
+ export const Destructive = {
57
+ args: {
58
+ variant: 'destructive',
59
+ },
60
+ render: props => h("feedlog-button", Object.assign({}, props), "Delete"),
61
+ };
62
+ export const Small = {
63
+ args: {
64
+ size: 'sm',
65
+ },
66
+ render: props => h("feedlog-button", Object.assign({}, props), "Small Button"),
67
+ };
68
+ export const Large = {
69
+ args: {
70
+ size: 'lg',
71
+ },
72
+ render: props => h("feedlog-button", Object.assign({}, props), "Large Button"),
73
+ };
74
+ export const Disabled = {
75
+ args: {
76
+ disabled: true,
77
+ },
78
+ render: props => h("feedlog-button", Object.assign({}, props), "Disabled"),
79
+ };
80
+ export const AllVariants = {
81
+ render: () => (h("div", { style: { display: 'flex', gap: '1rem', flexWrap: 'wrap' } }, h("feedlog-button", { variant: "default" }, "Default"), h("feedlog-button", { variant: "outline" }, "Outline"), h("feedlog-button", { variant: "ghost" }, "Ghost"), h("feedlog-button", { variant: "destructive" }, "Destructive"))),
82
+ };
@@ -0,0 +1,47 @@
1
+ :host {
2
+ display: block;
3
+ font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
4
+
5
+ /* Light theme defaults */
6
+ --feedlog-card: #ffffff;
7
+ --feedlog-card-foreground: oklch(0.145 0 0);
8
+ --feedlog-border: rgba(0, 0, 0, 0.1);
9
+ --feedlog-radius: 0.625rem;
10
+ --feedlog-card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
11
+ --feedlog-card-hover-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
12
+ }
13
+
14
+ :host(.dark) {
15
+ /* Dark theme values */
16
+ --feedlog-card: oklch(0.145 0 0);
17
+ --feedlog-card-foreground: oklch(0.985 0 0);
18
+ --feedlog-border: oklch(0.269 0 0);
19
+ --feedlog-card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
20
+ --feedlog-card-hover-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -4px rgba(0, 0, 0, 0.3);
21
+ }
22
+
23
+ .feedlog-card {
24
+ background-color: var(--feedlog-card);
25
+ color: var(--feedlog-card-foreground);
26
+ border: 1px solid var(--feedlog-border);
27
+ border-radius: var(--feedlog-radius);
28
+ box-shadow: var(--feedlog-card-shadow);
29
+ transition: box-shadow 0.15s ease;
30
+ position: relative;
31
+ }
32
+
33
+ .feedlog-card:hover {
34
+ box-shadow: var(--feedlog-card-hover-shadow);
35
+ }
36
+
37
+ ::slotted([slot="header"]) {
38
+ display: block;
39
+ }
40
+
41
+ ::slotted([slot="content"]) {
42
+ display: block;
43
+ }
44
+
45
+ ::slotted([slot="footer"]) {
46
+ display: block;
47
+ }
@@ -0,0 +1,23 @@
1
+ import { h } from "@stencil/core";
2
+ /**
3
+ * Feedlog Card Component
4
+ *
5
+ * A reusable card container component with header and content areas.
6
+ */
7
+ export class FeedlogCard {
8
+ render() {
9
+ return (h("div", { key: '293a80e66adedfc1af29daf72390a4f464321b96', class: "feedlog-card" }, h("slot", { key: 'b7e5a827f89035e791d9c756db0f66198e6c5a38', name: "header" }), h("slot", { key: 'da89fee0a01068c8438564848f218faa9c5d849e', name: "content" }), h("slot", { key: '30b05e80e4189c0f73810a48f64e072dfac83267', name: "footer" })));
10
+ }
11
+ static get is() { return "feedlog-card"; }
12
+ static get encapsulation() { return "shadow"; }
13
+ static get originalStyleUrls() {
14
+ return {
15
+ "$": ["feedlog-card.css"]
16
+ };
17
+ }
18
+ static get styleUrls() {
19
+ return {
20
+ "$": ["feedlog-card.css"]
21
+ };
22
+ }
23
+ }