@mgremy/ng-primitives 0.8.0 → 0.9.0

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.
@@ -0,0 +1,4 @@
1
+ # @mgremy/ng-primitives/src/lib/checkbox
2
+
3
+ Secondary entry point of `@mgremy/ng-primitives`. It can be used by importing from
4
+ `@mgremy/ng-primitives/checkbox`.
@@ -16,16 +16,13 @@ const options = [
16
16
  const error = new Error(`MgnpButton must be used with ${options.join(' / ')}`);
17
17
  class MgnpButton {
18
18
  ngpButton = inject(NgpButton, { optional: true });
19
- ngpComboboxButton = inject(NgpComboboxButton, {
20
- optional: true,
21
- });
22
- ngpMenuTrigger = inject(NgpMenuTrigger, {
23
- optional: true,
24
- });
19
+ ngpComboboxButton = inject(NgpComboboxButton, { optional: true });
20
+ ngpMenuTrigger = inject(NgpMenuTrigger, { optional: true });
25
21
  ngpTooltipTrigger = inject(NgpTooltipTrigger, { optional: true });
26
22
  ngpAccordionTrigger = inject(NgpAccordionTrigger, { optional: true });
27
23
  color = input('ui', ...(ngDevMode ? [{ debugName: "color" }] : []));
28
24
  variant = input('solid', ...(ngDevMode ? [{ debugName: "variant" }] : []));
25
+ size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : []));
29
26
  constructor() {
30
27
  if (!this.ngpButton &&
31
28
  !this.ngpComboboxButton &&
@@ -37,7 +34,7 @@ class MgnpButton {
37
34
  }
38
35
  }
39
36
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MgnpButton, deps: [], target: i0.ɵɵFactoryTarget.Directive });
40
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: MgnpButton, isStandalone: true, selector: "[ngpButton][mgnpButton],\n [ngpComboboxButton][mgnpButton],\n [ngpMenuTrigger][mgnpButton],\n [ngpTooltipTrigger][mgnpButton],\n [ngpAccordionTrigger][mgnpButton]", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-mgnp-component": "mgnp-button" }, properties: { "attr.data-mgnp-color": "color() || null", "attr.data-mgnp-variant": "variant() || null" } }, ngImport: i0 });
37
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.1", type: MgnpButton, isStandalone: true, selector: "[ngpButton][mgnpButton],\n [ngpComboboxButton][mgnpButton],\n [ngpMenuTrigger][mgnpButton],\n [ngpTooltipTrigger][mgnpButton],\n [ngpAccordionTrigger][mgnpButton]", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-mgnp-component": "mgnp-button" }, properties: { "attr.data-mgnp-size": "size()", "attr.data-mgnp-color": "color()", "attr.data-mgnp-variant": "variant()" } }, ngImport: i0 });
41
38
  }
42
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MgnpButton, decorators: [{
43
40
  type: Directive,
@@ -50,11 +47,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
50
47
  standalone: true,
51
48
  host: {
52
49
  'data-mgnp-component': 'mgnp-button',
53
- '[attr.data-mgnp-color]': 'color() || null',
54
- '[attr.data-mgnp-variant]': 'variant() || null',
50
+ '[attr.data-mgnp-size]': 'size()',
51
+ '[attr.data-mgnp-color]': 'color()',
52
+ '[attr.data-mgnp-variant]': 'variant()',
55
53
  },
56
54
  }]
57
- }], ctorParameters: () => [], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
55
+ }], ctorParameters: () => [], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
58
56
 
59
57
  /**
60
58
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"mgremy-ng-primitives-button.mjs","sources":["../../../../libs/ng-primitives/button/src/lib/mgnp-button/mgnp-button.directive.ts","../../../../libs/ng-primitives/button/src/mgremy-ng-primitives-button.ts"],"sourcesContent":["import { PropertyType } from '@mgremy/ng-primitives';\n\nimport { Directive, inject, input } from '@angular/core';\nimport { NgpAccordionTrigger } from 'ng-primitives/accordion';\nimport { NgpButton } from 'ng-primitives/button';\nimport { NgpComboboxButton } from 'ng-primitives/combobox';\nimport { NgpMenuTrigger } from 'ng-primitives/menu';\nimport { NgpTooltipTrigger } from 'ng-primitives/tooltip';\n\nconst options = [\n 'ngpButton',\n 'ngpComboboxButton',\n 'ngpMenuTrigger',\n 'ngpTooltipTrigger',\n 'ngpAccordionTrigger',\n];\n\nconst error = new Error(`MgnpButton must be used with ${options.join(' / ')}`);\n\nexport type MgnpButtonColor = PropertyType<\n 'ui' | 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger'\n>;\nexport type MgnpButtonVariant = PropertyType<'solid' | 'outline'>;\n\n@Directive({\n selector: `[ngpButton][mgnpButton],\n [ngpComboboxButton][mgnpButton],\n [ngpMenuTrigger][mgnpButton],\n [ngpTooltipTrigger][mgnpButton],\n [ngpAccordionTrigger][mgnpButton]`,\n standalone: true,\n host: {\n 'data-mgnp-component': 'mgnp-button',\n '[attr.data-mgnp-color]': 'color() || null',\n '[attr.data-mgnp-variant]': 'variant() || null',\n },\n})\nexport class MgnpButton {\n protected readonly ngpButton = inject(NgpButton, { optional: true });\n protected readonly ngpComboboxButton = inject(NgpComboboxButton, {\n optional: true,\n });\n protected readonly ngpMenuTrigger = inject(NgpMenuTrigger, {\n optional: true,\n });\n protected readonly ngpTooltipTrigger = inject(NgpTooltipTrigger, { optional: true });\n protected readonly ngpAccordionTrigger = inject(NgpAccordionTrigger, { optional: true });\n\n readonly color = input<MgnpButtonColor>('ui');\n readonly variant = input<MgnpButtonVariant>('solid');\n\n constructor() {\n if (\n !this.ngpButton &&\n !this.ngpComboboxButton &&\n !this.ngpMenuTrigger &&\n !this.ngpTooltipTrigger &&\n !this.ngpAccordionTrigger\n ) {\n console.error(this);\n throw error;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AASA,MAAM,OAAO,GAAG;IACd,WAAW;IACX,mBAAmB;IACnB,gBAAgB;IAChB,mBAAmB;IACnB,qBAAqB;CACtB;AAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,CAAA,6BAAA,EAAgC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;MAoBjE,UAAU,CAAA;IACF,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,EAAE;AAC/D,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA,CAAC;AACiB,IAAA,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE;AACzD,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA,CAAC;IACiB,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjE,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAE/E,IAAA,KAAK,GAAG,KAAK,CAAkB,IAAI,iDAAC;AACpC,IAAA,OAAO,GAAG,KAAK,CAAoB,OAAO,mDAAC;AAEpD,IAAA,WAAA,GAAA;QACE,IACE,CAAC,IAAI,CAAC,SAAS;YACf,CAAC,IAAI,CAAC,iBAAiB;YACvB,CAAC,IAAI,CAAC,cAAc;YACpB,CAAC,IAAI,CAAC,iBAAiB;AACvB,YAAA,CAAC,IAAI,CAAC,mBAAmB,EACzB;AACA,YAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;AACnB,YAAA,MAAM,KAAK;QACb;IACF;uGAzBW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gLAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAbtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAA;;;;AAI0B,qCAAA,CAAA;AACpC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,qBAAqB,EAAE,aAAa;AACpC,wBAAA,wBAAwB,EAAE,iBAAiB;AAC3C,wBAAA,0BAA0B,EAAE,mBAAmB;AAChD,qBAAA;AACF,iBAAA;;;ACpCD;;AAEG;;;;"}
1
+ {"version":3,"file":"mgremy-ng-primitives-button.mjs","sources":["../../../../libs/ng-primitives/button/src/lib/mgnp-button/mgnp-button.directive.ts","../../../../libs/ng-primitives/button/src/mgremy-ng-primitives-button.ts"],"sourcesContent":["import { PropertyType } from '@mgremy/ng-primitives';\n\nimport { Directive, inject, input } from '@angular/core';\nimport { NgpAccordionTrigger } from 'ng-primitives/accordion';\nimport { NgpButton } from 'ng-primitives/button';\nimport { NgpComboboxButton } from 'ng-primitives/combobox';\nimport { NgpMenuTrigger } from 'ng-primitives/menu';\nimport { NgpTooltipTrigger } from 'ng-primitives/tooltip';\n\nconst options = [\n 'ngpButton',\n 'ngpComboboxButton',\n 'ngpMenuTrigger',\n 'ngpTooltipTrigger',\n 'ngpAccordionTrigger',\n];\n\nconst error = new Error(`MgnpButton must be used with ${options.join(' / ')}`);\n\nexport type MgnpButtonColor = PropertyType<\n 'ui' | 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger'\n>;\n\nexport type MgnpButtonVariant = PropertyType<'solid' | 'outline'>;\n\nexport type MgnpButtonSize = PropertyType<'xs' | 'sm' | 'md' | 'lg' | 'xl'>;\n\n@Directive({\n selector: `[ngpButton][mgnpButton],\n [ngpComboboxButton][mgnpButton],\n [ngpMenuTrigger][mgnpButton],\n [ngpTooltipTrigger][mgnpButton],\n [ngpAccordionTrigger][mgnpButton]`,\n standalone: true,\n host: {\n 'data-mgnp-component': 'mgnp-button',\n '[attr.data-mgnp-size]': 'size()',\n '[attr.data-mgnp-color]': 'color()',\n '[attr.data-mgnp-variant]': 'variant()',\n },\n})\nexport class MgnpButton {\n protected readonly ngpButton = inject(NgpButton, { optional: true });\n protected readonly ngpComboboxButton = inject(NgpComboboxButton, { optional: true });\n protected readonly ngpMenuTrigger = inject(NgpMenuTrigger, { optional: true });\n protected readonly ngpTooltipTrigger = inject(NgpTooltipTrigger, { optional: true });\n protected readonly ngpAccordionTrigger = inject(NgpAccordionTrigger, { optional: true });\n\n readonly color = input<MgnpButtonColor>('ui');\n readonly variant = input<MgnpButtonVariant>('solid');\n readonly size = input<MgnpButtonSize>('md');\n\n constructor() {\n if (\n !this.ngpButton &&\n !this.ngpComboboxButton &&\n !this.ngpMenuTrigger &&\n !this.ngpTooltipTrigger &&\n !this.ngpAccordionTrigger\n ) {\n console.error(this);\n throw error;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AASA,MAAM,OAAO,GAAG;IACd,WAAW;IACX,mBAAmB;IACnB,gBAAgB;IAChB,mBAAmB;IACnB,qBAAqB;CACtB;AAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,CAAA,6BAAA,EAAgC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;MAwBjE,UAAU,CAAA;IACF,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjD,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjE,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3D,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjE,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAE/E,IAAA,KAAK,GAAG,KAAK,CAAkB,IAAI,iDAAC;AACpC,IAAA,OAAO,GAAG,KAAK,CAAoB,OAAO,mDAAC;AAC3C,IAAA,IAAI,GAAG,KAAK,CAAiB,IAAI,gDAAC;AAE3C,IAAA,WAAA,GAAA;QACE,IACE,CAAC,IAAI,CAAC,SAAS;YACf,CAAC,IAAI,CAAC,iBAAiB;YACvB,CAAC,IAAI,CAAC,cAAc;YACpB,CAAC,IAAI,CAAC,iBAAiB;AACvB,YAAA,CAAC,IAAI,CAAC,mBAAmB,EACzB;AACA,YAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;AACnB,YAAA,MAAM,KAAK;QACb;IACF;uGAtBW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gLAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAdtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAA;;;;AAI0B,qCAAA,CAAA;AACpC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,qBAAqB,EAAE,aAAa;AACpC,wBAAA,uBAAuB,EAAE,QAAQ;AACjC,wBAAA,wBAAwB,EAAE,SAAS;AACnC,wBAAA,0BAA0B,EAAE,WAAW;AACxC,qBAAA;AACF,iBAAA;;;ACxCD;;AAEG;;;;"}
@@ -0,0 +1,34 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Directive } from '@angular/core';
3
+ import { NgpCheckbox } from 'ng-primitives/checkbox';
4
+
5
+ const options = ['ngpCheckbox'];
6
+ const error = new Error(`MgnpCheckbox must be used with ${options.join(' / ')}`);
7
+ class MgnpCheckbox {
8
+ ngpCheckbox = inject(NgpCheckbox, { optional: true });
9
+ constructor() {
10
+ if (!this.ngpCheckbox) {
11
+ console.error(this);
12
+ throw error;
13
+ }
14
+ }
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MgnpCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.1", type: MgnpCheckbox, isStandalone: true, selector: "[ngpCheckbox][mgnpCheckbox]", host: { attributes: { "data-mgnp-component": "mgnp-checkbox" } }, ngImport: i0 });
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MgnpCheckbox, decorators: [{
19
+ type: Directive,
20
+ args: [{
21
+ selector: `[ngpCheckbox][mgnpCheckbox]`,
22
+ standalone: true,
23
+ host: {
24
+ 'data-mgnp-component': 'mgnp-checkbox',
25
+ },
26
+ }]
27
+ }], ctorParameters: () => [] });
28
+
29
+ /**
30
+ * Generated bundle index. Do not edit.
31
+ */
32
+
33
+ export { MgnpCheckbox };
34
+ //# sourceMappingURL=mgremy-ng-primitives-checkbox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mgremy-ng-primitives-checkbox.mjs","sources":["../../../../libs/ng-primitives/checkbox/src/lib/mgnp-checkbox/mgnp-checkbox.directive.ts","../../../../libs/ng-primitives/checkbox/src/mgremy-ng-primitives-checkbox.ts"],"sourcesContent":["import { Directive, inject } from '@angular/core';\nimport { NgpCheckbox } from 'ng-primitives/checkbox';\n\nconst options = ['ngpCheckbox'];\n\nconst error = new Error(`MgnpCheckbox must be used with ${options.join(' / ')}`);\n\n@Directive({\n selector: `[ngpCheckbox][mgnpCheckbox]`,\n standalone: true,\n host: {\n 'data-mgnp-component': 'mgnp-checkbox',\n },\n})\nexport class MgnpCheckbox {\n protected readonly ngpCheckbox = inject(NgpCheckbox, { optional: true });\n\n constructor() {\n if (!this.ngpCheckbox) {\n console.error(this);\n throw error;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA,MAAM,OAAO,GAAG,CAAC,aAAa,CAAC;AAE/B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,CAAA,+BAAA,EAAkC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;MASnE,YAAY,CAAA;IACJ,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAExE,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,YAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;AACnB,YAAA,MAAM,KAAK;QACb;IACF;uGARW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAPxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAA,2BAAA,CAA6B;AACvC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,qBAAqB,EAAE,eAAe;AACvC,qBAAA;AACF,iBAAA;;;ACbD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mgremy/ng-primitives",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "license": "Apache-2.0",
5
5
  "homepage": "https://doc.mgremy.xyz/ng-primitives",
6
6
  "publishConfig": {
@@ -33,6 +33,10 @@
33
33
  "types": "./types/mgremy-ng-primitives-button.d.ts",
34
34
  "default": "./fesm2022/mgremy-ng-primitives-button.mjs"
35
35
  },
36
+ "./checkbox": {
37
+ "types": "./types/mgremy-ng-primitives-checkbox.d.ts",
38
+ "default": "./fesm2022/mgremy-ng-primitives-checkbox.mjs"
39
+ },
36
40
  "./combobox": {
37
41
  "types": "./types/mgremy-ng-primitives-combobox.d.ts",
38
42
  "default": "./fesm2022/mgremy-ng-primitives-combobox.mjs"
@@ -1,11 +1,21 @@
1
1
  @utility mgnp-accordion {
2
- display: block;
3
- width: 100%;
4
- max-width: --spacing(96);
5
2
  border-radius: --spacing(3);
6
3
  border: 1px solid var(--ngp-border);
7
4
  background-color: var(--ngp-background);
8
5
  box-shadow: var(--ngp-shadow);
6
+
7
+ @variant data-[orientation=vertical] {
8
+ display: block;
9
+ max-width: --spacing(96);
10
+ width: 100%;
11
+ }
12
+
13
+ @variant data-[orientation=horizontal] {
14
+ display: flex;
15
+ flex-direction: row;
16
+ max-height: --spacing(96);
17
+ height: 100%;
18
+ }
9
19
  }
10
20
 
11
21
  @utility mgnp-accordion-content {
@@ -13,16 +23,30 @@
13
23
  font-size: --spacing(3.5);
14
24
  color: var(--ngp-text-secondary);
15
25
 
16
- @variant data-open {
17
- animation: accordion-show var(--default-transition-duration) var(--default-transition-timing-function) forwards;
26
+ @variant data-open:data-[orientation=vertical] {
27
+ animation: accordion-show-vertical var(--default-transition-duration)
28
+ var(--default-transition-timing-function) forwards;
29
+ }
30
+
31
+ @variant data-closed:data-[orientation=vertical] {
32
+ animation: accordion-hide-vertical var(--default-transition-duration)
33
+ var(--default-transition-timing-function) forwards;
34
+ }
35
+
36
+ @variant data-open:data-[orientation=horizontal] {
37
+ animation: accordion-show-horizontal var(--default-transition-duration)
38
+ var(--default-transition-timing-function) forwards;
18
39
  }
19
40
 
20
- @variant data-closed {
21
- animation: accordion-hide var(--default-transition-duration) var(--default-transition-timing-function) forwards;
41
+ @variant data-closed:data-[orientation=horizontal] {
42
+ animation: accordion-hide-horizontal var(--default-transition-duration)
43
+ var(--default-transition-timing-function) forwards;
22
44
  }
23
45
  }
24
46
 
25
47
  @utility mgnp-accordion-item {
48
+ display: flex;
49
+
26
50
  h1,
27
51
  h2,
28
52
  h3,
@@ -35,13 +59,20 @@
35
59
  @variant not-last {
36
60
  border-bottom: 1px solid var(--ngp-border);
37
61
  }
62
+
63
+ @variant data-[orientation=horizontal] {
64
+ flex-direction: row;
65
+ }
66
+
67
+ @variant data-[orientation=vertical] {
68
+ flex-direction: column;
69
+ }
38
70
  }
39
71
 
40
72
  @utility mgnp-accordion-trigger {
41
73
  display: flex;
42
74
  justify-content: space-between;
43
75
  align-items: center;
44
- width: 100%;
45
76
  outline: none;
46
77
  border: none;
47
78
  box-shadow: none;
@@ -51,10 +82,21 @@
51
82
  padding-right: --spacing(4);
52
83
  font-size: --spacing(3.5);
53
84
  line-height: --spacing(5);
54
- height: --spacing(11);
55
85
  border-radius: --spacing(3);
56
86
  color: var(--ngp-text-primary);
57
87
 
88
+ @variant data-[orientation=vertical] {
89
+ width: 100%;
90
+ height: --spacing(11);
91
+ }
92
+
93
+ @variant data-[orientation=horizontal] {
94
+ width: --spacing(11);
95
+ height: 100%;
96
+ writing-mode: sideways-lr;
97
+ text-orientation: sideways;
98
+ }
99
+
58
100
  @variant data-focus-visible {
59
101
  overflow: hidden;
60
102
  font-size: --spacing(3.5);
@@ -62,7 +104,8 @@
62
104
  }
63
105
 
64
106
  ng-icon {
65
- transition: transform var(--default-transition-duration) var(--default-transition-timing-function);
107
+ transition: transform var(--default-transition-duration)
108
+ var(--default-transition-timing-function);
66
109
  }
67
110
 
68
111
  @variant data-open {
@@ -91,21 +134,39 @@
91
134
  }
92
135
 
93
136
  @theme {
94
- @keyframes accordion-show {
137
+ @keyframes accordion-show-vertical {
138
+ from {
139
+ max-height: 0;
140
+ }
141
+ to {
142
+ max-height: var(--ngp-accordion-content-height);
143
+ }
144
+ }
145
+
146
+ @keyframes accordion-hide-vertical {
147
+ from {
148
+ max-height: var(--ngp-accordion-content-height);
149
+ }
150
+ to {
151
+ max-height: 0;
152
+ }
153
+ }
154
+
155
+ @keyframes accordion-show-horizontal {
95
156
  from {
96
- height: 0;
157
+ max-width: 0;
97
158
  }
98
159
  to {
99
- height: var(--ngp-accordion-content-height);
160
+ max-width: var(--ngp-accordion-content-width);
100
161
  }
101
162
  }
102
163
 
103
- @keyframes accordion-hide {
164
+ @keyframes accordion-hide-horizontal {
104
165
  from {
105
- height: var(--ngp-accordion-content-height);
166
+ max-width: var(--ngp-accordion-content-width);
106
167
  }
107
168
  to {
108
- height: 0;
169
+ max-width: 0;
109
170
  }
110
171
  }
111
172
  }
@@ -4,12 +4,7 @@
4
4
  height: fit-content;
5
5
  width: max-content;
6
6
  cursor: pointer;
7
- font-weight: var(--font-weight-medium);
8
7
  border-radius: var(--radius-lg);
9
- padding-block: --spacing(2);
10
- padding-inline: --spacing(4);
11
- color: var(--ngp-text-primary);
12
- background-color: var(--ngp-background);
13
8
  box-shadow: var(--ngp-button-shadow);
14
9
 
15
10
  @variant data-focus-visible {
@@ -21,192 +16,230 @@
21
16
  cursor: default;
22
17
  }
23
18
 
19
+ /* Sizes */
20
+ @variant data-[mgnp-size=xs] {
21
+ font-size: var(--text-xs);
22
+ line-height: var(--text-xs--line-height);
23
+ padding-block: --spacing(1);
24
+ padding-inline: --spacing(1.5);
25
+ }
26
+
27
+ @variant data-[mgnp-size=sm] {
28
+ font-size: var(--text-sm);
29
+ line-height: var(--text-sm--line-height);
30
+ padding-block: --spacing(1);
31
+ padding-inline: --spacing(2);
32
+ }
33
+
34
+ @variant data-[mgnp-size=md] {
35
+ font-size: var(--text-base);
36
+ line-height: var(--text-base--line-height);
37
+ padding-block: --spacing(1.5);
38
+ padding-inline: --spacing(2.5);
39
+ }
40
+
41
+ @variant data-[mgnp-size=lg] {
42
+ font-size: var(--text-lg);
43
+ line-height: var(--text-lg--line-height);
44
+ padding-block: --spacing(2);
45
+ padding-inline: --spacing(3);
46
+ font-weight: var(--font-weight-semibold);
47
+ }
48
+
49
+ @variant data-[mgnp-size=xl] {
50
+ font-size: var(--text-xl);
51
+ line-height: var(--text-xl--line-height);
52
+ padding-block: --spacing(2.5);
53
+ padding-inline: --spacing(4);
54
+ font-weight: var(--font-weight-semibold);
55
+ }
56
+
24
57
  /* Solid */
25
58
  @variant data-[mgnp-variant=solid] {
26
59
  /* Colors */
27
60
  @variant data-[mgnp-color=ui] {
28
- --ngp-background: var(--mg-background-ui);
61
+ background-color: var(--mg-background-ui);
29
62
 
30
63
  @variant data-hover {
31
- --ngp-background: var(--ngp-background-hover);
64
+ background-color: var(--mg-background-ui-hover);
32
65
  }
33
66
 
34
67
  @variant data-press {
35
- --ngp-background: var(--ngp-background-active);
68
+ background-color: var(--mg-background-ui-active);
36
69
  }
37
70
  }
38
71
 
39
72
  @variant data-[mgnp-color=primary] {
40
- --ngp-background: var(--mg-background-primary);
73
+ background-color: var(--mg-background-primary);
41
74
 
42
75
  @variant data-hover {
43
- --ngp-background: var(--mg-background-primary-hover);
76
+ background-color: var(--mg-background-primary-hover);
44
77
  }
45
78
 
46
79
  @variant data-press {
47
- --ngp-background: var(--mg-background-primary-active);
80
+ background-color: var(--mg-background-primary-active);
48
81
  }
49
82
  }
50
83
 
51
84
  @variant data-[mgnp-color=secondary] {
52
- --ngp-background: var(--mg-background-secondary);
85
+ background-color: var(--mg-background-secondary);
53
86
 
54
87
  @variant data-hover {
55
- --ngp-background: var(--mg-background-secondary-hover);
88
+ background-color: var(--mg-background-secondary-hover);
56
89
  }
57
90
 
58
91
  @variant data-press {
59
- --ngp-background: var(--mg-background-secondary-active);
92
+ background-color: var(--mg-background-secondary-active);
60
93
  }
61
94
  }
62
95
 
63
96
  @variant data-[mgnp-color=info] {
64
- --ngp-background: var(--mg-background-info);
97
+ background-color: var(--mg-background-info);
65
98
 
66
99
  @variant data-hover {
67
- --ngp-background: var(--mg-background-info-hover);
100
+ background-color: var(--mg-background-info-hover);
68
101
  }
69
102
 
70
103
  @variant data-press {
71
- --ngp-background: var(--mg-background-info-active);
104
+ background-color: var(--mg-background-info-active);
72
105
  }
73
106
  }
74
107
 
75
108
  @variant data-[mgnp-color=success] {
76
- --ngp-background: var(--mg-background-success);
109
+ background-color: var(--mg-background-success);
77
110
 
78
111
  @variant data-hover {
79
- --ngp-background: var(--mg-background-success-hover);
112
+ background-color: var(--mg-background-success-hover);
80
113
  }
81
114
 
82
115
  @variant data-press {
83
- --ngp-background: var(--mg-background-success-active);
116
+ background-color: var(--mg-background-success-active);
84
117
  }
85
118
  }
86
119
 
87
120
  @variant data-[mgnp-color=warning] {
88
- --ngp-background: var(--mg-background-warning);
121
+ background-color: var(--mg-background-warning);
89
122
 
90
123
  @variant data-hover {
91
- --ngp-background: var(--mg-background-warning-hover);
124
+ background-color: var(--mg-background-warning-hover);
92
125
  }
93
126
 
94
127
  @variant data-press {
95
- --ngp-background: var(--mg-background-warning-active);
128
+ background-color: var(--mg-background-warning-active);
96
129
  }
97
130
  }
98
131
 
99
132
  @variant data-[mgnp-color=danger] {
100
- --ngp-background: var(--mg-background-danger);
133
+ background-color: var(--mg-background-danger);
101
134
 
102
135
  @variant data-hover {
103
- --ngp-background: var(--mg-background-danger-hover);
136
+ background-color: var(--mg-background-danger-hover);
104
137
  }
105
138
 
106
139
  @variant data-press {
107
- --ngp-background: var(--mg-background-danger-active);
140
+ background-color: var(--mg-background-danger-active);
108
141
  }
109
142
  }
110
143
  }
111
144
 
112
145
  /* Outline */
113
146
  @variant data-[mgnp-variant=outline] {
114
- --ngp-background: transparent;
115
- --ngp-text-primary: var(--mg-text-ui);
147
+ background-color: transparent;
148
+ color: var(--mg-text-ui);
116
149
 
117
150
  /* Colors */
118
151
  @variant data-[mgnp-color=ui] {
119
152
  @variant data-hover {
120
- --ngp-background: var(--mg-background-ui-inverse);
121
- --ngp-text-primary: var(--mg-text-inverse);
153
+ background-color: var(--mg-background-ui-inverse);
154
+ color: var(--mg-text-inverse);
122
155
  }
123
156
 
124
157
  @variant data-press {
125
- --ngp-background: var(--mg-background-ui-inverse-active);
158
+ background-color: var(--mg-background-ui-inverse-active);
126
159
  }
127
160
  }
128
161
 
129
162
  @variant data-[mgnp-color=primary] {
130
163
  @variant not-data-hover {
131
- --ngp-text-primary: var(--mg-text-primary);
164
+ color: var(--mg-text-primary);
132
165
  }
133
166
 
134
167
  @variant data-hover {
135
- --ngp-background: var(--mg-background-primary);
168
+ background-color: var(--mg-background-primary);
136
169
  }
137
170
 
138
171
  @variant data-press {
139
- --ngp-background: var(--mg-background-primary-inverse-active);
172
+ background-color: var(--mg-background-primary-inverse-active);
140
173
  }
141
174
  }
142
175
 
143
176
  @variant data-[mgnp-color=secondary] {
144
177
  @variant not-data-hover {
145
- --ngp-text-primary: var(--mg-text-secondary);
178
+ color: var(--mg-text-secondary);
146
179
  }
147
180
 
148
181
  @variant data-hover {
149
- --ngp-background: var(--mg-background-secondary);
182
+ background-color: var(--mg-background-secondary);
150
183
  }
151
184
 
152
185
  @variant data-press {
153
- --ngp-background: var(--mg-background-secondary-inverse-active);
186
+ background-color: var(--mg-background-secondary-inverse-active);
154
187
  }
155
188
  }
156
189
 
157
190
  @variant data-[mgnp-color=info] {
158
191
  @variant not-data-hover {
159
- --ngp-text-primary: var(--mg-text-info);
192
+ color: var(--mg-text-info);
160
193
  }
161
194
 
162
195
  @variant data-hover {
163
- --ngp-background: var(--mg-background-info);
196
+ background-color: var(--mg-background-info);
164
197
  }
165
198
 
166
199
  @variant data-press {
167
- --ngp-background: var(--mg-background-info-inverse-active);
200
+ background-color: var(--mg-background-info-inverse-active);
168
201
  }
169
202
  }
170
203
 
171
204
  @variant data-[mgnp-color=success] {
172
205
  @variant not-data-hover {
173
- --ngp-text-primary: var(--mg-text-success);
206
+ color: var(--mg-text-success);
174
207
  }
175
208
 
176
209
  @variant data-hover {
177
- --ngp-background: var(--mg-background-success);
210
+ background-color: var(--mg-background-success);
178
211
  }
179
212
 
180
213
  @variant data-press {
181
- --ngp-background: var(--mg-background-success-inverse-active);
214
+ background-color: var(--mg-background-success-inverse-active);
182
215
  }
183
216
  }
184
217
 
185
218
  @variant data-[mgnp-color=warning] {
186
219
  @variant not-data-hover {
187
- --ngp-text-primary: var(--mg-text-warning);
220
+ color: var(--mg-text-warning);
188
221
  }
189
222
 
190
223
  @variant data-hover {
191
- --ngp-background: var(--mg-background-warning);
224
+ background-color: var(--mg-background-warning);
192
225
  }
193
226
 
194
227
  @variant data-press {
195
- --ngp-background: var(--mg-background-warning-inverse-active);
228
+ background-color: var(--mg-background-warning-inverse-active);
196
229
  }
197
230
  }
198
231
 
199
232
  @variant data-[mgnp-color=danger] {
200
233
  @variant not-data-hover {
201
- --ngp-text-primary: var(--mg-text-danger);
234
+ color: var(--mg-text-danger);
202
235
  }
203
236
 
204
237
  @variant data-hover {
205
- --ngp-background: var(--mg-background-danger);
238
+ background-color: var(--mg-background-danger);
206
239
  }
207
240
 
208
241
  @variant data-press {
209
- --ngp-background: var(--mg-background-danger-inverse-active);
242
+ background-color: var(--mg-background-danger-inverse-active);
210
243
  }
211
244
  }
212
245
  }
@@ -0,0 +1,37 @@
1
+ @utility mgnp-checkbox {
2
+ display: flex;
3
+ flex: none;
4
+ cursor: pointer;
5
+ align-items: center;
6
+ justify-content: center;
7
+ background-color: transparent;
8
+ outline: none;
9
+ border: 1px solid var(--ngp-border);
10
+ color: var(--ngp-text-inverse);
11
+ border-radius: var(--radius-sm);
12
+ font-size: var(--text-base);
13
+ line-height: var(--text-base--line-height);
14
+ padding: --spacing(0);
15
+ width: --spacing(5);
16
+ height: --spacing(5);
17
+
18
+ @variant data-hover {
19
+ background-color: var(--ngp-background-hover);
20
+ }
21
+
22
+ @variant data-checked, data-indeterminate {
23
+ border-color: var(--ngp-background-inverse);
24
+ background-color: var(--ngp-background-inverse);
25
+ }
26
+
27
+ @variant data-focus-visible {
28
+ outline: --spacing(0.5) solid var(--ngp-focus-ring);
29
+ outline-offset: --spacing(0.5);
30
+ }
31
+ }
32
+
33
+ @layer base {
34
+ [mgnpCheckbox][data-mgnp-component='mgnp-checkbox'] {
35
+ @apply mgnp-checkbox transition;
36
+ }
37
+ }
package/theme/ngp_tw.css CHANGED
@@ -1,5 +1,6 @@
1
1
  @import './components/accordion.css';
2
2
  @import './components/button.css';
3
+ @import './components/checkbox.css';
3
4
  @import './components/combobox.css';
4
5
  @import './components/input.css';
5
6
  @import './components/menu.css';
@@ -8,6 +8,7 @@ import { NgpTooltipTrigger } from 'ng-primitives/tooltip';
8
8
 
9
9
  type MgnpButtonColor = PropertyType<'ui' | 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger'>;
10
10
  type MgnpButtonVariant = PropertyType<'solid' | 'outline'>;
11
+ type MgnpButtonSize = PropertyType<'xs' | 'sm' | 'md' | 'lg' | 'xl'>;
11
12
  declare class MgnpButton {
12
13
  protected readonly ngpButton: NgpButton | null;
13
14
  protected readonly ngpComboboxButton: NgpComboboxButton | null;
@@ -16,10 +17,11 @@ declare class MgnpButton {
16
17
  protected readonly ngpAccordionTrigger: NgpAccordionTrigger<any> | null;
17
18
  readonly color: _angular_core.InputSignal<MgnpButtonColor>;
18
19
  readonly variant: _angular_core.InputSignal<MgnpButtonVariant>;
20
+ readonly size: _angular_core.InputSignal<MgnpButtonSize>;
19
21
  constructor();
20
22
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MgnpButton, never>;
21
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MgnpButton, "[ngpButton][mgnpButton], [ngpComboboxButton][mgnpButton], [ngpMenuTrigger][mgnpButton], [ngpTooltipTrigger][mgnpButton], [ngpAccordionTrigger][mgnpButton]", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
23
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MgnpButton, "[ngpButton][mgnpButton], [ngpComboboxButton][mgnpButton], [ngpMenuTrigger][mgnpButton], [ngpTooltipTrigger][mgnpButton], [ngpAccordionTrigger][mgnpButton]", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
22
24
  }
23
25
 
24
26
  export { MgnpButton };
25
- export type { MgnpButtonColor, MgnpButtonVariant };
27
+ export type { MgnpButtonColor, MgnpButtonSize, MgnpButtonVariant };
@@ -0,0 +1,11 @@
1
+ import { NgpCheckbox } from 'ng-primitives/checkbox';
2
+ import * as i0 from '@angular/core';
3
+
4
+ declare class MgnpCheckbox {
5
+ protected readonly ngpCheckbox: NgpCheckbox | null;
6
+ constructor();
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<MgnpCheckbox, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MgnpCheckbox, "[ngpCheckbox][mgnpCheckbox]", never, {}, {}, never, never, true, never>;
9
+ }
10
+
11
+ export { MgnpCheckbox };