s4y-ui 3.0.3 → 3.0.4

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.
@@ -1389,57 +1389,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
1389
1389
  ], template: "<label class=\"s4y-switch\" [class]=\"size()\">\r\n <input\r\n (input)=\"onToggle()\"\r\n type=\"checkbox\"\r\n [checked]=\"model()\"\r\n [disabled]=\"disabled() || disabledWithReactives\"\r\n />\r\n <span class=\"slider round\"></span>\r\n</label>\r\n", styles: ["@charset \"UTF-8\";.s4y-switch{position:relative;display:inline-block;width:60px;height:34px}.s4y-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:\"\";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.4s;transition:.4s}input:checked+.slider{background-color:var(--primary-color)}input:focus+.slider{box-shadow:0 0 1px var(--primary-color)}input:checked+.slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translate(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.s4y-switch.small{width:34px;height:18px}.s4y-switch.small .slider:before{position:absolute;content:\"\";height:12px;width:12px;left:4px;bottom:3px;background-color:#fff;-webkit-transition:.4s;transition:.4s}.s4y-switch.small input:checked+.slider:before{-webkit-transform:translateX(15px);-ms-transform:translateX(15px);transform:translate(15px)}.s4y-switch.medium{width:48px;height:24px}.s4y-switch.medium .slider:before{position:absolute;content:\"\";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.4s;transition:.4s}.s4y-switch.medium input:checked+.slider:before{-webkit-transform:translateX(24px);-ms-transform:translateX(24px);transform:translate(24px)}.s4y-switch.large{width:60px;height:34px}.s4y-switch.large .slider:before{position:absolute;content:\"\";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.4s;transition:.4s}.s4y-switch.large input:checked+.slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translate(26px)}input:disabled+.slider{cursor:not-allowed;background-color:#bdbdbd}input:disabled+.slider:before{background-color:#fff}\n"] }]
1390
1390
  }] });
1391
1391
 
1392
- class CheckboxComponent {
1393
- id = input.required();
1394
- name = input.required();
1395
- label = input();
1396
- disabled = false;
1397
- value = false;
1398
- onChange = (value) => { };
1399
- onTouched = () => { };
1400
- writeValue(value) {
1401
- this.value = value;
1402
- }
1403
- registerOnChange(fn) {
1404
- this.onChange = fn;
1405
- }
1406
- registerOnTouched(fn) {
1407
- this.onTouched = fn;
1408
- }
1409
- setDisabledState(isDisabled) {
1410
- this.disabled = isDisabled;
1411
- }
1412
- onToggleCheckbox(checked) {
1413
- if (this.disabled)
1414
- return;
1415
- // Evita log duplicado
1416
- if (this.value !== checked) {
1417
- this.value = checked;
1418
- this.onChange(this.value);
1419
- this.onTouched();
1420
- // console.log('onToggleCheckbox:', this.value); // <-- imprime 1x
1421
- }
1422
- }
1423
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1424
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: CheckboxComponent, isStandalone: true, selector: "s4y-checkbox", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
1425
- {
1426
- provide: NG_VALUE_ACCESSOR,
1427
- useExisting: forwardRef(() => CheckboxComponent),
1428
- multi: true,
1429
- },
1430
- ], ngImport: i0, template: "<div\r\n class=\"s4y-checkbox-wrapper\"\r\n (click)=\"onToggleCheckbox(checkboxInput.checked)\"\r\n [class.disabled]=\"disabled\"\r\n>\r\n <input\r\n class=\"s4y-inp-cbx\"\r\n [id]=\"id()\"\r\n [name]=\"name()\"\r\n type=\"checkbox\"\r\n [checked]=\"value\"\r\n [disabled]=\"disabled\"\r\n #checkboxInput\r\n />\r\n <label class=\"cbx\" [for]=\"id()\"\r\n ><span>\r\n <svg width=\"12px\" height=\"10px\" viewbox=\"0 0 12 10\">\r\n <polyline points=\"1.5 6 4.5 9 10.5 1\"></polyline>\r\n </svg>\r\n </span>\r\n @if (label()) {\r\n <span>\r\n {{ label() }}\r\n </span>\r\n }\r\n </label>\r\n</div>\r\n", styles: [":host{display:block;width:max-content}.s4y-checkbox-wrapper input[type=checkbox]{display:none;visibility:hidden}.s4y-checkbox-wrapper .cbx{margin:auto;-webkit-user-select:none;user-select:none;cursor:pointer}.s4y-checkbox-wrapper .cbx span{display:inline-block;vertical-align:middle;transform:translateZ(0);font-size:1.4rem;color:var(--gray-900)}.s4y-checkbox-wrapper .cbx span:first-child{position:relative;width:18px;height:18px;border-radius:3px;transform:scale(1);vertical-align:middle;border:1px solid #9098a9;transition:all .2s ease}.s4y-checkbox-wrapper .cbx span:first-child svg{position:absolute;top:3px;left:2px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16px;stroke-dashoffset:16px;transition:all .3s ease;transition-delay:.1s;transform:translateZ(0)}.s4y-checkbox-wrapper .cbx span:first-child:before{content:\"\";width:100%;height:100%;background:var(--primary-color);display:block;transform:scale(0);opacity:1;border-radius:50%}.s4y-checkbox-wrapper .cbx span:last-child{padding-left:8px}.s4y-checkbox-wrapper .cbx:hover span:first-child{border-color:var(--primary-color)}.s4y-checkbox-wrapper .s4y-inp-cbx:checked+.cbx span:first-child{background:var(--primary-color);border-color:var(--primary-color);animation:wave-46 .4s ease}.s4y-checkbox-wrapper .s4y-inp-cbx:checked+.cbx span:first-child svg{stroke-dashoffset:0}.s4y-checkbox-wrapper .s4y-inp-cbx:checked+.cbx span:first-child:before{transform:scale(3.5);opacity:0;transition:all .6s ease}@keyframes wave-46{50%{transform:scale(.9)}}.s4y-checkbox-wrapper.disabled .cbx:hover span:first-child{background-color:var(--gray-400)}.s4y-checkbox-wrapper.disabled .s4y-inp-cbx:checked+.cbx span:first-child{background-color:var(--gray-400);border-color:var(--gray-400)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }] });
1431
- }
1432
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: CheckboxComponent, decorators: [{
1433
- type: Component,
1434
- args: [{ selector: 's4y-checkbox', imports: [FormsModule], providers: [
1435
- {
1436
- provide: NG_VALUE_ACCESSOR,
1437
- useExisting: forwardRef(() => CheckboxComponent),
1438
- multi: true,
1439
- },
1440
- ], standalone: true, template: "<div\r\n class=\"s4y-checkbox-wrapper\"\r\n (click)=\"onToggleCheckbox(checkboxInput.checked)\"\r\n [class.disabled]=\"disabled\"\r\n>\r\n <input\r\n class=\"s4y-inp-cbx\"\r\n [id]=\"id()\"\r\n [name]=\"name()\"\r\n type=\"checkbox\"\r\n [checked]=\"value\"\r\n [disabled]=\"disabled\"\r\n #checkboxInput\r\n />\r\n <label class=\"cbx\" [for]=\"id()\"\r\n ><span>\r\n <svg width=\"12px\" height=\"10px\" viewbox=\"0 0 12 10\">\r\n <polyline points=\"1.5 6 4.5 9 10.5 1\"></polyline>\r\n </svg>\r\n </span>\r\n @if (label()) {\r\n <span>\r\n {{ label() }}\r\n </span>\r\n }\r\n </label>\r\n</div>\r\n", styles: [":host{display:block;width:max-content}.s4y-checkbox-wrapper input[type=checkbox]{display:none;visibility:hidden}.s4y-checkbox-wrapper .cbx{margin:auto;-webkit-user-select:none;user-select:none;cursor:pointer}.s4y-checkbox-wrapper .cbx span{display:inline-block;vertical-align:middle;transform:translateZ(0);font-size:1.4rem;color:var(--gray-900)}.s4y-checkbox-wrapper .cbx span:first-child{position:relative;width:18px;height:18px;border-radius:3px;transform:scale(1);vertical-align:middle;border:1px solid #9098a9;transition:all .2s ease}.s4y-checkbox-wrapper .cbx span:first-child svg{position:absolute;top:3px;left:2px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16px;stroke-dashoffset:16px;transition:all .3s ease;transition-delay:.1s;transform:translateZ(0)}.s4y-checkbox-wrapper .cbx span:first-child:before{content:\"\";width:100%;height:100%;background:var(--primary-color);display:block;transform:scale(0);opacity:1;border-radius:50%}.s4y-checkbox-wrapper .cbx span:last-child{padding-left:8px}.s4y-checkbox-wrapper .cbx:hover span:first-child{border-color:var(--primary-color)}.s4y-checkbox-wrapper .s4y-inp-cbx:checked+.cbx span:first-child{background:var(--primary-color);border-color:var(--primary-color);animation:wave-46 .4s ease}.s4y-checkbox-wrapper .s4y-inp-cbx:checked+.cbx span:first-child svg{stroke-dashoffset:0}.s4y-checkbox-wrapper .s4y-inp-cbx:checked+.cbx span:first-child:before{transform:scale(3.5);opacity:0;transition:all .6s ease}@keyframes wave-46{50%{transform:scale(.9)}}.s4y-checkbox-wrapper.disabled .cbx:hover span:first-child{background-color:var(--gray-400)}.s4y-checkbox-wrapper.disabled .s4y-inp-cbx:checked+.cbx span:first-child{background-color:var(--gray-400);border-color:var(--gray-400)}\n"] }]
1441
- }] });
1442
-
1443
1392
  const selectAnimation = trigger('selectAnimation', [
1444
1393
  transition(':enter', [
1445
1394
  query('.s4y-select-options', group([
@@ -2677,6 +2626,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
2677
2626
  args: [{ selector: 's4y-loading-modal', imports: [], encapsulation: ViewEncapsulation.None, animations: [loadingAnimation], template: "@if (loadingModalService.isLoading()) {\r\n <div class=\"s4y-loading-modal-wrapper\" @loadingAnimation>\r\n <div class=\"s4y-loading-modal-item\"></div>\r\n <p class=\"s4y-loading-modal-item-infor\">\r\n {{ messageInfor() }} <span>{{ dots }}</span>\r\n </p>\r\n </div>\r\n}\r\n", styles: [".s4y-loading-modal-wrapper{background-color:#000000b3;position:fixed;top:0;left:0;width:100dvw;height:100dvh;z-index:var(--z-index-loader);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;flex-direction:column}.s4y-loading-modal-wrapper .s4y-loading-modal-item-infor{color:var(--gray-100);margin-top:2rem;max-width:60rem;text-align:center}.s4y-loading-modal-wrapper .s4y-loading-modal-item{width:48px;height:48px;border-radius:50%;position:relative;animation:rotate 1s linear infinite}.s4y-loading-modal-wrapper .s4y-loading-modal-item:before{content:\"\";box-sizing:border-box;position:absolute;inset:0;border-radius:50%;border:5px solid #fff;animation:prixClipFix 2s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes prixClipFix{0%{clip-path:polygon(50% 50%,0 0,0 0,0 0,0 0,0 0)}25%{clip-path:polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0)}50%{clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%)}75%{clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 100%)}to{clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 0)}}\n"] }]
2678
2627
  }] });
2679
2628
 
2629
+ class CheckboxComponent {
2630
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2631
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: CheckboxComponent, isStandalone: true, selector: "input[s4yCheckbox][type=\"checkbox\"]", host: { attributes: { "role": "checkbox" }, properties: { "attr.aria-checked": "checked" } }, ngImport: i0, template: "", styles: [":host{position:relative;display:inline-block;vertical-align:middle;width:2rem;height:2rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;border:none;background:transparent;outline:none}:host:before{content:\"\";position:absolute;top:2.5px;left:7px;width:6px;height:12px;z-index:2;border:solid white;border-width:0 3px 3px 0;transform:rotate(40deg);background-color:transparent;opacity:0;transform:rotate(40deg) scale(0);transition:transform .2s ease,opacity .2s ease;cursor:pointer}:host:after{content:\"\";position:absolute;top:0;width:2rem;height:2rem;border:1px solid var(--gray-500);border-radius:3px;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .3s ease}:host:checked:after{background:var(--primary-color);border-color:var(--primary-color);animation:pulse-zoom .3s ease}:host:checked:before{opacity:1;transform:rotate(40deg) scale(1)}@keyframes pulse-zoom{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}:host:disabled:after{opacity:.5;cursor:not-allowed}\n"] });
2632
+ }
2633
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: CheckboxComponent, decorators: [{
2634
+ type: Component,
2635
+ args: [{ selector: 'input[s4yCheckbox][type="checkbox"]', imports: [], host: {
2636
+ '[attr.aria-checked]': 'checked',
2637
+ role: 'checkbox',
2638
+ }, template: "", styles: [":host{position:relative;display:inline-block;vertical-align:middle;width:2rem;height:2rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;border:none;background:transparent;outline:none}:host:before{content:\"\";position:absolute;top:2.5px;left:7px;width:6px;height:12px;z-index:2;border:solid white;border-width:0 3px 3px 0;transform:rotate(40deg);background-color:transparent;opacity:0;transform:rotate(40deg) scale(0);transition:transform .2s ease,opacity .2s ease;cursor:pointer}:host:after{content:\"\";position:absolute;top:0;width:2rem;height:2rem;border:1px solid var(--gray-500);border-radius:3px;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .3s ease}:host:checked:after{background:var(--primary-color);border-color:var(--primary-color);animation:pulse-zoom .3s ease}:host:checked:before{opacity:1;transform:rotate(40deg) scale(1)}@keyframes pulse-zoom{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}:host:disabled:after{opacity:.5;cursor:not-allowed}\n"] }]
2639
+ }] });
2640
+
2680
2641
  /*
2681
2642
  * Public API Surface of s4y-components
2682
2643
  */