@sd-angular/core 0.0.845 → 0.0.849
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/badge/index.d.ts +1 -0
- package/badge/package.json +12 -0
- package/badge/sd-angular-core-badge.d.ts +4 -0
- package/badge/sd-angular-core-badge.metadata.json +1 -0
- package/badge/src/lib/badge.component.d.ts +5 -0
- package/badge/src/lib/badge.module.d.ts +2 -0
- package/badge/src/public-api.d.ts +2 -0
- package/bundles/sd-angular-core-badge.umd.js +53 -0
- package/bundles/sd-angular-core-badge.umd.js.map +1 -0
- package/bundles/sd-angular-core-badge.umd.min.js +2 -0
- package/bundles/sd-angular-core-badge.umd.min.js.map +1 -0
- package/bundles/sd-angular-core-button.umd.js +1 -1
- package/bundles/sd-angular-core-button.umd.min.js +1 -1
- package/bundles/sd-angular-core-button.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-form.umd.js +8 -6
- package/bundles/sd-angular-core-form.umd.js.map +1 -1
- package/bundles/sd-angular-core-form.umd.min.js +1 -1
- package/bundles/sd-angular-core-form.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js +2 -2
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
- package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-tab-router.umd.js +17 -6
- package/bundles/sd-angular-core-tab-router.umd.js.map +1 -1
- package/bundles/sd-angular-core-tab-router.umd.min.js +2 -2
- package/bundles/sd-angular-core-tab-router.umd.min.js.map +1 -1
- package/button/sd-angular-core-button.metadata.json +1 -1
- package/esm2015/badge/index.js +2 -0
- package/esm2015/badge/sd-angular-core-badge.js +5 -0
- package/esm2015/badge/src/lib/badge.component.js +19 -0
- package/esm2015/badge/src/lib/badge.module.js +14 -0
- package/esm2015/badge/src/public-api.js +6 -0
- package/esm2015/button/src/lib/button.component.js +1 -1
- package/esm2015/form/src/lib/form.module.js +6 -3
- package/esm2015/grid-material/src/lib/grid-material.component.js +3 -3
- package/esm2015/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.js +18 -9
- package/fesm2015/sd-angular-core-badge.js +42 -0
- package/fesm2015/sd-angular-core-badge.js.map +1 -0
- package/fesm2015/sd-angular-core-button.js +1 -1
- package/fesm2015/sd-angular-core-form.js +5 -2
- package/fesm2015/sd-angular-core-form.js.map +1 -1
- package/fesm2015/sd-angular-core-grid-material.js +2 -2
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/fesm2015/sd-angular-core-tab-router.js +17 -8
- package/fesm2015/sd-angular-core-tab-router.js.map +1 -1
- package/form/sd-angular-core-form.metadata.json +1 -1
- package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
- package/package.json +1 -1
- package/{sd-angular-core-0.0.845.tgz → sd-angular-core-0.0.849.tgz} +0 -0
- package/tab-router/sd-angular-core-tab-router.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/tab-router/src/lib/events/tab-router.event.ts","../../../../projects/sd-core/tab-router/src/lib/services/tab-router.service.ts","../../../../projects/sd-core/tab-router/src/lib/services/tab-decorator.service.ts","../../../../projects/sd-core/tab-router/src/lib/components/tab-router-item/tab-router-item.component.ts","../../../../projects/sd-core/tab-router/src/lib/components/tab-router-nav/tab-router-nav.component.ts","../../../../projects/sd-core/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.ts","../../../../projects/sd-core/tab-router/src/lib/pipes/tab-info.pipe.ts","../../../../projects/sd-core/tab-router/src/lib/tab-router.module.ts","../../../../projects/sd-core/tab-router/src/lib/decorators/tab.decorator.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","__","this","constructor","create","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","n","v","op","TypeError","pop","length","push","__classPrivateFieldGet","receiver","privateMap","has","get","__classPrivateFieldSet","set","SdTabBase","tab","_tab","defineProperty","SdTabActivated","_super","SdTabDeactivated","SdTabRouterService","notifyService","_this","events","BehaviorSubject","actions","builders","_currentTab","_componentBuilders","addBuilder","builder","some","component","setCurrentTab","pushEvent","Event","setOptions","close","type","service","getService","Error","_a","key","undefined","Injectable","args","providedIn","SdNotifyService","SdTabDecoratorService","tabRouterService","event","preventDefault","stopPropagation","Component","selector","template","Input","SdTabRouterNavComponent","mode","checkUI","nameWidth","tabRouterNav","nativeElement","clientWidth","tabs","onResize","ViewChild","HostListener","SdTabRouterOutletComponent","router","activatedRoute","cd","injector","compiler","parentContexts","tabDecoratorService","sdNotifyService","_rootRoute","_subscription","Subscription","_closeTab","filter","_h","isActive","lastTab","navigateByUrl","url","state","switchTab","markForCheck","_activeRoute","route","queryParams","assign","params","existedIndex","forEach","index","currentNavigation","getCurrentNavigation","_b","extras","existedTab","_d","_c","parent","routeConfig","loadChildren","module","compileModuleAsync","factory","injector_1","activatedRoute_1","_getActivatedRoute","SdOutletInjector","name","_f","_e","_g","notify","warning","splice","_getActivatedRouteSnapshot","activatedRouteSnapshot","firstChild","console","log","snapshot","add","pipe","NavigationEnd","subscribe","root","routerState","urlAfterRedirects","ngOnDestroy","unsubscribe","Router","ActivatedRoute","ChangeDetectorRef","Injector","Compiler","ChildrenOutletContexts","token","notFoundValue","SdTabInfoPipe","transform","map","find","initialName","color","Pipe","NgModule","declarations","SdTabRouterItemComponent","imports","RouterModule","CommonModule","MatIconModule","MatTooltipModule","exports","providers"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { SdTab } from '../models/tab-router.model';\r\n\r\nexport class SdTabBase {\r\n #tab: SdTab | null;\r\n\r\n constructor(tab: SdTab | null) {\r\n this.#tab = tab;\r\n }\r\n\r\n get tab(): SdTab | null {\r\n return this.#tab;\r\n }\r\n}\r\n\r\nexport class SdTabActivated extends SdTabBase {}\r\n\r\nexport class SdTabDeactivated extends SdTabBase {}\r\n\r\nexport declare type SdTabEvent = SdTabActivated | SdTabDeactivated;\r\n","import { Injectable, Type } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { SdTab } from '../models/tab-router.model';\r\nimport { SdTabAction } from '../actions/tab-router.action';\r\nimport { SdTabEvent, SdTabBase } from '../events/tab-router.event';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport { SdTabComponentBuilder } from '../decorators/tab.decorator';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SdTabRouterService {\r\n private static service: SdTabRouterService | undefined = undefined;\r\n events = new BehaviorSubject<SdTabEvent>(new SdTabBase(null));\r\n actions = new BehaviorSubject<SdTabAction | null>(null);\r\n builders = new BehaviorSubject<SdTabComponentBuilder[]>([]);\r\n\r\n #currentTab: SdTab | null = null;\r\n #componentBuilders: SdTabComponentBuilder[] = [];\r\n // #tabs: SdTab[] = [];\r\n\r\n public static getService(): SdTabRouterService {\r\n if (!SdTabRouterService.service) {\r\n throw new Error('SdTabRouterService is not initialized');\r\n }\r\n return SdTabRouterService.service;\r\n }\r\n constructor(private notifyService: SdNotifyService) {\r\n SdTabRouterService.service = this;\r\n }\r\n\r\n addBuilder = (builder: SdTabComponentBuilder) => {\r\n if (!this.#componentBuilders.some(e => e.component === builder.component)) {\r\n this.#componentBuilders.push(builder);\r\n this.builders.next(this.#componentBuilders);\r\n }\r\n }\r\n\r\n get currentTab() {\r\n return this.#currentTab;\r\n }\r\n\r\n get key() {\r\n return this.#currentTab?.key || null;\r\n }\r\n\r\n // select = (tabOrKey: string | SdTab): void => {\r\n // const tab = this.#tabs.find(e => {\r\n // if (typeof (tabOrKey) === 'string') {\r\n // return e.key === tabOrKey;\r\n // }\r\n // return e.key === tabOrKey?.key;\r\n // });\r\n // if (tab) {\r\n // this.#currentTab = tab;\r\n // }\r\n // }\r\n\r\n // add = (tab: SdTab): void => {\r\n // if (!tab.key) {\r\n // this.notifyService.notify.warning('Tab key is required');\r\n // }\r\n // if (!tab.component) {\r\n // this.notifyService.notify.warning('Tab component is required');\r\n // }\r\n // const existedTab = this.#tabs.find(e => e.key === tab.key);\r\n // if (!existedTab) {\r\n // this.#tabs.push(tab);\r\n // this.select(tab);\r\n // } else {\r\n // this.select(existedTab);\r\n // }\r\n // }\r\n\r\n // remove = (tabOrKey: string | SdTab): void => {\r\n // this.#tabs = this.#tabs.filter(e => {\r\n // if (typeof (tabOrKey) === 'string') {\r\n // return e.key !== tabOrKey;\r\n // }\r\n // return e.key !== tabOrKey?.key;\r\n // });\r\n // }\r\n\r\n setCurrentTab = (tab: SdTab): void => {\r\n this.#currentTab = tab;\r\n }\r\n\r\n pushEvent = (tab: SdTab, Event: Type<SdTabEvent>) => {\r\n this.events.next(new Event(tab));\r\n }\r\n\r\n setOptions = () => { };\r\n\r\n close = (tab?: SdTab) => {\r\n if (tab) {\r\n this.actions.next({\r\n type: 'close',\r\n tab,\r\n });\r\n } else if (this.#currentTab) {\r\n this.actions.next({\r\n type: 'close',\r\n tab: this.#currentTab,\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SdTabRouterService } from './tab-router.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdTabDecoratorService {\r\n private static service: SdTabRouterService | undefined = undefined;\r\n public constructor(service: SdTabRouterService) {\r\n SdTabDecoratorService.service = service;\r\n }\r\n public static getService(): SdTabRouterService {\r\n if (!SdTabDecoratorService.service) {\r\n throw new Error('SdTabDecoratorService not initialized');\r\n }\r\n return SdTabDecoratorService.service;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SdTab } from '../../models/tab-router.model';\r\nimport { SdTabRouterService } from '../../services/tab-router.service';\r\n\r\n@Component({\r\n selector: 'sd-tab-router-item',\r\n templateUrl: './tab-router-item.component.html',\r\n styleUrls: ['./tab-router-item.component.scss'],\r\n})\r\nexport class SdTabRouterItemComponent {\r\n @Input() tab: SdTab;\r\n\r\n constructor(private tabRouterService: SdTabRouterService) {}\r\n\r\n close = (event: Event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.tabRouterService.close(this.tab);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nimport { SdTab } from '../../models/tab-router.model';\r\n\r\n@Component({\r\n selector: 'sd-tab-router-nav',\r\n templateUrl: './tab-router-nav.component.html',\r\n styleUrls: ['./tab-router-nav.component.scss'],\r\n})\r\nexport class SdTabRouterNavComponent {\r\n @ViewChild('tabRouterNav') tabRouterNav: ElementRef;\r\n\r\n @Input() tabs: SdTab[];\r\n mode: 'default' | 'compact' = 'default';\r\n\r\n constructor() {}\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event): void {\r\n this.checkUI();\r\n }\r\n\r\n checkUI = () => {\r\n const width = this.tabRouterNav.nativeElement.clientWidth;\r\n const nameWidth = (width - this.tabs.length * 64) / this.tabs.length;\r\n if (nameWidth <= 20) {\r\n this.mode = 'compact';\r\n } else {\r\n this.mode = 'default';\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Compiler,\r\n Component,\r\n Injector,\r\n NgModuleRef,\r\n OnDestroy,\r\n OnInit,\r\n Type,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n ActivatedRouteSnapshot,\r\n ChildrenOutletContexts,\r\n // ChildrenOutletContexts,\r\n Event,\r\n NavigationEnd,\r\n PRIMARY_OUTLET,\r\n Router,\r\n RoutesRecognized,\r\n} from '@angular/router';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport {\r\n SdTabActivated,\r\n SdTabDeactivated,\r\n} from '../../events/tab-router.event';\r\n\r\nimport { SdTab } from '../../models/tab-router.model';\r\nimport { SdTabAction } from '../../actions/tab-router.action';\r\nimport { SdTabRouterService } from '../../services/tab-router.service';\r\nimport { SdTabRouterNavComponent } from '../tab-router-nav/tab-router-nav.component';\r\nimport { Subscription } from 'rxjs';\r\nimport { SdTabDecoratorService } from '../../services/tab-decorator.service';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'sd-tab-router-outlet',\r\n templateUrl: './tab-router-outlet.component.html',\r\n styleUrls: ['./tab-router-outlet.component.scss'],\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SdTabRouterOutletComponent implements OnDestroy {\r\n @ViewChild('tabRouterNav') tabRouterNav: SdTabRouterNavComponent;\r\n tabs: SdTab[] = [];\r\n\r\n #rootRoute: ActivatedRoute;\r\n #subscription = new Subscription();\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private cd: ChangeDetectorRef,\r\n private injector: Injector,\r\n private compiler: Compiler,\r\n private parentContexts: ChildrenOutletContexts,\r\n private tabDecoratorService: SdTabDecoratorService,\r\n private tabRouterService: SdTabRouterService,\r\n private sdNotifyService: SdNotifyService\r\n ) {\r\n console.log(this.activatedRoute.snapshot.url);\r\n this.#subscription.add(router.events.pipe(filter(event => event instanceof NavigationEnd))\r\n .subscribe(async (event: RoutesRecognized) => {\r\n const route = this.#getActivatedRouteSnapshot(event.state.root);\r\n this.#rootRoute = this.router.routerState.root;\r\n await this.#activeRoute(event.urlAfterRedirects || event.url, route);\r\n }));\r\n\r\n this.#subscription.add(tabRouterService.actions.subscribe((event: SdTabAction | null) => {\r\n if (event && event.type === 'close') {\r\n this.#closeTab(event.tab);\r\n }\r\n }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n #closeTab = (tab: SdTab) => {\r\n this.tabs = this.tabs.filter(({ key }) => key !== tab.key);\r\n if (tab.isActive) {\r\n const lastTab = this.tabs[this.tabs.length - 1];\r\n if (lastTab) {\r\n this.router.navigateByUrl(lastTab.url, {\r\n state: {\r\n switchTab: true,\r\n },\r\n });\r\n } else {\r\n this.router.navigateByUrl('/', {\r\n state: {\r\n switchTab: true,\r\n },\r\n });\r\n }\r\n } else {\r\n this.tabRouterNav?.checkUI();\r\n this.cd.markForCheck();\r\n }\r\n }\r\n\r\n #activeRoute = async (url: string, route: ActivatedRouteSnapshot | null) => {\r\n if (!route?.component) {\r\n return;\r\n }\r\n const component = route.component as Type<any>;\r\n const queryParams = {\r\n ...(route.queryParams || {}),\r\n };\r\n const params = {\r\n ...(route.params || {}),\r\n };\r\n\r\n let existedIndex = -1;\r\n this.tabs.forEach((tab: SdTab, index: number) => {\r\n if (tab.key === url) {\r\n tab.isActive = true;\r\n existedIndex = index;\r\n } else {\r\n if (tab.isActive) {\r\n this.tabRouterService.pushEvent(tab, SdTabDeactivated);\r\n }\r\n tab.isActive = false;\r\n }\r\n });\r\n\r\n const currentNavigation = this.router.getCurrentNavigation();\r\n if (existedIndex >= 0 && currentNavigation?.extras?.state?.switchTab) {\r\n const existedTab = this.tabs[existedIndex];\r\n this.tabRouterService.setCurrentTab(existedTab);\r\n this.tabRouterService.pushEvent(existedTab, SdTabActivated);\r\n } else {\r\n if (typeof route?.parent?.routeConfig?.loadChildren === 'function') {\r\n const module = await route.parent.routeConfig.loadChildren();\r\n const factory = await this.compiler.compileModuleAsync(module);\r\n const injector = factory.create(this.injector);\r\n // let tabInfo = {};\r\n // if ('getTabInfo' in component) {\r\n // tabInfo = component.getTabInfo({\r\n // params,\r\n // queryParams,\r\n // });\r\n // }\r\n\r\n const activatedRoute = this.#getActivatedRoute(\r\n this.#rootRoute,\r\n component\r\n );\r\n\r\n const tab = {\r\n key: url,\r\n component,\r\n injector: new SdOutletInjector(activatedRoute, injector),\r\n\r\n isActive: true,\r\n name: url,\r\n url,\r\n params,\r\n queryParams,\r\n // ...tabInfo,\r\n };\r\n\r\n this.tabRouterService.setCurrentTab(tab);\r\n if (existedIndex >= 0 && !currentNavigation?.extras?.state?.switchTab) {\r\n this.tabs[existedIndex] = tab;\r\n } else {\r\n this.tabs.push(tab);\r\n }\r\n }\r\n\r\n this.tabRouterNav?.checkUI();\r\n if (this.tabs.length > 10) {\r\n this.sdNotifyService.notify.warning(\r\n 'Bạn đã mở quá nhiều tab. Vui lòng tắt các tab không dùng để hệ thống hoạt động tốt hơn.'\r\n );\r\n }\r\n if (this.tabs.length > 12) {\r\n this.tabs.splice(0, this.tabs.length - 10);\r\n }\r\n }\r\n this.cd.markForCheck();\r\n }\r\n\r\n #getActivatedRouteSnapshot = (\r\n activatedRouteSnapshot: ActivatedRouteSnapshot\r\n ): ActivatedRouteSnapshot | null => {\r\n if (!activatedRouteSnapshot) {\r\n return null;\r\n }\r\n\r\n if (activatedRouteSnapshot.firstChild) {\r\n return this.#getActivatedRouteSnapshot(activatedRouteSnapshot.firstChild);\r\n } else {\r\n return activatedRouteSnapshot;\r\n }\r\n }\r\n\r\n #getActivatedRoute = (\r\n activatedRoute: ActivatedRoute,\r\n component: any\r\n ): ActivatedRoute | null => {\r\n if (!activatedRoute) {\r\n return null;\r\n }\r\n\r\n if (activatedRoute.component && activatedRoute.component === component) {\r\n return activatedRoute;\r\n } else if (activatedRoute.firstChild) {\r\n return this.#getActivatedRoute(activatedRoute.firstChild, component);\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nclass SdOutletInjector implements Injector {\r\n constructor(\r\n private route: ActivatedRoute | null,\r\n // private childContexts: ChildrenOutletContexts,\r\n private parent: any\r\n ) { }\r\n\r\n get(token: any, notFoundValue?: any): any {\r\n if (token === ActivatedRoute && this.route) {\r\n return this.route;\r\n }\r\n\r\n // if (token === ChildrenOutletContexts) {\r\n // return this.childContexts;\r\n // }\r\n\r\n return this.parent.get(token, notFoundValue);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { SdTab, SdTabInfo } from '../models/tab-router.model';\r\nimport { SdTabRouterService } from '../services/tab-router.service';\r\n@Pipe({\r\n name: 'sdTabInfo'\r\n})\r\nexport class SdTabInfoPipe implements PipeTransform {\r\n constructor(private tabRouterService: SdTabRouterService) { }\r\n transform(tab: SdTab): Observable<SdTabInfo> {\r\n return this.tabRouterService.builders.pipe(map(builders => {\r\n const builder = builders.find(e => e.component === tab.component);\r\n if (builder) {\r\n const { params, queryParams } = tab;\r\n return {\r\n name: typeof (builder.name) === 'function' ? builder.name({ params, queryParams }) : builder.name,\r\n initialName: typeof (builder.initialName) === 'function' ? builder.initialName({ params, queryParams }) : builder.initialName,\r\n color: typeof (builder.color) === 'function' ? builder.color({ params, queryParams }) : builder.color\r\n };\r\n }\r\n return {\r\n name: tab.url,\r\n initialName: tab.url[0],\r\n };\r\n }));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport { SdTabRouterItemComponent } from './components/tab-router-item/tab-router-item.component';\r\nimport { SdTabRouterNavComponent } from './components/tab-router-nav/tab-router-nav.component';\r\nimport { SdTabRouterOutletComponent } from './components/tab-router-outlet/tab-router-outlet.component';\r\nimport { SdTabInfoPipe } from './pipes/tab-info.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n SdTabRouterItemComponent,\r\n SdTabRouterNavComponent,\r\n SdTabRouterOutletComponent,\r\n SdTabInfoPipe,\r\n ],\r\n imports: [RouterModule, CommonModule, MatIconModule, MatTooltipModule],\r\n exports: [\r\n SdTabRouterItemComponent,\r\n SdTabRouterNavComponent,\r\n SdTabRouterOutletComponent,\r\n ],\r\n providers: [],\r\n})\r\nexport class SdTabRouterModule {}\r\n","import { Type } from '@angular/core';\r\nimport { SdTabDecoratorService } from '../services/tab-decorator.service';\r\n\r\nexport declare interface SdTabComponentBuilder {\r\n component: Type<any>;\r\n name: string | ((args: { params: any, queryParams: any }) => string);\r\n initialName: string | ((args: { params: any, queryParams: any }) => string);\r\n color?: string | ((args: { params: any, queryParams: any }) => string);\r\n}\r\n\r\nexport function SdTabComponent<T>(builder: SdTabComponentBuilder) {\r\n return (constructor: T) => {\r\n const service = SdTabDecoratorService.getService();\r\n service.addBuilder(builder);\r\n console.log(constructor);\r\n };\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/tab-router/src/lib/events/tab-router.event.ts","../../../../projects/sd-core/tab-router/src/lib/services/tab-router.service.ts","../../../../projects/sd-core/tab-router/src/lib/services/tab-decorator.service.ts","../../../../projects/sd-core/tab-router/src/lib/components/tab-router-item/tab-router-item.component.ts","../../../../projects/sd-core/tab-router/src/lib/components/tab-router-nav/tab-router-nav.component.ts","../../../../projects/sd-core/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.ts","../../../../projects/sd-core/tab-router/src/lib/pipes/tab-info.pipe.ts","../../../../projects/sd-core/tab-router/src/lib/tab-router.module.ts","../../../../projects/sd-core/tab-router/src/lib/decorators/tab.decorator.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","__","this","constructor","create","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","n","v","op","TypeError","pop","length","push","__classPrivateFieldGet","receiver","privateMap","has","get","__classPrivateFieldSet","set","SdTabBase","tab","_tab","defineProperty","SdTabActivated","_super","SdTabDeactivated","SdTabRouterService","notifyService","_this","events","BehaviorSubject","actions","builders","_currentTab","_componentBuilders","addBuilder","builder","some","component","setCurrentTab","pushEvent","Event","setOptions","close","type","service","getService","Error","_a","key","undefined","Injectable","args","providedIn","SdNotifyService","SdTabDecoratorService","tabRouterService","event","preventDefault","stopPropagation","Component","selector","template","Input","SdTabRouterNavComponent","mode","checkUI","nameWidth","tabRouterNav","nativeElement","clientWidth","tabs","onResize","ViewChild","HostListener","SdTabRouterOutletComponent","router","activatedRoute","cd","injector","compiler","parentContexts","tabDecoratorService","sdNotifyService","_rootRoute","_subscription","Subscription","_firstLoad","_closeTab","filter","_h","isActive","lastTab","navigateByUrl","url","state","switchTab","markForCheck","_activeRoute","route","queryParams","assign","params","existedIndex","forEach","index","currentNavigation","getCurrentNavigation","_b","extras","existedTab","_d","_c","parent","routeConfig","loadChildren","module","compileModuleAsync","factory","injector_1","activatedRoute_1","_getActivatedRoute","SdOutletInjector","name","_f","_e","_g","notify","warning","splice","_getActivatedRouteSnapshot","activatedRouteSnapshot","firstChild","add","pipe","RoutesRecognized","NavigationEnd","subscribe","snapshot","routerState","root","urlAfterRedirects","ngOnDestroy","unsubscribe","Router","ActivatedRoute","ChangeDetectorRef","Injector","Compiler","ChildrenOutletContexts","token","notFoundValue","SdTabInfoPipe","transform","map","find","initialName","color","Pipe","NgModule","declarations","SdTabRouterItemComponent","imports","RouterModule","CommonModule","MatIconModule","MatTooltipModule","exports","providers","console","log"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { SdTab } from '../models/tab-router.model';\r\n\r\nexport class SdTabBase {\r\n #tab: SdTab | null;\r\n\r\n constructor(tab: SdTab | null) {\r\n this.#tab = tab;\r\n }\r\n\r\n get tab(): SdTab | null {\r\n return this.#tab;\r\n }\r\n}\r\n\r\nexport class SdTabActivated extends SdTabBase {}\r\n\r\nexport class SdTabDeactivated extends SdTabBase {}\r\n\r\nexport declare type SdTabEvent = SdTabActivated | SdTabDeactivated;\r\n","import { Injectable, Type } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { SdTab } from '../models/tab-router.model';\r\nimport { SdTabAction } from '../actions/tab-router.action';\r\nimport { SdTabEvent, SdTabBase } from '../events/tab-router.event';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport { SdTabComponentBuilder } from '../decorators/tab.decorator';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SdTabRouterService {\r\n private static service: SdTabRouterService | undefined = undefined;\r\n events = new BehaviorSubject<SdTabEvent>(new SdTabBase(null));\r\n actions = new BehaviorSubject<SdTabAction | null>(null);\r\n builders = new BehaviorSubject<SdTabComponentBuilder[]>([]);\r\n\r\n #currentTab: SdTab | null = null;\r\n #componentBuilders: SdTabComponentBuilder[] = [];\r\n // #tabs: SdTab[] = [];\r\n\r\n public static getService(): SdTabRouterService {\r\n if (!SdTabRouterService.service) {\r\n throw new Error('SdTabRouterService is not initialized');\r\n }\r\n return SdTabRouterService.service;\r\n }\r\n constructor(private notifyService: SdNotifyService) {\r\n SdTabRouterService.service = this;\r\n }\r\n\r\n addBuilder = (builder: SdTabComponentBuilder) => {\r\n if (!this.#componentBuilders.some(e => e.component === builder.component)) {\r\n this.#componentBuilders.push(builder);\r\n this.builders.next(this.#componentBuilders);\r\n }\r\n }\r\n\r\n get currentTab() {\r\n return this.#currentTab;\r\n }\r\n\r\n get key() {\r\n return this.#currentTab?.key || null;\r\n }\r\n\r\n // select = (tabOrKey: string | SdTab): void => {\r\n // const tab = this.#tabs.find(e => {\r\n // if (typeof (tabOrKey) === 'string') {\r\n // return e.key === tabOrKey;\r\n // }\r\n // return e.key === tabOrKey?.key;\r\n // });\r\n // if (tab) {\r\n // this.#currentTab = tab;\r\n // }\r\n // }\r\n\r\n // add = (tab: SdTab): void => {\r\n // if (!tab.key) {\r\n // this.notifyService.notify.warning('Tab key is required');\r\n // }\r\n // if (!tab.component) {\r\n // this.notifyService.notify.warning('Tab component is required');\r\n // }\r\n // const existedTab = this.#tabs.find(e => e.key === tab.key);\r\n // if (!existedTab) {\r\n // this.#tabs.push(tab);\r\n // this.select(tab);\r\n // } else {\r\n // this.select(existedTab);\r\n // }\r\n // }\r\n\r\n // remove = (tabOrKey: string | SdTab): void => {\r\n // this.#tabs = this.#tabs.filter(e => {\r\n // if (typeof (tabOrKey) === 'string') {\r\n // return e.key !== tabOrKey;\r\n // }\r\n // return e.key !== tabOrKey?.key;\r\n // });\r\n // }\r\n\r\n setCurrentTab = (tab: SdTab): void => {\r\n this.#currentTab = tab;\r\n }\r\n\r\n pushEvent = (tab: SdTab, Event: Type<SdTabEvent>) => {\r\n this.events.next(new Event(tab));\r\n }\r\n\r\n setOptions = () => { };\r\n\r\n close = (tab?: SdTab) => {\r\n if (tab) {\r\n this.actions.next({\r\n type: 'close',\r\n tab,\r\n });\r\n } else if (this.#currentTab) {\r\n this.actions.next({\r\n type: 'close',\r\n tab: this.#currentTab,\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SdTabRouterService } from './tab-router.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdTabDecoratorService {\r\n private static service: SdTabRouterService | undefined = undefined;\r\n public constructor(service: SdTabRouterService) {\r\n SdTabDecoratorService.service = service;\r\n }\r\n public static getService(): SdTabRouterService {\r\n if (!SdTabDecoratorService.service) {\r\n throw new Error('SdTabDecoratorService not initialized');\r\n }\r\n return SdTabDecoratorService.service;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SdTab } from '../../models/tab-router.model';\r\nimport { SdTabRouterService } from '../../services/tab-router.service';\r\n\r\n@Component({\r\n selector: 'sd-tab-router-item',\r\n templateUrl: './tab-router-item.component.html',\r\n styleUrls: ['./tab-router-item.component.scss'],\r\n})\r\nexport class SdTabRouterItemComponent {\r\n @Input() tab: SdTab;\r\n\r\n constructor(private tabRouterService: SdTabRouterService) {}\r\n\r\n close = (event: Event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.tabRouterService.close(this.tab);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nimport { SdTab } from '../../models/tab-router.model';\r\n\r\n@Component({\r\n selector: 'sd-tab-router-nav',\r\n templateUrl: './tab-router-nav.component.html',\r\n styleUrls: ['./tab-router-nav.component.scss'],\r\n})\r\nexport class SdTabRouterNavComponent {\r\n @ViewChild('tabRouterNav') tabRouterNav: ElementRef;\r\n\r\n @Input() tabs: SdTab[];\r\n mode: 'default' | 'compact' = 'default';\r\n\r\n constructor() {}\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event): void {\r\n this.checkUI();\r\n }\r\n\r\n checkUI = () => {\r\n const width = this.tabRouterNav.nativeElement.clientWidth;\r\n const nameWidth = (width - this.tabs.length * 64) / this.tabs.length;\r\n if (nameWidth <= 20) {\r\n this.mode = 'compact';\r\n } else {\r\n this.mode = 'default';\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Compiler,\r\n Component,\r\n Injector,\r\n NgModuleRef,\r\n OnDestroy,\r\n OnInit,\r\n Type,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n ActivatedRouteSnapshot,\r\n ChildrenOutletContexts,\r\n // ChildrenOutletContexts,\r\n Event,\r\n NavigationEnd,\r\n PRIMARY_OUTLET,\r\n Router,\r\n RoutesRecognized,\r\n} from '@angular/router';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport {\r\n SdTabActivated,\r\n SdTabDeactivated,\r\n} from '../../events/tab-router.event';\r\n\r\nimport { SdTab } from '../../models/tab-router.model';\r\nimport { SdTabAction } from '../../actions/tab-router.action';\r\nimport { SdTabRouterService } from '../../services/tab-router.service';\r\nimport { SdTabRouterNavComponent } from '../tab-router-nav/tab-router-nav.component';\r\nimport { Subscription } from 'rxjs';\r\nimport { SdTabDecoratorService } from '../../services/tab-decorator.service';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'sd-tab-router-outlet',\r\n templateUrl: './tab-router-outlet.component.html',\r\n styleUrls: ['./tab-router-outlet.component.scss'],\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SdTabRouterOutletComponent implements OnDestroy {\r\n @ViewChild('tabRouterNav') tabRouterNav: SdTabRouterNavComponent;\r\n tabs: SdTab[] = [];\r\n\r\n #rootRoute: ActivatedRoute;\r\n #subscription = new Subscription();\r\n #firstLoad = true;\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private cd: ChangeDetectorRef,\r\n private injector: Injector,\r\n private compiler: Compiler,\r\n private parentContexts: ChildrenOutletContexts,\r\n private tabDecoratorService: SdTabDecoratorService,\r\n private tabRouterService: SdTabRouterService,\r\n private sdNotifyService: SdNotifyService\r\n ) {\r\n this.#subscription.add(router.events.pipe(filter(event => event instanceof RoutesRecognized || event instanceof NavigationEnd))\r\n .subscribe(async (event: RoutesRecognized | NavigationEnd) => {\r\n if (this.#firstLoad && event instanceof NavigationEnd) {\r\n this.#firstLoad = false;\r\n const route = this.#getActivatedRouteSnapshot(this.activatedRoute.snapshot);\r\n this.#rootRoute = this.router.routerState.root;\r\n await this.#activeRoute(event.urlAfterRedirects || event.url, route);\r\n return;\r\n }\r\n if (!this.#firstLoad && event instanceof RoutesRecognized) {\r\n const route = this.#getActivatedRouteSnapshot(event.state.root);\r\n this.#rootRoute = this.router.routerState.root;\r\n await this.#activeRoute(event.urlAfterRedirects || event.url, route);\r\n }\r\n })\r\n );\r\n\r\n this.#subscription.add(tabRouterService.actions.subscribe((event: SdTabAction | null) => {\r\n if (event && event.type === 'close') {\r\n this.#closeTab(event.tab);\r\n }\r\n }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n #closeTab = (tab: SdTab) => {\r\n this.tabs = this.tabs.filter(({ key }) => key !== tab.key);\r\n if (tab.isActive) {\r\n const lastTab = this.tabs[this.tabs.length - 1];\r\n if (lastTab) {\r\n this.router.navigateByUrl(lastTab.url, {\r\n state: {\r\n switchTab: true,\r\n },\r\n });\r\n } else {\r\n this.router.navigateByUrl('/', {\r\n state: {\r\n switchTab: true,\r\n },\r\n });\r\n }\r\n } else {\r\n this.tabRouterNav?.checkUI();\r\n this.cd.markForCheck();\r\n }\r\n }\r\n\r\n #activeRoute = async (url: string, route: ActivatedRouteSnapshot | null) => {\r\n if (!route?.component) {\r\n return;\r\n }\r\n const component = route.component as Type<any>;\r\n const queryParams = {\r\n ...(route.queryParams || {}),\r\n };\r\n const params = {\r\n ...(route.params || {}),\r\n };\r\n\r\n let existedIndex = -1;\r\n this.tabs.forEach((tab: SdTab, index: number) => {\r\n if (tab.key === url) {\r\n tab.isActive = true;\r\n existedIndex = index;\r\n } else {\r\n if (tab.isActive) {\r\n this.tabRouterService.pushEvent(tab, SdTabDeactivated);\r\n }\r\n tab.isActive = false;\r\n }\r\n });\r\n\r\n const currentNavigation = this.router.getCurrentNavigation();\r\n if (existedIndex >= 0 && currentNavigation?.extras?.state?.switchTab) {\r\n const existedTab = this.tabs[existedIndex];\r\n this.tabRouterService.setCurrentTab(existedTab);\r\n this.tabRouterService.pushEvent(existedTab, SdTabActivated);\r\n } else {\r\n if (typeof route?.parent?.routeConfig?.loadChildren === 'function') {\r\n const module = await route.parent.routeConfig.loadChildren();\r\n const factory = await this.compiler.compileModuleAsync(module);\r\n const injector = factory.create(this.injector);\r\n // let tabInfo = {};\r\n // if ('getTabInfo' in component) {\r\n // tabInfo = component.getTabInfo({\r\n // params,\r\n // queryParams,\r\n // });\r\n // }\r\n\r\n const activatedRoute = this.#getActivatedRoute(\r\n this.#rootRoute,\r\n component\r\n );\r\n\r\n const tab = {\r\n key: url,\r\n component,\r\n injector: new SdOutletInjector(activatedRoute, injector),\r\n\r\n isActive: true,\r\n name: url,\r\n url,\r\n params,\r\n queryParams,\r\n // ...tabInfo,\r\n };\r\n\r\n this.tabRouterService.setCurrentTab(tab);\r\n if (existedIndex >= 0 && !currentNavigation?.extras?.state?.switchTab) {\r\n this.tabs[existedIndex] = tab;\r\n } else {\r\n this.tabs.push(tab);\r\n }\r\n }\r\n\r\n this.tabRouterNav?.checkUI();\r\n if (this.tabs.length > 10) {\r\n this.sdNotifyService.notify.warning(\r\n 'Bạn đã mở quá nhiều tab. Vui lòng tắt các tab không dùng để hệ thống hoạt động tốt hơn.'\r\n );\r\n }\r\n if (this.tabs.length > 12) {\r\n this.tabs.splice(0, this.tabs.length - 10);\r\n }\r\n }\r\n this.cd.markForCheck();\r\n }\r\n\r\n #getActivatedRouteSnapshot = (\r\n activatedRouteSnapshot: ActivatedRouteSnapshot\r\n ): ActivatedRouteSnapshot | null => {\r\n if (!activatedRouteSnapshot) {\r\n return null;\r\n }\r\n\r\n if (activatedRouteSnapshot.firstChild) {\r\n return this.#getActivatedRouteSnapshot(activatedRouteSnapshot.firstChild);\r\n } else {\r\n return activatedRouteSnapshot;\r\n }\r\n }\r\n\r\n #getActivatedRoute = (\r\n activatedRoute: ActivatedRoute,\r\n component: any\r\n ): ActivatedRoute | null => {\r\n if (!activatedRoute) {\r\n return null;\r\n }\r\n\r\n if (activatedRoute.component && activatedRoute.component === component) {\r\n return activatedRoute;\r\n } else if (activatedRoute.firstChild) {\r\n return this.#getActivatedRoute(activatedRoute.firstChild, component);\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nclass SdOutletInjector implements Injector {\r\n constructor(\r\n private route: ActivatedRoute | null,\r\n // private childContexts: ChildrenOutletContexts,\r\n private parent: any\r\n ) { }\r\n\r\n get(token: any, notFoundValue?: any): any {\r\n if (token === ActivatedRoute && this.route) {\r\n return this.route;\r\n }\r\n\r\n // if (token === ChildrenOutletContexts) {\r\n // return this.childContexts;\r\n // }\r\n\r\n return this.parent.get(token, notFoundValue);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { SdTab, SdTabInfo } from '../models/tab-router.model';\r\nimport { SdTabRouterService } from '../services/tab-router.service';\r\n@Pipe({\r\n name: 'sdTabInfo'\r\n})\r\nexport class SdTabInfoPipe implements PipeTransform {\r\n constructor(private tabRouterService: SdTabRouterService) { }\r\n transform(tab: SdTab): Observable<SdTabInfo> {\r\n return this.tabRouterService.builders.pipe(map(builders => {\r\n const builder = builders.find(e => e.component === tab.component);\r\n if (builder) {\r\n const { params, queryParams } = tab;\r\n return {\r\n name: typeof (builder.name) === 'function' ? builder.name({ params, queryParams }) : builder.name,\r\n initialName: typeof (builder.initialName) === 'function' ? builder.initialName({ params, queryParams }) : builder.initialName,\r\n color: typeof (builder.color) === 'function' ? builder.color({ params, queryParams }) : builder.color\r\n };\r\n }\r\n return {\r\n name: tab.url,\r\n initialName: tab.url[0],\r\n };\r\n }));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport { SdTabRouterItemComponent } from './components/tab-router-item/tab-router-item.component';\r\nimport { SdTabRouterNavComponent } from './components/tab-router-nav/tab-router-nav.component';\r\nimport { SdTabRouterOutletComponent } from './components/tab-router-outlet/tab-router-outlet.component';\r\nimport { SdTabInfoPipe } from './pipes/tab-info.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n SdTabRouterItemComponent,\r\n SdTabRouterNavComponent,\r\n SdTabRouterOutletComponent,\r\n SdTabInfoPipe,\r\n ],\r\n imports: [RouterModule, CommonModule, MatIconModule, MatTooltipModule],\r\n exports: [\r\n SdTabRouterItemComponent,\r\n SdTabRouterNavComponent,\r\n SdTabRouterOutletComponent,\r\n ],\r\n providers: [],\r\n})\r\nexport class SdTabRouterModule {}\r\n","import { Type } from '@angular/core';\r\nimport { SdTabDecoratorService } from '../services/tab-decorator.service';\r\n\r\nexport declare interface SdTabComponentBuilder {\r\n component: Type<any>;\r\n name: string | ((args: { params: any, queryParams: any }) => string);\r\n initialName: string | ((args: { params: any, queryParams: any }) => string);\r\n color?: string | ((args: { params: any, queryParams: any }) => string);\r\n}\r\n\r\nexport function SdTabComponent<T>(builder: SdTabComponentBuilder) {\r\n return (constructor: T) => {\r\n const service = SdTabDecoratorService.getService();\r\n service.addBuilder(builder);\r\n console.log(constructor);\r\n };\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"SdButtonModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":11,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":12,"character":4},{"__symbolic":"reference","module":"@angular/material/progress-spinner","name":"MatProgressSpinnerModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":14,"character":4}],"declarations":[{"__symbolic":"reference","name":"SdButton"}],"exports":[{"__symbolic":"reference","name":"SdButton"}]}]}],"members":{}},"SdButton":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"sd-button","template":"<button *ngIf=\"type === 'fill'\" [ngStyle]=\"{'width':width}\" class=\"c-button c-fill\"\r\n [ngClass]=\"{'c-sm': size === 'sm', 'c-lg': size === 'lg'}\" type=\"button\" [color]=\"color\" [disabled]=\"isDisabled\"\r\n matTooltipPosition=\"above\" [matTooltip]=\"tooltip\" mat-flat-button #button>\r\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\r\n</button>\r\n<button *ngIf=\"type === 'light'\" [ngStyle]=\"{'width':width}\" class=\"c-button c-light\"\r\n [ngClass]=\"{'c-sm': size === 'sm', 'c-lg': size === 'lg'}\" type=\"button\" [color]=\"color\" [disabled]=\"isDisabled\"\r\n matTooltipPosition=\"above\" [matTooltip]=\"tooltip\" mat-flat-button #button>\r\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\r\n</button>\r\n<button *ngIf=\"type === 'outline'\" [ngStyle]=\"{'width':width}\" class=\"c-button c-outline\"\r\n [ngClass]=\"{'c-sm': size === 'sm', 'c-lg': size === 'lg'}\" type=\"button\" [color]=\"color\" [disabled]=\"isDisabled\"\r\n matTooltipPosition=\"above\" [matTooltip]=\"tooltip\" mat-stroked-button #button>\r\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\r\n</button>\r\n<button *ngIf=\"type === 'link'\" [ngStyle]=\"{'width':width}\" class=\"c-button c-link\"\r\n [ngClass]=\"{'c-sm': size === 'sm', 'c-lg': size === 'lg'}\" type=\"button\" [color]=\"color\" [disabled]=\"isDisabled\"\r\n matTooltipPosition=\"above\" [matTooltip]=\"tooltip\" mat-button #button>\r\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\r\n</button>\r\n<ng-template #buttonContent>\r\n <ng-container *ngIf=\"title\">\r\n <ng-container *ngIf=\"!iconSuffix\">\r\n <mat-spinner *ngIf=\"loading\" strokeWidth=\"2\" mode=\"indeterminate\" diameter=\"18\" value=\"100\"\r\n class=\"d-inline-block\"></mat-spinner>\r\n <mat-icon *ngIf=\"!loading && icon\" [fontSet]=\"fontSet\">{{icon}}</mat-icon>\r\n </ng-container>\r\n <span class=\"d-inline\" [ngClass]=\"{'ml-8': icon && !iconSuffix, 'mr-8': icon && iconSuffix}\">{{title}}</span>\r\n <mat-icon *ngIf=\"iconSuffix && icon\" [fontSet]=\"fontSet\">{{icon}}</mat-icon>\r\n </ng-container>\r\n <ng-container *ngIf=\"!title\">\r\n <mat-icon [fontSet]=\"fontSet\">{{icon}}</mat-icon>\r\n </ng-container>\r\n</ng-template>","styles":[":host ::ng-deep button.c-button{font-size:16px;height:40px;line-height:20px;padding:2px 16px!important}:host ::ng-deep button.c-button .mat-button-wrapper{align-items:center;display:flex;justify-content:center}:host ::ng-deep button.c-button.mat-button-disabled{background-color:#e9e9e9!important;color:#a6a6a6!important}:host ::ng-deep button.c-button.c-sm{font-size:14px!important;font-weight:400;height:32px;line-height:20px!important;padding:2px 16px!important}:host ::ng-deep button.c-button.c-sm mat-icon{font-size:16px!important;height:16px!important;width:16px!important}:host ::ng-deep button.c-button.c-lg{font-size:16px!important;height:48px;line-height:20px!important;padding:2px 16px!important}:host ::ng-deep button.c-button:focus{outline:none}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-info,:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-primary{background-color:#2962ff;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-success{background-color:#4caf50;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-warning{background-color:#ff9600;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-danger{background-color:#f82c13;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-secondary{background-color:#212121;color:#fff}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-info,:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-primary{background-color:#e7e9ff;color:#2962ff}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-success{background-color:#dbefdc;color:#4caf50}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-warning{background-color:#ffeacc;color:#ff9600}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-danger{background-color:#fed5d0;color:#f82c13}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-secondary{background-color:#e9e9e9;color:#212121}:host ::ng-deep button.c-button.c-outline.mat-stroked-button{border-color:#d3d3d3}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-info,:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-primary{color:#2962ff}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-success{color:#4caf50}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-warning{color:#ff9600}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-danger{color:#f82c13}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-secondary{color:#212121}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-button-disabled{background:transparent!important}:host ::ng-deep button.c-button.c-link.mat-button.mat-info,:host ::ng-deep button.c-button.c-link.mat-button.mat-primary{color:#2962ff}:host ::ng-deep button.c-button.c-link.mat-button.mat-success{color:#4caf50}:host ::ng-deep button.c-button.c-link.mat-button.mat-warning{color:#ff9600}:host ::ng-deep button.c-button.c-link.mat-button.mat-danger{color:#f82c13}:host ::ng-deep button.c-button.c-link.mat-button.mat-secondary{color:#212121}"]}]}],"members":{"button":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":22,"character":3},"arguments":["button"]}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"iconSuffix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"fontSet":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"action":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":47,"character":27}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"SdButtonModule":"./src/lib/button.module","SdButton":"./src/lib/button.component"},"importAs":"@sd-angular/core/button"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"SdButtonModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":11,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":12,"character":4},{"__symbolic":"reference","module":"@angular/material/progress-spinner","name":"MatProgressSpinnerModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":14,"character":4}],"declarations":[{"__symbolic":"reference","name":"SdButton"}],"exports":[{"__symbolic":"reference","name":"SdButton"}]}]}],"members":{}},"SdButton":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"sd-button","template":"<button *ngIf=\"type === 'fill'\" [ngStyle]=\"{'width':width}\" class=\"c-button c-fill\"\r\n [ngClass]=\"{'c-sm': size === 'sm', 'c-lg': size === 'lg'}\" type=\"button\" [color]=\"color\" [disabled]=\"isDisabled\"\r\n matTooltipPosition=\"above\" [matTooltip]=\"tooltip\" mat-flat-button #button>\r\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\r\n</button>\r\n<button *ngIf=\"type === 'light'\" [ngStyle]=\"{'width':width}\" class=\"c-button c-light\"\r\n [ngClass]=\"{'c-sm': size === 'sm', 'c-lg': size === 'lg'}\" type=\"button\" [color]=\"color\" [disabled]=\"isDisabled\"\r\n matTooltipPosition=\"above\" [matTooltip]=\"tooltip\" mat-flat-button #button>\r\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\r\n</button>\r\n<button *ngIf=\"type === 'outline'\" [ngStyle]=\"{'width':width}\" class=\"c-button c-outline\"\r\n [ngClass]=\"{'c-sm': size === 'sm', 'c-lg': size === 'lg'}\" type=\"button\" [color]=\"color\" [disabled]=\"isDisabled\"\r\n matTooltipPosition=\"above\" [matTooltip]=\"tooltip\" mat-stroked-button #button>\r\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\r\n</button>\r\n<button *ngIf=\"type === 'link'\" [ngStyle]=\"{'width':width}\" class=\"c-button c-link\"\r\n [ngClass]=\"{'c-sm': size === 'sm', 'c-lg': size === 'lg'}\" type=\"button\" [color]=\"color\" [disabled]=\"isDisabled\"\r\n matTooltipPosition=\"above\" [matTooltip]=\"tooltip\" mat-button #button>\r\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\r\n</button>\r\n<ng-template #buttonContent>\r\n <ng-container *ngIf=\"title\">\r\n <ng-container *ngIf=\"!iconSuffix\">\r\n <mat-spinner *ngIf=\"loading\" strokeWidth=\"2\" mode=\"indeterminate\" diameter=\"18\" value=\"100\"\r\n class=\"d-inline-block\"></mat-spinner>\r\n <mat-icon *ngIf=\"!loading && icon\" [fontSet]=\"fontSet\">{{icon}}</mat-icon>\r\n </ng-container>\r\n <span class=\"d-inline\" [ngClass]=\"{'ml-8': icon && !iconSuffix, 'mr-8': icon && iconSuffix}\">{{title}}</span>\r\n <mat-icon *ngIf=\"iconSuffix && icon\" [fontSet]=\"fontSet\">{{icon}}</mat-icon>\r\n </ng-container>\r\n <ng-container *ngIf=\"!title\">\r\n <mat-icon [fontSet]=\"fontSet\">{{icon}}</mat-icon>\r\n </ng-container>\r\n</ng-template>","styles":[":host ::ng-deep button.c-button{font-size:16px;height:40px;line-height:20px;padding:2px 16px!important}:host ::ng-deep button.c-button .mat-button-wrapper{align-items:center;display:flex;justify-content:center}:host ::ng-deep button.c-button.mat-button-disabled{background-color:#e9e9e9!important;color:#a6a6a6!important}:host ::ng-deep button.c-button.c-square{min-width:auto!important;padding:0!important;width:40px!important}:host ::ng-deep button.c-button.c-sm{font-size:14px!important;font-weight:400;height:32px;line-height:20px!important;padding:2px 16px!important}:host ::ng-deep button.c-button.c-sm mat-icon{font-size:16px!important;height:16px!important;width:16px!important}:host ::ng-deep button.c-button.c-sm.c-square{width:32px!important}:host ::ng-deep button.c-button.c-lg{font-size:16px!important;height:48px;line-height:20px!important;padding:2px 16px!important}:host ::ng-deep button.c-button.c-lg.c-square{width:48px!important}:host ::ng-deep button.c-button:focus{outline:none}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-info,:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-primary{background-color:#2962ff;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-success{background-color:#4caf50;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-warning{background-color:#ff9600;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-danger{background-color:#f82c13;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-secondary{background-color:#212121;color:#fff}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-info,:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-primary{background-color:#e7e9ff;color:#2962ff}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-success{background-color:#dbefdc;color:#4caf50}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-warning{background-color:#ffeacc;color:#ff9600}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-danger{background-color:#fed5d0;color:#f82c13}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-secondary{background-color:#e9e9e9;color:#212121}:host ::ng-deep button.c-button.c-outline.mat-stroked-button{border-color:#d3d3d3}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-info,:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-primary{color:#2962ff}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-success{color:#4caf50}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-warning{color:#ff9600}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-danger{color:#f82c13}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-secondary{color:#212121}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-button-disabled{background:transparent!important}:host ::ng-deep button.c-button.c-link.mat-button.mat-info,:host ::ng-deep button.c-button.c-link.mat-button.mat-primary{color:#2962ff}:host ::ng-deep button.c-button.c-link.mat-button.mat-success{color:#4caf50}:host ::ng-deep button.c-button.c-link.mat-button.mat-warning{color:#ff9600}:host ::ng-deep button.c-button.c-link.mat-button.mat-danger{color:#f82c13}:host ::ng-deep button.c-button.c-link.mat-button.mat-secondary{color:#212121}"]}]}],"members":{"button":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":22,"character":3},"arguments":["button"]}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"iconSuffix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"fontSet":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"action":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":47,"character":27}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"SdButtonModule":"./src/lib/button.module","SdButton":"./src/lib/button.component"},"importAs":"@sd-angular/core/button"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './src/public-api';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvdXNlci9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9iYWRnZS8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9wdWJsaWMtYXBpJzsiXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QtYW5ndWxhci1jb3JlLWJhZGdlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvYmFkZ2UvIiwic291cmNlcyI6WyJzZC1hbmd1bGFyLWNvcmUtYmFkZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
export class SdBadge {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.icon = "fiber_manual_record";
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
SdBadge.decorators = [
|
|
8
|
+
{ type: Component, args: [{
|
|
9
|
+
selector: "sd-badge",
|
|
10
|
+
template: "<div\r\n class=\"c-badge-circle d-flex align-items-center\"\r\n [class]=\"{\r\n 'c-unknown': !color,\r\n 'c-secondary': color === 'normal',\r\n 'c-info': color === 'info',\r\n 'c-success': color === 'success',\r\n 'c-danger': color === 'danger',\r\n 'c-warning': color === 'warning'\r\n }\"\r\n>\r\n <span *ngIf=\"color\" class=\"material-icons-round c-material-icon mr-4\">\r\n {{ icon }}\r\n </span>\r\n <span *ngIf=\"!color\" class=\"material-icons-outlined c-material-icon mr-4\">\r\n {{ icon }}\r\n </span>\r\n {{ title }}\r\n</div>\r\n",
|
|
11
|
+
styles: [".c-badge-circle{min-width:150px}.c-badge-circle .c-material-icon{font-size:12px;height:12px;width:12px}.c-badge-circle.c-unknown{color:#212121}.c-badge-circle.c-unknown .c-material-icon{color:rgba(0,0,0,.5)}.c-badge-circle.c-secondary{color:#212121}.c-badge-circle.c-info{color:#2962ff}.c-badge-circle.c-success{color:#4caf50}.c-badge-circle.c-danger{color:#f82c13}.c-badge-circle.c-warning{color:#ff9600}"]
|
|
12
|
+
},] }
|
|
13
|
+
];
|
|
14
|
+
SdBadge.propDecorators = {
|
|
15
|
+
color: [{ type: Input }],
|
|
16
|
+
title: [{ type: Input }],
|
|
17
|
+
icon: [{ type: Input }]
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvYmFkZ2UvIiwic291cmNlcyI6WyJzcmMvbGliL2JhZGdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU9qRCxNQUFNLE9BQU8sT0FBTztJQUxwQjtRQVVXLFNBQUksR0FBVyxxQkFBcUIsQ0FBQztJQUNoRCxDQUFDOzs7WUFYQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLHlrQkFBcUM7O2FBRXRDOzs7b0JBRUUsS0FBSztvQkFFTCxLQUFLO21CQUVMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInNkLWJhZGdlXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9iYWRnZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9iYWRnZS5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkQmFkZ2Uge1xyXG4gIEBJbnB1dCgpIGNvbG9yOiBcIm5vcm1hbFwiIHwgXCJpbmZvXCIgfCBcInN1Y2Nlc3NcIiB8IFwid2FybmluZ1wiIHwgXCJkYW5nZXJcIjtcclxuXHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nID0gXCJmaWJlcl9tYW51YWxfcmVjb3JkXCI7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { MatIconModule } from "@angular/material/icon";
|
|
4
|
+
import { SdBadge } from "./badge.component";
|
|
5
|
+
export class SdBadgeModule {
|
|
6
|
+
}
|
|
7
|
+
SdBadgeModule.decorators = [
|
|
8
|
+
{ type: NgModule, args: [{
|
|
9
|
+
imports: [CommonModule, MatIconModule],
|
|
10
|
+
declarations: [SdBadge],
|
|
11
|
+
exports: [SdBadge],
|
|
12
|
+
},] }
|
|
13
|
+
];
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvYmFkZ2UvIiwic291cmNlcyI6WyJzcmMvbGliL2JhZGdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBTzVDLE1BQU0sT0FBTyxhQUFhOzs7WUFMekIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7Z0JBQ3RDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQztnQkFDdkIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5cclxuaW1wb3J0IHsgU2RCYWRnZSB9IGZyb20gXCIuL2JhZGdlLmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcclxuICBkZWNsYXJhdGlvbnM6IFtTZEJhZGdlXSxcclxuICBleHBvcnRzOiBbU2RCYWRnZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZEJhZGdlTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of superdev-angular-core
|
|
3
|
+
*/
|
|
4
|
+
export { SdBadgeModule } from "./lib/badge.module";
|
|
5
|
+
export * from "./lib/badge.component";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy91c2VyL0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2JhZGdlLyIsInNvdXJjZXMiOlsic3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzdXBlcmRldi1hbmd1bGFyLWNvcmVcclxuICovXHJcblxyXG5leHBvcnQgeyBTZEJhZGdlTW9kdWxlIH0gZnJvbSBcIi4vbGliL2JhZGdlLm1vZHVsZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvYmFkZ2UuY29tcG9uZW50XCI7XHJcbiJdfQ==
|
|
@@ -54,7 +54,7 @@ SdButton.decorators = [
|
|
|
54
54
|
{ type: Component, args: [{
|
|
55
55
|
selector: 'sd-button',
|
|
56
56
|
template: "<button *ngIf=\"type === 'fill'\" [ngStyle]=\"{'width':width}\" class=\"c-button c-fill\"\r\n [ngClass]=\"{'c-sm': size === 'sm', 'c-lg': size === 'lg'}\" type=\"button\" [color]=\"color\" [disabled]=\"isDisabled\"\r\n matTooltipPosition=\"above\" [matTooltip]=\"tooltip\" mat-flat-button #button>\r\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\r\n</button>\r\n<button *ngIf=\"type === 'light'\" [ngStyle]=\"{'width':width}\" class=\"c-button c-light\"\r\n [ngClass]=\"{'c-sm': size === 'sm', 'c-lg': size === 'lg'}\" type=\"button\" [color]=\"color\" [disabled]=\"isDisabled\"\r\n matTooltipPosition=\"above\" [matTooltip]=\"tooltip\" mat-flat-button #button>\r\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\r\n</button>\r\n<button *ngIf=\"type === 'outline'\" [ngStyle]=\"{'width':width}\" class=\"c-button c-outline\"\r\n [ngClass]=\"{'c-sm': size === 'sm', 'c-lg': size === 'lg'}\" type=\"button\" [color]=\"color\" [disabled]=\"isDisabled\"\r\n matTooltipPosition=\"above\" [matTooltip]=\"tooltip\" mat-stroked-button #button>\r\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\r\n</button>\r\n<button *ngIf=\"type === 'link'\" [ngStyle]=\"{'width':width}\" class=\"c-button c-link\"\r\n [ngClass]=\"{'c-sm': size === 'sm', 'c-lg': size === 'lg'}\" type=\"button\" [color]=\"color\" [disabled]=\"isDisabled\"\r\n matTooltipPosition=\"above\" [matTooltip]=\"tooltip\" mat-button #button>\r\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\r\n</button>\r\n<ng-template #buttonContent>\r\n <ng-container *ngIf=\"title\">\r\n <ng-container *ngIf=\"!iconSuffix\">\r\n <mat-spinner *ngIf=\"loading\" strokeWidth=\"2\" mode=\"indeterminate\" diameter=\"18\" value=\"100\"\r\n class=\"d-inline-block\"></mat-spinner>\r\n <mat-icon *ngIf=\"!loading && icon\" [fontSet]=\"fontSet\">{{icon}}</mat-icon>\r\n </ng-container>\r\n <span class=\"d-inline\" [ngClass]=\"{'ml-8': icon && !iconSuffix, 'mr-8': icon && iconSuffix}\">{{title}}</span>\r\n <mat-icon *ngIf=\"iconSuffix && icon\" [fontSet]=\"fontSet\">{{icon}}</mat-icon>\r\n </ng-container>\r\n <ng-container *ngIf=\"!title\">\r\n <mat-icon [fontSet]=\"fontSet\">{{icon}}</mat-icon>\r\n </ng-container>\r\n</ng-template>",
|
|
57
|
-
styles: [":host ::ng-deep button.c-button{font-size:16px;height:40px;line-height:20px;padding:2px 16px!important}:host ::ng-deep button.c-button .mat-button-wrapper{align-items:center;display:flex;justify-content:center}:host ::ng-deep button.c-button.mat-button-disabled{background-color:#e9e9e9!important;color:#a6a6a6!important}:host ::ng-deep button.c-button.c-sm{font-size:14px!important;font-weight:400;height:32px;line-height:20px!important;padding:2px 16px!important}:host ::ng-deep button.c-button.c-sm mat-icon{font-size:16px!important;height:16px!important;width:16px!important}:host ::ng-deep button.c-button.c-lg{font-size:16px!important;height:48px;line-height:20px!important;padding:2px 16px!important}:host ::ng-deep button.c-button:focus{outline:none}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-info,:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-primary{background-color:#2962ff;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-success{background-color:#4caf50;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-warning{background-color:#ff9600;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-danger{background-color:#f82c13;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-secondary{background-color:#212121;color:#fff}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-info,:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-primary{background-color:#e7e9ff;color:#2962ff}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-success{background-color:#dbefdc;color:#4caf50}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-warning{background-color:#ffeacc;color:#ff9600}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-danger{background-color:#fed5d0;color:#f82c13}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-secondary{background-color:#e9e9e9;color:#212121}:host ::ng-deep button.c-button.c-outline.mat-stroked-button{border-color:#d3d3d3}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-info,:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-primary{color:#2962ff}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-success{color:#4caf50}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-warning{color:#ff9600}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-danger{color:#f82c13}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-secondary{color:#212121}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-button-disabled{background:transparent!important}:host ::ng-deep button.c-button.c-link.mat-button.mat-info,:host ::ng-deep button.c-button.c-link.mat-button.mat-primary{color:#2962ff}:host ::ng-deep button.c-button.c-link.mat-button.mat-success{color:#4caf50}:host ::ng-deep button.c-button.c-link.mat-button.mat-warning{color:#ff9600}:host ::ng-deep button.c-button.c-link.mat-button.mat-danger{color:#f82c13}:host ::ng-deep button.c-button.c-link.mat-button.mat-secondary{color:#212121}"]
|
|
57
|
+
styles: [":host ::ng-deep button.c-button{font-size:16px;height:40px;line-height:20px;padding:2px 16px!important}:host ::ng-deep button.c-button .mat-button-wrapper{align-items:center;display:flex;justify-content:center}:host ::ng-deep button.c-button.mat-button-disabled{background-color:#e9e9e9!important;color:#a6a6a6!important}:host ::ng-deep button.c-button.c-square{min-width:auto!important;padding:0!important;width:40px!important}:host ::ng-deep button.c-button.c-sm{font-size:14px!important;font-weight:400;height:32px;line-height:20px!important;padding:2px 16px!important}:host ::ng-deep button.c-button.c-sm mat-icon{font-size:16px!important;height:16px!important;width:16px!important}:host ::ng-deep button.c-button.c-sm.c-square{width:32px!important}:host ::ng-deep button.c-button.c-lg{font-size:16px!important;height:48px;line-height:20px!important;padding:2px 16px!important}:host ::ng-deep button.c-button.c-lg.c-square{width:48px!important}:host ::ng-deep button.c-button:focus{outline:none}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-info,:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-primary{background-color:#2962ff;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-success{background-color:#4caf50;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-warning{background-color:#ff9600;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-danger{background-color:#f82c13;color:#fff}:host ::ng-deep button.c-button.c-fill.mat-flat-button.mat-secondary{background-color:#212121;color:#fff}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-info,:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-primary{background-color:#e7e9ff;color:#2962ff}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-success{background-color:#dbefdc;color:#4caf50}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-warning{background-color:#ffeacc;color:#ff9600}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-danger{background-color:#fed5d0;color:#f82c13}:host ::ng-deep button.c-button.c-light.mat-flat-button.mat-secondary{background-color:#e9e9e9;color:#212121}:host ::ng-deep button.c-button.c-outline.mat-stroked-button{border-color:#d3d3d3}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-info,:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-primary{color:#2962ff}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-success{color:#4caf50}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-warning{color:#ff9600}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-danger{color:#f82c13}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-secondary{color:#212121}:host ::ng-deep button.c-button.c-outline.mat-stroked-button.mat-button-disabled{background:transparent!important}:host ::ng-deep button.c-button.c-link.mat-button.mat-info,:host ::ng-deep button.c-button.c-link.mat-button.mat-primary{color:#2962ff}:host ::ng-deep button.c-button.c-link.mat-button.mat-success{color:#4caf50}:host ::ng-deep button.c-button.c-link.mat-button.mat-warning{color:#ff9600}:host ::ng-deep button.c-button.c-link.mat-button.mat-danger{color:#f82c13}:host ::ng-deep button.c-button.c-link.mat-button.mat-secondary{color:#212121}"]
|
|
58
58
|
},] }
|
|
59
59
|
];
|
|
60
60
|
SdButton.ctorParameters = () => [
|
|
@@ -21,6 +21,7 @@ import { SdLabelModule } from '@sd-angular/core/label';
|
|
|
21
21
|
import { SdTimeModule } from '@sd-angular/core/time';
|
|
22
22
|
import { SdSideDrawerModule } from '@sd-angular/core/side-drawer';
|
|
23
23
|
import { SdQuickActionModule } from '@sd-angular/core/quick-action';
|
|
24
|
+
import { SdBadgeModule } from '@sd-angular/core/badge';
|
|
24
25
|
export class SdFormModule {
|
|
25
26
|
}
|
|
26
27
|
SdFormModule.decorators = [
|
|
@@ -48,7 +49,8 @@ SdFormModule.decorators = [
|
|
|
48
49
|
SdTextareaModule,
|
|
49
50
|
SdCheckboxModule,
|
|
50
51
|
SdUtilityModule,
|
|
51
|
-
SdQuickActionModule
|
|
52
|
+
SdQuickActionModule,
|
|
53
|
+
SdBadgeModule,
|
|
52
54
|
],
|
|
53
55
|
declarations: [],
|
|
54
56
|
providers: [],
|
|
@@ -75,8 +77,9 @@ SdFormModule.decorators = [
|
|
|
75
77
|
SdTextareaModule,
|
|
76
78
|
SdCheckboxModule,
|
|
77
79
|
SdUtilityModule,
|
|
78
|
-
SdQuickActionModule
|
|
80
|
+
SdQuickActionModule,
|
|
81
|
+
SdBadgeModule,
|
|
79
82
|
]
|
|
80
83
|
},] }
|
|
81
84
|
];
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvdXNlci9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9mb3JtLyIsInNvdXJjZXMiOlsic3JjL2xpYi9mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQTREdkQsTUFBTSxPQUFPLFlBQVk7OztZQTFEeEIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2Isa0JBQWtCO29CQUNsQixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsWUFBWTtvQkFDWixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsYUFBYTtvQkFDYixxQkFBcUI7b0JBQ3JCLGNBQWM7b0JBQ2Qsb0JBQW9CO29CQUNwQixjQUFjO29CQUNkLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLG1CQUFtQjtvQkFDbkIsYUFBYTtpQkFDZDtnQkFDRCxZQUFZLEVBQUUsRUFDYjtnQkFDRCxTQUFTLEVBQUUsRUFDVjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2Isa0JBQWtCO29CQUNsQixhQUFhO29CQUNiLGtCQUFrQjtvQkFDbEIsaUJBQWlCO29CQUNqQixnQkFBZ0I7b0JBQ2hCLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxvQkFBb0I7b0JBQ3BCLGFBQWE7b0JBQ2IscUJBQXFCO29CQUNyQixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsY0FBYztvQkFDZCxjQUFjO29CQUNkLGFBQWE7b0JBQ2IsWUFBWTtvQkFDWixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixtQkFBbUI7b0JBQ25CLGFBQWE7aUJBQ2Q7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgU2RCdXR0b25Nb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2J1dHRvbic7XHJcbmltcG9ydCB7IFNkRGF0ZVJhbmdlTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9kYXRlLXJhbmdlJztcclxuaW1wb3J0IHsgU2REYXRlVGltZU1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvZGF0ZS10aW1lJztcclxuaW1wb3J0IHsgU2RFZGl0b3JNb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2VkaXRvcic7XHJcbmltcG9ydCB7IFNkSW5wdXRNb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2lucHV0JztcclxuaW1wb3J0IHsgU2RJbnB1dEN1cnJlbmN5TW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9pbnB1dC1jdXJyZW5jeSc7XHJcbmltcG9ydCB7IFNkTW9kYWxNb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL21vZGFsJztcclxuaW1wb3J0IHsgU2RSYWRpb01vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvcmFkaW8nO1xyXG5pbXBvcnQgeyBTZFNlbGVjdE1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvc2VsZWN0JztcclxuaW1wb3J0IHsgU2RTZWxlY3RFZGl0b3JNb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3NlbGVjdC1lZGl0b3InO1xyXG5pbXBvcnQgeyBTZFN3aXRjaE1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvc3dpdGNoJztcclxuaW1wb3J0IHsgU2RVcGxvYWRGaWxlTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS91cGxvYWQtZmlsZSc7XHJcbmltcG9ydCB7IFNkQ2hpcE1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY2hpcCc7XHJcbmltcG9ydCB7IFNkVGV4dGFyZWFNb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3RleHRhcmVhJztcclxuaW1wb3J0IHsgU2RVdGlsaXR5TW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS91dGlsaXR5JztcclxuaW1wb3J0IHsgU2RDaGVja2JveE1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBTZExhYmVsTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9sYWJlbCc7XHJcbmltcG9ydCB7IFNkVGltZU1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvdGltZSc7XHJcbmltcG9ydCB7IFNkU2lkZURyYXdlck1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvc2lkZS1kcmF3ZXInO1xyXG5pbXBvcnQgeyBTZFF1aWNrQWN0aW9uTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9xdWljay1hY3Rpb24nO1xyXG5pbXBvcnQgeyBTZEJhZGdlTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9iYWRnZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFNkTW9kYWxNb2R1bGUsXHJcbiAgICBTZFNpZGVEcmF3ZXJNb2R1bGUsXHJcbiAgICBTZExhYmVsTW9kdWxlLFxyXG4gICAgU2RVcGxvYWRGaWxlTW9kdWxlLFxyXG4gICAgU2REYXRlUmFuZ2VNb2R1bGUsXHJcbiAgICBTZERhdGVUaW1lTW9kdWxlLFxyXG4gICAgU2RUaW1lTW9kdWxlLFxyXG4gICAgU2RCdXR0b25Nb2R1bGUsXHJcbiAgICBTZEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIFNkSW5wdXRNb2R1bGUsXHJcbiAgICBTZElucHV0Q3VycmVuY3lNb2R1bGUsXHJcbiAgICBTZFNlbGVjdE1vZHVsZSxcclxuICAgIFNkU2VsZWN0RWRpdG9yTW9kdWxlLFxyXG4gICAgU2RFZGl0b3JNb2R1bGUsXHJcbiAgICBTZFN3aXRjaE1vZHVsZSxcclxuICAgIFNkUmFkaW9Nb2R1bGUsXHJcbiAgICBTZENoaXBNb2R1bGUsXHJcbiAgICBTZFRleHRhcmVhTW9kdWxlLFxyXG4gICAgU2RDaGVja2JveE1vZHVsZSxcclxuICAgIFNkVXRpbGl0eU1vZHVsZSxcclxuICAgIFNkUXVpY2tBY3Rpb25Nb2R1bGUsXHJcbiAgICBTZEJhZGdlTW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFNkTW9kYWxNb2R1bGUsXHJcbiAgICBTZFNpZGVEcmF3ZXJNb2R1bGUsXHJcbiAgICBTZExhYmVsTW9kdWxlLFxyXG4gICAgU2RVcGxvYWRGaWxlTW9kdWxlLFxyXG4gICAgU2REYXRlUmFuZ2VNb2R1bGUsXHJcbiAgICBTZERhdGVUaW1lTW9kdWxlLFxyXG4gICAgU2RUaW1lTW9kdWxlLFxyXG4gICAgU2RCdXR0b25Nb2R1bGUsXHJcbiAgICBTZEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIFNkSW5wdXRNb2R1bGUsXHJcbiAgICBTZElucHV0Q3VycmVuY3lNb2R1bGUsXHJcbiAgICBTZFNlbGVjdE1vZHVsZSxcclxuICAgIFNkU2VsZWN0RWRpdG9yTW9kdWxlLFxyXG4gICAgU2RFZGl0b3JNb2R1bGUsXHJcbiAgICBTZFN3aXRjaE1vZHVsZSxcclxuICAgIFNkUmFkaW9Nb2R1bGUsXHJcbiAgICBTZENoaXBNb2R1bGUsXHJcbiAgICBTZFRleHRhcmVhTW9kdWxlLFxyXG4gICAgU2RDaGVja2JveE1vZHVsZSxcclxuICAgIFNkVXRpbGl0eU1vZHVsZSxcclxuICAgIFNkUXVpY2tBY3Rpb25Nb2R1bGUsXHJcbiAgICBTZEJhZGdlTW9kdWxlLFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkRm9ybU1vZHVsZSB7IH1cclxuIl19
|