oasys-lib 0.0.2 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/bundles/oasys-lib.umd.js +334 -0
  2. package/bundles/oasys-lib.umd.js.map +1 -0
  3. package/esm2015/lib/components/button/button.component.js +95 -0
  4. package/esm2015/lib/components/button/button.js +2 -0
  5. package/esm2015/lib/components/icon/icon.component.js +59 -0
  6. package/{esm2020/lib/components/icon/icon.mjs → esm2015/lib/components/icon/icon.js} +0 -0
  7. package/esm2015/lib/components/layout/box/box.component.js +32 -0
  8. package/esm2015/lib/components/layout/inline/inline.component.js +20 -0
  9. package/{esm2020/lib/components/text/text.mjs → esm2015/lib/components/text/text.js} +0 -0
  10. package/esm2015/lib/oasys-lib.module.js +52 -0
  11. package/{esm2020/lib/services/token.service.mjs → esm2015/lib/services/token.service.js} +4 -4
  12. package/{esm2020/lib/services/window.service.mjs → esm2015/lib/services/window.service.js} +4 -4
  13. package/{esm2020/oasys-lib.mjs → esm2015/oasys-lib.js} +0 -0
  14. package/{esm2020/public-api.mjs → esm2015/public-api.js} +0 -0
  15. package/fesm2015/oasys-lib.js +296 -0
  16. package/fesm2015/oasys-lib.js.map +1 -0
  17. package/lib/components/button/button.component.d.ts +8 -6
  18. package/lib/components/button/button.component.d.ts.map +1 -1
  19. package/lib/components/button/button.d.ts +1 -2
  20. package/lib/components/button/button.d.ts.map +1 -1
  21. package/lib/oasys-lib.module.d.ts +1 -1
  22. package/lib/oasys-lib.module.d.ts.map +1 -1
  23. package/package.json +8 -21
  24. package/src/assets/bloomandwild/variables.css +5 -5
  25. package/src/assets/bloomon/variables.css +2 -2
  26. package/src/assets/global/variables.css +1 -1
  27. package/esm2020/lib/components/button/button.component.mjs +0 -77
  28. package/esm2020/lib/components/button/button.mjs +0 -2
  29. package/esm2020/lib/components/icon/icon.component.mjs +0 -53
  30. package/esm2020/lib/components/layout/box/box.component.mjs +0 -25
  31. package/esm2020/lib/components/layout/inline/inline.component.mjs +0 -14
  32. package/esm2020/lib/oasys-lib.module.mjs +0 -49
  33. package/fesm2015/oasys-lib.mjs +0 -257
  34. package/fesm2015/oasys-lib.mjs.map +0 -1
  35. package/fesm2020/oasys-lib.mjs +0 -257
  36. package/fesm2020/oasys-lib.mjs.map +0 -1
@@ -0,0 +1,334 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/router')) :
3
+ typeof define === 'function' && define.amd ? define('oasys-lib', ['exports', '@angular/common', '@angular/core', '@angular/router'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["oasys-lib"] = {}, global.ng.common, global.ng.core, global.ng.router));
5
+ })(this, (function (exports, i3, i0, i2) { 'use strict';
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n["default"] = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
26
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
27
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
28
+
29
+ function _window() {
30
+ return window;
31
+ }
32
+ var WindowService = /** @class */ (function () {
33
+ function WindowService() {
34
+ }
35
+ Object.defineProperty(WindowService.prototype, "nativeWindow", {
36
+ get: function () {
37
+ return _window();
38
+ },
39
+ enumerable: false,
40
+ configurable: true
41
+ });
42
+ return WindowService;
43
+ }());
44
+ WindowService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: WindowService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
45
+ WindowService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: WindowService, providedIn: 'root' });
46
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: WindowService, decorators: [{
47
+ type: i0.Injectable,
48
+ args: [{
49
+ providedIn: 'root'
50
+ }]
51
+ }] });
52
+
53
+ var TokenService = /** @class */ (function () {
54
+ function TokenService(windowRef) {
55
+ this.windowRef = windowRef;
56
+ }
57
+ /*
58
+ Get the brand name for the currently enable custom property set (ie. /bloomon/variables.css)
59
+ Because variables are scoped via a selector (ie: ':root .bloomon {}')
60
+ we cannot get brand-specific custom properties programatically
61
+
62
+ Important: Ensure that the component requiring the brand name has locally scoped the custom property:
63
+ | ui-icon {
64
+ | --icon-component-brand: var(--utility-brand-name);
65
+ | }
66
+ */
67
+ TokenService.prototype.getBrandName = function (tokenName, element) {
68
+ return this.getTokenValue(tokenName, element);
69
+ };
70
+ TokenService.prototype.getTokenValue = function (tokenName, element) {
71
+ var rootElement = element || this.windowRef.nativeWindow.document.documentElement;
72
+ return this.windowRef.nativeWindow.getComputedStyle(rootElement)
73
+ .getPropertyValue(tokenName)
74
+ .trim() || '';
75
+ };
76
+ return TokenService;
77
+ }());
78
+ TokenService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TokenService, deps: [{ token: WindowService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
79
+ TokenService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TokenService, providedIn: 'root' });
80
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TokenService, decorators: [{
81
+ type: i0.Injectable,
82
+ args: [{
83
+ providedIn: 'root'
84
+ }]
85
+ }], ctorParameters: function () { return [{ type: WindowService }]; } });
86
+
87
+ var IconComponent = /** @class */ (function () {
88
+ function IconComponent(tokenService, windowRef, elementRef) {
89
+ this.tokenService = tokenService;
90
+ this.windowRef = windowRef;
91
+ this.elementRef = elementRef;
92
+ this.iconSize = 'large';
93
+ this.iconContext = 'none';
94
+ }
95
+ IconComponent.prototype.convertRemToPixels = function (remString) {
96
+ var remNumber = parseFloat(remString.replace('rem', ''));
97
+ return remNumber * parseFloat(getComputedStyle(this.windowRef.nativeWindow.document.documentElement).fontSize);
98
+ };
99
+ IconComponent.prototype.ngOnChanges = function () {
100
+ this.ngOnInit();
101
+ };
102
+ IconComponent.prototype.ngOnInit = function () {
103
+ this.iconBrandPath = "" + this.tokenService.getBrandName("--icon-component-brand", this.elementRef.nativeElement);
104
+ this.size = this.tokenService.getTokenValue("--global-size-icon-" + this.iconSize);
105
+ this.iconDisplayClasses = [
106
+ "icon-context-" + this.iconContext,
107
+ "icon-size-" + this.iconSize
108
+ ];
109
+ var sizeInPixels = this.convertRemToPixels(this.size);
110
+ this.iconWidth = sizeInPixels;
111
+ this.iconHeight = sizeInPixels;
112
+ };
113
+ return IconComponent;
114
+ }());
115
+ IconComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: IconComponent, deps: [{ token: TokenService }, { token: WindowService }, { token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
116
+ IconComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: IconComponent, selector: "ui-icon", inputs: { iconSize: "iconSize", iconName: "iconName", iconContext: "iconContext", iconWidth: "iconWidth", iconHeight: "iconHeight", iconClass: "iconClass" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"ui-icon\" [ngClass]=\"iconDisplayClasses\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" attr.width=\"{{iconWidth}}px\" attr.height=\"{{iconHeight}}px\" attr.class=\"{{iconClass}}\">\n <use attr.xlink:href=\"./{{iconBrandPath}}/assets/icons/icons.svg#icon-{{iconName}}-24\"></use>\n </svg>\n</div>\n", styles: ["ui-icon{--icon-component-brand: var(--utility-brand-name)}.ui-icon{display:inline-flex}.ui-icon.icon-size-large.icon-context-leading{margin-left:calc(var(--component-size-button-large-icon-offset-leading) * -1)}.ui-icon.icon-size-large.icon-context-trailing{margin-right:calc(var(--component-size-button-large-icon-offset-trailing) * -1)}.ui-icon.icon-size-large.icon-context-iconOnly{margin-left:calc(var(--component-size-button-large-icon-offset-icon-only) * -1);margin-right:calc(var(--component-size-button-large-icon-offset-icon-only) * -1)}.ui-icon.icon-size-small.icon-context-leading{margin-left:calc(var(--component-size-button-small-icon-offset-leading) * -1)}.ui-icon.icon-size-small.icon-context-trailing{margin-right:calc(var(--component-size-button-small-icon-offset-trailing) * -1)}.ui-icon.icon-size-small.icon-context-iconOnly{margin-left:calc(var(--component-size-button-small-icon-offset-icon-only) * -1);margin-right:calc(var(--component-size-button-small-icon-offset-icon-only) * -1)}\n"], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
117
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: IconComponent, decorators: [{
118
+ type: i0.Component,
119
+ args: [{
120
+ selector: 'ui-icon',
121
+ templateUrl: './icon.component.html',
122
+ styleUrls: ['./icon.component.scss'],
123
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
124
+ encapsulation: i0.ViewEncapsulation.None
125
+ }]
126
+ }], ctorParameters: function () { return [{ type: TokenService }, { type: WindowService }, { type: i0__namespace.ElementRef }]; }, propDecorators: { iconSize: [{
127
+ type: i0.Input
128
+ }], iconName: [{
129
+ type: i0.Input
130
+ }], iconContext: [{
131
+ type: i0.Input
132
+ }], iconWidth: [{
133
+ type: i0.Input
134
+ }], iconHeight: [{
135
+ type: i0.Input
136
+ }], iconClass: [{
137
+ type: i0.Input
138
+ }] } });
139
+
140
+ var OasysButtonComponent = /** @class */ (function () {
141
+ function OasysButtonComponent(changes) {
142
+ this.changes = changes;
143
+ this.buttonIconPlacement = 'leading';
144
+ // Button Stylings
145
+ this.buttonSize = 'large';
146
+ this.buttonFullWidth = false;
147
+ this.buttonType = 'primary';
148
+ this.buttonDisabled = false;
149
+ // Button Actions
150
+ this.href = '';
151
+ this.clicked = new i0.EventEmitter();
152
+ this.iconContext = 'none';
153
+ }
154
+ OasysButtonComponent.prototype.onClick = function () {
155
+ this.clicked.emit();
156
+ };
157
+ OasysButtonComponent.prototype.createButton = function () {
158
+ return {
159
+ buttonIcon: this.buttonIcon,
160
+ buttonIconPlacement: this.buttonIconPlacement,
161
+ buttonType: this.buttonType,
162
+ buttonSize: this.buttonSize,
163
+ buttonDisabled: this.buttonDisabled,
164
+ href: this.href,
165
+ target: '',
166
+ buttonDisplayClasses: [
167
+ "type-" + this.buttonType,
168
+ "size-" + this.buttonSize,
169
+ "" + (this.buttonIcon ? 'button--has-icon' : ''),
170
+ "" + (this.buttonFullWidth ? 'button--full-width' : ''),
171
+ "" + (this.buttonIcon ? 'button--icon--' + this.buttonIconPlacement : '')
172
+ ].filter(function (d) { return !!d; })
173
+ };
174
+ };
175
+ OasysButtonComponent.prototype.ngAfterViewInit = function () {
176
+ var _a, _b;
177
+ if ((_b = (_a = this.buttonText) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.innerText) {
178
+ this.accessibleButtonContent = this.buttonText.nativeElement.innerText;
179
+ }
180
+ else {
181
+ throw new Error("\n No inner text found. All buttons should have text passed via ng-content to enable accessibility for screen readers, this includes icon-only buttons.\n\n Pass content using the template variable #buttonText eg:\n ui-button()\n span(#buttonText) Buy All The Things\n ");
182
+ }
183
+ };
184
+ OasysButtonComponent.prototype.ngOnChanges = function () {
185
+ this.button = this.createButton();
186
+ this.changes.markForCheck();
187
+ };
188
+ OasysButtonComponent.prototype.ngOnInit = function () {
189
+ this.button = this.createButton();
190
+ };
191
+ return OasysButtonComponent;
192
+ }());
193
+ OasysButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: OasysButtonComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
194
+ OasysButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: OasysButtonComponent, selector: "ui-button", inputs: { buttonIcon: "buttonIcon", buttonIconPlacement: "buttonIconPlacement", buttonSize: "buttonSize", buttonFullWidth: "buttonFullWidth", buttonType: "buttonType", buttonDisabled: "buttonDisabled", href: "href" }, outputs: { clicked: "clicked" }, queries: [{ propertyName: "buttonText", first: true, predicate: ["buttonText"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<button (click)=\"onClick()\"\n [routerLink]=\"button.href || null\"\n [ngClass]=\"button.buttonDisplayClasses\"\n [attr.disabled]=\"button.buttonDisabled === true || null\"\n [attr.aria-label]=\"accessibleButtonContent\"\n role=\"button\">\n <div class=\"button-content\">\n <ui-icon *ngIf=\"button.buttonIcon && button.buttonIconPlacement !== 'none'\" [iconName]=\"button.buttonIcon\" [iconSize]=\"button.buttonSize\" [iconClass]=\"'buttonIcon'\" [iconContext]=\"button.buttonIconPlacement\"></ui-icon>\n <span class=\"ui-text\" *ngIf=\"button.buttonIconPlacement !== 'iconOnly'\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"button-overlay\"></div>\n</button>\n", styles: ["ui-button button{border:0;padding:0;position:relative;display:inline-flex;text-align:center;justify-content:center;align-items:center;border-style:solid;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;-webkit-font-smoothing:antialiased;border-width:var(--component-border-width-button);font-family:var(--semantic-font-family-body);border-radius:var(--component-border-radius-button)}ui-button button:focus-visible{outline:none;box-shadow:0 0 0 var(--semantic-border-width-focus) var(--component-color-button-expressive-background)}ui-button button:focus{outline:none}ui-button button.type-primary{background-color:var(--component-color-button-primary-background);border-color:var(--component-color-button-primary-border);color:var(--component-color-button-primary-text)}ui-button button.type-primary .button-overlay{background-color:var(--component-color-button-primary-text)}ui-button button.type-secondary{background-color:var(--component-color-button-secondary-background);border-color:var(--component-color-button-secondary-border);color:var(--component-color-button-secondary-text)}ui-button button.type-secondary .button-overlay{background-color:var(--component-color-button-secondary-text)}ui-button button.type-tertiary{background-color:var(--component-color-button-tertiary-background);border-color:var(--component-color-button-tertiary-border);color:var(--component-color-button-tertiary-text)}ui-button button.type-tertiary .button-overlay{background-color:var(--component-color-button-tertiary-text)}ui-button button.type-primary-inverse{background-color:var(--component-color-button-primary-inverse-background);border-color:var(--component-color-button-primary-inverse-border);color:var(--component-color-button-primary-inverse-text)}ui-button button.type-primary-inverse .button-overlay{background-color:var(--component-color-button-primary-inverse-text)}ui-button button.type-secondary-inverse{background-color:var(--component-color-button-secondary-inverse-background);border-color:var(--component-color-button-secondary-inverse-border);color:var(--component-color-button-secondary-inverse-text)}ui-button button.type-secondary-inverse .button-overlay{background-color:var(--component-color-button-secondary-inverse-text)}ui-button button.type-tertiary-inverse{background-color:var(--component-color-button-tertiary-inverse-background);border-color:var(--component-color-button-tertiary-inverse-border);color:var(--component-color-button-tertiary-inverse-text)}ui-button button.type-tertiary-inverse .button-overlay{background-color:var(--component-color-button-tertiary-inverse-text)}ui-button button.type-expressive{background-color:var(--component-color-button-expressive-background);border-color:var(--component-color-button-expressive-border);color:var(--component-color-button-expressive-text)}ui-button button.type-expressive .button-overlay{background-color:var(--component-color-button-expressive-text)}ui-button button.type-danger{background-color:var(--component-color-button-danger-background);border-color:var(--component-color-button-danger-border);color:var(--component-color-button-danger-text)}ui-button button.type-danger .button-overlay{background-color:var(--component-color-button-danger-text)}ui-button button.type-facebook{background-color:var(--component-color-button-facebook-background);border-color:var(--component-color-button-facebook-border);color:var(--component-color-button-facebook-text)}ui-button button.type-facebook .button-overlay{background-color:var(--component-color-button-facebook-text)}ui-button button.type-paypal{background-color:var(--component-color-button-paypal-background);border-color:var(--component-color-button-paypal-border);color:var(--component-color-button-paypal-text)}ui-button button.type-paypal .button-overlay{background-color:var(--component-color-button-paypal-text)}ui-button button.type-trustpilot{background-color:var(--component-color-button-trustpilot-background);border-color:var(--component-color-button-trustpilot-border);color:var(--component-color-button-trustpilot-text)}ui-button button.type-trustpilot .button-overlay{background-color:var(--component-color-button-trustpilot-text)}ui-button button.size-large{padding:var(--component-size-button-large-padding-y) var(--component-size-button-large-padding-x);font-size:var(--component-size-button-large-font-size)}ui-button button.size-large .button-content{grid-gap:var(--component-size-button-large-inline-spacing);gap:var(--component-size-button-large-inline-spacing)}ui-button button.size-large .ui-icon{max-height:var(--component-size-button-large-line-height)}ui-button button.size-large .ui-text{line-height:var(--component-size-button-large-line-height)}ui-button button.size-small{padding:var(--component-size-button-small-padding-y) var(--component-size-button-small-padding-x);font-size:var(--component-size-button-small-font-size)}ui-button button.size-small .button-content{grid-gap:var(--component-size-button-small-inline-spacing);gap:var(--component-size-button-small-inline-spacing)}ui-button button.size-small .ui-icon{max-height:var(--component-size-button-small-line-height)}ui-button button.size-small .ui-text{line-height:var(--component-size-button-small-line-height)}ui-button button[disabled]{background-color:var(--component-color-button-disabled-background);border-color:var(--component-color-button-disabled-border);color:var(--component-color-button-disabled-text);cursor:default}ui-button button .buttonIcon{fill:currentColor}ui-button button .button-overlay{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;pointer-events:none;opacity:0;border-radius:var(--component-border-radius-button)}ui-button button:hover .button-overlay{opacity:var(--component-opacity-overlay-hover)}ui-button button:focus .button-overlay{opacity:var(--component-opacity-overlay-focus)}ui-button button.button--has-icon.button--icon--trailing .button-content{flex-direction:row-reverse}ui-button button .button-content{display:flex;align-items:center}ui-button button .button-content .ui-icon{display:flex;align-items:center}ui-button button .button-content .ui-text{text-transform:var(--component-text-transform-button);letter-spacing:var(--component-letter-spacing-button);font-weight:var(--component-font-weight-button)}ui-button button.button--full-width{display:flex;width:100%}\n"], components: [{ type: IconComponent, selector: "ui-icon", inputs: ["iconSize", "iconName", "iconContext", "iconWidth", "iconHeight", "iconClass"] }], directives: [{ type: i2__namespace.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["routerLink", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
195
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: OasysButtonComponent, decorators: [{
196
+ type: i0.Component,
197
+ args: [{
198
+ selector: 'ui-button',
199
+ templateUrl: './button.component.html',
200
+ styleUrls: ['./button.component.scss'],
201
+ encapsulation: i0.ViewEncapsulation.None,
202
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
203
+ }]
204
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { buttonIcon: [{
205
+ type: i0.Input
206
+ }], buttonIconPlacement: [{
207
+ type: i0.Input
208
+ }], buttonText: [{
209
+ type: i0.ContentChild,
210
+ args: ['buttonText']
211
+ }], buttonSize: [{
212
+ type: i0.Input
213
+ }], buttonFullWidth: [{
214
+ type: i0.Input
215
+ }], buttonType: [{
216
+ type: i0.Input
217
+ }], buttonDisabled: [{
218
+ type: i0.Input
219
+ }], href: [{
220
+ type: i0.Input
221
+ }], clicked: [{
222
+ type: i0.Output
223
+ }] } });
224
+
225
+ var LayoutInlineComponent = /** @class */ (function () {
226
+ function LayoutInlineComponent() {
227
+ }
228
+ LayoutInlineComponent.prototype.ngOnInit = function () {
229
+ };
230
+ return LayoutInlineComponent;
231
+ }());
232
+ LayoutInlineComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LayoutInlineComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
233
+ LayoutInlineComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LayoutInlineComponent, selector: "ui-inline", ngImport: i0__namespace, template: "<div class=\"ui-layout-inline\"><ng-content></ng-content></div>", styles: [".ui-layout-inline{display:inline-flex;position:relative}.ui-layout-inline>*{margin-left:var(--layout-inline-spacing-default);margin-right:var(--layout-inline-spacing-default)}.ui-layout-inline:first-child{margin-left:0}.ui-layout-inline:last-child{margin-right:0}.ui-layout-inline:only-child{margin-left:0;margin-right:0}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
234
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LayoutInlineComponent, decorators: [{
235
+ type: i0.Component,
236
+ args: [{
237
+ selector: 'ui-inline',
238
+ templateUrl: './inline.component.html',
239
+ styleUrls: ['./inline.component.css'],
240
+ encapsulation: i0.ViewEncapsulation.None,
241
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
242
+ }]
243
+ }], ctorParameters: function () { return []; } });
244
+
245
+ var LayoutBoxComponent = /** @class */ (function () {
246
+ function LayoutBoxComponent() {
247
+ this.padding = 'default';
248
+ }
249
+ LayoutBoxComponent.prototype.ngOnInit = function () {
250
+ this.boxLayoutClasses = [
251
+ "ui-layout-box-" + this.padding
252
+ ].join(' ');
253
+ };
254
+ return LayoutBoxComponent;
255
+ }());
256
+ LayoutBoxComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LayoutBoxComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
257
+ LayoutBoxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LayoutBoxComponent, selector: "ui-box", inputs: { padding: "padding" }, host: { properties: { "class": "boxLayoutClasses" } }, ngImport: i0__namespace, template: '<ng-content></ng-content>', isInline: true, styles: [".ui-layout-box-xsmall{padding:var(--size-unit-xsmall)}.ui-layout-box-small{padding:var(--size-unit-small)}.ui-layout-box-default{padding:var(--size-unit-default)}.ui-layout-box-large{padding:var(--size-unit-large)}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
258
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LayoutBoxComponent, decorators: [{
259
+ type: i0.Component,
260
+ args: [{
261
+ selector: 'ui-box',
262
+ template: '<ng-content></ng-content>',
263
+ host: {
264
+ '[class]': 'boxLayoutClasses'
265
+ },
266
+ styleUrls: ['./box.component.scss'],
267
+ encapsulation: i0.ViewEncapsulation.None,
268
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
269
+ }]
270
+ }], ctorParameters: function () { return []; }, propDecorators: { padding: [{
271
+ type: i0.Input
272
+ }] } });
273
+
274
+ var OasysLibModule = /** @class */ (function () {
275
+ function OasysLibModule() {
276
+ }
277
+ return OasysLibModule;
278
+ }());
279
+ OasysLibModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: OasysLibModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
280
+ OasysLibModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: OasysLibModule, declarations: [OasysButtonComponent,
281
+ LayoutInlineComponent,
282
+ IconComponent,
283
+ LayoutBoxComponent], imports: [i3.CommonModule, i2__namespace.RouterModule], exports: [OasysButtonComponent,
284
+ LayoutBoxComponent] });
285
+ OasysLibModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: OasysLibModule, providers: [
286
+ WindowService,
287
+ TokenService,
288
+ { provide: i3.APP_BASE_HREF, useValue: '/' }
289
+ ], imports: [[
290
+ i3.CommonModule,
291
+ i2.RouterModule.forChild([])
292
+ ]] });
293
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: OasysLibModule, decorators: [{
294
+ type: i0.NgModule,
295
+ args: [{
296
+ declarations: [
297
+ OasysButtonComponent,
298
+ LayoutInlineComponent,
299
+ IconComponent,
300
+ LayoutBoxComponent
301
+ ],
302
+ imports: [
303
+ i3.CommonModule,
304
+ i2.RouterModule.forChild([])
305
+ ],
306
+ exports: [
307
+ OasysButtonComponent,
308
+ LayoutBoxComponent
309
+ ],
310
+ providers: [
311
+ WindowService,
312
+ TokenService,
313
+ { provide: i3.APP_BASE_HREF, useValue: '/' }
314
+ ]
315
+ }]
316
+ }] });
317
+
318
+ /*
319
+ * Public API Surface of oasys-lib
320
+ */
321
+
322
+ /**
323
+ * Generated bundle index. Do not edit.
324
+ */
325
+
326
+ exports.IconComponent = IconComponent;
327
+ exports.LayoutBoxComponent = LayoutBoxComponent;
328
+ exports.OasysButtonComponent = OasysButtonComponent;
329
+ exports.OasysLibModule = OasysLibModule;
330
+
331
+ Object.defineProperty(exports, '__esModule', { value: true });
332
+
333
+ }));
334
+ //# sourceMappingURL=oasys-lib.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oasys-lib.umd.js","sources":["../../../projects/oasys-lib/src/lib/services/window.service.ts","../../../projects/oasys-lib/src/lib/services/token.service.ts","../../../projects/oasys-lib/src/lib/components/icon/icon.component.ts","../../../projects/oasys-lib/src/lib/components/icon/icon.component.html","../../../projects/oasys-lib/src/lib/components/button/button.component.ts","../../../projects/oasys-lib/src/lib/components/button/button.component.html","../../../projects/oasys-lib/src/lib/components/layout/inline/inline.component.ts","../../../projects/oasys-lib/src/lib/components/layout/inline/inline.component.html","../../../projects/oasys-lib/src/lib/components/layout/box/box.component.ts","../../../projects/oasys-lib/src/lib/oasys-lib.module.ts","../../../projects/oasys-lib/src/public-api.ts","../../../projects/oasys-lib/src/oasys-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nfunction _window(): any {\n return window;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WindowService {\n \n get nativeWindow(): any {\n return _window();\n }\n \n}","import { Injectable } from '@angular/core';\nimport { WindowService } from './window.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokenService {\n\n constructor(private windowRef: WindowService){}\n\n /*\n Get the brand name for the currently enable custom property set (ie. /bloomon/variables.css)\n Because variables are scoped via a selector (ie: ':root .bloomon {}')\n we cannot get brand-specific custom properties programatically\n\n Important: Ensure that the component requiring the brand name has locally scoped the custom property:\n | ui-icon {\n | --icon-component-brand: var(--utility-brand-name);\n | }\n */\n getBrandName(tokenName: string, element: Element): string {\n return this.getTokenValue(tokenName, element);\n }\n\n getTokenValue(tokenName: string, element?: Element): string {\n const rootElement = element || this.windowRef.nativeWindow.document.documentElement;\n return this.windowRef.nativeWindow.getComputedStyle(rootElement)\n .getPropertyValue(tokenName)\n .trim() || '';\n }\n\n}","import { Component, Input, OnInit, ViewEncapsulation, ChangeDetectionStrategy, OnChanges, ElementRef } from '@angular/core';\nimport { TokenService } from '../../services/token.service';\nimport { WindowService } from '../../services/window.service';\nimport { IconNames, IconContext } from './icon';\n\n@Component({\n selector:'ui-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class IconComponent implements OnInit, OnChanges {\n @Input() iconSize: 'small'|'large' = 'large';\n @Input() iconName!: IconNames;\n @Input() iconContext: IconContext = 'none';\n\n @Input() iconWidth?: number;\n @Input() iconHeight?: number;\n @Input() iconClass?: string;\n\n size?: string;\n iconBrandPath?: string;\n iconDisplayClasses: string[];\n\n constructor(private tokenService: TokenService, private windowRef: WindowService, private elementRef: ElementRef) { }\n\n convertRemToPixels(remString: string): number {\n const remNumber = parseFloat(remString.replace('rem', ''));\n return remNumber * parseFloat(getComputedStyle(this.windowRef.nativeWindow.document.documentElement).fontSize);\n }\n\n ngOnChanges(): void {\n this.ngOnInit();\n }\n\n ngOnInit(): void {\n this.iconBrandPath = `${this.tokenService.getBrandName(`--icon-component-brand`, this.elementRef.nativeElement)}`\n this.size = this.tokenService.getTokenValue(`--global-size-icon-${this.iconSize}`);\n\n this.iconDisplayClasses = [\n `icon-context-${this.iconContext}`,\n `icon-size-${this.iconSize}`\n ];\n\n const sizeInPixels = this.convertRemToPixels(this.size);\n this.iconWidth = sizeInPixels;\n this.iconHeight = sizeInPixels;\n }\n\n}\n","<div class=\"ui-icon\" [ngClass]=\"iconDisplayClasses\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" attr.width=\"{{iconWidth}}px\" attr.height=\"{{iconHeight}}px\" attr.class=\"{{iconClass}}\">\n <use attr.xlink:href=\"./{{iconBrandPath}}/assets/icons/icons.svg#icon-{{iconName}}-24\"></use>\n </svg>\n</div>\n","import { Component, Input, OnInit, Output, ViewEncapsulation, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef, OnChanges, ContentChild, ElementRef, AfterViewInit } from '@angular/core';\nimport { IconNames, IconContext } from '../icon/icon';\nimport { TextTransform } from '../text/text';\nimport {\n UIButton,\n UIButtonBoolean,\n UIButtonSize,\n UIButtonType\n} from './button';\n\n@Component({\n selector:'ui-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OasysButtonComponent implements OnInit, OnChanges, AfterViewInit {\n\n button: UIButton;\n\n // // Button Content\n @Input() buttonIcon?: IconNames;\n @Input() buttonIconPlacement: IconContext = 'leading';\n\n // @Input() buttonText: string;\n @ContentChild('buttonText') buttonText: ElementRef;\n\n // Button Stylings\n @Input() buttonSize: UIButtonSize = 'large';\n @Input() buttonFullWidth: UIButtonBoolean = false;\n @Input() buttonType: UIButtonType = 'primary';\n @Input() buttonDisabled: boolean = false;\n\n // Button Actions\n @Input() href: string = '';\n @Output() clicked: EventEmitter<void> = new EventEmitter();\n\n buttonDisplayClasses: string[];\n iconContext: IconContext = 'none';\n textTransform!: TextTransform;\n accessibleButtonContent: string;\n\n constructor(private changes: ChangeDetectorRef) { }\n\n onClick(): void {\n this.clicked.emit();\n }\n\n createButton(): UIButton {\n\n return <UIButton>{\n buttonIcon: this.buttonIcon,\n buttonIconPlacement: this.buttonIconPlacement,\n buttonType: this.buttonType,\n buttonSize: this.buttonSize,\n buttonDisabled: this.buttonDisabled,\n href: this.href,\n target: '',\n buttonDisplayClasses: [\n `type-${this.buttonType}`,\n `size-${this.buttonSize}`,\n `${this.buttonIcon ? 'button--has-icon': ''}`,\n `${this.buttonFullWidth ? 'button--full-width': ''}`,\n `${this.buttonIcon ? 'button--icon--'+this.buttonIconPlacement : ''}`\n ].filter((d) => !!d)\n };\n }\n\n ngAfterViewInit(): void {\n if(this.buttonText?.nativeElement?.innerText) {\n this.accessibleButtonContent = this.buttonText.nativeElement.innerText;\n } else {\n throw new Error(`\n No inner text found. All buttons should have text passed via ng-content to enable accessibility for screen readers, this includes icon-only buttons.\n\n Pass content using the template variable #buttonText eg:\n ui-button()\n span(#buttonText) Buy All The Things\n `)\n }\n }\n\n ngOnChanges(): void {\n this.button = this.createButton();\n this.changes.markForCheck();\n }\n\n ngOnInit(): void {\n this.button = this.createButton();\n }\n}\n","<button (click)=\"onClick()\"\n [routerLink]=\"button.href || null\"\n [ngClass]=\"button.buttonDisplayClasses\"\n [attr.disabled]=\"button.buttonDisabled === true || null\"\n [attr.aria-label]=\"accessibleButtonContent\"\n role=\"button\">\n <div class=\"button-content\">\n <ui-icon *ngIf=\"button.buttonIcon && button.buttonIconPlacement !== 'none'\" [iconName]=\"button.buttonIcon\" [iconSize]=\"button.buttonSize\" [iconClass]=\"'buttonIcon'\" [iconContext]=\"button.buttonIconPlacement\"></ui-icon>\n <span class=\"ui-text\" *ngIf=\"button.buttonIconPlacement !== 'iconOnly'\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"button-overlay\"></div>\n</button>\n","import { ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector:'ui-inline',\n templateUrl: './inline.component.html',\n styleUrls: ['./inline.component.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutInlineComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"ui-layout-inline\"><ng-content></ng-content></div>","import { ChangeDetectionStrategy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Input } from '@angular/core';\nimport { Component} from '@angular/core';\n\n@Component({\n selector:'ui-box',\n template: '<ng-content></ng-content>',\n host: {\n '[class]' : 'boxLayoutClasses'\n },\n styleUrls: ['./box.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutBoxComponent implements OnInit {\n boxLayoutClasses?: string;\n\n @Input() padding?: BoxPaddings = 'default';\n\n constructor() { }\n\n ngOnInit(): void {\n this.boxLayoutClasses = [\n `ui-layout-box-${this.padding}`\n ].join(' ');\n }\n\n}\n\nexport type BoxPaddings = 'xsmall'|'small'|'medium'|'large'|'default';","import { APP_BASE_HREF, CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { OasysButtonComponent } from './components/button/button.component';\nimport { LayoutInlineComponent } from './components/layout/inline/inline.component';\nimport { IconComponent } from './components/icon/icon.component';\nimport { LayoutBoxComponent } from './components/layout/box/box.component';\nimport { WindowService } from './services/window.service';\nimport { TokenService } from './services/token.service';\n\n\n\n@NgModule({\n declarations: [\n OasysButtonComponent,\n LayoutInlineComponent,\n IconComponent,\n LayoutBoxComponent\n ],\n imports: [\n CommonModule,\n RouterModule.forChild([])\n ],\n exports: [\n OasysButtonComponent,\n LayoutBoxComponent\n ],\n providers: [\n WindowService,\n TokenService,\n {provide: APP_BASE_HREF, useValue: '/'}\n ]\n})\nexport class OasysLibModule { }\n","/*\n * Public API Surface of oasys-lib\n */\n\n\nexport * from './lib/oasys-lib.module';\n\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/icon/icon.component';\nexport * from './lib/components/layout/box/box.component';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0","Injectable","i1.WindowService","i1.TokenService","i2.WindowService","i3","Component","ChangeDetectionStrategy","ViewEncapsulation","Input","EventEmitter","i1.IconComponent","i2","ContentChild","Output","CommonModule","i1","APP_BASE_HREF","RouterModule","NgModule"],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { Component, Input, Output, ViewEncapsulation, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef, ContentChild, ElementRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../icon/icon.component";
4
+ import * as i2 from "@angular/router";
5
+ import * as i3 from "@angular/common";
6
+ export class OasysButtonComponent {
7
+ constructor(changes) {
8
+ this.changes = changes;
9
+ this.buttonIconPlacement = 'leading';
10
+ // Button Stylings
11
+ this.buttonSize = 'large';
12
+ this.buttonFullWidth = false;
13
+ this.buttonType = 'primary';
14
+ this.buttonDisabled = false;
15
+ // Button Actions
16
+ this.href = '';
17
+ this.clicked = new EventEmitter();
18
+ this.iconContext = 'none';
19
+ }
20
+ onClick() {
21
+ this.clicked.emit();
22
+ }
23
+ createButton() {
24
+ return {
25
+ buttonIcon: this.buttonIcon,
26
+ buttonIconPlacement: this.buttonIconPlacement,
27
+ buttonType: this.buttonType,
28
+ buttonSize: this.buttonSize,
29
+ buttonDisabled: this.buttonDisabled,
30
+ href: this.href,
31
+ target: '',
32
+ buttonDisplayClasses: [
33
+ `type-${this.buttonType}`,
34
+ `size-${this.buttonSize}`,
35
+ `${this.buttonIcon ? 'button--has-icon' : ''}`,
36
+ `${this.buttonFullWidth ? 'button--full-width' : ''}`,
37
+ `${this.buttonIcon ? 'button--icon--' + this.buttonIconPlacement : ''}`
38
+ ].filter((d) => !!d)
39
+ };
40
+ }
41
+ ngAfterViewInit() {
42
+ var _a, _b;
43
+ if ((_b = (_a = this.buttonText) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.innerText) {
44
+ this.accessibleButtonContent = this.buttonText.nativeElement.innerText;
45
+ }
46
+ else {
47
+ throw new Error(`
48
+ No inner text found. All buttons should have text passed via ng-content to enable accessibility for screen readers, this includes icon-only buttons.
49
+
50
+ Pass content using the template variable #buttonText eg:
51
+ ui-button()
52
+ span(#buttonText) Buy All The Things
53
+ `);
54
+ }
55
+ }
56
+ ngOnChanges() {
57
+ this.button = this.createButton();
58
+ this.changes.markForCheck();
59
+ }
60
+ ngOnInit() {
61
+ this.button = this.createButton();
62
+ }
63
+ }
64
+ OasysButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: OasysButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
65
+ OasysButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: OasysButtonComponent, selector: "ui-button", inputs: { buttonIcon: "buttonIcon", buttonIconPlacement: "buttonIconPlacement", buttonSize: "buttonSize", buttonFullWidth: "buttonFullWidth", buttonType: "buttonType", buttonDisabled: "buttonDisabled", href: "href" }, outputs: { clicked: "clicked" }, queries: [{ propertyName: "buttonText", first: true, predicate: ["buttonText"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<button (click)=\"onClick()\"\n [routerLink]=\"button.href || null\"\n [ngClass]=\"button.buttonDisplayClasses\"\n [attr.disabled]=\"button.buttonDisabled === true || null\"\n [attr.aria-label]=\"accessibleButtonContent\"\n role=\"button\">\n <div class=\"button-content\">\n <ui-icon *ngIf=\"button.buttonIcon && button.buttonIconPlacement !== 'none'\" [iconName]=\"button.buttonIcon\" [iconSize]=\"button.buttonSize\" [iconClass]=\"'buttonIcon'\" [iconContext]=\"button.buttonIconPlacement\"></ui-icon>\n <span class=\"ui-text\" *ngIf=\"button.buttonIconPlacement !== 'iconOnly'\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"button-overlay\"></div>\n</button>\n", styles: ["ui-button button{border:0;padding:0;position:relative;display:inline-flex;text-align:center;justify-content:center;align-items:center;border-style:solid;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;-webkit-font-smoothing:antialiased;border-width:var(--component-border-width-button);font-family:var(--semantic-font-family-body);border-radius:var(--component-border-radius-button)}ui-button button:focus-visible{outline:none;box-shadow:0 0 0 var(--semantic-border-width-focus) var(--component-color-button-expressive-background)}ui-button button:focus{outline:none}ui-button button.type-primary{background-color:var(--component-color-button-primary-background);border-color:var(--component-color-button-primary-border);color:var(--component-color-button-primary-text)}ui-button button.type-primary .button-overlay{background-color:var(--component-color-button-primary-text)}ui-button button.type-secondary{background-color:var(--component-color-button-secondary-background);border-color:var(--component-color-button-secondary-border);color:var(--component-color-button-secondary-text)}ui-button button.type-secondary .button-overlay{background-color:var(--component-color-button-secondary-text)}ui-button button.type-tertiary{background-color:var(--component-color-button-tertiary-background);border-color:var(--component-color-button-tertiary-border);color:var(--component-color-button-tertiary-text)}ui-button button.type-tertiary .button-overlay{background-color:var(--component-color-button-tertiary-text)}ui-button button.type-primary-inverse{background-color:var(--component-color-button-primary-inverse-background);border-color:var(--component-color-button-primary-inverse-border);color:var(--component-color-button-primary-inverse-text)}ui-button button.type-primary-inverse .button-overlay{background-color:var(--component-color-button-primary-inverse-text)}ui-button button.type-secondary-inverse{background-color:var(--component-color-button-secondary-inverse-background);border-color:var(--component-color-button-secondary-inverse-border);color:var(--component-color-button-secondary-inverse-text)}ui-button button.type-secondary-inverse .button-overlay{background-color:var(--component-color-button-secondary-inverse-text)}ui-button button.type-tertiary-inverse{background-color:var(--component-color-button-tertiary-inverse-background);border-color:var(--component-color-button-tertiary-inverse-border);color:var(--component-color-button-tertiary-inverse-text)}ui-button button.type-tertiary-inverse .button-overlay{background-color:var(--component-color-button-tertiary-inverse-text)}ui-button button.type-expressive{background-color:var(--component-color-button-expressive-background);border-color:var(--component-color-button-expressive-border);color:var(--component-color-button-expressive-text)}ui-button button.type-expressive .button-overlay{background-color:var(--component-color-button-expressive-text)}ui-button button.type-danger{background-color:var(--component-color-button-danger-background);border-color:var(--component-color-button-danger-border);color:var(--component-color-button-danger-text)}ui-button button.type-danger .button-overlay{background-color:var(--component-color-button-danger-text)}ui-button button.type-facebook{background-color:var(--component-color-button-facebook-background);border-color:var(--component-color-button-facebook-border);color:var(--component-color-button-facebook-text)}ui-button button.type-facebook .button-overlay{background-color:var(--component-color-button-facebook-text)}ui-button button.type-paypal{background-color:var(--component-color-button-paypal-background);border-color:var(--component-color-button-paypal-border);color:var(--component-color-button-paypal-text)}ui-button button.type-paypal .button-overlay{background-color:var(--component-color-button-paypal-text)}ui-button button.type-trustpilot{background-color:var(--component-color-button-trustpilot-background);border-color:var(--component-color-button-trustpilot-border);color:var(--component-color-button-trustpilot-text)}ui-button button.type-trustpilot .button-overlay{background-color:var(--component-color-button-trustpilot-text)}ui-button button.size-large{padding:var(--component-size-button-large-padding-y) var(--component-size-button-large-padding-x);font-size:var(--component-size-button-large-font-size)}ui-button button.size-large .button-content{grid-gap:var(--component-size-button-large-inline-spacing);gap:var(--component-size-button-large-inline-spacing)}ui-button button.size-large .ui-icon{max-height:var(--component-size-button-large-line-height)}ui-button button.size-large .ui-text{line-height:var(--component-size-button-large-line-height)}ui-button button.size-small{padding:var(--component-size-button-small-padding-y) var(--component-size-button-small-padding-x);font-size:var(--component-size-button-small-font-size)}ui-button button.size-small .button-content{grid-gap:var(--component-size-button-small-inline-spacing);gap:var(--component-size-button-small-inline-spacing)}ui-button button.size-small .ui-icon{max-height:var(--component-size-button-small-line-height)}ui-button button.size-small .ui-text{line-height:var(--component-size-button-small-line-height)}ui-button button[disabled]{background-color:var(--component-color-button-disabled-background);border-color:var(--component-color-button-disabled-border);color:var(--component-color-button-disabled-text);cursor:default}ui-button button .buttonIcon{fill:currentColor}ui-button button .button-overlay{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;pointer-events:none;opacity:0;border-radius:var(--component-border-radius-button)}ui-button button:hover .button-overlay{opacity:var(--component-opacity-overlay-hover)}ui-button button:focus .button-overlay{opacity:var(--component-opacity-overlay-focus)}ui-button button.button--has-icon.button--icon--trailing .button-content{flex-direction:row-reverse}ui-button button .button-content{display:flex;align-items:center}ui-button button .button-content .ui-icon{display:flex;align-items:center}ui-button button .button-content .ui-text{text-transform:var(--component-text-transform-button);letter-spacing:var(--component-letter-spacing-button);font-weight:var(--component-font-weight-button)}ui-button button.button--full-width{display:flex;width:100%}\n"], components: [{ type: i1.IconComponent, selector: "ui-icon", inputs: ["iconSize", "iconName", "iconContext", "iconWidth", "iconHeight", "iconClass"] }], directives: [{ type: i2.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["routerLink", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: OasysButtonComponent, decorators: [{
67
+ type: Component,
68
+ args: [{
69
+ selector: 'ui-button',
70
+ templateUrl: './button.component.html',
71
+ styleUrls: ['./button.component.scss'],
72
+ encapsulation: ViewEncapsulation.None,
73
+ changeDetection: ChangeDetectionStrategy.OnPush
74
+ }]
75
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { buttonIcon: [{
76
+ type: Input
77
+ }], buttonIconPlacement: [{
78
+ type: Input
79
+ }], buttonText: [{
80
+ type: ContentChild,
81
+ args: ['buttonText']
82
+ }], buttonSize: [{
83
+ type: Input
84
+ }], buttonFullWidth: [{
85
+ type: Input
86
+ }], buttonType: [{
87
+ type: Input
88
+ }], buttonDisabled: [{
89
+ type: Input
90
+ }], href: [{
91
+ type: Input
92
+ }], clicked: [{
93
+ type: Output
94
+ }] } });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBYSxZQUFZLEVBQUUsVUFBVSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFpQmxNLE1BQU0sT0FBTyxvQkFBb0I7SUEwQi9CLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBcEJyQyx3QkFBbUIsR0FBZ0IsU0FBUyxDQUFDO1FBS3RELGtCQUFrQjtRQUNULGVBQVUsR0FBaUIsT0FBTyxDQUFDO1FBQ25DLG9CQUFlLEdBQW9CLEtBQUssQ0FBQztRQUN6QyxlQUFVLEdBQWlCLFNBQVMsQ0FBQztRQUNyQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUV6QyxpQkFBaUI7UUFDUixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2pCLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUczRCxnQkFBVyxHQUFnQixNQUFNLENBQUM7SUFJZ0IsQ0FBQztJQUVuRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUVWLE9BQWlCO1lBQ2YsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7WUFDN0MsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsTUFBTSxFQUFFLEVBQUU7WUFDVixvQkFBb0IsRUFBRTtnQkFDdEIsUUFBUSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUN6QixRQUFRLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3pCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUEsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDN0MsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNwRCxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixHQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2FBQ3BFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTs7UUFDYixJQUFHLE1BQUEsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxhQUFhLDBDQUFFLFNBQVMsRUFBRTtZQUM1QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1NBQ3hFO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDOzs7Ozs7T0FNZixDQUFDLENBQUE7U0FDSDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7O2tIQXpFVSxvQkFBb0I7c0dBQXBCLG9CQUFvQix1YUNqQmpDLHd2QkFjQTs0RkRHYSxvQkFBb0I7a0JBUGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFDLFdBQVc7b0JBQ3BCLFdBQVcsRUFBRSx5QkFBeUI7b0JBQ3RDLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN0QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO3dHQU1VLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUdzQixVQUFVO3NCQUFyQyxZQUFZO3VCQUFDLFlBQVk7Z0JBR2pCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbk5hbWVzLCBJY29uQ29udGV4dCB9IGZyb20gJy4uL2ljb24vaWNvbic7XG5pbXBvcnQgeyBUZXh0VHJhbnNmb3JtIH0gZnJvbSAnLi4vdGV4dC90ZXh0JztcbmltcG9ydCB7XG4gIFVJQnV0dG9uLFxuICBVSUJ1dHRvbkJvb2xlYW4sXG4gIFVJQnV0dG9uU2l6ZSxcbiAgVUlCdXR0b25UeXBlXG59IGZyb20gJy4vYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOid1aS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE9hc3lzQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuXG4gIGJ1dHRvbjogVUlCdXR0b247XG5cbiAgLy8gLy8gQnV0dG9uIENvbnRlbnRcbiAgQElucHV0KCkgYnV0dG9uSWNvbj86IEljb25OYW1lcztcbiAgQElucHV0KCkgYnV0dG9uSWNvblBsYWNlbWVudDogSWNvbkNvbnRleHQgPSAnbGVhZGluZyc7XG5cbiAgLy8gQElucHV0KCkgYnV0dG9uVGV4dDogc3RyaW5nO1xuICBAQ29udGVudENoaWxkKCdidXR0b25UZXh0JykgYnV0dG9uVGV4dDogRWxlbWVudFJlZjtcblxuICAvLyBCdXR0b24gU3R5bGluZ3NcbiAgQElucHV0KCkgYnV0dG9uU2l6ZTogVUlCdXR0b25TaXplID0gJ2xhcmdlJztcbiAgQElucHV0KCkgYnV0dG9uRnVsbFdpZHRoOiBVSUJ1dHRvbkJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYnV0dG9uVHlwZTogVUlCdXR0b25UeXBlID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBidXR0b25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIEJ1dHRvbiBBY3Rpb25zXG4gIEBJbnB1dCgpIGhyZWY6IHN0cmluZyA9ICcnO1xuICBAT3V0cHV0KCkgY2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGJ1dHRvbkRpc3BsYXlDbGFzc2VzOiBzdHJpbmdbXTtcbiAgaWNvbkNvbnRleHQ6IEljb25Db250ZXh0ID0gJ25vbmUnO1xuICB0ZXh0VHJhbnNmb3JtITogVGV4dFRyYW5zZm9ybTtcbiAgYWNjZXNzaWJsZUJ1dHRvbkNvbnRlbnQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZXM6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICBvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2xpY2tlZC5lbWl0KCk7XG4gIH1cblxuICBjcmVhdGVCdXR0b24oKTogVUlCdXR0b24ge1xuXG4gICAgcmV0dXJuIDxVSUJ1dHRvbj57XG4gICAgICBidXR0b25JY29uOiB0aGlzLmJ1dHRvbkljb24sXG4gICAgICBidXR0b25JY29uUGxhY2VtZW50OiB0aGlzLmJ1dHRvbkljb25QbGFjZW1lbnQsXG4gICAgICBidXR0b25UeXBlOiB0aGlzLmJ1dHRvblR5cGUsXG4gICAgICBidXR0b25TaXplOiB0aGlzLmJ1dHRvblNpemUsXG4gICAgICBidXR0b25EaXNhYmxlZDogdGhpcy5idXR0b25EaXNhYmxlZCxcbiAgICAgIGhyZWY6IHRoaXMuaHJlZixcbiAgICAgIHRhcmdldDogJycsXG4gICAgICBidXR0b25EaXNwbGF5Q2xhc3NlczogW1xuICAgICAgYHR5cGUtJHt0aGlzLmJ1dHRvblR5cGV9YCxcbiAgICAgIGBzaXplLSR7dGhpcy5idXR0b25TaXplfWAsXG4gICAgICBgJHt0aGlzLmJ1dHRvbkljb24gPyAnYnV0dG9uLS1oYXMtaWNvbic6ICcnfWAsXG4gICAgICBgJHt0aGlzLmJ1dHRvbkZ1bGxXaWR0aCA/ICdidXR0b24tLWZ1bGwtd2lkdGgnOiAnJ31gLFxuICAgICAgYCR7dGhpcy5idXR0b25JY29uID8gJ2J1dHRvbi0taWNvbi0tJyt0aGlzLmJ1dHRvbkljb25QbGFjZW1lbnQgOiAnJ31gXG4gICAgICBdLmZpbHRlcigoZCkgPT4gISFkKVxuICAgIH07XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYodGhpcy5idXR0b25UZXh0Py5uYXRpdmVFbGVtZW50Py5pbm5lclRleHQpIHtcbiAgICAgIHRoaXMuYWNjZXNzaWJsZUJ1dHRvbkNvbnRlbnQgPSB0aGlzLmJ1dHRvblRleHQubmF0aXZlRWxlbWVudC5pbm5lclRleHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgXG4gICAgICBObyBpbm5lciB0ZXh0IGZvdW5kLiBBbGwgYnV0dG9ucyBzaG91bGQgaGF2ZSB0ZXh0IHBhc3NlZCB2aWEgbmctY29udGVudCB0byBlbmFibGUgYWNjZXNzaWJpbGl0eSBmb3Igc2NyZWVuIHJlYWRlcnMsIHRoaXMgaW5jbHVkZXMgaWNvbi1vbmx5IGJ1dHRvbnMuXG5cbiAgICAgIFBhc3MgY29udGVudCB1c2luZyB0aGUgdGVtcGxhdGUgdmFyaWFibGUgI2J1dHRvblRleHQgZWc6XG4gICAgICB1aS1idXR0b24oKVxuICAgICAgICBzcGFuKCNidXR0b25UZXh0KSBCdXkgQWxsIFRoZSBUaGluZ3NcbiAgICAgIGApXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICB0aGlzLmJ1dHRvbiA9IHRoaXMuY3JlYXRlQnV0dG9uKCk7XG4gICAgICB0aGlzLmNoYW5nZXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvbiA9IHRoaXMuY3JlYXRlQnV0dG9uKCk7XG4gIH1cbn1cbiIsIjxidXR0b24gKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cImJ1dHRvbi5ocmVmIHx8IG51bGxcIlxuICAgICAgICBbbmdDbGFzc109XCJidXR0b24uYnV0dG9uRGlzcGxheUNsYXNzZXNcIlxuICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJidXR0b24uYnV0dG9uRGlzYWJsZWQgPT09IHRydWUgfHwgbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYWNjZXNzaWJsZUJ1dHRvbkNvbnRlbnRcIlxuICAgICAgICByb2xlPVwiYnV0dG9uXCI+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250ZW50XCI+XG4gICAgICAgIDx1aS1pY29uICpuZ0lmPVwiYnV0dG9uLmJ1dHRvbkljb24gJiYgYnV0dG9uLmJ1dHRvbkljb25QbGFjZW1lbnQgIT09ICdub25lJ1wiIFtpY29uTmFtZV09XCJidXR0b24uYnV0dG9uSWNvblwiIFtpY29uU2l6ZV09XCJidXR0b24uYnV0dG9uU2l6ZVwiIFtpY29uQ2xhc3NdPVwiJ2J1dHRvbkljb24nXCIgW2ljb25Db250ZXh0XT1cImJ1dHRvbi5idXR0b25JY29uUGxhY2VtZW50XCI+PC91aS1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInVpLXRleHRcIiAqbmdJZj1cImJ1dHRvbi5idXR0b25JY29uUGxhY2VtZW50ICE9PSAnaWNvbk9ubHknXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLW92ZXJsYXlcIj48L2Rpdj5cbjwvYnV0dG9uPlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25OYW1lcywgSWNvbkNvbnRleHQgfSBmcm9tICcuLi9pY29uL2ljb24nO1xuXG5cbmV4cG9ydCB0eXBlIFVJQnV0dG9uQm9vbGVhbiA9IHRydWUgfCAndHJ1ZScgfCBmYWxzZSB8ICdmYWxzZSc7XG5cbmV4cG9ydCB0eXBlIFVJQnV0dG9uU2l6ZSA9ICdzbWFsbCcgfCAnbGFyZ2UnO1xuXG5leHBvcnQgdHlwZSBVSUJ1dHRvblR5cGUgPVxuICB8ICdwcmltYXJ5J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ3RlcnRpYXJ5J1xuICB8ICdwcmltYXJ5LWludmVyc2UnXG4gIHwgJ3NlY29uZGFyeS1pbnZlcnNlJ1xuICB8ICd0ZXJ0aWFyeS1pbnZlcnNlJ1xuICB8ICdleHByZXNzaXZlJ1xuICB8ICdkYW5nZXInXG4gIHwgJ2ZhY2Vib29rJ1xuICB8ICdwYXlwYWwnXG4gIHwgJ3RydXN0cGlsb3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVJQnV0dG9uIHtcblxuICAvLyBJbnB1dHNcblxuICAvLyBEaXNwbGF5IHRleHQgLSBSZXF1aXJlZCBldmVuIGlmIGljb24gb25seVxuICAvLyBidXR0b25UZXh0OiBzdHJpbmc7XG4gIC8vIGljb24gbmFtZVxuICBidXR0b25JY29uOiBJY29uTmFtZXM7XG4gIC8vIGNvbG9yL3N0eWxpbmcgb2YgYnV0dG9uXG4gIGJ1dHRvblR5cGU6IFVJQnV0dG9uVHlwZTtcbiAgLy8gcG9zaXRpb25pbmcgZm9yIGljb25cbiAgYnV0dG9uSWNvblBsYWNlbWVudDogSWNvbkNvbnRleHRcbiAgLy8gYnV0dG9uIHNpemVcbiAgYnV0dG9uU2l6ZTogVUlCdXR0b25TaXplO1xuICAvLyBGdWxsIHdpZHRoXG4gIGJ1dHRvbkZ1bGxXaWR0aDogVUlCdXR0b25Cb29sZWFuO1xuICAvLyBGb3IgbGlua3MsIGV4cGVjdHMgcmVsYXRpdmUgb3IgYWJzb2x1dGUgdXJsXG4gIGhyZWY6IHN0cmluZztcbiAgdGFyZ2V0OiBzdHJpbmc7XG4gIGJ1dHRvbkRpc2FibGVkOiBVSUJ1dHRvbkJvb2xlYW47XG5cbiAgLy8gUHJpdmF0ZSBwcm9wZXJ0aWVzXG4gIGJ1dHRvbkRpc3BsYXlDbGFzc2VzOiBzdHJpbmdbXTtcblxuICAvLyBPdXRwdXRzXG5cbiAgLy8gQ2xpY2sgZXZlbnQsIHVzZWQgd2hlbiBubyBocmVmIGlucHV0XG4gIGJ1dHRvbkRpZENsaWNrOiBFdmVudEVtaXR0ZXI8YW55Pjtcbn1cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy, ElementRef } from '@angular/core';
2
+ import { TokenService } from '../../services/token.service';
3
+ import { WindowService } from '../../services/window.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/token.service";
6
+ import * as i2 from "../../services/window.service";
7
+ import * as i3 from "@angular/common";
8
+ export class IconComponent {
9
+ constructor(tokenService, windowRef, elementRef) {
10
+ this.tokenService = tokenService;
11
+ this.windowRef = windowRef;
12
+ this.elementRef = elementRef;
13
+ this.iconSize = 'large';
14
+ this.iconContext = 'none';
15
+ }
16
+ convertRemToPixels(remString) {
17
+ const remNumber = parseFloat(remString.replace('rem', ''));
18
+ return remNumber * parseFloat(getComputedStyle(this.windowRef.nativeWindow.document.documentElement).fontSize);
19
+ }
20
+ ngOnChanges() {
21
+ this.ngOnInit();
22
+ }
23
+ ngOnInit() {
24
+ this.iconBrandPath = `${this.tokenService.getBrandName(`--icon-component-brand`, this.elementRef.nativeElement)}`;
25
+ this.size = this.tokenService.getTokenValue(`--global-size-icon-${this.iconSize}`);
26
+ this.iconDisplayClasses = [
27
+ `icon-context-${this.iconContext}`,
28
+ `icon-size-${this.iconSize}`
29
+ ];
30
+ const sizeInPixels = this.convertRemToPixels(this.size);
31
+ this.iconWidth = sizeInPixels;
32
+ this.iconHeight = sizeInPixels;
33
+ }
34
+ }
35
+ IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IconComponent, deps: [{ token: i1.TokenService }, { token: i2.WindowService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
36
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: IconComponent, selector: "ui-icon", inputs: { iconSize: "iconSize", iconName: "iconName", iconContext: "iconContext", iconWidth: "iconWidth", iconHeight: "iconHeight", iconClass: "iconClass" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"ui-icon\" [ngClass]=\"iconDisplayClasses\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" attr.width=\"{{iconWidth}}px\" attr.height=\"{{iconHeight}}px\" attr.class=\"{{iconClass}}\">\n <use attr.xlink:href=\"./{{iconBrandPath}}/assets/icons/icons.svg#icon-{{iconName}}-24\"></use>\n </svg>\n</div>\n", styles: ["ui-icon{--icon-component-brand: var(--utility-brand-name)}.ui-icon{display:inline-flex}.ui-icon.icon-size-large.icon-context-leading{margin-left:calc(var(--component-size-button-large-icon-offset-leading) * -1)}.ui-icon.icon-size-large.icon-context-trailing{margin-right:calc(var(--component-size-button-large-icon-offset-trailing) * -1)}.ui-icon.icon-size-large.icon-context-iconOnly{margin-left:calc(var(--component-size-button-large-icon-offset-icon-only) * -1);margin-right:calc(var(--component-size-button-large-icon-offset-icon-only) * -1)}.ui-icon.icon-size-small.icon-context-leading{margin-left:calc(var(--component-size-button-small-icon-offset-leading) * -1)}.ui-icon.icon-size-small.icon-context-trailing{margin-right:calc(var(--component-size-button-small-icon-offset-trailing) * -1)}.ui-icon.icon-size-small.icon-context-iconOnly{margin-left:calc(var(--component-size-button-small-icon-offset-icon-only) * -1);margin-right:calc(var(--component-size-button-small-icon-offset-icon-only) * -1)}\n"], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IconComponent, decorators: [{
38
+ type: Component,
39
+ args: [{
40
+ selector: 'ui-icon',
41
+ templateUrl: './icon.component.html',
42
+ styleUrls: ['./icon.component.scss'],
43
+ changeDetection: ChangeDetectionStrategy.OnPush,
44
+ encapsulation: ViewEncapsulation.None
45
+ }]
46
+ }], ctorParameters: function () { return [{ type: i1.TokenService }, { type: i2.WindowService }, { type: i0.ElementRef }]; }, propDecorators: { iconSize: [{
47
+ type: Input
48
+ }], iconName: [{
49
+ type: Input
50
+ }], iconContext: [{
51
+ type: Input
52
+ }], iconWidth: [{
53
+ type: Input
54
+ }], iconHeight: [{
55
+ type: Input
56
+ }], iconClass: [{
57
+ type: Input
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBYSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFVOUQsTUFBTSxPQUFPLGFBQWE7SUFheEIsWUFBb0IsWUFBMEIsRUFBVSxTQUF3QixFQUFVLFVBQXNCO1FBQTVGLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFadkcsYUFBUSxHQUFvQixPQUFPLENBQUM7UUFFcEMsZ0JBQVcsR0FBZ0IsTUFBTSxDQUFDO0lBVXlFLENBQUM7SUFFckgsa0JBQWtCLENBQUMsU0FBaUI7UUFDbEMsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0QsT0FBTyxTQUFTLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUE7UUFDakgsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFbkYsSUFBSSxDQUFDLGtCQUFrQixHQUFHO1lBQ3hCLGdCQUFnQixJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xDLGFBQWEsSUFBSSxDQUFDLFFBQVEsRUFBRTtTQUM3QixDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQztJQUNqQyxDQUFDOzsyR0FwQ1UsYUFBYTsrRkFBYixhQUFhLGtPQ1oxQiw4VEFLQTs0RkRPYSxhQUFhO2tCQVB6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBQyxTQUFTO29CQUNsQixXQUFXLEVBQUUsdUJBQXVCO29CQUNwQyxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDcEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzt3SkFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkNoYW5nZXMsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rva2VuLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpbmRvdy5zZXJ2aWNlJztcbmltcG9ydCB7IEljb25OYW1lcywgSWNvbkNvbnRleHQgfSBmcm9tICcuL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6J3VpLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ljb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgaWNvblNpemU6ICdzbWFsbCd8J2xhcmdlJyA9ICdsYXJnZSc7XG4gIEBJbnB1dCgpIGljb25OYW1lITogSWNvbk5hbWVzO1xuICBASW5wdXQoKSBpY29uQ29udGV4dDogSWNvbkNvbnRleHQgPSAnbm9uZSc7XG5cbiAgQElucHV0KCkgaWNvbldpZHRoPzogbnVtYmVyO1xuICBASW5wdXQoKSBpY29uSGVpZ2h0PzogbnVtYmVyO1xuICBASW5wdXQoKSBpY29uQ2xhc3M/OiBzdHJpbmc7XG5cbiAgc2l6ZT86IHN0cmluZztcbiAgaWNvbkJyYW5kUGF0aD86IHN0cmluZztcbiAgaWNvbkRpc3BsYXlDbGFzc2VzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRva2VuU2VydmljZTogVG9rZW5TZXJ2aWNlLCBwcml2YXRlIHdpbmRvd1JlZjogV2luZG93U2VydmljZSwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICBjb252ZXJ0UmVtVG9QaXhlbHMocmVtU3RyaW5nOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHJlbU51bWJlciA9IHBhcnNlRmxvYXQocmVtU3RyaW5nLnJlcGxhY2UoJ3JlbScsICcnKSk7XG4gICAgcmV0dXJuIHJlbU51bWJlciAqIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5mb250U2l6ZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLm5nT25Jbml0KCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmljb25CcmFuZFBhdGggPSBgJHt0aGlzLnRva2VuU2VydmljZS5nZXRCcmFuZE5hbWUoYC0taWNvbi1jb21wb25lbnQtYnJhbmRgLCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCl9YFxuICAgIHRoaXMuc2l6ZSA9IHRoaXMudG9rZW5TZXJ2aWNlLmdldFRva2VuVmFsdWUoYC0tZ2xvYmFsLXNpemUtaWNvbi0ke3RoaXMuaWNvblNpemV9YCk7XG5cbiAgICB0aGlzLmljb25EaXNwbGF5Q2xhc3NlcyA9IFtcbiAgICAgIGBpY29uLWNvbnRleHQtJHt0aGlzLmljb25Db250ZXh0fWAsXG4gICAgICBgaWNvbi1zaXplLSR7dGhpcy5pY29uU2l6ZX1gXG4gICAgXTtcblxuICAgIGNvbnN0IHNpemVJblBpeGVscyA9IHRoaXMuY29udmVydFJlbVRvUGl4ZWxzKHRoaXMuc2l6ZSk7XG4gICAgdGhpcy5pY29uV2lkdGggPSBzaXplSW5QaXhlbHM7XG4gICAgdGhpcy5pY29uSGVpZ2h0ID0gc2l6ZUluUGl4ZWxzO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJ1aS1pY29uXCIgW25nQ2xhc3NdPVwiaWNvbkRpc3BsYXlDbGFzc2VzXCI+XG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGF0dHIud2lkdGg9XCJ7e2ljb25XaWR0aH19cHhcIiBhdHRyLmhlaWdodD1cInt7aWNvbkhlaWdodH19cHhcIiBhdHRyLmNsYXNzPVwie3tpY29uQ2xhc3N9fVwiPlxuICAgIDx1c2UgYXR0ci54bGluazpocmVmPVwiLi97e2ljb25CcmFuZFBhdGh9fS9hc3NldHMvaWNvbnMvaWNvbnMuc3ZnI2ljb24te3tpY29uTmFtZX19LTI0XCI+PC91c2U+XG4gIDwvc3ZnPlxuPC9kaXY+XG4iXX0=