@hmscodes/honey-core 1.0.12 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +18 -14
  2. package/fesm2022/hmscodes-honey-core.mjs +110 -0
  3. package/fesm2022/hmscodes-honey-core.mjs.map +1 -0
  4. package/index.d.ts +5 -0
  5. package/lib/components/button/button.component.d.ts +25 -0
  6. package/lib/components/input/input-floating-label.component.d.ts +11 -0
  7. package/lib/honey-core.component.d.ts +5 -0
  8. package/lib/honey-core.service.d.ts +6 -0
  9. package/package.json +23 -42
  10. package/{projects/honey-core/src/public-api.ts → public-api.d.ts} +1 -5
  11. package/.editorconfig +0 -17
  12. package/.vscode/extensions.json +0 -4
  13. package/.vscode/launch.json +0 -20
  14. package/.vscode/tasks.json +0 -42
  15. package/angular.json +0 -61
  16. package/projects/honey-core/.storybook/main.ts +0 -18
  17. package/projects/honey-core/.storybook/preview.ts +0 -14
  18. package/projects/honey-core/.storybook/tsconfig.json +0 -11
  19. package/projects/honey-core/.storybook/typings.d.ts +0 -4
  20. package/projects/honey-core/README.md +0 -63
  21. package/projects/honey-core/ng-package.json +0 -8
  22. package/projects/honey-core/package.json +0 -20
  23. package/projects/honey-core/src/lib/components/button/button.component.html +0 -8
  24. package/projects/honey-core/src/lib/components/button/button.component.scss +0 -1
  25. package/projects/honey-core/src/lib/components/button/button.component.spec.ts +0 -23
  26. package/projects/honey-core/src/lib/components/button/button.component.ts +0 -44
  27. package/projects/honey-core/src/lib/components/input/input-floating-label.component.html +0 -10
  28. package/projects/honey-core/src/lib/components/input/input-floating-label.component.scss +0 -37
  29. package/projects/honey-core/src/lib/components/input/input-floating-label.component.spec.ts +0 -22
  30. package/projects/honey-core/src/lib/components/input/input-floating-label.component.ts +0 -18
  31. package/projects/honey-core/src/lib/honey-core.component.spec.ts +0 -23
  32. package/projects/honey-core/src/lib/honey-core.component.ts +0 -15
  33. package/projects/honey-core/src/lib/honey-core.service.spec.ts +0 -16
  34. package/projects/honey-core/src/lib/honey-core.service.ts +0 -9
  35. package/projects/honey-core/src/stories/.eslintrc.json +0 -5
  36. package/projects/honey-core/src/stories/Colors.mdx +0 -40
  37. package/projects/honey-core/src/stories/Presentation.mdx +0 -7
  38. package/projects/honey-core/src/stories/button.component.stories.ts +0 -73
  39. package/projects/honey-core/src/stories/button.css +0 -30
  40. package/projects/honey-core/src/stories/input-floating-label.component.stories.ts +0 -23
  41. package/projects/honey-core/src/stories/user.ts +0 -3
  42. package/projects/honey-core/styles/hc-button.scss +0 -174
  43. package/projects/honey-core/tsconfig.lib.json +0 -15
  44. package/projects/honey-core/tsconfig.lib.prod.json +0 -11
  45. package/projects/honey-core/tsconfig.spec.json +0 -15
  46. package/tsconfig.json +0 -32
  47. /package/{projects/honey-core/styles → styles}/variables.css +0 -0
@@ -1,23 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
-
3
- import { HcButtonComponent } from './button.component';
4
-
5
- describe('HcButtonComponent', () => {
6
- let component: HcButtonComponent;
7
- let fixture: ComponentFixture<HcButtonComponent>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- imports: [HcButtonComponent]
12
- })
13
- .compileComponents();
14
-
15
- fixture = TestBed.createComponent(HcButtonComponent);
16
- component = fixture.componentInstance;
17
- fixture.detectChanges();
18
- });
19
-
20
- it('should create', () => {
21
- expect(component).toBeTruthy();
22
- });
23
- });
@@ -1,44 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'hc-button',
5
- templateUrl: './button.component.html',
6
- styleUrl: './button.component.scss',
7
- imports: [],
8
- standalone: true,
9
- })
10
- export class HcButtonComponent {
11
- /** Style of the button */
12
- @Input()
13
- style: 's-solid' | 's-hollow' | 's-plain' = 's-solid';
14
-
15
- /** What color to use for the button */
16
- @Input()
17
- color?: string = 'c-primary';
18
-
19
- /** Size of the button */
20
- @Input()
21
- size?: 'h-small' | 'w-stretch' | null = null;
22
-
23
- /**
24
- * Button contents
25
- *
26
- * @required
27
- */
28
- @Input()
29
- label = 'Button';
30
-
31
- /**
32
- * Disabled state of the button
33
- */
34
- @Input()
35
- disabled = false;
36
-
37
- /** Optional click handler */
38
- @Output()
39
- onClick = new EventEmitter<Event>();
40
-
41
- public get classes(): string[] {
42
- return ['hc-button', `${this.size}`, `${this.style}`, `${this.color}`];
43
- }
44
- }
@@ -1,10 +0,0 @@
1
- <fieldset class="hc-input">
2
- <input
3
- [id]="id"
4
- [type]="type"
5
- [attr.required]="required || null"
6
- [formControl]="control"
7
- placeholder=" "
8
- />
9
- <label [for]="id">{{ label }}</label>
10
- </fieldset>
@@ -1,37 +0,0 @@
1
- .hc-input {
2
- position: relative;
3
- border: none;
4
- padding: 0;
5
- margin: 1rem 0;
6
-
7
- input {
8
- width: 100%;
9
- padding: 1.2rem 0.8rem 0.4rem;
10
- font-size: 1rem;
11
- border: 1px solid #ccc;
12
- border-radius: 4px;
13
-
14
- &:focus {
15
- outline: none;
16
- border-color: var(--hc-primary-500);
17
- }
18
-
19
- &:focus + label,
20
- &:not(:placeholder-shown) + label {
21
- transform: translateY(-1rem);
22
- font-size: 0.75rem;
23
- color: var(--hc-primary-500);
24
- }
25
- }
26
-
27
- label {
28
- position: absolute;
29
- left: 0.8rem;
30
- top: 1rem;
31
- transition: all 0.2s ease;
32
- pointer-events: none;
33
- color: #666;
34
- background-color: white;
35
- padding: 0 0.2rem;
36
- }
37
- }
@@ -1,22 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { InputFloatingLabelComponent } from './input-floating-label.component';
3
-
4
- describe('InputFloatingLabelComponent', () => {
5
- let component: InputFloatingLabelComponent;
6
- let fixture: ComponentFixture<InputFloatingLabelComponent>;
7
-
8
- beforeEach(async () => {
9
- await TestBed.configureTestingModule({
10
- imports: [InputFloatingLabelComponent]
11
- })
12
- .compileComponents();
13
-
14
- fixture = TestBed.createComponent(InputFloatingLabelComponent);
15
- component = fixture.componentInstance;
16
- fixture.detectChanges();
17
- });
18
-
19
- it('should create', () => {
20
- expect(component).toBeTruthy();
21
- });
22
- });
@@ -1,18 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { FormControl, ReactiveFormsModule } from '@angular/forms';
3
-
4
- @Component({
5
- selector: 'hc-input-floating-label',
6
- templateUrl: './input-floating-label.component.html',
7
- styleUrls: ['./input-floating-label.component.scss'],
8
- imports: [ReactiveFormsModule],
9
- standalone: true,
10
- })
11
- export class InputFloatingLabelComponent {
12
- @Input() id: string = 'hc-input';
13
- @Input() label: string = 'Label';
14
- @Input() type: string = 'text';
15
- @Input() required = false;
16
- @Input() control!: FormControl;
17
- }
18
-
@@ -1,23 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
-
3
- import { HoneyCoreComponent } from './honey-core.component';
4
-
5
- describe('HoneyCoreComponent', () => {
6
- let component: HoneyCoreComponent;
7
- let fixture: ComponentFixture<HoneyCoreComponent>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- imports: [HoneyCoreComponent]
12
- })
13
- .compileComponents();
14
-
15
- fixture = TestBed.createComponent(HoneyCoreComponent);
16
- component = fixture.componentInstance;
17
- fixture.detectChanges();
18
- });
19
-
20
- it('should create', () => {
21
- expect(component).toBeTruthy();
22
- });
23
- });
@@ -1,15 +0,0 @@
1
- import { Component } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'lib-honey-core',
5
- imports: [],
6
- template: `
7
- <p>
8
- honey-core works!
9
- </p>
10
- `,
11
- styles: ``
12
- })
13
- export class HoneyCoreComponent {
14
-
15
- }
@@ -1,16 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
-
3
- import { HoneyCoreService } from './honey-core.service';
4
-
5
- describe('HoneyCoreService', () => {
6
- let service: HoneyCoreService;
7
-
8
- beforeEach(() => {
9
- TestBed.configureTestingModule({});
10
- service = TestBed.inject(HoneyCoreService);
11
- });
12
-
13
- it('should be created', () => {
14
- expect(service).toBeTruthy();
15
- });
16
- });
@@ -1,9 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
-
3
- @Injectable({
4
- providedIn: 'root'
5
- })
6
- export class HoneyCoreService {
7
-
8
- constructor() { }
9
- }
@@ -1,5 +0,0 @@
1
- {
2
- "rules": {
3
- "@typescript-eslint/consistent-type-imports": ["error", { "disallowTypeAnnotations": false }]
4
- }
5
- }
@@ -1,40 +0,0 @@
1
- import { Meta, ColorPalette, ColorItem } from '@storybook/blocks';
2
-
3
- <Meta title="Colors" />
4
-
5
- <ColorPalette>
6
- <ColorItem
7
- title="theme.color.primary"
8
- subtitle="Honey Core"
9
- colors={{
10
- '--hc-primary-500': '#FF7A00',
11
- '--hc-primary-600': '#E86B00',
12
- '--hc-primary-700': '#CC5D00',
13
- }}
14
- />
15
- <ColorItem
16
- title="theme.color.secondary"
17
- subtitle="Honey Core Secondary"
18
- colors={{
19
- '--hc-secondary-500': '#FFC857',
20
- '--hc-secondary-600': '#f7a838',
21
- '--hc-secondary-700': '#d68d2a',
22
- }}
23
- />
24
- <ColorItem
25
- title="theme.color.brown"
26
- subtitle="Honey Core Secondary"
27
- colors={{
28
- '--hc-brown-500': '#95570e',
29
- '--hc-brown-600': '#753c00',
30
- }}
31
- />
32
- <ColorItem
33
- title="theme.color.greyscale"
34
- subtitle="Some of the greys"
35
- colors={{
36
- '--hc-text-strong': '#2E282A',
37
- '--hc-text-light': '#6C757D',
38
- }}
39
- />
40
- </ColorPalette>
@@ -1,7 +0,0 @@
1
- import { Meta } from "@storybook/blocks";
2
-
3
- <Meta title="Apresentação" />
4
-
5
- # Configure your project
6
-
7
- HoneyCore is a reusable component library for Angular, crafted to bring consistency, efficiency, and style to personal projects. Inspired by the elegant structure of honeycombs, it’s built to scale and sweeten your workflow. 🐝
@@ -1,73 +0,0 @@
1
- import { argsToTemplate, type Meta, type StoryObj } from '@storybook/angular';
2
- import { fn } from '@storybook/test';
3
- import { HcButtonComponent } from '../lib/components/button/button.component';
4
-
5
- type ButtonInputsAndCustomArgs = HcButtonComponent & { text: string };
6
-
7
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
- const meta: Meta<ButtonInputsAndCustomArgs> = {
9
- title: 'Example/Button',
10
- component: HcButtonComponent,
11
- tags: ['autodocs'],
12
- args: {
13
- text: 'Button',
14
- },
15
- render: ({ text, ...buttonArgs }) => ({
16
- props: buttonArgs,
17
- template: `
18
- <hc-button ${argsToTemplate(buttonArgs)}>
19
- ${text}
20
- </hc-button>
21
- `,
22
- }),
23
- };
24
-
25
- export default meta;
26
- type Story = StoryObj<HcButtonComponent>;
27
-
28
- // More on writing stories with args: https://storybook.js.org/docs/writing-stories/args
29
- export const Primary: Story = {
30
- args: {
31
- style: 's-solid',
32
- },
33
- };
34
-
35
- export const PrimaryDisabled: Story = {
36
- args: {
37
- ...Primary.args,
38
- disabled: true,
39
- },
40
- };
41
-
42
- export const SecondarySolid: Story = {
43
- args: {
44
- style: 's-solid',
45
- color: 'c-secondary',
46
- },
47
- };
48
-
49
- export const Hollow: Story = {
50
- args: {
51
- style: 's-hollow',
52
- },
53
- };
54
-
55
- export const Plain: Story = {
56
- args: {
57
- style: 's-plain',
58
- },
59
- };
60
-
61
- export const Small: Story = {
62
- args: {
63
- ...Primary.args,
64
- size: 'h-small',
65
- },
66
- };
67
-
68
- export const Stretch: Story = {
69
- args: {
70
- ...Primary.args,
71
- size: 'w-stretch',
72
- },
73
- };
@@ -1,30 +0,0 @@
1
- .storybook-button {
2
- display: inline-block;
3
- cursor: pointer;
4
- border: 0;
5
- border-radius: 3em;
6
- font-weight: 700;
7
- line-height: 1;
8
- font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
9
- }
10
- .storybook-button--primary {
11
- background-color: #555ab9;
12
- color: white;
13
- }
14
- .storybook-button--secondary {
15
- box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset;
16
- background-color: transparent;
17
- color: #333;
18
- }
19
- .storybook-button--small {
20
- padding: 10px 16px;
21
- font-size: 12px;
22
- }
23
- .storybook-button--medium {
24
- padding: 11px 20px;
25
- font-size: 14px;
26
- }
27
- .storybook-button--large {
28
- padding: 12px 24px;
29
- font-size: 16px;
30
- }
@@ -1,23 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/angular';
2
- import { InputFloatingLabelComponent } from '../lib/components/input/input-floating-label.component';
3
-
4
- const meta: Meta<InputFloatingLabelComponent> = {
5
- title: 'Form/Input Floating Label',
6
- component: InputFloatingLabelComponent,
7
- tags: ['autodocs'],
8
- render: (args: InputFloatingLabelComponent) => ({
9
- props: args,
10
- }),
11
- };
12
-
13
- export default meta;
14
-
15
- type Story = StoryObj<InputFloatingLabelComponent>;
16
-
17
- export const Default: Story = {
18
- args: {
19
- label: 'Nome completo',
20
- id: 'nome',
21
- required: true,
22
- },
23
- };
@@ -1,3 +0,0 @@
1
- export interface User {
2
- name: string;
3
- }
@@ -1,174 +0,0 @@
1
- $hcButtonBorderRadius : 12px !default;
2
- $hcButtonFontSize : 14px !default;
3
- $hcButtonFontWeight : normal !default;
4
- $hcButtonPadding : 24px !default;
5
-
6
- /**
7
- * Applies colors to the button
8
- */
9
- @mixin colorButton($color, $background, $border) {
10
- color : $color;
11
- background : $background;
12
- border-color : $border;
13
- }
14
-
15
- /**
16
- *
17
- */
18
- @mixin hcTypography($size, $color, $weight: normal) {
19
- font-size : $size;
20
- color : $color;
21
- font-weight : $weight;
22
- }
23
-
24
- /**
25
- *
26
- */
27
- @mixin flex($justify, $align: center) {
28
- display : flex;
29
- align-items : $align;
30
- justify-content : $justify;
31
- }
32
-
33
- /**
34
- * Base shared properties for hc-button styles
35
- */
36
- %hc-button {
37
- --color-button : var(--color);
38
- --color-button-hover : var(--hover-color);
39
- --width : fit-content;
40
- --height : 36px;
41
- --h-padding : #{$hcButtonPadding};
42
-
43
- @include flex(center);
44
- @include hcTypography($hcButtonFontSize, var(--color-button), $hcButtonFontWeight);
45
- gap : 8px;
46
- box-sizing : border-box;
47
- width : var(--width);
48
- height : var(--height);
49
- padding : 0px var(--h-padding);
50
- white-space : nowrap;
51
- outline : none;
52
- border : 1px solid transparent;
53
- border-radius : $hcButtonBorderRadius;
54
- transition : background .2s, color .2s, box-shadow .2s;
55
- cursor : pointer;
56
-
57
- &:disabled {
58
- @include colorButton(var(--hc-disabled-text), var(--hc-disabled-bg), var(--hc-disabled-bg));
59
- cursor : not-allowed;
60
- }
61
- }
62
-
63
- /**
64
- * Base colors
65
- */
66
- .hc-button {
67
- &.c-initial {
68
- --color-button : var(--hc-text-strong);
69
- --color-button-hover : var(--hc-text-strong);
70
- }
71
-
72
- &.c-primary {
73
- --color-button : var(--hc-background-primary);
74
- --color-button-hover : var(--hc-background-primary-hover);
75
- }
76
-
77
- &.c-secondary {
78
- color : var(--hc-brown-600) !important;
79
- --color-button : var(--hc-background-secondary);
80
- --color-button-hover : var(--hc-background-secondary-hover);
81
- }
82
- }
83
-
84
-
85
- /**
86
- * Solid colored background button
87
- */
88
- .hc-button.s-solid {
89
- @extend %hc-button;
90
- @include colorButton(var(--hc-background-main), var(--color-button), transparent);
91
-
92
- &:not(:disabled):hover {
93
- background : var(--color-button-hover);
94
- }
95
- }
96
-
97
- /**
98
- * Hollow button with colored border and text
99
- */
100
- .hc-button.s-hollow {
101
- @extend %hc-button;
102
- @include colorButton(var(--color-button), transparent, var(--color-button));
103
-
104
- &:not(:disabled):hover {
105
- @include colorButton(var(--hc-background-main), var(--color-button), transparent);
106
- }
107
-
108
- &:disabled {
109
- background : transparent;
110
- color : var(--cds-text-light)
111
- }
112
- }
113
-
114
- /**
115
- * Text button
116
- */
117
- .hc-button.s-plain {
118
- --height : 28px;
119
- --h-padding : 16px;
120
-
121
- @extend %hc-button;
122
- @include colorButton(var(--color-button), transparent, transparent);
123
-
124
- &:not(:disabled):hover {
125
- @include colorButton(var(--color-button-hover), transparent, transparent);
126
- }
127
-
128
- &:disabled {
129
- @include colorButton(var(--hc-button-disabled-foreground), transparent, transparent);
130
- }
131
- }
132
-
133
- /**
134
- * hc-button width classes
135
- */
136
- .hc-button {
137
- &.v-underlined {
138
- text-decoration : underline;
139
- }
140
-
141
- &.h-small {
142
- --height : 32px;
143
- --h-padding : 16px;
144
- font-size : 12px;
145
- }
146
-
147
- &.w-stretch {
148
- --width : 100%;
149
- }
150
- }
151
-
152
- /**
153
- * Overwrite buttons style on dark mode
154
- */
155
- :root body[cds-theme='dark'] {
156
- .s-solid {
157
- &:disabled {
158
- background : hsla(var(--cds-primary-500-hsl), 0.5);
159
- }
160
- }
161
-
162
- .hc-primary {
163
- &:disabled {
164
- @include colorButton(hsla(var(--cds-primary-400-hsl), 0.5), transparent, hsla(var(--cds-primary-400-hsl), 0.5));
165
- }
166
- }
167
-
168
- .hc-button.s-solid {
169
- &:disabled {
170
- background : hsla(var(--color-button-hsl), 0.5);
171
- border-color : transparent;
172
- }
173
- }
174
- }
@@ -1,15 +0,0 @@
1
- /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
- /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
- {
4
- "extends": "../../tsconfig.json",
5
- "compilerOptions": {
6
- "outDir": "../../out-tsc/lib",
7
- "declaration": true,
8
- "declarationMap": true,
9
- "inlineSources": true,
10
- "types": []
11
- },
12
- "exclude": [
13
- "**/*.spec.ts"
14
- ]
15
- }
@@ -1,11 +0,0 @@
1
- /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
- /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
- {
4
- "extends": "./tsconfig.lib.json",
5
- "compilerOptions": {
6
- "declarationMap": false
7
- },
8
- "angularCompilerOptions": {
9
- "compilationMode": "partial"
10
- }
11
- }
@@ -1,15 +0,0 @@
1
- /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
- /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
- {
4
- "extends": "../../tsconfig.json",
5
- "compilerOptions": {
6
- "outDir": "../../out-tsc/spec",
7
- "types": [
8
- "jasmine"
9
- ]
10
- },
11
- "include": [
12
- "**/*.spec.ts",
13
- "**/*.d.ts"
14
- ]
15
- }
package/tsconfig.json DELETED
@@ -1,32 +0,0 @@
1
- /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
- /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
- {
4
- "compileOnSave": false,
5
- "compilerOptions": {
6
- "outDir": "./dist/out-tsc",
7
- "strict": true,
8
- "paths": {
9
- "honey-core": [
10
- "./dist/honey-core"
11
- ]
12
- },
13
- "noImplicitOverride": true,
14
- "noPropertyAccessFromIndexSignature": true,
15
- "noImplicitReturns": true,
16
- "noFallthroughCasesInSwitch": true,
17
- "skipLibCheck": true,
18
- "isolatedModules": true,
19
- "esModuleInterop": true,
20
- "experimentalDecorators": true,
21
- "moduleResolution": "bundler",
22
- "importHelpers": true,
23
- "target": "ES2022",
24
- "module": "ES2022"
25
- },
26
- "angularCompilerOptions": {
27
- "enableI18nLegacyMessageIdFormat": false,
28
- "strictInjectionParameters": true,
29
- "strictInputAccessModifiers": true,
30
- "strictTemplates": true
31
- }
32
- }