@3dsource/source-ui-native 0.0.1

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 (81) hide show
  1. package/README.md +64 -0
  2. package/eslint.config.js +37 -0
  3. package/ng-package.json +7 -0
  4. package/package.json +9 -0
  5. package/src/lib/components/source-badge/components/source-badge.component.html +20 -0
  6. package/src/lib/components/source-badge/components/source-badge.component.scss +76 -0
  7. package/src/lib/components/source-badge/components/source-badge.component.ts +62 -0
  8. package/src/lib/components/source-badge/constants/index.ts +2 -0
  9. package/src/lib/components/source-badge/constants/sourceBadgeSize.ts +8 -0
  10. package/src/lib/components/source-badge/constants/sourceBadgeType.ts +11 -0
  11. package/src/lib/components/source-badge/index.ts +2 -0
  12. package/src/lib/components/source-banner/components/source-banner.component.html +10 -0
  13. package/src/lib/components/source-banner/components/source-banner.component.scss +75 -0
  14. package/src/lib/components/source-banner/components/source-banner.component.ts +25 -0
  15. package/src/lib/components/source-banner/constants/sourceBannerType.ts +10 -0
  16. package/src/lib/components/source-banner/index.ts +2 -0
  17. package/src/lib/components/source-button/components/source-button.component.html +44 -0
  18. package/src/lib/components/source-button/components/source-button.component.scss +355 -0
  19. package/src/lib/components/source-button/components/source-button.component.ts +220 -0
  20. package/src/lib/components/source-button/constants/index.ts +4 -0
  21. package/src/lib/components/source-button/constants/sourceButtonAppearance.ts +7 -0
  22. package/src/lib/components/source-button/constants/sourceButtonColorScheme.ts +8 -0
  23. package/src/lib/components/source-button/constants/sourceButtonSize.ts +8 -0
  24. package/src/lib/components/source-button/constants/sourceButtonType.ts +8 -0
  25. package/src/lib/components/source-button/index.ts +3 -0
  26. package/src/lib/components/source-button/interfaces/defaultSourceButton.config.ts +24 -0
  27. package/src/lib/components/source-button/interfaces/index.ts +2 -0
  28. package/src/lib/components/source-button/interfaces/sourceButton.interface.ts +26 -0
  29. package/src/lib/components/source-copyright/components/source-copyright.component.html +20 -0
  30. package/src/lib/components/source-copyright/components/source-copyright.component.scss +81 -0
  31. package/src/lib/components/source-copyright/components/source-copyright.component.ts +18 -0
  32. package/src/lib/components/source-copyright/index.ts +1 -0
  33. package/src/lib/components/source-divider/components/source-divider.component.html +5 -0
  34. package/src/lib/components/source-divider/components/source-divider.component.scss +15 -0
  35. package/src/lib/components/source-divider/components/source-divider.component.ts +18 -0
  36. package/src/lib/components/source-divider/index.ts +1 -0
  37. package/src/lib/components/source-hint/components/source-hint.component.html +8 -0
  38. package/src/lib/components/source-hint/components/source-hint.component.scss +31 -0
  39. package/src/lib/components/source-hint/components/source-hint.component.ts +18 -0
  40. package/src/lib/components/source-hint/index.ts +1 -0
  41. package/src/lib/components/source-icon-button/components/source-icon-button.component.html +18 -0
  42. package/src/lib/components/source-icon-button/components/source-icon-button.component.scss +89 -0
  43. package/src/lib/components/source-icon-button/components/source-icon-button.component.ts +87 -0
  44. package/src/lib/components/source-icon-button/constants/index.ts +3 -0
  45. package/src/lib/components/source-icon-button/constants/sourceIconButtonShape.ts +7 -0
  46. package/src/lib/components/source-icon-button/constants/sourceIconButtonSize.ts +10 -0
  47. package/src/lib/components/source-icon-button/constants/sourceIconButtonType.ts +8 -0
  48. package/src/lib/components/source-icon-button/index.ts +2 -0
  49. package/src/lib/components/source-loading/components/source-loading.component.html +40 -0
  50. package/src/lib/components/source-loading/components/source-loading.component.scss +62 -0
  51. package/src/lib/components/source-loading/components/source-loading.component.ts +79 -0
  52. package/src/lib/components/source-loading/constants/sourceLoadingLineCap.ts +7 -0
  53. package/src/lib/components/source-loading/index.ts +1 -0
  54. package/src/lib/components/source-logo-loading/components/source-logo-loading.component.html +23 -0
  55. package/src/lib/components/source-logo-loading/components/source-logo-loading.component.scss +33 -0
  56. package/src/lib/components/source-logo-loading/components/source-logo-loading.component.ts +21 -0
  57. package/src/lib/components/source-logo-loading/index.ts +1 -0
  58. package/src/lib/components/source-slider/components/source-slider.component.html +38 -0
  59. package/src/lib/components/source-slider/components/source-slider.component.scss +132 -0
  60. package/src/lib/components/source-slider/components/source-slider.component.ts +122 -0
  61. package/src/lib/components/source-slider/index.ts +1 -0
  62. package/src/lib/styles/base.scss +68 -0
  63. package/src/lib/styles/elements/_src-button.scss +235 -0
  64. package/src/lib/styles/elements/_src-input.scss +83 -0
  65. package/src/lib/styles/elements/_src-list.scss +82 -0
  66. package/src/lib/styles/elements/_src-select.scss +71 -0
  67. package/src/lib/styles/elements/elements.scss +4 -0
  68. package/src/lib/styles/fonts/Inter-VariableFont_slnt,wght.woff2 +0 -0
  69. package/src/lib/styles/fonts.scss +18 -0
  70. package/src/lib/styles/source.ui.scss +23 -0
  71. package/src/lib/styles/typography.scss +90 -0
  72. package/src/lib/styles/utils.scss +40 -0
  73. package/src/lib/styles/variables/_borders.scss +14 -0
  74. package/src/lib/styles/variables/_colors-aliases.scss +39 -0
  75. package/src/lib/styles/variables/_colors.scss +64 -0
  76. package/src/lib/styles/variables/_shadows.scss +9 -0
  77. package/src/lib/styles/variables/_typography.scss +32 -0
  78. package/src/lib/styles/variables/index.scss +5 -0
  79. package/src/public-api.ts +10 -0
  80. package/tsconfig.lib.json +13 -0
  81. package/tsconfig.lib.prod.json +11 -0
@@ -0,0 +1,83 @@
1
+ .src-input {
2
+ --srcInputFontSize: var(--src-fs-base);
3
+ --srcInputLineHeight: var(--src-lh-base);
4
+ --srcInputFontColor: var(--src-color-text-default);
5
+ --srcInputFieldBg: var(--src-color-bg-default);
6
+ --srcInputFieldBorderColor: var(--src-color-border-strong);
7
+ --srcInputHeight: 36px;
8
+ --srcInputBorderRadius: var(--src-br-small);
9
+ --srcInputBoxShadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.05);
10
+ // Focus ring it's a multiple box-shadow
11
+ --srcInputFocusRing:
12
+ 0 0 0 1px #fff, 0 0 0 3px var(--src-color-border-primary);
13
+ position: relative;
14
+
15
+ height: var(--srcInputHeight);
16
+ border-radius: var(--srcInputBorderRadius);
17
+ font-size: var(--srcInputFontSize);
18
+ line-height: var(--srcInputLineHeight);
19
+ color: var(--srcInputFontColor);
20
+ padding: 7px 12px;
21
+ font-family: var(--src-font-family-sans);
22
+ font-style: normal;
23
+ font-weight: var(--src-fw-regular, 400);
24
+ background-color: var(--srcInputFieldBg);
25
+ border: 1px solid var(--srcInputFieldBorderColor);
26
+ box-shadow: var(--srcInputBoxShadow);
27
+ display: flex;
28
+ align-items: center;
29
+
30
+ width: 100%;
31
+ &[type='number'] {
32
+ -moz-appearance: textfield;
33
+ }
34
+
35
+ // Remove default background for autofilled inputs
36
+ &:-webkit-autofill,
37
+ &:-webkit-autofill:focus {
38
+ transition:
39
+ background-color 0s 600000s,
40
+ color 0s 600000s;
41
+ }
42
+
43
+ &::-webkit-outer-spin-button,
44
+ &::-webkit-inner-spin-button {
45
+ -webkit-appearance: none;
46
+ margin: 0;
47
+ }
48
+
49
+ &:focus {
50
+ outline: none;
51
+ box-shadow: var(--srcInputFocusRing);
52
+ }
53
+
54
+ &[disabled],
55
+ &:disabled {
56
+ --srcInputFieldBg: var(--src-color-bg-default-disabled);
57
+ --srcInputFieldBorderColor: var(--src-color-border-strong-disabled);
58
+ --srcInputBoxShadow: none;
59
+ color: var(--src-color-text-default-disabled);
60
+
61
+ pointer-events: none;
62
+ }
63
+ }
64
+
65
+ .src-input--compact {
66
+ --srcInputHeight: 32px;
67
+ --srcInputFontSize: var(--src-fs-small);
68
+ --srcInputLineHeight: var(--src-lh-small);
69
+ }
70
+ /* Error State */
71
+ .src-input--has-error {
72
+ --srcInputFieldBg: var(--src-color-bg-critical-subdued);
73
+ --srcInputFieldBorderColor: var(--src-color-border-critical-strong);
74
+ }
75
+
76
+ /* Disabled State */
77
+ .src-input--disabled {
78
+ --srcInputFieldBg: var(--src-color-bg-default-disabled);
79
+ --srcInputFieldBorderColor: var(--src-color-border-strong-disabled);
80
+ --srcInputBoxShadow: none;
81
+
82
+ pointer-events: none;
83
+ }
@@ -0,0 +1,82 @@
1
+ .src-list {
2
+ display: block;
3
+ width: 100%;
4
+ margin: 0;
5
+ list-style: none;
6
+ padding: 8px;
7
+
8
+ .src-list__item {
9
+ display: block;
10
+ margin-bottom: 4px;
11
+ }
12
+
13
+ &--compact {
14
+ padding: 0;
15
+
16
+ .src-list__item {
17
+ margin-bottom: 0;
18
+ }
19
+ }
20
+ }
21
+
22
+ // source-list-item.component.scss
23
+ .src-list__item {
24
+ --srcListItemBgColor: var(--src-color-bg-default);
25
+ --srcListItemBgHoverColor: var(--src-color-bg-default-hover);
26
+ --srcListItemBorderRadius: var(--src-br-small);
27
+ --srcListItemBoxShadow: none;
28
+ --srcListItemFontColor: var(--src-color-text-default);
29
+ --srcListItemFontSize: var(--src-fs-base);
30
+ --srcListItemFontWeight: var(--src-fw-regular, 400);
31
+ --srcListItemLineHeight: var(--src-lh-base);
32
+ --srcListItemPaddings: 8px;
33
+ --srcListItemTextTransform: default;
34
+ --srcListItemIconColor: var(--src-color-icon-default);
35
+ position: relative;
36
+ align-items: flex-start;
37
+ width: 100%;
38
+ padding: var(--srcListItemPaddings);
39
+ font-weight: var(--srcListItemFontWeight);
40
+ display: inline-flex;
41
+ font-size: var(--srcListItemFontSize);
42
+ line-height: var(--srcListItemLineHeight);
43
+ text-align: left;
44
+ color: var(--srcListItemFontColor);
45
+ text-transform: var(--srcListItemTextTransform);
46
+ letter-spacing: 0;
47
+ white-space: normal;
48
+ background-color: var(--srcListItemBgColor);
49
+ border-radius: var(--srcListItemBorderRadius);
50
+ cursor: pointer;
51
+ word-break: break-word;
52
+
53
+ @media (hover: hover) and (pointer: fine) {
54
+ &:hover,
55
+ &:focus-visible {
56
+ background-color: var(--srcListItemBgHoverColor);
57
+ }
58
+ }
59
+
60
+ &:disabled,
61
+ &[disabled],
62
+ &.disabled,
63
+ &.src-list__item--disabled {
64
+ cursor: default;
65
+ pointer-events: none;
66
+ --srcListItemFontColor: var(--src-color-text-default-disabled);
67
+ --srcListItemIconColor: var(--src-color-icon-default-disabled);
68
+ background-color: var(--src-color-bg-default);
69
+ }
70
+ }
71
+
72
+ .src-list__item--selected {
73
+ --srcListItemBgColor: var(--src-color-bg-default-active);
74
+ --srcListItemIconColor: var(--src-color-icon-primary);
75
+
76
+ @media (hover: hover) and (pointer: fine) {
77
+ &:hover,
78
+ &:focus-visible {
79
+ --srcListItemBgHoverColor: var(--src-color-bg-default-active);
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,71 @@
1
+ .src-select {
2
+ --srcSelectFontSize: var(--src-fs-base);
3
+ --srcSelectLineHeight: var(--src-lh-base);
4
+ --srcSelectFontColor: var(--src-color-text-default);
5
+ --srcSelectFieldBg: var(--src-color-bg-default);
6
+ --srcSelectFieldBorderColor: var(--src-color-border-strong);
7
+ --srcSelectHeight: 36px;
8
+ --srcSelectBorderRadius: var(--src-br-small);
9
+ --srcSelectBoxShadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.05);
10
+ // Focus ring it's a multiple box-shadow
11
+ --srcSelectFocusRing:
12
+ 0 0 0 1px #fff, 0 0 0 3px var(--src-color-border-primary);
13
+
14
+ -webkit-appearance: none;
15
+ appearance: none;
16
+ position: relative;
17
+ display: flex;
18
+ align-items: center;
19
+ width: 100%;
20
+ height: var(--srcSelectHeight);
21
+ border-radius: var(--srcSelectBorderRadius);
22
+ font-size: var(--srcSelectFontSize);
23
+ line-height: var(--srcSelectLineHeight);
24
+ color: var(--srcSelectFontColor);
25
+ padding: 7px 28px 7px 12px;
26
+ font-family: var(--src-font-family-sans);
27
+ font-style: normal;
28
+ font-weight: var(--src-fw-regular, 400);
29
+ border: 1px solid var(--srcSelectFieldBorderColor);
30
+ background-color: var(--srcSelectFieldBg);
31
+ background-image: url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.40573 4.3L0.805725 1.7C0.489058 1.38333 0.418392 1.021 0.593725 0.613C0.768392 0.204333 1.08073 0 1.53073 0H6.68072C7.13072 0 7.44306 0.204333 7.61772 0.613C7.79306 1.021 7.72239 1.38333 7.40573 1.7L4.80572 4.3C4.70572 4.4 4.59739 4.475 4.48073 4.525C4.36406 4.575 4.23906 4.6 4.10573 4.6C3.97239 4.6 3.84739 4.575 3.73073 4.525C3.61406 4.475 3.50573 4.4 3.40573 4.3Z' fill='%236B7280'/%3E%3C/svg%3E%0A");
32
+ background-repeat: no-repeat;
33
+ background-position: calc(100% - 12px) center;
34
+
35
+ box-shadow: var(--srcSelectBoxShadow);
36
+
37
+ &:focus {
38
+ outline: none;
39
+ box-shadow: var(--srcSelectFocusRing);
40
+ }
41
+
42
+ &[disabled],
43
+ &:disabled {
44
+ --srcSelectFieldBg: var(--src-color-bg-default-disabled);
45
+ --srcSelectFieldBorderColor: var(--src-color-border-strong-disabled);
46
+ --srcSelectBoxShadow: none;
47
+ color: var(--src-color-text-default-disabled);
48
+
49
+ pointer-events: none;
50
+ }
51
+ }
52
+
53
+ .src-select--compact {
54
+ --srcSelectHeight: 32px;
55
+ --srcSelectFontSize: var(--src-fs-small);
56
+ --srcSelectLineHeight: var(--src-lh-small);
57
+ }
58
+ /* Error State */
59
+ .src-select--has-error {
60
+ --srcSelectFieldBg: var(--src-color-bg-critical-subdued);
61
+ --srcSelectFieldBorderColor: var(--src-color-border-critical-strong);
62
+ }
63
+
64
+ /* Disabled State */
65
+ .src-select--disabled {
66
+ --srcSelectFieldBg: var(--src-color-bg-default-disabled);
67
+ --srcSelectFieldBorderColor: var(--src-color-border-strong-disabled);
68
+ --srcSelectBoxShadow: none;
69
+
70
+ pointer-events: none;
71
+ }
@@ -0,0 +1,4 @@
1
+ @use './src-list';
2
+ @use './src-button';
3
+ @use './src-input';
4
+ @use './src-select';
@@ -0,0 +1,18 @@
1
+ // SourceUI Global Styles: fonts.scss
2
+ :root {
3
+ --src-font-family-sans: 'Inter', sans-serif;
4
+ --src-font-family-mono: monospace;
5
+ }
6
+
7
+ /* Set up Inter as variable fonts */
8
+ @supports (font-variation-settings: normal) {
9
+ @font-face {
10
+ font-family: 'Inter';
11
+ src:
12
+ url('fonts/Inter-VariableFont_slnt,wght.woff2')
13
+ format('woff2 supports variations'),
14
+ url('fonts/Inter-VariableFont_slnt,wght.woff2') format('woff2-variations');
15
+ font-weight: 100 900;
16
+ font-stretch: 50% 100%;
17
+ }
18
+ }
@@ -0,0 +1,23 @@
1
+ // @use '@angular/material' as mat;
2
+ @use './fonts';
3
+ @use './variables/index';
4
+ @use './base';
5
+ @use './typography';
6
+ @use './utils';
7
+ // Elements: styles for blocks which aren't used as components: src-list/src-list__item
8
+ @use './elements/elements';
9
+
10
+ // TODO: remove ALL connections to Angular Material
11
+ // @include mat.elevation-classes();
12
+ // @include mat.app-background();
13
+ html,
14
+ body {
15
+ width: 100%;
16
+ height: 100%;
17
+ margin: 0;
18
+ padding: 0;
19
+ }
20
+
21
+ body {
22
+ min-height: 100%;
23
+ }
@@ -0,0 +1,90 @@
1
+ // SourceUI Global Styles: typography.scss
2
+ .section_3dsourcecom,
3
+ .cdk-overlay-container {
4
+ h1,
5
+ h2,
6
+ h3,
7
+ h4,
8
+ h5,
9
+ h6,
10
+ .src-heading-massive,
11
+ .src-heading-h1,
12
+ .src-heading-h2,
13
+ .src-heading-h3,
14
+ .src-heading-h4,
15
+ .src-heading-h5,
16
+ .src-heading-h6 {
17
+ margin: 0;
18
+ font-style: normal;
19
+ font-family: var(--src-font-family-sans);
20
+ font-weight: var(--src-fw-semibold, 600);
21
+ // Works only in Chrome and Edge - 11 Jul 2023 - Progressively Enhanced
22
+ text-wrap: balance;
23
+ }
24
+
25
+ .src-heading-massive {
26
+ font-size: var(--src-fs-massive);
27
+ line-height: var(--src-lh-massive);
28
+ letter-spacing: var(--src-ls-massive);
29
+ }
30
+
31
+ [class^='src-heading'] {
32
+ letter-spacing: 0;
33
+ }
34
+
35
+ h1,
36
+ .src-heading-h1 {
37
+ font-size: var(--src-fs-huge);
38
+ line-height: var(--src-lh-huge);
39
+ letter-spacing: var(--src-ls-large);
40
+ }
41
+
42
+ h2,
43
+ .src-heading-h2 {
44
+ font-size: var(--src-fs-3xlarge);
45
+ line-height: var(--src-lh-3xlarge);
46
+ letter-spacing: var(--src-ls-medium);
47
+ }
48
+
49
+ h3,
50
+ .src-heading-h3 {
51
+ font-size: var(--src-fs-2xlarge);
52
+ line-height: var(--src-lh-2xlarge);
53
+ letter-spacing: var(--src-ls-small);
54
+ }
55
+
56
+ h4,
57
+ .src-heading-h4 {
58
+ font-size: var(--src-fs-xlarge);
59
+ line-height: var(--src-lh-xlarge);
60
+ }
61
+
62
+ h5,
63
+ .src-heading-h5 {
64
+ font-size: var(--src-fs-large);
65
+ line-height: var(--src-lh-large);
66
+ }
67
+
68
+ h6,
69
+ .src-heading-h6 {
70
+ font-size: var(--src-fs-medium);
71
+ line-height: var(--src-lh-medium);
72
+ }
73
+
74
+ body {
75
+ font-size: var(--src-fs-base);
76
+ font-weight: var(--src-fw-regular, 400);
77
+ line-height: var(--src-lh-base);
78
+ }
79
+
80
+ body p {
81
+ color: var(--src-color-text-default);
82
+ font-size: var(--src-fs-base);
83
+ font-weight: var(--src-fw-regular, 400);
84
+ line-height: var(--src-lh-base);
85
+ }
86
+
87
+ strong {
88
+ font-weight: var(--src-fw-medium, 500);
89
+ }
90
+ }
@@ -0,0 +1,40 @@
1
+ // SourceUI Global Styles: utils.scss
2
+ // Use only prefixed classes
3
+ .section_3dsourcecom,
4
+ .cdk-overlay-container {
5
+ .visuallyhidden:not(:focus):not(:active),
6
+ .src-visuallyhidden:not(:focus):not(:active) {
7
+ position: absolute;
8
+ width: 1px;
9
+ height: 1px;
10
+ overflow: hidden;
11
+ white-space: nowrap;
12
+ clip-path: inset(50%);
13
+ }
14
+
15
+ .hidden,
16
+ .src-hidden {
17
+ display: none !important;
18
+ }
19
+
20
+ .disabled,
21
+ .src-disabled {
22
+ pointer-events: none;
23
+ }
24
+
25
+ .keyboard-key {
26
+ padding: 2px 5px;
27
+ display: flex;
28
+ align-items: center;
29
+ height: 20px;
30
+ border-radius: 3px;
31
+ background: rgba(255, 255, 255, 0.2);
32
+ color: var(--src-colors-gray-color-gray-0, #fff);
33
+ text-align: center;
34
+ font-family: var(--src-font-family-sans);
35
+ font-size: 12px;
36
+ font-style: normal;
37
+ font-weight: 500;
38
+ line-height: 16px;
39
+ }
40
+ }
@@ -0,0 +1,14 @@
1
+ // SourceUI Variables: Borders
2
+ :root {
3
+ --src-br-4: 4px;
4
+ --src-br-8: 8px;
5
+ --src-br-16: 16px;
6
+ --src-br-24: 24px;
7
+ --src-br-9999: 9999px;
8
+ // Aliases
9
+ --src-br-small: var(--src-br-4);
10
+ --src-br-medium: var(--src-br-8);
11
+ --src-br-large: var(--src-br-16);
12
+ --src-br-xlarge: var(--src-br-24);
13
+ --src-br-full: var(--src-br-9999);
14
+ }
@@ -0,0 +1,39 @@
1
+ // SourceUI Variables: Color Aliases
2
+ :root {
3
+ // Text Colors
4
+ --src-color-text-default: var(--src-color-gray-800);
5
+ --src-color-text-default-disabled: var(--src-color-gray-400);
6
+ --src-color-text-default-subdued: var(--src-color-gray-500);
7
+ --src-color-text-inverse: var(--src-color-gray-0);
8
+ --src-color-text-primary: var(--src-color-brand-500);
9
+ --src-color-text-critical: var(--src-color-red-700);
10
+ // Background Color Tokens
11
+ --src-color-bg-default: var(--src-color-gray-0);
12
+ --src-color-bg-default-subdued: var(--src-color-gray-50);
13
+ --src-color-bg-default-hover: var(--src-color-gray-100);
14
+ --src-color-bg-default-disabled: var(--src-color-gray-50);
15
+ --src-color-bg-default-active: var(--src-color-brand-50);
16
+ --src-color-bg-primary: var(--src-color-brand-500);
17
+ --src-color-bg-primary-hover: var(--src-color-brand-700);
18
+ --src-color-bg-primary-disabled: var(--src-color-gray-200);
19
+ --src-color-bg-strong-subdued: var(--src-color-gray-100);
20
+ --src-color-bg-strong-subdued-hover: var(--src-color-gray-200);
21
+ --src-color-bg-strong: var(--src-color-gray-200);
22
+ --src-color-bg-strong-disabled: var(--src-color-gray-100);
23
+ --src-color-bg-critical: var(--src-color-red-600);
24
+ --src-color-bg-critical-strong: var(--src-color-red-700);
25
+ --src-color-bg-critical-subdued: var(--src-color-red-50);
26
+ // Icon Color Tokens
27
+ --src-color-icon-default: var(--src-color-gray-500);
28
+ --src-color-icon-default-hover: var(--src-color-gray-600);
29
+ --src-color-icon-default-disabled: var(--src-color-gray-400);
30
+ --src-color-icon-primary: var(--src-color-brand-500);
31
+ --src-color-icon-critical: var(--src-color-red-700);
32
+ // Border Color Tokens
33
+ --src-color-border-default: var(--src-color-gray-200);
34
+ --src-color-border-strong: var(--src-color-gray-400);
35
+ --src-color-border-strong-hover: var(--src-color-gray-500);
36
+ --src-color-border-strong-disabled: var(--src-color-gray-300);
37
+ --src-color-border-primary: var(--src-color-brand-500);
38
+ --src-color-border-critical-strong: var(--src-color-red-700);
39
+ }
@@ -0,0 +1,64 @@
1
+ // SourceUI Variables: Color Primitives
2
+ :root {
3
+ // Brand Colors
4
+ --src-color-brand-700: #0162cc;
5
+ --src-color-brand-500: #017bff;
6
+ --src-color-brand-50: #f1f6ff;
7
+ // Gray Shades
8
+ --src-color-gray-900: #111827;
9
+ --src-color-gray-800: #1f2937;
10
+ --src-color-gray-700: #374151;
11
+ --src-color-gray-600: #4b5563;
12
+ --src-color-gray-500: #6b7280;
13
+ --src-color-gray-400: #abb2be;
14
+ --src-color-gray-300: #d1d5db;
15
+ --src-color-gray-200: #e5e7eb;
16
+ --src-color-gray-100: #f1f2f3;
17
+ --src-color-gray-100-trnsp: rgba(17, 24, 39, 0.06);
18
+ --src-color-gray-50: #f9fafb;
19
+ --src-color-gray-0: #ffffff;
20
+ // Blue Shades
21
+ --src-color-blue-900: #10294c;
22
+ --src-color-blue-800: #0e356c;
23
+ --src-color-blue-700: #144995;
24
+ --src-color-blue-600: #2463bc;
25
+ --src-color-blue-500: #3e7dd5;
26
+ --src-color-blue-400: #6699e1;
27
+ --src-color-blue-300: #93baf1;
28
+ --src-color-blue-200: #bbd4f7;
29
+ --src-color-blue-100: #e8f0fd;
30
+ --src-color-blue-50: #f0f5fd;
31
+ // Red Shades
32
+ --src-color-red-900: #430e04;
33
+ --src-color-red-800: #731807;
34
+ --src-color-red-700: #9f200a;
35
+ --src-color-red-600: #c5280c;
36
+ --src-color-red-500: #f24122;
37
+ --src-color-red-400: #f56b52;
38
+ --src-color-red-300: #f79482;
39
+ --src-color-red-200: #fbc5bc;
40
+ --src-color-red-100: #fde2dd;
41
+ --src-color-red-50: #fef3f1;
42
+ // Yellow Shades
43
+ --src-color-yellow-900: #4d2e05;
44
+ --src-color-yellow-800: #875c08;
45
+ --src-color-yellow-700: #b77e0b;
46
+ --src-color-yellow-600: #d89b0d;
47
+ --src-color-yellow-500: #f2b322;
48
+ --src-color-yellow-400: #f5c452;
49
+ --src-color-yellow-300: #f8d990;
50
+ --src-color-yellow-200: #fae5b2;
51
+ --src-color-yellow-100: #fcf0d4;
52
+ --src-color-yellow-50: #fef8ec;
53
+ // Green Shades
54
+ --src-color-green-900: #0c3b2f;
55
+ --src-color-green-800: #125443;
56
+ --src-color-green-700: #007a5c;
57
+ --src-color-green-600: #16a679;
58
+ --src-color-green-500: #23c48c;
59
+ --src-color-green-400: #50dca9;
60
+ --src-color-green-300: #a1edd0;
61
+ --src-color-green-200: #c0f2dd;
62
+ --src-color-green-100: #e0f8ee;
63
+ --src-color-green-50: #f0fdf8;
64
+ }
@@ -0,0 +1,9 @@
1
+ // SourceUI Variables: Shadows
2
+ :root {
3
+ --src-shadow-small: 0px 1px 2px rgba(0, 0, 0, 0.05);
4
+ --src-shadow-large:
5
+ 0px 3px 6px rgba(23, 24, 24, 0.08), 0px 8px 20px rgba(23, 24, 24, 0.12);
6
+ --src-shadow-large-top: 0px -4px 20px rgba(23, 24, 24, 0.12);
7
+ --src-shadow-xlarge:
8
+ 0px 0px 1px rgba(0, 0, 0, 0.2), 0px 26px 80px rgba(0, 0, 0, 0.2);
9
+ }
@@ -0,0 +1,32 @@
1
+ // SourceUI Variables: Typography
2
+ :root {
3
+ --src-fs-small: 12px;
4
+ --src-fs-base: 14px;
5
+ --src-fs-medium: 16px;
6
+ --src-fs-large: 18px;
7
+ --src-fs-xlarge: 20px;
8
+ --src-fs-2xlarge: 24px;
9
+ --src-fs-3xlarge: 28px;
10
+ --src-fs-huge: 32px;
11
+ --src-fs-massive: 40px;
12
+ // Line height
13
+ --src-lh-small: 16px;
14
+ --src-lh-base: 20px;
15
+ --src-lh-medium: 24px;
16
+ --src-lh-large: 26px;
17
+ --src-lh-xlarge: 28px;
18
+ --src-lh-2xlarge: 32px;
19
+ --src-lh-3xlarge: 36px;
20
+ --src-lh-huge: 40px;
21
+ --src-lh-massive: 48px;
22
+ // Font weight
23
+ --src-fw-regular: 400;
24
+ --src-fw-medium: 500;
25
+ --src-fw-semibold: 600;
26
+ --src-fw-bold: 700;
27
+ // Letter spacing
28
+ --src-ls-small: -0.2px;
29
+ --src-ls-medium: -0.3px;
30
+ --src-ls-large: -0.5px;
31
+ --src-ls-massive: -1px;
32
+ }
@@ -0,0 +1,5 @@
1
+ @use 'colors';
2
+ @use 'colors-aliases';
3
+ @use 'typography';
4
+ @use 'borders';
5
+ @use 'shadows';
@@ -0,0 +1,10 @@
1
+ export * from './lib/components/source-badge';
2
+ export * from './lib/components/source-banner';
3
+ export * from './lib/components/source-button';
4
+ export * from './lib/components/source-copyright';
5
+ export * from './lib/components/source-divider';
6
+ export * from './lib/components/source-hint';
7
+ export * from './lib/components/source-icon-button';
8
+ export * from './lib/components/source-loading';
9
+ export * from './lib/components/source-logo-loading';
10
+ export * from './lib/components/source-slider';
@@ -0,0 +1,13 @@
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": ["**/*.spec.ts"]
13
+ }
@@ -0,0 +1,11 @@
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
+ }