@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.
Files changed (29) hide show
  1. package/declarations/components/hds/app-footer/status-link.d.ts +1 -1
  2. package/declarations/components/hds/code-block/index.d.ts +1 -0
  3. package/declarations/components/hds/code-block/index.d.ts.map +1 -1
  4. package/declarations/components/hds/dropdown/index.d.ts +1 -1
  5. package/declarations/components/hds/dropdown/index.d.ts.map +1 -1
  6. package/declarations/components/hds/dropdown/list-item/interactive.d.ts +3 -0
  7. package/declarations/components/hds/dropdown/list-item/interactive.d.ts.map +1 -1
  8. package/declarations/components/hds/flyout/index.d.ts +1 -1
  9. package/declarations/components/hds/flyout/index.d.ts.map +1 -1
  10. package/declarations/components/hds/form/super-select/multiple/base.d.ts.map +1 -1
  11. package/declarations/components/hds/modal/index.d.ts +2 -25
  12. package/declarations/components/hds/modal/index.d.ts.map +1 -1
  13. package/declarations/components/hds/stepper/task/indicator.d.ts +1 -1
  14. package/declarations/components/hds/stepper/task/indicator.d.ts.map +1 -1
  15. package/dist/components/hds/code-block/index.js +2 -2
  16. package/dist/components/hds/code-block/index.js.map +1 -1
  17. package/dist/components/hds/dropdown/index.js +1 -1
  18. package/dist/components/hds/dropdown/index.js.map +1 -1
  19. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  20. package/dist/components/hds/flyout/index.js +8 -0
  21. package/dist/components/hds/flyout/index.js.map +1 -1
  22. package/dist/components/hds/form/super-select/multiple/base.js +1 -1
  23. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
  24. package/dist/components/hds/modal/index.js +12 -36
  25. package/dist/components/hds/modal/index.js.map +1 -1
  26. package/dist/styles/@hashicorp/design-system-components.css +18 -4
  27. package/dist/styles/components/dropdown.scss +16 -8
  28. package/dist/styles/components/form/super-select.scss +17 -3
  29. 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'] & {
@@ -27,6 +27,7 @@ export interface HdsCodeBlockSignature {
27
27
  hasLineNumbers?: boolean;
28
28
  hasLineWrapping?: boolean;
29
29
  highlightLines?: string;
30
+ lineNumberStart?: number;
30
31
  isStandalone?: boolean;
31
32
  language?: HdsCodeBlockLanguages;
32
33
  maxHeight?: string;
@@ -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;CAsDF"}
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":"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"}
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,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;QACtB,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;CAyEjC"}
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,CAE/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"}
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;IACf,iBAAiB,UAAwC;IAClE,OAAO,EAAG,iBAAiB,CAAC;IAC5B,IAAI,EAAG,WAAW,CAAC;IACnB,wBAAwB,SAAM;IAE9B;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI,aAAa,CAWxB;IAED;;;;;;;OAOG;IACH,IAAI,KAAK,IAAI,cAAc,CAW1B;IAED;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;;;OAIG;IACH,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;CAwEjC"}
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,+iTAAgC,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"}
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 || this.args.highlightLines) {
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 <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>");
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;AAoBc,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;;;;"}
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, _descriptor2;
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
- * Sets the size of the modal dialog
34
- * Accepted values: small, medium, large
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":";;;;;;;;;;;;;;AACA,eAAe,kBAAkB,CAAC,usCAAusC;;;ACmBzuC,MAAMA,MAAM,GAAGC,WAAW,CAAC,2CAA2C,CAAC,CAAA;AAE1DC,MAAAA,YAAY,GAAGC,kBAAkB,CAACC,OAAM;AACxCC,MAAAA,aAAa,GAAGC,mBAAmB,CAACC,QAAO;AAEjD,MAAMC,KAAe,GAAGC,MAAM,CAACC,MAAM,CAACP,kBAAkB,EAAC;AACzD,MAAMQ,MAAgB,GAAGF,MAAM,CAACC,MAAM,CAACJ,mBAAmB,EAAC;AA+B7CM,IAAAA,QAAQ,IAAAC,MAAA,GAAd,MAAMD,QAAQ,SAASE,SAAS,CAAoB;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,iBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAAD,IAAAA,0BAAA,4BAAAE,YAAA,EAAA,IAAA,CAAA,CAAA;IAAAC,eAAA,CAAA,IAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAAAA,eAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAAAA,IAAAA,eAAA,mCAKtC,EAAE,CAAA,CAAA;AAAA,GAAA;AAE7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,IAAIA,GAAkB;IACxB,MAAM;AAAEA,MAAAA,IAAI,GAAGnB,YAAAA;KAAc,GAAG,IAAI,CAACc,IAAI,CAAA;AAEzCM,IAAAA,MAAM,CACJ,CAAwDd,qDAAAA,EAAAA,KAAK,CAACe,IAAI,CAChE,IACF,CAAC,CAAA,YAAA,EAAeF,IAAI,CAAA,CAAE,EACtBb,KAAK,CAACgB,QAAQ,CAACH,IAAI,CACrB,CAAC,CAAA;AAED,IAAA,OAAOA,IAAI,CAAA;AACb,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAII,KAAKA,GAAmB;IAC1B,MAAM;AAAEA,MAAAA,KAAK,GAAGpB,aAAAA;KAAe,GAAG,IAAI,CAACW,IAAI,CAAA;AAE3CM,IAAAA,MAAM,CACJ,CAAyDX,sDAAAA,EAAAA,MAAM,CAACY,IAAI,CAClE,IACF,CAAC,CAAA,YAAA,EAAeE,KAAK,CAAA,CAAE,EACvBd,MAAM,CAACa,QAAQ,CAACC,KAAK,CACvB,CAAC,CAAA;AAED,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;EACE,IAAIC,EAAEA,GAAW;IACf,OAAOC,YAAY,CAAC,IAAI,CAAC,CAAA;AAC3B,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,UAAUA,GAAW;AACvB,IAAA,MAAMC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAA;;AAE7B;IACAA,OAAO,CAACC,IAAI,CAAC,CAAA,gBAAA,EAAmB,IAAI,CAACT,IAAI,EAAE,CAAC,CAAA;;AAE5C;IACAQ,OAAO,CAACC,IAAI,CAAC,CAAA,iBAAA,EAAoB,IAAI,CAACL,KAAK,EAAE,CAAC,CAAA;AAE9C,IAAA,OAAOI,OAAO,CAACN,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;EAEQQ,uBAAuBA,CAACC,KAAY,EAAQ;AAClD,IAAA,IACE,CAAC,IAAI,CAACC,iBAAiB,IACvB,IAAI,CAACjB,IAAI,CAACkB,OAAO,IACjB,OAAO,IAAI,CAAClB,IAAI,CAACkB,OAAO,KAAK,UAAU,EACvC;AACA,MAAA,IAAI,CAAClB,IAAI,CAACkB,OAAO,CAACF,KAAK,CAAC,CAAA;AAC1B,KAAA;;AAEA;IACA,IAAI,IAAI,CAACC,iBAAiB,EAAE;AAC1B;AACA;AACA,MAAA,IAAI,IAAI,CAACE,OAAO,CAACC,aAAa,EAAE;AAC9B;AACA;AACA,QAAA,IAAI,CAACD,OAAO,CAACE,SAAS,EAAE,CAAA;AAC1B,OAAA;AACF,KAAC,MAAM;MACL,IAAI,CAACC,MAAM,GAAG,KAAK,CAAA;AACrB,KAAA;AACF,GAAA;EAGAC,SAASA,CAACJ,OAA0B,EAAQ;AAC1C;IACA,IAAI,CAACA,OAAO,GAAGA,OAAO,CAAA;AACtB,IAAA,IAAI,CAACK,IAAI,GAAGC,QAAQ,CAACD,IAAI,CAAA;IAEzB,IAAI,IAAI,CAACA,IAAI,EAAE;AACb;AACA,MAAA,IAAI,CAACE,wBAAwB,GAC3B,IAAI,CAACF,IAAI,CAACG,KAAK,CAACC,gBAAgB,CAAC,UAAU,CAAC,CAAA;AAChD,KAAA;;AAEA;AACA,IAAA,IAAI,CAACT,OAAO,CAACU,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAACd,uBAAuB,EAAE,IAAI,CAAC,CAAA;;AAE1E;AACA,IAAA,IAAI,CAAC,IAAI,CAACI,OAAO,CAACW,IAAI,EAAE;MACtB,IAAI,CAACA,IAAI,EAAE,CAAA;AACb,KAAA;AACF,GAAA;AAGAC,EAAAA,eAAeA,GAAS;IACtB,IAAI,IAAI,CAACZ,OAAO,EAAE;AAChB,MAAA,IAAI,CAACA,OAAO,CAACa,mBAAmB,CAC9B,OAAO,EACP,IAAI,CAACjB,uBAAuB,EAC5B,IACF,CAAC,CAAA;AACH,KAAA;AACF,GAAA;AAGAe,EAAAA,IAAIA,GAAS;AACX;AACA,IAAA,IAAI,CAACX,OAAO,CAACE,SAAS,EAAE,CAAA;IACxB,IAAI,CAACC,MAAM,GAAG,IAAI,CAAA;;AAElB;AACA,IAAA,IAAI,IAAI,CAACE,IAAI,EAAE,IAAI,CAACA,IAAI,CAACG,KAAK,CAACM,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;;AAEhE;AACA,IAAA,IAAI,IAAI,CAACjC,IAAI,CAACkC,MAAM,IAAI,OAAO,IAAI,CAAClC,IAAI,CAACkC,MAAM,KAAK,UAAU,EAAE;AAC9D,MAAA,IAAI,CAAClC,IAAI,CAACkC,MAAM,EAAE,CAAA;AACpB,KAAA;AACF,GAAA;EAEA,MACMC,SAASA,GAAkB;AAC/B;AACA;AACA;AACA,IAAA,IAAI,IAAI,CAAChB,OAAO,CAACW,IAAI,EAAE;AACrB,MAAA,MAAMM,KAAK,GAAGpD,MAAM,CAACqD,UAAU,EAAE,CAAA;MACjC,MAAMC,QAAQ,GAAGA,MAAM;AACrBtD,QAAAA,MAAM,CAACuD,QAAQ,CAACH,KAAK,CAAC,CAAA;QACtB,IAAI,CAACjB,OAAO,CAACa,mBAAmB,CAAC,OAAO,EAAEM,QAAQ,CAAC,CAAA;OACpD,CAAA;MACD,IAAI,CAACnB,OAAO,CAACU,gBAAgB,CAAC,OAAO,EAAES,QAAQ,CAAC,CAAA;AAClD,KAAA;;AAEA;AACA,IAAA,IAAI,CAACnB,OAAO,CAACqB,KAAK,EAAE,CAAA;;AAEpB;IACA,IAAI,IAAI,CAAChB,IAAI,EAAE;MACb,IAAI,CAACA,IAAI,CAACG,KAAK,CAACc,cAAc,CAAC,UAAU,CAAC,CAAA;AAC1C,MAAA,IAAI,IAAI,CAACf,wBAAwB,KAAK,EAAE,EAAE;QACxC,IAAI,IAAI,CAACF,IAAI,CAACG,KAAK,CAACe,MAAM,KAAK,CAAC,EAAE;AAChC,UAAA,IAAI,CAAClB,IAAI,CAACmB,eAAe,CAAC,OAAO,CAAC,CAAA;AACpC,SAAA;AACF,OAAC,MAAM;AACL,QAAA,IAAI,CAACnB,IAAI,CAACG,KAAK,CAACM,WAAW,CAAC,UAAU,EAAE,IAAI,CAACP,wBAAwB,CAAC,CAAA;AACxE,OAAA;AACF,KAAA;AACF,GAAA;AACF,CAAC,GAAAxB,WAAA,GAAA0C,yBAAA,CAAA/C,MAAA,CAAAgD,SAAA,EAAA,QAAA,EAAA,CA3KEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAU,KAAK,CAAA;AAAA,GAAA;AAAA,CAAA/C,CAAAA,EAAAA,YAAA,GAAAyC,yBAAA,CAAA/C,MAAA,CAAAgD,SAAA,wBACtBC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAAqB,IAAI,CAAClD,IAAI,CAACiB,iBAAiB,IAAI,KAAK,CAAA;AAAA,GAAA;AAAA,CAAA2B,CAAAA,EAAAA,yBAAA,CAAA/C,MAAA,CAAAgD,SAAA,EAuEhEM,yBAAAA,EAAAA,CAAAA,MAAM,CAAA1D,EAAAA,MAAA,CAAA2D,wBAAA,CAAAvD,MAAA,CAAAgD,SAAA,EAAAhD,yBAAAA,CAAAA,EAAAA,MAAA,CAAAgD,SAAA,CAAA,EAAAD,yBAAA,CAAA/C,MAAA,CAAAgD,SAAA,EAuBNM,WAAAA,EAAAA,CAAAA,MAAM,GAAA1D,MAAA,CAAA2D,wBAAA,CAAAvD,MAAA,CAAAgD,SAAA,EAAAhD,WAAAA,CAAAA,EAAAA,MAAA,CAAAgD,SAAA,CAAA,EAAAD,yBAAA,CAAA/C,MAAA,CAAAgD,SAAA,EAAA,iBAAA,EAAA,CAqBNM,MAAM,CAAA,EAAA1D,MAAA,CAAA2D,wBAAA,CAAAvD,MAAA,CAAAgD,SAAA,EAAA,iBAAA,CAAA,EAAAhD,MAAA,CAAAgD,SAAA,CAAAD,EAAAA,yBAAA,CAAA/C,MAAA,CAAAgD,SAAA,EAAA,MAAA,EAAA,CAWNM,MAAM,CAAA1D,EAAAA,MAAA,CAAA2D,wBAAA,CAAAvD,MAAA,CAAAgD,SAAA,EAAA,MAAA,CAAA,EAAAhD,MAAA,CAAAgD,SAAA,GAAAD,yBAAA,CAAA/C,MAAA,CAAAgD,SAAA,EAeNM,WAAAA,EAAAA,CAAAA,MAAM,CAAA1D,EAAAA,MAAA,CAAA2D,wBAAA,CAAAvD,MAAA,CAAAgD,SAAA,gBAAAhD,MAAA,CAAAgD,SAAA,CAAA,GAAAhD,MAAA,EAAA;AA/IoBwD,oBAAA,CAAAC,QAAA,EAAR1D,QAAQ,CAAA;;;;"}
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(--token-focus-ring-action-box-shadow);
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(--token-focus-ring-critical-box-shadow);
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-item__interactive {
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($top: -1px, $right: -1px, $bottom: -1px, $left: -1px, $radius: $hds-dropdown-toggle-border-radius);
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(--token-focus-ring-action-box-shadow);
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(--token-focus-ring-critical-box-shadow);
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-item__interactive {
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.12.0",
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.6.0",
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": "^3.0.1",
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",