mis-crystal-design-system 4.0.29-test → 4.0.30-test
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/mis-crystal-design-system-star-rating.umd.js +112 -0
- package/bundles/mis-crystal-design-system-star-rating.umd.js.map +1 -0
- package/bundles/mis-crystal-design-system-star-rating.umd.min.js +2 -0
- package/bundles/mis-crystal-design-system-star-rating.umd.min.js.map +1 -0
- package/esm2015/star-rating/index.js +2 -0
- package/esm2015/star-rating/mis-crystal-design-system-star-rating.js +5 -0
- package/esm2015/star-rating/public_api.js +3 -0
- package/esm2015/star-rating/star-rating.component.js +78 -0
- package/esm2015/star-rating/star-rating.module.js +13 -0
- package/fesm2015/mis-crystal-design-system-star-rating.js +96 -0
- package/fesm2015/mis-crystal-design-system-star-rating.js.map +1 -0
- package/package.json +1 -1
- package/star-rating/index.d.ts +1 -0
- package/star-rating/mis-crystal-design-system-star-rating.d.ts +4 -0
- package/star-rating/mis-crystal-design-system-star-rating.metadata.json +1 -0
- package/star-rating/package.json +11 -0
- package/star-rating/public_api.d.ts +2 -0
- package/star-rating/star-rating.component.d.ts +26 -0
- package/star-rating/star-rating.module.d.ts +2 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('mis-crystal-design-system/star-rating', ['exports', '@angular/common', '@angular/core'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['mis-crystal-design-system'] = global['mis-crystal-design-system'] || {}, global['mis-crystal-design-system']['star-rating'] = {}), global.ng.common, global.ng.core));
|
|
5
|
+
}(this, (function (exports, common, core) { 'use strict';
|
|
6
|
+
|
|
7
|
+
var StarRatingComponent = /** @class */ (function () {
|
|
8
|
+
function StarRatingComponent() {
|
|
9
|
+
this.noOfStars = 0;
|
|
10
|
+
this.selectedRating = -1;
|
|
11
|
+
this.selectedStarSvg = '';
|
|
12
|
+
this.emptyStarSvg = '';
|
|
13
|
+
this.starHeight = '24px';
|
|
14
|
+
this.starWidth = '24px';
|
|
15
|
+
this.starSelectionAllowed = true;
|
|
16
|
+
this.starHoverAllowed = true;
|
|
17
|
+
this.starRated = new core.EventEmitter();
|
|
18
|
+
this.starData = [];
|
|
19
|
+
this.selectedData = [];
|
|
20
|
+
}
|
|
21
|
+
StarRatingComponent.prototype.ngOnInit = function () {
|
|
22
|
+
var _this = this;
|
|
23
|
+
if (this.noOfStars > 0) {
|
|
24
|
+
this.starData = Array.from({ length: this.noOfStars }, function (_, i) { return ({
|
|
25
|
+
id: i,
|
|
26
|
+
asset: _this.emptyStarSvg,
|
|
27
|
+
hoverId: -1,
|
|
28
|
+
}); });
|
|
29
|
+
}
|
|
30
|
+
this.selectedRating = this.selectedRating > this.noOfStars ? this.noOfStars : this.selectedRating;
|
|
31
|
+
this.assetsSelection(this.selectedRating);
|
|
32
|
+
this.selectedData = JSON.parse(JSON.stringify(this.starData));
|
|
33
|
+
};
|
|
34
|
+
StarRatingComponent.prototype.ngOnChanges = function (changes) {
|
|
35
|
+
this.assetsSelection(this.selectedRating);
|
|
36
|
+
this.selectedData = JSON.parse(JSON.stringify(this.starData));
|
|
37
|
+
};
|
|
38
|
+
StarRatingComponent.prototype.assetsSelection = function (index) {
|
|
39
|
+
var _this = this;
|
|
40
|
+
if (index === void 0) { index = -1; }
|
|
41
|
+
this.starData.forEach(function (item) {
|
|
42
|
+
item.asset = item.id <= index - 1 ? _this.selectedStarSvg : _this.emptyStarSvg;
|
|
43
|
+
item.hoverId = -1;
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
StarRatingComponent.prototype.starMouseOver = function (index) {
|
|
47
|
+
var _this = this;
|
|
48
|
+
if (!this.starHoverAllowed)
|
|
49
|
+
return;
|
|
50
|
+
var threshold = this.selectedRating - 1;
|
|
51
|
+
this.starData.forEach(function (item) {
|
|
52
|
+
item.hoverId = index;
|
|
53
|
+
item.asset = index > threshold && item.id <= index ? _this.selectedStarSvg : _this.selectedData[item.id].asset;
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
StarRatingComponent.prototype.starMouseLeave = function () {
|
|
57
|
+
if (!this.starHoverAllowed)
|
|
58
|
+
return;
|
|
59
|
+
this.starData = JSON.parse(JSON.stringify(this.selectedData));
|
|
60
|
+
this.assetsSelection(this.selectedRating);
|
|
61
|
+
};
|
|
62
|
+
StarRatingComponent.prototype.selectedStarData = function (index) {
|
|
63
|
+
if (this.starSelectionAllowed) {
|
|
64
|
+
this.starRated.emit(index + 1);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
return StarRatingComponent;
|
|
68
|
+
}());
|
|
69
|
+
StarRatingComponent.decorators = [
|
|
70
|
+
{ type: core.Component, args: [{
|
|
71
|
+
selector: 'mis-star-rating',
|
|
72
|
+
template: "<div class=\"rating-container\" (mouseleave)=\"starMouseLeave()\" [ngStyle]=\"{'cursor': starSelectionAllowed ? 'pointer' : 'not-allowed'}\">\n <div class=\"stars-container\" *ngFor=\"let star of starData\">\n <div class=\"star\" \n (click)=\"selectedStarData(star.id)\" \n (mouseover)=\"starMouseOver(star.id)\"\n [ngClass]=\"{'hoveredStarZoom': star.id === star.hoverId, 'not-hovered' : star.hoverId >=0 && star.id > star.hoverId}\"\n >\n <img [src]=\"star.asset\" [ngStyle]=\"{'height': starHeight, 'width': starWidth}\">\n </div>\n </div>\n</div>\n",
|
|
73
|
+
styles: [".rating-container{display:flex;flex-direction:row;gap:12px}.not-hovered{opacity:.6}.hoveredStarZoom{transform:scale(1.2);transition:all .3s ease-out}"]
|
|
74
|
+
},] }
|
|
75
|
+
];
|
|
76
|
+
StarRatingComponent.ctorParameters = function () { return []; };
|
|
77
|
+
StarRatingComponent.propDecorators = {
|
|
78
|
+
noOfStars: [{ type: core.Input }],
|
|
79
|
+
selectedRating: [{ type: core.Input }],
|
|
80
|
+
selectedStarSvg: [{ type: core.Input }],
|
|
81
|
+
emptyStarSvg: [{ type: core.Input }],
|
|
82
|
+
starHeight: [{ type: core.Input }],
|
|
83
|
+
starWidth: [{ type: core.Input }],
|
|
84
|
+
starSelectionAllowed: [{ type: core.Input }],
|
|
85
|
+
starHoverAllowed: [{ type: core.Input }],
|
|
86
|
+
starRated: [{ type: core.Output, args: ['starRated',] }]
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
var StarRatingModule = /** @class */ (function () {
|
|
90
|
+
function StarRatingModule() {
|
|
91
|
+
}
|
|
92
|
+
return StarRatingModule;
|
|
93
|
+
}());
|
|
94
|
+
StarRatingModule.decorators = [
|
|
95
|
+
{ type: core.NgModule, args: [{
|
|
96
|
+
declarations: [StarRatingComponent],
|
|
97
|
+
imports: [common.CommonModule],
|
|
98
|
+
exports: [StarRatingComponent]
|
|
99
|
+
},] }
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Generated bundle index. Do not edit.
|
|
104
|
+
*/
|
|
105
|
+
|
|
106
|
+
exports.StarRatingComponent = StarRatingComponent;
|
|
107
|
+
exports.StarRatingModule = StarRatingModule;
|
|
108
|
+
|
|
109
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
110
|
+
|
|
111
|
+
})));
|
|
112
|
+
//# sourceMappingURL=mis-crystal-design-system-star-rating.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-star-rating.umd.js","sources":["../../../projects/mis-components/star-rating/star-rating.component.ts","../../../projects/mis-components/star-rating/star-rating.module.ts","../../../projects/mis-components/star-rating/mis-crystal-design-system-star-rating.ts"],"sourcesContent":["import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\n\n@Component({\n selector: 'mis-star-rating',\n templateUrl: './star-rating.component.html',\n styleUrls: ['./star-rating.component.scss']\n})\nexport class StarRatingComponent implements OnInit, OnChanges {\n\n @Input() noOfStars: number = 0;\n @Input() selectedRating: number = -1;\n @Input() selectedStarSvg = '';\n @Input() emptyStarSvg = '';\n @Input() starHeight = '24px';\n @Input() starWidth = '24px';\n @Input() starSelectionAllowed = true;\n @Input() starHoverAllowed = true;\n @Output('starRated') starRated: EventEmitter<number> = new EventEmitter();\n\n starData: STAR_DATA[] = [];\n selectedData: STAR_DATA[] = [];\n constructor() { }\n\n ngOnInit(): void {\n if(this.noOfStars > 0){\n this.starData = Array.from({ length: this.noOfStars }, (_, i) => ({\n id: i,\n asset: this.emptyStarSvg,\n hoverId: -1,\n }));\n }\n this.selectedRating = this.selectedRating > this.noOfStars ? this.noOfStars : this.selectedRating; \n this.assetsSelection(this.selectedRating);\n this.selectedData = JSON.parse(JSON.stringify(this.starData));\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.assetsSelection(this.selectedRating);\n this.selectedData = JSON.parse(JSON.stringify(this.starData));\n }\n\n assetsSelection(index: number = -1){\n this.starData.forEach((item: STAR_DATA) => {\n item.asset = item.id <= index - 1 ? this.selectedStarSvg : this.emptyStarSvg;\n item.hoverId = -1;\n });\n }\n\n starMouseOver(index){\n if (!this.starHoverAllowed) return;\n\n const threshold = this.selectedRating - 1;\n this.starData.forEach(item => {\n item.hoverId = index;\n item.asset = index > threshold && item.id <= index ? this.selectedStarSvg : this.selectedData[item.id].asset;\n });\n\n }\n\n starMouseLeave(){\n if(!this.starHoverAllowed) return;\n\n this.starData = JSON.parse(JSON.stringify(this.selectedData));\n this.assetsSelection(this.selectedRating);\n }\n\n selectedStarData(index: number){\n if(this.starSelectionAllowed){\n this.starRated.emit(index+1)\n }\n }\n\n}\n\nexport interface STAR_DATA {\n id: number,\n asset: string,\n hoverId: number\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { StarRatingComponent } from \"./star-rating.component\";\n\n@NgModule({\n declarations: [StarRatingComponent],\n imports: [CommonModule],\n exports: [StarRatingComponent]\n})\nexport class StarRatingModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["EventEmitter","Component","Input","Output","NgModule","CommonModule"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common"),require("@angular/core")):"function"==typeof define&&define.amd?define("mis-crystal-design-system/star-rating",["exports","@angular/common","@angular/core"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self)["mis-crystal-design-system"]=t["mis-crystal-design-system"]||{},t["mis-crystal-design-system"]["star-rating"]={}),t.ng.common,t.ng.core)}(this,(function(t,e,s){"use strict";var a=function(){function t(){this.noOfStars=0,this.selectedRating=-1,this.selectedStarSvg="",this.emptyStarSvg="",this.starHeight="24px",this.starWidth="24px",this.starSelectionAllowed=!0,this.starHoverAllowed=!0,this.starRated=new s.EventEmitter,this.starData=[],this.selectedData=[]}return t.prototype.ngOnInit=function(){var t=this;this.noOfStars>0&&(this.starData=Array.from({length:this.noOfStars},(function(e,s){return{id:s,asset:t.emptyStarSvg,hoverId:-1}}))),this.selectedRating=this.selectedRating>this.noOfStars?this.noOfStars:this.selectedRating,this.assetsSelection(this.selectedRating),this.selectedData=JSON.parse(JSON.stringify(this.starData))},t.prototype.ngOnChanges=function(t){this.assetsSelection(this.selectedRating),this.selectedData=JSON.parse(JSON.stringify(this.starData))},t.prototype.assetsSelection=function(t){var e=this;void 0===t&&(t=-1),this.starData.forEach((function(s){s.asset=s.id<=t-1?e.selectedStarSvg:e.emptyStarSvg,s.hoverId=-1}))},t.prototype.starMouseOver=function(t){var e=this;if(this.starHoverAllowed){var s=this.selectedRating-1;this.starData.forEach((function(a){a.hoverId=t,a.asset=t>s&&a.id<=t?e.selectedStarSvg:e.selectedData[a.id].asset}))}},t.prototype.starMouseLeave=function(){this.starHoverAllowed&&(this.starData=JSON.parse(JSON.stringify(this.selectedData)),this.assetsSelection(this.selectedRating))},t.prototype.selectedStarData=function(t){this.starSelectionAllowed&&this.starRated.emit(t+1)},t}();a.decorators=[{type:s.Component,args:[{selector:"mis-star-rating",template:'<div class="rating-container" (mouseleave)="starMouseLeave()" [ngStyle]="{\'cursor\': starSelectionAllowed ? \'pointer\' : \'not-allowed\'}">\n <div class="stars-container" *ngFor="let star of starData">\n <div class="star" \n (click)="selectedStarData(star.id)" \n (mouseover)="starMouseOver(star.id)"\n [ngClass]="{\'hoveredStarZoom\': star.id === star.hoverId, \'not-hovered\' : star.hoverId >=0 && star.id > star.hoverId}"\n >\n <img [src]="star.asset" [ngStyle]="{\'height\': starHeight, \'width\': starWidth}">\n </div>\n </div>\n</div>\n',styles:[".rating-container{display:flex;flex-direction:row;gap:12px}.not-hovered{opacity:.6}.hoveredStarZoom{transform:scale(1.2);transition:all .3s ease-out}"]}]}],a.ctorParameters=function(){return[]},a.propDecorators={noOfStars:[{type:s.Input}],selectedRating:[{type:s.Input}],selectedStarSvg:[{type:s.Input}],emptyStarSvg:[{type:s.Input}],starHeight:[{type:s.Input}],starWidth:[{type:s.Input}],starSelectionAllowed:[{type:s.Input}],starHoverAllowed:[{type:s.Input}],starRated:[{type:s.Output,args:["starRated"]}]};var r=function(){};r.decorators=[{type:s.NgModule,args:[{declarations:[a],imports:[e.CommonModule],exports:[a]}]}],t.StarRatingComponent=a,t.StarRatingModule=r,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
2
|
+
//# sourceMappingURL=mis-crystal-design-system-star-rating.umd.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../projects/mis-components/star-rating/star-rating.component.ts","../../../projects/mis-components/star-rating/star-rating.module.ts"],"names":["StarRatingComponent","this","noOfStars","selectedRating","selectedStarSvg","emptyStarSvg","starHeight","starWidth","starSelectionAllowed","starHoverAllowed","starRated","EventEmitter","starData","selectedData","prototype","ngOnInit","_this","Array","from","length","_","i","id","asset","hoverId","assetsSelection","JSON","parse","stringify","ngOnChanges","changes","index","forEach","item","starMouseOver","threshold","starMouseLeave","selectedStarData","emit","Component","args","selector","template","Input","Output","NgModule","declarations","imports","CommonModule","exports"],"mappings":"ggBAqBE,SAAAA,IAZSC,KAAAC,UAAoB,EACpBD,KAAAE,gBAA0B,EAC1BF,KAAAG,gBAAkB,GAClBH,KAAAI,aAAe,GACfJ,KAAAK,WAAa,OACbL,KAAAM,UAAY,OACZN,KAAAO,sBAAuB,EACvBP,KAAAQ,kBAAmB,EACPR,KAAAS,UAAkC,IAAIC,EAAAA,aAE3DV,KAAAW,SAAwB,GACxBX,KAAAY,aAA4B,UAG5Bb,EAAAc,UAAAC,SAAA,WAAA,IAAAC,EAAAf,KACKA,KAAKC,UAAY,IAClBD,KAAKW,SAAWK,MAAMC,KAAK,CAAEC,OAAQlB,KAAKC,YAAa,SAACkB,EAAGC,GAAM,MAAA,CAC/DC,GAAID,EACJE,MAAOP,EAAKX,aACZmB,SAAU,OAGdvB,KAAKE,eAAiBF,KAAKE,eAAiBF,KAAKC,UAAYD,KAAKC,UAAYD,KAAKE,eACnFF,KAAKwB,gBAAgBxB,KAAKE,gBAC1BF,KAAKY,aAAea,KAAKC,MAAMD,KAAKE,UAAU3B,KAAKW,YAGrDZ,EAAAc,UAAAe,YAAA,SAAYC,GACV7B,KAAKwB,gBAAgBxB,KAAKE,gBAC1BF,KAAKY,aAAea,KAAKC,MAAMD,KAAKE,UAAU3B,KAAKW,YAGrDZ,EAAAc,UAAAW,gBAAA,SAAgBM,GAAhB,IAAAf,EAAAf,UAAgB,IAAA8B,IAAAA,GAAiB,GAC/B9B,KAAKW,SAASoB,SAAQ,SAACC,GACrBA,EAAKV,MAAQU,EAAKX,IAAMS,EAAQ,EAAIf,EAAKZ,gBAAkBY,EAAKX,aAChE4B,EAAKT,SAAW,MAIpBxB,EAAAc,UAAAoB,cAAA,SAAcH,GAAd,IAAAf,EAAAf,KACE,GAAKA,KAAKQ,iBAAV,CAEA,IAAM0B,EAAYlC,KAAKE,eAAiB,EACxCF,KAAKW,SAASoB,SAAQ,SAAAC,GACpBA,EAAKT,QAAUO,EACfE,EAAKV,MAAQQ,EAAQI,GAAaF,EAAKX,IAAMS,EAAQf,EAAKZ,gBAAkBY,EAAKH,aAAaoB,EAAKX,IAAIC,WAK3GvB,EAAAc,UAAAsB,eAAA,WACMnC,KAAKQ,mBAETR,KAAKW,SAAWc,KAAKC,MAAMD,KAAKE,UAAU3B,KAAKY,eAC/CZ,KAAKwB,gBAAgBxB,KAAKE,kBAG5BH,EAAAc,UAAAuB,iBAAA,SAAiBN,GACZ9B,KAAKO,sBACNP,KAAKS,UAAU4B,KAAKP,EAAM,6BAlE/BQ,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,kBACVC,SAAA,40BAKCC,EAAAA,8BACAA,EAAAA,+BACAA,EAAAA,4BACAA,EAAAA,0BACAA,EAAAA,yBACAA,EAAAA,oCACAA,EAAAA,gCACAA,EAAAA,yBACAC,EAAAA,OAAMJ,KAAA,CAAC,sBCRV,iCALCK,EAAAA,SAAQL,KAAA,CAAC,CACRM,aAAc,CAAC9C,GACf+C,QAAS,CAACC,EAAAA,cACVC,QAAS,CAACjD","sourcesContent":["import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\n\n@Component({\n selector: 'mis-star-rating',\n templateUrl: './star-rating.component.html',\n styleUrls: ['./star-rating.component.scss']\n})\nexport class StarRatingComponent implements OnInit, OnChanges {\n\n @Input() noOfStars: number = 0;\n @Input() selectedRating: number = -1;\n @Input() selectedStarSvg = '';\n @Input() emptyStarSvg = '';\n @Input() starHeight = '24px';\n @Input() starWidth = '24px';\n @Input() starSelectionAllowed = true;\n @Input() starHoverAllowed = true;\n @Output('starRated') starRated: EventEmitter<number> = new EventEmitter();\n\n starData: STAR_DATA[] = [];\n selectedData: STAR_DATA[] = [];\n constructor() { }\n\n ngOnInit(): void {\n if(this.noOfStars > 0){\n this.starData = Array.from({ length: this.noOfStars }, (_, i) => ({\n id: i,\n asset: this.emptyStarSvg,\n hoverId: -1,\n }));\n }\n this.selectedRating = this.selectedRating > this.noOfStars ? this.noOfStars : this.selectedRating; \n this.assetsSelection(this.selectedRating);\n this.selectedData = JSON.parse(JSON.stringify(this.starData));\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.assetsSelection(this.selectedRating);\n this.selectedData = JSON.parse(JSON.stringify(this.starData));\n }\n\n assetsSelection(index: number = -1){\n this.starData.forEach((item: STAR_DATA) => {\n item.asset = item.id <= index - 1 ? this.selectedStarSvg : this.emptyStarSvg;\n item.hoverId = -1;\n });\n }\n\n starMouseOver(index){\n if (!this.starHoverAllowed) return;\n\n const threshold = this.selectedRating - 1;\n this.starData.forEach(item => {\n item.hoverId = index;\n item.asset = index > threshold && item.id <= index ? this.selectedStarSvg : this.selectedData[item.id].asset;\n });\n\n }\n\n starMouseLeave(){\n if(!this.starHoverAllowed) return;\n\n this.starData = JSON.parse(JSON.stringify(this.selectedData));\n this.assetsSelection(this.selectedRating);\n }\n\n selectedStarData(index: number){\n if(this.starSelectionAllowed){\n this.starRated.emit(index+1)\n }\n }\n\n}\n\nexport interface STAR_DATA {\n id: number,\n asset: string,\n hoverId: number\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { StarRatingComponent } from \"./star-rating.component\";\n\n@NgModule({\n declarations: [StarRatingComponent],\n imports: [CommonModule],\n exports: [StarRatingComponent]\n})\nexport class StarRatingModule {\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./public_api";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9zdGFyLXJhdGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3B1YmxpY19hcGlcIjsiXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1zdGFyLXJhdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3N0YXItcmF0aW5nL21pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0tc3Rhci1yYXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { StarRatingModule } from './star-rating.module';
|
|
2
|
+
export { StarRatingComponent } from './star-rating.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3N0YXItcmF0aW5nL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTdGFyUmF0aW5nTW9kdWxlIH0gZnJvbSAnLi9zdGFyLXJhdGluZy5tb2R1bGUnO1xuZXhwb3J0IHsgU3RhclJhdGluZ0NvbXBvbmVudCB9IGZyb20gJy4vc3Rhci1yYXRpbmcuY29tcG9uZW50JzsiXX0=
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
export class StarRatingComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.noOfStars = 0;
|
|
5
|
+
this.selectedRating = -1;
|
|
6
|
+
this.selectedStarSvg = '';
|
|
7
|
+
this.emptyStarSvg = '';
|
|
8
|
+
this.starHeight = '24px';
|
|
9
|
+
this.starWidth = '24px';
|
|
10
|
+
this.starSelectionAllowed = true;
|
|
11
|
+
this.starHoverAllowed = true;
|
|
12
|
+
this.starRated = new EventEmitter();
|
|
13
|
+
this.starData = [];
|
|
14
|
+
this.selectedData = [];
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
if (this.noOfStars > 0) {
|
|
18
|
+
this.starData = Array.from({ length: this.noOfStars }, (_, i) => ({
|
|
19
|
+
id: i,
|
|
20
|
+
asset: this.emptyStarSvg,
|
|
21
|
+
hoverId: -1,
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
this.selectedRating = this.selectedRating > this.noOfStars ? this.noOfStars : this.selectedRating;
|
|
25
|
+
this.assetsSelection(this.selectedRating);
|
|
26
|
+
this.selectedData = JSON.parse(JSON.stringify(this.starData));
|
|
27
|
+
}
|
|
28
|
+
ngOnChanges(changes) {
|
|
29
|
+
this.assetsSelection(this.selectedRating);
|
|
30
|
+
this.selectedData = JSON.parse(JSON.stringify(this.starData));
|
|
31
|
+
}
|
|
32
|
+
assetsSelection(index = -1) {
|
|
33
|
+
this.starData.forEach((item) => {
|
|
34
|
+
item.asset = item.id <= index - 1 ? this.selectedStarSvg : this.emptyStarSvg;
|
|
35
|
+
item.hoverId = -1;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
starMouseOver(index) {
|
|
39
|
+
if (!this.starHoverAllowed)
|
|
40
|
+
return;
|
|
41
|
+
const threshold = this.selectedRating - 1;
|
|
42
|
+
this.starData.forEach(item => {
|
|
43
|
+
item.hoverId = index;
|
|
44
|
+
item.asset = index > threshold && item.id <= index ? this.selectedStarSvg : this.selectedData[item.id].asset;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
starMouseLeave() {
|
|
48
|
+
if (!this.starHoverAllowed)
|
|
49
|
+
return;
|
|
50
|
+
this.starData = JSON.parse(JSON.stringify(this.selectedData));
|
|
51
|
+
this.assetsSelection(this.selectedRating);
|
|
52
|
+
}
|
|
53
|
+
selectedStarData(index) {
|
|
54
|
+
if (this.starSelectionAllowed) {
|
|
55
|
+
this.starRated.emit(index + 1);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
StarRatingComponent.decorators = [
|
|
60
|
+
{ type: Component, args: [{
|
|
61
|
+
selector: 'mis-star-rating',
|
|
62
|
+
template: "<div class=\"rating-container\" (mouseleave)=\"starMouseLeave()\" [ngStyle]=\"{'cursor': starSelectionAllowed ? 'pointer' : 'not-allowed'}\">\n <div class=\"stars-container\" *ngFor=\"let star of starData\">\n <div class=\"star\" \n (click)=\"selectedStarData(star.id)\" \n (mouseover)=\"starMouseOver(star.id)\"\n [ngClass]=\"{'hoveredStarZoom': star.id === star.hoverId, 'not-hovered' : star.hoverId >=0 && star.id > star.hoverId}\"\n >\n <img [src]=\"star.asset\" [ngStyle]=\"{'height': starHeight, 'width': starWidth}\">\n </div>\n </div>\n</div>\n",
|
|
63
|
+
styles: [".rating-container{display:flex;flex-direction:row;gap:12px}.not-hovered{opacity:.6}.hoveredStarZoom{transform:scale(1.2);transition:all .3s ease-out}"]
|
|
64
|
+
},] }
|
|
65
|
+
];
|
|
66
|
+
StarRatingComponent.ctorParameters = () => [];
|
|
67
|
+
StarRatingComponent.propDecorators = {
|
|
68
|
+
noOfStars: [{ type: Input }],
|
|
69
|
+
selectedRating: [{ type: Input }],
|
|
70
|
+
selectedStarSvg: [{ type: Input }],
|
|
71
|
+
emptyStarSvg: [{ type: Input }],
|
|
72
|
+
starHeight: [{ type: Input }],
|
|
73
|
+
starWidth: [{ type: Input }],
|
|
74
|
+
starSelectionAllowed: [{ type: Input }],
|
|
75
|
+
starHoverAllowed: [{ type: Input }],
|
|
76
|
+
starRated: [{ type: Output, args: ['starRated',] }]
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1yYXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvc3Rhci1yYXRpbmcvc3Rhci1yYXRpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBT3pHLE1BQU0sT0FBTyxtQkFBbUI7SUFjOUI7UUFaUyxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQUNwQixjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ25CLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUM1QixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDWixjQUFTLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUUsYUFBUSxHQUFnQixFQUFFLENBQUM7UUFDM0IsaUJBQVksR0FBZ0IsRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBQztZQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDaEUsRUFBRSxFQUFFLENBQUM7Z0JBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUN4QixPQUFPLEVBQUUsQ0FBQyxDQUFDO2FBQ1osQ0FBQyxDQUFDLENBQUM7U0FDTDtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2xHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGVBQWUsQ0FBQyxRQUFnQixDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFlLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUM3RSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQUUsT0FBTztRQUVuQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxTQUFTLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMvRyxDQUFDLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0I7WUFBRSxPQUFPO1FBRWxDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzVCLElBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQTtTQUM3QjtJQUNILENBQUM7OztZQXBFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsK21CQUEyQzs7YUFFNUM7Ozs7d0JBR0UsS0FBSzs2QkFDTCxLQUFLOzhCQUNMLEtBQUs7MkJBQ0wsS0FBSzt5QkFDTCxLQUFLO3dCQUNMLEtBQUs7bUNBQ0wsS0FBSzsrQkFDTCxLQUFLO3dCQUNMLE1BQU0sU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21pcy1zdGFyLXJhdGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGFyLXJhdGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0YXItcmF0aW5nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3RhclJhdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBub09mU3RhcnM6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHNlbGVjdGVkUmF0aW5nOiBudW1iZXIgPSAtMTtcbiAgQElucHV0KCkgc2VsZWN0ZWRTdGFyU3ZnID0gJyc7XG4gIEBJbnB1dCgpIGVtcHR5U3RhclN2ZyA9ICcnO1xuICBASW5wdXQoKSBzdGFySGVpZ2h0ID0gJzI0cHgnO1xuICBASW5wdXQoKSBzdGFyV2lkdGggPSAnMjRweCc7XG4gIEBJbnB1dCgpIHN0YXJTZWxlY3Rpb25BbGxvd2VkID0gdHJ1ZTtcbiAgQElucHV0KCkgc3RhckhvdmVyQWxsb3dlZCA9IHRydWU7XG4gIEBPdXRwdXQoJ3N0YXJSYXRlZCcpIHN0YXJSYXRlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgc3RhckRhdGE6IFNUQVJfREFUQVtdID0gW107XG4gIHNlbGVjdGVkRGF0YTogU1RBUl9EQVRBW10gPSBbXTtcbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZih0aGlzLm5vT2ZTdGFycyA+IDApe1xuICAgICAgdGhpcy5zdGFyRGF0YSA9IEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMubm9PZlN0YXJzIH0sIChfLCBpKSA9PiAoe1xuICAgICAgICBpZDogaSxcbiAgICAgICAgYXNzZXQ6IHRoaXMuZW1wdHlTdGFyU3ZnLFxuICAgICAgICBob3ZlcklkOiAtMSxcbiAgICAgIH0pKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFJhdGluZyA9IHRoaXMuc2VsZWN0ZWRSYXRpbmcgPiB0aGlzLm5vT2ZTdGFycyA/IHRoaXMubm9PZlN0YXJzIDogdGhpcy5zZWxlY3RlZFJhdGluZzsgXG4gICAgdGhpcy5hc3NldHNTZWxlY3Rpb24odGhpcy5zZWxlY3RlZFJhdGluZyk7XG4gICAgdGhpcy5zZWxlY3RlZERhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhckRhdGEpKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmFzc2V0c1NlbGVjdGlvbih0aGlzLnNlbGVjdGVkUmF0aW5nKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5zdGFyRGF0YSkpO1xuICB9XG5cbiAgYXNzZXRzU2VsZWN0aW9uKGluZGV4OiBudW1iZXIgPSAtMSl7XG4gICAgdGhpcy5zdGFyRGF0YS5mb3JFYWNoKChpdGVtOiBTVEFSX0RBVEEpID0+IHtcbiAgICAgIGl0ZW0uYXNzZXQgPSBpdGVtLmlkIDw9IGluZGV4IC0gMSA/IHRoaXMuc2VsZWN0ZWRTdGFyU3ZnIDogdGhpcy5lbXB0eVN0YXJTdmc7XG4gICAgICBpdGVtLmhvdmVySWQgPSAtMTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXJNb3VzZU92ZXIoaW5kZXgpe1xuICAgIGlmICghdGhpcy5zdGFySG92ZXJBbGxvd2VkKSByZXR1cm47XG5cbiAgICBjb25zdCB0aHJlc2hvbGQgPSB0aGlzLnNlbGVjdGVkUmF0aW5nIC0gMTtcbiAgICB0aGlzLnN0YXJEYXRhLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpdGVtLmhvdmVySWQgPSBpbmRleDtcbiAgICAgIGl0ZW0uYXNzZXQgPSBpbmRleCA+IHRocmVzaG9sZCAmJiBpdGVtLmlkIDw9IGluZGV4ID8gdGhpcy5zZWxlY3RlZFN0YXJTdmcgOiB0aGlzLnNlbGVjdGVkRGF0YVtpdGVtLmlkXS5hc3NldDtcbiAgICB9KTtcblxuICB9XG5cbiAgc3Rhck1vdXNlTGVhdmUoKXtcbiAgICBpZighdGhpcy5zdGFySG92ZXJBbGxvd2VkKSByZXR1cm47XG5cbiAgICB0aGlzLnN0YXJEYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkRGF0YSkpO1xuICAgIHRoaXMuYXNzZXRzU2VsZWN0aW9uKHRoaXMuc2VsZWN0ZWRSYXRpbmcpO1xuICB9XG5cbiAgc2VsZWN0ZWRTdGFyRGF0YShpbmRleDogbnVtYmVyKXtcbiAgICBpZih0aGlzLnN0YXJTZWxlY3Rpb25BbGxvd2VkKXtcbiAgICAgIHRoaXMuc3RhclJhdGVkLmVtaXQoaW5kZXgrMSlcbiAgICB9XG4gIH1cblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNUQVJfREFUQSB7XG4gIGlkOiBudW1iZXIsXG4gIGFzc2V0OiBzdHJpbmcsXG4gIGhvdmVySWQ6IG51bWJlclxufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CommonModule } from "@angular/common";
|
|
2
|
+
import { NgModule } from "@angular/core";
|
|
3
|
+
import { StarRatingComponent } from "./star-rating.component";
|
|
4
|
+
export class StarRatingModule {
|
|
5
|
+
}
|
|
6
|
+
StarRatingModule.decorators = [
|
|
7
|
+
{ type: NgModule, args: [{
|
|
8
|
+
declarations: [StarRatingComponent],
|
|
9
|
+
imports: [CommonModule],
|
|
10
|
+
exports: [StarRatingComponent]
|
|
11
|
+
},] }
|
|
12
|
+
];
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1yYXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvc3Rhci1yYXRpbmcvc3Rhci1yYXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU85RCxNQUFNLE9BQU8sZ0JBQWdCOzs7WUFMNUIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNuQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2FBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU3RhclJhdGluZ0NvbXBvbmVudCB9IGZyb20gXCIuL3N0YXItcmF0aW5nLmNvbXBvbmVudFwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTdGFyUmF0aW5nQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtTdGFyUmF0aW5nQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBTdGFyUmF0aW5nTW9kdWxlIHtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class StarRatingComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.noOfStars = 0;
|
|
7
|
+
this.selectedRating = -1;
|
|
8
|
+
this.selectedStarSvg = '';
|
|
9
|
+
this.emptyStarSvg = '';
|
|
10
|
+
this.starHeight = '24px';
|
|
11
|
+
this.starWidth = '24px';
|
|
12
|
+
this.starSelectionAllowed = true;
|
|
13
|
+
this.starHoverAllowed = true;
|
|
14
|
+
this.starRated = new EventEmitter();
|
|
15
|
+
this.starData = [];
|
|
16
|
+
this.selectedData = [];
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
if (this.noOfStars > 0) {
|
|
20
|
+
this.starData = Array.from({ length: this.noOfStars }, (_, i) => ({
|
|
21
|
+
id: i,
|
|
22
|
+
asset: this.emptyStarSvg,
|
|
23
|
+
hoverId: -1,
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
this.selectedRating = this.selectedRating > this.noOfStars ? this.noOfStars : this.selectedRating;
|
|
27
|
+
this.assetsSelection(this.selectedRating);
|
|
28
|
+
this.selectedData = JSON.parse(JSON.stringify(this.starData));
|
|
29
|
+
}
|
|
30
|
+
ngOnChanges(changes) {
|
|
31
|
+
this.assetsSelection(this.selectedRating);
|
|
32
|
+
this.selectedData = JSON.parse(JSON.stringify(this.starData));
|
|
33
|
+
}
|
|
34
|
+
assetsSelection(index = -1) {
|
|
35
|
+
this.starData.forEach((item) => {
|
|
36
|
+
item.asset = item.id <= index - 1 ? this.selectedStarSvg : this.emptyStarSvg;
|
|
37
|
+
item.hoverId = -1;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
starMouseOver(index) {
|
|
41
|
+
if (!this.starHoverAllowed)
|
|
42
|
+
return;
|
|
43
|
+
const threshold = this.selectedRating - 1;
|
|
44
|
+
this.starData.forEach(item => {
|
|
45
|
+
item.hoverId = index;
|
|
46
|
+
item.asset = index > threshold && item.id <= index ? this.selectedStarSvg : this.selectedData[item.id].asset;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
starMouseLeave() {
|
|
50
|
+
if (!this.starHoverAllowed)
|
|
51
|
+
return;
|
|
52
|
+
this.starData = JSON.parse(JSON.stringify(this.selectedData));
|
|
53
|
+
this.assetsSelection(this.selectedRating);
|
|
54
|
+
}
|
|
55
|
+
selectedStarData(index) {
|
|
56
|
+
if (this.starSelectionAllowed) {
|
|
57
|
+
this.starRated.emit(index + 1);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
StarRatingComponent.decorators = [
|
|
62
|
+
{ type: Component, args: [{
|
|
63
|
+
selector: 'mis-star-rating',
|
|
64
|
+
template: "<div class=\"rating-container\" (mouseleave)=\"starMouseLeave()\" [ngStyle]=\"{'cursor': starSelectionAllowed ? 'pointer' : 'not-allowed'}\">\n <div class=\"stars-container\" *ngFor=\"let star of starData\">\n <div class=\"star\" \n (click)=\"selectedStarData(star.id)\" \n (mouseover)=\"starMouseOver(star.id)\"\n [ngClass]=\"{'hoveredStarZoom': star.id === star.hoverId, 'not-hovered' : star.hoverId >=0 && star.id > star.hoverId}\"\n >\n <img [src]=\"star.asset\" [ngStyle]=\"{'height': starHeight, 'width': starWidth}\">\n </div>\n </div>\n</div>\n",
|
|
65
|
+
styles: [".rating-container{display:flex;flex-direction:row;gap:12px}.not-hovered{opacity:.6}.hoveredStarZoom{transform:scale(1.2);transition:all .3s ease-out}"]
|
|
66
|
+
},] }
|
|
67
|
+
];
|
|
68
|
+
StarRatingComponent.ctorParameters = () => [];
|
|
69
|
+
StarRatingComponent.propDecorators = {
|
|
70
|
+
noOfStars: [{ type: Input }],
|
|
71
|
+
selectedRating: [{ type: Input }],
|
|
72
|
+
selectedStarSvg: [{ type: Input }],
|
|
73
|
+
emptyStarSvg: [{ type: Input }],
|
|
74
|
+
starHeight: [{ type: Input }],
|
|
75
|
+
starWidth: [{ type: Input }],
|
|
76
|
+
starSelectionAllowed: [{ type: Input }],
|
|
77
|
+
starHoverAllowed: [{ type: Input }],
|
|
78
|
+
starRated: [{ type: Output, args: ['starRated',] }]
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
class StarRatingModule {
|
|
82
|
+
}
|
|
83
|
+
StarRatingModule.decorators = [
|
|
84
|
+
{ type: NgModule, args: [{
|
|
85
|
+
declarations: [StarRatingComponent],
|
|
86
|
+
imports: [CommonModule],
|
|
87
|
+
exports: [StarRatingComponent]
|
|
88
|
+
},] }
|
|
89
|
+
];
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Generated bundle index. Do not edit.
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
export { StarRatingComponent, StarRatingModule };
|
|
96
|
+
//# sourceMappingURL=mis-crystal-design-system-star-rating.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-star-rating.js","sources":["../../../projects/mis-components/star-rating/star-rating.component.ts","../../../projects/mis-components/star-rating/star-rating.module.ts","../../../projects/mis-components/star-rating/mis-crystal-design-system-star-rating.ts"],"sourcesContent":["import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\n\n@Component({\n selector: 'mis-star-rating',\n templateUrl: './star-rating.component.html',\n styleUrls: ['./star-rating.component.scss']\n})\nexport class StarRatingComponent implements OnInit, OnChanges {\n\n @Input() noOfStars: number = 0;\n @Input() selectedRating: number = -1;\n @Input() selectedStarSvg = '';\n @Input() emptyStarSvg = '';\n @Input() starHeight = '24px';\n @Input() starWidth = '24px';\n @Input() starSelectionAllowed = true;\n @Input() starHoverAllowed = true;\n @Output('starRated') starRated: EventEmitter<number> = new EventEmitter();\n\n starData: STAR_DATA[] = [];\n selectedData: STAR_DATA[] = [];\n constructor() { }\n\n ngOnInit(): void {\n if(this.noOfStars > 0){\n this.starData = Array.from({ length: this.noOfStars }, (_, i) => ({\n id: i,\n asset: this.emptyStarSvg,\n hoverId: -1,\n }));\n }\n this.selectedRating = this.selectedRating > this.noOfStars ? this.noOfStars : this.selectedRating; \n this.assetsSelection(this.selectedRating);\n this.selectedData = JSON.parse(JSON.stringify(this.starData));\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.assetsSelection(this.selectedRating);\n this.selectedData = JSON.parse(JSON.stringify(this.starData));\n }\n\n assetsSelection(index: number = -1){\n this.starData.forEach((item: STAR_DATA) => {\n item.asset = item.id <= index - 1 ? this.selectedStarSvg : this.emptyStarSvg;\n item.hoverId = -1;\n });\n }\n\n starMouseOver(index){\n if (!this.starHoverAllowed) return;\n\n const threshold = this.selectedRating - 1;\n this.starData.forEach(item => {\n item.hoverId = index;\n item.asset = index > threshold && item.id <= index ? this.selectedStarSvg : this.selectedData[item.id].asset;\n });\n\n }\n\n starMouseLeave(){\n if(!this.starHoverAllowed) return;\n\n this.starData = JSON.parse(JSON.stringify(this.selectedData));\n this.assetsSelection(this.selectedRating);\n }\n\n selectedStarData(index: number){\n if(this.starSelectionAllowed){\n this.starRated.emit(index+1)\n }\n }\n\n}\n\nexport interface STAR_DATA {\n id: number,\n asset: string,\n hoverId: number\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { StarRatingComponent } from \"./star-rating.component\";\n\n@NgModule({\n declarations: [StarRatingComponent],\n imports: [CommonModule],\n exports: [StarRatingComponent]\n})\nexport class StarRatingModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./public_api";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"StarRatingModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"StarRatingComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":12}],"exports":[{"__symbolic":"reference","name":"StarRatingComponent"}]}]}],"members":{}},"StarRatingComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"mis-star-rating","template":"<div class=\"rating-container\" (mouseleave)=\"starMouseLeave()\" [ngStyle]=\"{'cursor': starSelectionAllowed ? 'pointer' : 'not-allowed'}\">\n <div class=\"stars-container\" *ngFor=\"let star of starData\">\n <div class=\"star\" \n (click)=\"selectedStarData(star.id)\" \n (mouseover)=\"starMouseOver(star.id)\"\n [ngClass]=\"{'hoveredStarZoom': star.id === star.hoverId, 'not-hovered' : star.hoverId >=0 && star.id > star.hoverId}\"\n >\n <img [src]=\"star.asset\" [ngStyle]=\"{'height': starHeight, 'width': starWidth}\">\n </div>\n </div>\n</div>\n","styles":[".rating-container{display:flex;flex-direction:row;gap:12px}.not-hovered{opacity:.6}.hoveredStarZoom{transform:scale(1.2);transition:all .3s ease-out}"]}]}],"members":{"noOfStars":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"selectedRating":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"selectedStarSvg":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"emptyStarSvg":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"starHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"starWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"starSelectionAllowed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"starHoverAllowed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"starRated":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":3},"arguments":["starRated"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"assetsSelection":[{"__symbolic":"method"}],"starMouseOver":[{"__symbolic":"method"}],"starMouseLeave":[{"__symbolic":"method"}],"selectedStarData":[{"__symbolic":"method"}]}}},"origins":{"StarRatingModule":"./star-rating.module","StarRatingComponent":"./star-rating.component"},"importAs":"mis-crystal-design-system/star-rating"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"main": "../bundles/mis-crystal-design-system-star-rating.umd.js",
|
|
3
|
+
"module": "../fesm2015/mis-crystal-design-system-star-rating.js",
|
|
4
|
+
"es2015": "../fesm2015/mis-crystal-design-system-star-rating.js",
|
|
5
|
+
"esm2015": "../esm2015/star-rating/mis-crystal-design-system-star-rating.js",
|
|
6
|
+
"fesm2015": "../fesm2015/mis-crystal-design-system-star-rating.js",
|
|
7
|
+
"typings": "mis-crystal-design-system-star-rating.d.ts",
|
|
8
|
+
"metadata": "mis-crystal-design-system-star-rating.metadata.json",
|
|
9
|
+
"sideEffects": false,
|
|
10
|
+
"name": "mis-crystal-design-system/star-rating"
|
|
11
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { OnInit, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
export declare class StarRatingComponent implements OnInit, OnChanges {
|
|
3
|
+
noOfStars: number;
|
|
4
|
+
selectedRating: number;
|
|
5
|
+
selectedStarSvg: string;
|
|
6
|
+
emptyStarSvg: string;
|
|
7
|
+
starHeight: string;
|
|
8
|
+
starWidth: string;
|
|
9
|
+
starSelectionAllowed: boolean;
|
|
10
|
+
starHoverAllowed: boolean;
|
|
11
|
+
starRated: EventEmitter<number>;
|
|
12
|
+
starData: STAR_DATA[];
|
|
13
|
+
selectedData: STAR_DATA[];
|
|
14
|
+
constructor();
|
|
15
|
+
ngOnInit(): void;
|
|
16
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
17
|
+
assetsSelection(index?: number): void;
|
|
18
|
+
starMouseOver(index: any): void;
|
|
19
|
+
starMouseLeave(): void;
|
|
20
|
+
selectedStarData(index: number): void;
|
|
21
|
+
}
|
|
22
|
+
export interface STAR_DATA {
|
|
23
|
+
id: number;
|
|
24
|
+
asset: string;
|
|
25
|
+
hoverId: number;
|
|
26
|
+
}
|