@hashicorp/design-system-components 4.12.0 → 4.13.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/declarations/components/hds/app-footer/status-link.d.ts +1 -1
- package/declarations/components/hds/code-block/index.d.ts +1 -0
- package/declarations/components/hds/code-block/index.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/index.d.ts +1 -1
- package/declarations/components/hds/dropdown/index.d.ts.map +1 -1
- package/declarations/components/hds/dropdown/list-item/interactive.d.ts +3 -0
- package/declarations/components/hds/dropdown/list-item/interactive.d.ts.map +1 -1
- package/declarations/components/hds/flyout/index.d.ts +1 -1
- package/declarations/components/hds/flyout/index.d.ts.map +1 -1
- package/declarations/components/hds/form/super-select/multiple/base.d.ts.map +1 -1
- package/declarations/components/hds/modal/index.d.ts +2 -25
- package/declarations/components/hds/modal/index.d.ts.map +1 -1
- package/declarations/components/hds/stepper/task/indicator.d.ts +1 -1
- package/declarations/components/hds/stepper/task/indicator.d.ts.map +1 -1
- package/dist/components/hds/code-block/index.js +2 -2
- package/dist/components/hds/code-block/index.js.map +1 -1
- package/dist/components/hds/dropdown/index.js +1 -1
- package/dist/components/hds/dropdown/index.js.map +1 -1
- package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
- package/dist/components/hds/flyout/index.js +8 -0
- package/dist/components/hds/flyout/index.js.map +1 -1
- package/dist/components/hds/form/super-select/multiple/base.js +1 -1
- package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
- package/dist/components/hds/modal/index.js +12 -36
- package/dist/components/hds/modal/index.js.map +1 -1
- package/dist/styles/@hashicorp/design-system-components.css +18 -4
- package/dist/styles/components/dropdown.scss +16 -8
- package/dist/styles/components/form/super-select.scss +17 -3
- package/package.json +3 -3
|
@@ -10,7 +10,7 @@ import type { HdsAppFooterLinkSignature } from './link.ts';
|
|
|
10
10
|
import type { HdsIconSignature } from '../icon';
|
|
11
11
|
export declare const STATUSES: Record<import("./types.ts").HdsAppFooterStatusValues, {
|
|
12
12
|
text: string;
|
|
13
|
-
iconName: "type" | "map" | "filter" | "code" | "link" | "menu" | "search" | "video" | "circle" | "image" | "path" | "tag" | "repeat" | "hash" | "target" | "change" | "pause" | "play" | "loading" | "loading-static" | "running" | "running-static" | "apple" | "apple-color" | "alibaba" | "alibaba-color" | "amazon-ecs" | "amazon-ecs-color" | "amazon-eks" | "amazon-eks-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" | "datadog" | "datadog-color" | "digital-ocean" | "digital-ocean-color" | "docker" | "docker-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" | "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" | "pack" | "pack-color" | "pager-duty" | "pager-duty-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" | "arrow-down" | "arrow-down-circle" | "arrow-down-left" | "arrow-down-right" | "arrow-left" | "arrow-left-circle" | "arrow-right" | "arrow-right-circle" | "arrow-up" | "arrow-up-circle" | "arrow-up-left" | "arrow-up-right" | "caret" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "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" | "move" | "shuffle" | "swap-horizontal" | "swap-vertical" | "bank-vault" | "briefcase" | "credit-card" | "dollar-sign" | "enterprise" | "globe" | "globe-private" | "org" | "provider" | "shopping-bag" | "shopping-cart" | "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" | "bar-chart" | "bar-chart-alt" | "box" | "collections" | "database" | "hard-drive" | "line-chart" | "line-chart-up" | "logs" | "package" | "pie-chart" | "queue" | "save" | "trend-down" | "trend-up" | "calendar" | "clock" | "clock-filled" | "delay" | "event" | "history" | "hourglass" | "watch" | "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" | "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" | "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" | "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" | "power" | "printer" | "reload" | "rotate-cw" | "rotate-ccw" | "share" | "sidebar" | "sidebar-hide" | "sidebar-show" | "sign-in" | "sign-out" | "slash" | "slash-square" | "sort-asc" | "sort-desc" | "switcher" | "sync" | "sync-alert" | "sync-reverse" | "toggle-left" | "toggle-right" | "top" | "trash" | "unfold-close" | "unfold-open" | "upload" | "zoom-in" | "zoom-out" | "compass" | "crosshair" | "map-pin" | "navigation" | "navigation-alt" | "redirect" | "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-2" | "volume-x" | "wifi" | "wifi-off" | "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" | "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" | "bug" | "certificate" | "eye" | "eye-off" | "fingerprint" | "key" | "keychain" | "lock" | "lock-fill" | "lock-off" | "shield" | "shield-alert" | "shield-check" | "shield-off" | "shield-x" | "token" | "unlock" | "verified" | "wall" | "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" | "docs" | "docs-download" | "docs-link" | "guide" | "guide-link" | "help" | "info" | "info-fill" | "learn" | "learn-link" | "support" | "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";
|
|
13
|
+
iconName: "type" | "map" | "filter" | "code" | "link" | "menu" | "search" | "video" | "circle" | "image" | "path" | "tag" | "repeat" | "hash" | "target" | "change" | "pause" | "play" | "loading" | "loading-static" | "running" | "running-static" | "apple" | "apple-color" | "alibaba" | "alibaba-color" | "amazon-ecs" | "amazon-ecs-color" | "amazon-eks" | "amazon-eks-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" | "confluent" | "confluent-color" | "datadog" | "datadog-color" | "digital-ocean" | "digital-ocean-color" | "docker" | "docker-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" | "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" | "pack" | "pack-color" | "pager-duty" | "pager-duty-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" | "arrow-down" | "arrow-down-circle" | "arrow-down-left" | "arrow-down-right" | "arrow-left" | "arrow-left-circle" | "arrow-right" | "arrow-right-circle" | "arrow-up" | "arrow-up-circle" | "arrow-up-left" | "arrow-up-right" | "caret" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "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" | "move" | "shuffle" | "swap-horizontal" | "swap-vertical" | "bank-vault" | "briefcase" | "credit-card" | "dollar-sign" | "enterprise" | "globe" | "globe-private" | "org" | "provider" | "shopping-bag" | "shopping-cart" | "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" | "bar-chart" | "bar-chart-alt" | "box" | "collections" | "database" | "hard-drive" | "line-chart" | "line-chart-up" | "logs" | "package" | "pie-chart" | "queue" | "save" | "trend-down" | "trend-up" | "calendar" | "clock" | "clock-filled" | "delay" | "event" | "history" | "hourglass" | "watch" | "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" | "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" | "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" | "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" | "power" | "printer" | "reload" | "rotate-cw" | "rotate-ccw" | "share" | "sidebar" | "sidebar-hide" | "sidebar-show" | "sign-in" | "sign-out" | "slash" | "slash-square" | "sort-asc" | "sort-desc" | "switcher" | "sync" | "sync-alert" | "sync-reverse" | "toggle-left" | "toggle-right" | "top" | "trash" | "unfold-close" | "unfold-open" | "upload" | "zoom-in" | "zoom-out" | "compass" | "crosshair" | "map-pin" | "navigation" | "navigation-alt" | "redirect" | "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-2" | "volume-x" | "wifi" | "wifi-off" | "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" | "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" | "bug" | "certificate" | "eye" | "eye-off" | "fingerprint" | "key" | "keychain" | "lock" | "lock-fill" | "lock-off" | "shield" | "shield-alert" | "shield-check" | "shield-off" | "shield-x" | "token" | "unlock" | "verified" | "wall" | "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" | "docs" | "docs-download" | "docs-link" | "guide" | "guide-link" | "help" | "info" | "info-fill" | "learn" | "learn-link" | "support" | "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";
|
|
14
14
|
}>;
|
|
15
15
|
export interface HdsAppFooterStatusLinkSignature {
|
|
16
16
|
Args: HdsInteractiveSignature['Args'] & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/hds/code-block/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAU3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,iDAAiD,CAAC;AACzD,OAAO,qDAAqD,CAAC;AAE7D,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AACrC,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,wCAAwC,CAAC;AAChD,OAAO,+BAA+B,CAAC;AAKvC,OAAO,4CAA4C,CAAC;AACpD,OAAO,qCAAqC,CAAC;AAE7C,eAAO,MAAM,SAAS,EAAE,MAAM,EAA8C,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE;QACJ,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBACE,KAAK,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC;gBAClD,WAAW,CAAC,EAAE,aAAa,CAAC,gCAAgC,CAAC,CAAC;aAC/D;SACF,CAAC;KACH,CAAC;IACF,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS,CAAC,qBAAqB,CAAC;IAC/D,SAAS,EAAE,UAAU,CAAgB;IAE9C;;;;OAIG;IACH,SAAS,SAA+B;IAExC;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAajB;IAED;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,qBAAqB,GAAG,SAAS,CAEhD;IAED;;;;;OAKG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;;OAKG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;OAKG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IAGD,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAmCxC;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,CAuBvB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/hds/code-block/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAU3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,iDAAiD,CAAC;AACzD,OAAO,qDAAqD,CAAC;AAE7D,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AACrC,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,wCAAwC,CAAC;AAChD,OAAO,+BAA+B,CAAC;AAKvC,OAAO,4CAA4C,CAAC;AACpD,OAAO,qCAAqC,CAAC;AAE7C,eAAO,MAAM,SAAS,EAAE,MAAM,EAA8C,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE;QACJ,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBACE,KAAK,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC;gBAClD,WAAW,CAAC,EAAE,aAAa,CAAC,gCAAgC,CAAC,CAAC;aAC/D;SACF,CAAC;KACH,CAAC;IACF,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS,CAAC,qBAAqB,CAAC;IAC/D,SAAS,EAAE,UAAU,CAAgB;IAE9C;;;;OAIG;IACH,SAAS,SAA+B;IAExC;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAajB;IAED;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,qBAAqB,GAAG,SAAS,CAEhD;IAED;;;;;OAKG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;;OAKG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;OAKG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IAGD,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAmCxC;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,CAuBvB;CAuDF"}
|
|
@@ -31,6 +31,7 @@ export interface HdsDropdownSignature {
|
|
|
31
31
|
listPosition?: HdsDropdownPositions;
|
|
32
32
|
width?: string;
|
|
33
33
|
enableCollisionDetection?: FloatingUIOptions['enableCollisionDetection'];
|
|
34
|
+
preserveContentInDom?: boolean;
|
|
34
35
|
};
|
|
35
36
|
Blocks: {
|
|
36
37
|
default: [
|
|
@@ -49,7 +50,6 @@ export interface HdsDropdownSignature {
|
|
|
49
50
|
ToggleButton?: ComponentLike<HdsDropdownToggleButtonSignature>;
|
|
50
51
|
ToggleIcon?: ComponentLike<HdsDropdownToggleIconSignature>;
|
|
51
52
|
close?: () => void;
|
|
52
|
-
isOpen?: boolean;
|
|
53
53
|
}
|
|
54
54
|
];
|
|
55
55
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/hds/dropdown/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAIL,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAErF,eAAO,MAAM,gBAAgB,wCAAwC,CAAC;AACtE,eAAO,MAAM,SAAS,EAAE,MAAM,EAA6C,CAAC;AAE5E,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,GAAG;QACrC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,oBAAoB,CAAC;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,wBAAwB,CAAC,EAAE,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/hds/dropdown/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,9 @@ export interface HdsDropdownListItemInteractiveSignature {
|
|
|
16
16
|
color?: HdsDropdownListItemInteractiveColors;
|
|
17
17
|
icon?: HdsIconSignature['Args']['name'];
|
|
18
18
|
isLoading?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated The `@text` argument for "Hds::Dropdown::ListItem::Interactive" has been deprecated. Please put text in the yielded block. See: https://helios.hashicorp.design/components/dropdown?tab=version%20history#4100
|
|
21
|
+
*/
|
|
19
22
|
text?: string;
|
|
20
23
|
trailingIcon?: HdsIconSignature['Args']['name'];
|
|
21
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../../../../src/components/hds/dropdown/list-item/interactive.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAG3C,OAAO,EAAE,yCAAyC,EAAE,MAAM,YAAY,CAAC;AAEvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,eAAO,MAAM,aAAa,mDAAmD,CAAC;AAC9E,eAAO,MAAM,MAAM,EAAE,MAAM,EAE1B,CAAC;AAEF,MAAM,WAAW,uCAAuC;IACtD,IAAI,EAAE,uBAAuB,CAAC,MAAM,CAAC,GAAG;QACtC,KAAK,CAAC,EAAE,oCAAoC,CAAC;QAC7C,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;QACxC,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;KACjD,CAAC;IACF,MAAM,EAAE;QACN,OAAO,CAAC,EAAE;YACR;gBACE,KAAK,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;aAC1C;SACF,CAAC;KACH,CAAC;IACF,OAAO,EAAE,cAAc,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;CAC9D;AAED,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,SAAS,CAAC,uCAAuC,CAAC;gBAE1G,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,uCAAuC,CAAC,MAAM,CAAC;IAsBvD,IAAI,IAAI,IAAI,MAAM,CASjB;IAED,IAAI,KAAK,IAAI,oCAAoC,CAWhD;IAED,IAAI,UAAU,IAAI,MAAM,CAUvB;CAiGF"}
|
|
1
|
+
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../../../../src/components/hds/dropdown/list-item/interactive.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAG3C,OAAO,EAAE,yCAAyC,EAAE,MAAM,YAAY,CAAC;AAEvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,eAAO,MAAM,aAAa,mDAAmD,CAAC;AAC9E,eAAO,MAAM,MAAM,EAAE,MAAM,EAE1B,CAAC;AAEF,MAAM,WAAW,uCAAuC;IACtD,IAAI,EAAE,uBAAuB,CAAC,MAAM,CAAC,GAAG;QACtC,KAAK,CAAC,EAAE,oCAAoC,CAAC;QAC7C,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;QACxC,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;KACjD,CAAC;IACF,MAAM,EAAE;QACN,OAAO,CAAC,EAAE;YACR;gBACE,KAAK,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;aAC1C;SACF,CAAC;KACH,CAAC;IACF,OAAO,EAAE,cAAc,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;CAC9D;AAED,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,SAAS,CAAC,uCAAuC,CAAC;gBAE1G,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,uCAAuC,CAAC,MAAM,CAAC;IAsBvD,IAAI,IAAI,IAAI,MAAM,CASjB;IAED,IAAI,KAAK,IAAI,oCAAoC,CAWhD;IAED,IAAI,UAAU,IAAI,MAAM,CAUvB;CAiGF"}
|
|
@@ -15,8 +15,8 @@ export declare const DEFAULT_HAS_OVERLAY = true;
|
|
|
15
15
|
export declare const SIZES: string[];
|
|
16
16
|
export interface HdsFlyoutSignature {
|
|
17
17
|
Args: {
|
|
18
|
-
isDismissDisabled?: boolean;
|
|
19
18
|
size?: HdsFlyoutSizes;
|
|
19
|
+
returnFocusTo?: string;
|
|
20
20
|
onOpen?: () => void;
|
|
21
21
|
onClose?: (event: Event) => void;
|
|
22
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/hds/flyout/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAM3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,+BAA+B,MAAM,6BAA6B,CAAC;AAC1E,OAAO,sCAAsC,MAAM,oCAAoC,CAAC;AACxF,OAAO,iCAAiC,MAAM,+BAA+B,CAAC;AAC9E,OAAO,iCAAiC,MAAM,+BAA+B,CAAC;AAI9E,eAAO,MAAM,YAAY,8BAA8B,CAAC;AACxD,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,KAAK,EAAE,MAAM,EAAwC,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE;QACJ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/hds/flyout/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAM3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,+BAA+B,MAAM,6BAA6B,CAAC;AAC1E,OAAO,sCAAsC,MAAM,oCAAoC,CAAC;AACxF,OAAO,iCAAiC,MAAM,+BAA+B,CAAC;AAC9E,OAAO,iCAAiC,MAAM,+BAA+B,CAAC;AAI9E,eAAO,MAAM,YAAY,8BAA8B,CAAC;AACxD,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,KAAK,EAAE,MAAM,EAAwC,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE;QACJ,IAAI,CAAC,EAAE,cAAc,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KAClC,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBACE,MAAM,CAAC,EAAE,aAAa,CACpB,OAAO,iCAAiC,EACxC,IAAI,GAAG,WAAW,GAAG,uBAAuB,CAC7C,CAAC;gBACF,WAAW,CAAC,EAAE,aAAa,CACzB,OAAO,sCAAsC,EAC7C,iBAAiB,CAClB,CAAC;gBACF,IAAI,CAAC,EAAE,aAAa,CAClB,OAAO,+BAA+B,EACtC,iBAAiB,CAClB,CAAC;gBACF,MAAM,CAAC,EAAE,aAAa,CACpB,OAAO,iCAAiC,EACxC,WAAW,GAAG,iBAAiB,CAChC,CAAC;aACH;SACF,CAAC;KACH,CAAC;IACF,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,SAAS,CAAC,kBAAkB,CAAC;IACzD,MAAM,UAAS;IACxB,OAAO,EAAG,iBAAiB,CAAC;IAC5B,IAAI,EAAG,WAAW,CAAC;IACnB,wBAAwB,SAAM;IAE9B;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI,cAAc,CAWzB;IAED;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,CAOvB;IAEO,uBAAuB,CAAC,KAAK,EAAE,KAAK;IAS5C,SAAS,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAqB3C,eAAe,IAAI,IAAI;IAWvB,IAAI,IAAI,IAAI;IAeN,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAiFjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/components/hds/form/super-select/multiple/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAK3C,OAAO,EACL,0CAA0C,EAE3C,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,aAAa,CAAC;AAEzE,eAAO,MAAM,2BAA2B,EAAE,MACO,CAAC;AAClD,eAAO,MAAM,2BAA2B,wGACe,CAAC;AAExD,MAAM,WAAW,uCAAuC;IACtD,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG;QACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;CAC1C;AAED,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,SAAS,CAAC,uCAAuC,CAAC;IACnG,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,gBAAgB,UAAS;IACzB,qBAAqB,UAAS;IAEvC,IAAI,kBAAkB,IAAI,qCAAqC,CAG9D;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,kBAAkB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/components/hds/form/super-select/multiple/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAK3C,OAAO,EACL,0CAA0C,EAE3C,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,aAAa,CAAC;AAEzE,eAAO,MAAM,2BAA2B,EAAE,MACO,CAAC;AAClD,eAAO,MAAM,2BAA2B,wGACe,CAAC;AAExD,MAAM,WAAW,uCAAuC;IACtD,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG;QACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;CAC1C;AAED,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,SAAS,CAAC,uCAAuC,CAAC;IACnG,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,gBAAgB,UAAS;IACzB,qBAAqB,UAAS;IAEvC,IAAI,kBAAkB,IAAI,qCAAqC,CAG9D;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,kBAAkB,IAAI,MAAM,CAK/B;IAEO,iBAAiB,CACvB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,GACnB,uBAAuB;IAgB1B;;;;;;;;;;OAUG;IAEH,iBAAiB,CAAC,cAAc,EAAE,WAAW,GAAG,IAAI;IAO5C,YAAY,IAAI,IAAI;IAKpB,OAAO,IAAI,IAAI;IAKf,aAAa,IAAI,IAAI;IAO7B;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAGD;;;;;OAKG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED;;;;;OAKG;IACH,IAAI,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlD;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,CAmBvB;CAqBF"}
|
|
@@ -18,6 +18,7 @@ export interface HdsModalSignature {
|
|
|
18
18
|
isDismissDisabled?: boolean;
|
|
19
19
|
size?: HdsModalSizes;
|
|
20
20
|
color?: HdsModalColors;
|
|
21
|
+
returnFocusTo?: string;
|
|
21
22
|
onOpen?: () => void;
|
|
22
23
|
onClose?: (event: Event) => void;
|
|
23
24
|
};
|
|
@@ -34,37 +35,13 @@ export interface HdsModalSignature {
|
|
|
34
35
|
}
|
|
35
36
|
export default class HdsModal extends Component<HdsModalSignature> {
|
|
36
37
|
isOpen: boolean;
|
|
37
|
-
isDismissDisabled: boolean;
|
|
38
38
|
element: HTMLDialogElement;
|
|
39
39
|
body: HTMLElement;
|
|
40
40
|
bodyInitialOverflowValue: string;
|
|
41
|
-
|
|
42
|
-
* Sets the size of the modal dialog
|
|
43
|
-
* Accepted values: small, medium, large
|
|
44
|
-
*
|
|
45
|
-
* @param size
|
|
46
|
-
* @type {string}
|
|
47
|
-
* @default 'medium'
|
|
48
|
-
*/
|
|
41
|
+
get isDismissDisabled(): boolean;
|
|
49
42
|
get size(): HdsModalSizes;
|
|
50
|
-
/**
|
|
51
|
-
* Sets the color of the modal dialog
|
|
52
|
-
* Accepted values: neutral, warning, critical
|
|
53
|
-
*
|
|
54
|
-
* @param color
|
|
55
|
-
* @type {string}
|
|
56
|
-
* @default 'neutral'
|
|
57
|
-
*/
|
|
58
43
|
get color(): HdsModalColors;
|
|
59
|
-
/**
|
|
60
|
-
* Calculates the unique ID to assign to the title
|
|
61
|
-
*/
|
|
62
44
|
get id(): string;
|
|
63
|
-
/**
|
|
64
|
-
* Get the class names to apply to the component.
|
|
65
|
-
* @method classNames
|
|
66
|
-
* @return {string} The "class" attribute to apply to the component.
|
|
67
|
-
*/
|
|
68
45
|
get classNames(): string;
|
|
69
46
|
registerOnCloseCallback(event: Event): void;
|
|
70
47
|
didInsert(element: HTMLDialogElement): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/hds/modal/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAO3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,iCAAiC,MAAM,+BAA+B,CAAC;AAC9E,OAAO,+BAA+B,MAAM,6BAA6B,CAAC;AAC1E,OAAO,iCAAiC,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAIrE,eAAO,MAAM,YAAY,4BAA4B,CAAC;AACtD,eAAO,MAAM,aAAa,8BAA8B,CAAC;AAEzD,eAAO,MAAM,KAAK,EAAE,MAAM,EAAsC,CAAC;AACjE,eAAO,MAAM,MAAM,EAAE,MAAM,EAAuC,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE;QACJ,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KAClC,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBACE,MAAM,CAAC,EAAE,aAAa,CACpB,OAAO,iCAAiC,EACxC,IAAI,GAAG,WAAW,GAAG,uBAAuB,CAC7C,CAAC;gBACF,IAAI,CAAC,EAAE,aAAa,CAClB,OAAO,+BAA+B,EACtC,iBAAiB,CAClB,CAAC;gBACF,MAAM,CAAC,EAAE,aAAa,CACpB,OAAO,iCAAiC,EACxC,WAAW,GAAG,iBAAiB,CAChC,CAAC;aACH;SACF,CAAC;KACH,CAAC;IACF,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IACvD,MAAM,UAAS;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/hds/modal/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAO3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,iCAAiC,MAAM,+BAA+B,CAAC;AAC9E,OAAO,+BAA+B,MAAM,6BAA6B,CAAC;AAC1E,OAAO,iCAAiC,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAIrE,eAAO,MAAM,YAAY,4BAA4B,CAAC;AACtD,eAAO,MAAM,aAAa,8BAA8B,CAAC;AAEzD,eAAO,MAAM,KAAK,EAAE,MAAM,EAAsC,CAAC;AACjE,eAAO,MAAM,MAAM,EAAE,MAAM,EAAuC,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE;QACJ,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KAClC,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP;gBACE,MAAM,CAAC,EAAE,aAAa,CACpB,OAAO,iCAAiC,EACxC,IAAI,GAAG,WAAW,GAAG,uBAAuB,CAC7C,CAAC;gBACF,IAAI,CAAC,EAAE,aAAa,CAClB,OAAO,+BAA+B,EACtC,iBAAiB,CAClB,CAAC;gBACF,MAAM,CAAC,EAAE,aAAa,CACpB,OAAO,iCAAiC,EACxC,WAAW,GAAG,iBAAiB,CAChC,CAAC;aACH;SACF,CAAC;KACH,CAAC;IACF,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IACvD,MAAM,UAAS;IACxB,OAAO,EAAG,iBAAiB,CAAC;IAC5B,IAAI,EAAG,WAAW,CAAC;IACnB,wBAAwB,SAAM;IAE9B,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,IAAI,IAAI,IAAI,aAAa,CAWxB;IAED,IAAI,KAAK,IAAI,cAAc,CAW1B;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,UAAU,IAAI,MAAM,CAUvB;IAEO,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAwBnD,SAAS,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAqB3C,eAAe,IAAI,IAAI;IAWvB,IAAI,IAAI,IAAI;IAeN,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAgFjC"}
|
|
@@ -8,7 +8,7 @@ import type { HdsIconSignature } from '../../icon';
|
|
|
8
8
|
import type { HdsStepperStatuses } from '../types.ts';
|
|
9
9
|
export declare const DEFAULT_STATUS = HdsStepperStatusesValues.Incomplete;
|
|
10
10
|
export declare const STATUSES: string[];
|
|
11
|
-
export declare const MAPPING_STATUS_TO_ICONS: Record<HdsStepperStatusesValues, "type" | "map" | "filter" | "code" | "link" | "menu" | "search" | "video" | "circle" | "image" | "path" | "tag" | "repeat" | "hash" | "target" | "change" | "pause" | "play" | "loading" | "loading-static" | "running" | "running-static" | "apple" | "apple-color" | "alibaba" | "alibaba-color" | "amazon-ecs" | "amazon-ecs-color" | "amazon-eks" | "amazon-eks-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" | "datadog" | "datadog-color" | "digital-ocean" | "digital-ocean-color" | "docker" | "docker-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" | "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" | "pack" | "pack-color" | "pager-duty" | "pager-duty-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" | "arrow-down" | "arrow-down-circle" | "arrow-down-left" | "arrow-down-right" | "arrow-left" | "arrow-left-circle" | "arrow-right" | "arrow-right-circle" | "arrow-up" | "arrow-up-circle" | "arrow-up-left" | "arrow-up-right" | "caret" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "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" | "move" | "shuffle" | "swap-horizontal" | "swap-vertical" | "bank-vault" | "briefcase" | "credit-card" | "dollar-sign" | "enterprise" | "globe" | "globe-private" | "org" | "provider" | "shopping-bag" | "shopping-cart" | "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" | "bar-chart" | "bar-chart-alt" | "box" | "collections" | "database" | "hard-drive" | "line-chart" | "line-chart-up" | "logs" | "package" | "pie-chart" | "queue" | "save" | "trend-down" | "trend-up" | "calendar" | "clock" | "clock-filled" | "delay" | "event" | "history" | "hourglass" | "watch" | "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" | "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" | "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" | "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" | "power" | "printer" | "reload" | "rotate-cw" | "rotate-ccw" | "share" | "sidebar" | "sidebar-hide" | "sidebar-show" | "sign-in" | "sign-out" | "slash" | "slash-square" | "sort-asc" | "sort-desc" | "switcher" | "sync" | "sync-alert" | "sync-reverse" | "toggle-left" | "toggle-right" | "top" | "trash" | "unfold-close" | "unfold-open" | "upload" | "zoom-in" | "zoom-out" | "compass" | "crosshair" | "map-pin" | "navigation" | "navigation-alt" | "redirect" | "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-2" | "volume-x" | "wifi" | "wifi-off" | "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" | "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" | "bug" | "certificate" | "eye" | "eye-off" | "fingerprint" | "key" | "keychain" | "lock" | "lock-fill" | "lock-off" | "shield" | "shield-alert" | "shield-check" | "shield-off" | "shield-x" | "token" | "unlock" | "verified" | "wall" | "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" | "docs" | "docs-download" | "docs-link" | "guide" | "guide-link" | "help" | "info" | "info-fill" | "learn" | "learn-link" | "support" | "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">;
|
|
11
|
+
export declare const MAPPING_STATUS_TO_ICONS: Record<HdsStepperStatusesValues, "type" | "map" | "filter" | "code" | "link" | "menu" | "search" | "video" | "circle" | "image" | "path" | "tag" | "repeat" | "hash" | "target" | "change" | "pause" | "play" | "loading" | "loading-static" | "running" | "running-static" | "apple" | "apple-color" | "alibaba" | "alibaba-color" | "amazon-ecs" | "amazon-ecs-color" | "amazon-eks" | "amazon-eks-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" | "confluent" | "confluent-color" | "datadog" | "datadog-color" | "digital-ocean" | "digital-ocean-color" | "docker" | "docker-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" | "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" | "pack" | "pack-color" | "pager-duty" | "pager-duty-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" | "arrow-down" | "arrow-down-circle" | "arrow-down-left" | "arrow-down-right" | "arrow-left" | "arrow-left-circle" | "arrow-right" | "arrow-right-circle" | "arrow-up" | "arrow-up-circle" | "arrow-up-left" | "arrow-up-right" | "caret" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "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" | "move" | "shuffle" | "swap-horizontal" | "swap-vertical" | "bank-vault" | "briefcase" | "credit-card" | "dollar-sign" | "enterprise" | "globe" | "globe-private" | "org" | "provider" | "shopping-bag" | "shopping-cart" | "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" | "bar-chart" | "bar-chart-alt" | "box" | "collections" | "database" | "hard-drive" | "line-chart" | "line-chart-up" | "logs" | "package" | "pie-chart" | "queue" | "save" | "trend-down" | "trend-up" | "calendar" | "clock" | "clock-filled" | "delay" | "event" | "history" | "hourglass" | "watch" | "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" | "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" | "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" | "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" | "power" | "printer" | "reload" | "rotate-cw" | "rotate-ccw" | "share" | "sidebar" | "sidebar-hide" | "sidebar-show" | "sign-in" | "sign-out" | "slash" | "slash-square" | "sort-asc" | "sort-desc" | "switcher" | "sync" | "sync-alert" | "sync-reverse" | "toggle-left" | "toggle-right" | "top" | "trash" | "unfold-close" | "unfold-open" | "upload" | "zoom-in" | "zoom-out" | "compass" | "crosshair" | "map-pin" | "navigation" | "navigation-alt" | "redirect" | "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-2" | "volume-x" | "wifi" | "wifi-off" | "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" | "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" | "bug" | "certificate" | "eye" | "eye-off" | "fingerprint" | "key" | "keychain" | "lock" | "lock-fill" | "lock-off" | "shield" | "shield-alert" | "shield-check" | "shield-off" | "shield-x" | "token" | "unlock" | "verified" | "wall" | "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" | "docs" | "docs-download" | "docs-link" | "guide" | "guide-link" | "help" | "info" | "info-fill" | "learn" | "learn-link" | "support" | "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">;
|
|
12
12
|
interface HdsStepperTaskIndicatorSignature {
|
|
13
13
|
Args: {
|
|
14
14
|
status?: HdsStepperStatuses;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indicator.d.ts","sourceRoot":"","sources":["../../../../../src/components/hds/stepper/task/indicator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAG3C,OAAO,EACL,wBAAwB,EAEzB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,eAAO,MAAM,cAAc,sCAAsC,CAAC;AAClE,eAAO,MAAM,QAAQ,EAAE,MAAM,EAA4C,CAAC;AAE1E,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"indicator.d.ts","sourceRoot":"","sources":["../../../../../src/components/hds/stepper/task/indicator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAG3C,OAAO,EACL,wBAAwB,EAEzB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,eAAO,MAAM,cAAc,sCAAsC,CAAC;AAClE,eAAO,MAAM,QAAQ,EAAE,MAAM,EAA4C,CAAC;AAE1E,eAAO,MAAM,uBAAuB,ilTAAgC,CAAC;AAErE,UAAU,gCAAgC;IACxC,IAAI,EAAE;QACJ,MAAM,CAAC,EAAE,kBAAkB,CAAC;QAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,SAAS,CAAC,gCAAgC,CAAC;IAC9F;;;;OAIG;IAEH,IAAI,MAAM,IAAI,kBAAkB,CAW/B;IAED;;;;OAIG;IAEH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;OAGG;IAEH,IAAI,QAAQ,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAE/C;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,CAWvB;CAkBF"}
|
|
@@ -23,7 +23,7 @@ import 'prismjs/components/prism-handlebars';
|
|
|
23
23
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
24
24
|
import { setComponentTemplate } from '@ember/component';
|
|
25
25
|
|
|
26
|
-
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div class={{this.classNames}} ...attributes>\n <div class=\"hds-code-block__header\">\n {{~yield (hash Title=(component \"hds/code-block/title\"))~}}\n {{~yield (hash Description=(component \"hds/code-block/description\"))~}}\n </div>\n <div class=\"hds-code-block__body\">\n {{! content within pre tag is whitespace-sensitive; do not add new lines! }}\n <pre\n class=\"hds-code-block__code\"\n {{style maxHeight=@maxHeight}}\n data-line={{@highlightLines}}\n id={{this.preCodeId}}\n tabindex=\"0\"\n ><code {{did-insert this.setPrismCode}} {{did-update this.setPrismCode this.code @language}}>\n {{~this.prismCode~}}\n </code></pre>\n\n {{#if @hasCopyButton}}\n <Hds::CodeBlock::CopyButton @targetToCopy=\"#{{this.preCodeId}}\" aria-describedby={{this.preCodeId}} />\n {{/if}}\n </div>\n</div>");
|
|
26
|
+
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div class={{this.classNames}} ...attributes>\n <div class=\"hds-code-block__header\">\n {{~yield (hash Title=(component \"hds/code-block/title\"))~}}\n {{~yield (hash Description=(component \"hds/code-block/description\"))~}}\n </div>\n <div class=\"hds-code-block__body\">\n {{! content within pre tag is whitespace-sensitive; do not add new lines! }}\n <pre\n class=\"hds-code-block__code\"\n {{style maxHeight=@maxHeight}}\n data-line={{@highlightLines}}\n data-start={{@lineNumberStart}}\n id={{this.preCodeId}}\n tabindex=\"0\"\n ><code {{did-insert this.setPrismCode}} {{did-update this.setPrismCode this.code @language}}>\n {{~this.prismCode~}}\n </code></pre>\n\n {{#if @hasCopyButton}}\n <Hds::CodeBlock::CopyButton @targetToCopy=\"#{{this.preCodeId}}\" aria-describedby={{this.preCodeId}} />\n {{/if}}\n </div>\n</div>");
|
|
27
27
|
|
|
28
28
|
var _class, _descriptor;
|
|
29
29
|
const LANGUAGES = Object.values(HdsCodeBlockLanguageValues);
|
|
@@ -145,7 +145,7 @@ let HdsCodeBlock = (_class = class HdsCodeBlock extends Component {
|
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
// Note: Prism.js is using the specific class name "line-numbers" to determine implementation of line numbers in the UI
|
|
148
|
-
if (this.hasLineNumbers
|
|
148
|
+
if (this.hasLineNumbers) {
|
|
149
149
|
classes.push('line-numbers');
|
|
150
150
|
}
|
|
151
151
|
return classes.join(' ');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/code-block/index.hbs","../../../../src/components/hds/code-block/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class={{this.classNames}} ...attributes>\\n <div class=\\\"hds-code-block__header\\\">\\n {{~yield (hash Title=(component \\\"hds/code-block/title\\\"))~}}\\n {{~yield (hash Description=(component \\\"hds/code-block/description\\\"))~}}\\n </div>\\n <div class=\\\"hds-code-block__body\\\">\\n {{! content within pre tag is whitespace-sensitive; do not add new lines! }}\\n <pre\\n class=\\\"hds-code-block__code\\\"\\n {{style maxHeight=@maxHeight}}\\n data-line={{@highlightLines}}\\n id={{this.preCodeId}}\\n tabindex=\\\"0\\\"\\n ><code {{did-insert this.setPrismCode}} {{did-update this.setPrismCode this.code @language}}>\\n {{~this.prismCode~}}\\n </code></pre>\\n\\n {{#if @hasCopyButton}}\\n <Hds::CodeBlock::CopyButton @targetToCopy=\\\"#{{this.preCodeId}}\\\" aria-describedby={{this.preCodeId}} />\\n {{/if}}\\n </div>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { assert } from '@ember/debug';\nimport { next, schedule } from '@ember/runloop';\nimport { htmlSafe } from '@ember/template';\nimport { guidFor } from '@ember/object/internals';\n\nimport Prism from 'prismjs';\n\nimport type { SafeString } from '@ember/template/-private/handlebars';\nimport type { ComponentLike } from '@glint/template';\n\nimport type { HdsCodeBlockTitleSignature } from './title';\nimport type { HdsCodeBlockDescriptionSignature } from './description';\nimport { HdsCodeBlockLanguageValues } from './types.ts';\nimport type { HdsCodeBlockLanguages } from './types.ts';\n\nimport 'prismjs/plugins/line-numbers/prism-line-numbers';\nimport 'prismjs/plugins/line-highlight/prism-line-highlight';\n\nimport 'prismjs/components/prism-bash';\nimport 'prismjs/components/prism-go';\nimport 'prismjs/components/prism-hcl';\nimport 'prismjs/components/prism-json';\nimport 'prismjs/components/prism-log';\nimport 'prismjs/components/prism-ruby';\nimport 'prismjs/components/prism-shell-session';\nimport 'prismjs/components/prism-yaml';\n\n// These imports are required to overcome a global variable clash in Helios website\n// where language import are overriden by the Prism instance in `CodeBlock`\n// Note that `prism-handlebars` is dependant on `prism-markup-templating`\nimport 'prismjs/components/prism-markup-templating';\nimport 'prismjs/components/prism-handlebars';\n\nexport const LANGUAGES: string[] = Object.values(HdsCodeBlockLanguageValues);\n\nexport interface HdsCodeBlockSignature {\n Args: {\n hasCopyButton?: boolean;\n hasLineNumbers?: boolean;\n hasLineWrapping?: boolean;\n highlightLines?: string;\n isStandalone?: boolean;\n language?: HdsCodeBlockLanguages;\n maxHeight?: string;\n value: string;\n };\n Blocks: {\n default: [\n {\n Title?: ComponentLike<HdsCodeBlockTitleSignature>;\n Description?: ComponentLike<HdsCodeBlockDescriptionSignature>;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsCodeBlock extends Component<HdsCodeBlockSignature> {\n @tracked prismCode: SafeString = htmlSafe('');\n\n /**\n * Generates a unique ID for the code content\n *\n * @param preCodeId\n */\n preCodeId = 'pre-code-' + guidFor(this);\n\n /**\n * @param code\n * @type {string}\n * @description code text content for the CodeBlock\n */\n get code(): string {\n const code = this.args.value;\n\n assert(\n '@code for \"Hds::CodeBlock\" must have a valid value',\n code !== undefined\n );\n\n if (Prism?.plugins?.['NormalizeWhitespace']) {\n return Prism.plugins['NormalizeWhitespace'].normalize(code);\n }\n\n return code;\n }\n\n /**\n * @param language\n * @type {string}\n * @default undefined\n * @description name of coding language used within CodeBlock for syntax highlighting\n */\n get language(): HdsCodeBlockLanguages | undefined {\n return this.args.language ?? undefined;\n }\n\n /**\n * @param hasLineNumbers\n * @type {boolean}\n * @default true\n * @description Displays line numbers if true\n */\n get hasLineNumbers(): boolean {\n return this.args.hasLineNumbers ?? true;\n }\n\n /**\n * @param isStandalone\n * @type {boolean}\n * @default true\n * @description Make CodeBlock container corners appear rounded\n */\n get isStandalone(): boolean {\n return this.args.isStandalone ?? true;\n }\n\n /**\n * @param hasLineWrapping\n * @type {boolean}\n * @default false\n * @description Make text content wrap on multiple lines\n */\n get hasLineWrapping(): boolean {\n return this.args.hasLineWrapping ?? false;\n }\n\n @action\n setPrismCode(element: HTMLElement): void {\n const code = this.code;\n const language = this.language;\n const grammar = language ? Prism.languages[language] : undefined;\n\n if (code) {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n if (language && grammar) {\n this.prismCode = htmlSafe(Prism.highlight(code, grammar, language));\n } else {\n this.prismCode = htmlSafe(Prism.util.encode(code).toString());\n }\n\n // Force prism-line-numbers plugin initialization, required for Prism.highlight usage\n // See https://github.com/PrismJS/prism/issues/1234\n Prism.hooks.run('complete', {\n code,\n element,\n });\n\n // Force prism-line-highlight plugin initialization\n // Context: https://github.com/hashicorp/design-system/pull/1749#discussion_r1374288785\n if (this.args.highlightLines) {\n // we need to delay re-evaluating the context for prism-line-highlight for as much as possible, and `afterRender` is the 'latest' we can use in the component lifecycle\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', () => {\n // we piggy-back on the plugin's `resize` event listener to trigger a new call of the `highlightLines` function: https://github.com/PrismJS/prism/blob/master/plugins/line-highlight/prism-line-highlight.js#L337\n if (window) window.dispatchEvent(new Event('resize'));\n });\n }\n });\n }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n // Currently there is only one theme so the class name is hard-coded.\n // In the future, additional themes such as a \"light\" theme could be added.\n const classes = ['hds-code-block', 'hds-code-block--theme-dark'];\n\n if (this.language) {\n classes.push(`language-${this.language}`);\n }\n\n if (this.isStandalone === true) {\n classes.push('hds-code-block--is-standalone');\n }\n\n if (this.hasLineWrapping === true) {\n classes.push('hds-code-block--has-line-wrapping');\n }\n\n // Note: Prism.js is using the specific class name \"line-numbers\" to determine implementation of line numbers in the UI\n if (this.hasLineNumbers || this.args.highlightLines) {\n classes.push('line-numbers');\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["LANGUAGES","Object","values","HdsCodeBlockLanguageValues","HdsCodeBlock","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","code","value","assert","undefined","Prism","plugins","normalize","language","hasLineNumbers","isStandalone","hasLineWrapping","setPrismCode","element","grammar","languages","next","prismCode","htmlSafe","highlight","util","encode","toString","hooks","run","highlightLines","schedule","window","dispatchEvent","Event","classNames","classes","push","join","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/code-block/index.hbs","../../../../src/components/hds/code-block/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n\\n<div class={{this.classNames}} ...attributes>\\n <div class=\\\"hds-code-block__header\\\">\\n {{~yield (hash Title=(component \\\"hds/code-block/title\\\"))~}}\\n {{~yield (hash Description=(component \\\"hds/code-block/description\\\"))~}}\\n </div>\\n <div class=\\\"hds-code-block__body\\\">\\n {{! content within pre tag is whitespace-sensitive; do not add new lines! }}\\n <pre\\n class=\\\"hds-code-block__code\\\"\\n {{style maxHeight=@maxHeight}}\\n data-line={{@highlightLines}}\\n data-start={{@lineNumberStart}}\\n id={{this.preCodeId}}\\n tabindex=\\\"0\\\"\\n ><code {{did-insert this.setPrismCode}} {{did-update this.setPrismCode this.code @language}}>\\n {{~this.prismCode~}}\\n </code></pre>\\n\\n {{#if @hasCopyButton}}\\n <Hds::CodeBlock::CopyButton @targetToCopy=\\\"#{{this.preCodeId}}\\\" aria-describedby={{this.preCodeId}} />\\n {{/if}}\\n </div>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { assert } from '@ember/debug';\nimport { next, schedule } from '@ember/runloop';\nimport { htmlSafe } from '@ember/template';\nimport { guidFor } from '@ember/object/internals';\n\nimport Prism from 'prismjs';\n\nimport type { SafeString } from '@ember/template/-private/handlebars';\nimport type { ComponentLike } from '@glint/template';\n\nimport type { HdsCodeBlockTitleSignature } from './title';\nimport type { HdsCodeBlockDescriptionSignature } from './description';\nimport { HdsCodeBlockLanguageValues } from './types.ts';\nimport type { HdsCodeBlockLanguages } from './types.ts';\n\nimport 'prismjs/plugins/line-numbers/prism-line-numbers';\nimport 'prismjs/plugins/line-highlight/prism-line-highlight';\n\nimport 'prismjs/components/prism-bash';\nimport 'prismjs/components/prism-go';\nimport 'prismjs/components/prism-hcl';\nimport 'prismjs/components/prism-json';\nimport 'prismjs/components/prism-log';\nimport 'prismjs/components/prism-ruby';\nimport 'prismjs/components/prism-shell-session';\nimport 'prismjs/components/prism-yaml';\n\n// These imports are required to overcome a global variable clash in Helios website\n// where language import are overriden by the Prism instance in `CodeBlock`\n// Note that `prism-handlebars` is dependant on `prism-markup-templating`\nimport 'prismjs/components/prism-markup-templating';\nimport 'prismjs/components/prism-handlebars';\n\nexport const LANGUAGES: string[] = Object.values(HdsCodeBlockLanguageValues);\n\nexport interface HdsCodeBlockSignature {\n Args: {\n hasCopyButton?: boolean;\n hasLineNumbers?: boolean;\n hasLineWrapping?: boolean;\n highlightLines?: string;\n lineNumberStart?: number;\n isStandalone?: boolean;\n language?: HdsCodeBlockLanguages;\n maxHeight?: string;\n value: string;\n };\n Blocks: {\n default: [\n {\n Title?: ComponentLike<HdsCodeBlockTitleSignature>;\n Description?: ComponentLike<HdsCodeBlockDescriptionSignature>;\n },\n ];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsCodeBlock extends Component<HdsCodeBlockSignature> {\n @tracked prismCode: SafeString = htmlSafe('');\n\n /**\n * Generates a unique ID for the code content\n *\n * @param preCodeId\n */\n preCodeId = 'pre-code-' + guidFor(this);\n\n /**\n * @param code\n * @type {string}\n * @description code text content for the CodeBlock\n */\n get code(): string {\n const code = this.args.value;\n\n assert(\n '@code for \"Hds::CodeBlock\" must have a valid value',\n code !== undefined\n );\n\n if (Prism?.plugins?.['NormalizeWhitespace']) {\n return Prism.plugins['NormalizeWhitespace'].normalize(code);\n }\n\n return code;\n }\n\n /**\n * @param language\n * @type {string}\n * @default undefined\n * @description name of coding language used within CodeBlock for syntax highlighting\n */\n get language(): HdsCodeBlockLanguages | undefined {\n return this.args.language ?? undefined;\n }\n\n /**\n * @param hasLineNumbers\n * @type {boolean}\n * @default true\n * @description Displays line numbers if true\n */\n get hasLineNumbers(): boolean {\n return this.args.hasLineNumbers ?? true;\n }\n\n /**\n * @param isStandalone\n * @type {boolean}\n * @default true\n * @description Make CodeBlock container corners appear rounded\n */\n get isStandalone(): boolean {\n return this.args.isStandalone ?? true;\n }\n\n /**\n * @param hasLineWrapping\n * @type {boolean}\n * @default false\n * @description Make text content wrap on multiple lines\n */\n get hasLineWrapping(): boolean {\n return this.args.hasLineWrapping ?? false;\n }\n\n @action\n setPrismCode(element: HTMLElement): void {\n const code = this.code;\n const language = this.language;\n const grammar = language ? Prism.languages[language] : undefined;\n\n if (code) {\n // eslint-disable-next-line ember/no-runloop\n next(() => {\n if (language && grammar) {\n this.prismCode = htmlSafe(Prism.highlight(code, grammar, language));\n } else {\n this.prismCode = htmlSafe(Prism.util.encode(code).toString());\n }\n\n // Force prism-line-numbers plugin initialization, required for Prism.highlight usage\n // See https://github.com/PrismJS/prism/issues/1234\n Prism.hooks.run('complete', {\n code,\n element,\n });\n\n // Force prism-line-highlight plugin initialization\n // Context: https://github.com/hashicorp/design-system/pull/1749#discussion_r1374288785\n if (this.args.highlightLines) {\n // we need to delay re-evaluating the context for prism-line-highlight for as much as possible, and `afterRender` is the 'latest' we can use in the component lifecycle\n // eslint-disable-next-line ember/no-runloop\n schedule('afterRender', () => {\n // we piggy-back on the plugin's `resize` event listener to trigger a new call of the `highlightLines` function: https://github.com/PrismJS/prism/blob/master/plugins/line-highlight/prism-line-highlight.js#L337\n if (window) window.dispatchEvent(new Event('resize'));\n });\n }\n });\n }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n // Currently there is only one theme so the class name is hard-coded.\n // In the future, additional themes such as a \"light\" theme could be added.\n const classes = ['hds-code-block', 'hds-code-block--theme-dark'];\n\n if (this.language) {\n classes.push(`language-${this.language}`);\n }\n\n if (this.isStandalone === true) {\n classes.push('hds-code-block--is-standalone');\n }\n\n if (this.hasLineWrapping === true) {\n classes.push('hds-code-block--has-line-wrapping');\n }\n\n // Note: Prism.js is using the specific class name \"line-numbers\" to determine implementation of line numbers in the UI\n if (this.hasLineNumbers) {\n classes.push('line-numbers');\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["LANGUAGES","Object","values","HdsCodeBlockLanguageValues","HdsCodeBlock","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","guidFor","code","value","assert","undefined","Prism","plugins","normalize","language","hasLineNumbers","isStandalone","hasLineWrapping","setPrismCode","element","grammar","languages","next","prismCode","htmlSafe","highlight","util","encode","toString","hooks","run","highlightLines","schedule","window","dispatchEvent","Event","classNames","classes","push","join","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { HdsDropdownPositionValues, HdsDropdownPositionToPlacementValues } from
|
|
|
6
6
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
7
7
|
import { setComponentTemplate } from '@ember/component';
|
|
8
8
|
|
|
9
|
-
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<Hds::PopoverPrimitive @isOpen={{@isOpen}} @onClose={{@onClose}} @enableClickEvents={{true}} as |PP|>\n <div class={{this.classNames}} ...attributes {{PP.setupPrimitiveContainer}}>\n {{yield\n (hash\n ToggleButton=(component\n \"hds/dropdown/toggle/button\" isOpen=PP.isOpen setupPrimitiveToggle=PP.setupPrimitiveToggle\n )\n ToggleIcon=(component \"hds/dropdown/toggle/icon\" isOpen=PP.isOpen setupPrimitiveToggle=PP.setupPrimitiveToggle)\n )\n }}\n <div\n class={{this.classNamesContent}}\n {{style width=@width max-height=@height}}\n {{PP.setupPrimitivePopover anchoredPositionOptions=this.anchoredPositionOptions}}\n >\n {{yield (hash Header=(component \"hds/dropdown/header\"))}}\n
|
|
9
|
+
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<Hds::PopoverPrimitive @isOpen={{@isOpen}} @onClose={{@onClose}} @enableClickEvents={{true}} as |PP|>\n <div class={{this.classNames}} ...attributes {{PP.setupPrimitiveContainer}}>\n {{yield\n (hash\n ToggleButton=(component\n \"hds/dropdown/toggle/button\" isOpen=PP.isOpen setupPrimitiveToggle=PP.setupPrimitiveToggle\n )\n ToggleIcon=(component \"hds/dropdown/toggle/icon\" isOpen=PP.isOpen setupPrimitiveToggle=PP.setupPrimitiveToggle)\n )\n }}\n <div\n tabindex=\"-1\"\n class={{this.classNamesContent}}\n {{style width=@width max-height=@height}}\n {{PP.setupPrimitivePopover anchoredPositionOptions=this.anchoredPositionOptions}}\n >\n {{#if (or PP.isOpen @preserveContentInDom)}}\n {{yield (hash Header=(component \"hds/dropdown/header\"))}}\n <ul class=\"hds-dropdown__list\" {{did-insert this.didInsertList}}>\n {{yield\n (hash\n close=PP.hidePopover\n Checkbox=(component \"hds/dropdown/list-item/checkbox\")\n Checkmark=(component \"hds/dropdown/list-item/checkmark\")\n CopyItem=(component \"hds/dropdown/list-item/copy-item\")\n Description=(component \"hds/dropdown/list-item/description\")\n Generic=(component \"hds/dropdown/list-item/generic\")\n Interactive=(component \"hds/dropdown/list-item/interactive\")\n Radio=(component \"hds/dropdown/list-item/radio\")\n Separator=(component \"hds/dropdown/list-item/separator\")\n Title=(component \"hds/dropdown/list-item/title\")\n )\n }}\n </ul>\n {{yield (hash close=PP.hidePopover Footer=(component \"hds/dropdown/footer\"))}}\n {{/if}}\n </div>\n </div>\n</Hds::PopoverPrimitive>");
|
|
10
10
|
|
|
11
11
|
var _class;
|
|
12
12
|
const DEFAULT_POSITION = HdsDropdownPositionValues.BottomRight;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/dropdown/index.hbs","../../../../src/components/hds/dropdown/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::PopoverPrimitive @isOpen={{@isOpen}} @onClose={{@onClose}} @enableClickEvents={{true}} as |PP|>\\n <div class={{this.classNames}} ...attributes {{PP.setupPrimitiveContainer}}>\\n {{yield\\n (hash\\n ToggleButton=(component\\n \\\"hds/dropdown/toggle/button\\\" isOpen=PP.isOpen setupPrimitiveToggle=PP.setupPrimitiveToggle\\n )\\n ToggleIcon=(component \\\"hds/dropdown/toggle/icon\\\" isOpen=PP.isOpen setupPrimitiveToggle=PP.setupPrimitiveToggle)\\n )\\n }}\\n <div\\n class={{this.classNamesContent}}\\n {{style width=@width max-height=@height}}\\n {{PP.setupPrimitivePopover anchoredPositionOptions=this.anchoredPositionOptions}}\\n >\\n {{yield (hash Header=(component \\\"hds/dropdown/header\\\"))}}\\n <ul class=\\\"hds-dropdown__list\\\" {{did-insert this.didInsertList}}>\\n {{yield\\n (hash\\n close=PP.hidePopover\\n isOpen=PP.isOpen\\n Checkbox=(component \\\"hds/dropdown/list-item/checkbox\\\")\\n Checkmark=(component \\\"hds/dropdown/list-item/checkmark\\\")\\n CopyItem=(component \\\"hds/dropdown/list-item/copy-item\\\")\\n Description=(component \\\"hds/dropdown/list-item/description\\\")\\n Generic=(component \\\"hds/dropdown/list-item/generic\\\")\\n Interactive=(component \\\"hds/dropdown/list-item/interactive\\\")\\n Radio=(component \\\"hds/dropdown/list-item/radio\\\")\\n Separator=(component \\\"hds/dropdown/list-item/separator\\\")\\n Title=(component \\\"hds/dropdown/list-item/title\\\")\\n )\\n }}\\n </ul>\\n {{yield (hash close=PP.hidePopover Footer=(component \\\"hds/dropdown/footer\\\"))}}\\n </div>\\n </div>\\n</Hds::PopoverPrimitive>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\n\nimport {\n // map Dropdown's `listPosition` values to PopoverPrimitive's `placement` values\n HdsDropdownPositionToPlacementValues,\n // Dropdown's `listPosition` values\n HdsDropdownPositionValues,\n} from './types.ts';\n\nimport type { ComponentLike } from '@glint/template';\nimport type { MenuPrimitiveSignature } from '../menu-primitive';\nimport type { HdsDropdownFooterSignature } from './footer';\nimport type { HdsDropdownHeaderSignature } from './header';\nimport type { HdsDropdownListItemCheckboxSignature } from './list-item/checkbox';\nimport type { HdsDropdownListItemCheckmarkSignature } from './list-item/checkmark';\nimport type { HdsDropdownListItemCopyItemSignature } from './list-item/copy-item';\nimport type { HdsDropdownListItemDescriptionSignature } from './list-item/description';\nimport type { HdsDropdownListItemGenericSignature } from './list-item/generic';\nimport type { HdsDropdownListItemInteractiveSignature } from './list-item/interactive';\nimport type { HdsDropdownListItemRadioSignature } from './list-item/radio';\nimport type { HdsDropdownListItemSeparatorSignature } from './list-item/separator';\nimport type { HdsDropdownListItemTitleSignature } from './list-item/title';\nimport type { HdsDropdownToggleButtonSignature } from './toggle/button';\nimport type { HdsDropdownToggleIconSignature } from './toggle/icon';\nimport type { HdsDropdownPositions } from './types';\n\nimport type { FloatingUIOptions } from '../../../modifiers/hds-anchored-position.ts';\n\nexport const DEFAULT_POSITION = HdsDropdownPositionValues.BottomRight;\nexport const POSITIONS: string[] = Object.values(HdsDropdownPositionValues);\n\nexport interface HdsDropdownSignature {\n Args: MenuPrimitiveSignature['Args'] & {\n height?: string;\n isInline?: boolean;\n isOpen?: boolean;\n listPosition?: HdsDropdownPositions;\n width?: string;\n enableCollisionDetection?: FloatingUIOptions['enableCollisionDetection'];\n };\n Blocks: {\n default: [\n {\n Footer?: ComponentLike<HdsDropdownFooterSignature>;\n Header?: ComponentLike<HdsDropdownHeaderSignature>;\n Checkbox?: ComponentLike<HdsDropdownListItemCheckboxSignature>;\n Checkmark?: ComponentLike<HdsDropdownListItemCheckmarkSignature>;\n CopyItem?: ComponentLike<HdsDropdownListItemCopyItemSignature>;\n Description?: ComponentLike<HdsDropdownListItemDescriptionSignature>;\n Generic?: ComponentLike<HdsDropdownListItemGenericSignature>;\n Interactive?: ComponentLike<HdsDropdownListItemInteractiveSignature>;\n Radio?: ComponentLike<HdsDropdownListItemRadioSignature>;\n Separator?: ComponentLike<HdsDropdownListItemSeparatorSignature>;\n Title?: ComponentLike<HdsDropdownListItemTitleSignature>;\n ToggleButton?: ComponentLike<HdsDropdownToggleButtonSignature>;\n ToggleIcon?: ComponentLike<HdsDropdownToggleIconSignature>;\n close?: () => void;\n isOpen?: boolean;\n },\n ];\n };\n Element: MenuPrimitiveSignature['Element'];\n}\n\nexport default class HdsDropdown extends Component<HdsDropdownSignature> {\n /**\n * @param listPosition\n * @type {string}\n * @default bottom-right\n * @description Determines the position of the \"list\"\n */\n get listPosition(): HdsDropdownPositions {\n const { listPosition = DEFAULT_POSITION } = this.args;\n\n assert(\n `@listPosition for \"Hds::Dropdown::Index\" must be one of the following: ${POSITIONS.join(\n ', '\n )}; received: ${listPosition}`,\n POSITIONS.includes(listPosition)\n );\n\n return listPosition;\n }\n\n get enableCollisionDetection(): FloatingUIOptions['enableCollisionDetection'] {\n return this.args.enableCollisionDetection ?? false;\n }\n\n get anchoredPositionOptions(): {\n placement: FloatingUIOptions['placement'];\n offsetOptions: FloatingUIOptions['offsetOptions'];\n enableCollisionDetection: FloatingUIOptions['enableCollisionDetection'];\n } {\n // custom options specific for the `RichTooltip` component\n // for details see the `hds-anchored-position` modifier\n return {\n placement: HdsDropdownPositionToPlacementValues[this.listPosition],\n offsetOptions: 4,\n enableCollisionDetection: this.enableCollisionDetection ? 'flip' : false,\n };\n }\n\n /**\n * Get the class names to apply to the element\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the root element\n */\n get classNames(): string {\n const classes = ['hds-dropdown'];\n\n // add a class based on the @isInline argument\n if (this.args.isInline) {\n classes.push('hds-dropdown--is-inline');\n }\n\n return classes.join(' ');\n }\n\n /**\n * Get the class names to apply to the content\n * @method classNamesContent\n * @return {string} The \"class\" attribute to apply to the disclosed content\n */\n get classNamesContent(): string {\n const classes = ['hds-dropdown__content'];\n\n // add a class based on the @listPosition argument\n // TODO: we preserved these classes to avoid introducing breaking changes for consumers who rely on these classes for tests, but we aim to remove them in the next major release\n // context: https://github.com/hashicorp/design-system/pull/2309#discussion_r1706941892\n classes.push(`hds-dropdown__content--position-${this.listPosition}`);\n\n // add a class based on the @width argument\n if (this.args.width) {\n classes.push('hds-dropdown__content--fixed-width');\n }\n\n return classes.join(' ');\n }\n\n @action\n didInsertList(element: HTMLUListElement): void {\n const checkmarkItems = element.querySelectorAll(`[role=\"option\"]`);\n if (checkmarkItems.length) {\n const toggleButtonId = element\n .closest('.hds-dropdown')\n ?.querySelector('.hds-dropdown-toggle-button')\n ?.getAttribute('id');\n\n element.setAttribute('role', 'listbox');\n\n if (toggleButtonId) {\n element.setAttribute('aria-labelledby', toggleButtonId);\n }\n }\n }\n}\n"],"names":["DEFAULT_POSITION","HdsDropdownPositionValues","BottomRight","POSITIONS","Object","values","HdsDropdown","_class","Component","listPosition","args","assert","join","includes","enableCollisionDetection","anchoredPositionOptions","placement","HdsDropdownPositionToPlacementValues","offsetOptions","classNames","classes","isInline","push","classNamesContent","width","didInsertList","element","checkmarkItems","querySelectorAll","length","toggleButtonId","closest","querySelector","getAttribute","setAttribute","_applyDecoratedDescriptor","prototype","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/dropdown/index.hbs","../../../../src/components/hds/dropdown/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::PopoverPrimitive @isOpen={{@isOpen}} @onClose={{@onClose}} @enableClickEvents={{true}} as |PP|>\\n <div class={{this.classNames}} ...attributes {{PP.setupPrimitiveContainer}}>\\n {{yield\\n (hash\\n ToggleButton=(component\\n \\\"hds/dropdown/toggle/button\\\" isOpen=PP.isOpen setupPrimitiveToggle=PP.setupPrimitiveToggle\\n )\\n ToggleIcon=(component \\\"hds/dropdown/toggle/icon\\\" isOpen=PP.isOpen setupPrimitiveToggle=PP.setupPrimitiveToggle)\\n )\\n }}\\n <div\\n tabindex=\\\"-1\\\"\\n class={{this.classNamesContent}}\\n {{style width=@width max-height=@height}}\\n {{PP.setupPrimitivePopover anchoredPositionOptions=this.anchoredPositionOptions}}\\n >\\n {{#if (or PP.isOpen @preserveContentInDom)}}\\n {{yield (hash Header=(component \\\"hds/dropdown/header\\\"))}}\\n <ul class=\\\"hds-dropdown__list\\\" {{did-insert this.didInsertList}}>\\n {{yield\\n (hash\\n close=PP.hidePopover\\n Checkbox=(component \\\"hds/dropdown/list-item/checkbox\\\")\\n Checkmark=(component \\\"hds/dropdown/list-item/checkmark\\\")\\n CopyItem=(component \\\"hds/dropdown/list-item/copy-item\\\")\\n Description=(component \\\"hds/dropdown/list-item/description\\\")\\n Generic=(component \\\"hds/dropdown/list-item/generic\\\")\\n Interactive=(component \\\"hds/dropdown/list-item/interactive\\\")\\n Radio=(component \\\"hds/dropdown/list-item/radio\\\")\\n Separator=(component \\\"hds/dropdown/list-item/separator\\\")\\n Title=(component \\\"hds/dropdown/list-item/title\\\")\\n )\\n }}\\n </ul>\\n {{yield (hash close=PP.hidePopover Footer=(component \\\"hds/dropdown/footer\\\"))}}\\n {{/if}}\\n </div>\\n </div>\\n</Hds::PopoverPrimitive>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\n\nimport {\n // map Dropdown's `listPosition` values to PopoverPrimitive's `placement` values\n HdsDropdownPositionToPlacementValues,\n // Dropdown's `listPosition` values\n HdsDropdownPositionValues,\n} from './types.ts';\n\nimport type { ComponentLike } from '@glint/template';\nimport type { MenuPrimitiveSignature } from '../menu-primitive';\nimport type { HdsDropdownFooterSignature } from './footer';\nimport type { HdsDropdownHeaderSignature } from './header';\nimport type { HdsDropdownListItemCheckboxSignature } from './list-item/checkbox';\nimport type { HdsDropdownListItemCheckmarkSignature } from './list-item/checkmark';\nimport type { HdsDropdownListItemCopyItemSignature } from './list-item/copy-item';\nimport type { HdsDropdownListItemDescriptionSignature } from './list-item/description';\nimport type { HdsDropdownListItemGenericSignature } from './list-item/generic';\nimport type { HdsDropdownListItemInteractiveSignature } from './list-item/interactive';\nimport type { HdsDropdownListItemRadioSignature } from './list-item/radio';\nimport type { HdsDropdownListItemSeparatorSignature } from './list-item/separator';\nimport type { HdsDropdownListItemTitleSignature } from './list-item/title';\nimport type { HdsDropdownToggleButtonSignature } from './toggle/button';\nimport type { HdsDropdownToggleIconSignature } from './toggle/icon';\nimport type { HdsDropdownPositions } from './types';\n\nimport type { FloatingUIOptions } from '../../../modifiers/hds-anchored-position.ts';\n\nexport const DEFAULT_POSITION = HdsDropdownPositionValues.BottomRight;\nexport const POSITIONS: string[] = Object.values(HdsDropdownPositionValues);\n\nexport interface HdsDropdownSignature {\n Args: MenuPrimitiveSignature['Args'] & {\n height?: string;\n isInline?: boolean;\n isOpen?: boolean;\n listPosition?: HdsDropdownPositions;\n width?: string;\n enableCollisionDetection?: FloatingUIOptions['enableCollisionDetection'];\n preserveContentInDom?: boolean;\n };\n Blocks: {\n default: [\n {\n Footer?: ComponentLike<HdsDropdownFooterSignature>;\n Header?: ComponentLike<HdsDropdownHeaderSignature>;\n Checkbox?: ComponentLike<HdsDropdownListItemCheckboxSignature>;\n Checkmark?: ComponentLike<HdsDropdownListItemCheckmarkSignature>;\n CopyItem?: ComponentLike<HdsDropdownListItemCopyItemSignature>;\n Description?: ComponentLike<HdsDropdownListItemDescriptionSignature>;\n Generic?: ComponentLike<HdsDropdownListItemGenericSignature>;\n Interactive?: ComponentLike<HdsDropdownListItemInteractiveSignature>;\n Radio?: ComponentLike<HdsDropdownListItemRadioSignature>;\n Separator?: ComponentLike<HdsDropdownListItemSeparatorSignature>;\n Title?: ComponentLike<HdsDropdownListItemTitleSignature>;\n ToggleButton?: ComponentLike<HdsDropdownToggleButtonSignature>;\n ToggleIcon?: ComponentLike<HdsDropdownToggleIconSignature>;\n close?: () => void;\n },\n ];\n };\n Element: MenuPrimitiveSignature['Element'];\n}\n\nexport default class HdsDropdown extends Component<HdsDropdownSignature> {\n /**\n * @param listPosition\n * @type {string}\n * @default bottom-right\n * @description Determines the position of the \"list\"\n */\n get listPosition(): HdsDropdownPositions {\n const { listPosition = DEFAULT_POSITION } = this.args;\n\n assert(\n `@listPosition for \"Hds::Dropdown::Index\" must be one of the following: ${POSITIONS.join(\n ', '\n )}; received: ${listPosition}`,\n POSITIONS.includes(listPosition)\n );\n\n return listPosition;\n }\n\n get enableCollisionDetection(): FloatingUIOptions['enableCollisionDetection'] {\n return this.args.enableCollisionDetection ?? false;\n }\n\n get anchoredPositionOptions(): {\n placement: FloatingUIOptions['placement'];\n offsetOptions: FloatingUIOptions['offsetOptions'];\n enableCollisionDetection: FloatingUIOptions['enableCollisionDetection'];\n } {\n // custom options specific for the `RichTooltip` component\n // for details see the `hds-anchored-position` modifier\n return {\n placement: HdsDropdownPositionToPlacementValues[this.listPosition],\n offsetOptions: 4,\n enableCollisionDetection: this.enableCollisionDetection ? 'flip' : false,\n };\n }\n\n /**\n * Get the class names to apply to the element\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the root element\n */\n get classNames(): string {\n const classes = ['hds-dropdown'];\n\n // add a class based on the @isInline argument\n if (this.args.isInline) {\n classes.push('hds-dropdown--is-inline');\n }\n\n return classes.join(' ');\n }\n\n /**\n * Get the class names to apply to the content\n * @method classNamesContent\n * @return {string} The \"class\" attribute to apply to the disclosed content\n */\n get classNamesContent(): string {\n const classes = ['hds-dropdown__content'];\n\n // add a class based on the @listPosition argument\n // TODO: we preserved these classes to avoid introducing breaking changes for consumers who rely on these classes for tests, but we aim to remove them in the next major release\n // context: https://github.com/hashicorp/design-system/pull/2309#discussion_r1706941892\n classes.push(`hds-dropdown__content--position-${this.listPosition}`);\n\n // add a class based on the @width argument\n if (this.args.width) {\n classes.push('hds-dropdown__content--fixed-width');\n }\n\n return classes.join(' ');\n }\n\n @action\n didInsertList(element: HTMLUListElement): void {\n const checkmarkItems = element.querySelectorAll(`[role=\"option\"]`);\n if (checkmarkItems.length) {\n const toggleButtonId = element\n .closest('.hds-dropdown')\n ?.querySelector('.hds-dropdown-toggle-button')\n ?.getAttribute('id');\n\n element.setAttribute('role', 'listbox');\n\n if (toggleButtonId) {\n element.setAttribute('aria-labelledby', toggleButtonId);\n }\n }\n }\n}\n"],"names":["DEFAULT_POSITION","HdsDropdownPositionValues","BottomRight","POSITIONS","Object","values","HdsDropdown","_class","Component","listPosition","args","assert","join","includes","enableCollisionDetection","anchoredPositionOptions","placement","HdsDropdownPositionToPlacementValues","offsetOptions","classNames","classes","isInline","push","classNamesContent","width","didInsertList","element","checkmarkItems","querySelectorAll","length","toggleButtonId","closest","querySelector","getAttribute","setAttribute","_applyDecoratedDescriptor","prototype","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.js","sources":["../../../../../src/components/hds/dropdown/list-item/interactive.hbs","../../../../../src/components/hds/dropdown/list-item/interactive.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<li class={{this.classNames}}>\\n {{#if @isLoading}}\\n <div class=\\\"hds-dropdown-list-item__interactive-loading-wrapper\\\" ...attributes>\\n <div class=\\\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--leading\\\">\\n <Hds::Icon @name=\\\"loading\\\" />\\n </div>\\n <Hds::Text::Body @tag=\\\"div\\\" @size=\\\"100\\\" @weight=\\\"regular\\\" class=\\\"hds-dropdown-list-item__interactive-text\\\">\\n {{#if (has-block)}}\\n {{yield (hash Badge=(component \\\"hds/badge\\\" size=\\\"small\\\"))}}\\n {{else}}\\n {{this.text}}\\n {{/if}}\\n </Hds::Text::Body>\\n </div>\\n {{else}}\\n <Hds::Interactive\\n @current-when={{@current-when}}\\n @models={{hds-link-to-models @model @models}}\\n @query={{hds-link-to-query @query}}\\n @replace={{@replace}}\\n @route={{@route}}\\n @isRouteExternal={{@isRouteExternal}}\\n @href={{@href}}\\n @isHrefExternal={{@isHrefExternal}}\\n ...attributes\\n >\\n {{#if @icon}}\\n <span class=\\\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--leading\\\">\\n <Hds::Icon @name={{@icon}} />\\n </span>\\n {{/if}}\\n <Hds::Text::Body class=\\\"hds-dropdown-list-item__interactive-text\\\" @tag=\\\"span\\\" @size=\\\"200\\\" @weight=\\\"medium\\\">\\n {{#if (has-block)}}\\n {{yield (hash Badge=(component \\\"hds/badge\\\" size=\\\"small\\\"))}}\\n {{else}}\\n {{this.text}}\\n {{/if}}\\n </Hds::Text::Body>\\n {{#if @trailingIcon}}\\n <span class=\\\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--trailing\\\">\\n <Hds::Icon @name={{@trailingIcon}} />\\n </span>\\n {{/if}}\\n </Hds::Interactive>\\n {{/if}}\\n</li>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert, deprecate } from '@ember/debug';\n\nimport { HdsDropdownListItemInteractiveColorValues } from './types.ts';\n\nimport type { HdsIconSignature } from '../../icon';\nimport type { HdsInteractiveSignature } from '../../interactive';\nimport type { HdsDropdownListItemInteractiveColors } from './types.ts';\nimport type { ComponentLike } from '@glint/template';\nimport type { HdsBadgeSignature } from '../../badge/index.ts';\n\nexport const DEFAULT_COLOR = HdsDropdownListItemInteractiveColorValues.Action;\nexport const COLORS: string[] = Object.values(\n HdsDropdownListItemInteractiveColorValues\n);\n\nexport interface HdsDropdownListItemInteractiveSignature {\n Args: HdsInteractiveSignature['Args'] & {\n color?: HdsDropdownListItemInteractiveColors;\n icon?: HdsIconSignature['Args']['name'];\n isLoading?: boolean;\n text?: string;\n trailingIcon?: HdsIconSignature['Args']['name'];\n };\n Blocks: {\n default?: [\n {\n Badge?: ComponentLike<HdsBadgeSignature>;\n },\n ];\n };\n Element: HTMLDivElement | HdsInteractiveSignature['Element'];\n}\n\nexport default class HdsDropdownListItemInteractive extends Component<HdsDropdownListItemInteractiveSignature> {\n constructor(\n owner: unknown,\n args: HdsDropdownListItemInteractiveSignature['Args']\n ) {\n super(owner, args);\n\n if (args.text !== undefined) {\n deprecate(\n 'The `@text` argument for \"Hds::Dropdown::ListItem::Interactive\" has been deprecated. Please put text in the yielded block.',\n false,\n {\n id: 'hds.dropdown.list-item.interactive',\n until: '5.0.0',\n url: 'https://helios.hashicorp.design/components/dropdown?tab=version%20history#4100',\n for: '@hashicorp/design-system-components',\n since: {\n available: '4.10.0',\n enabled: '5.0.0',\n },\n }\n );\n }\n }\n\n get text(): string {\n const { text } = this.args;\n\n assert(\n '@text for \"Hds::Dropdown::ListItem::Interactive\" must have a valid value',\n text !== undefined\n );\n\n return text;\n }\n\n get color(): HdsDropdownListItemInteractiveColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Dropdown::ListItem::Interactive\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n get classNames(): string {\n const classes = [\n 'hds-dropdown-list-item',\n 'hds-dropdown-list-item--variant-interactive',\n ];\n\n // add a class based on the @color argument\n classes.push(`hds-dropdown-list-item--color-${this.color}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_COLOR","HdsDropdownListItemInteractiveColorValues","Action","COLORS","Object","values","HdsDropdownListItemInteractive","Component","constructor","owner","args","text","undefined","deprecate","id","until","url","for","since","available","enabled","assert","color","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,+0DAA+0D;;ACDj3D;AACA;AACA;AACA;;AAaaA,MAAAA,aAAa,GAAGC,yCAAyC,CAACC,OAAM;AACtE,MAAMC,MAAgB,GAAGC,MAAM,CAACC,MAAM,CAC3CJ,yCACF,EAAC;
|
|
1
|
+
{"version":3,"file":"interactive.js","sources":["../../../../../src/components/hds/dropdown/list-item/interactive.hbs","../../../../../src/components/hds/dropdown/list-item/interactive.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<li class={{this.classNames}}>\\n {{#if @isLoading}}\\n <div class=\\\"hds-dropdown-list-item__interactive-loading-wrapper\\\" ...attributes>\\n <div class=\\\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--leading\\\">\\n <Hds::Icon @name=\\\"loading\\\" />\\n </div>\\n <Hds::Text::Body @tag=\\\"div\\\" @size=\\\"100\\\" @weight=\\\"regular\\\" class=\\\"hds-dropdown-list-item__interactive-text\\\">\\n {{#if (has-block)}}\\n {{yield (hash Badge=(component \\\"hds/badge\\\" size=\\\"small\\\"))}}\\n {{else}}\\n {{this.text}}\\n {{/if}}\\n </Hds::Text::Body>\\n </div>\\n {{else}}\\n <Hds::Interactive\\n @current-when={{@current-when}}\\n @models={{hds-link-to-models @model @models}}\\n @query={{hds-link-to-query @query}}\\n @replace={{@replace}}\\n @route={{@route}}\\n @isRouteExternal={{@isRouteExternal}}\\n @href={{@href}}\\n @isHrefExternal={{@isHrefExternal}}\\n ...attributes\\n >\\n {{#if @icon}}\\n <span class=\\\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--leading\\\">\\n <Hds::Icon @name={{@icon}} />\\n </span>\\n {{/if}}\\n <Hds::Text::Body class=\\\"hds-dropdown-list-item__interactive-text\\\" @tag=\\\"span\\\" @size=\\\"200\\\" @weight=\\\"medium\\\">\\n {{#if (has-block)}}\\n {{yield (hash Badge=(component \\\"hds/badge\\\" size=\\\"small\\\"))}}\\n {{else}}\\n {{this.text}}\\n {{/if}}\\n </Hds::Text::Body>\\n {{#if @trailingIcon}}\\n <span class=\\\"hds-dropdown-list-item__interactive-icon hds-dropdown-list-item__interactive-icon--trailing\\\">\\n <Hds::Icon @name={{@trailingIcon}} />\\n </span>\\n {{/if}}\\n </Hds::Interactive>\\n {{/if}}\\n</li>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert, deprecate } from '@ember/debug';\n\nimport { HdsDropdownListItemInteractiveColorValues } from './types.ts';\n\nimport type { HdsIconSignature } from '../../icon';\nimport type { HdsInteractiveSignature } from '../../interactive';\nimport type { HdsDropdownListItemInteractiveColors } from './types.ts';\nimport type { ComponentLike } from '@glint/template';\nimport type { HdsBadgeSignature } from '../../badge/index.ts';\n\nexport const DEFAULT_COLOR = HdsDropdownListItemInteractiveColorValues.Action;\nexport const COLORS: string[] = Object.values(\n HdsDropdownListItemInteractiveColorValues\n);\n\nexport interface HdsDropdownListItemInteractiveSignature {\n Args: HdsInteractiveSignature['Args'] & {\n color?: HdsDropdownListItemInteractiveColors;\n icon?: HdsIconSignature['Args']['name'];\n isLoading?: boolean;\n /**\n * @deprecated The `@text` argument for \"Hds::Dropdown::ListItem::Interactive\" has been deprecated. Please put text in the yielded block. See: https://helios.hashicorp.design/components/dropdown?tab=version%20history#4100\n */\n text?: string;\n trailingIcon?: HdsIconSignature['Args']['name'];\n };\n Blocks: {\n default?: [\n {\n Badge?: ComponentLike<HdsBadgeSignature>;\n },\n ];\n };\n Element: HTMLDivElement | HdsInteractiveSignature['Element'];\n}\n\nexport default class HdsDropdownListItemInteractive extends Component<HdsDropdownListItemInteractiveSignature> {\n constructor(\n owner: unknown,\n args: HdsDropdownListItemInteractiveSignature['Args']\n ) {\n super(owner, args);\n\n if (args.text !== undefined) {\n deprecate(\n 'The `@text` argument for \"Hds::Dropdown::ListItem::Interactive\" has been deprecated. Please put text in the yielded block.',\n false,\n {\n id: 'hds.dropdown.list-item.interactive',\n until: '5.0.0',\n url: 'https://helios.hashicorp.design/components/dropdown?tab=version%20history#4100',\n for: '@hashicorp/design-system-components',\n since: {\n available: '4.10.0',\n enabled: '5.0.0',\n },\n }\n );\n }\n }\n\n get text(): string {\n const { text } = this.args;\n\n assert(\n '@text for \"Hds::Dropdown::ListItem::Interactive\" must have a valid value',\n text !== undefined\n );\n\n return text;\n }\n\n get color(): HdsDropdownListItemInteractiveColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Dropdown::ListItem::Interactive\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n get classNames(): string {\n const classes = [\n 'hds-dropdown-list-item',\n 'hds-dropdown-list-item--variant-interactive',\n ];\n\n // add a class based on the @color argument\n classes.push(`hds-dropdown-list-item--color-${this.color}`);\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_COLOR","HdsDropdownListItemInteractiveColorValues","Action","COLORS","Object","values","HdsDropdownListItemInteractive","Component","constructor","owner","args","text","undefined","deprecate","id","until","url","for","since","available","enabled","assert","color","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;AACA,eAAe,kBAAkB,CAAC,+0DAA+0D;;ACDj3D;AACA;AACA;AACA;;AAaaA,MAAAA,aAAa,GAAGC,yCAAyC,CAACC,OAAM;AACtE,MAAMC,MAAgB,GAAGC,MAAM,CAACC,MAAM,CAC3CJ,yCACF,EAAC;AAuBc,MAAMK,8BAA8B,SAASC,SAAS,CAA0C;AAC7GC,EAAAA,WAAWA,CACTC,KAAc,EACdC,IAAqD,EACrD;AACA,IAAA,KAAK,CAACD,KAAK,EAAEC,IAAI,CAAC,CAAA;AAElB,IAAA,IAAIA,IAAI,CAACC,IAAI,KAAKC,SAAS,EAAE;AAC3BC,MAAAA,SAAS,CACP,4HAA4H,EAC5H,KAAK,EACL;AACEC,QAAAA,EAAE,EAAE,oCAAoC;AACxCC,QAAAA,KAAK,EAAE,OAAO;AACdC,QAAAA,GAAG,EAAE,gFAAgF;AACrFC,QAAAA,GAAG,EAAE,qCAAqC;AAC1CC,QAAAA,KAAK,EAAE;AACLC,UAAAA,SAAS,EAAE,QAAQ;AACnBC,UAAAA,OAAO,EAAE,OAAA;AACX,SAAA;AACF,OACF,CAAC,CAAA;AACH,KAAA;AACF,GAAA;EAEA,IAAIT,IAAIA,GAAW;IACjB,MAAM;AAAEA,MAAAA,IAAAA;KAAM,GAAG,IAAI,CAACD,IAAI,CAAA;AAE1BW,IAAAA,MAAM,CACJ,0EAA0E,EAC1EV,IAAI,KAAKC,SACX,CAAC,CAAA;AAED,IAAA,OAAOD,IAAI,CAAA;AACb,GAAA;EAEA,IAAIW,KAAKA,GAAyC;IAChD,MAAM;AAAEA,MAAAA,KAAK,GAAGtB,aAAAA;KAAe,GAAG,IAAI,CAACU,IAAI,CAAA;AAE3CW,IAAAA,MAAM,CACJ,CAAmFlB,gFAAAA,EAAAA,MAAM,CAACoB,IAAI,CAC5F,IACF,CAAC,CAAA,YAAA,EAAeD,KAAK,CAAA,CAAE,EACvBnB,MAAM,CAACqB,QAAQ,CAACF,KAAK,CACvB,CAAC,CAAA;AAED,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;EAEA,IAAIG,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CACd,wBAAwB,EACxB,6CAA6C,CAC9C,CAAA;;AAED;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,8BAAA,EAAiC,IAAI,CAACL,KAAK,EAAE,CAAC,CAAA;AAE3D,IAAA,OAAOI,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EA5DoBvB,8BAA8B,CAAA;;;;"}
|
|
@@ -131,6 +131,14 @@ let HdsFlyout = (_class = class HdsFlyout extends Component {
|
|
|
131
131
|
this.body.style.setProperty('overflow', this.bodyInitialOverflowValue);
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
|
+
|
|
135
|
+
// Return focus to a specific element (if provided)
|
|
136
|
+
if (this.args.returnFocusTo) {
|
|
137
|
+
const initiator = document.getElementById(this.args.returnFocusTo);
|
|
138
|
+
if (initiator) {
|
|
139
|
+
initiator.focus();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
134
142
|
}
|
|
135
143
|
}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, "isOpen", [tracked], {
|
|
136
144
|
configurable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/flyout/index.hbs","../../../../src/components/hds/flyout/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::DialogPrimitive::Wrapper\\n class={{this.classNames}}\\n ...attributes\\n aria-labelledby={{this.id}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroyNode}}\\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\\n {{focus-trap isActive=this.isOpen focusTrapOptions=(hash onDeactivate=this.onDismiss clickOutsideDeactivates=true)}}\\n>\\n <:header>\\n {{yield\\n (hash\\n Header=(component\\n \\\"hds/dialog-primitive/header\\\"\\n id=this.id\\n onDismiss=this.onDismiss\\n contextualClassPrefix=\\\"hds-flyout\\\"\\n titleTag=\\\"h1\\\"\\n )\\n Description=(component \\\"hds/dialog-primitive/description\\\" contextualClass=\\\"hds-flyout__description\\\")\\n )\\n }}\\n </:header>\\n <:body>\\n {{yield (hash Body=(component \\\"hds/dialog-primitive/body\\\" contextualClass=\\\"hds-flyout__body\\\"))}}\\n </:body>\\n <:footer>\\n {{yield\\n (hash\\n Footer=(component \\\"hds/dialog-primitive/footer\\\" onDismiss=this.onDismiss contextualClass=\\\"hds-flyout__footer\\\")\\n )\\n }}\\n </:footer>\\n</Hds::DialogPrimitive::Wrapper>\\n\\n{{#if this.isOpen}}\\n <Hds::DialogPrimitive::Overlay @contextualClass=\\\"hds-flyout__overlay\\\" />\\n{{/if}}\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { getElementId } from '../../../utils/hds-get-element-id.ts';\nimport { buildWaiter } from '@ember/test-waiters';\nimport type { WithBoundArgs } from '@glint/template';\n\nimport type { HdsFlyoutSizes } from './types.ts';\n\nimport { HdsFlyoutSizesValues } from './types.ts';\nimport HdsDialogPrimitiveBodyComponent from '../dialog-primitive/body.ts';\nimport HdsDialogPrimitiveDescriptionComponent from '../dialog-primitive/description.ts';\nimport HdsDialogPrimitiveFooterComponent from '../dialog-primitive/footer.ts';\nimport HdsDialogPrimitiveHeaderComponent from '../dialog-primitive/header.ts';\n\nconst waiter = buildWaiter('@hashicorp/design-system-components:flyout');\n\nexport const DEFAULT_SIZE = HdsFlyoutSizesValues.Medium;\nexport const DEFAULT_HAS_OVERLAY = true;\nexport const SIZES: string[] = Object.values(HdsFlyoutSizesValues);\n\nexport interface HdsFlyoutSignature {\n Args: {\n isDismissDisabled?: boolean;\n size?: HdsFlyoutSizes;\n onOpen?: () => void;\n onClose?: (event: Event) => void;\n };\n Blocks: {\n default: [\n {\n Header?: WithBoundArgs<\n typeof HdsDialogPrimitiveHeaderComponent,\n 'id' | 'onDismiss' | 'contextualClassPrefix'\n >;\n Description?: WithBoundArgs<\n typeof HdsDialogPrimitiveDescriptionComponent,\n 'contextualClass'\n >;\n Body?: WithBoundArgs<\n typeof HdsDialogPrimitiveBodyComponent,\n 'contextualClass'\n >;\n Footer?: WithBoundArgs<\n typeof HdsDialogPrimitiveFooterComponent,\n 'onDismiss' | 'contextualClass'\n >;\n },\n ];\n };\n Element: HTMLDialogElement;\n}\n\nexport default class HdsFlyout extends Component<HdsFlyoutSignature> {\n @tracked isOpen = false;\n element!: HTMLDialogElement;\n body!: HTMLElement;\n bodyInitialOverflowValue = '';\n\n /**\n * Sets the size of the flyout\n * Accepted values: medium, large\n *\n * @param size\n * @type {string}\n * @default 'medium'\n */\n get size(): HdsFlyoutSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Flyout\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n /**\n * Calculates the unique ID to assign to the title\n */\n get id(): string {\n return getElementId(this);\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-flyout'];\n\n // add a class based on the @size argument\n classes.push(`hds-flyout--size-${this.size}`);\n\n return classes.join(' ');\n }\n\n @action registerOnCloseCallback(event: Event) {\n if (this.args.onClose && typeof this.args.onClose === 'function') {\n this.args.onClose(event);\n }\n\n this.isOpen = false;\n }\n\n @action\n didInsert(element: HTMLDialogElement): void {\n // Store references of `<dialog>` and `<body>` elements\n this.element = element;\n this.body = document.body;\n\n if (this.body) {\n // Store the initial `overflow` value of `<body>` so we can reset to it\n this.bodyInitialOverflowValue =\n this.body.style.getPropertyValue('overflow');\n }\n\n // Register \"onClose\" callback function to be called when a native 'close' event is dispatched\n this.element.addEventListener('close', this.registerOnCloseCallback, true);\n\n // If the flyout dialog is not already open\n if (!this.element.open) {\n this.open();\n }\n }\n\n @action\n willDestroyNode(): void {\n if (this.element) {\n this.element.removeEventListener(\n 'close',\n this.registerOnCloseCallback,\n true\n );\n }\n }\n\n @action\n open(): void {\n // Make flyout dialog visible using the native `showModal` method\n this.element.showModal();\n this.isOpen = true;\n\n // Prevent page from scrolling when the dialog is open\n if (this.body) this.body.style.setProperty('overflow', 'hidden');\n\n // Call \"onOpen\" callback function\n if (this.args.onOpen && typeof this.args.onOpen === 'function') {\n this.args.onOpen();\n }\n }\n\n @action\n async onDismiss(): Promise<void> {\n // allow ember test helpers to be aware of when the `close` event fires\n // when using `click` or other helpers from '@ember/test-helpers'\n // Notice: this code will get stripped out in production builds (DEBUG evaluates to `true` in dev/test builds, but `false` in prod builds)\n if (this.element.open) {\n const token = waiter.beginAsync();\n const listener = () => {\n waiter.endAsync(token);\n this.element.removeEventListener('close', listener);\n };\n this.element.addEventListener('close', listener);\n }\n\n // Make flyout dialog invisible using the native `close` method\n this.element.close();\n\n // Reset page `overflow` property\n if (this.body) {\n this.body.style.removeProperty('overflow');\n if (this.bodyInitialOverflowValue === '') {\n if (this.body.style.length === 0) {\n this.body.removeAttribute('style');\n }\n } else {\n this.body.style.setProperty('overflow', this.bodyInitialOverflowValue);\n }\n }\n }\n}\n"],"names":["waiter","buildWaiter","DEFAULT_SIZE","HdsFlyoutSizesValues","Medium","DEFAULT_HAS_OVERLAY","SIZES","Object","values","HdsFlyout","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","size","assert","join","includes","id","getElementId","classNames","classes","push","registerOnCloseCallback","event","onClose","isOpen","didInsert","element","body","document","bodyInitialOverflowValue","style","getPropertyValue","addEventListener","open","willDestroyNode","removeEventListener","showModal","setProperty","onOpen","onDismiss","token","beginAsync","listener","endAsync","close","removeProperty","length","removeAttribute","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/flyout/index.hbs","../../../../src/components/hds/flyout/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::DialogPrimitive::Wrapper\\n class={{this.classNames}}\\n ...attributes\\n aria-labelledby={{this.id}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroyNode}}\\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\\n {{focus-trap isActive=this.isOpen focusTrapOptions=(hash onDeactivate=this.onDismiss clickOutsideDeactivates=true)}}\\n>\\n <:header>\\n {{yield\\n (hash\\n Header=(component\\n \\\"hds/dialog-primitive/header\\\"\\n id=this.id\\n onDismiss=this.onDismiss\\n contextualClassPrefix=\\\"hds-flyout\\\"\\n titleTag=\\\"h1\\\"\\n )\\n Description=(component \\\"hds/dialog-primitive/description\\\" contextualClass=\\\"hds-flyout__description\\\")\\n )\\n }}\\n </:header>\\n <:body>\\n {{yield (hash Body=(component \\\"hds/dialog-primitive/body\\\" contextualClass=\\\"hds-flyout__body\\\"))}}\\n </:body>\\n <:footer>\\n {{yield\\n (hash\\n Footer=(component \\\"hds/dialog-primitive/footer\\\" onDismiss=this.onDismiss contextualClass=\\\"hds-flyout__footer\\\")\\n )\\n }}\\n </:footer>\\n</Hds::DialogPrimitive::Wrapper>\\n\\n{{#if this.isOpen}}\\n <Hds::DialogPrimitive::Overlay @contextualClass=\\\"hds-flyout__overlay\\\" />\\n{{/if}}\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { getElementId } from '../../../utils/hds-get-element-id.ts';\nimport { buildWaiter } from '@ember/test-waiters';\nimport type { WithBoundArgs } from '@glint/template';\n\nimport type { HdsFlyoutSizes } from './types.ts';\n\nimport { HdsFlyoutSizesValues } from './types.ts';\nimport HdsDialogPrimitiveBodyComponent from '../dialog-primitive/body.ts';\nimport HdsDialogPrimitiveDescriptionComponent from '../dialog-primitive/description.ts';\nimport HdsDialogPrimitiveFooterComponent from '../dialog-primitive/footer.ts';\nimport HdsDialogPrimitiveHeaderComponent from '../dialog-primitive/header.ts';\n\nconst waiter = buildWaiter('@hashicorp/design-system-components:flyout');\n\nexport const DEFAULT_SIZE = HdsFlyoutSizesValues.Medium;\nexport const DEFAULT_HAS_OVERLAY = true;\nexport const SIZES: string[] = Object.values(HdsFlyoutSizesValues);\n\nexport interface HdsFlyoutSignature {\n Args: {\n size?: HdsFlyoutSizes;\n returnFocusTo?: string;\n onOpen?: () => void;\n onClose?: (event: Event) => void;\n };\n Blocks: {\n default: [\n {\n Header?: WithBoundArgs<\n typeof HdsDialogPrimitiveHeaderComponent,\n 'id' | 'onDismiss' | 'contextualClassPrefix'\n >;\n Description?: WithBoundArgs<\n typeof HdsDialogPrimitiveDescriptionComponent,\n 'contextualClass'\n >;\n Body?: WithBoundArgs<\n typeof HdsDialogPrimitiveBodyComponent,\n 'contextualClass'\n >;\n Footer?: WithBoundArgs<\n typeof HdsDialogPrimitiveFooterComponent,\n 'onDismiss' | 'contextualClass'\n >;\n },\n ];\n };\n Element: HTMLDialogElement;\n}\n\nexport default class HdsFlyout extends Component<HdsFlyoutSignature> {\n @tracked isOpen = false;\n element!: HTMLDialogElement;\n body!: HTMLElement;\n bodyInitialOverflowValue = '';\n\n /**\n * Sets the size of the flyout\n * Accepted values: medium, large\n *\n * @param size\n * @type {string}\n * @default 'medium'\n */\n get size(): HdsFlyoutSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Flyout\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n /**\n * Calculates the unique ID to assign to the title\n */\n get id(): string {\n return getElementId(this);\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-flyout'];\n\n // add a class based on the @size argument\n classes.push(`hds-flyout--size-${this.size}`);\n\n return classes.join(' ');\n }\n\n @action registerOnCloseCallback(event: Event) {\n if (this.args.onClose && typeof this.args.onClose === 'function') {\n this.args.onClose(event);\n }\n\n this.isOpen = false;\n }\n\n @action\n didInsert(element: HTMLDialogElement): void {\n // Store references of `<dialog>` and `<body>` elements\n this.element = element;\n this.body = document.body;\n\n if (this.body) {\n // Store the initial `overflow` value of `<body>` so we can reset to it\n this.bodyInitialOverflowValue =\n this.body.style.getPropertyValue('overflow');\n }\n\n // Register \"onClose\" callback function to be called when a native 'close' event is dispatched\n this.element.addEventListener('close', this.registerOnCloseCallback, true);\n\n // If the flyout dialog is not already open\n if (!this.element.open) {\n this.open();\n }\n }\n\n @action\n willDestroyNode(): void {\n if (this.element) {\n this.element.removeEventListener(\n 'close',\n this.registerOnCloseCallback,\n true\n );\n }\n }\n\n @action\n open(): void {\n // Make flyout dialog visible using the native `showModal` method\n this.element.showModal();\n this.isOpen = true;\n\n // Prevent page from scrolling when the dialog is open\n if (this.body) this.body.style.setProperty('overflow', 'hidden');\n\n // Call \"onOpen\" callback function\n if (this.args.onOpen && typeof this.args.onOpen === 'function') {\n this.args.onOpen();\n }\n }\n\n @action\n async onDismiss(): Promise<void> {\n // allow ember test helpers to be aware of when the `close` event fires\n // when using `click` or other helpers from '@ember/test-helpers'\n // Notice: this code will get stripped out in production builds (DEBUG evaluates to `true` in dev/test builds, but `false` in prod builds)\n if (this.element.open) {\n const token = waiter.beginAsync();\n const listener = () => {\n waiter.endAsync(token);\n this.element.removeEventListener('close', listener);\n };\n this.element.addEventListener('close', listener);\n }\n\n // Make flyout dialog invisible using the native `close` method\n this.element.close();\n\n // Reset page `overflow` property\n if (this.body) {\n this.body.style.removeProperty('overflow');\n if (this.bodyInitialOverflowValue === '') {\n if (this.body.style.length === 0) {\n this.body.removeAttribute('style');\n }\n } else {\n this.body.style.setProperty('overflow', this.bodyInitialOverflowValue);\n }\n }\n\n // Return focus to a specific element (if provided)\n if (this.args.returnFocusTo) {\n const initiator = document.getElementById(this.args.returnFocusTo);\n if (initiator) {\n initiator.focus();\n }\n }\n }\n}\n"],"names":["waiter","buildWaiter","DEFAULT_SIZE","HdsFlyoutSizesValues","Medium","DEFAULT_HAS_OVERLAY","SIZES","Object","values","HdsFlyout","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","size","assert","join","includes","id","getElementId","classNames","classes","push","registerOnCloseCallback","event","onClose","isOpen","didInsert","element","body","document","bodyInitialOverflowValue","style","getPropertyValue","addEventListener","open","willDestroyNode","removeEventListener","showModal","setProperty","onOpen","onDismiss","token","beginAsync","listener","endAsync","close","removeProperty","length","removeAttribute","returnFocusTo","initiator","getElementById","focus","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ let HdsFormSuperSelectMultipleBase = (_class = class HdsFormSuperSelectMultipleB
|
|
|
32
32
|
return this.powerSelectAPI?.resultsCount.toString() || '0';
|
|
33
33
|
}
|
|
34
34
|
get resultCountMessage() {
|
|
35
|
-
return `${this.selectedCount} selected of ${this.optionsCount} total`;
|
|
35
|
+
return this.args.resultCountMessage || `${this.selectedCount} selected of ${this.optionsCount} total`;
|
|
36
36
|
}
|
|
37
37
|
calculatePosition(trigger, content) {
|
|
38
38
|
// use `hds-anchored-position` to calculate and set position
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sources":["../../../../../../src/components/hds/form/super-select/multiple/base.hbs","../../../../../../src/components/hds/form/super-select/multiple/base.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n{{! Important: if an argument is added in base.hbs, it must also be added/processed in the Base component used in field.hbs }}\\n<div class={{this.classNames}} {{style this.dropdownMaxWidthStyle}}>\\n <PowerSelectMultiple\\n @afterOptionsComponent={{if\\n this.showAfterOptions\\n (or\\n @afterOptionsComponent\\n (component\\n \\\"hds/form/super-select/after-options\\\"\\n content=@afterOptionsContent\\n resultCountMessage=this.resultCountMessage\\n showNoSelectedMessage=this.showNoSelectedMessage\\n showOnlySelected=this.showOnlySelected\\n showSelected=this.showSelected\\n showAll=this.showAll\\n clearSelected=this.clearSelected\\n selectedCount=this.selectedCount\\n )\\n )\\n }}\\n @ariaDescribedBy={{@ariaDescribedBy}}\\n @ariaInvalid={{@ariaInvalid}}\\n @ariaLabel={{@ariaLabel}}\\n @ariaLabelledBy={{@ariaLabelledBy}}\\n @beforeOptionsComponent={{@beforeOptionsComponent}}\\n @calculatePosition={{if @verticalPosition undefined this.calculatePosition}}\\n @closeOnSelect={{false}}\\n @disabled={{@disabled}}\\n @dropdownClass={{@dropdownClass}}\\n @extra={{@extra}}\\n @groupComponent={{component \\\"hds/form/super-select/option-group\\\"}}\\n @horizontalPosition={{@horizontalPosition}}\\n @initiallyOpened={{@initiallyOpened}}\\n @labelText={{@labelText}}\\n @loadingMessage={{@loadingMessage}}\\n @matcher={{@matcher}}\\n @matchTriggerWidth={{if @dropdownMaxWidth false @matchTriggerWidth}}\\n @noMatchesMessage={{@noMatchesMessage}}\\n @onBlur={{@onBlur}}\\n @onChange={{@onChange}}\\n @onClose={{@onClose}}\\n @onFocus={{@onFocus}}\\n @onInput={{@onInput}}\\n @onKeydown={{@onKeydown}}\\n @onOpen={{@onOpen}}\\n @options={{@options}}\\n @optionsComponent={{@optionsComponent}}\\n @placeholder={{@placeholder}}\\n @placeholderComponent={{@placeholderComponent}}\\n @preventScroll={{@preventScroll}}\\n @registerAPI={{this.setPowerSelectAPI}}\\n @renderInPlace={{true}}\\n @resultCountMessage={{@resultCountMessage}}\\n @scrollTo={{@scrollTo}}\\n @search={{@search}}\\n @searchEnabled={{@searchEnabled}}\\n @searchField={{@searchField}}\\n @searchMessage={{@searchMessage}}\\n @searchPlaceholder={{this.searchPlaceholder}}\\n @selected={{@selected}}\\n @selectedItemComponent={{@selectedItemComponent}}\\n @tabindex={{@tabindex}}\\n @triggerClass={{@triggerClass}}\\n @triggerComponent={{@triggerComponent}}\\n @triggerId={{@triggerId}}\\n @triggerRole={{@triggerRole}}\\n @typeAheadOptionMatcher={{@typeAheadOptionMatcher}}\\n @verticalPosition={{@verticalPosition}}\\n ...attributes\\n as |option select|\\n >\\n {{! even if technically what is yielded here are _a list_ of options, we\\'ve decided to keep the `option` name for consistency with the existing `PowerSelect` API }}\\n {{yield option select}}\\n </PowerSelectMultiple>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport anchoredPositionModifier from '../../../../../modifiers/hds-anchored-position.ts';\n\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport {\n HdsFormSuperSelectHorizontalPositionValues,\n HdsFormSuperSelectHorizontalPositionToPlacementValues,\n} from '../types.ts';\n\nimport type { PowerSelectSignature } from 'ember-power-select/components/power-select';\nimport type { Select as PowerSelect } from 'ember-power-select/components/power-select';\nimport type { CalculatePositionResult } from 'ember-basic-dropdown/utils/calculate-position';\nimport type { HdsFormSuperSelectHorizontalPositions } from '../types.ts';\n\nexport const DEFAULT_HORIZONTAL_POSITION: string =\n HdsFormSuperSelectHorizontalPositionValues.Left;\nexport const HORIZONTAL_POSITION_MAPPING =\n HdsFormSuperSelectHorizontalPositionToPlacementValues;\n\nexport interface HdsFormSuperSelectMultipleBaseSignature {\n Args: PowerSelectSignature['Args'] & {\n showAfterOptions?: boolean;\n afterOptionsContent?: string;\n resultCountMessage?: string;\n dropdownMaxWidth?: string;\n matchTriggerWidth?: boolean;\n isInvalid?: boolean;\n };\n Blocks: PowerSelectSignature['Blocks'];\n Element: PowerSelectSignature['Element'];\n}\n\nexport default class HdsFormSuperSelectMultipleBase extends Component<HdsFormSuperSelectMultipleBaseSignature> {\n @tracked powerSelectAPI?: PowerSelect;\n @tracked showOnlySelected = false;\n @tracked showNoSelectedMessage = false;\n\n get horizontalPosition(): HdsFormSuperSelectHorizontalPositions {\n const { horizontalPosition = DEFAULT_HORIZONTAL_POSITION } = this.args;\n return horizontalPosition as HdsFormSuperSelectHorizontalPositions;\n }\n\n get selectedCount(): string {\n return this.powerSelectAPI?.selected?.length || '0';\n }\n\n get optionsCount(): string {\n return this.powerSelectAPI?.resultsCount.toString() || '0';\n }\n\n get resultCountMessage(): string {\n return `${this.selectedCount} selected of ${this.optionsCount} total`;\n }\n\n @action calculatePosition(\n trigger: Element,\n content: HTMLElement\n ): CalculatePositionResult {\n // use `hds-anchored-position` to calculate and set position\n // @ts-expect-error: known issue with type of invocation\n anchoredPositionModifier(content, [trigger], {\n placement: HORIZONTAL_POSITION_MAPPING[this.horizontalPosition],\n offsetOptions: 4,\n enableCollisionDetection: true,\n });\n // prevent PowerSelect from setting position\n return {\n horizontalPosition: 'auto',\n verticalPosition: 'auto',\n style: {},\n };\n }\n\n /**\n * This action sets the powerSelectAPI property and optionally calls a registerAPI function.\n *\n * @param {Object} powerSelectAPI - The API object for the PowerSelect component.\n *\n * If a `registerAPI` function is passed in through the component's arguments,\n * this function will be called with the `powerSelectAPI` as its argument.\n * This allows parent components or controllers to have access to the PowerSelect API.\n *\n * The `powerSelectAPI` is also stored on the component instance and used in `clearSelected`\n */\n @action\n setPowerSelectAPI(powerSelectAPI: PowerSelect): void {\n if (typeof this.args.registerAPI === 'function') {\n this.args.registerAPI(powerSelectAPI);\n }\n this.powerSelectAPI = powerSelectAPI;\n }\n\n @action showSelected(): void {\n this.showNoSelectedMessage = this.selectedCount === '0';\n this.showOnlySelected = true;\n }\n\n @action showAll(): void {\n this.showNoSelectedMessage = false;\n this.showOnlySelected = false;\n }\n\n @action clearSelected(): void {\n this.powerSelectAPI?.actions.select(null);\n // show all options after clearing all selection\n this.showNoSelectedMessage = false;\n this.showOnlySelected = false;\n }\n\n /**\n * Determine if `@afterOptionsComponent` gets displayed\n * @param showAfterOptions\n * @type {boolean}\n * @default true\n */\n get showAfterOptions(): boolean {\n return this.args.showAfterOptions ?? true;\n }\n\n // NOTE: The searchPlaceholder doesn't currently work for the multiple select\n /**\n * Get the search placeholder text\n * @param searchPlaceholder\n * @type {string}\n * @default 'Search'\n */\n get searchPlaceholder(): string {\n return this.args.searchPlaceholder ?? 'Search';\n }\n\n /**\n * Get the maxWidth to apply to the dropdown\n * @param dropdownMaxWidth\n * @type {string}\n * @default 'none'\n */\n get dropdownMaxWidthStyle(): Record<string, string> {\n const maxWidthStyle: { [key: string]: string } = {};\n if (this.args.dropdownMaxWidth) {\n maxWidthStyle['--hds-form-super-select-dropdown-max-width'] =\n this.args.dropdownMaxWidth;\n }\n return maxWidthStyle;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-form-super-select', 'hds-form-super-select-multiple'];\n\n // add a class based on the @matchTriggerWidth argument or whether dropdownMaxWidth is set\n if (this.args.matchTriggerWidth === false || this.args.dropdownMaxWidth) {\n classes.push('hds-form-super-select--dropdown-content-auto-width');\n }\n\n // add a class based on the @isInvalid argument\n if (this.args.isInvalid) {\n classes.push(`hds-form-super-select--is-invalid`);\n }\n\n // add a class based on the showOnlySelected\n if (this.showOnlySelected) {\n classes.push(`hds-form-super-select--show-only-selected`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_HORIZONTAL_POSITION","HdsFormSuperSelectHorizontalPositionValues","Left","HORIZONTAL_POSITION_MAPPING","HdsFormSuperSelectHorizontalPositionToPlacementValues","HdsFormSuperSelectMultipleBase","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","horizontalPosition","selectedCount","powerSelectAPI","selected","length","optionsCount","resultsCount","toString","resultCountMessage","calculatePosition","trigger","content","anchoredPositionModifier","placement","offsetOptions","enableCollisionDetection","verticalPosition","style","setPowerSelectAPI","registerAPI","showSelected","showNoSelectedMessage","showOnlySelected","showAll","clearSelected","actions","select","showAfterOptions","searchPlaceholder","dropdownMaxWidthStyle","maxWidthStyle","dropdownMaxWidth","classNames","classes","matchTriggerWidth","push","isInvalid","join","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","sources":["../../../../../../src/components/hds/form/super-select/multiple/base.hbs","../../../../../../src/components/hds/form/super-select/multiple/base.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n{{! Important: if an argument is added in base.hbs, it must also be added/processed in the Base component used in field.hbs }}\\n<div class={{this.classNames}} {{style this.dropdownMaxWidthStyle}}>\\n <PowerSelectMultiple\\n @afterOptionsComponent={{if\\n this.showAfterOptions\\n (or\\n @afterOptionsComponent\\n (component\\n \\\"hds/form/super-select/after-options\\\"\\n content=@afterOptionsContent\\n resultCountMessage=this.resultCountMessage\\n showNoSelectedMessage=this.showNoSelectedMessage\\n showOnlySelected=this.showOnlySelected\\n showSelected=this.showSelected\\n showAll=this.showAll\\n clearSelected=this.clearSelected\\n selectedCount=this.selectedCount\\n )\\n )\\n }}\\n @ariaDescribedBy={{@ariaDescribedBy}}\\n @ariaInvalid={{@ariaInvalid}}\\n @ariaLabel={{@ariaLabel}}\\n @ariaLabelledBy={{@ariaLabelledBy}}\\n @beforeOptionsComponent={{@beforeOptionsComponent}}\\n @calculatePosition={{if @verticalPosition undefined this.calculatePosition}}\\n @closeOnSelect={{false}}\\n @disabled={{@disabled}}\\n @dropdownClass={{@dropdownClass}}\\n @extra={{@extra}}\\n @groupComponent={{component \\\"hds/form/super-select/option-group\\\"}}\\n @horizontalPosition={{@horizontalPosition}}\\n @initiallyOpened={{@initiallyOpened}}\\n @labelText={{@labelText}}\\n @loadingMessage={{@loadingMessage}}\\n @matcher={{@matcher}}\\n @matchTriggerWidth={{if @dropdownMaxWidth false @matchTriggerWidth}}\\n @noMatchesMessage={{@noMatchesMessage}}\\n @onBlur={{@onBlur}}\\n @onChange={{@onChange}}\\n @onClose={{@onClose}}\\n @onFocus={{@onFocus}}\\n @onInput={{@onInput}}\\n @onKeydown={{@onKeydown}}\\n @onOpen={{@onOpen}}\\n @options={{@options}}\\n @optionsComponent={{@optionsComponent}}\\n @placeholder={{@placeholder}}\\n @placeholderComponent={{@placeholderComponent}}\\n @preventScroll={{@preventScroll}}\\n @registerAPI={{this.setPowerSelectAPI}}\\n @renderInPlace={{true}}\\n @resultCountMessage={{@resultCountMessage}}\\n @scrollTo={{@scrollTo}}\\n @search={{@search}}\\n @searchEnabled={{@searchEnabled}}\\n @searchField={{@searchField}}\\n @searchMessage={{@searchMessage}}\\n @searchPlaceholder={{this.searchPlaceholder}}\\n @selected={{@selected}}\\n @selectedItemComponent={{@selectedItemComponent}}\\n @tabindex={{@tabindex}}\\n @triggerClass={{@triggerClass}}\\n @triggerComponent={{@triggerComponent}}\\n @triggerId={{@triggerId}}\\n @triggerRole={{@triggerRole}}\\n @typeAheadOptionMatcher={{@typeAheadOptionMatcher}}\\n @verticalPosition={{@verticalPosition}}\\n ...attributes\\n as |option select|\\n >\\n {{! even if technically what is yielded here are _a list_ of options, we\\'ve decided to keep the `option` name for consistency with the existing `PowerSelect` API }}\\n {{yield option select}}\\n </PowerSelectMultiple>\\n</div>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport anchoredPositionModifier from '../../../../../modifiers/hds-anchored-position.ts';\n\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport {\n HdsFormSuperSelectHorizontalPositionValues,\n HdsFormSuperSelectHorizontalPositionToPlacementValues,\n} from '../types.ts';\n\nimport type { PowerSelectSignature } from 'ember-power-select/components/power-select';\nimport type { Select as PowerSelect } from 'ember-power-select/components/power-select';\nimport type { CalculatePositionResult } from 'ember-basic-dropdown/utils/calculate-position';\nimport type { HdsFormSuperSelectHorizontalPositions } from '../types.ts';\n\nexport const DEFAULT_HORIZONTAL_POSITION: string =\n HdsFormSuperSelectHorizontalPositionValues.Left;\nexport const HORIZONTAL_POSITION_MAPPING =\n HdsFormSuperSelectHorizontalPositionToPlacementValues;\n\nexport interface HdsFormSuperSelectMultipleBaseSignature {\n Args: PowerSelectSignature['Args'] & {\n showAfterOptions?: boolean;\n afterOptionsContent?: string;\n resultCountMessage?: string;\n dropdownMaxWidth?: string;\n matchTriggerWidth?: boolean;\n isInvalid?: boolean;\n };\n Blocks: PowerSelectSignature['Blocks'];\n Element: PowerSelectSignature['Element'];\n}\n\nexport default class HdsFormSuperSelectMultipleBase extends Component<HdsFormSuperSelectMultipleBaseSignature> {\n @tracked powerSelectAPI?: PowerSelect;\n @tracked showOnlySelected = false;\n @tracked showNoSelectedMessage = false;\n\n get horizontalPosition(): HdsFormSuperSelectHorizontalPositions {\n const { horizontalPosition = DEFAULT_HORIZONTAL_POSITION } = this.args;\n return horizontalPosition as HdsFormSuperSelectHorizontalPositions;\n }\n\n get selectedCount(): string {\n return this.powerSelectAPI?.selected?.length || '0';\n }\n\n get optionsCount(): string {\n return this.powerSelectAPI?.resultsCount.toString() || '0';\n }\n\n get resultCountMessage(): string {\n return (\n this.args.resultCountMessage ||\n `${this.selectedCount} selected of ${this.optionsCount} total`\n );\n }\n\n @action calculatePosition(\n trigger: Element,\n content: HTMLElement\n ): CalculatePositionResult {\n // use `hds-anchored-position` to calculate and set position\n // @ts-expect-error: known issue with type of invocation\n anchoredPositionModifier(content, [trigger], {\n placement: HORIZONTAL_POSITION_MAPPING[this.horizontalPosition],\n offsetOptions: 4,\n enableCollisionDetection: true,\n });\n // prevent PowerSelect from setting position\n return {\n horizontalPosition: 'auto',\n verticalPosition: 'auto',\n style: {},\n };\n }\n\n /**\n * This action sets the powerSelectAPI property and optionally calls a registerAPI function.\n *\n * @param {Object} powerSelectAPI - The API object for the PowerSelect component.\n *\n * If a `registerAPI` function is passed in through the component's arguments,\n * this function will be called with the `powerSelectAPI` as its argument.\n * This allows parent components or controllers to have access to the PowerSelect API.\n *\n * The `powerSelectAPI` is also stored on the component instance and used in `clearSelected`\n */\n @action\n setPowerSelectAPI(powerSelectAPI: PowerSelect): void {\n if (typeof this.args.registerAPI === 'function') {\n this.args.registerAPI(powerSelectAPI);\n }\n this.powerSelectAPI = powerSelectAPI;\n }\n\n @action showSelected(): void {\n this.showNoSelectedMessage = this.selectedCount === '0';\n this.showOnlySelected = true;\n }\n\n @action showAll(): void {\n this.showNoSelectedMessage = false;\n this.showOnlySelected = false;\n }\n\n @action clearSelected(): void {\n this.powerSelectAPI?.actions.select(null);\n // show all options after clearing all selection\n this.showNoSelectedMessage = false;\n this.showOnlySelected = false;\n }\n\n /**\n * Determine if `@afterOptionsComponent` gets displayed\n * @param showAfterOptions\n * @type {boolean}\n * @default true\n */\n get showAfterOptions(): boolean {\n return this.args.showAfterOptions ?? true;\n }\n\n // NOTE: The searchPlaceholder doesn't currently work for the multiple select\n /**\n * Get the search placeholder text\n * @param searchPlaceholder\n * @type {string}\n * @default 'Search'\n */\n get searchPlaceholder(): string {\n return this.args.searchPlaceholder ?? 'Search';\n }\n\n /**\n * Get the maxWidth to apply to the dropdown\n * @param dropdownMaxWidth\n * @type {string}\n * @default 'none'\n */\n get dropdownMaxWidthStyle(): Record<string, string> {\n const maxWidthStyle: { [key: string]: string } = {};\n if (this.args.dropdownMaxWidth) {\n maxWidthStyle['--hds-form-super-select-dropdown-max-width'] =\n this.args.dropdownMaxWidth;\n }\n return maxWidthStyle;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-form-super-select', 'hds-form-super-select-multiple'];\n\n // add a class based on the @matchTriggerWidth argument or whether dropdownMaxWidth is set\n if (this.args.matchTriggerWidth === false || this.args.dropdownMaxWidth) {\n classes.push('hds-form-super-select--dropdown-content-auto-width');\n }\n\n // add a class based on the @isInvalid argument\n if (this.args.isInvalid) {\n classes.push(`hds-form-super-select--is-invalid`);\n }\n\n // add a class based on the showOnlySelected\n if (this.showOnlySelected) {\n classes.push(`hds-form-super-select--show-only-selected`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_HORIZONTAL_POSITION","HdsFormSuperSelectHorizontalPositionValues","Left","HORIZONTAL_POSITION_MAPPING","HdsFormSuperSelectHorizontalPositionToPlacementValues","HdsFormSuperSelectMultipleBase","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","horizontalPosition","selectedCount","powerSelectAPI","selected","length","optionsCount","resultsCount","toString","resultCountMessage","calculatePosition","trigger","content","anchoredPositionModifier","placement","offsetOptions","enableCollisionDetection","verticalPosition","style","setPowerSelectAPI","registerAPI","showSelected","showNoSelectedMessage","showOnlySelected","showAll","clearSelected","actions","select","showAfterOptions","searchPlaceholder","dropdownMaxWidthStyle","maxWidthStyle","dropdownMaxWidth","classNames","classes","matchTriggerWidth","push","isInvalid","join","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import { setComponentTemplate } from '@ember/component';
|
|
|
14
14
|
|
|
15
15
|
var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<Hds::DialogPrimitive::Wrapper\n class={{this.classNames}}\n ...attributes\n aria-labelledby={{this.id}}\n {{did-insert this.didInsert}}\n {{will-destroy this.willDestroyNode}}\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\n {{focus-trap isActive=this.isOpen focusTrapOptions=(hash onDeactivate=this.onDismiss clickOutsideDeactivates=true)}}\n>\n <:header>\n {{yield\n (hash\n Header=(component\n \"hds/dialog-primitive/header\"\n id=this.id\n onDismiss=this.onDismiss\n contextualClassPrefix=\"hds-modal\"\n titleTag=\"h1\"\n )\n )\n }}\n </:header>\n <:body>\n {{yield (hash Body=(component \"hds/dialog-primitive/body\" contextualClass=\"hds-modal__body\"))}}\n </:body>\n <:footer>\n {{yield\n (hash\n Footer=(component \"hds/dialog-primitive/footer\" onDismiss=this.onDismiss contextualClass=\"hds-modal__footer\")\n )\n }}\n </:footer>\n</Hds::DialogPrimitive::Wrapper>\n\n{{#if this.isOpen}}\n <Hds::DialogPrimitive::Overlay @contextualClass=\"hds-modal__overlay\" />\n{{/if}}");
|
|
16
16
|
|
|
17
|
-
var _class, _descriptor
|
|
17
|
+
var _class, _descriptor;
|
|
18
18
|
const waiter = buildWaiter('@hashicorp/design-system-components:modal');
|
|
19
19
|
const DEFAULT_SIZE = HdsModalSizeValues.Medium;
|
|
20
20
|
const DEFAULT_COLOR = HdsModalColorValues.Neutral;
|
|
@@ -24,19 +24,13 @@ let HdsModal = (_class = class HdsModal extends Component {
|
|
|
24
24
|
constructor(...args) {
|
|
25
25
|
super(...args);
|
|
26
26
|
_initializerDefineProperty(this, "isOpen", _descriptor, this);
|
|
27
|
-
_initializerDefineProperty(this, "isDismissDisabled", _descriptor2, this);
|
|
28
27
|
_defineProperty(this, "element", void 0);
|
|
29
28
|
_defineProperty(this, "body", void 0);
|
|
30
29
|
_defineProperty(this, "bodyInitialOverflowValue", '');
|
|
31
30
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
*
|
|
36
|
-
* @param size
|
|
37
|
-
* @type {string}
|
|
38
|
-
* @default 'medium'
|
|
39
|
-
*/
|
|
31
|
+
get isDismissDisabled() {
|
|
32
|
+
return this.args.isDismissDisabled ?? false;
|
|
33
|
+
}
|
|
40
34
|
get size() {
|
|
41
35
|
const {
|
|
42
36
|
size = DEFAULT_SIZE
|
|
@@ -44,15 +38,6 @@ let HdsModal = (_class = class HdsModal extends Component {
|
|
|
44
38
|
assert(`@size for "Hds::Modal" must be one of the following: ${SIZES.join(', ')}; received: ${size}`, SIZES.includes(size));
|
|
45
39
|
return size;
|
|
46
40
|
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Sets the color of the modal dialog
|
|
50
|
-
* Accepted values: neutral, warning, critical
|
|
51
|
-
*
|
|
52
|
-
* @param color
|
|
53
|
-
* @type {string}
|
|
54
|
-
* @default 'neutral'
|
|
55
|
-
*/
|
|
56
41
|
get color() {
|
|
57
42
|
const {
|
|
58
43
|
color = DEFAULT_COLOR
|
|
@@ -60,19 +45,9 @@ let HdsModal = (_class = class HdsModal extends Component {
|
|
|
60
45
|
assert(`@color for "Hds::Modal" must be one of the following: ${COLORS.join(', ')}; received: ${color}`, COLORS.includes(color));
|
|
61
46
|
return color;
|
|
62
47
|
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Calculates the unique ID to assign to the title
|
|
66
|
-
*/
|
|
67
48
|
get id() {
|
|
68
49
|
return getElementId(this);
|
|
69
50
|
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Get the class names to apply to the component.
|
|
73
|
-
* @method classNames
|
|
74
|
-
* @return {string} The "class" attribute to apply to the component.
|
|
75
|
-
*/
|
|
76
51
|
get classNames() {
|
|
77
52
|
const classes = ['hds-modal'];
|
|
78
53
|
|
|
@@ -163,6 +138,14 @@ let HdsModal = (_class = class HdsModal extends Component {
|
|
|
163
138
|
this.body.style.setProperty('overflow', this.bodyInitialOverflowValue);
|
|
164
139
|
}
|
|
165
140
|
}
|
|
141
|
+
|
|
142
|
+
// Return focus to a specific element (if provided)
|
|
143
|
+
if (this.args.returnFocusTo) {
|
|
144
|
+
const initiator = document.getElementById(this.args.returnFocusTo);
|
|
145
|
+
if (initiator) {
|
|
146
|
+
initiator.focus();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
166
149
|
}
|
|
167
150
|
}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, "isOpen", [tracked], {
|
|
168
151
|
configurable: true,
|
|
@@ -171,13 +154,6 @@ let HdsModal = (_class = class HdsModal extends Component {
|
|
|
171
154
|
initializer: function () {
|
|
172
155
|
return false;
|
|
173
156
|
}
|
|
174
|
-
}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "isDismissDisabled", [tracked], {
|
|
175
|
-
configurable: true,
|
|
176
|
-
enumerable: true,
|
|
177
|
-
writable: true,
|
|
178
|
-
initializer: function () {
|
|
179
|
-
return this.args.isDismissDisabled ?? false;
|
|
180
|
-
}
|
|
181
157
|
}), _applyDecoratedDescriptor(_class.prototype, "registerOnCloseCallback", [action], Object.getOwnPropertyDescriptor(_class.prototype, "registerOnCloseCallback"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didInsert", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsert"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyNode", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyNode"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "open", [action], Object.getOwnPropertyDescriptor(_class.prototype, "open"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onDismiss", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onDismiss"), _class.prototype)), _class);
|
|
182
158
|
setComponentTemplate(TEMPLATE, HdsModal);
|
|
183
159
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/modal/index.hbs","../../../../src/components/hds/modal/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::DialogPrimitive::Wrapper\\n class={{this.classNames}}\\n ...attributes\\n aria-labelledby={{this.id}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroyNode}}\\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\\n {{focus-trap isActive=this.isOpen focusTrapOptions=(hash onDeactivate=this.onDismiss clickOutsideDeactivates=true)}}\\n>\\n <:header>\\n {{yield\\n (hash\\n Header=(component\\n \\\"hds/dialog-primitive/header\\\"\\n id=this.id\\n onDismiss=this.onDismiss\\n contextualClassPrefix=\\\"hds-modal\\\"\\n titleTag=\\\"h1\\\"\\n )\\n )\\n }}\\n </:header>\\n <:body>\\n {{yield (hash Body=(component \\\"hds/dialog-primitive/body\\\" contextualClass=\\\"hds-modal__body\\\"))}}\\n </:body>\\n <:footer>\\n {{yield\\n (hash\\n Footer=(component \\\"hds/dialog-primitive/footer\\\" onDismiss=this.onDismiss contextualClass=\\\"hds-modal__footer\\\")\\n )\\n }}\\n </:footer>\\n</Hds::DialogPrimitive::Wrapper>\\n\\n{{#if this.isOpen}}\\n <Hds::DialogPrimitive::Overlay @contextualClass=\\\"hds-modal__overlay\\\" />\\n{{/if}}\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { getElementId } from '../../../utils/hds-get-element-id.ts';\nimport { buildWaiter } from '@ember/test-waiters';\n\nimport type { WithBoundArgs } from '@glint/template';\nimport type { HdsModalSizes, HdsModalColors } from './types.ts';\n\nimport HdsDialogPrimitiveHeaderComponent from '../dialog-primitive/header.ts';\nimport HdsDialogPrimitiveBodyComponent from '../dialog-primitive/body.ts';\nimport HdsDialogPrimitiveFooterComponent from '../dialog-primitive/footer.ts';\nimport { HdsModalSizeValues, HdsModalColorValues } from './types.ts';\n\nconst waiter = buildWaiter('@hashicorp/design-system-components:modal');\n\nexport const DEFAULT_SIZE = HdsModalSizeValues.Medium;\nexport const DEFAULT_COLOR = HdsModalColorValues.Neutral;\n\nexport const SIZES: string[] = Object.values(HdsModalSizeValues);\nexport const COLORS: string[] = Object.values(HdsModalColorValues);\n\nexport interface HdsModalSignature {\n Args: {\n isDismissDisabled?: boolean;\n size?: HdsModalSizes;\n color?: HdsModalColors;\n onOpen?: () => void;\n onClose?: (event: Event) => void;\n };\n Blocks: {\n default: [\n {\n Header?: WithBoundArgs<\n typeof HdsDialogPrimitiveHeaderComponent,\n 'id' | 'onDismiss' | 'contextualClassPrefix'\n >;\n Body?: WithBoundArgs<\n typeof HdsDialogPrimitiveBodyComponent,\n 'contextualClass'\n >;\n Footer?: WithBoundArgs<\n typeof HdsDialogPrimitiveFooterComponent,\n 'onDismiss' | 'contextualClass'\n >;\n },\n ];\n };\n Element: HTMLDialogElement;\n}\n\nexport default class HdsModal extends Component<HdsModalSignature> {\n @tracked isOpen = false;\n @tracked isDismissDisabled = this.args.isDismissDisabled ?? false;\n element!: HTMLDialogElement;\n body!: HTMLElement;\n bodyInitialOverflowValue = '';\n\n /**\n * Sets the size of the modal dialog\n * Accepted values: small, medium, large\n *\n * @param size\n * @type {string}\n * @default 'medium'\n */\n get size(): HdsModalSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Modal\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n /**\n * Sets the color of the modal dialog\n * Accepted values: neutral, warning, critical\n *\n * @param color\n * @type {string}\n * @default 'neutral'\n */\n get color(): HdsModalColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Modal\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n /**\n * Calculates the unique ID to assign to the title\n */\n get id(): string {\n return getElementId(this);\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames(): string {\n const classes = ['hds-modal'];\n\n // add a class based on the @size argument\n classes.push(`hds-modal--size-${this.size}`);\n\n // add a class based on the @color argument\n classes.push(`hds-modal--color-${this.color}`);\n\n return classes.join(' ');\n }\n\n @action registerOnCloseCallback(event: Event): void {\n if (\n !this.isDismissDisabled &&\n this.args.onClose &&\n typeof this.args.onClose === 'function'\n ) {\n this.args.onClose(event);\n }\n\n // If the dismissal of the modal is disabled, we keep the modal open/visible otherwise we mark it as closed\n if (this.isDismissDisabled) {\n // If, in a chain of events, the element is not attached to the DOM, the `showModal` would fail\n // so we add this safeguard condition that checks for the `<dialog>` to have a parent\n if (this.element.parentElement) {\n // As there is no way to `preventDefault` on `close` events, we call the `showModal` function\n // preserving the state of the modal dialog\n this.element.showModal();\n }\n } else {\n this.isOpen = false;\n }\n }\n\n @action\n didInsert(element: HTMLDialogElement): void {\n // Store references of `<dialog>` and `<body>` elements\n this.element = element;\n this.body = document.body;\n\n if (this.body) {\n // Store the initial `overflow` value of `<body>` so we can reset to it\n this.bodyInitialOverflowValue =\n this.body.style.getPropertyValue('overflow');\n }\n\n // Register \"onClose\" callback function to be called when a native 'close' event is dispatched\n this.element.addEventListener('close', this.registerOnCloseCallback, true);\n\n // If the modal dialog is not already open\n if (!this.element.open) {\n this.open();\n }\n }\n\n @action\n willDestroyNode(): void {\n if (this.element) {\n this.element.removeEventListener(\n 'close',\n this.registerOnCloseCallback,\n true\n );\n }\n }\n\n @action\n open(): void {\n // Make modal dialog visible using the native `showModal` method\n this.element.showModal();\n this.isOpen = true;\n\n // Prevent page from scrolling when the dialog is open\n if (this.body) this.body.style.setProperty('overflow', 'hidden');\n\n // Call \"onOpen\" callback function\n if (this.args.onOpen && typeof this.args.onOpen === 'function') {\n this.args.onOpen();\n }\n }\n\n @action\n async onDismiss(): Promise<void> {\n // allow ember test helpers to be aware of when the `close` event fires\n // when using `click` or other helpers from '@ember/test-helpers'\n // Notice: this code will get stripped out in production builds (DEBUG evaluates to `true` in dev/test builds, but `false` in prod builds)\n if (this.element.open) {\n const token = waiter.beginAsync();\n const listener = () => {\n waiter.endAsync(token);\n this.element.removeEventListener('close', listener);\n };\n this.element.addEventListener('close', listener);\n }\n\n // Make modal dialog invisible using the native `close` method\n this.element.close();\n\n // Reset page `overflow` property\n if (this.body) {\n this.body.style.removeProperty('overflow');\n if (this.bodyInitialOverflowValue === '') {\n if (this.body.style.length === 0) {\n this.body.removeAttribute('style');\n }\n } else {\n this.body.style.setProperty('overflow', this.bodyInitialOverflowValue);\n }\n }\n }\n}\n"],"names":["waiter","buildWaiter","DEFAULT_SIZE","HdsModalSizeValues","Medium","DEFAULT_COLOR","HdsModalColorValues","Neutral","SIZES","Object","values","COLORS","HdsModal","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_defineProperty","size","assert","join","includes","color","id","getElementId","classNames","classes","push","registerOnCloseCallback","event","isDismissDisabled","onClose","element","parentElement","showModal","isOpen","didInsert","body","document","bodyInitialOverflowValue","style","getPropertyValue","addEventListener","open","willDestroyNode","removeEventListener","setProperty","onOpen","onDismiss","token","beginAsync","listener","endAsync","close","removeProperty","length","removeAttribute","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/modal/index.hbs","../../../../src/components/hds/modal/index.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::DialogPrimitive::Wrapper\\n class={{this.classNames}}\\n ...attributes\\n aria-labelledby={{this.id}}\\n {{did-insert this.didInsert}}\\n {{will-destroy this.willDestroyNode}}\\n {{! @glint-expect-error - https://github.com/josemarluedke/ember-focus-trap/issues/86 }}\\n {{focus-trap isActive=this.isOpen focusTrapOptions=(hash onDeactivate=this.onDismiss clickOutsideDeactivates=true)}}\\n>\\n <:header>\\n {{yield\\n (hash\\n Header=(component\\n \\\"hds/dialog-primitive/header\\\"\\n id=this.id\\n onDismiss=this.onDismiss\\n contextualClassPrefix=\\\"hds-modal\\\"\\n titleTag=\\\"h1\\\"\\n )\\n )\\n }}\\n </:header>\\n <:body>\\n {{yield (hash Body=(component \\\"hds/dialog-primitive/body\\\" contextualClass=\\\"hds-modal__body\\\"))}}\\n </:body>\\n <:footer>\\n {{yield\\n (hash\\n Footer=(component \\\"hds/dialog-primitive/footer\\\" onDismiss=this.onDismiss contextualClass=\\\"hds-modal__footer\\\")\\n )\\n }}\\n </:footer>\\n</Hds::DialogPrimitive::Wrapper>\\n\\n{{#if this.isOpen}}\\n <Hds::DialogPrimitive::Overlay @contextualClass=\\\"hds-modal__overlay\\\" />\\n{{/if}}\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { getElementId } from '../../../utils/hds-get-element-id.ts';\nimport { buildWaiter } from '@ember/test-waiters';\n\nimport type { WithBoundArgs } from '@glint/template';\nimport type { HdsModalSizes, HdsModalColors } from './types.ts';\n\nimport HdsDialogPrimitiveHeaderComponent from '../dialog-primitive/header.ts';\nimport HdsDialogPrimitiveBodyComponent from '../dialog-primitive/body.ts';\nimport HdsDialogPrimitiveFooterComponent from '../dialog-primitive/footer.ts';\nimport { HdsModalSizeValues, HdsModalColorValues } from './types.ts';\n\nconst waiter = buildWaiter('@hashicorp/design-system-components:modal');\n\nexport const DEFAULT_SIZE = HdsModalSizeValues.Medium;\nexport const DEFAULT_COLOR = HdsModalColorValues.Neutral;\n\nexport const SIZES: string[] = Object.values(HdsModalSizeValues);\nexport const COLORS: string[] = Object.values(HdsModalColorValues);\n\nexport interface HdsModalSignature {\n Args: {\n isDismissDisabled?: boolean;\n size?: HdsModalSizes;\n color?: HdsModalColors;\n returnFocusTo?: string;\n onOpen?: () => void;\n onClose?: (event: Event) => void;\n };\n Blocks: {\n default: [\n {\n Header?: WithBoundArgs<\n typeof HdsDialogPrimitiveHeaderComponent,\n 'id' | 'onDismiss' | 'contextualClassPrefix'\n >;\n Body?: WithBoundArgs<\n typeof HdsDialogPrimitiveBodyComponent,\n 'contextualClass'\n >;\n Footer?: WithBoundArgs<\n typeof HdsDialogPrimitiveFooterComponent,\n 'onDismiss' | 'contextualClass'\n >;\n },\n ];\n };\n Element: HTMLDialogElement;\n}\n\nexport default class HdsModal extends Component<HdsModalSignature> {\n @tracked isOpen = false;\n element!: HTMLDialogElement;\n body!: HTMLElement;\n bodyInitialOverflowValue = '';\n\n get isDismissDisabled(): boolean {\n return this.args.isDismissDisabled ?? false;\n }\n\n get size(): HdsModalSizes {\n const { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Modal\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n get color(): HdsModalColors {\n const { color = DEFAULT_COLOR } = this.args;\n\n assert(\n `@color for \"Hds::Modal\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n\n return color;\n }\n\n get id(): string {\n return getElementId(this);\n }\n\n get classNames(): string {\n const classes = ['hds-modal'];\n\n // add a class based on the @size argument\n classes.push(`hds-modal--size-${this.size}`);\n\n // add a class based on the @color argument\n classes.push(`hds-modal--color-${this.color}`);\n\n return classes.join(' ');\n }\n\n @action registerOnCloseCallback(event: Event): void {\n if (\n !this.isDismissDisabled &&\n this.args.onClose &&\n typeof this.args.onClose === 'function'\n ) {\n this.args.onClose(event);\n }\n\n // If the dismissal of the modal is disabled, we keep the modal open/visible otherwise we mark it as closed\n if (this.isDismissDisabled) {\n // If, in a chain of events, the element is not attached to the DOM, the `showModal` would fail\n // so we add this safeguard condition that checks for the `<dialog>` to have a parent\n if (this.element.parentElement) {\n // As there is no way to `preventDefault` on `close` events, we call the `showModal` function\n // preserving the state of the modal dialog\n this.element.showModal();\n }\n } else {\n this.isOpen = false;\n }\n }\n\n @action\n didInsert(element: HTMLDialogElement): void {\n // Store references of `<dialog>` and `<body>` elements\n this.element = element;\n this.body = document.body;\n\n if (this.body) {\n // Store the initial `overflow` value of `<body>` so we can reset to it\n this.bodyInitialOverflowValue =\n this.body.style.getPropertyValue('overflow');\n }\n\n // Register \"onClose\" callback function to be called when a native 'close' event is dispatched\n this.element.addEventListener('close', this.registerOnCloseCallback, true);\n\n // If the modal dialog is not already open\n if (!this.element.open) {\n this.open();\n }\n }\n\n @action\n willDestroyNode(): void {\n if (this.element) {\n this.element.removeEventListener(\n 'close',\n this.registerOnCloseCallback,\n true\n );\n }\n }\n\n @action\n open(): void {\n // Make modal dialog visible using the native `showModal` method\n this.element.showModal();\n this.isOpen = true;\n\n // Prevent page from scrolling when the dialog is open\n if (this.body) this.body.style.setProperty('overflow', 'hidden');\n\n // Call \"onOpen\" callback function\n if (this.args.onOpen && typeof this.args.onOpen === 'function') {\n this.args.onOpen();\n }\n }\n\n @action\n async onDismiss(): Promise<void> {\n // allow ember test helpers to be aware of when the `close` event fires\n // when using `click` or other helpers from '@ember/test-helpers'\n // Notice: this code will get stripped out in production builds (DEBUG evaluates to `true` in dev/test builds, but `false` in prod builds)\n if (this.element.open) {\n const token = waiter.beginAsync();\n const listener = () => {\n waiter.endAsync(token);\n this.element.removeEventListener('close', listener);\n };\n this.element.addEventListener('close', listener);\n }\n\n // Make modal dialog invisible using the native `close` method\n this.element.close();\n\n // Reset page `overflow` property\n if (this.body) {\n this.body.style.removeProperty('overflow');\n if (this.bodyInitialOverflowValue === '') {\n if (this.body.style.length === 0) {\n this.body.removeAttribute('style');\n }\n } else {\n this.body.style.setProperty('overflow', this.bodyInitialOverflowValue);\n }\n }\n\n // Return focus to a specific element (if provided)\n if (this.args.returnFocusTo) {\n const initiator = document.getElementById(this.args.returnFocusTo);\n if (initiator) {\n initiator.focus();\n }\n }\n }\n}\n"],"names":["waiter","buildWaiter","DEFAULT_SIZE","HdsModalSizeValues","Medium","DEFAULT_COLOR","HdsModalColorValues","Neutral","SIZES","Object","values","COLORS","HdsModal","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","isDismissDisabled","size","assert","join","includes","color","id","getElementId","classNames","classes","push","registerOnCloseCallback","event","onClose","element","parentElement","showModal","isOpen","didInsert","body","document","bodyInitialOverflowValue","style","getPropertyValue","addEventListener","open","willDestroyNode","removeEventListener","setProperty","onOpen","onDismiss","token","beginAsync","listener","endAsync","close","removeProperty","length","removeAttribute","returnFocusTo","initiator","getElementById","focus","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -3790,7 +3790,9 @@ button.hds-button[href]::after {
|
|
|
3790
3790
|
}
|
|
3791
3791
|
.hds-dropdown-list-item--color-action a::after,
|
|
3792
3792
|
.hds-dropdown-list-item--color-action button::after {
|
|
3793
|
-
--current-focus-ring-box-shadow: var(
|
|
3793
|
+
--current-focus-ring-box-shadow: var(
|
|
3794
|
+
--token-focus-ring-action-box-shadow
|
|
3795
|
+
);
|
|
3794
3796
|
}
|
|
3795
3797
|
|
|
3796
3798
|
.hds-dropdown-list-item--color-critical a,
|
|
@@ -3803,7 +3805,9 @@ button.hds-button[href]::after {
|
|
|
3803
3805
|
.hds-dropdown-list-item--color-critical a::after,
|
|
3804
3806
|
.hds-dropdown-list-item--color-critical button::after {
|
|
3805
3807
|
--current-background-color: var(--token-color-surface-critical);
|
|
3806
|
-
--current-focus-ring-box-shadow: var(
|
|
3808
|
+
--current-focus-ring-box-shadow: var(
|
|
3809
|
+
--token-focus-ring-critical-box-shadow
|
|
3810
|
+
);
|
|
3807
3811
|
}
|
|
3808
3812
|
|
|
3809
3813
|
.hds-dropdown-list-item__interactive-loading-wrapper {
|
|
@@ -3837,7 +3841,7 @@ button.hds-button[href]::after {
|
|
|
3837
3841
|
color: var(--token-color-foreground-strong);
|
|
3838
3842
|
}
|
|
3839
3843
|
|
|
3840
|
-
.hds-dropdown-list-item--variant-checkmark-selected .hds-dropdown-list-
|
|
3844
|
+
.hds-dropdown-list-item--variant-checkmark-selected .hds-dropdown-list-item__checkmark {
|
|
3841
3845
|
color: var(--token-color-foreground-action);
|
|
3842
3846
|
}
|
|
3843
3847
|
|
|
@@ -4617,6 +4621,9 @@ button.hds-button[href]::after {
|
|
|
4617
4621
|
.hds-form-super-select .ember-basic-dropdown .ember-basic-dropdown-trigger .ember-power-select-placeholder,
|
|
4618
4622
|
.hds-form-super-select .ember-basic-dropdown .ember-power-select-trigger .ember-power-select-placeholder {
|
|
4619
4623
|
color: var(--token-form-control-base-foreground-placeholder-color);
|
|
4624
|
+
font-size: var(--token-typography-body-200-font-size);
|
|
4625
|
+
font-family: var(--token-typography-body-200-font-family);
|
|
4626
|
+
line-height: var(--token-typography-body-200-line-height);
|
|
4620
4627
|
}
|
|
4621
4628
|
.hds-form-super-select .ember-basic-dropdown .ember-basic-dropdown-trigger[aria-disabled=true],
|
|
4622
4629
|
.hds-form-super-select .ember-basic-dropdown .ember-power-select-trigger[aria-disabled=true] {
|
|
@@ -4662,6 +4669,7 @@ button.hds-button[href]::after {
|
|
|
4662
4669
|
position: relative;
|
|
4663
4670
|
min-height: 36px;
|
|
4664
4671
|
padding: 7px 7px 7px 39px;
|
|
4672
|
+
color: var(--token-color-foreground-primary);
|
|
4665
4673
|
font-size: var(--token-typography-body-200-font-size);
|
|
4666
4674
|
font-family: var(--token-typography-body-200-font-family);
|
|
4667
4675
|
line-height: var(--token-typography-body-200-line-height);
|
|
@@ -4760,6 +4768,7 @@ button.hds-button[href]::after {
|
|
|
4760
4768
|
}
|
|
4761
4769
|
.hds-form-super-select .ember-basic-dropdown .ember-power-select-multiple-options {
|
|
4762
4770
|
display: flex;
|
|
4771
|
+
flex-grow: 1;
|
|
4763
4772
|
flex-wrap: wrap;
|
|
4764
4773
|
gap: 4px;
|
|
4765
4774
|
min-width: 0;
|
|
@@ -4823,9 +4832,14 @@ button.hds-button[href]::after {
|
|
|
4823
4832
|
background-size: var(--token-form-select-background-image-size) var(--token-form-select-background-image-size);
|
|
4824
4833
|
}
|
|
4825
4834
|
.hds-form-super-select-single .ember-basic-dropdown .ember-power-select-option:not(.ember-power-select-option--no-matches-message)[aria-selected=true]:not([aria-disabled=true]) {
|
|
4826
|
-
color: var(--token-color-foreground-action);
|
|
4827
4835
|
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.78 4.28a.75.75 0 00-1.06-1.06l-7.97 7.97-3.47-3.47a.75.75 0 00-1.06 1.06l4 4a.75.75 0 001.06 0l8.5-8.5z' fill='%231060ff'/%3E%3C/svg%3E");
|
|
4828
4836
|
}
|
|
4837
|
+
.hds-form-super-select-single .ember-basic-dropdown .ember-power-select-option:not(.ember-power-select-option--no-matches-message)[aria-selected=true]:not([aria-disabled=true]):hover, .hds-form-super-select-single .ember-basic-dropdown .ember-power-select-option:not(.ember-power-select-option--no-matches-message)[aria-selected=true]:not([aria-disabled=true]).mock-hover {
|
|
4838
|
+
color: var(--token-color-foreground-action-hover);
|
|
4839
|
+
}
|
|
4840
|
+
.hds-form-super-select-single .ember-basic-dropdown .ember-power-select-option:not(.ember-power-select-option--no-matches-message)[aria-selected=true]:not([aria-disabled=true]):active, .hds-form-super-select-single .ember-basic-dropdown .ember-power-select-option:not(.ember-power-select-option--no-matches-message)[aria-selected=true]:not([aria-disabled=true]).mock-active {
|
|
4841
|
+
color: var(--token-color-foreground-action-active);
|
|
4842
|
+
}
|
|
4829
4843
|
.hds-form-super-select-single .ember-basic-dropdown .ember-power-select-option:not(.ember-power-select-option--no-matches-message)[aria-current=true], .hds-form-super-select-single .ember-basic-dropdown .ember-power-select-option:not(.ember-power-select-option--no-matches-message):hover, .hds-form-super-select-single .ember-basic-dropdown .ember-power-select-option:not(.ember-power-select-option--no-matches-message).mock-hover {
|
|
4830
4844
|
color: var(--token-color-foreground-action-hover);
|
|
4831
4845
|
}
|
|
@@ -48,7 +48,13 @@ $hds-dropdown-toggle-border-radius: $hds-button-border-radius;
|
|
|
48
48
|
cursor: pointer;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
@include hds-focus-ring-with-pseudo-element(
|
|
51
|
+
@include hds-focus-ring-with-pseudo-element(
|
|
52
|
+
$top: -1px,
|
|
53
|
+
$right: -1px,
|
|
54
|
+
$bottom: -1px,
|
|
55
|
+
$left: -1px,
|
|
56
|
+
$radius: $hds-dropdown-toggle-border-radius
|
|
57
|
+
);
|
|
52
58
|
|
|
53
59
|
&:active,
|
|
54
60
|
&.mock-active {
|
|
@@ -209,7 +215,7 @@ $hds-dropdown-toggle-border-radius: $hds-button-border-radius;
|
|
|
209
215
|
background: none;
|
|
210
216
|
border: none;
|
|
211
217
|
inset: 0;
|
|
212
|
-
}
|
|
218
|
+
}
|
|
213
219
|
}
|
|
214
220
|
|
|
215
221
|
.hds-dropdown {
|
|
@@ -218,7 +224,7 @@ $hds-dropdown-toggle-border-radius: $hds-button-border-radius;
|
|
|
218
224
|
|
|
219
225
|
&[popover]:popover-open {
|
|
220
226
|
display: flex;
|
|
221
|
-
}
|
|
227
|
+
}
|
|
222
228
|
}
|
|
223
229
|
}
|
|
224
230
|
|
|
@@ -287,7 +293,6 @@ $hds-dropdown-toggle-border-radius: $hds-button-border-radius;
|
|
|
287
293
|
padding: 10px 16px 12px;
|
|
288
294
|
}
|
|
289
295
|
|
|
290
|
-
|
|
291
296
|
// HDS::DROPDOWN::LIST-ITEM::DESCRIPTION
|
|
292
297
|
|
|
293
298
|
.hds-dropdown-list-item--variant-description {
|
|
@@ -446,7 +451,9 @@ $hds-dropdown-toggle-border-radius: $hds-button-border-radius;
|
|
|
446
451
|
--current-color-active: var(--token-color-foreground-action-active);
|
|
447
452
|
|
|
448
453
|
&::after {
|
|
449
|
-
--current-focus-ring-box-shadow: var(
|
|
454
|
+
--current-focus-ring-box-shadow: var(
|
|
455
|
+
--token-focus-ring-action-box-shadow
|
|
456
|
+
);
|
|
450
457
|
}
|
|
451
458
|
}
|
|
452
459
|
}
|
|
@@ -463,7 +470,9 @@ $hds-dropdown-toggle-border-radius: $hds-button-border-radius;
|
|
|
463
470
|
|
|
464
471
|
&::after {
|
|
465
472
|
--current-background-color: var(--token-color-surface-critical);
|
|
466
|
-
--current-focus-ring-box-shadow: var(
|
|
473
|
+
--current-focus-ring-box-shadow: var(
|
|
474
|
+
--token-focus-ring-critical-box-shadow
|
|
475
|
+
);
|
|
467
476
|
}
|
|
468
477
|
}
|
|
469
478
|
}
|
|
@@ -509,7 +518,7 @@ $hds-dropdown-toggle-border-radius: $hds-button-border-radius;
|
|
|
509
518
|
// HDS::DROPDOWN::LIST-ITEM::CHECKMARK
|
|
510
519
|
|
|
511
520
|
.hds-dropdown-list-item--variant-checkmark-selected {
|
|
512
|
-
.hds-dropdown-list-
|
|
521
|
+
.hds-dropdown-list-item__checkmark {
|
|
513
522
|
color: var(--token-color-foreground-action);
|
|
514
523
|
}
|
|
515
524
|
}
|
|
@@ -531,7 +540,6 @@ $hds-dropdown-toggle-border-radius: $hds-button-border-radius;
|
|
|
531
540
|
cursor: not-allowed;
|
|
532
541
|
}
|
|
533
542
|
|
|
534
|
-
|
|
535
543
|
// HDS::DROPDOWN::LIST-ITEM::CHECKBOX & HDS::DROPDOWN::LIST-ITEM::RADIO
|
|
536
544
|
|
|
537
545
|
.hds-dropdown-list-item--variant-checkbox,
|
|
@@ -72,8 +72,11 @@ $hds-super-select-item-height: 36px;
|
|
|
72
72
|
margin-left: 0;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
.ember-power-select-placeholder {
|
|
75
|
+
.ember-power-select-placeholder {
|
|
76
76
|
color: var(--token-form-control-base-foreground-placeholder-color);
|
|
77
|
+
font-size: var(--token-typography-body-200-font-size);
|
|
78
|
+
font-family: var(--token-typography-body-200-font-family);
|
|
79
|
+
line-height: var(--token-typography-body-200-line-height);
|
|
77
80
|
}
|
|
78
81
|
|
|
79
82
|
// `BasicDropdown` uses `aria-disabled` on the trigger, see: https://ember-basic-dropdown.com/docs/disabled
|
|
@@ -133,6 +136,7 @@ $hds-super-select-item-height: 36px;
|
|
|
133
136
|
position: relative;
|
|
134
137
|
min-height: $hds-super-select-item-height;
|
|
135
138
|
padding: 7px 7px 7px 39px;
|
|
139
|
+
color: var(--token-color-foreground-primary);
|
|
136
140
|
font-size: var(--token-typography-body-200-font-size);
|
|
137
141
|
font-family: var(--token-typography-body-200-font-family);
|
|
138
142
|
line-height: var(--token-typography-body-200-line-height);
|
|
@@ -272,6 +276,7 @@ $hds-super-select-item-height: 36px;
|
|
|
272
276
|
// Tag List
|
|
273
277
|
.ember-power-select-multiple-options {
|
|
274
278
|
display: flex;
|
|
279
|
+
flex-grow: 1;
|
|
275
280
|
flex-wrap: wrap;
|
|
276
281
|
gap: 4px;
|
|
277
282
|
min-width: 0;
|
|
@@ -356,13 +361,22 @@ $hds-super-select-item-height: 36px;
|
|
|
356
361
|
background-repeat: no-repeat;
|
|
357
362
|
background-position: 15px 10px;
|
|
358
363
|
background-size: var(--token-form-select-background-image-size) var(--token-form-select-background-image-size);
|
|
359
|
-
|
|
364
|
+
|
|
360
365
|
// checked
|
|
361
366
|
&[aria-selected="true"]:not([aria-disabled="true"]) {
|
|
362
|
-
color: var(--token-color-foreground-action);
|
|
363
367
|
|
|
364
368
|
// checkmark icon:
|
|
365
369
|
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.78 4.28a.75.75 0 00-1.06-1.06l-7.97 7.97-3.47-3.47a.75.75 0 00-1.06 1.06l4 4a.75.75 0 001.06 0l8.5-8.5z' fill='%231060ff'/%3E%3C/svg%3E");
|
|
370
|
+
|
|
371
|
+
&:hover,
|
|
372
|
+
&.mock-hover {
|
|
373
|
+
color: var(--token-color-foreground-action-hover);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
&:active,
|
|
377
|
+
&.mock-active {
|
|
378
|
+
color: var(--token-color-foreground-action-active);
|
|
379
|
+
}
|
|
366
380
|
}
|
|
367
381
|
|
|
368
382
|
&[aria-current="true"],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hashicorp/design-system-components",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.13.0",
|
|
4
4
|
"description": "Helios Design System Components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"hashicorp",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"@embroider/addon-shim": "^1.8.7",
|
|
42
42
|
"@floating-ui/dom": "^1.6.3",
|
|
43
43
|
"@hashicorp/design-system-tokens": "^2.2.1",
|
|
44
|
-
"@hashicorp/flight-icons": "^3.
|
|
44
|
+
"@hashicorp/flight-icons": "^3.7.0",
|
|
45
45
|
"decorator-transforms": "^1.1.0",
|
|
46
46
|
"ember-a11y-refocus": "^4.1.3",
|
|
47
47
|
"ember-cli-sass": "^11.0.1",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"ember-modifier": "^4.1.0",
|
|
53
53
|
"ember-power-select": "^8.2.0",
|
|
54
54
|
"ember-stargate": "^0.4.3",
|
|
55
|
-
"ember-style-modifier": "^
|
|
55
|
+
"ember-style-modifier": "^4.4.0",
|
|
56
56
|
"ember-truth-helpers": "^4.0.3",
|
|
57
57
|
"prismjs": "^1.29.0",
|
|
58
58
|
"sass": "^1.69.5",
|