angular-latest 0.0.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.
Files changed (139) hide show
  1. package/.cache/storybook/default/dev-server/a5a8bf6e622aef57065c6498611f40c911543d7d-3920d97c51b8ad2521918fb1205babd22b0ed3d7 +1 -0
  2. package/.cache/storybook/default/dev-server/a5a8bf6e622aef57065c6498611f40c911543d7d-43fdebe5fc35e4e9fabee9a83c7faea931b05ea0 +1 -0
  3. package/.storybook/main.ts +19 -0
  4. package/.storybook/preview.ts +17 -0
  5. package/.storybook/tsconfig.doc.json +10 -0
  6. package/.storybook/tsconfig.json +11 -0
  7. package/.storybook/typings.d.ts +4 -0
  8. package/.vscode/extensions.json +4 -0
  9. package/.vscode/launch.json +13 -0
  10. package/.vscode/tasks.json +24 -0
  11. package/README.md +27 -0
  12. package/angular.json +139 -0
  13. package/documentation.json +552 -0
  14. package/package.json +42 -0
  15. package/src/app/app.component.ts +17 -0
  16. package/src/app/app.config.ts +8 -0
  17. package/src/app/app.routes.ts +3 -0
  18. package/src/app/components/loader/loader.component.css +21 -0
  19. package/src/app/components/loader/loader.component.html +1 -0
  20. package/src/app/components/loader/loader.component.ts +10 -0
  21. package/src/assets/.gitkeep +0 -0
  22. package/src/favicon.ico +0 -0
  23. package/src/index.html +13 -0
  24. package/src/main.ts +6 -0
  25. package/src/stories/.eslintrc.json +5 -0
  26. package/src/stories/Configure.mdx +364 -0
  27. package/src/stories/assets/accessibility.png +0 -0
  28. package/src/stories/assets/accessibility.svg +5 -0
  29. package/src/stories/assets/addon-library.png +0 -0
  30. package/src/stories/assets/assets.png +0 -0
  31. package/src/stories/assets/avif-test-image.avif +0 -0
  32. package/src/stories/assets/context.png +0 -0
  33. package/src/stories/assets/discord.svg +15 -0
  34. package/src/stories/assets/docs.png +0 -0
  35. package/src/stories/assets/figma-plugin.png +0 -0
  36. package/src/stories/assets/github.svg +3 -0
  37. package/src/stories/assets/share.png +0 -0
  38. package/src/stories/assets/styling.png +0 -0
  39. package/src/stories/assets/testing.png +0 -0
  40. package/src/stories/assets/theming.png +0 -0
  41. package/src/stories/assets/tutorials.svg +12 -0
  42. package/src/stories/assets/youtube.svg +4 -0
  43. package/src/stories/button.component.ts +56 -0
  44. package/src/stories/button.css +30 -0
  45. package/src/stories/button.stories.ts +48 -0
  46. package/src/stories/header.component.ts +79 -0
  47. package/src/stories/header.css +32 -0
  48. package/src/stories/header.stories.ts +33 -0
  49. package/src/stories/loader.stories.ts +28 -0
  50. package/src/stories/page.component.ts +82 -0
  51. package/src/stories/page.css +69 -0
  52. package/src/stories/page.stories.ts +32 -0
  53. package/src/stories/user.ts +3 -0
  54. package/src/styles.scss +1 -0
  55. package/storybook-static/419.9380106a.iframe.bundle.js +1 -0
  56. package/storybook-static/555.5343233e.iframe.bundle.js +1 -0
  57. package/storybook-static/723.dcfee548.iframe.bundle.js +425 -0
  58. package/storybook-static/723.dcfee548.iframe.bundle.js.LICENSE.txt +52 -0
  59. package/storybook-static/723.dcfee548.iframe.bundle.js.map +1 -0
  60. package/storybook-static/764.16831083.iframe.bundle.js +1 -0
  61. package/storybook-static/787.f3a8f680.iframe.bundle.js +1 -0
  62. package/storybook-static/912.a867d3a2.iframe.bundle.js +1 -0
  63. package/storybook-static/944.63355339.iframe.bundle.js +1 -0
  64. package/storybook-static/994.091897e1.iframe.bundle.js +95 -0
  65. package/storybook-static/994.091897e1.iframe.bundle.js.LICENSE.txt +29 -0
  66. package/storybook-static/994.091897e1.iframe.bundle.js.map +1 -0
  67. package/storybook-static/favicon.svg +7 -0
  68. package/storybook-static/iframe.html +370 -0
  69. package/storybook-static/index.html +159 -0
  70. package/storybook-static/index.json +1 -0
  71. package/storybook-static/main.01eb4ecea8870f3a4901.css +1 -0
  72. package/storybook-static/main.c80cd11c.iframe.bundle.js +1 -0
  73. package/storybook-static/project.json +1 -0
  74. package/storybook-static/runtime~main.19b79a34.iframe.bundle.js +1 -0
  75. package/storybook-static/sb-addons/chromatic-com-storybook-9/manager-bundle.js +327 -0
  76. package/storybook-static/sb-addons/chromatic-com-storybook-9/manager-bundle.js.LEGAL.txt +40 -0
  77. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +3 -0
  78. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js.LEGAL.txt +0 -0
  79. package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js +12 -0
  80. package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js.LEGAL.txt +0 -0
  81. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +60 -0
  82. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js.LEGAL.txt +18 -0
  83. package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js +3 -0
  84. package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js.LEGAL.txt +0 -0
  85. package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js +3 -0
  86. package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js.LEGAL.txt +0 -0
  87. package/storybook-static/sb-addons/essentials-toolbars-6/manager-bundle.js +3 -0
  88. package/storybook-static/sb-addons/essentials-toolbars-6/manager-bundle.js.LEGAL.txt +0 -0
  89. package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js +3 -0
  90. package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js.LEGAL.txt +0 -0
  91. package/storybook-static/sb-addons/interactions-10/manager-bundle.js +33 -0
  92. package/storybook-static/sb-addons/interactions-10/manager-bundle.js.LEGAL.txt +0 -0
  93. package/storybook-static/sb-addons/links-1/manager-bundle.js +3 -0
  94. package/storybook-static/sb-addons/links-1/manager-bundle.js.LEGAL.txt +0 -0
  95. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +3 -0
  96. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js.LEGAL.txt +0 -0
  97. package/storybook-static/sb-common-assets/fonts.css +31 -0
  98. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  99. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  100. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  101. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  102. package/storybook-static/sb-manager/WithTooltip-Y7J54OF7-CEHQ77YF.js +1 -0
  103. package/storybook-static/sb-manager/chunk-FEE35O7J.js +9 -0
  104. package/storybook-static/sb-manager/chunk-GFFGH77H.js +183 -0
  105. package/storybook-static/sb-manager/chunk-KCHUFUTG.js +234 -0
  106. package/storybook-static/sb-manager/chunk-S4VOIVUE.js +347 -0
  107. package/storybook-static/sb-manager/chunk-XCO5HRLK.js +6 -0
  108. package/storybook-static/sb-manager/chunk-XP3HGWTR.js +1 -0
  109. package/storybook-static/sb-manager/formatter-B5HCVTEV-7DCBOGO6.js +58 -0
  110. package/storybook-static/sb-manager/globals-module-info.js +1 -0
  111. package/storybook-static/sb-manager/globals-runtime.js +1 -0
  112. package/storybook-static/sb-manager/globals.js +1 -0
  113. package/storybook-static/sb-manager/index.js +1 -0
  114. package/storybook-static/sb-manager/runtime.js +1 -0
  115. package/storybook-static/sb-manager/syntaxhighlighter-JOJW2KGS-VF6EEVPI.js +1 -0
  116. package/storybook-static/sb-preview/globals.js +1 -0
  117. package/storybook-static/sb-preview/runtime.js +139 -0
  118. package/storybook-static/static/media/accessibility.2dbc6973.png +0 -0
  119. package/storybook-static/static/media/addon-library.7a58d2cb.png +0 -0
  120. package/storybook-static/static/media/assets.e6440a95.png +0 -0
  121. package/storybook-static/static/media/context.645728c6.png +0 -0
  122. package/storybook-static/static/media/discord.bd319a53.svg +15 -0
  123. package/storybook-static/static/media/docs.f7d8b9a8.png +0 -0
  124. package/storybook-static/static/media/figma-plugin.9335a1a9.png +0 -0
  125. package/storybook-static/static/media/github.0366d3df.svg +3 -0
  126. package/storybook-static/static/media/share.161528bb.png +0 -0
  127. package/storybook-static/static/media/styling.38cab73b.png +0 -0
  128. package/storybook-static/static/media/testing.c720ced2.png +0 -0
  129. package/storybook-static/static/media/theming.e93de094.png +0 -0
  130. package/storybook-static/static/media/tutorials.dc623e0d.svg +12 -0
  131. package/storybook-static/static/media/youtube.9ab9c849.svg +4 -0
  132. package/storybook-static/stories-Configure-mdx.4d18500d.iframe.bundle.js +2 -0
  133. package/storybook-static/stories-Configure-mdx.4d18500d.iframe.bundle.js.LICENSE.txt +9 -0
  134. package/storybook-static/stories-button-stories.e503e31e.iframe.bundle.js +1 -0
  135. package/storybook-static/stories-header-stories.2b1be1ea.iframe.bundle.js +1 -0
  136. package/storybook-static/stories-loader-stories.8e527f9e.iframe.bundle.js +1 -0
  137. package/storybook-static/stories-page-stories.528e11e1.iframe.bundle.js +1 -0
  138. package/tsconfig.app.json +14 -0
  139. package/tsconfig.json +32 -0
@@ -0,0 +1,552 @@
1
+ {
2
+ "pipes": [],
3
+ "interfaces": [
4
+ {
5
+ "name": "User",
6
+ "id": "interface-User-d4821beac0e4a852e513391b7470981c4353fdd95a18628bb68136c8695b489ee15b926e2e5031bc26cf30e1508e0a362c3ee13a06734702b4d15af140e485d5",
7
+ "file": "src/stories/user.ts",
8
+ "deprecated": false,
9
+ "deprecationMessage": "",
10
+ "type": "interface",
11
+ "sourceCode": "export interface User {\n name: string;\n}\n",
12
+ "properties": [
13
+ {
14
+ "name": "name",
15
+ "deprecated": false,
16
+ "deprecationMessage": "",
17
+ "type": "string",
18
+ "optional": false,
19
+ "description": "",
20
+ "line": 2
21
+ }
22
+ ],
23
+ "indexSignatures": [],
24
+ "kind": 171,
25
+ "methods": [],
26
+ "extends": []
27
+ }
28
+ ],
29
+ "injectables": [],
30
+ "guards": [],
31
+ "interceptors": [],
32
+ "classes": [],
33
+ "directives": [],
34
+ "components": [
35
+ {
36
+ "name": "AppComponent",
37
+ "id": "component-AppComponent-f6e0a4165d90cd59f3e708780d9a8341fa358b7687dd565495660007b0653a064c738c99f2fcf4933a6716ace42cccf066ae403b54d7fe0acdb9b2879c092f10",
38
+ "file": "src/app/app.component.ts",
39
+ "encapsulation": [],
40
+ "entryComponents": [],
41
+ "inputs": [],
42
+ "outputs": [],
43
+ "providers": [],
44
+ "selector": "app-root",
45
+ "styleUrls": [],
46
+ "styles": [],
47
+ "template": "<h1>Welcome to {{title}}!</h1>\n\n<router-outlet />\n",
48
+ "templateUrl": [],
49
+ "viewProviders": [],
50
+ "hostDirectives": [],
51
+ "inputsClass": [],
52
+ "outputsClass": [],
53
+ "propertiesClass": [
54
+ {
55
+ "name": "title",
56
+ "defaultValue": "'angular-latest'",
57
+ "deprecated": false,
58
+ "deprecationMessage": "",
59
+ "type": "string",
60
+ "optional": false,
61
+ "description": "",
62
+ "line": 16
63
+ }
64
+ ],
65
+ "methodsClass": [],
66
+ "deprecated": false,
67
+ "deprecationMessage": "",
68
+ "hostBindings": [],
69
+ "hostListeners": [],
70
+ "standalone": true,
71
+ "imports": [
72
+ {
73
+ "name": "RouterOutlet"
74
+ }
75
+ ],
76
+ "description": "",
77
+ "rawdescription": "\n",
78
+ "type": "component",
79
+ "sourceCode": "import { Component } from '@angular/core';\r\nimport { RouterOutlet } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n standalone: true,\r\n imports: [RouterOutlet],\r\n template: `\r\n <h1>Welcome to {{title}}!</h1>\r\n\r\n <router-outlet />\r\n `,\r\n styles: [],\r\n})\r\nexport class AppComponent {\r\n title = 'angular-latest';\r\n}\r\n",
80
+ "assetsDirs": [],
81
+ "styleUrlsData": "",
82
+ "stylesData": "",
83
+ "extends": []
84
+ },
85
+ {
86
+ "name": "ButtonComponent",
87
+ "id": "component-ButtonComponent-86e2311c54fbca7431c12e070d0fd5b0ebe343eec0553a392f182ba0e04a8f86613233d26ee47718fd0e7a65078f580c76a1fcc928ce55de81193d6618025bc4",
88
+ "file": "src/stories/button.component.ts",
89
+ "encapsulation": [],
90
+ "entryComponents": [],
91
+ "inputs": [],
92
+ "outputs": [],
93
+ "providers": [],
94
+ "selector": "storybook-button",
95
+ "styleUrls": [
96
+ "./button.css"
97
+ ],
98
+ "styles": [],
99
+ "template": "<button type=\"button\"\n (click)=\"onClick.emit($event)\"\n [ngClass]=\"classes\"\n [ngStyle]=\"{ 'background-color': backgroundColor }\"\n >\n {{ label }}\n </button>",
100
+ "templateUrl": [],
101
+ "viewProviders": [],
102
+ "hostDirectives": [],
103
+ "inputsClass": [
104
+ {
105
+ "name": "backgroundColor",
106
+ "deprecated": false,
107
+ "deprecationMessage": "",
108
+ "rawdescription": "\n\nWhat background color to use\n",
109
+ "description": "<p>What background color to use</p>\n",
110
+ "line": 29,
111
+ "type": "string",
112
+ "decorators": []
113
+ },
114
+ {
115
+ "name": "label",
116
+ "defaultValue": "'Button'",
117
+ "deprecated": false,
118
+ "deprecationMessage": "",
119
+ "jsdoctags": [
120
+ {
121
+ "pos": 798,
122
+ "end": 811,
123
+ "flags": 16842752,
124
+ "modifierFlagsCache": 0,
125
+ "transformFlags": 0,
126
+ "kind": 334,
127
+ "tagName": {
128
+ "pos": 799,
129
+ "end": 807,
130
+ "flags": 16842752,
131
+ "modifierFlagsCache": 0,
132
+ "transformFlags": 0,
133
+ "kind": 80,
134
+ "escapedText": "required"
135
+ },
136
+ "comment": ""
137
+ }
138
+ ],
139
+ "rawdescription": "\n\nButton contents\n\n",
140
+ "description": "<p>Button contents</p>\n",
141
+ "line": 43,
142
+ "type": "string",
143
+ "decorators": []
144
+ },
145
+ {
146
+ "name": "primary",
147
+ "defaultValue": "false",
148
+ "deprecated": false,
149
+ "deprecationMessage": "",
150
+ "rawdescription": "\n\nIs this the principal call to action on the page?\n",
151
+ "description": "<p>Is this the principal call to action on the page?</p>\n",
152
+ "line": 23,
153
+ "type": "boolean",
154
+ "decorators": []
155
+ },
156
+ {
157
+ "name": "size",
158
+ "defaultValue": "'medium'",
159
+ "deprecated": false,
160
+ "deprecationMessage": "",
161
+ "rawdescription": "\n\nHow large should the button be?\n",
162
+ "description": "<p>How large should the button be?</p>\n",
163
+ "line": 35,
164
+ "type": "\"small\" | \"medium\" | \"large\"",
165
+ "decorators": []
166
+ }
167
+ ],
168
+ "outputsClass": [
169
+ {
170
+ "name": "onClick",
171
+ "defaultValue": "new EventEmitter<Event>()",
172
+ "deprecated": false,
173
+ "deprecationMessage": "",
174
+ "rawdescription": "\n\nOptional click handler\n",
175
+ "description": "<p>Optional click handler</p>\n",
176
+ "line": 49,
177
+ "type": "EventEmitter"
178
+ }
179
+ ],
180
+ "propertiesClass": [],
181
+ "methodsClass": [],
182
+ "deprecated": false,
183
+ "deprecationMessage": "",
184
+ "hostBindings": [],
185
+ "hostListeners": [],
186
+ "standalone": true,
187
+ "imports": [
188
+ {
189
+ "name": "CommonModule",
190
+ "type": "module"
191
+ }
192
+ ],
193
+ "description": "",
194
+ "rawdescription": "\n",
195
+ "type": "component",
196
+ "sourceCode": "import { CommonModule } from '@angular/common';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'storybook-button',\n standalone: true,\n imports: [CommonModule],\n template: ` <button\n type=\"button\"\n (click)=\"onClick.emit($event)\"\n [ngClass]=\"classes\"\n [ngStyle]=\"{ 'background-color': backgroundColor }\"\n >\n {{ label }}\n </button>`,\n styleUrls: ['./button.css'],\n})\nexport class ButtonComponent {\n /**\n * Is this the principal call to action on the page?\n */\n @Input()\n primary = false;\n\n /**\n * What background color to use\n */\n @Input()\n backgroundColor?: string;\n\n /**\n * How large should the button be?\n */\n @Input()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Button contents\n *\n * @required\n */\n @Input()\n label = 'Button';\n\n /**\n * Optional click handler\n */\n @Output()\n onClick = new EventEmitter<Event>();\n\n public get classes(): string[] {\n const mode = this.primary ? 'storybook-button--primary' : 'storybook-button--secondary';\n\n return ['storybook-button', `storybook-button--${this.size}`, mode];\n }\n}\n",
197
+ "assetsDirs": [],
198
+ "styleUrlsData": [
199
+ {
200
+ "data": ".storybook-button {\n font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n font-weight: 700;\n border: 0;\n border-radius: 3em;\n cursor: pointer;\n display: inline-block;\n line-height: 1;\n}\n.storybook-button--primary {\n color: white;\n background-color: #1ea7fd;\n}\n.storybook-button--secondary {\n color: #333;\n background-color: transparent;\n box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset;\n}\n.storybook-button--small {\n font-size: 12px;\n padding: 10px 16px;\n}\n.storybook-button--medium {\n font-size: 14px;\n padding: 11px 20px;\n}\n.storybook-button--large {\n font-size: 16px;\n padding: 12px 24px;\n}\n",
201
+ "styleUrl": "./button.css"
202
+ }
203
+ ],
204
+ "stylesData": "",
205
+ "extends": [],
206
+ "accessors": {
207
+ "classes": {
208
+ "name": "classes",
209
+ "getSignature": {
210
+ "name": "classes",
211
+ "type": "[]",
212
+ "returnType": "string[]",
213
+ "line": 51
214
+ }
215
+ }
216
+ }
217
+ },
218
+ {
219
+ "name": "HeaderComponent",
220
+ "id": "component-HeaderComponent-cad94b233ec8e80ceb541e7972c5f9737e08237b4e137112f3987ca48ee0cce5c0d57798d41daa5d4d24d6bdbb2df1606ab68cca2aa0a1785e38f99f3cac0729",
221
+ "file": "src/stories/header.component.ts",
222
+ "encapsulation": [],
223
+ "entryComponents": [],
224
+ "inputs": [],
225
+ "outputs": [],
226
+ "providers": [],
227
+ "selector": "storybook-header",
228
+ "styleUrls": [
229
+ "./header.css"
230
+ ],
231
+ "styles": [],
232
+ "template": "<header> <div class=\"storybook-header\">\n <div>\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M10 0h12a10 10 0 0110 10v12a10 10 0 01-10 10H10A10 10 0 010 22V10A10 10 0 0110 0z\"\n fill=\"#FFF\"\n />\n <path\n d=\"M5.3 10.6l10.4 6v11.1l-10.4-6v-11zm11.4-6.2l9.7 5.5-9.7 5.6V4.4z\"\n fill=\"#555AB9\"\n />\n <path\n d=\"M27.2 10.6v11.2l-10.5 6V16.5l10.5-6zM15.7 4.4v11L6 10l9.7-5.5z\"\n fill=\"#91BAF8\"\n />\n </g>\n </svg>\n <h1>Acme</h1>\n </div>\n <div>\n <div *ngIf=\"user\">\n <span class=\"welcome\">\n Welcome, <b>{{ user.name }}</b\n >!\n </span>\n <storybook-button\n *ngIf=\"user\"\n size=\"small\"\n (onClick)=\"onLogout.emit($event)\"\n label=\"Log out\"\n ></storybook-button>\n </div>\n <div *ngIf=\"!user\">\n <storybook-button\n *ngIf=\"!user\"\n size=\"small\"\n class=\"margin-left\"\n (onClick)=\"onLogin.emit($event)\"\n label=\"Log in\"\n ></storybook-button>\n <storybook-button\n *ngIf=\"!user\"\n size=\"small\"\n [primary]=\"true\"\n class=\"margin-left\"\n (onClick)=\"onCreateAccount.emit($event)\"\n label=\"Sign up\"\n ></storybook-button>\n </div>\n </div>\n </div>\n </header>",
233
+ "templateUrl": [],
234
+ "viewProviders": [],
235
+ "hostDirectives": [],
236
+ "inputsClass": [
237
+ {
238
+ "name": "user",
239
+ "defaultValue": "null",
240
+ "deprecated": false,
241
+ "deprecationMessage": "",
242
+ "line": 69,
243
+ "type": "User | null",
244
+ "decorators": []
245
+ }
246
+ ],
247
+ "outputsClass": [
248
+ {
249
+ "name": "onCreateAccount",
250
+ "defaultValue": "new EventEmitter<Event>()",
251
+ "deprecated": false,
252
+ "deprecationMessage": "",
253
+ "line": 78,
254
+ "type": "EventEmitter"
255
+ },
256
+ {
257
+ "name": "onLogin",
258
+ "defaultValue": "new EventEmitter<Event>()",
259
+ "deprecated": false,
260
+ "deprecationMessage": "",
261
+ "line": 72,
262
+ "type": "EventEmitter"
263
+ },
264
+ {
265
+ "name": "onLogout",
266
+ "defaultValue": "new EventEmitter<Event>()",
267
+ "deprecated": false,
268
+ "deprecationMessage": "",
269
+ "line": 75,
270
+ "type": "EventEmitter"
271
+ }
272
+ ],
273
+ "propertiesClass": [],
274
+ "methodsClass": [],
275
+ "deprecated": false,
276
+ "deprecationMessage": "",
277
+ "hostBindings": [],
278
+ "hostListeners": [],
279
+ "standalone": true,
280
+ "imports": [
281
+ {
282
+ "name": "CommonModule",
283
+ "type": "module"
284
+ },
285
+ {
286
+ "name": "ButtonComponent",
287
+ "type": "component"
288
+ }
289
+ ],
290
+ "description": "",
291
+ "rawdescription": "\n",
292
+ "type": "component",
293
+ "sourceCode": "import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ButtonComponent } from './button.component';\nimport type { User } from './user';\n\n@Component({\n selector: 'storybook-header',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n template: `<header>\n <div class=\"storybook-header\">\n <div>\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M10 0h12a10 10 0 0110 10v12a10 10 0 01-10 10H10A10 10 0 010 22V10A10 10 0 0110 0z\"\n fill=\"#FFF\"\n />\n <path\n d=\"M5.3 10.6l10.4 6v11.1l-10.4-6v-11zm11.4-6.2l9.7 5.5-9.7 5.6V4.4z\"\n fill=\"#555AB9\"\n />\n <path\n d=\"M27.2 10.6v11.2l-10.5 6V16.5l10.5-6zM15.7 4.4v11L6 10l9.7-5.5z\"\n fill=\"#91BAF8\"\n />\n </g>\n </svg>\n <h1>Acme</h1>\n </div>\n <div>\n <div *ngIf=\"user\">\n <span class=\"welcome\">\n Welcome, <b>{{ user.name }}</b\n >!\n </span>\n <storybook-button\n *ngIf=\"user\"\n size=\"small\"\n (onClick)=\"onLogout.emit($event)\"\n label=\"Log out\"\n ></storybook-button>\n </div>\n <div *ngIf=\"!user\">\n <storybook-button\n *ngIf=\"!user\"\n size=\"small\"\n class=\"margin-left\"\n (onClick)=\"onLogin.emit($event)\"\n label=\"Log in\"\n ></storybook-button>\n <storybook-button\n *ngIf=\"!user\"\n size=\"small\"\n [primary]=\"true\"\n class=\"margin-left\"\n (onClick)=\"onCreateAccount.emit($event)\"\n label=\"Sign up\"\n ></storybook-button>\n </div>\n </div>\n </div>\n </header>`,\n styleUrls: ['./header.css'],\n})\nexport class HeaderComponent {\n @Input()\n user: User | null = null;\n\n @Output()\n onLogin = new EventEmitter<Event>();\n\n @Output()\n onLogout = new EventEmitter<Event>();\n\n @Output()\n onCreateAccount = new EventEmitter<Event>();\n}\n",
294
+ "assetsDirs": [],
295
+ "styleUrlsData": [
296
+ {
297
+ "data": ".storybook-header {\n font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n padding: 15px 20px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.storybook-header svg {\n display: inline-block;\n vertical-align: top;\n}\n\n.storybook-header h1 {\n font-weight: 700;\n font-size: 20px;\n line-height: 1;\n margin: 6px 0 6px 10px;\n display: inline-block;\n vertical-align: top;\n}\n\n.storybook-header button + button {\n margin-left: 10px;\n}\n\n.storybook-header .welcome {\n color: #333;\n font-size: 14px;\n margin-right: 10px;\n}\n",
298
+ "styleUrl": "./header.css"
299
+ }
300
+ ],
301
+ "stylesData": "",
302
+ "extends": []
303
+ },
304
+ {
305
+ "name": "LoaderComponent",
306
+ "id": "component-LoaderComponent-63031bdaf2f4edbbcc3bce9497526f99e2937573fad49defff947a58b3c6959858d5f9d3b7433392e47a0dc492690b21ed3ff9fc3ae1a00cd0b96684615211c2",
307
+ "file": "src/app/components/loader/loader.component.ts",
308
+ "encapsulation": [],
309
+ "entryComponents": [],
310
+ "inputs": [],
311
+ "outputs": [],
312
+ "providers": [],
313
+ "selector": "app-loader",
314
+ "styleUrls": [],
315
+ "styles": [],
316
+ "templateUrl": [
317
+ "./loader.component.html"
318
+ ],
319
+ "viewProviders": [],
320
+ "hostDirectives": [],
321
+ "inputsClass": [
322
+ {
323
+ "name": "size",
324
+ "defaultValue": "'medium'",
325
+ "deprecated": false,
326
+ "deprecationMessage": "",
327
+ "line": 9,
328
+ "type": "\"small\" | \"medium\" | \"large\"",
329
+ "decorators": []
330
+ }
331
+ ],
332
+ "outputsClass": [],
333
+ "propertiesClass": [],
334
+ "methodsClass": [],
335
+ "deprecated": false,
336
+ "deprecationMessage": "",
337
+ "hostBindings": [],
338
+ "hostListeners": [],
339
+ "standalone": false,
340
+ "imports": [],
341
+ "description": "",
342
+ "rawdescription": "\n",
343
+ "type": "component",
344
+ "sourceCode": "import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrl: './loader.component.css'\r\n})\r\nexport class LoaderComponent {\r\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\r\n}\r\n",
345
+ "styleUrl": "./loader.component.css",
346
+ "assetsDirs": [],
347
+ "styleUrlsData": "",
348
+ "stylesData": "",
349
+ "extends": [],
350
+ "templateData": "<div class=\"loader\" [ngClass]=\"{'small': size === 'small', 'large': size === 'large'}\"></div>"
351
+ },
352
+ {
353
+ "name": "PageComponent",
354
+ "id": "component-PageComponent-d32b0f19628254ea3fc5526c4d4564ada1cc83cf936759006d90a46f5874b02a3359e331bddda20b22e74a616a6443c660602ba74dd38ebe1160759e0de6f7ba",
355
+ "file": "src/stories/page.component.ts",
356
+ "encapsulation": [],
357
+ "entryComponents": [],
358
+ "inputs": [],
359
+ "outputs": [],
360
+ "providers": [],
361
+ "selector": "storybook-page",
362
+ "styleUrls": [
363
+ "./page.css"
364
+ ],
365
+ "styles": [],
366
+ "template": "<article> <storybook-header\n [user]=\"user\"\n (onLogout)=\"doLogout()\"\n (onLogin)=\"doLogin()\"\n (onCreateAccount)=\"doCreateAccount()\"\n ></storybook-header>\n <section class=\"storybook-page\">\n <h2>Pages in Storybook</h2>\n <p>\n We recommend building UIs with a\n <a href=\"https://componentdriven.org\" target=\"_blank\" rel=\"noopener noreferrer\">\n <strong>component-driven</strong>\n </a>\n process starting with atomic components and ending with pages.\n </p>\n <p>\n Render pages with mock data. This makes it easy to build and review page states without\n needing to navigate to them in your app. Here are some handy patterns for managing page data\n in Storybook:\n </p>\n <ul>\n <li>\n Use a higher-level connected component. Storybook helps you compose such data from the\n \"args\" of child component stories\n </li>\n <li>\n Assemble data in the page component from your services. You can mock these services out\n using Storybook.\n </li>\n </ul>\n <p>\n Get a guided tutorial on component-driven development at\n <a href=\"https://storybook.js.org/tutorials/\" target=\"_blank\" rel=\"noopener noreferrer\">\n Storybook tutorials\n </a>\n . Read more in the\n <a href=\"https://storybook.js.org/docs\" target=\"_blank\" rel=\"noopener noreferrer\"> docs </a>\n .\n </p>\n <div class=\"tip-wrapper\">\n <span class=\"tip\">Tip</span> Adjust the width of the canvas with the\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z\"\n id=\"a\"\n fill=\"#999\"\n />\n </g>\n </svg>\n Viewports addon in the toolbar\n </div>\n </section>\n </article>",
367
+ "templateUrl": [],
368
+ "viewProviders": [],
369
+ "hostDirectives": [],
370
+ "inputsClass": [],
371
+ "outputsClass": [],
372
+ "propertiesClass": [
373
+ {
374
+ "name": "user",
375
+ "defaultValue": "null",
376
+ "deprecated": false,
377
+ "deprecationMessage": "",
378
+ "type": "User | null",
379
+ "optional": false,
380
+ "description": "",
381
+ "line": 69
382
+ }
383
+ ],
384
+ "methodsClass": [
385
+ {
386
+ "name": "doCreateAccount",
387
+ "args": [],
388
+ "optional": false,
389
+ "returnType": "void",
390
+ "typeParameters": [],
391
+ "line": 79,
392
+ "deprecated": false,
393
+ "deprecationMessage": ""
394
+ },
395
+ {
396
+ "name": "doLogin",
397
+ "args": [],
398
+ "optional": false,
399
+ "returnType": "void",
400
+ "typeParameters": [],
401
+ "line": 75,
402
+ "deprecated": false,
403
+ "deprecationMessage": ""
404
+ },
405
+ {
406
+ "name": "doLogout",
407
+ "args": [],
408
+ "optional": false,
409
+ "returnType": "void",
410
+ "typeParameters": [],
411
+ "line": 71,
412
+ "deprecated": false,
413
+ "deprecationMessage": ""
414
+ }
415
+ ],
416
+ "deprecated": false,
417
+ "deprecationMessage": "",
418
+ "hostBindings": [],
419
+ "hostListeners": [],
420
+ "standalone": true,
421
+ "imports": [
422
+ {
423
+ "name": "CommonModule",
424
+ "type": "module"
425
+ },
426
+ {
427
+ "name": "HeaderComponent",
428
+ "type": "component"
429
+ }
430
+ ],
431
+ "description": "",
432
+ "rawdescription": "\n",
433
+ "type": "component",
434
+ "sourceCode": "import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { HeaderComponent } from './header.component';\nimport type { User } from './user';\n\n@Component({\n selector: 'storybook-page',\n standalone: true,\n imports: [CommonModule, HeaderComponent],\n template: `<article>\n <storybook-header\n [user]=\"user\"\n (onLogout)=\"doLogout()\"\n (onLogin)=\"doLogin()\"\n (onCreateAccount)=\"doCreateAccount()\"\n ></storybook-header>\n <section class=\"storybook-page\">\n <h2>Pages in Storybook</h2>\n <p>\n We recommend building UIs with a\n <a href=\"https://componentdriven.org\" target=\"_blank\" rel=\"noopener noreferrer\">\n <strong>component-driven</strong>\n </a>\n process starting with atomic components and ending with pages.\n </p>\n <p>\n Render pages with mock data. This makes it easy to build and review page states without\n needing to navigate to them in your app. Here are some handy patterns for managing page data\n in Storybook:\n </p>\n <ul>\n <li>\n Use a higher-level connected component. Storybook helps you compose such data from the\n \"args\" of child component stories\n </li>\n <li>\n Assemble data in the page component from your services. You can mock these services out\n using Storybook.\n </li>\n </ul>\n <p>\n Get a guided tutorial on component-driven development at\n <a href=\"https://storybook.js.org/tutorials/\" target=\"_blank\" rel=\"noopener noreferrer\">\n Storybook tutorials\n </a>\n . Read more in the\n <a href=\"https://storybook.js.org/docs\" target=\"_blank\" rel=\"noopener noreferrer\"> docs </a>\n .\n </p>\n <div class=\"tip-wrapper\">\n <span class=\"tip\">Tip</span> Adjust the width of the canvas with the\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z\"\n id=\"a\"\n fill=\"#999\"\n />\n </g>\n </svg>\n Viewports addon in the toolbar\n </div>\n </section>\n </article>`,\n styleUrls: ['./page.css'],\n})\nexport class PageComponent {\n user: User | null = null;\n\n doLogout() {\n this.user = null;\n }\n\n doLogin() {\n this.user = { name: 'Jane Doe' };\n }\n\n doCreateAccount() {\n this.user = { name: 'Jane Doe' };\n }\n}\n",
435
+ "assetsDirs": [],
436
+ "styleUrlsData": [
437
+ {
438
+ "data": ".storybook-page {\n font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 24px;\n padding: 48px 20px;\n margin: 0 auto;\n max-width: 600px;\n color: #333;\n}\n\n.storybook-page h2 {\n font-weight: 700;\n font-size: 32px;\n line-height: 1;\n margin: 0 0 4px;\n display: inline-block;\n vertical-align: top;\n}\n\n.storybook-page p {\n margin: 1em 0;\n}\n\n.storybook-page a {\n text-decoration: none;\n color: #1ea7fd;\n}\n\n.storybook-page ul {\n padding-left: 30px;\n margin: 1em 0;\n}\n\n.storybook-page li {\n margin-bottom: 8px;\n}\n\n.storybook-page .tip {\n display: inline-block;\n border-radius: 1em;\n font-size: 11px;\n line-height: 12px;\n font-weight: 700;\n background: #e7fdd8;\n color: #66bf3c;\n padding: 4px 12px;\n margin-right: 10px;\n vertical-align: top;\n}\n\n.storybook-page .tip-wrapper {\n font-size: 13px;\n line-height: 20px;\n margin-top: 40px;\n margin-bottom: 40px;\n}\n\n.storybook-page .tip-wrapper svg {\n display: inline-block;\n height: 12px;\n width: 12px;\n margin-right: 4px;\n vertical-align: top;\n margin-top: 3px;\n}\n\n.storybook-page .tip-wrapper svg path {\n fill: #1ea7fd;\n}\n",
439
+ "styleUrl": "./page.css"
440
+ }
441
+ ],
442
+ "stylesData": "",
443
+ "extends": []
444
+ }
445
+ ],
446
+ "modules": [],
447
+ "miscellaneous": {
448
+ "variables": [
449
+ {
450
+ "name": "appConfig",
451
+ "ctype": "miscellaneous",
452
+ "subtype": "variable",
453
+ "file": "src/app/app.config.ts",
454
+ "deprecated": false,
455
+ "deprecationMessage": "",
456
+ "type": "ApplicationConfig",
457
+ "defaultValue": "{\r\n providers: [provideRouter(routes)]\r\n}"
458
+ }
459
+ ],
460
+ "functions": [],
461
+ "typealiases": [],
462
+ "enumerations": [],
463
+ "groupedVariables": {
464
+ "src/app/app.config.ts": [
465
+ {
466
+ "name": "appConfig",
467
+ "ctype": "miscellaneous",
468
+ "subtype": "variable",
469
+ "file": "src/app/app.config.ts",
470
+ "deprecated": false,
471
+ "deprecationMessage": "",
472
+ "type": "ApplicationConfig",
473
+ "defaultValue": "{\r\n providers: [provideRouter(routes)]\r\n}"
474
+ }
475
+ ]
476
+ },
477
+ "groupedFunctions": {},
478
+ "groupedEnumerations": {},
479
+ "groupedTypeAliases": {}
480
+ },
481
+ "routes": [],
482
+ "coverage": {
483
+ "count": 11,
484
+ "status": "low",
485
+ "files": [
486
+ {
487
+ "filePath": "src/app/app.component.ts",
488
+ "type": "component",
489
+ "linktype": "component",
490
+ "name": "AppComponent",
491
+ "coveragePercent": 0,
492
+ "coverageCount": "0/2",
493
+ "status": "low"
494
+ },
495
+ {
496
+ "filePath": "src/app/app.config.ts",
497
+ "type": "variable",
498
+ "linktype": "miscellaneous",
499
+ "linksubtype": "variable",
500
+ "name": "appConfig",
501
+ "coveragePercent": 0,
502
+ "coverageCount": "0/1",
503
+ "status": "low"
504
+ },
505
+ {
506
+ "filePath": "src/app/components/loader/loader.component.ts",
507
+ "type": "component",
508
+ "linktype": "component",
509
+ "name": "LoaderComponent",
510
+ "coveragePercent": 0,
511
+ "coverageCount": "0/2",
512
+ "status": "low"
513
+ },
514
+ {
515
+ "filePath": "src/stories/button.component.ts",
516
+ "type": "component",
517
+ "linktype": "component",
518
+ "name": "ButtonComponent",
519
+ "coveragePercent": 83,
520
+ "coverageCount": "5/6",
521
+ "status": "very-good"
522
+ },
523
+ {
524
+ "filePath": "src/stories/header.component.ts",
525
+ "type": "component",
526
+ "linktype": "component",
527
+ "name": "HeaderComponent",
528
+ "coveragePercent": 0,
529
+ "coverageCount": "0/5",
530
+ "status": "low"
531
+ },
532
+ {
533
+ "filePath": "src/stories/page.component.ts",
534
+ "type": "component",
535
+ "linktype": "component",
536
+ "name": "PageComponent",
537
+ "coveragePercent": 0,
538
+ "coverageCount": "0/5",
539
+ "status": "low"
540
+ },
541
+ {
542
+ "filePath": "src/stories/user.ts",
543
+ "type": "interface",
544
+ "linktype": "interface",
545
+ "name": "User",
546
+ "coveragePercent": 0,
547
+ "coverageCount": "0/2",
548
+ "status": "low"
549
+ }
550
+ ]
551
+ }
552
+ }
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "angular-latest",
3
+ "version": "0.0.0",
4
+ "scripts": {
5
+ "ng": "ng",
6
+ "start": "ng serve",
7
+ "build": "ng build",
8
+ "watch": "ng build --watch --configuration development",
9
+ "storybook": "ng run angular-latest:storybook",
10
+ "build-storybook": "ng run angular-latest:build-storybook"
11
+ },
12
+ "public": true,
13
+ "dependencies": {
14
+ "@angular/animations": "^17.3.0",
15
+ "@angular/common": "^17.3.0",
16
+ "@angular/compiler": "^17.3.0",
17
+ "@angular/core": "^17.3.0",
18
+ "@angular/forms": "^17.3.0",
19
+ "@angular/platform-browser": "^17.3.0",
20
+ "@angular/platform-browser-dynamic": "^17.3.0",
21
+ "@angular/router": "^17.3.0",
22
+ "rxjs": "~7.8.0",
23
+ "tslib": "^2.3.0",
24
+ "zone.js": "~0.14.3"
25
+ },
26
+ "devDependencies": {
27
+ "@angular-devkit/build-angular": "^17.3.6",
28
+ "@angular/cli": "^17.3.6",
29
+ "@angular/compiler-cli": "^17.3.0",
30
+ "@chromatic-com/storybook": "^1.3.3",
31
+ "@compodoc/compodoc": "^1.1.24",
32
+ "@storybook/addon-docs": "^8.0.9",
33
+ "@storybook/addon-essentials": "^8.0.9",
34
+ "@storybook/addon-interactions": "^8.0.9",
35
+ "@storybook/addon-links": "^8.0.9",
36
+ "@storybook/angular": "^8.0.9",
37
+ "@storybook/blocks": "^8.0.9",
38
+ "@storybook/test": "^8.0.9",
39
+ "storybook": "^8.0.9",
40
+ "typescript": "~5.4.2"
41
+ }
42
+ }
@@ -0,0 +1,17 @@
1
+ import { Component } from '@angular/core';
2
+ import { RouterOutlet } from '@angular/router';
3
+
4
+ @Component({
5
+ selector: 'app-root',
6
+ standalone: true,
7
+ imports: [RouterOutlet],
8
+ template: `
9
+ <h1>Welcome to {{title}}!</h1>
10
+
11
+ <router-outlet />
12
+ `,
13
+ styles: [],
14
+ })
15
+ export class AppComponent {
16
+ title = 'angular-latest';
17
+ }
@@ -0,0 +1,8 @@
1
+ import { ApplicationConfig } from '@angular/core';
2
+ import { provideRouter } from '@angular/router';
3
+
4
+ import { routes } from './app.routes';
5
+
6
+ export const appConfig: ApplicationConfig = {
7
+ providers: [provideRouter(routes)]
8
+ };
@@ -0,0 +1,3 @@
1
+ import { Routes } from '@angular/router';
2
+
3
+ export const routes: Routes = [];