@tekus/design-system 4.0.2 → 5.0.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.
- package/assets/img/avatar.png +0 -0
- package/assets/img/pexels-jodaarba-4250980.jpg +0 -0
- package/assets/img/shadown.png +0 -0
- package/assets/img/tk-logo-compound-dark.svg +9 -0
- package/assets/img/tk-logo-minimal-dark.svg +16 -0
- package/assets/img/tk-logo-minimal-light.svg +16 -0
- package/assets/img/tk-logo-normal-dark.svg +12 -0
- package/assets/img/tk-logo-normal-light.svg +12 -0
- package/assets/styles/_index.scss +10 -0
- package/assets/styles/docs/_branding.doc.scss +69 -0
- package/assets/styles/docs/_grids.doc.scss +13 -0
- package/assets/styles/docs/_icons.doc.scss +102 -0
- package/assets/styles/docs/_illustrations.doc.scss +86 -0
- package/assets/styles/docs/_paginador.doc.scss +16 -0
- package/assets/styles/docs/_table-of-content.scss +22 -0
- package/components/{tk-typography → branding}/index.d.ts +1 -1
- package/components/branding/public-api.d.ts +1 -0
- package/components/branding/src/branding-register-logo.d.ts +22 -0
- package/components/branding/src/branding.component.d.ts +54 -0
- package/components/{tk-search-bar → button}/index.d.ts +1 -1
- package/components/button/public-api.d.ts +1 -0
- package/components/button/src/button.component.d.ts +99 -0
- package/components/{tk-dropdown-list → dropdown-list}/index.d.ts +1 -1
- package/components/dropdown-list/public-api.d.ts +1 -0
- package/components/{tk-dropdown-list/tk-dropdown-list.component.d.ts → dropdown-list/src/dropdown-list.component.d.ts} +7 -7
- package/components/fallback-view/index.d.ts +5 -0
- package/components/fallback-view/public-api.d.ts +1 -0
- package/components/fallback-view/src/fallback-view.component.d.ts +149 -0
- package/components/forms/form-autocomplete-field/index.d.ts +5 -0
- package/components/forms/form-autocomplete-field/public-api.d.ts +1 -0
- package/components/forms/{tk-form-autocomplete-field/tk-form-autocomplete-field.component.d.ts → form-autocomplete-field/src/form-autocomplete-field.component.d.ts} +16 -6
- package/components/forms/form-chips-autocomplete-field/index.d.ts +5 -0
- package/components/forms/form-chips-autocomplete-field/public-api.d.ts +1 -0
- package/components/forms/{tk-form-chips-autocomplete-field/tk-form-chips-autocomplete-field.component.d.ts → form-chips-autocomplete-field/src/form-chips-autocomplete-field.component.d.ts} +18 -8
- package/components/forms/form-input-field/index.d.ts +5 -0
- package/components/forms/form-input-field/public-api.d.ts +1 -0
- package/components/forms/{tk-form-input-field/tk-form-input-field.component.d.ts → form-input-field/src/form-input-field.component.d.ts} +4 -4
- package/components/forms/public-api.d.ts +3 -3
- package/components/grid-container/index.d.ts +5 -0
- package/components/grid-container/public-api.d.ts +1 -0
- package/components/grid-container/src/grid-container.component.d.ts +121 -0
- package/components/icon/core/icon-catalog.d.ts +76 -0
- package/components/icon/core/icons/ads.icons.d.ts +2 -0
- package/components/icon/core/icons/angle.icons.d.ts +2 -0
- package/components/icon/core/icons/arrow.icons.d.ts +2 -0
- package/components/icon/core/icons/bars.icons.d.ts +2 -0
- package/components/icon/core/icons/bolt.icons.d.ts +2 -0
- package/components/icon/core/icons/book.icons.d.ts +2 -0
- package/components/icon/core/icons/calendar.icons.d.ts +2 -0
- package/components/icon/core/icons/camera.icons.d.ts +2 -0
- package/components/icon/core/icons/chart.icons.d.ts +2 -0
- package/components/icon/core/icons/check.icons.d.ts +2 -0
- package/components/icon/core/icons/chevron.icons.d.ts +2 -0
- package/components/icon/core/icons/circle.icons.d.ts +2 -0
- package/components/icon/core/icons/clock.icons.d.ts +2 -0
- package/components/icon/core/icons/clone.icons.d.ts +2 -0
- package/components/icon/core/icons/download.icons.d.ts +2 -0
- package/components/icon/core/icons/ellipsis.icons.d.ts +2 -0
- package/components/icon/core/icons/eye.icons.d.ts +2 -0
- package/components/icon/core/icons/filter.icons.d.ts +2 -0
- package/components/icon/core/icons/folders.icons.d.ts +2 -0
- package/components/icon/core/icons/gears.icons.d.ts +2 -0
- package/components/icon/core/icons/hand.icons.d.ts +2 -0
- package/components/icon/core/icons/language.icons.d.ts +2 -0
- package/components/icon/core/icons/layer.icons.d.ts +2 -0
- package/components/icon/core/icons/link.icons.d.ts +2 -0
- package/components/icon/core/icons/list.icons.d.ts +2 -0
- package/components/icon/core/icons/location.icons.d.ts +2 -0
- package/components/icon/core/icons/lock.icons.d.ts +2 -0
- package/components/icon/core/icons/magnifying-glass.icons.d.ts +2 -0
- package/components/icon/core/icons/media.icons.d.ts +2 -0
- package/components/icon/core/icons/megaphone.icons.d.ts +2 -0
- package/components/icon/core/icons/money.icons.d.ts +2 -0
- package/components/icon/core/icons/pen.icons.d.ts +2 -0
- package/components/icon/core/icons/pencil.icons.d.ts +2 -0
- package/components/icon/core/icons/plug.icons.d.ts +2 -0
- package/components/icon/core/icons/plus.icons.d.ts +2 -0
- package/components/icon/core/icons/qr-code.icons.d.ts +2 -0
- package/components/icon/core/icons/screwdriver-wrench.icons.d.ts +2 -0
- package/components/icon/core/icons/shuffle.icons.d.ts +2 -0
- package/components/icon/core/icons/square.icons.d.ts +2 -0
- package/components/icon/core/icons/tag.icons.d.ts +2 -0
- package/components/icon/core/icons/thumbs.icons.d.ts +2 -0
- package/components/icon/core/icons/trash.icons.d.ts +2 -0
- package/components/icon/core/icons/triangle.icons.d.ts +2 -0
- package/components/icon/core/icons/user.icons.d.ts +2 -0
- package/components/icon/core/icons/xmark.icons.d.ts +2 -0
- package/components/icon/core/svg-icons/ads-icon.svg.d.ts +2 -0
- package/components/icon/core/svg-icons/index.d.ts +1 -0
- package/components/icon/index.d.ts +5 -0
- package/components/icon/public-api.d.ts +2 -0
- package/components/icon/src/icon.component.d.ts +79 -0
- package/components/illustration/assets/illustrations/tk-catalogs.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-categories.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-confirmation-action.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-create-an-account.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-custom-design.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-delete.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-download-AKF.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-error.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-graphics.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-items.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-kiosk.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-list.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-locations.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-login.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-multimedia.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-no-connection.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-no-found.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-order.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-playlist.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-screens.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-success.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-support.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-technical-failure.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-tip.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-upload.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-void.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-warning.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-welcome.svg.d.ts +2 -0
- package/components/illustration/assets/illustrations/tk-without-catalogs.svg.d.ts +2 -0
- package/components/illustration/illustrations.registry.d.ts +5 -0
- package/components/illustration/index.d.ts +5 -0
- package/components/illustration/public-api.d.ts +1 -0
- package/components/illustration/src/illustration.component.d.ts +117 -0
- package/components/search-bar/index.d.ts +5 -0
- package/components/search-bar/public-api.d.ts +1 -0
- package/components/{tk-search-bar/tk-search-bar.component.d.ts → search-bar/src/search-bar.component.d.ts} +3 -3
- package/components/typography/index.d.ts +5 -0
- package/components/typography/public-api.d.ts +1 -0
- package/components/typography/src/typography.component.d.ts +10 -0
- package/core/index.d.ts +5 -0
- package/core/public-api.d.ts +1 -0
- package/core/types/index.d.ts +5 -0
- package/core/types/public-api.d.ts +9 -0
- package/core/types/src/branding/branding.types.d.ts +15 -0
- package/core/types/src/branding/index.d.ts +1 -0
- package/core/types/src/breakpoints/breakpoints.d.ts +10 -0
- package/core/types/src/breakpoints/index.d.ts +1 -0
- package/core/types/src/grids/grid.enum.d.ts +18 -0
- package/core/types/src/grids/grid.model.d.ts +10 -0
- package/core/types/src/grids/grid.type.d.ts +40 -0
- package/core/types/src/grids/index.d.ts +3 -0
- package/core/types/src/illustration-config/illustration-config.model.d.ts +4 -0
- package/core/types/src/illustration-config/index.d.ts +1 -0
- package/core/types/src/option/index.d.ts +1 -0
- package/core/types/src/option/option.model.d.ts +8 -0
- package/core/types/src/theme/theme.provider.d.ts +1 -0
- package/core/types/src/theme/tk-preset.d.ts +1 -0
- package/core/types/src/typography-styles/index.d.ts +1 -0
- package/core/types/src/validator-with-message/index.d.ts +1 -0
- package/directives/gird-item/index.d.ts +5 -0
- package/directives/gird-item/public-api.d.ts +1 -0
- package/directives/gird-item/src/grid-item.directive.d.ts +42 -0
- package/fesm2022/tekus-design-system-components-branding.mjs +93 -0
- package/fesm2022/tekus-design-system-components-branding.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-button.mjs +129 -0
- package/fesm2022/tekus-design-system-components-button.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-dropdown-list.mjs +147 -0
- package/fesm2022/tekus-design-system-components-dropdown-list.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-fallback-view.mjs +187 -0
- package/fesm2022/tekus-design-system-components-fallback-view.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-forms-form-autocomplete-field.mjs +268 -0
- package/fesm2022/tekus-design-system-components-forms-form-autocomplete-field.mjs.map +1 -0
- package/fesm2022/{tekus-design-system-components-forms-tk-form-chips-autocomplete-field.mjs → tekus-design-system-components-forms-form-chips-autocomplete-field.mjs} +34 -15
- package/fesm2022/tekus-design-system-components-forms-form-chips-autocomplete-field.mjs.map +1 -0
- package/fesm2022/{tekus-design-system-components-forms-tk-form-input-field.mjs → tekus-design-system-components-forms-form-input-field.mjs} +8 -9
- package/fesm2022/tekus-design-system-components-forms-form-input-field.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-forms.mjs +257 -221
- package/fesm2022/tekus-design-system-components-forms.mjs.map +1 -1
- package/fesm2022/tekus-design-system-components-grid-container.mjs +193 -0
- package/fesm2022/tekus-design-system-components-grid-container.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-icon.mjs +1206 -0
- package/fesm2022/tekus-design-system-components-icon.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-illustration.mjs +3893 -0
- package/fesm2022/tekus-design-system-components-illustration.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-search-bar.mjs +56 -0
- package/fesm2022/tekus-design-system-components-search-bar.mjs.map +1 -0
- package/fesm2022/tekus-design-system-components-typography.mjs +36 -0
- package/fesm2022/tekus-design-system-components-typography.mjs.map +1 -0
- package/fesm2022/tekus-design-system-core-types.mjs +307 -0
- package/fesm2022/tekus-design-system-core-types.mjs.map +1 -0
- package/fesm2022/tekus-design-system-core.mjs +307 -0
- package/fesm2022/tekus-design-system-core.mjs.map +1 -0
- package/fesm2022/tekus-design-system-directives-gird-item.mjs +95 -0
- package/fesm2022/tekus-design-system-directives-gird-item.mjs.map +1 -0
- package/fesm2022/tekus-design-system-services-design-tokens.mjs +47 -0
- package/fesm2022/tekus-design-system-services-design-tokens.mjs.map +1 -0
- package/fesm2022/tekus-design-system-services-typography.mjs +3 -3
- package/fesm2022/tekus-design-system-services-typography.mjs.map +1 -1
- package/fesm2022/tekus-design-system-utils-sanitizer-utils.mjs +53 -0
- package/fesm2022/tekus-design-system-utils-sanitizer-utils.mjs.map +1 -0
- package/package.json +65 -39
- package/services/design-tokens/index.d.ts +5 -0
- package/services/design-tokens/public-api.d.ts +1 -0
- package/services/design-tokens/src/design-tokens.service.d.ts +10 -0
- package/services/typography/public-api.d.ts +1 -1
- package/services/typography/{typography.service.d.ts → src/typography.service.d.ts} +1 -1
- package/tokens/blur/_blur.scss +11 -0
- package/tokens/colors/_colors.scss +97 -0
- package/tokens/index.scss +6 -0
- package/tokens/shadow/_shadow.scss +10 -0
- package/tokens/shapes/_shapes.scss +9 -0
- package/tokens/spacing/_spacing.scss +25 -0
- package/tokens/typography/_typography.scss +6 -0
- package/tokens/typography/font-size/_font-size.scss +16 -0
- package/tokens/typography/font-weight/_font-weight.scss +14 -0
- package/tokens/typography/letter-spacing/_letter-spacing.scss +12 -0
- package/tokens/typography/line-height/_line-height.scss +16 -0
- package/tokens/typography/variants/_variants.scss +211 -0
- package/utils/sanitizer-utils/index.d.ts +5 -0
- package/utils/sanitizer-utils/public-api.d.ts +1 -0
- package/utils/sanitizer-utils/src/sanitizer-utils.d.ts +20 -0
- package/components/forms/tk-form-autocomplete-field/index.d.ts +0 -5
- package/components/forms/tk-form-autocomplete-field/models/option.model.d.ts +0 -4
- package/components/forms/tk-form-autocomplete-field/public-api.d.ts +0 -1
- package/components/forms/tk-form-chips-autocomplete-field/index.d.ts +0 -5
- package/components/forms/tk-form-chips-autocomplete-field/models/option.model.d.ts +0 -4
- package/components/forms/tk-form-chips-autocomplete-field/public-api.d.ts +0 -1
- package/components/forms/tk-form-input-field/index.d.ts +0 -5
- package/components/forms/tk-form-input-field/public-api.d.ts +0 -1
- package/components/tk-dropdown-list/models/dropdown-list-item.model.d.ts +0 -4
- package/components/tk-dropdown-list/public-api.d.ts +0 -1
- package/components/tk-search-bar/public-api.d.ts +0 -1
- package/components/tk-typography/public-api.d.ts +0 -1
- package/components/tk-typography/tk-typography.component.d.ts +0 -10
- package/esm2022/components/forms/public-api.mjs +0 -4
- package/esm2022/components/forms/tekus-design-system-components-forms.mjs +0 -5
- package/esm2022/components/forms/tk-form-autocomplete-field/models/option.model.mjs +0 -2
- package/esm2022/components/forms/tk-form-autocomplete-field/public-api.mjs +0 -2
- package/esm2022/components/forms/tk-form-autocomplete-field/tekus-design-system-components-forms-tk-form-autocomplete-field.mjs +0 -5
- package/esm2022/components/forms/tk-form-autocomplete-field/tk-form-autocomplete-field.component.mjs +0 -245
- package/esm2022/components/forms/tk-form-chips-autocomplete-field/models/option.model.mjs +0 -2
- package/esm2022/components/forms/tk-form-chips-autocomplete-field/public-api.mjs +0 -2
- package/esm2022/components/forms/tk-form-chips-autocomplete-field/tekus-design-system-components-forms-tk-form-chips-autocomplete-field.mjs +0 -5
- package/esm2022/components/forms/tk-form-chips-autocomplete-field/tk-form-chips-autocomplete-field.component.mjs +0 -167
- package/esm2022/components/forms/tk-form-input-field/models/validator-with-message.model.mjs +0 -2
- package/esm2022/components/forms/tk-form-input-field/public-api.mjs +0 -2
- package/esm2022/components/forms/tk-form-input-field/tekus-design-system-components-forms-tk-form-input-field.mjs +0 -5
- package/esm2022/components/forms/tk-form-input-field/tk-form-input-field.component.mjs +0 -206
- package/esm2022/components/tk-dropdown-list/models/dropdown-list-item.model.mjs +0 -2
- package/esm2022/components/tk-dropdown-list/public-api.mjs +0 -2
- package/esm2022/components/tk-dropdown-list/tekus-design-system-components-tk-dropdown-list.mjs +0 -5
- package/esm2022/components/tk-dropdown-list/tk-dropdown-list.component.mjs +0 -137
- package/esm2022/components/tk-search-bar/public-api.mjs +0 -2
- package/esm2022/components/tk-search-bar/tekus-design-system-components-tk-search-bar.mjs +0 -5
- package/esm2022/components/tk-search-bar/tk-search-bar.component.mjs +0 -49
- package/esm2022/components/tk-typography/public-api.mjs +0 -2
- package/esm2022/components/tk-typography/tekus-design-system-components-tk-typography.mjs +0 -5
- package/esm2022/components/tk-typography/tk-typography.component.mjs +0 -29
- package/esm2022/index.mjs +0 -2
- package/esm2022/services/typography/models/typographyStyles.model.mjs +0 -2
- package/esm2022/services/typography/public-api.mjs +0 -2
- package/esm2022/services/typography/tekus-design-system-services-typography.mjs +0 -5
- package/esm2022/services/typography/typography.service.mjs +0 -84
- package/esm2022/tekus-design-system.mjs +0 -5
- package/fesm2022/tekus-design-system-components-forms-tk-form-autocomplete-field.mjs +0 -252
- package/fesm2022/tekus-design-system-components-forms-tk-form-autocomplete-field.mjs.map +0 -1
- package/fesm2022/tekus-design-system-components-forms-tk-form-chips-autocomplete-field.mjs.map +0 -1
- package/fesm2022/tekus-design-system-components-forms-tk-form-input-field.mjs.map +0 -1
- package/fesm2022/tekus-design-system-components-tk-dropdown-list.mjs +0 -144
- package/fesm2022/tekus-design-system-components-tk-dropdown-list.mjs.map +0 -1
- package/fesm2022/tekus-design-system-components-tk-search-bar.mjs +0 -56
- package/fesm2022/tekus-design-system-components-tk-search-bar.mjs.map +0 -1
- package/fesm2022/tekus-design-system-components-tk-typography.mjs +0 -36
- package/fesm2022/tekus-design-system-components-tk-typography.mjs.map +0 -1
- /package/{services/typography/models → core/types/src/typography-styles}/typographyStyles.model.d.ts +0 -0
- /package/{components/forms/tk-form-input-field/models → core/types/src/validator-with-message}/validator-with-message.model.d.ts +0 -0
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import { provideAppInitializer, inject } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { PrimeNG } from 'primeng/config';
|
|
4
|
+
import { definePreset } from '@primeng/themes';
|
|
5
|
+
import Aura from '@primeng/themes/aura';
|
|
6
|
+
|
|
7
|
+
var GapGutter;
|
|
8
|
+
(function (GapGutter) {
|
|
9
|
+
GapGutter["normal"] = "24px";
|
|
10
|
+
GapGutter["small"] = "16px";
|
|
11
|
+
GapGutter["large"] = "32px";
|
|
12
|
+
GapGutter["extraLarge"] = "40px";
|
|
13
|
+
})(GapGutter || (GapGutter = {}));
|
|
14
|
+
var PaddingGridContainer;
|
|
15
|
+
(function (PaddingGridContainer) {
|
|
16
|
+
PaddingGridContainer["large"] = "32px";
|
|
17
|
+
PaddingGridContainer["medium"] = "24px";
|
|
18
|
+
PaddingGridContainer["small"] = "16px";
|
|
19
|
+
})(PaddingGridContainer || (PaddingGridContainer = {}));
|
|
20
|
+
var Gutter;
|
|
21
|
+
(function (Gutter) {
|
|
22
|
+
Gutter["normal"] = "normal";
|
|
23
|
+
Gutter["small"] = "small";
|
|
24
|
+
Gutter["large"] = "large";
|
|
25
|
+
Gutter["extraLarge"] = "extraLarge";
|
|
26
|
+
})(Gutter || (Gutter = {}));
|
|
27
|
+
|
|
28
|
+
const Breakpoints = {
|
|
29
|
+
// Covers all devices with a width less than or equal to 360px.
|
|
30
|
+
mobileSmall: '(max-width: 360px)',
|
|
31
|
+
// For small phones (e.g., most modern cell phones)
|
|
32
|
+
mobile: '(min-width: 361px) and (max-width: 424px)',
|
|
33
|
+
// For large phones (e.g., Google Pixel, iPhone Plus/Max)
|
|
34
|
+
mobileLarge: '(min-width: 425px) and (max-width: 575px)',
|
|
35
|
+
// Vertical tablets and medium-sized devices
|
|
36
|
+
tabletVertical: '(min-width: 576px) and (max-width: 767px)',
|
|
37
|
+
// Tablets in landscape mode
|
|
38
|
+
tabletHorizontal: '(min-width: 768px) and (max-width: 991px)',
|
|
39
|
+
// Laptops and small desktops
|
|
40
|
+
desktopSmall: '(min-width: 992px) and (max-width: 1199px)',
|
|
41
|
+
// Large desks
|
|
42
|
+
desktop: '(min-width: 1200px) and (max-width: 1399px)',
|
|
43
|
+
// Ultra-wide screens
|
|
44
|
+
desktopLarge: '(min-width: 1400px)',
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const TkPreset = definePreset(Aura, {
|
|
48
|
+
semantic: {
|
|
49
|
+
primary: {
|
|
50
|
+
900: '#16006f',
|
|
51
|
+
800: '#2b177b',
|
|
52
|
+
700: '#44338b',
|
|
53
|
+
600: '#54429d',
|
|
54
|
+
500: '#7366a8',
|
|
55
|
+
400: '#8275bb',
|
|
56
|
+
300: '#a29ac5',
|
|
57
|
+
200: '#d1cde2',
|
|
58
|
+
100: '#efeef5',
|
|
59
|
+
},
|
|
60
|
+
secondary: {
|
|
61
|
+
900: '#375f57',
|
|
62
|
+
800: '#467c71',
|
|
63
|
+
700: '#4f9385',
|
|
64
|
+
600: '#5bb09f',
|
|
65
|
+
500: '#6ad0bc',
|
|
66
|
+
400: '#87d9c9',
|
|
67
|
+
300: '#a5e2d6',
|
|
68
|
+
200: '#c3ece4',
|
|
69
|
+
100: '#e1f5f1',
|
|
70
|
+
},
|
|
71
|
+
accent: {
|
|
72
|
+
900: '#ffc55d',
|
|
73
|
+
800: '#ffca6b',
|
|
74
|
+
700: '#ffd07d',
|
|
75
|
+
600: '#ffd68f',
|
|
76
|
+
500: '#ffdc9d',
|
|
77
|
+
400: '#f5dbac',
|
|
78
|
+
300: '#ffe8be',
|
|
79
|
+
200: '#fff3df',
|
|
80
|
+
100: '#fffaf2',
|
|
81
|
+
},
|
|
82
|
+
neutral: {
|
|
83
|
+
900: '#040303',
|
|
84
|
+
800: '#333333',
|
|
85
|
+
700: '#444444',
|
|
86
|
+
600: '#5b5b5b',
|
|
87
|
+
500: '#6b6b6b',
|
|
88
|
+
400: '#9b9b9b',
|
|
89
|
+
300: '#b3b3b3',
|
|
90
|
+
200: '#cdcdcd',
|
|
91
|
+
100: '#f2f2f2',
|
|
92
|
+
},
|
|
93
|
+
success: {
|
|
94
|
+
900: '#004d34',
|
|
95
|
+
800: '#0c623e',
|
|
96
|
+
700: '#00875b',
|
|
97
|
+
600: '#18ae7d',
|
|
98
|
+
500: '#36b37e',
|
|
99
|
+
400: '#57d9a3',
|
|
100
|
+
300: '#79f2c0',
|
|
101
|
+
200: '#abf5d1',
|
|
102
|
+
100: '#e3fcef',
|
|
103
|
+
},
|
|
104
|
+
danger: {
|
|
105
|
+
900: '#950700',
|
|
106
|
+
800: '#af0c1d',
|
|
107
|
+
700: '#cf2604',
|
|
108
|
+
600: '#f43e11',
|
|
109
|
+
500: '#ff6640',
|
|
110
|
+
400: '#ff7f63',
|
|
111
|
+
300: '#ffa28b',
|
|
112
|
+
200: '#fbc2b4',
|
|
113
|
+
100: '#ffddd4',
|
|
114
|
+
},
|
|
115
|
+
info: {
|
|
116
|
+
900: '#01367b',
|
|
117
|
+
800: '#01469e',
|
|
118
|
+
700: '#0a68e0',
|
|
119
|
+
600: '#1c89ff',
|
|
120
|
+
500: '#3998ff',
|
|
121
|
+
400: '#509dff',
|
|
122
|
+
300: '#7bb4fe',
|
|
123
|
+
200: '#b3d4ff',
|
|
124
|
+
100: '#deebff',
|
|
125
|
+
},
|
|
126
|
+
warning: {
|
|
127
|
+
900: '#eca501',
|
|
128
|
+
800: '#ffb200',
|
|
129
|
+
700: '#ffbf2b',
|
|
130
|
+
600: '#ffc744',
|
|
131
|
+
500: '#ffd21b',
|
|
132
|
+
400: '#ffdc50',
|
|
133
|
+
300: '#fee26f',
|
|
134
|
+
200: '#ffeea9',
|
|
135
|
+
100: '#fff5cd',
|
|
136
|
+
},
|
|
137
|
+
surface: {
|
|
138
|
+
0: '#ffffff',
|
|
139
|
+
100: '#f2f2f2',
|
|
140
|
+
},
|
|
141
|
+
text: {
|
|
142
|
+
900: '#101820',
|
|
143
|
+
800: '#6c6c6c',
|
|
144
|
+
700: '#656d76',
|
|
145
|
+
600: '#a0a9b4',
|
|
146
|
+
500: '#d0d5dd',
|
|
147
|
+
},
|
|
148
|
+
border: {
|
|
149
|
+
soft: '#eaecf0',
|
|
150
|
+
error: '#de350b',
|
|
151
|
+
hover: '#667085',
|
|
152
|
+
focused: '#6ad0bc',
|
|
153
|
+
disabled: '#d0d5dd',
|
|
154
|
+
},
|
|
155
|
+
fullBlack: '#101820',
|
|
156
|
+
fullWhite: '#ffffff',
|
|
157
|
+
},
|
|
158
|
+
font: {
|
|
159
|
+
family: 'poppins, sans-serif',
|
|
160
|
+
size: {
|
|
161
|
+
xl: '2rem', // 32px
|
|
162
|
+
lg: '1.75rem', // 28px
|
|
163
|
+
md: '1.5rem', // 24px
|
|
164
|
+
sm: '1.25rem', // 20px
|
|
165
|
+
xs: '1.125rem', // 18px
|
|
166
|
+
'2xs': '1rem', // 16px
|
|
167
|
+
'3xs': '0.875rem', // 14px
|
|
168
|
+
'4xs': '0.75rem', // 12px
|
|
169
|
+
'5xs': '0.625rem', // 10px
|
|
170
|
+
},
|
|
171
|
+
weight: {
|
|
172
|
+
light: '200',
|
|
173
|
+
book: '300',
|
|
174
|
+
regular: '400',
|
|
175
|
+
medium: '500',
|
|
176
|
+
'semi-bold': '600',
|
|
177
|
+
bold: '700',
|
|
178
|
+
'extra-bold': '800',
|
|
179
|
+
},
|
|
180
|
+
lineHeight: {
|
|
181
|
+
xl: '1.5', // 48px / 32px
|
|
182
|
+
lg: '1.5', // 42px / 28px
|
|
183
|
+
md: '1.5', // 36px / 24px
|
|
184
|
+
sm: '1.5', // 30px / 20px
|
|
185
|
+
xs: '1.5', // 27px / 18px
|
|
186
|
+
'2xs': '1.5', // 24px / 16px
|
|
187
|
+
'3xs': '1.5', // 21px / 14px
|
|
188
|
+
'4xs': '1.5', // 18px / 12px
|
|
189
|
+
'5xs': '1.5', // 15px / 10px
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
spacing: {
|
|
193
|
+
1: '0.25rem', // 4px
|
|
194
|
+
2: '0.5rem', // 8px
|
|
195
|
+
3: '0.75rem', // 12px
|
|
196
|
+
4: '1rem', // 16px
|
|
197
|
+
5: '1.25rem', // 20px
|
|
198
|
+
6: '1.5rem', // 24px
|
|
199
|
+
8: '2rem', // 32px
|
|
200
|
+
10: '2.5rem', // 40px
|
|
201
|
+
12: '3rem', // 48px
|
|
202
|
+
16: '4rem', // 64px
|
|
203
|
+
20: '5rem', // 80px
|
|
204
|
+
24: '6rem', // 96px
|
|
205
|
+
32: '8rem', // 128px
|
|
206
|
+
40: '10rem', // 160px
|
|
207
|
+
48: '12rem', // 192px
|
|
208
|
+
56: '14rem', // 224px
|
|
209
|
+
64: '16rem', // 256px
|
|
210
|
+
},
|
|
211
|
+
components: {
|
|
212
|
+
button: {
|
|
213
|
+
root: {
|
|
214
|
+
outline: 'none',
|
|
215
|
+
boxShadow: 'none',
|
|
216
|
+
border: 'none',
|
|
217
|
+
focusBoxShadow: 'none',
|
|
218
|
+
},
|
|
219
|
+
colorScheme: {
|
|
220
|
+
light: {
|
|
221
|
+
primary: {
|
|
222
|
+
background: '{primary.900}',
|
|
223
|
+
color: '{surface.0}',
|
|
224
|
+
hoverBackground: '{primary.800}',
|
|
225
|
+
hoverColor: '{surface.0}',
|
|
226
|
+
activeBackground: '{primary.700}',
|
|
227
|
+
activeColor: '{surface.0}',
|
|
228
|
+
borderColor: 'transparent',
|
|
229
|
+
hoverBorderColor: 'transparent',
|
|
230
|
+
activeBorderColor: 'transparent',
|
|
231
|
+
},
|
|
232
|
+
secondary: {
|
|
233
|
+
background: '{secondary.900}',
|
|
234
|
+
color: '{surface.0}',
|
|
235
|
+
hoverBackground: '{secondary.800}',
|
|
236
|
+
hoverColor: '{surface.0}',
|
|
237
|
+
activeBackground: '{secondary.700}',
|
|
238
|
+
activeColor: '{surface.0}',
|
|
239
|
+
borderColor: 'transparent',
|
|
240
|
+
hoverBorderColor: 'transparent',
|
|
241
|
+
activeBorderColor: 'transparent',
|
|
242
|
+
},
|
|
243
|
+
danger: {
|
|
244
|
+
background: '{danger.900}',
|
|
245
|
+
color: '{surface.0}',
|
|
246
|
+
hoverBackground: '{danger.800}',
|
|
247
|
+
hoverColor: '{surface.0}',
|
|
248
|
+
activeBackground: '{danger.700}',
|
|
249
|
+
activeColor: '{surface.0}',
|
|
250
|
+
borderColor: 'transparent',
|
|
251
|
+
hoverBorderColor: 'transparent',
|
|
252
|
+
activeBorderColor: 'transparent',
|
|
253
|
+
},
|
|
254
|
+
link: {
|
|
255
|
+
textDecoration: 'underline',
|
|
256
|
+
background: 'none',
|
|
257
|
+
boxShadow: 'none',
|
|
258
|
+
color: '{primary.900}',
|
|
259
|
+
fontSize: '{font.size.2xs}',
|
|
260
|
+
fontWeight: '{font.weight.medium}',
|
|
261
|
+
hoverColor: '{primary.700}',
|
|
262
|
+
hoverBackground: 'none',
|
|
263
|
+
activeColor: '{primary.600}',
|
|
264
|
+
activeBackground: 'none',
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
},
|
|
268
|
+
},
|
|
269
|
+
},
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
function themeFactory(config, document) {
|
|
273
|
+
return () => {
|
|
274
|
+
const fontLink = document.createElement('link');
|
|
275
|
+
fontLink.rel = 'stylesheet';
|
|
276
|
+
fontLink.href =
|
|
277
|
+
'https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap';
|
|
278
|
+
document.head.appendChild(fontLink);
|
|
279
|
+
const style = document.createElement('style');
|
|
280
|
+
style.innerHTML = `
|
|
281
|
+
body {
|
|
282
|
+
font-family: 'Poppins', sans-serif;
|
|
283
|
+
}
|
|
284
|
+
`;
|
|
285
|
+
document.head.appendChild(style);
|
|
286
|
+
config.theme.set({
|
|
287
|
+
preset: TkPreset,
|
|
288
|
+
options: {
|
|
289
|
+
darkModeSelector: undefined,
|
|
290
|
+
},
|
|
291
|
+
});
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
function provideTkTheme() {
|
|
295
|
+
return provideAppInitializer(() => {
|
|
296
|
+
const config = inject(PrimeNG);
|
|
297
|
+
const document = inject(DOCUMENT);
|
|
298
|
+
return themeFactory(config, document)();
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Generated bundle index. Do not edit.
|
|
304
|
+
*/
|
|
305
|
+
|
|
306
|
+
export { Breakpoints, GapGutter, Gutter, PaddingGridContainer, TkPreset, provideTkTheme };
|
|
307
|
+
//# sourceMappingURL=tekus-design-system-core.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tekus-design-system-core.mjs","sources":["../../../projects/design-system/core/types/src/grids/grid.enum.ts","../../../projects/design-system/core/types/src/breakpoints/breakpoints.ts","../../../projects/design-system/core/types/src/theme/tk-preset.ts","../../../projects/design-system/core/types/src/theme/theme.provider.ts","../../../projects/design-system/core/tekus-design-system-core.ts"],"sourcesContent":["enum GapGutter {\n normal = '24px',\n small = '16px',\n large = '32px',\n extraLarge = '40px',\n}\n\nenum PaddingGridContainer {\n large = '32px',\n medium = '24px',\n small = '16px'\n}\n\nenum Gutter {\n normal = 'normal',\n small = 'small',\n large = 'large',\n extraLarge = 'extraLarge',\n\n}\n\nexport {\n Gutter,\n GapGutter,\n PaddingGridContainer\n}","export const Breakpoints = {\n // Covers all devices with a width less than or equal to 360px.\n mobileSmall: '(max-width: 360px)',\n\n // For small phones (e.g., most modern cell phones)\n mobile: '(min-width: 361px) and (max-width: 424px)',\n\n // For large phones (e.g., Google Pixel, iPhone Plus/Max)\n mobileLarge: '(min-width: 425px) and (max-width: 575px)',\n\n // Vertical tablets and medium-sized devices\n tabletVertical: '(min-width: 576px) and (max-width: 767px)',\n\n // Tablets in landscape mode\n tabletHorizontal: '(min-width: 768px) and (max-width: 991px)',\n\n // Laptops and small desktops\n desktopSmall: '(min-width: 992px) and (max-width: 1199px)',\n\n // Large desks\n desktop: '(min-width: 1200px) and (max-width: 1399px)',\n\n // Ultra-wide screens\n desktopLarge: '(min-width: 1400px)',\n}","import { definePreset } from '@primeng/themes';\nimport Aura from '@primeng/themes/aura';\n\nexport const TkPreset = definePreset(Aura, {\n semantic: {\n primary: {\n 900: '#16006f',\n 800: '#2b177b',\n 700: '#44338b',\n 600: '#54429d',\n 500: '#7366a8',\n 400: '#8275bb',\n 300: '#a29ac5',\n 200: '#d1cde2',\n 100: '#efeef5',\n },\n secondary: {\n 900: '#375f57',\n 800: '#467c71',\n 700: '#4f9385',\n 600: '#5bb09f',\n 500: '#6ad0bc',\n 400: '#87d9c9',\n 300: '#a5e2d6',\n 200: '#c3ece4',\n 100: '#e1f5f1',\n },\n accent: {\n 900: '#ffc55d',\n 800: '#ffca6b',\n 700: '#ffd07d',\n 600: '#ffd68f',\n 500: '#ffdc9d',\n 400: '#f5dbac',\n 300: '#ffe8be',\n 200: '#fff3df',\n 100: '#fffaf2',\n },\n neutral: {\n 900: '#040303',\n 800: '#333333',\n 700: '#444444',\n 600: '#5b5b5b',\n 500: '#6b6b6b',\n 400: '#9b9b9b',\n 300: '#b3b3b3',\n 200: '#cdcdcd',\n 100: '#f2f2f2',\n },\n success: {\n 900: '#004d34',\n 800: '#0c623e',\n 700: '#00875b',\n 600: '#18ae7d',\n 500: '#36b37e',\n 400: '#57d9a3',\n 300: '#79f2c0',\n 200: '#abf5d1',\n 100: '#e3fcef',\n },\n danger: {\n 900: '#950700',\n 800: '#af0c1d',\n 700: '#cf2604',\n 600: '#f43e11',\n 500: '#ff6640',\n 400: '#ff7f63',\n 300: '#ffa28b',\n 200: '#fbc2b4',\n 100: '#ffddd4',\n },\n info: {\n 900: '#01367b',\n 800: '#01469e',\n 700: '#0a68e0',\n 600: '#1c89ff',\n 500: '#3998ff',\n 400: '#509dff',\n 300: '#7bb4fe',\n 200: '#b3d4ff',\n 100: '#deebff',\n },\n warning: {\n 900: '#eca501',\n 800: '#ffb200',\n 700: '#ffbf2b',\n 600: '#ffc744',\n 500: '#ffd21b',\n 400: '#ffdc50',\n 300: '#fee26f',\n 200: '#ffeea9',\n 100: '#fff5cd',\n },\n surface: {\n 0: '#ffffff',\n 100: '#f2f2f2',\n },\n text: {\n 900: '#101820',\n 800: '#6c6c6c',\n 700: '#656d76',\n 600: '#a0a9b4',\n 500: '#d0d5dd',\n },\n border: {\n soft: '#eaecf0',\n error: '#de350b',\n hover: '#667085',\n focused: '#6ad0bc',\n disabled: '#d0d5dd',\n },\n fullBlack: '#101820',\n fullWhite: '#ffffff',\n },\n font: {\n family: 'poppins, sans-serif',\n size: {\n xl: '2rem', // 32px\n lg: '1.75rem', // 28px\n md: '1.5rem', // 24px\n sm: '1.25rem', // 20px\n xs: '1.125rem', // 18px\n '2xs': '1rem', // 16px\n '3xs': '0.875rem', // 14px\n '4xs': '0.75rem', // 12px\n '5xs': '0.625rem', // 10px\n },\n weight: {\n light: '200',\n book: '300',\n regular: '400',\n medium: '500',\n 'semi-bold': '600',\n bold: '700',\n 'extra-bold': '800',\n },\n lineHeight: {\n xl: '1.5', // 48px / 32px\n lg: '1.5', // 42px / 28px\n md: '1.5', // 36px / 24px\n sm: '1.5', // 30px / 20px\n xs: '1.5', // 27px / 18px\n '2xs': '1.5', // 24px / 16px\n '3xs': '1.5', // 21px / 14px\n '4xs': '1.5', // 18px / 12px\n '5xs': '1.5', // 15px / 10px\n },\n },\n spacing: {\n 1: '0.25rem', // 4px\n 2: '0.5rem', // 8px\n 3: '0.75rem', // 12px\n 4: '1rem', // 16px\n 5: '1.25rem', // 20px\n 6: '1.5rem', // 24px\n 8: '2rem', // 32px\n 10: '2.5rem', // 40px\n 12: '3rem', // 48px\n 16: '4rem', // 64px\n 20: '5rem', // 80px\n 24: '6rem', // 96px\n 32: '8rem', // 128px\n 40: '10rem', // 160px\n 48: '12rem', // 192px\n 56: '14rem', // 224px\n 64: '16rem', // 256px\n },\n components: {\n button: {\n root: {\n outline: 'none',\n boxShadow: 'none',\n border: 'none',\n focusBoxShadow: 'none',\n },\n colorScheme: {\n light: {\n primary: {\n background: '{primary.900}',\n color: '{surface.0}',\n hoverBackground: '{primary.800}',\n hoverColor: '{surface.0}',\n activeBackground: '{primary.700}',\n activeColor: '{surface.0}',\n borderColor: 'transparent',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n secondary: {\n background: '{secondary.900}',\n color: '{surface.0}',\n hoverBackground: '{secondary.800}',\n hoverColor: '{surface.0}',\n activeBackground: '{secondary.700}',\n activeColor: '{surface.0}',\n borderColor: 'transparent',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n danger: {\n background: '{danger.900}',\n color: '{surface.0}',\n hoverBackground: '{danger.800}',\n hoverColor: '{surface.0}',\n activeBackground: '{danger.700}',\n activeColor: '{surface.0}',\n borderColor: 'transparent',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n link: {\n textDecoration: 'underline',\n background: 'none',\n boxShadow: 'none',\n color: '{primary.900}',\n fontSize: '{font.size.2xs}',\n fontWeight: '{font.weight.medium}',\n hoverColor: '{primary.700}',\n hoverBackground: 'none',\n activeColor: '{primary.600}',\n activeBackground: 'none',\n },\n },\n },\n },\n },\n});\n","import { inject, provideAppInitializer } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { PrimeNG } from 'primeng/config';\nimport { TkPreset } from './tk-preset';\n\nfunction themeFactory(config: PrimeNG, document: Document): () => void {\n return () => {\n const fontLink = document.createElement('link');\n fontLink.rel = 'stylesheet';\n fontLink.href =\n 'https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap';\n document.head.appendChild(fontLink);\n\n const style = document.createElement('style');\n style.innerHTML = `\n body {\n font-family: 'Poppins', sans-serif;\n }\n `;\n document.head.appendChild(style);\n\n config.theme.set({\n preset: TkPreset,\n options: {\n darkModeSelector: undefined,\n },\n });\n };\n}\n\nexport function provideTkTheme() {\n return provideAppInitializer(() => {\n const config = inject(PrimeNG);\n const document = inject(DOCUMENT);\n return themeFactory(config, document)();\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { inject, computed, HostBinding, Input, Directive } from '@angular/core';
|
|
4
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
5
|
+
import { Breakpoints } from '@tekus/design-system/core/types';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Directive that controls the number of columns covered by an item within a grid.
|
|
9
|
+
*
|
|
10
|
+
* Uses Angular CDK's `BreakpointObserver` to dynamically adjust the column's `span`
|
|
11
|
+
* based on screen size, ensuring a responsive experience.
|
|
12
|
+
* For best results use a [grid component as a parent container](?path=/docs/components-grids-grids-container--docs)
|
|
13
|
+
* @selector [tkGridItem]
|
|
14
|
+
*/
|
|
15
|
+
class GridItemDirective {
|
|
16
|
+
constructor() {
|
|
17
|
+
/**
|
|
18
|
+
* Defines how many columns this element will span.
|
|
19
|
+
* The final value will be adjusted based on the current breakpoint.
|
|
20
|
+
* @default 1
|
|
21
|
+
*/
|
|
22
|
+
this.span = 1;
|
|
23
|
+
/**
|
|
24
|
+
* Injected service to observe changes in screen breakpoints.
|
|
25
|
+
* @readonly
|
|
26
|
+
*/
|
|
27
|
+
this.breakpointObserver = inject(BreakpointObserver);
|
|
28
|
+
/**
|
|
29
|
+
* A signal that emits values each time a screen breakpoint changes.
|
|
30
|
+
*/
|
|
31
|
+
this.screenChange = toSignal(this.breakpointObserver.observe([
|
|
32
|
+
Breakpoints.mobileSmall,
|
|
33
|
+
Breakpoints.mobile,
|
|
34
|
+
Breakpoints.mobileLarge,
|
|
35
|
+
Breakpoints.tabletVertical,
|
|
36
|
+
Breakpoints.tabletHorizontal,
|
|
37
|
+
Breakpoints.desktopSmall,
|
|
38
|
+
Breakpoints.desktop,
|
|
39
|
+
Breakpoints.desktopLarge
|
|
40
|
+
]));
|
|
41
|
+
/**
|
|
42
|
+
* A computed signal that determines the final value of the column span.
|
|
43
|
+
*
|
|
44
|
+
* This value is adjusted (truncated) so as not to exceed the maximum number of columns
|
|
45
|
+
* allowed at each breakpoint, ensuring that the layout does not break on small screens.
|
|
46
|
+
*/
|
|
47
|
+
this.finalSpan = computed(() => {
|
|
48
|
+
const breakpoints = this.screenChange()?.breakpoints;
|
|
49
|
+
if (!breakpoints)
|
|
50
|
+
return this.span;
|
|
51
|
+
if (breakpoints[Breakpoints.mobileSmall] || breakpoints[Breakpoints.mobile]) {
|
|
52
|
+
return this.span > 2 ? 2 : this.span;
|
|
53
|
+
}
|
|
54
|
+
else if (breakpoints[Breakpoints.mobileLarge]) {
|
|
55
|
+
return this.span > 3 ? 3 : this.span;
|
|
56
|
+
}
|
|
57
|
+
else if (breakpoints[Breakpoints.tabletVertical]) {
|
|
58
|
+
return this.span > 4 ? 4 : this.span;
|
|
59
|
+
}
|
|
60
|
+
else if (breakpoints[Breakpoints.tabletHorizontal]) {
|
|
61
|
+
return this.span > 8 ? 8 : this.span;
|
|
62
|
+
}
|
|
63
|
+
return this.span;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Host Binding that applies the `finalSnap` value to the `grid-column` style of the host element.
|
|
68
|
+
*
|
|
69
|
+
* This causes the element to occupy the number of columns computed in the grid.
|
|
70
|
+
*/
|
|
71
|
+
get columnSpan() {
|
|
72
|
+
return `span ${this.finalSpan()}`;
|
|
73
|
+
}
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GridItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
75
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: GridItemDirective, isStandalone: true, selector: "[tkGridItem]", inputs: { span: "span" }, host: { properties: { "style.grid-column": "this.columnSpan" } }, ngImport: i0 }); }
|
|
76
|
+
}
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GridItemDirective, decorators: [{
|
|
78
|
+
type: Directive,
|
|
79
|
+
args: [{
|
|
80
|
+
selector: '[tkGridItem]',
|
|
81
|
+
standalone: true
|
|
82
|
+
}]
|
|
83
|
+
}], propDecorators: { span: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], columnSpan: [{
|
|
86
|
+
type: HostBinding,
|
|
87
|
+
args: ['style.grid-column']
|
|
88
|
+
}] } });
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Generated bundle index. Do not edit.
|
|
92
|
+
*/
|
|
93
|
+
|
|
94
|
+
export { GridItemDirective };
|
|
95
|
+
//# sourceMappingURL=tekus-design-system-directives-gird-item.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tekus-design-system-directives-gird-item.mjs","sources":["../../../projects/design-system/directives/gird-item/src/grid-item.directive.ts","../../../projects/design-system/directives/gird-item/tekus-design-system-directives-gird-item.ts"],"sourcesContent":["import { BreakpointObserver } from \"@angular/cdk/layout\";\nimport { computed, Directive, HostBinding, inject, Input } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { Breakpoints } from \"@tekus/design-system/core/types\";\n/**\n * Directive that controls the number of columns covered by an item within a grid.\n *\n * Uses Angular CDK's `BreakpointObserver` to dynamically adjust the column's `span`\n * based on screen size, ensuring a responsive experience.\n * For best results use a [grid component as a parent container](?path=/docs/components-grids-grids-container--docs)\n * @selector [tkGridItem]\n */\n@Directive({\n selector: '[tkGridItem]',\n standalone: true\n})\nexport class GridItemDirective {\n /**\n * Defines how many columns this element will span.\n * The final value will be adjusted based on the current breakpoint.\n * @default 1\n */\n @Input() span: number = 1;\n\n /**\n * Injected service to observe changes in screen breakpoints.\n * @readonly\n */\n readonly breakpointObserver = inject(BreakpointObserver);\n\n /**\n * A signal that emits values each time a screen breakpoint changes.\n */\n readonly screenChange = toSignal(\n this.breakpointObserver.observe([\n Breakpoints.mobileSmall,\n Breakpoints.mobile,\n Breakpoints.mobileLarge,\n Breakpoints.tabletVertical,\n Breakpoints.tabletHorizontal,\n Breakpoints.desktopSmall,\n Breakpoints.desktop,\n Breakpoints.desktopLarge\n ])\n )\n\n /**\n * A computed signal that determines the final value of the column span.\n *\n * This value is adjusted (truncated) so as not to exceed the maximum number of columns\n * allowed at each breakpoint, ensuring that the layout does not break on small screens.\n */\n readonly finalSpan = computed(() => {\n const breakpoints = this.screenChange()?.breakpoints;\n if (!breakpoints) return this.span;\n\n if (breakpoints[Breakpoints.mobileSmall] || breakpoints[Breakpoints.mobile]) {\n return this.span > 2 ? 2 : this.span\n }\n\n else if (breakpoints[Breakpoints.mobileLarge]) {\n return this.span > 3 ? 3 : this.span\n }\n\n else if (breakpoints[Breakpoints.tabletVertical]) {\n return this.span > 4 ? 4 : this.span\n }\n\n else if (breakpoints[Breakpoints.tabletHorizontal]) {\n return this.span > 8 ? 8 : this.span\n }\n\n return this.span;\n\n })\n\n /**\n * Host Binding that applies the `finalSnap` value to the `grid-column` style of the host element.\n *\n * This causes the element to occupy the number of columns computed in the grid.\n */\n @HostBinding('style.grid-column')\n get columnSpan() {\n return `span ${this.finalSpan()}`;\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAIA;;;;;;;AAOG;MAKU,iBAAiB,CAAA;AAJ9B,IAAA,WAAA,GAAA;AAKI;;;;AAIG;QACM,IAAI,CAAA,IAAA,GAAW,CAAC;AAEzB;;;AAGG;AACM,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAExD;;AAEG;QACM,IAAY,CAAA,YAAA,GAAG,QAAQ,CAC5B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;AAC5B,YAAA,WAAW,CAAC,WAAW;AACvB,YAAA,WAAW,CAAC,MAAM;AAClB,YAAA,WAAW,CAAC,WAAW;AACvB,YAAA,WAAW,CAAC,cAAc;AAC1B,YAAA,WAAW,CAAC,gBAAgB;AAC5B,YAAA,WAAW,CAAC,YAAY;AACxB,YAAA,WAAW,CAAC,OAAO;AACnB,YAAA,WAAW,CAAC;AACf,SAAA,CAAC,CACL;AAED;;;;;AAKG;AACM,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW;AACpD,YAAA,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC,IAAI;AAElC,YAAA,IAAI,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;AACzE,gBAAA,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI;;AAGnC,iBAAA,IAAI,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;AAC3C,gBAAA,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI;;AAGnC,iBAAA,IAAI,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE;AAC9C,gBAAA,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI;;AAGnC,iBAAA,IAAI,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;AAChD,gBAAA,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI;;YAGxC,OAAO,IAAI,CAAC,IAAI;AAEpB,SAAC,CAAC;AAWL;AATG;;;;AAIG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,QAAQ,IAAI,CAAC,SAAS,EAAE,EAAE;;+GAnE5B,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE;AACf,iBAAA;8BAOY,IAAI,EAAA,CAAA;sBAAZ;gBA4DG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,mBAAmB;;;ACjFpC;;AAEG;;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { Inject, Injectable } from '@angular/core';
|
|
4
|
+
|
|
5
|
+
class DesignTokensService {
|
|
6
|
+
constructor(document) {
|
|
7
|
+
this.document = document;
|
|
8
|
+
this.cssLoaded = false;
|
|
9
|
+
}
|
|
10
|
+
initTokens() {
|
|
11
|
+
this.ensureTokensStylesheet();
|
|
12
|
+
}
|
|
13
|
+
ensureTokensStylesheet() {
|
|
14
|
+
if (this.cssLoaded) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const existingStyles = this.document.querySelectorAll('link[href*="tokens.css"]');
|
|
18
|
+
if (existingStyles.length > 0) {
|
|
19
|
+
this.cssLoaded = true;
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const link = this.document.createElement('link');
|
|
23
|
+
link.rel = 'stylesheet';
|
|
24
|
+
link.type = 'text/css';
|
|
25
|
+
link.href = './node_modules/@tekus/design-system/design-tokens/tokens.css';
|
|
26
|
+
this.cssLoaded = true;
|
|
27
|
+
this.document.head.appendChild(link);
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DesignTokensService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
30
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DesignTokensService, providedIn: 'root' }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DesignTokensService, decorators: [{
|
|
33
|
+
type: Injectable,
|
|
34
|
+
args: [{
|
|
35
|
+
providedIn: 'root',
|
|
36
|
+
}]
|
|
37
|
+
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
38
|
+
type: Inject,
|
|
39
|
+
args: [DOCUMENT]
|
|
40
|
+
}] }] });
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Generated bundle index. Do not edit.
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
export { DesignTokensService };
|
|
47
|
+
//# sourceMappingURL=tekus-design-system-services-design-tokens.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tekus-design-system-services-design-tokens.mjs","sources":["../../../projects/design-system/services/design-tokens/src/design-tokens.service.ts","../../../projects/design-system/services/design-tokens/tekus-design-system-services-design-tokens.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { Injectable, Inject } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DesignTokensService {\n private cssLoaded = false;\n\n constructor(@Inject(DOCUMENT) private readonly document: Document) {}\n\n public initTokens(): void {\n this.ensureTokensStylesheet();\n }\n\n private ensureTokensStylesheet(): void {\n if (this.cssLoaded) {\n return;\n }\n\n const existingStyles = this.document.querySelectorAll(\n 'link[href*=\"tokens.css\"]'\n );\n if (existingStyles.length > 0) {\n this.cssLoaded = true;\n return;\n }\n\n const link = this.document.createElement('link');\n link.rel = 'stylesheet';\n link.type = 'text/css';\n link.href = './node_modules/@tekus/design-system/design-tokens/tokens.css';\n\n this.cssLoaded = true;\n this.document.head.appendChild(link);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAMa,mBAAmB,CAAA;AAG9B,IAAA,WAAA,CAA+C,QAAkB,EAAA;QAAlB,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAF/C,IAAS,CAAA,SAAA,GAAG,KAAK;;IAIlB,UAAU,GAAA;QACf,IAAI,CAAC,sBAAsB,EAAE;;IAGvB,sBAAsB,GAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB;;QAGF,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CACnD,0BAA0B,CAC3B;AACD,QAAA,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;YACrB;;QAGF,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAChD,QAAA,IAAI,CAAC,GAAG,GAAG,YAAY;AACvB,QAAA,IAAI,CAAC,IAAI,GAAG,UAAU;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,8DAA8D;AAE1E,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;;AA5B3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAGV,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAIc,MAAM;2BAAC,QAAQ;;;ACT9B;;AAEG;;;;"}
|
|
@@ -73,10 +73,10 @@ class TypographyService {
|
|
|
73
73
|
},
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
77
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
76
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TypographyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
77
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TypographyService, providedIn: 'root' }); }
|
|
78
78
|
}
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TypographyService, decorators: [{
|
|
80
80
|
type: Injectable,
|
|
81
81
|
args: [{
|
|
82
82
|
providedIn: 'root',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tekus-design-system-services-typography.mjs","sources":["../../../projects/design-system/services/typography/typography.service.ts","../../../projects/design-system/services/typography/tekus-design-system-services-typography.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { TypographyStyles } from '
|
|
1
|
+
{"version":3,"file":"tekus-design-system-services-typography.mjs","sources":["../../../projects/design-system/services/typography/src/typography.service.ts","../../../projects/design-system/services/typography/tekus-design-system-services-typography.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { TypographyStyles } from '@tekus/design-system/core/types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TypographyService {\n public initTheme(customTypography: TypographyStyles | null = null) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const root = document.querySelector<any>(':root');\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const classList: any =\n customTypography ?? this.getDefaultTypographyStyles();\n for (const key in classList) {\n const element = classList[key];\n for (const key2 in element) {\n const element2 = element[key2];\n root.style.setProperty(`--tk-typography-${key}-${key2}`, element2);\n }\n }\n }\n\n public getDefaultTypographyStyles(): TypographyStyles {\n return {\n general: {\n fontFamily: '\"Poppins\", sans-serif',\n padding: 0,\n margin: 0,\n },\n 'h1-heading': {\n fontSize: '4.5rem',\n fontWeight: 700,\n },\n 'h2-heading': {\n fontSize: '3.875rem',\n fontWeight: 700,\n },\n 'h3-heading': {\n fontSize: '3.125rem',\n fontWeight: 700,\n },\n 'h4-heading': {\n fontSize: '2.5rem',\n fontWeight: 700,\n },\n 'h5-heading': {\n fontSize: '2rem',\n fontWeight: 700,\n },\n 'h6-heading': {\n fontSize: '1.5rem',\n fontWeight: 700,\n },\n subtitle1: {\n fontSize: '2.5rem',\n fontWeight: 400,\n },\n subtitle2: {\n fontSize: '2rem',\n fontWeight: 400,\n },\n body1: {\n fontSize: '1.5rem',\n fontWeight: 400,\n },\n body2: {\n fontSize: '1.25rem',\n fontWeight: 400,\n },\n 'p1-paragraph': {\n fontSize: '2.5rem',\n fontWeight: 400,\n },\n 'underline-text': {\n fontSize: '2rem',\n fontWeight: 400,\n textDecoration: 'underline',\n },\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
const UNSAFE_SVG_REGEX = {
|
|
2
|
+
script: /<script[\s\S]*?>[\s\S]*?<\/script>/gi,
|
|
3
|
+
onAttr: /\s(on\w+)=["'][^"']*["']/gi,
|
|
4
|
+
jsHref: /xlink:href=["']javascript:[^"']*["']/gi,
|
|
5
|
+
href: /\s(href)=["']javascript:[^"']*['"]/gi,
|
|
6
|
+
foreignObject: /<foreignObject[\s\S]*?>[\s\S]*?<\/foreignObject>/gi,
|
|
7
|
+
iframe: /<iframe[\s\S]*?>[\s\S]*?<\/iframe>/gi,
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Sanitize the contents of an SVG to remove malicious code.
|
|
11
|
+
* @param svgContent The SVG content as a string.
|
|
12
|
+
* @returns The sanitized SVG.
|
|
13
|
+
*/
|
|
14
|
+
function sanitizeSvgContent(svgContent) {
|
|
15
|
+
let sanitizedContent = svgContent;
|
|
16
|
+
// Use the same regular expressions to remove dangerous content
|
|
17
|
+
sanitizedContent = sanitizedContent
|
|
18
|
+
?.replace(UNSAFE_SVG_REGEX.script, '')
|
|
19
|
+
?.replace(UNSAFE_SVG_REGEX.onAttr, '')
|
|
20
|
+
?.replace(UNSAFE_SVG_REGEX.jsHref, '')
|
|
21
|
+
?.replace(UNSAFE_SVG_REGEX.href, '')
|
|
22
|
+
?.replace(UNSAFE_SVG_REGEX.foreignObject, '')
|
|
23
|
+
?.replace(UNSAFE_SVG_REGEX.iframe, '');
|
|
24
|
+
return sanitizedContent;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Edit the SVG to ensure that the color is dynamic and the ‘none’ fills are maintained.
|
|
28
|
+
* @param svgContent The SVG content as a string.
|
|
29
|
+
* @returns The modified SVG.
|
|
30
|
+
*/
|
|
31
|
+
function retouchSvgForColor(svgContent) {
|
|
32
|
+
// Regular expression to replace `fill` that is NOT 'none'
|
|
33
|
+
const fillRegex = /fill="(?!none)[^"]*"/g;
|
|
34
|
+
// Regular expression to replace `stroke` that is NOT 'none'
|
|
35
|
+
const strokeRegex = /stroke="(?!none)[^"]*"/g;
|
|
36
|
+
let updatedSvg = svgContent;
|
|
37
|
+
// Replace `fill` with a color by `currentColor`
|
|
38
|
+
updatedSvg = updatedSvg.replace(fillRegex, 'fill="currentColor"');
|
|
39
|
+
// Replace `stroke` with a color by `currentColor`
|
|
40
|
+
updatedSvg = updatedSvg.replace(strokeRegex, 'stroke="currentColor"');
|
|
41
|
+
// If it doesn't have `fill` or `stroke`, add `currentColor`
|
|
42
|
+
if (!updatedSvg.includes('fill=') && !updatedSvg.includes('stroke=')) {
|
|
43
|
+
updatedSvg = updatedSvg.replace('<svg ', '<svg fill="currentColor" ');
|
|
44
|
+
}
|
|
45
|
+
return updatedSvg;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Generated bundle index. Do not edit.
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
export { UNSAFE_SVG_REGEX, retouchSvgForColor, sanitizeSvgContent };
|
|
53
|
+
//# sourceMappingURL=tekus-design-system-utils-sanitizer-utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tekus-design-system-utils-sanitizer-utils.mjs","sources":["../../../projects/design-system/utils/sanitizer-utils/src/sanitizer-utils.ts","../../../projects/design-system/utils/sanitizer-utils/tekus-design-system-utils-sanitizer-utils.ts"],"sourcesContent":["export const UNSAFE_SVG_REGEX = {\n script: /<script[\\s\\S]*?>[\\s\\S]*?<\\/script>/gi,\n onAttr: /\\s(on\\w+)=[\"'][^\"']*[\"']/gi,\n jsHref: /xlink:href=[\"']javascript:[^\"']*[\"']/gi,\n href: /\\s(href)=[\"']javascript:[^\"']*['\"]/gi,\n foreignObject: /<foreignObject[\\s\\S]*?>[\\s\\S]*?<\\/foreignObject>/gi,\n iframe: /<iframe[\\s\\S]*?>[\\s\\S]*?<\\/iframe>/gi,\n};\n\n/**\n * Sanitize the contents of an SVG to remove malicious code.\n * @param svgContent The SVG content as a string.\n * @returns The sanitized SVG.\n */\nexport function sanitizeSvgContent(svgContent: string): string {\n let sanitizedContent = svgContent;\n\n // Use the same regular expressions to remove dangerous content\n sanitizedContent = sanitizedContent\n ?.replace(UNSAFE_SVG_REGEX.script, '')\n ?.replace(UNSAFE_SVG_REGEX.onAttr, '')\n ?.replace(UNSAFE_SVG_REGEX.jsHref, '')\n ?.replace(UNSAFE_SVG_REGEX.href, '')\n ?.replace(UNSAFE_SVG_REGEX.foreignObject, '')\n ?.replace(UNSAFE_SVG_REGEX.iframe, '');\n\n return sanitizedContent;\n}\n\n/**\n * Edit the SVG to ensure that the color is dynamic and the ‘none’ fills are maintained.\n * @param svgContent The SVG content as a string.\n * @returns The modified SVG.\n */\nexport function retouchSvgForColor(svgContent: string): string {\n // Regular expression to replace `fill` that is NOT 'none'\n const fillRegex = /fill=\"(?!none)[^\"]*\"/g;\n // Regular expression to replace `stroke` that is NOT 'none'\n const strokeRegex = /stroke=\"(?!none)[^\"]*\"/g;\n\n let updatedSvg = svgContent;\n\n // Replace `fill` with a color by `currentColor`\n updatedSvg = updatedSvg.replace(fillRegex, 'fill=\"currentColor\"');\n\n // Replace `stroke` with a color by `currentColor`\n updatedSvg = updatedSvg.replace(strokeRegex, 'stroke=\"currentColor\"');\n\n // If it doesn't have `fill` or `stroke`, add `currentColor`\n if (!updatedSvg.includes('fill=') && !updatedSvg.includes('stroke=')) {\n updatedSvg = updatedSvg.replace('<svg ', '<svg fill=\"currentColor\" ');\n }\n\n return updatedSvg;\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAa,MAAA,gBAAgB,GAAG;AAC9B,IAAA,MAAM,EAAE,sCAAsC;AAC9C,IAAA,MAAM,EAAE,4BAA4B;AACpC,IAAA,MAAM,EAAE,wCAAwC;AAChD,IAAA,IAAI,EAAE,sCAAsC;AAC5C,IAAA,aAAa,EAAE,oDAAoD;AACnE,IAAA,MAAM,EAAE,sCAAsC;;AAGhD;;;;AAIG;AACG,SAAU,kBAAkB,CAAC,UAAkB,EAAA;IACnD,IAAI,gBAAgB,GAAG,UAAU;;AAGjC,IAAA,gBAAgB,GAAG;AACjB,UAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE;AACrC,UAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE;AACrC,UAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE;AACrC,UAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE;AACnC,UAAE,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE;UAC1C,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;AAExC,IAAA,OAAO,gBAAgB;AACzB;AAEA;;;;AAIG;AACG,SAAU,kBAAkB,CAAC,UAAkB,EAAA;;IAEnD,MAAM,SAAS,GAAG,uBAAuB;;IAEzC,MAAM,WAAW,GAAG,yBAAyB;IAE7C,IAAI,UAAU,GAAG,UAAU;;IAG3B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,qBAAqB,CAAC;;IAGjE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,uBAAuB,CAAC;;AAGrE,IAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACpE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,2BAA2B,CAAC;;AAGvE,IAAA,OAAO,UAAU;AACnB;;ACtDA;;AAEG;;;;"}
|