-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathstackblitz.html
315 lines (274 loc) · 29.3 KB
/
stackblitz.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
<html lang="en">
<head>
<style>
html {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto
}
html,
body {
width: 100vw;
height: 100vh;
display: flex;
background-color: rgb(54, 50, 119);
align-items: center;
justify-content: center;
color: #fafafa;
}
.loading {
text-align: center;
}
</style>
</head>
<body>
<div class="loading">
<div>
<img
src="data:image/png;base64,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" />
<img
src="data:image/png;base64,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" />
</div>
<h3>Loading « tooltip - custom-target » demo</h3>
</div>
<form id="mainForm" method="post" action="https://stackblitz.com/run?file=app/tooltip-target.ts" target="_self">
<input type="hidden" name="project[template]" value="angular-cli">
<input type="hidden" name="project[title]" value="ng-bootstrap demo - Tooltip - Custom-target">
<input type="hidden" name="project[description]"
value="Example usage of the tooltip widget from https://ng-bootstrap.github.io">
<input type="hidden" name="project[dependencies]" value="{"@angular/animations":"~19.0.3","@angular/core":"~19.0.3","@angular/common":"~19.0.3","@angular/compiler":"~19.0.3","@angular/compiler-cli":"~19.0.3","@angular/platform-browser":"~19.0.3","@angular/platform-browser-dynamic":"~19.0.3","@angular/router":"~19.0.3","@angular/forms":"~19.0.3","@angular/localize":"~19.0.3","@ng-bootstrap/ng-bootstrap":"18.0.0","@popperjs/core":"2.11.8","rxjs":"~7.5.5","typescript":"~5.6.3","zone.js":"~0.15.0"}">
<input type="hidden" name="project[tags][]" value="angular">
<input type="hidden" name="project[tags][]" value="bootstrap">
<input type="hidden" name="project[tags][]" value="ng-bootstrap">
<input type="hidden" name="project[tags][]" value="tooltip">
<input type="hidden" name="project[files][src/polyfills.ts]" value="/**
* This file includes polyfills needed by Angular and is loaded before the app.
* You can add your own extra polyfills to this file.
*
* This file is divided into 2 sections:
* 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
* 2. Application imports. Files imported after ZoneJS that should be loaded before your main
* file.
*
* The current setup is for so-called "evergreen" browsers; the last versions of browsers that
* automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
* Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
*
* Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
*/
/***************************************************************************************************
* Zone JS is required by default for Angular itself.
*/
import 'zone.js'; // Included with Angular CLI.
/***************************************************************************************************
* APPLICATION IMPORTS
*/
import '@angular/localize/init';
">
<input type="hidden" name="project[files][tsconfig.json]" value="{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"importHelpers": true,
"target": "es2020",
"module": "es2020",
"typeRoots": ["node_modules/@types"],
"lib": ["es2020", "dom"]
},
"angularCompilerOptions": {
"enableIvy": true,
"fullTemplateTypeCheck": true,
"strictTemplates": true,
"strictInjectionParameters": true
}
}
">
<input type="hidden" name="project[files][angular.json]" value="{
"version": 1,
"newProjectRoot": "projects",
"projects": {
"demo": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "app",
"schematics": {},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/demo",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.json",
"assets": [],
"styles": [],
"scripts": []
},
"configurations": {
"production": {
"fileReplacements": [{}],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "demo:build"
},
"configurations": {
"production": {
"browserTarget": "demo:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "demo:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.json",
"styles": [],
"scripts": [],
"assets": []
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": ["tsconfig.json"],
"exclude": ["**/node_modules/**"]
}
}
}
}
},
"defaultProject": "demo"
}
">
<input type="hidden" name="project[files][src/index.html]" value="<!DOCTYPE html>
<html>
<head>
<title>ng-bootstrap demo - Tooltip - Custom-target</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism.css" />
<style>
/* Sortable table demo */
th[sortable] {
cursor: pointer;
user-select: none;
-webkit-user-select: none;
}
th[sortable].desc:before,
th[sortable].asc:before {
content: '';
display: block;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAmxJREFUeAHtmksrRVEUx72fH8CIGQNJkpGUUmakDEiZSJRIZsRQmCkTJRmZmJgQE0kpX0D5DJKJgff7v+ru2u3O3vvc67TOvsdatdrnnP1Y///v7HvvubdbUiIhBISAEBACQkAICAEhIAQ4CXSh2DnyDfmCPEG2Iv9F9MPlM/LHyAecdyMzHYNwR3fdNK/OH9HXl1UCozD24TCvILxizEDWIEzA0FcM8woCgRrJCoS5PIwrANQSMAJX1LEI9bqpQo4JYNFFKRSvIgsxHDVnqZgIkPnNBM0rIGtYk9YOOsqgbgepRCfdbmFtqhFkVEDVPjJp0+Z6e6hRHhqBKgg6ZDCvYBygVmUoEGoh5JTRvIJwhJo1aUOoh4CLPMyvxxi7EWOMgnCGsXXI1GIXlZUYX7ucU+kbR8NW8lh3O7cue0Pk32MKndfUxQFAwxdirk3fHappAnc0oqDPzDfGTBrCfHP04dM4oTV8cxr0SVzH9FF07xD3ib6xCDE+M+aUcVygtWzzbtGX2rPBrEUYfecfQkaFzYi6HjVnGBdtL7epqAlc1+jRdAap74RrnPc4BCijttY2tRcdN0g17w7HqZrXhdJTYAuS3hd8z+vKgK3V1zWPae0mZDMykadBn1hTQBLnZNwVrJpSe/NwEeDsEwCctEOsJTsgxLvCqUl2ACftEGvJDgjxrnBqkh3ASTvEWrIDQrwrnJpkB3DSDrGW7IAQ7wqnJtkBnLRztejXXVu4+mxz/nQ9jR1w5VB86ejLTFcnnDwhzV+F6T+CHZlx6THSjn76eyyBIOPHyDakhBAQAkJACAgBISAEhIAQYCLwC8JxpAmsEGt6AAAAAElFTkSuQmCC')
no-repeat;
background-size: 22px;
width: 22px;
height: 22px;
float: left;
margin-left: -22px;
}
th[sortable].desc:before {
transform: rotate(180deg);
-ms-transform: rotate(180deg);
}
/* Filtering table demo */
ngbd-table-filtering span.ngb-highlight {
background-color: yellow;
}
/* Complete table demo */
ngbd-table-complete span.ngb-highlight {
background-color: yellow;
}
ngb-carousel .picsum-img-wrapper {
position: relative;
height: 0;
padding-top: 55%; /* Keep ratio for 900x500 images */
}
ngb-carousel .picsum-img-wrapper > img {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
</style>
</head>
<body>
<div class="container-fluid">
<hr>
<p>
This is a demo example forked from the <strong>ng-bootstrap</strong> project: Angular powered Bootstrap.
Visit <a href="https://ng-bootstrap.github.io/" target="_blank">https://ng-bootstrap.github.io</a> for more
widgets and demos.
</p>
<hr>
<ngbd-tooltip-target></ngbd-tooltip-target>
</div>
</body>
</html>
">
<input type="hidden" name="project[files][src/main.ts]" value="import './polyfills';
import {provideHttpClient, withNoXsrfProtection} from '@angular/common/http';
import {bootstrapApplication} from '@angular/platform-browser';
import {NgbdTooltipTarget} from './app/tooltip-target';
bootstrapApplication(NgbdTooltipTarget, {
providers: [
provideHttpClient(withNoXsrfProtection()),
],
})
.then(ref => {
// Ensure Angular destroys itself on hot reloads.
if (window['ngRef']) {
window['ngRef'].destroy();
}
window['ngRef'] = ref;
// Otherwise, log the boot error
})
.catch(err => console.error(err));
">
<input type="hidden" name="project[files][src/app/tooltip-target.html]" value="<p>You can choose a custom tooltip target. It works best when using manual triggers.</p>
<div class="d-flex align-items-baseline">
<p>You can hover</p>
<button class="btn btn-outline-secondary ms-2" ngbTooltip="Told you so!" [positionTarget]="target">
this button,
</button>
<p class="ms-2">but tooltip will appear <b #target>here</b>.</p>
</div>
">
<input type="hidden" name="project[files][src/app/tooltip-target.ts]" value="import { Component } from '@angular/core';
import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
@Component({
selector: 'ngbd-tooltip-target',
imports: [NgbTooltipModule],
templateUrl: './tooltip-target.html',
})
export class NgbdTooltipTarget {}
">
</form>
<script>document.getElementById("mainForm").submit();</script>
</body>
</html>