@juligc99/loro-ui 0.0.8 → 0.0.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juligc99/loro-ui",
3
- "version": "0.0.8",
3
+ "version": "0.0.12",
4
4
  "description": "Loro UI design system and Angular component library.",
5
5
  "author": "juligc99",
6
6
  "license": "MIT",
@@ -27,9 +27,7 @@
27
27
  "registry": "https://registry.npmjs.org/"
28
28
  },
29
29
  "peerDependencies": {
30
- "@angular/animations": ">=21 <23",
31
30
  "@angular/aria": ">=21 <23",
32
- "@angular/cdk": ">=21 <23",
33
31
  "@angular/common": ">=21 <23",
34
32
  "@angular/core": ">=21 <23",
35
33
  "@angular/forms": ">=21 <23",
@@ -38,29 +36,6 @@
38
36
  "@capacitor/haptics": ">=8 <9",
39
37
  "rxjs": "^7.8.0"
40
38
  },
41
- "peerDependenciesMeta": {
42
- "@angular/animations": {
43
- "optional": true
44
- },
45
- "@angular/aria": {
46
- "optional": true
47
- },
48
- "@angular/cdk": {
49
- "optional": true
50
- },
51
- "@angular/forms": {
52
- "optional": true
53
- },
54
- "@angular/router": {
55
- "optional": true
56
- },
57
- "@capacitor/core": {
58
- "optional": true
59
- },
60
- "@capacitor/haptics": {
61
- "optional": true
62
- }
63
- },
64
39
  "dependencies": {
65
40
  "tslib": "^2.3.0"
66
41
  },
@@ -68,24 +43,9 @@
68
43
  "**/*.css",
69
44
  "**/*.scss"
70
45
  ],
46
+ "module": "fesm2022/juligc99-loro-ui.mjs",
47
+ "typings": "types/juligc99-loro-ui.d.ts",
71
48
  "exports": {
72
- "./styles/breakpoints": {
73
- "sass": "./styles/_breakpoints.scss",
74
- "default": "./styles/_breakpoints.scss"
75
- },
76
- "./styles/breakpoints.scss": {
77
- "sass": "./styles/_breakpoints.scss",
78
- "default": "./styles/_breakpoints.scss"
79
- },
80
- "./design-tokens/loro-theme": {
81
- "sass": "./design-tokens/loro-theme.scss",
82
- "default": "./design-tokens/loro-theme.scss"
83
- },
84
- "./design-tokens/loro-theme.scss": {
85
- "sass": "./design-tokens/loro-theme.scss",
86
- "default": "./design-tokens/loro-theme.scss"
87
- },
88
- "./assets/*": "./assets/loro-ui/*",
89
49
  "./package.json": {
90
50
  "default": "./package.json"
91
51
  },
@@ -94,7 +54,5 @@
94
54
  "default": "./fesm2022/juligc99-loro-ui.mjs"
95
55
  }
96
56
  },
97
- "module": "fesm2022/juligc99-loro-ui.mjs",
98
- "typings": "types/juligc99-loro-ui.d.ts",
99
57
  "type": "module"
100
58
  }
@@ -1,20 +1,16 @@
1
- // Public Loro UI Sass breakpoint API.
2
- // Import from apps with:
3
- // @use '@juligc99/loro-ui/styles/breakpoints' as bp;
4
-
5
- $phone-portrait-max: 599.98px !default;
6
- $tablet-min: 600px !default;
7
- $desktop-min: 1024px !default;
8
- $smart-tv-min: 1600px !default;
1
+ $mobile-tablet-max: 1023.88px;
2
+ $phone-max: 479.99px;
3
+ $desktop-min: 1024px;
4
+ $smart-tv-min: 1600px;
9
5
 
10
6
  @mixin on-phone-portrait {
11
- @media (max-width: $phone-portrait-max) {
7
+ @media (max-width: $phone-max) and (orientation: portrait) {
12
8
  @content;
13
9
  }
14
10
  }
15
11
 
16
12
  @mixin on-mobile-tablet-landscape {
17
- @media (min-width: $tablet-min) and (max-width: 1023.98px) and (orientation: landscape) {
13
+ @media (min-width: $phone-max) and (max-width: $mobile-tablet-max) and (orientation: landscape) {
18
14
  @content;
19
15
  }
20
16
  }
@@ -1440,22 +1440,25 @@ declare class LoroAuthField implements FormValueControl<string> {
1440
1440
  autocomplete: _angular_core.InputSignal<string>;
1441
1441
  selected: _angular_core.InputSignal<boolean>;
1442
1442
  state: _angular_core.InputSignal<LoroAuthFieldState>;
1443
+ errorMessage: _angular_core.InputSignal<string>;
1444
+ errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
1445
+ invalid: _angular_core.InputSignal<boolean>;
1443
1446
  disabled: _angular_core.InputSignal<boolean>;
1444
1447
  readonly: _angular_core.InputSignal<boolean>;
1445
1448
  required: _angular_core.InputSignal<boolean>;
1446
- invalid: _angular_core.InputSignal<boolean>;
1447
1449
  touched: _angular_core.ModelSignal<boolean>;
1448
- errorMessage: _angular_core.InputSignal<string>;
1449
- errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
1450
+ valueChange: _angular_core.OutputEmitterRef<string>;
1450
1451
  protected readonly errorId: string;
1451
1452
  protected readonly errorText: _angular_core.Signal<string>;
1452
1453
  protected readonly hasError: _angular_core.Signal<boolean>;
1453
1454
  protected readonly passwordVisible: _angular_core.WritableSignal<boolean>;
1454
1455
  protected showToggle(): boolean;
1455
1456
  protected resolvedType(): "email" | "text" | "password";
1457
+ protected updateValue(value: string): void;
1458
+ protected markAsTouched(): void;
1456
1459
  protected toggleVisibility(): void;
1457
1460
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoroAuthField, never>;
1458
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoroAuthField, "loro-auth-field", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; }, never, never, true, never>;
1461
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoroAuthField, "loro-auth-field", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; "valueChange": "valueChange"; }, never, never, true, never>;
1459
1462
  }
1460
1463
 
1461
1464
  declare class LoroCheckbox implements FormCheckboxControl {
@@ -1488,15 +1491,13 @@ declare class LoroDropdown implements FormValueControl<string> {
1488
1491
  readonly: _angular_core.InputSignal<boolean>;
1489
1492
  required: _angular_core.InputSignal<boolean>;
1490
1493
  invalid: _angular_core.InputSignal<boolean>;
1491
- touched: _angular_core.ModelSignal<boolean>;
1492
- errorMessage: _angular_core.InputSignal<string>;
1493
1494
  errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
1494
- protected readonly errorId: string;
1495
- protected readonly errorText: _angular_core.Signal<string>;
1496
- protected readonly showError: _angular_core.Signal<boolean>;
1497
- protected select(value: string): void;
1495
+ touched: _angular_core.ModelSignal<boolean>;
1496
+ valueChange: _angular_core.OutputEmitterRef<string>;
1497
+ protected updateValue(value: string): void;
1498
+ protected markAsTouched(): void;
1498
1499
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoroDropdown, never>;
1499
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoroDropdown, "loro-dropdown", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; }, never, never, true, never>;
1500
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoroDropdown, "loro-dropdown", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; "valueChange": "valueChange"; }, never, never, true, never>;
1500
1501
  }
1501
1502
 
1502
1503
  declare class LoroFilterChip {
@@ -1560,7 +1561,6 @@ declare class LoroInput implements FormValueControl<string> {
1560
1561
  protected stepperInputMaxLength(): number;
1561
1562
  protected sanitizeStepperInput(event: Event): void;
1562
1563
  private clampValue;
1563
- private coerceLimit;
1564
1564
  private sanitizeValue;
1565
1565
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoroInput, never>;
1566
1566
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoroInput, "loro-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "inputmode": { "alias": "inputmode"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "trailingIcon": { "alias": "trailingIcon"; "required": false; "isSignal": true; }; "trailingIconSize": { "alias": "trailingIconSize"; "required": false; "isSignal": true; }; "trailingAriaLabel": { "alias": "trailingAriaLabel"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; "trailingClick": "trailingClick"; }, never, never, true, never>;
@@ -1587,15 +1587,14 @@ declare class LoroSegmentedControl implements FormValueControl<string> {
1587
1587
  value: _angular_core.ModelSignal<string>;
1588
1588
  disabled: _angular_core.InputSignal<boolean>;
1589
1589
  readonly: _angular_core.InputSignal<boolean>;
1590
+ required: _angular_core.InputSignal<boolean>;
1590
1591
  invalid: _angular_core.InputSignal<boolean>;
1591
- touched: _angular_core.ModelSignal<boolean>;
1592
- errorMessage: _angular_core.InputSignal<string>;
1593
1592
  errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
1594
- protected readonly errorText: _angular_core.Signal<string>;
1595
- protected readonly showError: _angular_core.Signal<boolean>;
1596
- protected select(value: string): void;
1593
+ touched: _angular_core.ModelSignal<boolean>;
1594
+ valueChange: _angular_core.OutputEmitterRef<string>;
1595
+ protected selectValue(value: string): void;
1597
1596
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoroSegmentedControl, never>;
1598
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoroSegmentedControl, "loro-segmented-control", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; }, never, never, true, never>;
1597
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoroSegmentedControl, "loro-segmented-control", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; "valueChange": "valueChange"; }, never, never, true, never>;
1599
1598
  }
1600
1599
 
1601
1600
  declare class LoroSelect {
@@ -1616,36 +1615,32 @@ declare class LoroTextArea implements FormValueControl<string> {
1616
1615
  label: _angular_core.InputSignal<string>;
1617
1616
  placeholder: _angular_core.InputSignal<string>;
1618
1617
  value: _angular_core.ModelSignal<string>;
1619
- maxLength: _angular_core.InputSignal<number | undefined>;
1618
+ maxLength: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
1620
1619
  disabled: _angular_core.InputSignal<boolean>;
1621
1620
  readonly: _angular_core.InputSignal<boolean>;
1622
1621
  required: _angular_core.InputSignal<boolean>;
1623
1622
  invalid: _angular_core.InputSignal<boolean>;
1624
- touched: _angular_core.ModelSignal<boolean>;
1625
- errorMessage: _angular_core.InputSignal<string>;
1626
1623
  errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
1627
- protected readonly errorId: string;
1628
- protected readonly errorText: _angular_core.Signal<string>;
1629
- protected readonly showError: _angular_core.Signal<boolean>;
1624
+ touched: _angular_core.ModelSignal<boolean>;
1625
+ valueChange: _angular_core.OutputEmitterRef<string>;
1626
+ protected updateValue(value: string): void;
1627
+ protected markAsTouched(): void;
1630
1628
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoroTextArea, never>;
1631
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoroTextArea, "loro-text-area", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; }, never, never, true, never>;
1629
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoroTextArea, "loro-text-area", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; "valueChange": "valueChange"; }, never, never, true, never>;
1632
1630
  }
1633
1631
 
1634
1632
  declare class LoroToggle implements FormCheckboxControl {
1635
1633
  checked: _angular_core.ModelSignal<boolean>;
1636
1634
  disabled: _angular_core.InputSignal<boolean>;
1637
- readonly: _angular_core.InputSignal<boolean>;
1638
1635
  required: _angular_core.InputSignal<boolean>;
1639
1636
  invalid: _angular_core.InputSignal<boolean>;
1640
- touched: _angular_core.ModelSignal<boolean>;
1641
- errorMessage: _angular_core.InputSignal<string>;
1642
1637
  errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
1638
+ touched: _angular_core.ModelSignal<boolean>;
1643
1639
  ariaLabel: _angular_core.InputSignal<string>;
1644
- protected readonly errorText: _angular_core.Signal<string>;
1645
- protected readonly showError: _angular_core.Signal<boolean>;
1640
+ checkedChange: _angular_core.OutputEmitterRef<boolean>;
1646
1641
  protected toggle(): void;
1647
1642
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoroToggle, never>;
1648
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoroToggle, "loro-toggle", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "touched": "touchedChange"; }, never, never, true, never>;
1643
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoroToggle, "loro-toggle", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "touched": "touchedChange"; "checkedChange": "checkedChange"; }, never, never, true, never>;
1649
1644
  }
1650
1645
 
1651
1646
  declare class LoroUpload {