@hashicorp/design-system-components 5.2.0 → 5.2.1-rc-20260109114755
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/declarations/components/hds/theme-context/index.d.ts +24 -0
- package/declarations/components/hds/theme-context/types.d.ts +19 -0
- package/declarations/components/hds/theme-switcher/index.d.ts +43 -0
- package/declarations/components.d.ts +2 -0
- package/declarations/services/hds-theming.d.ts +57 -0
- package/declarations/services.d.ts +1 -0
- package/declarations/template-registry.d.ts +6 -0
- package/dist/_app_/components/hds/theme-context.js +1 -0
- package/dist/_app_/components/hds/theme-switcher.js +1 -0
- package/dist/_app_/services/hds-theming.js +1 -0
- package/dist/components/hds/theme-context/index.js +45 -0
- package/dist/components/hds/theme-context/index.js.map +1 -0
- package/dist/components/hds/theme-context/types.js +27 -0
- package/dist/components/hds/theme-context/types.js.map +1 -0
- package/dist/components/hds/theme-switcher/index.js +100 -0
- package/dist/components/hds/theme-switcher/index.js.map +1 -0
- package/dist/components.js +2 -0
- package/dist/components.js.map +1 -1
- package/dist/services/hds-theming.js +214 -0
- package/dist/services/hds-theming.js.map +1 -0
- package/dist/services.js +1 -1
- package/dist/styles/@hashicorp/design-system-components-common.css +9588 -0
- package/dist/styles/@hashicorp/design-system-components-common.css.map +1 -0
- package/dist/styles/@hashicorp/design-system-components-common.scss +24 -0
- package/dist/styles/@hashicorp/design-system-components.css +501 -320
- package/dist/styles/@hashicorp/design-system-components.css.map +1 -0
- package/dist/styles/@hashicorp/design-system-components.scss +4 -62
- package/dist/styles/@hashicorp/design-system-power-select-overrides.css +229 -0
- package/dist/styles/@hashicorp/design-system-power-select-overrides.css.map +1 -0
- package/dist/styles/components/badge-count.scss +26 -76
- package/dist/styles/components/badge.scss +26 -131
- package/dist/styles/components/button.scss +5 -0
- package/dist/styles/components/dropdown.scss +3 -5
- package/dist/styles/components/form/file-input.scss +2 -2
- package/dist/styles/components/form/key-value-inputs.scss +2 -4
- package/dist/styles/components/index.scss +52 -0
- package/dist/styles/components/theme-context.scss +12 -0
- package/dist/styles/mixins/_button.scss +82 -129
- package/dist/styles/mixins/_carbonization.scss +31 -0
- package/dist/styles/mixins/_interactive-dark-theme.scss +1 -1
- package/package.json +7 -3
- package/dist/styles/@hashicorp/design-system-components.scss.map +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) HashiCorp, Inc.
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
import Component from '@glimmer/component';
|
|
6
|
+
import type Owner from '@ember/owner';
|
|
7
|
+
import type { HdsThemeContexts } from './types.ts';
|
|
8
|
+
import type { HdsThemes, HdsModes } from '../../../services/hds-theming.ts';
|
|
9
|
+
export interface HdsThemeContextSignature {
|
|
10
|
+
Args: {
|
|
11
|
+
context: HdsThemeContexts;
|
|
12
|
+
};
|
|
13
|
+
Blocks: {
|
|
14
|
+
default: [];
|
|
15
|
+
};
|
|
16
|
+
Element: HTMLElement;
|
|
17
|
+
}
|
|
18
|
+
export declare const CONTEXTUAL_THEMES: HdsThemes[];
|
|
19
|
+
export declare const CONTEXTUAL_MODES: HdsModes[];
|
|
20
|
+
export declare const CONTEXTUAL_VALUES: HdsThemeContexts[];
|
|
21
|
+
export default class HdsThemeContext extends Component<HdsThemeContextSignature> {
|
|
22
|
+
constructor(owner: Owner, args: HdsThemeContextSignature['Args']);
|
|
23
|
+
get classNames(): string;
|
|
24
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) HashiCorp, Inc.
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { HdsThemeValues, HdsModesLightValues, HdsModesDarkValues } from '../../../services/hds-theming.ts';
|
|
6
|
+
import type { HdsThemes, HdsModes } from '../../../services/hds-theming.ts';
|
|
7
|
+
export declare const HdsThemeContextThemesValues: {
|
|
8
|
+
readonly Default: HdsThemeValues.Default;
|
|
9
|
+
readonly System: HdsThemeValues.System;
|
|
10
|
+
readonly Light: HdsThemeValues.Light;
|
|
11
|
+
readonly Dark: HdsThemeValues.Dark;
|
|
12
|
+
};
|
|
13
|
+
export declare const HdsThemeContextModesValues: {
|
|
14
|
+
readonly CdsG0: HdsModesLightValues.CdsG0;
|
|
15
|
+
readonly CdsG10: HdsModesLightValues.CdsG10;
|
|
16
|
+
readonly CdsG90: HdsModesDarkValues.CdsG90;
|
|
17
|
+
readonly CdsG100: HdsModesDarkValues.CdsG100;
|
|
18
|
+
};
|
|
19
|
+
export type HdsThemeContexts = HdsThemes | Exclude<HdsModes, 'default'>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) HashiCorp, Inc.
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
import Component from '@glimmer/component';
|
|
6
|
+
import type { HdsDropdownSignature } from '../dropdown/index.ts';
|
|
7
|
+
import type { HdsDropdownToggleButtonSignature } from '../dropdown/toggle/button.ts';
|
|
8
|
+
import type { HdsIconSignature } from '../icon/index.ts';
|
|
9
|
+
import type HdsThemingService from '../../../services/hds-theming.ts';
|
|
10
|
+
import type { HdsThemes, HdsOnSetThemeCallback } from '../../../services/hds-theming.ts';
|
|
11
|
+
interface ThemeOption {
|
|
12
|
+
theme: HdsThemes | undefined;
|
|
13
|
+
icon: HdsIconSignature['Args']['name'];
|
|
14
|
+
label: string;
|
|
15
|
+
}
|
|
16
|
+
export interface HdsThemeSwitcherSignature {
|
|
17
|
+
Args: {
|
|
18
|
+
toggleSize?: HdsDropdownToggleButtonSignature['Args']['size'];
|
|
19
|
+
toggleIsFullWidth?: HdsDropdownToggleButtonSignature['Args']['isFullWidth'];
|
|
20
|
+
hasDefaultOption?: boolean;
|
|
21
|
+
hasSystemOption?: boolean;
|
|
22
|
+
onSetTheme?: HdsOnSetThemeCallback;
|
|
23
|
+
};
|
|
24
|
+
Element: HdsDropdownSignature['Element'];
|
|
25
|
+
}
|
|
26
|
+
export default class HdsThemeSwitcher extends Component<HdsThemeSwitcherSignature> {
|
|
27
|
+
readonly hdsTheming: HdsThemingService;
|
|
28
|
+
get toggleSize(): "small" | "medium";
|
|
29
|
+
get toggleIsFullWidth(): boolean;
|
|
30
|
+
get toggleContent(): {
|
|
31
|
+
label: string;
|
|
32
|
+
icon: "type" | "map" | "filter" | "code" | "link" | "menu" | "search" | "video" | "circle" | "image" | "path" | "tag" | "repeat" | "hash" | "queue" | "shuffle" | "chevron-up" | "chevron-down" | "unfold-open" | "unfold-close" | "arrow-down" | "arrow-up" | "swap-vertical" | "top" | "key" | "move" | "change" | "pause" | "play" | "move-horizontal" | "loading" | "loading-static" | "running" | "running-static" | "apple" | "apple-color" | "alibaba" | "alibaba-color" | "amazon-ecs" | "amazon-ecs-color" | "amazon-eks" | "amazon-eks-color" | "ansible-community" | "ansible-community-color" | "ansible-automation-platform" | "ansible-automation-platform-color" | "auth0" | "auth0-color" | "aws" | "aws-color" | "aws-cdk" | "aws-cdk-color" | "aws-cloudwatch" | "aws-cloudwatch-color" | "aws-ec2" | "aws-ec2-color" | "aws-lambda" | "aws-lambda-color" | "aws-s3" | "aws-s3-color" | "azure" | "azure-color" | "azure-aks" | "azure-aks-color" | "azure-blob-storage" | "azure-blob-storage-color" | "azure-devops" | "azure-devops-color" | "azure-vms" | "azure-vms-color" | "bitbucket" | "bitbucket-color" | "bridgecrew" | "bridgecrew-color" | "cisco" | "cisco-color" | "codepen" | "codepen-color" | "confluence" | "confluence-color" | "confluent" | "confluent-color" | "datadog" | "datadog-color" | "digital-ocean" | "digital-ocean-color" | "docker" | "docker-color" | "duo" | "duo-color" | "elastic-observability" | "elastic-observability-color" | "f5" | "f5-color" | "facebook" | "facebook-color" | "figma" | "figma-color" | "gcp" | "gcp-color" | "git" | "git-color" | "gitlab" | "gitlab-color" | "github" | "github-color" | "google" | "google-color" | "google-docs" | "google-docs-color" | "google-drive" | "google-drive-color" | "google-forms" | "google-forms-color" | "google-sheets" | "google-sheets-color" | "google-slides" | "google-slides-color" | "grafana" | "grafana-color" | "helm" | "helm-color" | "infracost" | "infracost-color" | "jenkins" | "jenkins-color" | "jfrog" | "jfrog-color" | "jira" | "jira-color" | "jwt" | "jwt-color" | "kubernetes" | "kubernetes-color" | "lightlytics" | "lightlytics-color" | "linkedin" | "linkedin-color" | "linode" | "linode-color" | "linux" | "linux-color" | "loom" | "loom-color" | "meetup" | "meetup-color" | "microsoft" | "microsoft-color" | "microsoft-teams" | "microsoft-teams-color" | "minio" | "minio-color" | "mongodb" | "mongodb-color" | "new-relic" | "new-relic-color" | "okta" | "okta-color" | "oracle" | "oracle-color" | "opa" | "opa-color" | "openid" | "openid-color" | "openstack" | "openstack-color" | "pack" | "pack-color" | "pager-duty" | "pager-duty-color" | "ping-identity " | "ping-identity-color" | "postgres" | "postgres-color" | "rabbitmq" | "rabbitmq-color" | "saml" | "saml-color" | "service-now" | "service-now-color" | "slack" | "slack-color" | "snyk" | "snyk-color" | "splunk" | "splunk-color" | "twilio" | "twilio-color" | "twitch" | "twitch-color" | "twitter" | "twitter-color" | "twitter-x" | "twitter-x-color" | "vantage" | "vantage-color" | "venafi" | "venafi-color" | "vercel" | "vercel-color" | "vmware" | "vmware-color" | "youtube" | "youtube-color" | "boundary" | "boundary-color" | "boundary-fill" | "boundary-fill-color" | "boundary-square" | "boundary-square-color" | "consul" | "consul-color" | "consul-fill" | "consul-fill-color" | "consul-square" | "consul-square-color" | "nomad" | "nomad-color" | "nomad-fill" | "nomad-fill-color" | "nomad-square" | "nomad-square-color" | "packer" | "packer-color" | "packer-fill" | "packer-fill-color" | "packer-square" | "packer-square-color" | "terraform" | "terraform-color" | "terraform-fill" | "terraform-fill-color" | "terraform-square" | "terraform-square-color" | "vagrant" | "vagrant-color" | "vagrant-fill" | "vagrant-fill-color" | "vagrant-square" | "vagrant-square-color" | "vault" | "vault-color" | "vault-fill" | "vault-fill-color" | "vault-square" | "vault-square-color" | "vault-radar" | "vault-radar-color" | "vault-radar-fill" | "vault-radar-fill-color" | "vault-radar-square" | "vault-radar-square-color" | "vault-secrets" | "vault-secrets-color" | "vault-secrets-fill" | "vault-secrets-fill-color" | "vault-secrets-square" | "vault-secrets-square-color" | "waypoint" | "waypoint-color" | "waypoint-fill" | "waypoint-fill-color" | "waypoint-square" | "waypoint-square-color" | "hashicorp" | "hashicorp-color" | "hashicorp-fill" | "hashicorp-fill-color" | "hashicorp-square" | "hashicorp-square-color" | "hcp" | "hcp-color" | "hcp-fill" | "hcp-fill-color" | "hcp-square" | "hcp-square-color" | "accessibility" | "folder-users" | "frown" | "identity-service" | "identity-user" | "meh" | "robot" | "smile" | "user" | "user-check" | "user-circle" | "user-circle-fill" | "user-minus" | "user-plus" | "user-x" | "users" | "ampersand" | "beaker" | "bucket" | "bulb" | "circle-dot" | "circle-fill" | "circle-half" | "diamond" | "diamond-fill" | "disc" | "dot" | "dot-half" | "droplet" | "flag" | "gift" | "government" | "handshake" | "hexagon" | "hexagon-fill" | "labyrinth" | "layers" | "moon" | "octagon" | "outline" | "random" | "rocket" | "sparkle" | "square" | "square-fill" | "sun" | "triangle" | "triangle-fill" | "truck" | "wand" | "zap" | "zap-off" | "docs" | "docs-download" | "docs-link" | "guide" | "guide-link" | "help" | "info" | "info-fill" | "learn" | "learn-link" | "support" | "alert-circle" | "alert-circle-fill" | "alert-diamond" | "alert-diamond-fill" | "alert-octagon" | "alert-octagon-fill" | "alert-triangle" | "alert-triangle-fill" | "check" | "check-circle" | "check-circle-fill" | "check-diamond" | "check-diamond-fill" | "check-hexagon" | "check-hexagon-fill" | "check-square" | "check-square-fill" | "skip" | "x" | "x-circle" | "x-circle-fill" | "x-diamond" | "x-diamond-fill" | "x-hexagon" | "x-hexagon-fill" | "x-square" | "x-square-fill" | "bug" | "certificate" | "eye" | "eye-off" | "fingerprint" | "keychain" | "lock" | "lock-fill" | "lock-off" | "shield" | "shield-alert" | "shield-check" | "shield-off" | "shield-x" | "token" | "unlock" | "verified" | "wall" | "minus" | "minus-circle" | "minus-circle-fill" | "minus-plus" | "minus-plus-circle" | "minus-plus-square" | "minus-square" | "minus-square-fill" | "plus" | "plus-circle" | "plus-circle-fill" | "plus-square" | "camera" | "camera-off" | "cast" | "closed-caption" | "fast-forward" | "film" | "headphones" | "music" | "pause-circle" | "play-circle" | "radio" | "rewind" | "rss" | "skip-back" | "skip-forward" | "speaker" | "stop-circle" | "volume" | "volume-down" | "volume-up" | "volume-x" | "wifi" | "wifi-off" | "compass" | "crosshair" | "map-pin" | "navigation" | "navigation-alt" | "redirect" | "target" | "align-center" | "align-justify" | "align-left" | "align-right" | "battery" | "battery-charging" | "bookmark" | "bookmark-add" | "bookmark-add-fill" | "bookmark-fill" | "bookmark-remove" | "bookmark-remove-fill" | "bottom" | "command" | "crop" | "dashboard" | "delete" | "download" | "edit" | "end" | "entry-point" | "exit-point" | "external-link" | "filter-circle" | "filter-fill" | "grid" | "grid-alt" | "home" | "jump-link" | "layout" | "list" | "maximize" | "maximize-alt" | "minimize" | "minimize-alt" | "more-horizontal" | "more-vertical" | "mouse-pointer" | "paperclip" | "pen-tool" | "pencil-tool" | "pin" | "pin-off" | "power" | "printer" | "reload" | "resize-column" | "rotate-cw" | "rotate-ccw" | "share" | "sidebar" | "sidebar-hide" | "sidebar-show" | "sign-in" | "sign-out" | "slash" | "slash-square" | "sort-asc" | "sort-desc" | "start" | "switcher" | "sync" | "sync-alert" | "sync-reverse" | "text-wrap" | "toggle-left" | "toggle-right" | "trash" | "upload" | "zoom-in" | "zoom-out" | "archive" | "clipboard" | "clipboard-checked" | "clipboard-copy" | "clipboard-x" | "file" | "file-change" | "file-check" | "file-diff" | "file-minus" | "file-plus" | "file-source" | "file-text" | "file-x" | "files" | "folder" | "folder-fill" | "folder-minus" | "folder-minus-fill" | "folder-plus" | "folder-plus-fill" | "folder-star" | "inbox" | "api" | "auto-apply" | "build" | "change-circle" | "change-square" | "channel" | "cloud" | "cloud-check" | "cloud-download" | "cloud-lightning" | "cloud-lock" | "cloud-off" | "cloud-upload" | "cloud-x" | "connection" | "connection-gateway" | "cpu" | "duplicate" | "gateway" | "git-branch" | "git-commit" | "git-merge" | "git-pull-request" | "git-repo" | "hammer" | "key-values" | "mainframe" | "mesh" | "module" | "monitor" | "network" | "network-alt" | "node" | "pipeline" | "plug" | "replication-direct" | "replication-perf" | "scissors" | "server" | "server-cluster" | "serverless" | "service" | "settings" | "sliders" | "smartphone" | "socket" | "step" | "tablet" | "terminal" | "terminal-screen" | "test" | "tools" | "transform-data" | "tv" | "webhook" | "wrench" | "calendar" | "clock" | "clock-filled" | "delay" | "event" | "history" | "hourglass" | "watch" | "bar-chart" | "bar-chart-alt" | "box" | "collections" | "database" | "hard-drive" | "line-chart" | "line-chart-up" | "logs" | "package" | "pie-chart" | "save" | "trend-down" | "trend-up" | "activity" | "at-sign" | "award" | "bell" | "bell-active" | "bell-active-fill" | "bell-off" | "discussion-circle" | "discussion-square" | "heart" | "heart-fill" | "heart-off" | "mail" | "mail-open" | "message-circle" | "message-circle-fill" | "message-square" | "message-square-fill" | "mic" | "mic-off" | "newspaper" | "phone" | "phone-call" | "phone-off" | "send" | "star" | "star-circle" | "star-fill" | "star-off" | "thumbs-down" | "thumbs-up" | "video-off" | "bank-vault" | "briefcase" | "credit-card" | "dollar-sign" | "enterprise" | "globe" | "globe-private" | "org" | "provider" | "shopping-bag" | "shopping-cart" | "arrow-down-circle" | "arrow-down-left" | "arrow-down-right" | "arrow-left" | "arrow-left-circle" | "arrow-right" | "arrow-right-circle" | "arrow-up-circle" | "arrow-up-left" | "arrow-up-right" | "caret" | "chevron-left" | "chevron-right" | "chevrons-down" | "chevrons-left" | "chevrons-right" | "chevrons-up" | "corner-down-left" | "corner-down-right" | "corner-left-down" | "corner-left-up" | "corner-right-down" | "corner-right-up" | "corner-up-left" | "corner-up-right" | "load-balancer" | "migrate" | "swap-horizontal";
|
|
33
|
+
} | {
|
|
34
|
+
label: string;
|
|
35
|
+
icon: undefined;
|
|
36
|
+
};
|
|
37
|
+
get hasDefaultOption(): boolean;
|
|
38
|
+
get hasSystemOption(): boolean;
|
|
39
|
+
get _options(): Partial<Record<"default" | "light" | "dark" | "system", ThemeOption>>;
|
|
40
|
+
get currentTheme(): "default" | "light" | "dark" | "system" | undefined;
|
|
41
|
+
onSelectTheme(theme: HdsThemes | undefined): void;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
@@ -222,6 +222,8 @@ export { default as HdsTextBody } from './components/hds/text/body.ts';
|
|
|
222
222
|
export { default as HdsTextCode } from './components/hds/text/code.ts';
|
|
223
223
|
export { default as HdsTextDisplay } from './components/hds/text/display.ts';
|
|
224
224
|
export * from './components/hds/text/types.ts';
|
|
225
|
+
export { default as HdsThemeContext } from './components/hds/theme-context/index.ts';
|
|
226
|
+
export { default as HdsThemeSwitcher } from './components/hds/theme-switcher/index.ts';
|
|
225
227
|
export { default as HdsTime } from './components/hds/time/index.ts';
|
|
226
228
|
export { default as HdsTimeSingle } from './components/hds/time/single.ts';
|
|
227
229
|
export { default as HdsTimeRange } from './components/hds/time/range.ts';
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import Service from '@ember/service';
|
|
2
|
+
export declare enum HdsThemeValues {
|
|
3
|
+
Default = "default",
|
|
4
|
+
System = "system",
|
|
5
|
+
Light = "light",
|
|
6
|
+
Dark = "dark"
|
|
7
|
+
}
|
|
8
|
+
export declare enum HdsModesBaseValues {
|
|
9
|
+
Default = "default"
|
|
10
|
+
}
|
|
11
|
+
export declare enum HdsModesLightValues {
|
|
12
|
+
CdsG0 = "cds-g0",
|
|
13
|
+
CdsG10 = "cds-g10"
|
|
14
|
+
}
|
|
15
|
+
export declare enum HdsModesDarkValues {
|
|
16
|
+
CdsG90 = "cds-g90",
|
|
17
|
+
CdsG100 = "cds-g100"
|
|
18
|
+
}
|
|
19
|
+
export type HdsThemes = `${HdsThemeValues}`;
|
|
20
|
+
export type HdsModes = `${HdsModesBaseValues}` | `${HdsModesLightValues}` | `${HdsModesDarkValues}`;
|
|
21
|
+
export type HdsModesLight = `${HdsModesLightValues}`;
|
|
22
|
+
export type HdsModesDark = `${HdsModesDarkValues}`;
|
|
23
|
+
type HdsThemingOptions = {
|
|
24
|
+
lightTheme: HdsModesLight;
|
|
25
|
+
darkTheme: HdsModesDark;
|
|
26
|
+
};
|
|
27
|
+
type SetThemeArgs = {
|
|
28
|
+
theme: HdsThemes | undefined;
|
|
29
|
+
options?: HdsThemingOptions;
|
|
30
|
+
onSetTheme?: HdsOnSetThemeCallback;
|
|
31
|
+
};
|
|
32
|
+
export type HdsOnSetThemeCallbackArgs = {
|
|
33
|
+
currentTheme: HdsThemes | undefined;
|
|
34
|
+
currentMode: HdsModes | undefined;
|
|
35
|
+
};
|
|
36
|
+
export type HdsOnSetThemeCallback = (args: HdsOnSetThemeCallbackArgs) => void;
|
|
37
|
+
export declare const THEMES: HdsThemes[];
|
|
38
|
+
export declare const MODES_LIGHT: HdsModesLight[];
|
|
39
|
+
export declare const MODES_DARK: HdsModesDark[];
|
|
40
|
+
export declare const MODES: HdsModes[];
|
|
41
|
+
export declare const HDS_THEMING_LOCALSTORAGE_DATA = "hds-theming-data";
|
|
42
|
+
export declare const DEFAULT_THEMING_OPTION_LIGHT_THEME = HdsModesLightValues.CdsG0;
|
|
43
|
+
export declare const DEFAULT_THEMING_OPTION_DARK_THEME = HdsModesDarkValues.CdsG100;
|
|
44
|
+
export default class HdsThemingService extends Service {
|
|
45
|
+
_currentTheme: HdsThemes | undefined;
|
|
46
|
+
_currentMode: HdsModes | undefined;
|
|
47
|
+
_currentLightTheme: HdsModesLight;
|
|
48
|
+
_currentDarkTheme: HdsModesDark;
|
|
49
|
+
globalOnSetTheme: HdsOnSetThemeCallback | undefined;
|
|
50
|
+
initializeTheme(): void;
|
|
51
|
+
setTheme({ theme, options, onSetTheme }: SetThemeArgs): void;
|
|
52
|
+
get currentTheme(): HdsThemes | undefined;
|
|
53
|
+
get currentMode(): HdsModes | undefined;
|
|
54
|
+
get currentLightTheme(): HdsModesLight;
|
|
55
|
+
get currentDarkTheme(): HdsModesDark;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
@@ -217,6 +217,8 @@ import type HdsTagComponent from './components/hds/tag';
|
|
|
217
217
|
import type HdsTooltipButtonComponent from './components/hds/tooltip-button';
|
|
218
218
|
import type HdsToastComponent from './components/hds/toast';
|
|
219
219
|
import type HdsTextCodeComponent from './components/hds/text/code';
|
|
220
|
+
import type HdsThemeContextComponent from './components/hds/theme-context';
|
|
221
|
+
import type HdsThemeSwitcherComponent from './components/hds/theme-switcher';
|
|
220
222
|
import type HdsTimeComponent from './components/hds/time';
|
|
221
223
|
import type HdsTimeSingleComponent from './components/hds/time/single';
|
|
222
224
|
import type HdsTimeRangeComponent from './components/hds/time/range';
|
|
@@ -687,6 +689,10 @@ export default interface HdsComponentsRegistry {
|
|
|
687
689
|
'hds/tooltip-button': typeof HdsTooltipButtonComponent;
|
|
688
690
|
'Hds::Toast': typeof HdsToastComponent;
|
|
689
691
|
'hds/toast': typeof HdsToastComponent;
|
|
692
|
+
'Hds::ThemeContext': typeof HdsThemeContextComponent;
|
|
693
|
+
'hds/theme-context': typeof HdsThemeContextComponent;
|
|
694
|
+
'Hds::ThemeSwitcher': typeof HdsThemeSwitcherComponent;
|
|
695
|
+
'hds/theme-switcher': typeof HdsThemeSwitcherComponent;
|
|
690
696
|
'Hds::Time': typeof HdsTimeComponent;
|
|
691
697
|
'hds/time': typeof HdsTimeComponent;
|
|
692
698
|
'Hds::Time::Single': typeof HdsTimeSingleComponent;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "@hashicorp/design-system-components/components/hds/theme-context/index";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "@hashicorp/design-system-components/components/hds/theme-switcher/index";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "@hashicorp/design-system-components/services/hds-theming";
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import { assert } from '@ember/debug';
|
|
3
|
+
import { HdsThemeContextThemesValues, HdsThemeContextModesValues } from './types.js';
|
|
4
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
5
|
+
import { setComponentTemplate } from '@ember/component';
|
|
6
|
+
|
|
7
|
+
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<div class={{this.classNames}} ...attributes>{{yield}}</div>");
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Copyright (c) HashiCorp, Inc.
|
|
11
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const CONTEXTUAL_THEMES = Object.values(HdsThemeContextThemesValues);
|
|
15
|
+
const CONTEXTUAL_MODES = Object.values(HdsThemeContextModesValues);
|
|
16
|
+
const CONTEXTUAL_VALUES = [...CONTEXTUAL_THEMES, ...CONTEXTUAL_MODES];
|
|
17
|
+
class HdsThemeContext extends Component {
|
|
18
|
+
constructor(owner, args) {
|
|
19
|
+
super(owner, args);
|
|
20
|
+
const {
|
|
21
|
+
context
|
|
22
|
+
} = args;
|
|
23
|
+
assert(`@context for "Hds::ThemeContext" must be one of the following: ${CONTEXTUAL_VALUES.join(', ')}; received: ${context}`, CONTEXTUAL_VALUES.includes(context));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Get the class names to apply to the component.
|
|
27
|
+
get classNames() {
|
|
28
|
+
const classes = ['hds-theme-context'];
|
|
29
|
+
const {
|
|
30
|
+
context
|
|
31
|
+
} = this.args;
|
|
32
|
+
|
|
33
|
+
// add "theme" or "mode" classes based on the @context arguments
|
|
34
|
+
if (CONTEXTUAL_THEMES.includes(context)) {
|
|
35
|
+
classes.push(`hds-theme-${context}`);
|
|
36
|
+
} else if (CONTEXTUAL_MODES.includes(context)) {
|
|
37
|
+
classes.push(`hds-mode-${context}`);
|
|
38
|
+
}
|
|
39
|
+
return classes.join(' ');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
setComponentTemplate(TEMPLATE, HdsThemeContext);
|
|
43
|
+
|
|
44
|
+
export { CONTEXTUAL_MODES, CONTEXTUAL_THEMES, CONTEXTUAL_VALUES, HdsThemeContext as default };
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/theme-context/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\nimport type Owner from '@ember/owner';\n\nimport {\n HdsThemeContextThemesValues,\n HdsThemeContextModesValues,\n} from './types.ts';\nimport type { HdsThemeContexts } from './types.ts';\n\nimport type { HdsThemes, HdsModes } from '../../../services/hds-theming.ts';\n\nexport interface HdsThemeContextSignature {\n Args: {\n // can be either an `HdsTheme` or an `HdsMode`\n context: HdsThemeContexts;\n };\n Blocks: {\n default: [];\n };\n Element: HTMLElement;\n}\n\nexport const CONTEXTUAL_THEMES: HdsThemes[] = Object.values(\n HdsThemeContextThemesValues\n);\nexport const CONTEXTUAL_MODES: HdsModes[] = Object.values(\n HdsThemeContextModesValues\n);\nexport const CONTEXTUAL_VALUES: HdsThemeContexts[] = [\n ...CONTEXTUAL_THEMES,\n ...CONTEXTUAL_MODES,\n];\n\nexport default class HdsThemeContext extends Component<HdsThemeContextSignature> {\n constructor(owner: Owner, args: HdsThemeContextSignature['Args']) {\n super(owner, args);\n\n const { context } = args;\n\n assert(\n `@context for \"Hds::ThemeContext\" must be one of the following: ${CONTEXTUAL_VALUES.join(\n ', '\n )}; received: ${context}`,\n CONTEXTUAL_VALUES.includes(context)\n );\n }\n\n // Get the class names to apply to the component.\n get classNames(): string {\n const classes = ['hds-theme-context'];\n\n const { context } = this.args;\n\n // add \"theme\" or \"mode\" classes based on the @context arguments\n if (CONTEXTUAL_THEMES.includes(context as HdsThemes)) {\n classes.push(`hds-theme-${context}`);\n } else if (CONTEXTUAL_MODES.includes(context as HdsModes)) {\n classes.push(`hds-mode-${context}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["CONTEXTUAL_THEMES","Object","values","HdsThemeContextThemesValues","CONTEXTUAL_MODES","HdsThemeContextModesValues","CONTEXTUAL_VALUES","HdsThemeContext","Component","constructor","owner","args","context","assert","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAyBO,MAAMA,iBAA8B,GAAGC,MAAM,CAACC,MAAM,CACzDC,2BACF;AACO,MAAMC,gBAA4B,GAAGH,MAAM,CAACC,MAAM,CACvDG,0BACF;AACO,MAAMC,iBAAqC,GAAG,CACnD,GAAGN,iBAAiB,EACpB,GAAGI,gBAAgB;AAGN,MAAMG,eAAe,SAASC,SAAS,CAA2B;AAC/EC,EAAAA,WAAWA,CAACC,KAAY,EAAEC,IAAsC,EAAE;AAChE,IAAA,KAAK,CAACD,KAAK,EAAEC,IAAI,CAAC;IAElB,MAAM;AAAEC,MAAAA;AAAQ,KAAC,GAAGD,IAAI;AAExBE,IAAAA,MAAM,CACJ,CAAA,+DAAA,EAAkEP,iBAAiB,CAACQ,IAAI,CACtF,IACF,CAAC,CAAA,YAAA,EAAeF,OAAO,CAAA,CAAE,EACzBN,iBAAiB,CAACS,QAAQ,CAACH,OAAO,CACpC,CAAC;AACH,EAAA;;AAEA;EACA,IAAII,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,mBAAmB,CAAC;IAErC,MAAM;AAAEL,MAAAA;KAAS,GAAG,IAAI,CAACD,IAAI;;AAE7B;AACA,IAAA,IAAIX,iBAAiB,CAACe,QAAQ,CAACH,OAAoB,CAAC,EAAE;AACpDK,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,UAAA,EAAaN,OAAO,EAAE,CAAC;IACtC,CAAC,MAAM,IAAIR,gBAAgB,CAACW,QAAQ,CAACH,OAAmB,CAAC,EAAE;AACzDK,MAAAA,OAAO,CAACC,IAAI,CAAC,CAAA,SAAA,EAAYN,OAAO,EAAE,CAAC;AACrC,IAAA;AAEA,IAAA,OAAOK,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC;AAC1B,EAAA;AACF;AAACK,oBAAA,CAAAC,QAAA,EA7BoBb,eAAe,CAAA;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { HdsThemeValues, HdsModesDarkValues, HdsModesLightValues } from '../../../services/hds-theming.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Copyright (c) HashiCorp, Inc.
|
|
5
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
// re-export the enum values for the `HdsThemes` to use in the component
|
|
9
|
+
// note: using `as const` ensures Object.values() returns only the values (not keys _and_ values)
|
|
10
|
+
const HdsThemeContextThemesValues = {
|
|
11
|
+
Default: HdsThemeValues.Default,
|
|
12
|
+
System: HdsThemeValues.System,
|
|
13
|
+
Light: HdsThemeValues.Light,
|
|
14
|
+
Dark: HdsThemeValues.Dark
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
// re-export the enum values for the `HdsModes` to use in the component
|
|
18
|
+
// note: using `as const` ensures Object.values() returns only the values (not keys _and_ values)
|
|
19
|
+
const HdsThemeContextModesValues = {
|
|
20
|
+
CdsG0: HdsModesLightValues.CdsG0,
|
|
21
|
+
CdsG10: HdsModesLightValues.CdsG10,
|
|
22
|
+
CdsG90: HdsModesDarkValues.CdsG90,
|
|
23
|
+
CdsG100: HdsModesDarkValues.CdsG100
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export { HdsThemeContextModesValues, HdsThemeContextThemesValues };
|
|
27
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../src/components/hds/theme-context/types.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport {\n HdsThemeValues,\n HdsModesLightValues,\n HdsModesDarkValues,\n} from '../../../services/hds-theming.ts';\n\nimport type { HdsThemes, HdsModes } from '../../../services/hds-theming.ts';\n\n// re-export the enum values for the `HdsThemes` to use in the component\n// note: using `as const` ensures Object.values() returns only the values (not keys _and_ values)\nexport const HdsThemeContextThemesValues = {\n Default: HdsThemeValues.Default,\n System: HdsThemeValues.System,\n Light: HdsThemeValues.Light,\n Dark: HdsThemeValues.Dark,\n} as const;\n\n// re-export the enum values for the `HdsModes` to use in the component\n// note: using `as const` ensures Object.values() returns only the values (not keys _and_ values)\nexport const HdsThemeContextModesValues = {\n CdsG0: HdsModesLightValues.CdsG0,\n CdsG10: HdsModesLightValues.CdsG10,\n CdsG90: HdsModesDarkValues.CdsG90,\n CdsG100: HdsModesDarkValues.CdsG100,\n} as const;\n\nexport type HdsThemeContexts = HdsThemes | Exclude<HdsModes, 'default'>;\n"],"names":["HdsThemeContextThemesValues","Default","HdsThemeValues","System","Light","Dark","HdsThemeContextModesValues","CdsG0","HdsModesLightValues","CdsG10","CdsG90","HdsModesDarkValues","CdsG100"],"mappings":";;AAAA;AACA;AACA;AACA;;AAUA;AACA;AACO,MAAMA,2BAA2B,GAAG;EACzCC,OAAO,EAAEC,cAAc,CAACD,OAAO;EAC/BE,MAAM,EAAED,cAAc,CAACC,MAAM;EAC7BC,KAAK,EAAEF,cAAc,CAACE,KAAK;EAC3BC,IAAI,EAAEH,cAAc,CAACG;AACvB;;AAEA;AACA;AACO,MAAMC,0BAA0B,GAAG;EACxCC,KAAK,EAAEC,mBAAmB,CAACD,KAAK;EAChCE,MAAM,EAAED,mBAAmB,CAACC,MAAM;EAClCC,MAAM,EAAEC,kBAAkB,CAACD,MAAM;EACjCE,OAAO,EAAED,kBAAkB,CAACC;AAC9B;;;;"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import { inject } from '@ember/service';
|
|
3
|
+
import { action } from '@ember/object';
|
|
4
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
5
|
+
import { g, i, n } from 'decorator-transforms/runtime';
|
|
6
|
+
import { setComponentTemplate } from '@ember/component';
|
|
7
|
+
|
|
8
|
+
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n{{!\n ------------------------------------------------------------------------------------------\n IMPORTANT: this is a temporary implementation, while we wait for the design specifications\n ------------------------------------------------------------------------------------------\n}}\n\n<Hds::Dropdown\n @enableCollisionDetection={{true}}\n @matchToggleWidth={{@toggleIsFullWidth}}\n class=\"hds-theme-switcher-control\"\n ...attributes\n as |D|\n>\n <D.ToggleButton\n @color=\"secondary\"\n @size={{this.toggleSize}}\n @isFullWidth={{this.toggleIsFullWidth}}\n @text={{this.toggleContent.label}}\n @icon={{this.toggleContent.icon}}\n />\n {{#each-in this._options as |key data|}}\n <D.Interactive @icon={{data.icon}} {{on \"click\" (fn this.onSelectTheme data.theme)}}>{{data.label}}</D.Interactive>\n {{/each-in}}\n</Hds::Dropdown>");
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Copyright (c) HashiCorp, Inc.
|
|
12
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
const OPTIONS = {
|
|
16
|
+
default: {
|
|
17
|
+
theme: 'default',
|
|
18
|
+
icon: 'hashicorp',
|
|
19
|
+
label: 'Default'
|
|
20
|
+
},
|
|
21
|
+
system: {
|
|
22
|
+
theme: 'system',
|
|
23
|
+
icon: 'monitor',
|
|
24
|
+
label: 'System'
|
|
25
|
+
},
|
|
26
|
+
light: {
|
|
27
|
+
theme: 'light',
|
|
28
|
+
icon: 'sun',
|
|
29
|
+
label: 'Light'
|
|
30
|
+
},
|
|
31
|
+
dark: {
|
|
32
|
+
theme: 'dark',
|
|
33
|
+
icon: 'moon',
|
|
34
|
+
label: 'Dark'
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
class HdsThemeSwitcher extends Component {
|
|
38
|
+
static {
|
|
39
|
+
g(this.prototype, "hdsTheming", [inject]);
|
|
40
|
+
}
|
|
41
|
+
#hdsTheming = (i(this, "hdsTheming"), void 0);
|
|
42
|
+
get toggleSize() {
|
|
43
|
+
return this.args.toggleSize ?? 'small';
|
|
44
|
+
}
|
|
45
|
+
get toggleIsFullWidth() {
|
|
46
|
+
return this.args.toggleIsFullWidth ?? false;
|
|
47
|
+
}
|
|
48
|
+
get toggleContent() {
|
|
49
|
+
if (this.currentTheme === 'default' && this.hasDefaultOption || this.currentTheme === 'system' && this.hasSystemOption || this.currentTheme === 'light' || this.currentTheme === 'dark') {
|
|
50
|
+
return {
|
|
51
|
+
label: OPTIONS[this.currentTheme].label,
|
|
52
|
+
icon: OPTIONS[this.currentTheme].icon
|
|
53
|
+
};
|
|
54
|
+
} else {
|
|
55
|
+
return {
|
|
56
|
+
label: 'Theme',
|
|
57
|
+
icon: undefined
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// note: we will use the `default` option in development, while migrating to the `cds` theming
|
|
63
|
+
// during this process, consumers will enable/disable this option via code logic or feature flag
|
|
64
|
+
get hasDefaultOption() {
|
|
65
|
+
return this.args.hasDefaultOption ?? false;
|
|
66
|
+
}
|
|
67
|
+
get hasSystemOption() {
|
|
68
|
+
return this.args.hasSystemOption ?? true;
|
|
69
|
+
}
|
|
70
|
+
get _options() {
|
|
71
|
+
const options = {
|
|
72
|
+
...OPTIONS
|
|
73
|
+
};
|
|
74
|
+
if (!this.hasDefaultOption) {
|
|
75
|
+
delete options.default;
|
|
76
|
+
}
|
|
77
|
+
if (!this.hasSystemOption) {
|
|
78
|
+
delete options.system;
|
|
79
|
+
}
|
|
80
|
+
return options;
|
|
81
|
+
}
|
|
82
|
+
get currentTheme() {
|
|
83
|
+
// we get the theme from the global service
|
|
84
|
+
return this.hdsTheming.currentTheme;
|
|
85
|
+
}
|
|
86
|
+
onSelectTheme(theme) {
|
|
87
|
+
// we set the theme in the global service (and provide an optional user-defined callback)
|
|
88
|
+
this.hdsTheming.setTheme({
|
|
89
|
+
theme,
|
|
90
|
+
onSetTheme: this.args.onSetTheme
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
static {
|
|
94
|
+
n(this.prototype, "onSelectTheme", [action]);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
setComponentTemplate(TEMPLATE, HdsThemeSwitcher);
|
|
98
|
+
|
|
99
|
+
export { HdsThemeSwitcher as default };
|
|
100
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/theme-switcher/index.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\n// ------------------------------------------------------------------------------------------\n// IMPORTANT: this is a temporary implementation, while we wait for the design specifications\n// ------------------------------------------------------------------------------------------\n\nimport Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { action } from '@ember/object';\n\nimport type { HdsDropdownSignature } from '../dropdown/index.ts';\nimport type { HdsDropdownToggleButtonSignature } from '../dropdown/toggle/button.ts';\nimport type { HdsIconSignature } from '../icon/index.ts';\nimport type HdsThemingService from '../../../services/hds-theming.ts';\nimport type {\n HdsThemes,\n HdsOnSetThemeCallback,\n} from '../../../services/hds-theming.ts';\n\ninterface ThemeOption {\n theme: HdsThemes | undefined;\n icon: HdsIconSignature['Args']['name'];\n label: string;\n}\n\nconst OPTIONS: Record<HdsThemes, ThemeOption> = {\n default: { theme: 'default', icon: 'hashicorp', label: 'Default' },\n system: { theme: 'system', icon: 'monitor', label: 'System' },\n light: { theme: 'light', icon: 'sun', label: 'Light' },\n dark: { theme: 'dark', icon: 'moon', label: 'Dark' },\n};\n\nexport interface HdsThemeSwitcherSignature {\n Args: {\n toggleSize?: HdsDropdownToggleButtonSignature['Args']['size'];\n toggleIsFullWidth?: HdsDropdownToggleButtonSignature['Args']['isFullWidth'];\n hasDefaultOption?: boolean;\n hasSystemOption?: boolean;\n onSetTheme?: HdsOnSetThemeCallback;\n };\n Element: HdsDropdownSignature['Element'];\n}\n\nexport default class HdsThemeSwitcher extends Component<HdsThemeSwitcherSignature> {\n @service declare readonly hdsTheming: HdsThemingService;\n\n get toggleSize() {\n return this.args.toggleSize ?? 'small';\n }\n\n get toggleIsFullWidth() {\n return this.args.toggleIsFullWidth ?? false;\n }\n\n get toggleContent() {\n if (\n (this.currentTheme === 'default' && this.hasDefaultOption) ||\n (this.currentTheme === 'system' && this.hasSystemOption) ||\n this.currentTheme === 'light' ||\n this.currentTheme === 'dark'\n ) {\n return {\n label: OPTIONS[this.currentTheme].label,\n icon: OPTIONS[this.currentTheme].icon,\n };\n } else {\n return { label: 'Theme', icon: undefined };\n }\n }\n\n // note: we will use the `default` option in development, while migrating to the `cds` theming\n // during this process, consumers will enable/disable this option via code logic or feature flag\n get hasDefaultOption() {\n return this.args.hasDefaultOption ?? false;\n }\n\n get hasSystemOption() {\n return this.args.hasSystemOption ?? true;\n }\n\n get _options() {\n const options: Partial<typeof OPTIONS> = { ...OPTIONS };\n\n if (!this.hasDefaultOption) {\n delete options.default;\n }\n\n if (!this.hasSystemOption) {\n delete options.system;\n }\n\n return options;\n }\n\n get currentTheme() {\n // we get the theme from the global service\n return this.hdsTheming.currentTheme;\n }\n\n @action\n onSelectTheme(theme: HdsThemes | undefined): void {\n // we set the theme in the global service (and provide an optional user-defined callback)\n this.hdsTheming.setTheme({ theme, onSetTheme: this.args.onSetTheme });\n }\n}\n"],"names":["OPTIONS","default","theme","icon","label","system","light","dark","HdsThemeSwitcher","Component","g","prototype","service","i","void 0","toggleSize","args","toggleIsFullWidth","toggleContent","currentTheme","hasDefaultOption","hasSystemOption","undefined","_options","options","hdsTheming","onSelectTheme","setTheme","onSetTheme","n","action","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
package/dist/components.js
CHANGED
|
@@ -218,6 +218,8 @@ export { default as HdsTextBody } from './components/hds/text/body.js';
|
|
|
218
218
|
export { default as HdsTextCode } from './components/hds/text/code.js';
|
|
219
219
|
export { default as HdsTextDisplay } from './components/hds/text/display.js';
|
|
220
220
|
export { HdsTextAlignValues, HdsTextColorValues, HdsTextGroupValues, HdsTextSizeValues, HdsTextWeightValues } from './components/hds/text/types.js';
|
|
221
|
+
export { default as HdsThemeContext } from './components/hds/theme-context/index.js';
|
|
222
|
+
export { default as HdsThemeSwitcher } from './components/hds/theme-switcher/index.js';
|
|
221
223
|
export { default as HdsTime } from './components/hds/time/index.js';
|
|
222
224
|
export { default as HdsTimeSingle } from './components/hds/time/single.js';
|
|
223
225
|
export { default as HdsTimeRange } from './components/hds/time/range.js';
|
package/dist/components.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|