dasar-ui 1.1.0 → 1.3.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.
Files changed (116) hide show
  1. package/README.md +19 -14
  2. package/fesm2022/dasar-ui.mjs +9664 -0
  3. package/fesm2022/dasar-ui.mjs.map +1 -0
  4. package/package.json +39 -42
  5. package/types/dasar-ui.d.ts +2114 -0
  6. package/.editorconfig +0 -17
  7. package/.nvmrc +0 -1
  8. package/.prettierrc +0 -12
  9. package/.vscode/extensions.json +0 -4
  10. package/.vscode/launch.json +0 -20
  11. package/.vscode/settings.json +0 -4
  12. package/.vscode/tasks.json +0 -42
  13. package/CHANGELOG.md +0 -18
  14. package/angular.json +0 -37
  15. package/projects/dasar-ui/README.md +0 -64
  16. package/projects/dasar-ui/ng-package.json +0 -10
  17. package/projects/dasar-ui/package.json +0 -27
  18. package/projects/dasar-ui/src/lib/components/dasar-button/dasar-button.html +0 -9
  19. package/projects/dasar-ui/src/lib/components/dasar-button/dasar-button.scss +0 -352
  20. package/projects/dasar-ui/src/lib/components/dasar-button/dasar-button.spec.ts +0 -21
  21. package/projects/dasar-ui/src/lib/components/dasar-button/dasar-button.ts +0 -154
  22. package/projects/dasar-ui/src/lib/components/dasar-button-group/dasar-button-group.html +0 -1
  23. package/projects/dasar-ui/src/lib/components/dasar-button-group/dasar-button-group.scss +0 -69
  24. package/projects/dasar-ui/src/lib/components/dasar-button-group/dasar-button-group.spec.ts +0 -21
  25. package/projects/dasar-ui/src/lib/components/dasar-button-group/dasar-button-group.ts +0 -30
  26. package/projects/dasar-ui/src/lib/components/dasar-calendar/dasar-calendar.html +0 -158
  27. package/projects/dasar-ui/src/lib/components/dasar-calendar/dasar-calendar.scss +0 -371
  28. package/projects/dasar-ui/src/lib/components/dasar-calendar/dasar-calendar.spec.ts +0 -21
  29. package/projects/dasar-ui/src/lib/components/dasar-calendar/dasar-calendar.ts +0 -458
  30. package/projects/dasar-ui/src/lib/components/dasar-card/dasar-card.html +0 -80
  31. package/projects/dasar-ui/src/lib/components/dasar-card/dasar-card.scss +0 -184
  32. package/projects/dasar-ui/src/lib/components/dasar-card/dasar-card.spec.ts +0 -21
  33. package/projects/dasar-ui/src/lib/components/dasar-card/dasar-card.ts +0 -294
  34. package/projects/dasar-ui/src/lib/components/dasar-chip/dasar-chip.html +0 -42
  35. package/projects/dasar-ui/src/lib/components/dasar-chip/dasar-chip.scss +0 -38
  36. package/projects/dasar-ui/src/lib/components/dasar-chip/dasar-chip.ts +0 -207
  37. package/projects/dasar-ui/src/lib/components/dasar-datepicker/dasar-datepicker.html +0 -102
  38. package/projects/dasar-ui/src/lib/components/dasar-datepicker/dasar-datepicker.scss +0 -301
  39. package/projects/dasar-ui/src/lib/components/dasar-datepicker/dasar-datepicker.spec.ts +0 -21
  40. package/projects/dasar-ui/src/lib/components/dasar-datepicker/dasar-datepicker.ts +0 -527
  41. package/projects/dasar-ui/src/lib/components/dasar-icon/dasar-icon.html +0 -1
  42. package/projects/dasar-ui/src/lib/components/dasar-icon/dasar-icon.registry.ts +0 -5089
  43. package/projects/dasar-ui/src/lib/components/dasar-icon/dasar-icon.scss +0 -24
  44. package/projects/dasar-ui/src/lib/components/dasar-icon/dasar-icon.spec.ts +0 -21
  45. package/projects/dasar-ui/src/lib/components/dasar-icon/dasar-icon.ts +0 -97
  46. package/projects/dasar-ui/src/lib/components/dasar-input/dasar-input.html +0 -54
  47. package/projects/dasar-ui/src/lib/components/dasar-input/dasar-input.scss +0 -281
  48. package/projects/dasar-ui/src/lib/components/dasar-input/dasar-input.spec.ts +0 -21
  49. package/projects/dasar-ui/src/lib/components/dasar-input/dasar-input.ts +0 -323
  50. package/projects/dasar-ui/src/lib/components/dasar-menu/dasar-menu.html +0 -63
  51. package/projects/dasar-ui/src/lib/components/dasar-menu/dasar-menu.scss +0 -195
  52. package/projects/dasar-ui/src/lib/components/dasar-menu/dasar-menu.spec.ts +0 -21
  53. package/projects/dasar-ui/src/lib/components/dasar-menu/dasar-menu.ts +0 -240
  54. package/projects/dasar-ui/src/lib/components/dasar-number-input/dasar-number-input.html +0 -90
  55. package/projects/dasar-ui/src/lib/components/dasar-number-input/dasar-number-input.scss +0 -358
  56. package/projects/dasar-ui/src/lib/components/dasar-number-input/dasar-number-input.spec.ts +0 -21
  57. package/projects/dasar-ui/src/lib/components/dasar-number-input/dasar-number-input.ts +0 -337
  58. package/projects/dasar-ui/src/lib/components/dasar-pagination/dasar-pagination.html +0 -98
  59. package/projects/dasar-ui/src/lib/components/dasar-pagination/dasar-pagination.scss +0 -51
  60. package/projects/dasar-ui/src/lib/components/dasar-pagination/dasar-pagination.spec.ts +0 -21
  61. package/projects/dasar-ui/src/lib/components/dasar-pagination/dasar-pagination.ts +0 -99
  62. package/projects/dasar-ui/src/lib/components/dasar-pin/dasar-pin.css +0 -0
  63. package/projects/dasar-ui/src/lib/components/dasar-pin/dasar-pin.html +0 -1
  64. package/projects/dasar-ui/src/lib/components/dasar-pin/dasar-pin.spec.ts +0 -21
  65. package/projects/dasar-ui/src/lib/components/dasar-pin/dasar-pin.ts +0 -9
  66. package/projects/dasar-ui/src/lib/components/dasar-pivot-table/dasar-pivot-table.html +0 -163
  67. package/projects/dasar-ui/src/lib/components/dasar-pivot-table/dasar-pivot-table.scss +0 -283
  68. package/projects/dasar-ui/src/lib/components/dasar-pivot-table/dasar-pivot-table.ts +0 -230
  69. package/projects/dasar-ui/src/lib/components/dasar-radio/dasar-radio.css +0 -0
  70. package/projects/dasar-ui/src/lib/components/dasar-radio/dasar-radio.html +0 -1
  71. package/projects/dasar-ui/src/lib/components/dasar-radio/dasar-radio.spec.ts +0 -21
  72. package/projects/dasar-ui/src/lib/components/dasar-radio/dasar-radio.ts +0 -9
  73. package/projects/dasar-ui/src/lib/components/dasar-select/dasar-select.html +0 -185
  74. package/projects/dasar-ui/src/lib/components/dasar-select/dasar-select.scss +0 -347
  75. package/projects/dasar-ui/src/lib/components/dasar-select/dasar-select.spec.ts +0 -21
  76. package/projects/dasar-ui/src/lib/components/dasar-select/dasar-select.ts +0 -497
  77. package/projects/dasar-ui/src/lib/components/dasar-slider/dasar-slider.css +0 -0
  78. package/projects/dasar-ui/src/lib/components/dasar-slider/dasar-slider.html +0 -1
  79. package/projects/dasar-ui/src/lib/components/dasar-slider/dasar-slider.spec.ts +0 -21
  80. package/projects/dasar-ui/src/lib/components/dasar-slider/dasar-slider.ts +0 -9
  81. package/projects/dasar-ui/src/lib/components/dasar-table/dasar-table.html +0 -162
  82. package/projects/dasar-ui/src/lib/components/dasar-table/dasar-table.scss +0 -283
  83. package/projects/dasar-ui/src/lib/components/dasar-table/dasar-table.spec.ts +0 -21
  84. package/projects/dasar-ui/src/lib/components/dasar-table/dasar-table.ts +0 -380
  85. package/projects/dasar-ui/src/lib/components/dasar-tabs/dasar-tabs.html +0 -41
  86. package/projects/dasar-ui/src/lib/components/dasar-tabs/dasar-tabs.scss +0 -126
  87. package/projects/dasar-ui/src/lib/components/dasar-tabs/dasar-tabs.spec.ts +0 -21
  88. package/projects/dasar-ui/src/lib/components/dasar-tabs/dasar-tabs.ts +0 -72
  89. package/projects/dasar-ui/src/lib/components/dasar-textarea/dasar-textarea.html +0 -43
  90. package/projects/dasar-ui/src/lib/components/dasar-textarea/dasar-textarea.scss +0 -189
  91. package/projects/dasar-ui/src/lib/components/dasar-textarea/dasar-textarea.spec.ts +0 -21
  92. package/projects/dasar-ui/src/lib/components/dasar-textarea/dasar-textarea.ts +0 -139
  93. package/projects/dasar-ui/src/lib/components/dasar-theme-provider/dasar-theme-provider.ts +0 -286
  94. package/projects/dasar-ui/src/lib/components/dasar-toast/dasar-toast.css +0 -0
  95. package/projects/dasar-ui/src/lib/components/dasar-toast/dasar-toast.html +0 -1
  96. package/projects/dasar-ui/src/lib/components/dasar-toast/dasar-toast.spec.ts +0 -21
  97. package/projects/dasar-ui/src/lib/components/dasar-toast/dasar-toast.ts +0 -9
  98. package/projects/dasar-ui/src/lib/components/dasar-toggle/dasar-toggle.css +0 -0
  99. package/projects/dasar-ui/src/lib/components/dasar-toggle/dasar-toggle.html +0 -1
  100. package/projects/dasar-ui/src/lib/components/dasar-toggle/dasar-toggle.spec.ts +0 -21
  101. package/projects/dasar-ui/src/lib/components/dasar-toggle/dasar-toggle.ts +0 -9
  102. package/projects/dasar-ui/src/lib/components/dasar-tooltip/dasar-tooltip.css +0 -0
  103. package/projects/dasar-ui/src/lib/components/dasar-tooltip/dasar-tooltip.html +0 -1
  104. package/projects/dasar-ui/src/lib/components/dasar-tooltip/dasar-tooltip.spec.ts +0 -21
  105. package/projects/dasar-ui/src/lib/components/dasar-tooltip/dasar-tooltip.ts +0 -9
  106. package/projects/dasar-ui/src/lib/models/theme.model.ts +0 -643
  107. package/projects/dasar-ui/src/lib/models/type.model.ts +0 -11
  108. package/projects/dasar-ui/src/lib/services/theme.service.ts +0 -643
  109. package/projects/dasar-ui/src/lib/styles/theme.ts +0 -70
  110. package/projects/dasar-ui/src/lib/utils/common.ts +0 -175
  111. package/projects/dasar-ui/src/public-api.ts +0 -23
  112. package/projects/dasar-ui/tsconfig.lib.json +0 -21
  113. package/projects/dasar-ui/tsconfig.lib.prod.json +0 -11
  114. package/projects/dasar-ui/tsconfig.spec.json +0 -11
  115. package/tsconfig.json +0 -37
  116. /package/{projects/dasar-ui/src/lib/styles → styles}/theme.scss +0 -0
package/.editorconfig DELETED
@@ -1,17 +0,0 @@
1
- # Editor configuration, see https://editorconfig.org
2
- root = true
3
-
4
- [*]
5
- charset = utf-8
6
- indent_style = space
7
- indent_size = 2
8
- insert_final_newline = true
9
- trim_trailing_whitespace = true
10
-
11
- [*.ts]
12
- quote_type = single
13
- ij_typescript_use_double_quotes = false
14
-
15
- [*.md]
16
- max_line_length = off
17
- trim_trailing_whitespace = false
package/.nvmrc DELETED
@@ -1 +0,0 @@
1
- 24.20.0
package/.prettierrc DELETED
@@ -1,12 +0,0 @@
1
- {
2
- "printWidth": 100,
3
- "singleQuote": true,
4
- "overrides": [
5
- {
6
- "files": "*.html",
7
- "options": {
8
- "parser": "angular"
9
- }
10
- }
11
- ]
12
- }
@@ -1,4 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3
- "recommendations": ["angular.ng-template"]
4
- }
@@ -1,20 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3
- "version": "0.2.0",
4
- "configurations": [
5
- {
6
- "name": "ng serve",
7
- "type": "chrome",
8
- "request": "launch",
9
- "preLaunchTask": "npm: start",
10
- "url": "http://localhost:4200/"
11
- },
12
- {
13
- "name": "ng test",
14
- "type": "chrome",
15
- "request": "launch",
16
- "preLaunchTask": "npm: test",
17
- "url": "http://localhost:9876/debug.html"
18
- }
19
- ]
20
- }
@@ -1,4 +0,0 @@
1
- {
2
- "editor.formatOnSave": true,
3
- "editor.defaultFormatter": "esbenp.prettier-vscode"
4
- }
@@ -1,42 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558
3
- "version": "2.0.0",
4
- "tasks": [
5
- {
6
- "type": "npm",
7
- "script": "start",
8
- "isBackground": true,
9
- "problemMatcher": {
10
- "owner": "typescript",
11
- "pattern": "$tsc",
12
- "background": {
13
- "activeOnStart": true,
14
- "beginsPattern": {
15
- "regexp": "Changes detected"
16
- },
17
- "endsPattern": {
18
- "regexp": "bundle generation (complete|failed)"
19
- }
20
- }
21
- }
22
- },
23
- {
24
- "type": "npm",
25
- "script": "test",
26
- "isBackground": true,
27
- "problemMatcher": {
28
- "owner": "typescript",
29
- "pattern": "$tsc",
30
- "background": {
31
- "activeOnStart": true,
32
- "beginsPattern": {
33
- "regexp": "Changes detected"
34
- },
35
- "endsPattern": {
36
- "regexp": "bundle generation (complete|failed)"
37
- }
38
- }
39
- }
40
- }
41
- ]
42
- }
package/CHANGELOG.md DELETED
@@ -1,18 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
-
5
- ## [1.1.0](https://github.com/pis2co/dasar-ui/compare/v1.0.0...v1.1.0) (2026-10-09)
6
-
7
-
8
- ### Bug Fixes
9
-
10
- * set repo to public ([a47b464](https://github.com/pis2co/dasar-ui/commit/a47b4642184ebb7fd85728947c4e8222963cb185))
11
-
12
- ## 1.0.0 (2026-10-09)
13
-
14
-
15
- ### Features
16
-
17
- * initial commit for dasar-ui library ([972f154](https://github.com/pis2co/dasar-ui/commit/972f154d0b0b763485806eded49088d551d80288))
18
- * resolve npm script and code cleanup ([798e4b8](https://github.com/pis2co/dasar-ui/commit/798e4b83a621409ae363ba5be714d6f077a694ce))
package/angular.json DELETED
@@ -1,37 +0,0 @@
1
- {
2
- "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3
- "version": 1,
4
- "cli": {
5
- "packageManager": "npm",
6
- "analytics": false
7
- },
8
- "newProjectRoot": "projects",
9
- "projects": {
10
- "dasar-ui": {
11
- "projectType": "library",
12
- "root": "projects/dasar-ui",
13
- "sourceRoot": "projects/dasar-ui/src",
14
- "prefix": "dasar",
15
- "architect": {
16
- "build": {
17
- "builder": "@angular/build:ng-packagr",
18
- "configurations": {
19
- "production": {
20
- "tsConfig": "projects/dasar-ui/tsconfig.lib.prod.json"
21
- },
22
- "development": {
23
- "tsConfig": "projects/dasar-ui/tsconfig.lib.json"
24
- }
25
- },
26
- "defaultConfiguration": "production"
27
- },
28
- "test": {
29
- "builder": "@angular/build:unit-test",
30
- "options": {
31
- "tsConfig": "projects/dasar-ui/tsconfig.spec.json"
32
- }
33
- }
34
- }
35
- }
36
- }
37
- }
@@ -1,64 +0,0 @@
1
- # DasarUi
2
-
3
- This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 22.1.0.
4
-
5
- ## Code scaffolding
6
-
7
- Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
8
-
9
- ```bash
10
- ng generate component component-name
11
- ```
12
-
13
- For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
14
-
15
- ```bash
16
- ng generate --help
17
- ```
18
-
19
- ## Building
20
-
21
- To build the library, run:
22
-
23
- ```bash
24
- ng build dasar-ui
25
- ```
26
-
27
- This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
28
-
29
- ### Publishing the Library
30
-
31
- Once the project is built, you can publish your library by following these steps:
32
-
33
- 1. Navigate to the `dist` directory:
34
-
35
- ```bash
36
- cd dist/dasar-ui
37
- ```
38
-
39
- 2. Run the `npm publish` command to publish your library to the npm registry:
40
- ```bash
41
- npm publish
42
- ```
43
-
44
- ## Running unit tests
45
-
46
- To execute unit tests with the [Vitest](https://vitest.dev/) test runner, use the following command:
47
-
48
- ```bash
49
- ng test
50
- ```
51
-
52
- ## Running end-to-end tests
53
-
54
- For end-to-end (e2e) testing, run:
55
-
56
- ```bash
57
- ng e2e
58
- ```
59
-
60
- Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
61
-
62
- ## Additional Resources
63
-
64
- For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -1,10 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/dasar-ui",
4
- "lib": {
5
- "entryFile": "src/public-api.ts"
6
- },
7
- "assets": [
8
- { "input": "src/lib/styles", "glob": "**/*.scss", "output": "styles" }
9
- ]
10
- }
@@ -1,27 +0,0 @@
1
- {
2
- "name": "dasar-ui",
3
- "version": "0.0.1",
4
- "description": "UI component library for Angular",
5
- "author": "dxxta",
6
- "license": "MIT",
7
- "repository": {
8
- "type": "git",
9
- "url": "https://github.com/pis2co/dasar-ui.git"
10
- },
11
- "keywords": [
12
- "angular",
13
- "ui",
14
- "components"
15
- ],
16
- "peerDependencies": {
17
- "@angular/platform-browser": "^22.1.0",
18
- "@angular/common": "^22.1.0",
19
- "@angular/core": "^22.1.0",
20
- "@angular/forms": "^22.1.0",
21
- "rxjs": "^7.8.0"
22
- },
23
- "dependencies": {
24
- "tslib": "^2.3.0"
25
- },
26
- "sideEffects": false
27
- }
@@ -1,9 +0,0 @@
1
- <button
2
- class="dasar-button-native"
3
- [ngClass]="buttonClasses"
4
- [ngStyle]="buttonStyle"
5
- [disabled]="disabled"
6
- [type]="type"
7
- >
8
- <ng-content></ng-content>
9
- </button>
@@ -1,352 +0,0 @@
1
- @use '../../styles/theme.scss' as *;
2
-
3
- .dasar-button {
4
- display: inline-flex;
5
- width: fit-content;
6
-
7
- &.full-width {
8
- width: 100%;
9
-
10
- .dasar-button-native {
11
- width: 100%;
12
- }
13
- }
14
- }
15
-
16
- .dasar-button-native {
17
- font-weight: var(--btn-font-weight, var(--font-weight-medium));
18
- gap: var(--btn-gap, var(--space-base));
19
- border: 1px solid transparent;
20
- justify-content: center;
21
- box-sizing: border-box;
22
- font-family: inherit;
23
- display: inline-flex;
24
- align-items: center;
25
- white-space: nowrap;
26
- overflow: hidden;
27
- cursor: pointer;
28
- width: auto;
29
-
30
- &.size-xs {
31
- padding: 0 var(--btn-padding-horizontal-xs, var(--space-base));
32
- height: var(--btn-height-xs, var(--space-6));
33
- font-size: var(--font-size-xs);
34
- }
35
-
36
- &.size-sm {
37
- padding: 0 var(--btn-padding-horizontal-sm, var(--space-3));
38
- height: var(--btn-height-sm, var(--space-8));
39
- font-size: var(--font-size-sm);
40
- }
41
-
42
- &.size-md {
43
- padding: 0 var(--btn-padding-horizontal-md, var(--space-4));
44
- height: var(--btn-height-md, var(--space-10));
45
- font-size: var(--font-size-base);
46
- }
47
-
48
- &.size-lg {
49
- padding: 0 var(--btn-padding-horizontal-lg, var(--space-5));
50
- height: var(--btn-height-lg, var(--space-12));
51
- font-size: var(--font-size-lg);
52
- }
53
-
54
- &.size-xl {
55
- padding: 0 var(--btn-padding-horizontal-xl, var(--space-6));
56
- height: var(--btn-height-xl, var(--space-16));
57
- font-size: var(--font-size-xl);
58
- }
59
-
60
- &.icon-only {
61
- padding: 0;
62
- &.size-xs {
63
- width: var(--btn-icon-size-xs, var(--space-6));
64
- }
65
- &.size-sm {
66
- width: var(--btn-icon-size-sm, var(--space-8));
67
- }
68
- &.size-md {
69
- width: var(--btn-icon-size-md, var(--space-10));
70
- }
71
- &.size-lg {
72
- width: var(--btn-icon-size-lg, var(--space-12));
73
- }
74
- &.size-xl {
75
- width: var(--btn-icon-size-xl, var(--space-16));
76
- }
77
- }
78
-
79
- &.radius-none {
80
- border-radius: var(--btn-radius-none, var(--radius-none));
81
- }
82
-
83
- &.radius-xs {
84
- border-radius: var(--btn-radius-xs, var(--radius-xs));
85
- }
86
-
87
- &.radius-sm {
88
- border-radius: var(--btn-radius-sm, var(--radius-sm));
89
- }
90
-
91
- &.radius-md {
92
- border-radius: var(--btn-radius-md, var(--radius-md));
93
- }
94
-
95
- &.radius-lg {
96
- border-radius: var(--btn-radius-lg, var(--radius-lg));
97
- }
98
-
99
- &.radius-xl {
100
- border-radius: var(--btn-radius-xl, var(--radius-xl));
101
- }
102
-
103
- &.radius-full {
104
- border-radius: var(--btn-radius-full, var(--radius-full));
105
- }
106
-
107
- &.primary {
108
- background-color: var(--btn-primary-bg, var(--theme-primary-color));
109
- border-color: var(--btn-primary-border, var(--theme-primary-color));
110
- color: var(--btn-primary-color, var(--theme-text-inverse-color));
111
-
112
- &:hover:not(:disabled) {
113
- background-color: var(--btn-primary-hover-bg, var(--theme-primary-hover-color));
114
- border-color: var(--btn-primary-hover-border, var(--theme-primary-hover-color));
115
- transition: all 0.2s ease-in-out;
116
- }
117
-
118
- &:focus-visible {
119
- outline: 3px solid var(--btn-primary-focus-ring, var(--theme-primary-surface-color));
120
- border-color: transparent;
121
- }
122
-
123
- &.subtle {
124
- background-color: var(--btn-primary-subtle-bg, var(--theme-primary-surface-color));
125
- color: var(--btn-primary-subtle-color, var(--theme-primary-color));
126
- border-color: transparent;
127
-
128
- &:hover:not(:disabled) {
129
- background-color: var(--btn-primary-subtle-hover-bg, var(--theme-primary-color));
130
- color: var(--btn-primary-subtle-hover-color, var(--theme-text-inverse-color));
131
- transition: all 0.2s ease-in-out;
132
- }
133
- }
134
-
135
- &.outline {
136
- border-color: var(--btn-primary-outline-border, var(--theme-primary-color));
137
- color: var(--btn-primary-outline-color, var(--theme-primary-color));
138
- background-color: transparent;
139
-
140
- &:hover:not(:disabled) {
141
- background-color: var(--btn-primary-outline-hover-bg, var(--theme-primary-surface-color));
142
- transition: all 0.2s ease-in-out;
143
- }
144
- }
145
- }
146
-
147
- &.success {
148
- background-color: var(--btn-success-bg, var(--theme-success-color));
149
- border-color: var(--btn-success-border, var(--theme-success-color));
150
- color: var(--btn-success-color, var(--theme-text-inverse-color));
151
-
152
- &:hover:not(:disabled) {
153
- transition: all 0.2s ease-in-out;
154
- filter: brightness(0.9);
155
- }
156
-
157
- &:focus-visible {
158
- outline: 3px solid var(--btn-success-focus-ring, var(--theme-success-surface-color));
159
- border-color: transparent;
160
- }
161
-
162
- &.subtle {
163
- background-color: var(--btn-success-subtle-bg, var(--theme-success-surface-color));
164
- color: var(--btn-success-subtle-color, var(--theme-success-color));
165
- border-color: transparent;
166
-
167
- &:hover:not(:disabled) {
168
- background-color: var(--btn-success-subtle-hover-bg, var(--theme-success-color));
169
- color: var(--btn-success-subtle-hover-color, var(--theme-text-inverse-color));
170
- transition: all 0.2s ease-in-out;
171
- }
172
- }
173
-
174
- &.outline {
175
- border-color: var(--btn-success-outline-border, var(--theme-success-color));
176
- color: var(--btn-success-outline-color, var(--theme-success-color));
177
- background-color: transparent;
178
-
179
- &:hover:not(:disabled) {
180
- background-color: var(--btn-success-outline-hover-bg, var(--theme-success-surface-color));
181
- transition: all 0.2s ease-in-out;
182
- }
183
- }
184
- }
185
-
186
- &.warning {
187
- background-color: var(--btn-warning-bg, var(--theme-warning-color));
188
- border-color: var(--btn-warning-border, var(--theme-warning-color));
189
- color: var(--btn-warning-color, var(--theme-text-inverse-color));
190
-
191
- &:hover:not(:disabled) {
192
- transition: all 0.2s ease-in-out;
193
- filter: brightness(0.9);
194
- }
195
-
196
- &:focus-visible {
197
- outline: 3px solid var(--btn-warning-focus-ring, var(--theme-warning-surface-color));
198
- border-color: transparent;
199
- }
200
-
201
- &.subtle {
202
- background-color: var(--btn-warning-subtle-bg, var(--theme-warning-surface-color));
203
- color: var(--btn-warning-subtle-color, var(--theme-warning-color));
204
- border-color: transparent;
205
-
206
- &:hover:not(:disabled) {
207
- background-color: var(--btn-warning-subtle-hover-bg, var(--theme-warning-color));
208
- color: var(--btn-warning-subtle-hover-color, var(--theme-text-inverse-color));
209
- transition: all 0.2s ease-in-out;
210
- }
211
- }
212
-
213
- &.outline {
214
- border-color: var(--btn-warning-outline-border, var(--theme-warning-color));
215
- color: var(--btn-warning-outline-color, var(--theme-warning-color));
216
- background-color: transparent;
217
-
218
- &:hover:not(:disabled) {
219
- background-color: var(--btn-warning-outline-hover-bg, var(--theme-warning-surface-color));
220
- transition: all 0.2s ease-in-out;
221
- }
222
- }
223
- }
224
-
225
- &.danger {
226
- background-color: var(--btn-danger-bg, var(--theme-danger-color));
227
- border-color: var(--btn-danger-border, var(--theme-danger-color));
228
- color: var(--btn-danger-color, var(--text-white-color));
229
-
230
- &:hover:not(:disabled) {
231
- transition: all 0.2s ease-in-out;
232
- filter: brightness(0.9);
233
- }
234
-
235
- &:focus-visible {
236
- outline: 3px solid var(--btn-danger-focus-ring, var(--theme-danger-surface-color));
237
- border-color: transparent;
238
- }
239
-
240
- &.subtle {
241
- background-color: var(--btn-danger-subtle-bg, var(--theme-danger-surface-color));
242
- color: var(--btn-danger-subtle-color, var(--theme-danger-color));
243
- border-color: transparent;
244
-
245
- &:hover:not(:disabled) {
246
- background-color: var(--btn-danger-subtle-hover-bg, var(--theme-danger-color));
247
- color: var(--btn-danger-subtle-hover-color, var(--theme-text-inverse-color));
248
- transition: all 0.2s ease-in-out;
249
- }
250
- }
251
-
252
- &.outline {
253
- border-color: var(--btn-danger-outline-border, var(--theme-danger-color));
254
- color: var(--btn-danger-outline-color, var(--theme-danger-color));
255
- background-color: transparent;
256
-
257
- &:hover:not(:disabled) {
258
- background-color: var(--btn-danger-outline-hover-bg, var(--theme-danger-surface-color));
259
- transition: all 0.2s ease-in-out;
260
- }
261
- }
262
- }
263
-
264
- &.secondary {
265
- background-color: var(--btn-secondary-bg, var(--theme-bg-hover-color));
266
- border-color: var(--btn-secondary-border, var(--theme-border-strong-color));
267
- color: var(--btn-secondary-color, var(--theme-text-primary-color));
268
-
269
- &:hover:not(:disabled) {
270
- background-color: var(--btn-secondary-hover-bg, var(--theme-border-subtle-color));
271
- transition: all 0.2s ease-in-out;
272
- }
273
-
274
- &:focus-visible {
275
- outline: 3px solid var(--btn-secondary-focus-ring, var(--theme-border-subtle-color));
276
- }
277
-
278
- &.subtle {
279
- background-color: var(--btn-secondary-subtle-bg, var(--theme-bg-surface-color));
280
- color: var(--btn-secondary-subtle-color, var(--theme-text-secondary-color));
281
- border-color: transparent;
282
-
283
- &:hover:not(:disabled) {
284
- background-color: var(--btn-secondary-subtle-hover-bg, var(--theme-bg-hover-color));
285
- color: var(--btn-secondary-subtle-hover-color, var(--theme-text-primary-color));
286
- transition: all 0.2s ease-in-out;
287
- }
288
- }
289
-
290
- &.outline {
291
- border-color: var(--btn-secondary-outline-border, var(--theme-border-strong-color));
292
- color: var(--btn-secondary-outline-color, var(--theme-text-primary-color));
293
- background-color: transparent;
294
-
295
- &:hover:not(:disabled) {
296
- background-color: var(--btn-secondary-outline-hover-bg, var(--theme-bg-hover-color));
297
- transition: all 0.2s ease-in-out;
298
- }
299
- }
300
- }
301
-
302
- &.ghost {
303
- color: var(--btn-ghost-color, var(--theme-text-secondary-color));
304
- background-color: transparent;
305
- border-color: transparent;
306
-
307
- &:hover:not(:disabled) {
308
- background-color: var(--btn-ghost-hover-bg, var(--theme-bg-hover-color));
309
- color: var(--btn-ghost-hover-color, var(--theme-text-primary-color));
310
- transition: all 0.2s ease-in-out;
311
- }
312
-
313
- &:focus-visible {
314
- outline: 3px solid var(--btn-ghost-focus-ring, var(--theme-border-subtle-color));
315
- }
316
- }
317
-
318
- &:disabled {
319
- border-color: var(--btn-disabled-border, var(--theme-border-subtle-color));
320
- background-color: var(--btn-disabled-bg, var(--theme-bg-hover-color));
321
- color: var(--btn-disabled-color, var(--theme-text-disabled-color));
322
- cursor: not-allowed;
323
- box-shadow: none;
324
- opacity: 0.7;
325
- }
326
-
327
- &:disabled.ghost,
328
- &:disabled.subtle {
329
- border-color: transparent !important;
330
- }
331
-
332
- &.fluid {
333
- background-color: transparent !important;
334
- border-color: transparent !important;
335
- box-shadow: none !important;
336
- border-radius: 0 !important;
337
- color: inherit !important;
338
- height: auto !important;
339
- width: 100% !important;
340
- padding: 0 !important;
341
-
342
- &:hover,
343
- &:focus-visible,
344
- &:active {
345
- background-color: transparent !important;
346
- border-color: transparent !important;
347
- color: inherit !important;
348
- outline: none !important;
349
- filter: none !important;
350
- }
351
- }
352
- }
@@ -1,21 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { DasarButton } from './dasar-button';
3
-
4
- describe('DasarButton', () => {
5
- let component: DasarButton;
6
- let fixture: ComponentFixture<DasarButton>;
7
-
8
- beforeEach(async () => {
9
- await TestBed.configureTestingModule({
10
- imports: [DasarButton],
11
- }).compileComponents();
12
-
13
- fixture = TestBed.createComponent(DasarButton);
14
- component = fixture.componentInstance;
15
- await fixture.whenStable();
16
- });
17
-
18
- it('should create', () => {
19
- expect(component).toBeTruthy();
20
- });
21
- });