\n ", {
strictMode: true,
scope: () => ({
HdsTextDisplay,
HdsLinkStandalone,
+ on,
HdsTextBody
})
}), this);
diff --git a/ui/vault-reporting/dist/components/vault-reporting/base/title-row.js.map b/ui/vault-reporting/dist/components/vault-reporting/base/title-row.js.map
index d17d55b8c5..13db51b5be 100644
--- a/ui/vault-reporting/dist/components/vault-reporting/base/title-row.js.map
+++ b/ui/vault-reporting/dist/components/vault-reporting/base/title-row.js.map
@@ -1 +1 @@
-{"version":3,"file":"title-row.js","sources":["../../../../src/components/vault-reporting/base/title-row.gts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: BUSL-1.1\n */\n\nimport Component from '@glimmer/component';\nimport {\n HdsTextDisplay,\n HdsTextBody,\n HdsLinkStandalone,\n} from '@hashicorp/design-system-components/components';\nimport './title-row.scss';\nimport type { SafeString } from '@ember/template';\n\n/**\n * TitleRow Component\n *\n * A reusable component that displays a title with an optional description and link.\n * Used in dashboard cards to create consistent header styling.\n */\nexport interface TitleRowSignature {\n Args: {\n /** The main title text to display */\n title: string;\n /** Optional description text to display beneath the title */\n description?: string | SafeString;\n /** Custom text for the link (defaults to \"View all\") */\n linkText?: string;\n /** Icon to display with the link (defaults to \"arrow-right\") */\n linkIcon?: HdsLinkStandalone['icon'];\n /** URL for the link - if not provided, no link will be shown */\n linkUrl?: string;\n /** Target for the link - defaults to \"_self\" */\n linkTarget?: '_blank' | '_self';\n };\n\n Blocks: {\n default: [];\n };\n\n Element: HTMLElement;\n}\n\nexport default class TitleRow extends Component {\n get hasLink() {\n return this.args.linkUrl;\n }\n\n get linkText() {\n return this.args.linkText || 'View all';\n }\n\n get linkUrl() {\n return this.args.linkUrl || '#';\n }\n\n get linkIcon() {\n return this.args.linkIcon || 'arrow-right';\n }\n\n get linkTarget() {\n return this.args.linkTarget || '_self';\n }\n\n \n
\n \n}\n"],"names":["TitleRow","Component","hasLink","args","linkUrl","linkText","linkIcon","linkTarget","setComponentTemplate","precompileTemplate","strictMode","scope","HdsTextDisplay","HdsLinkStandalone","HdsTextBody"],"mappings":";;;;;AAAA;;;AAGC;AAwCc,MAAMA,iBAAiBC,SAAU,CAAA;EAC9C,IAAIC,OAAUA,GAAA;AACZ,IAAA,OAAO,IAAI,CAACC,IAAI,CAACC,OAAO;AAC1B;EAEA,IAAIC,QAAWA,GAAA;AACb,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,QAAQ,IAAI,UAAA;AAC/B;EAEA,IAAID,OAAUA,GAAA;AACZ,IAAA,OAAO,IAAI,CAACD,IAAI,CAACC,OAAO,IAAI,GAAA;AAC9B;EAEA,IAAIE,QAAWA,GAAA;AACb,IAAA,OAAO,IAAI,CAACH,IAAI,CAACG,QAAQ,IAAI,aAAA;AAC/B;EAEA,IAAIC,UAAaA,GAAA;AACf,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,UAAU,IAAI,OAAA;AACjC;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CA6BA,4uBAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,cAAA;QAAAC,iBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
\ No newline at end of file
+{"version":3,"file":"title-row.js","sources":["../../../../src/components/vault-reporting/base/title-row.gts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: BUSL-1.1\n */\n\nimport Component from '@glimmer/component';\nimport {\n HdsTextDisplay,\n HdsTextBody,\n HdsLinkStandalone,\n} from '@hashicorp/design-system-components/components';\nimport './title-row.scss';\nimport { on } from '@ember/modifier';\n\nimport { service } from '@ember/service';\nimport type ReportingAnalyticsService from '../../../services/reporting-analytics';\nimport type { SafeString } from '@ember/template';\n\n/**\n * TitleRow Component\n *\n * A reusable component that displays a title with an optional description and link.\n * Used in dashboard cards to create consistent header styling.\n */\nexport interface TitleRowSignature {\n Args: {\n /** The main title text to display */\n title: string;\n /** Optional description text to display beneath the title */\n description?: string | SafeString;\n /** Custom text for the link (defaults to \"View all\") */\n linkText?: string;\n /** Icon to display with the link (defaults to \"arrow-right\") */\n linkIcon?: HdsLinkStandalone['icon'];\n /** URL for the link - if not provided, no link will be shown */\n linkUrl?: string;\n /** Target for the link - defaults to \"_self\" */\n linkTarget?: '_blank' | '_self';\n };\n\n Blocks: {\n default: [];\n };\n\n Element: HTMLElement;\n}\n\nexport default class TitleRow extends Component {\n @service declare readonly reportingAnalytics: ReportingAnalyticsService;\n\n get hasLink() {\n return this.args.linkUrl;\n }\n\n get linkText() {\n return this.args.linkText || 'View all';\n }\n\n get linkUrl() {\n return this.args.linkUrl || '#';\n }\n\n get linkIcon() {\n return this.args.linkIcon || 'arrow-right';\n }\n\n get linkTarget() {\n return this.args.linkTarget || '_self';\n }\n\n handleLinkClick = () => {\n this.reportingAnalytics.trackEvent(`card_link`, {\n card: this.args.title,\n link: this.linkText,\n target: this.linkTarget,\n });\n };\n\n \n
\n {{! TODO: Figure out glint errors on lineal components }}\n {{! @glint-expect-error }}\n \n \n \n
\n {{#each this.data as |datum|}}\n {{datum.value}} {{datum.label}} \n {{/each}}\n
\n
\n \n \n}\n"],"names":["SSUReportingDonutChart","Component","data","args","map","datum","index","scaleIndex","total","reduce","runningTotal","value","a11yLabel","title","itemsDescription","label","join","getOffset","width","height","getInnerRadius","computedRadius","Math","min","max","getOuterRadius","setComponentTemplate","precompileTemplate","strictMode","scope","HdsCardContainer","LinealFluid","LinealArcs","LinealArc","HdsTextDisplay","concat"],"mappings":";;;;;;;;;AAAA;;;AAGC;AA2Bc,MAAMA,+BAA+BC,SAAU,CAAA;EAC5D,IAAIC,IAAOA,GAAA;AACT,IAAA,OAAO,CAAC,IAAI,CAACC,IAAI,CAACD,IAAI,IAAI,EAAE,EAAEE,GAAG,CAAC,CAACC,KAAO,EAAAC,KAAA,KAAA;MACxC,OAAO;AACL,QAAA,GAAGD,KAAK;QACRE,UAAA,EAAYD,KAAQ,GAAA;OACtB;AACF,KAAA,CAAA;AACF;EAEA,IAAIE,KAAQA,GAAA;IACV,OAAO,IAAI,CAACN,IAAI,CAACO,MAAM,CAAC,CAACC,YAAA,EAAc;AAAEC,MAAAA;AAAO,KAAA,KAAA;MAC9C,OAAOD,YAAe,GAAAC,KAAA;KACrB,EAAA,CAAA,CAAA;AACL;EAEA,IAAIC,SAAYA,GAAA;AACd,IAAA,MAAMC,QAAQ,CAAY,SAAA,EAAA,IAAI,CAACL,KAAK,CAAI,CAAA,EAAA,IAAI,CAACL,IAAI,CAACU,KAAK,CAAG,CAAA,CAAA;IAE1D,MAAMC,gBAAmB,GAAA,IAAI,CAACZ,IAAI,CAC/BE,GAAG,CAAC,CAAC;MAAEO,KAAK;AAAEI,MAAAA;AAAO,KAAA,KAAA;AACpB,MAAA,OAAO,CAAGJ,EAAAA,KAAA,CAASI,CAAAA,EAAAA,MAAO,CAAA;AAC5B,KAAA,CAAA,CACCC,IAAI,CAAC,IAAA,CAAA;AAER,IAAA,OAAO,CAAGH,EAAAA,KAAA,CAAsBC,cAAAA,EAAAA,gBAAA,CAAmB,CAAA,CAAA;AACrD;AAEAG,EAAAA,SAAAA,CAAUC,KAAa,EAAEC,MAAc,EAAE;IACvC,OAAO,CAAA,UAAA,EAAaD,KAAQ,GAAA,CAAA,KAAMC,MAAA,GAAS,CAAE,CAAE,CAAA,CAAA;AACjD;AAEAC,EAAAA,cAAAA,CAAeF,KAAa,EAAEC,MAAc,EAAE;AAC5C,IAAA,MAAME,iBAAiBC,IAAK,CAAAC,GAAG,CAACL,KAAA,EAAOC,UAAU,CAAI,GAAA,EAAA;AACrD;AACA,IAAA,OAAOG,IAAA,CAAKE,GAAG,CAACH,cAAgB,EAAA,EAAA,CAAA;AAClC;AAEAI,EAAAA,cAAAA,CAAeP,KAAa,EAAEC,MAAc,EAAE;AAC5C;IACA,MAAME,cAAiB,GAAAC,IAAA,CAAKC,GAAG,CAACL,OAAOC,MAAU,CAAA,GAAA,CAAA;AACjD,IAAA,OAAOG,IAAA,CAAKE,GAAG,CAACH,cAAgB,EAAA,GAAA,CAAA;AAClC;AAEA,EAAA;IAAAK,oBAAA,CAAAC,kBAAA,CAoEA,4/DAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,gBAAA;QAAAC,WAAA;QAAAC,UAAA;QAAAC,SAAA;QAAAC,cAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
\ No newline at end of file
+{"version":3,"file":"donut-chart.js","sources":["../../../src/components/vault-reporting/donut-chart.gts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: BUSL-1.1\n */\n\nimport './donut-chart.scss';\n\nimport Component from '@glimmer/component';\n\nimport {\n HdsCardContainer,\n HdsTextDisplay,\n} from '@hashicorp/design-system-components/components';\nimport LinealArc from '@lineal-viz/lineal/components/lineal/arc/index.js';\nimport LinealArcs from '@lineal-viz/lineal/components/lineal/arcs/index.js';\nimport LinealFluid from '@lineal-viz/lineal/components/lineal/fluid/index.js';\nimport { concat } from '@ember/helper';\n\nexport interface SSUReportingDonutChartSignature {\n Args: {\n data: { value: number; label: string }[];\n title: string;\n };\n\n Blocks: {\n default: [];\n };\n\n Element: HTMLElement;\n}\nexport default class SSUReportingDonutChart extends Component {\n get data() {\n return (this.args.data || []).map((datum, index) => {\n return {\n ...datum,\n scaleIndex: index + 1,\n };\n });\n }\n\n get total() {\n return this.data.reduce((runningTotal, { value }) => {\n return runningTotal + value;\n }, 0);\n }\n\n get a11yLabel() {\n const title = `Total of ${this.total} ${this.args.title}.`;\n\n const itemsDescription = this.data\n .map(({ value, label }) => {\n return `${value} ${label}`;\n })\n .join(', ');\n\n return `${title} Comprised of ${itemsDescription}.`;\n }\n\n getOffset(width: number, height: number) {\n return `translate(${width / 2}, ${height / 2})`;\n }\n\n getInnerRadius(width: number, height: number) {\n const computedRadius = Math.min(width, height) / 2 - 50;\n // Smallest inner radius is 60 to allow for text\n return Math.max(computedRadius, 60);\n }\n\n getOuterRadius(width: number, height: number) {\n // Smallest inner radius is 60 to allow for text\n const computedRadius = Math.min(width, height) / 2;\n return Math.max(computedRadius, 110);\n }\n\n \n \n
\n {{! TODO: Figure out glint errors on lineal components }}\n {{! @glint-expect-error }}\n \n \n \n
\n {{#each this.data as |datum|}}\n {{datum.value}} {{datum.label}} \n {{/each}}\n
\n
\n \n \n}\n"],"names":["SSUReportingDonutChart","Component","data","args","map","datum","index","scaleIndex","total","reduce","runningTotal","value","a11yLabel","title","itemsDescription","label","join","getOffset","width","height","getInnerRadius","computedRadius","Math","min","max","getOuterRadius","setComponentTemplate","precompileTemplate","strictMode","scope","HdsCardContainer","LinealFluid","LinealArcs","LinealArc","HdsTextDisplay","concat"],"mappings":";;;;;;;;;AAAA;;;AAGC;AA2Bc,MAAMA,+BAA+BC,SAAU,CAAA;EAC5D,IAAIC,IAAOA,GAAA;AACT,IAAA,OAAO,CAAC,IAAI,CAACC,IAAI,CAACD,IAAI,IAAI,EAAE,EAAEE,GAAG,CAAC,CAACC,KAAO,EAAAC,KAAA,KAAA;MACxC,OAAO;AACL,QAAA,GAAGD,KAAK;QACRE,UAAA,EAAYD,KAAQ,GAAA;OACtB;AACF,KAAA,CAAA;AACF;EAEA,IAAIE,KAAQA,GAAA;IACV,OAAO,IAAI,CAACN,IAAI,CAACO,MAAM,CAAC,CAACC,YAAA,EAAc;AAAEC,MAAAA;AAAO,KAAA,KAAA;MAC9C,OAAOD,YAAe,GAAAC,KAAA;KACrB,EAAA,CAAA,CAAA;AACL;EAEA,IAAIC,SAAYA,GAAA;AACd,IAAA,MAAMC,QAAQ,CAAY,SAAA,EAAA,IAAI,CAACL,KAAK,CAAI,CAAA,EAAA,IAAI,CAACL,IAAI,CAACU,KAAK,CAAG,CAAA,CAAA;IAE1D,MAAMC,gBAAmB,GAAA,IAAI,CAACZ,IAAI,CAC/BE,GAAG,CAAC,CAAC;MAAEO,KAAK;AAAEI,MAAAA;AAAO,KAAA,KAAA;AACpB,MAAA,OAAO,CAAGJ,EAAAA,KAAA,CAASI,CAAAA,EAAAA,MAAO,CAAA;AAC5B,KAAA,CAAA,CACCC,IAAI,CAAC,IAAA,CAAA;AAER,IAAA,OAAO,CAAGH,EAAAA,KAAA,CAAsBC,cAAAA,EAAAA,gBAAA,CAAmB,CAAA,CAAA;AACrD;AAEAG,EAAAA,SAAAA,CAAUC,KAAa,EAAEC,MAAc,EAAE;IACvC,OAAO,CAAA,UAAA,EAAaD,KAAQ,GAAA,CAAA,KAAMC,MAAA,GAAS,CAAE,CAAE,CAAA,CAAA;AACjD;AAEAC,EAAAA,cAAAA,CAAeF,KAAa,EAAEC,MAAc,EAAE;AAC5C,IAAA,MAAME,iBAAiBC,IAAK,CAAAC,GAAG,CAACL,KAAA,EAAOC,UAAU,CAAI,GAAA,EAAA;AACrD;AACA,IAAA,OAAOG,IAAA,CAAKE,GAAG,CAACH,cAAgB,EAAA,EAAA,CAAA;AAClC;AAEAI,EAAAA,cAAAA,CAAeP,KAAa,EAAEC,MAAc,EAAE;AAC5C;IACA,MAAME,cAAiB,GAAAC,IAAA,CAAKC,GAAG,CAACL,OAAOC,MAAU,CAAA,GAAA,CAAA;AACjD,IAAA,OAAOG,IAAA,CAAKE,GAAG,CAACH,cAAgB,EAAA,GAAA,CAAA;AAClC;AAEA,EAAA;IAAAK,oBAAA,CAAAC,kBAAA,CAoEA,4hEAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,gBAAA;QAAAC,WAAA;QAAAC,UAAA;QAAAC,SAAA;QAAAC,cAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
\ No newline at end of file
diff --git a/ui/vault-reporting/dist/components/vault-reporting/global-lease.js b/ui/vault-reporting/dist/components/vault-reporting/global-lease.js
index c12fe0900d..fb30e0f8a2 100644
--- a/ui/vault-reporting/dist/components/vault-reporting/global-lease.js
+++ b/ui/vault-reporting/dist/components/vault-reporting/global-lease.js
@@ -45,7 +45,7 @@ class GlobalLease extends Component {
}
get description() {
if (this.hasData) {
- return htmlSafe('Total number of active leases for this quota.');
+ return htmlSafe('Total number of active leases for this quota.');
}
}
get linkUrl() {
@@ -68,7 +68,7 @@ class GlobalLease extends Component {
}
}
static {
- setComponentTemplate(precompileTemplate("\n \n \n {{#if this.hasData}}\n {{this.percentage}}%\n\n {{#if this.alert}}\n \n {{this.alert.description}}\n \n {{/if}}\n\n