@rhtml/modifiers 0.0.95 → 0.0.98

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 (58) hide show
  1. package/README.md +43 -34
  2. package/dist/angular/if.d.ts +11 -0
  3. package/dist/angular/if.js +31 -0
  4. package/dist/angular/if.js.map +1 -0
  5. package/dist/angular/index.d.ts +2 -14
  6. package/dist/angular/index.js +3 -73
  7. package/dist/angular/index.js.map +1 -1
  8. package/dist/index.d.ts +0 -1
  9. package/dist/index.js +0 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/layout/flex-align.d.ts +15 -0
  12. package/dist/layout/flex-align.js +32 -0
  13. package/dist/layout/flex-align.js.map +1 -0
  14. package/dist/layout/flex-fill.d.ts +20 -0
  15. package/dist/layout/flex-fill.js +44 -0
  16. package/dist/layout/flex-fill.js.map +1 -0
  17. package/dist/layout/flex-offset.d.ts +15 -0
  18. package/dist/layout/flex-offset.js +32 -0
  19. package/dist/layout/flex-offset.js.map +1 -0
  20. package/dist/layout/flex-order.d.ts +15 -0
  21. package/dist/layout/flex-order.js +32 -0
  22. package/dist/layout/flex-order.js.map +1 -0
  23. package/dist/layout/flex.d.ts +17 -0
  24. package/dist/layout/flex.js +36 -0
  25. package/dist/layout/flex.js.map +1 -0
  26. package/dist/layout/index.d.ts +10 -11
  27. package/dist/layout/index.js +28 -56
  28. package/dist/layout/index.js.map +1 -1
  29. package/dist/layout/layout-align.d.ts +17 -0
  30. package/dist/layout/layout-align.js +39 -0
  31. package/dist/layout/layout-align.js.map +1 -0
  32. package/dist/layout/layout-gap.d.ts +17 -0
  33. package/dist/layout/layout-gap.js +46 -0
  34. package/dist/layout/layout-gap.js.map +1 -0
  35. package/dist/layout/layout.d.ts +19 -0
  36. package/dist/layout/layout.js +43 -0
  37. package/dist/layout/layout.js.map +1 -0
  38. package/package.json +3 -2
  39. package/src/angular/if.ts +29 -0
  40. package/src/angular/index.ts +2 -81
  41. package/src/index.ts +0 -1
  42. package/src/layout/flex-align.ts +36 -0
  43. package/src/layout/flex-fill.ts +51 -0
  44. package/src/layout/flex-offset.ts +37 -0
  45. package/src/layout/flex-order.ts +37 -0
  46. package/src/layout/flex.ts +43 -0
  47. package/src/layout/index.ts +21 -60
  48. package/src/layout/layout-align.ts +46 -0
  49. package/src/layout/layout-gap.ts +54 -0
  50. package/src/layout/layout.ts +46 -0
  51. package/dist/helpers/index.d.ts +0 -2
  52. package/dist/helpers/index.js +0 -12
  53. package/dist/helpers/index.js.map +0 -1
  54. package/dist/layout/modifiers.d.ts +0 -23
  55. package/dist/layout/modifiers.js +0 -131
  56. package/dist/layout/modifiers.js.map +0 -1
  57. package/src/helpers/index.ts +0 -12
  58. package/src/layout/modifiers.ts +0 -167
package/README.md CHANGED
@@ -6,38 +6,11 @@
6
6
  npm i @rhtml/modifiers
7
7
  ```
8
8
 
9
- #### Modifiers
9
+ Every modifier is actually `custom attribute` and modifiers is using package [@rhtml/custom-attributes](../custom-attributes)
10
10
 
11
- What is a modifier ?
11
+ #### Usage
12
12
 
13
- In order to apply some logic before current template is loaded like custom directives, we need to wrap current template and pass it along the actual modifier template
14
-
15
- ```typescript
16
- @Component({
17
- selector: 'my-modifier',
18
- template() {
19
- return html`
20
- <slot></slot>
21
- `;
22
- }
23
- })
24
- export class MyModifier extends LitElement {
25
- OnUpdate() {
26
- const slot = this.shadowRoot.querySelector('slot');
27
- for (const element of [...slot.assignedElements()]) {
28
- /// Do something here with element
29
- }
30
- }
31
-
32
- public static html(template: TemplateResult) {
33
- return html`
34
- <my-modifier>${template}</my-modifier>
35
- `;
36
- }
37
- }
38
- ```
39
-
40
- Another real example is to add FlexLayout modifier from `@rhtml/modifiers` which will apply useful directives
13
+ Another real example is to add FlexLayout modifier from `@rhtml/modifiers` which will apply useful attributes
41
14
  to be used inside of the html inspired from Angular flex-layout https://github.com/angular/flex-layout/wiki/Declarative-API-Overview
42
15
 
43
16
  ```typescript
@@ -51,15 +24,16 @@ import { FlexLayout } from '@rhtml/modifiers';
51
24
  @Component({
52
25
  selector: 'home-component',
53
26
  style: css`
27
+ .container {
28
+ height: 200px;
29
+ }
30
+
54
31
  .block {
55
32
  background: red;
56
33
  flex: 1;
57
34
  }
58
- .container {
59
- height: 200px;
60
- }
61
35
  `,
62
- modifiers: [FlexLayout],
36
+ modifiers: [...FlexLayout],
63
37
  template(this: HomeComponent) {
64
38
  return html`
65
39
  <div class="container" fxLayout="row" fxLayoutGap="10px">
@@ -81,3 +55,38 @@ import { FlexLayout } from '@rhtml/modifiers';
81
55
  })
82
56
  export class HomeComponent extends LitElement {}
83
57
  ```
58
+
59
+ #### Angular Layout
60
+
61
+ `ngIf` attribute available at the moment to test the logic which represents
62
+
63
+ ```typescript
64
+ import { Component, html, LitElement, state } from '@rxdi/lit-html';
65
+
66
+ import { AngularLayout } from '@rhtml/modifiers';
67
+
68
+ /**
69
+ * @customElement home-component
70
+ */
71
+ @Component({
72
+ selector: 'home-component',
73
+ modifiers: [...AngularLayout],
74
+ template(this: HomeComponent) {
75
+ return html`
76
+ <div ngIf=${this.show}>
77
+ My Content
78
+ </div>
79
+
80
+ <button @click=${() => this.toggle()}>Toggle</button>
81
+ `;
82
+ }
83
+ })
84
+ export class HomeComponent extends LitElement {
85
+ @state()
86
+ show: boolean;
87
+
88
+ toggle() {
89
+ this.show = !this.show;
90
+ }
91
+ }
92
+ ```
@@ -0,0 +1,11 @@
1
+ import { Attribute, CustomAttributeRegistry } from '@rhtml/custom-attributes';
2
+ export declare class IfOperator extends Attribute {
3
+ static options(this: HTMLElement): {
4
+ name: string;
5
+ registry: CustomAttributeRegistry;
6
+ };
7
+ OnInit(): void;
8
+ OnDestroy(): void;
9
+ OnUpdate(): void;
10
+ setColor(): void;
11
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IfOperator = void 0;
4
+ const custom_attributes_1 = require("@rhtml/custom-attributes");
5
+ class IfOperator extends custom_attributes_1.Attribute {
6
+ static options() {
7
+ return {
8
+ name: 'ngIf',
9
+ registry: new custom_attributes_1.CustomAttributeRegistry(this.shadowRoot)
10
+ };
11
+ }
12
+ OnInit() {
13
+ this.setColor();
14
+ }
15
+ OnDestroy() {
16
+ this.element.style.display = null;
17
+ }
18
+ OnUpdate() {
19
+ this.setColor();
20
+ }
21
+ setColor() {
22
+ if (this.value === 'true') {
23
+ this.element.style.display = null;
24
+ }
25
+ else {
26
+ this.element.style.display = 'none';
27
+ }
28
+ }
29
+ }
30
+ exports.IfOperator = IfOperator;
31
+ //# sourceMappingURL=if.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"if.js","sourceRoot":"","sources":["../../src/angular/if.ts"],"names":[],"mappings":";;;AAAA,gEAA8E;AAE9E,MAAa,UAAW,SAAQ,6BAAS;IACvC,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI,2CAAuB,CAAC,IAAI,CAAC,UAAU,CAAC;SACvD,CAAC;IACJ,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACrC;IACH,CAAC;CACF;AA1BD,gCA0BC"}
@@ -1,14 +1,2 @@
1
- import { LitElement, OnDestroy, OnUpdateFirst, TemplateResult } from '@rxdi/lit-html';
2
- export declare enum Attributes {
3
- NgIf = "ngIf"
4
- }
5
- export declare class AngularLayout extends LitElement implements OnUpdateFirst, OnDestroy {
6
- static modifier(template: TemplateResult): TemplateResult;
7
- parent: LitElement;
8
- private container;
9
- private observer;
10
- OnUpdateFirst(): void;
11
- OnDestroy(): void;
12
- private listenForTreeChanges;
13
- private triggerChanges;
14
- }
1
+ import { IfOperator } from './if';
2
+ export declare const AngularLayout: (typeof IfOperator)[];
@@ -1,76 +1,6 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AngularLayout = exports.Attributes = void 0;
13
- const lit_html_1 = require("@rxdi/lit-html");
14
- const helpers_1 = require("../helpers");
15
- var Attributes;
16
- (function (Attributes) {
17
- Attributes["NgIf"] = "ngIf";
18
- })(Attributes = exports.Attributes || (exports.Attributes = {}));
19
- function recursion(div) {
20
- const ngIf = div.getAttribute(Attributes.NgIf);
21
- if (helpers_1.isAttribute(ngIf)) {
22
- helpers_1.subscribeToAttributeChanges(Attributes.NgIf)(element => (element.style.display =
23
- element.getAttribute(Attributes.NgIf) === 'true' ? 'block' : 'none'))(div);
24
- }
25
- const divs = [...div.children];
26
- for (const div of divs) {
27
- recursion.call(this, div);
28
- }
29
- }
30
- let AngularLayout = class AngularLayout extends lit_html_1.LitElement {
31
- /* Keep in mind that `this` here is the parent component where modifier will be used */
32
- static modifier(template) {
33
- return lit_html_1.html `
34
- <angular-layout .parent=${this}>${template}</angular-layout>
35
- `;
36
- }
37
- OnUpdateFirst() {
38
- this.triggerChanges();
39
- this.listenForTreeChanges();
40
- }
41
- OnDestroy() {
42
- this.observer.disconnect();
43
- }
44
- listenForTreeChanges() {
45
- this.observer = new MutationObserver(() => this.triggerChanges());
46
- this.observer.observe(this.parent.shadowRoot, {
47
- subtree: true,
48
- childList: true
49
- });
50
- }
51
- triggerChanges() {
52
- for (const div of this.container.assignedElements()) {
53
- recursion.call(this.parent, div);
54
- }
55
- }
56
- };
57
- __decorate([
58
- lit_html_1.property(),
59
- __metadata("design:type", lit_html_1.LitElement)
60
- ], AngularLayout.prototype, "parent", void 0);
61
- __decorate([
62
- lit_html_1.query('slot'),
63
- __metadata("design:type", HTMLSlotElement)
64
- ], AngularLayout.prototype, "container", void 0);
65
- AngularLayout = __decorate([
66
- lit_html_1.Component({
67
- selector: 'angular-layout',
68
- template() {
69
- return lit_html_1.html `
70
- <slot></slot>
71
- `;
72
- }
73
- })
74
- ], AngularLayout);
75
- exports.AngularLayout = AngularLayout;
3
+ exports.AngularLayout = void 0;
4
+ const if_1 = require("./if");
5
+ exports.AngularLayout = [if_1.IfOperator];
76
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/angular/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CASwB;AAExB,wCAAsE;AAEtE,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,2BAAa,CAAA;AACf,CAAC,EAFW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAErB;AAED,SAAS,SAAS,CAAC,GAAgB;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,qBAAW,CAAC,IAAI,CAAC,EAAE;QACrB,qCAA2B,CAAC,UAAU,CAAC,IAAI,CAAC,CAC1C,OAAO,CAAC,EAAE,CACR,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;YACpB,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CACzE,CAAC,GAAG,CAAC,CAAC;KACR;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAkB,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAC3B;AACH,CAAC;AAUD,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,qBAAU;IAE3C,uFAAuF;IAChF,MAAM,CAAC,QAAQ,CAAC,QAAwB;QAC7C,OAAO,eAAI,CAAA;gCACiB,IAAI,IAAI,QAAQ;KAC3C,CAAC;IACJ,CAAC;IAUD,aAAa;QACX,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAC5C,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEO,cAAc;QACpB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE;YACnD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SAClC;IACH,CAAC;CACF,CAAA;AA7BC;IADC,mBAAQ,EAAE;8BACI,qBAAU;6CAAC;AAG1B;IADC,gBAAK,CAAC,MAAM,CAAC;8BACK,eAAe;gDAAC;AAbxB,aAAa;IARzB,oBAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ;YACN,OAAO,eAAI,CAAA;;KAEV,CAAC;QACJ,CAAC;KACF,CAAC;GACW,aAAa,CAuCzB;AAvCY,sCAAa"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/angular/index.ts"],"names":[],"mappings":";;;AAAA,6BAAkC;AAErB,QAAA,aAAa,GAAG,CAAC,eAAU,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  export * from './angular';
2
- export * from './helpers';
3
2
  export * from './layout';
package/dist/index.js CHANGED
@@ -11,6 +11,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./angular"), exports);
14
- __exportStar(require("./helpers"), exports);
15
14
  __exportStar(require("./layout"), exports);
16
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,4CAA0B;AAC1B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB"}
@@ -0,0 +1,15 @@
1
+ import { Attribute } from '@rhtml/custom-attributes';
2
+ interface Styles {
3
+ 'align-self': string;
4
+ }
5
+ export declare class FlexAlign extends Attribute<Styles> {
6
+ static options(this: HTMLElement): {
7
+ name: string;
8
+ };
9
+ OnInit(): void;
10
+ OnDestroy(): void;
11
+ OnUpdate(): void;
12
+ private clean;
13
+ private modify;
14
+ }
15
+ export {};
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlexAlign = void 0;
4
+ const custom_attributes_1 = require("@rhtml/custom-attributes");
5
+ class FlexAlign extends custom_attributes_1.Attribute {
6
+ static options() {
7
+ return {
8
+ name: 'fxFlexAlign'
9
+ };
10
+ }
11
+ OnInit() {
12
+ this.modify();
13
+ }
14
+ OnDestroy() {
15
+ this.clean();
16
+ }
17
+ OnUpdate() {
18
+ this.modify();
19
+ }
20
+ clean() {
21
+ this.setStyles({
22
+ 'align-self': null
23
+ })(this.element);
24
+ }
25
+ modify() {
26
+ this.setStyles({
27
+ 'align-self': this.value || null
28
+ })(this.element);
29
+ }
30
+ }
31
+ exports.FlexAlign = FlexAlign;
32
+ //# sourceMappingURL=flex-align.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flex-align.js","sourceRoot":"","sources":["../../src/layout/flex-align.ts"],"names":[],"mappings":";;;AAAA,gEAAqD;AAKrD,MAAa,SAAU,SAAQ,6BAAiB;IAC9C,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,aAAa;SACpB,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,SAAS,CAAC;YACb,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,SAAS,CAAC;YACb,YAAY,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;SACjC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACF;AA9BD,8BA8BC"}
@@ -0,0 +1,20 @@
1
+ import { Attribute } from '@rhtml/custom-attributes';
2
+ interface Styles {
3
+ margin: string;
4
+ width: string;
5
+ height: string;
6
+ 'min-width': string;
7
+ 'min-height': string;
8
+ }
9
+ export declare class FlexFill extends Attribute<Styles> {
10
+ static options(this: HTMLElement): {
11
+ name: string;
12
+ };
13
+ value: string;
14
+ OnInit(): void;
15
+ OnDestroy(): void;
16
+ OnUpdate(): void;
17
+ private clean;
18
+ private modify;
19
+ }
20
+ export {};
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlexFill = void 0;
4
+ const custom_attributes_1 = require("@rhtml/custom-attributes");
5
+ class FlexFill extends custom_attributes_1.Attribute {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.value = '100%';
9
+ }
10
+ static options() {
11
+ return {
12
+ name: 'fxFlexFill'
13
+ };
14
+ }
15
+ OnInit() {
16
+ this.modify();
17
+ }
18
+ OnDestroy() {
19
+ this.clean();
20
+ }
21
+ OnUpdate() {
22
+ this.modify();
23
+ }
24
+ clean() {
25
+ this.setStyles({
26
+ height: null,
27
+ margin: null,
28
+ 'min-height': null,
29
+ 'min-width': null,
30
+ width: null
31
+ })(this.element);
32
+ }
33
+ modify() {
34
+ this.setStyles({
35
+ margin: '0',
36
+ height: this.value,
37
+ 'min-height': this.value,
38
+ 'min-width': this.value,
39
+ width: this.value
40
+ })(this.element);
41
+ }
42
+ }
43
+ exports.FlexFill = FlexFill;
44
+ //# sourceMappingURL=flex-fill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flex-fill.js","sourceRoot":"","sources":["../../src/layout/flex-fill.ts"],"names":[],"mappings":";;;AAAA,gEAAqD;AAUrD,MAAa,QAAS,SAAQ,6BAAiB;IAA/C;;QAOE,UAAK,GAAG,MAAM,CAAC;IAiCjB,CAAC;IAvCC,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,YAAY;SACnB,CAAC;IACJ,CAAC;IAID,MAAM;QACJ,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,SAAS,CAAC;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,SAAS,CAAC;YACb,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,IAAI,CAAC,KAAK;YAClB,YAAY,EAAE,IAAI,CAAC,KAAK;YACxB,WAAW,EAAE,IAAI,CAAC,KAAK;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACF;AAxCD,4BAwCC"}
@@ -0,0 +1,15 @@
1
+ import { Attribute } from '@rhtml/custom-attributes';
2
+ interface Styles {
3
+ 'margin-left': string;
4
+ }
5
+ export declare class FlexOffset extends Attribute<Styles> {
6
+ static options(this: HTMLElement): {
7
+ name: string;
8
+ };
9
+ OnInit(): void;
10
+ OnDestroy(): void;
11
+ OnUpdate(): void;
12
+ private clean;
13
+ private modify;
14
+ }
15
+ export {};
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlexOffset = void 0;
4
+ const custom_attributes_1 = require("@rhtml/custom-attributes");
5
+ class FlexOffset extends custom_attributes_1.Attribute {
6
+ static options() {
7
+ return {
8
+ name: 'fxFlexOffset'
9
+ };
10
+ }
11
+ OnInit() {
12
+ this.modify();
13
+ }
14
+ OnDestroy() {
15
+ this.clean();
16
+ }
17
+ OnUpdate() {
18
+ this.modify();
19
+ }
20
+ clean() {
21
+ this.setStyles({
22
+ 'margin-left': null
23
+ })(this.element);
24
+ }
25
+ modify() {
26
+ this.setStyles({
27
+ 'margin-left': this.value || null
28
+ })(this.element);
29
+ }
30
+ }
31
+ exports.FlexOffset = FlexOffset;
32
+ //# sourceMappingURL=flex-offset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flex-offset.js","sourceRoot":"","sources":["../../src/layout/flex-offset.ts"],"names":[],"mappings":";;;AAAA,gEAAqD;AAMrD,MAAa,UAAW,SAAQ,6BAAiB;IAC/C,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,cAAc;SACrB,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,SAAS,CAAC;YACb,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,SAAS,CAAC;YACb,aAAa,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;SAClC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACF;AA9BD,gCA8BC"}
@@ -0,0 +1,15 @@
1
+ import { Attribute } from '@rhtml/custom-attributes';
2
+ interface Styles {
3
+ order: string;
4
+ }
5
+ export declare class FlexOrder extends Attribute<Styles> {
6
+ static options(this: HTMLElement): {
7
+ name: string;
8
+ };
9
+ OnInit(): void;
10
+ OnDestroy(): void;
11
+ OnUpdate(): void;
12
+ private clean;
13
+ private modify;
14
+ }
15
+ export {};
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlexOrder = void 0;
4
+ const custom_attributes_1 = require("@rhtml/custom-attributes");
5
+ class FlexOrder extends custom_attributes_1.Attribute {
6
+ static options() {
7
+ return {
8
+ name: 'fxFlexOrder'
9
+ };
10
+ }
11
+ OnInit() {
12
+ this.modify();
13
+ }
14
+ OnDestroy() {
15
+ this.clean();
16
+ }
17
+ OnUpdate() {
18
+ this.modify();
19
+ }
20
+ clean() {
21
+ this.setStyles({
22
+ order: null
23
+ })(this.element);
24
+ }
25
+ modify() {
26
+ this.setStyles({
27
+ order: this.value || null
28
+ })(this.element);
29
+ }
30
+ }
31
+ exports.FlexOrder = FlexOrder;
32
+ //# sourceMappingURL=flex-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flex-order.js","sourceRoot":"","sources":["../../src/layout/flex-order.ts"],"names":[],"mappings":";;;AAAA,gEAAqD;AAMrD,MAAa,SAAU,SAAQ,6BAAiB;IAC9C,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,aAAa;SACpB,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,SAAS,CAAC;YACb,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,SAAS,CAAC;YACb,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;SAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACF;AA9BD,8BA8BC"}
@@ -0,0 +1,17 @@
1
+ import { Attribute } from '@rhtml/custom-attributes';
2
+ interface Styles {
3
+ flex: string;
4
+ 'box-sizing': string;
5
+ 'max-width': string;
6
+ }
7
+ export declare class Flex extends Attribute<Styles> {
8
+ static options(this: HTMLElement): {
9
+ name: string;
10
+ };
11
+ OnInit(): void;
12
+ OnDestroy(): void;
13
+ OnUpdate(): void;
14
+ private clean;
15
+ private modify;
16
+ }
17
+ export {};
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Flex = void 0;
4
+ const custom_attributes_1 = require("@rhtml/custom-attributes");
5
+ class Flex extends custom_attributes_1.Attribute {
6
+ static options() {
7
+ return {
8
+ name: 'fxFlex'
9
+ };
10
+ }
11
+ OnInit() {
12
+ this.modify();
13
+ }
14
+ OnDestroy() {
15
+ this.clean();
16
+ }
17
+ OnUpdate() {
18
+ this.modify();
19
+ }
20
+ clean() {
21
+ this.setStyles({
22
+ 'box-sizing': null,
23
+ 'max-width': null,
24
+ flex: null
25
+ })(this.element);
26
+ }
27
+ modify() {
28
+ this.setStyles({
29
+ 'box-sizing': 'border-box',
30
+ 'max-width': this.value || null,
31
+ flex: '1 1 100%'
32
+ })(this.element);
33
+ }
34
+ }
35
+ exports.Flex = Flex;
36
+ //# sourceMappingURL=flex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flex.js","sourceRoot":"","sources":["../../src/layout/flex.ts"],"names":[],"mappings":";;;AAAA,gEAAqD;AAQrD,MAAa,IAAK,SAAQ,6BAAiB;IACzC,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,SAAS,CAAC;YACb,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,SAAS,CAAC;YACb,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;YAC/B,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACF;AAlCD,oBAkCC"}
@@ -1,11 +1,10 @@
1
- import { LitElement, OnDestroy, OnUpdateFirst, TemplateResult } from '@rxdi/lit-html';
2
- export declare class FlexLayout extends LitElement implements OnUpdateFirst, OnDestroy {
3
- static modifier(template: TemplateResult): TemplateResult;
4
- parent: LitElement;
5
- private container;
6
- private observer;
7
- OnUpdateFirst(): void;
8
- OnDestroy(): void;
9
- private listenForTreeChanges;
10
- private triggerChanges;
11
- }
1
+ import { Flex } from './flex';
2
+ import { FlexAlign } from './flex-align';
3
+ import { FlexFill } from './flex-fill';
4
+ import { FlexOffset } from './flex-offset';
5
+ import { FlexOrder } from './flex-order';
6
+ import { Layout } from './layout';
7
+ import { LayoutAlign } from './layout-align';
8
+ import { LayoutGap } from './layout-gap';
9
+ export * from './layout';
10
+ export declare const FlexLayout: (typeof Flex | typeof FlexAlign | typeof FlexFill | typeof FlexOffset | typeof FlexOrder | typeof Layout | typeof LayoutAlign | typeof LayoutGap)[];