@hashicorp/mds-react 0.9.1 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +73 -115
- package/components/index.js.map +1 -1
- package/index-B9mPJh9w.js +579 -0
- package/index-B9mPJh9w.js.map +1 -0
- package/index-BHBlMMNF.js +16 -0
- package/index-BHBlMMNF.js.map +1 -0
- package/index-C4GBbW3N.js +3567 -0
- package/index-C4GBbW3N.js.map +1 -0
- package/{utils/mds-context/index.js → index-DBjAbGt7.js} +19 -20
- package/index-DBjAbGt7.js.map +1 -0
- package/index-WkGIywHj.js +767 -0
- package/index-WkGIywHj.js.map +1 -0
- package/index.js +100 -153
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/patterns/index.js +22 -32
- package/patterns/index.js.map +1 -1
- package/style.css +1 -0
- package/styles/mixins/button.scss +1 -6
- package/use-screen-size-BOnkX_K-.js +9 -0
- package/use-screen-size-BOnkX_K-.js.map +1 -0
- package/utils/index.js +7 -7
- package/assets/style-DD7hNwDr.css +0 -1
- package/components/accordion/index.js +0 -9
- package/components/accordion/index.js.map +0 -1
- package/components/accordion/item/button.js +0 -44
- package/components/accordion/item/button.js.map +0 -1
- package/components/accordion/item/index.js +0 -59
- package/components/accordion/item/index.js.map +0 -1
- package/components/accordion/style.module.scss.js +0 -24
- package/components/accordion/style.module.scss.js.map +0 -1
- package/components/alert/alert.module.scss.js +0 -29
- package/components/alert/alert.module.scss.js.map +0 -1
- package/components/alert/icon.js +0 -34
- package/components/alert/icon.js.map +0 -1
- package/components/alert/index.js +0 -97
- package/components/alert/index.js.map +0 -1
- package/components/badge/index.js +0 -53
- package/components/badge/index.js.map +0 -1
- package/components/badge/style.module.scss.js +0 -22
- package/components/badge/style.module.scss.js.map +0 -1
- package/components/badge-count/index.js +0 -29
- package/components/badge-count/index.js.map +0 -1
- package/components/badge-count/style.module.scss.js +0 -15
- package/components/badge-count/style.module.scss.js.map +0 -1
- package/components/breadcrumbs/index.js +0 -38
- package/components/breadcrumbs/index.js.map +0 -1
- package/components/breadcrumbs/item/index.js +0 -32
- package/components/breadcrumbs/item/index.js.map +0 -1
- package/components/breadcrumbs/style.module.scss.js +0 -27
- package/components/breadcrumbs/style.module.scss.js.map +0 -1
- package/components/breadcrumbs/truncation-button/index.js +0 -25
- package/components/breadcrumbs/truncation-button/index.js.map +0 -1
- package/components/button/index.js +0 -119
- package/components/button/index.js.map +0 -1
- package/components/button/styles.module.scss.js +0 -32
- package/components/button/styles.module.scss.js.map +0 -1
- package/components/card/card-thumbnail/card-thumbnail.module.css.js +0 -8
- package/components/card/card-thumbnail/card-thumbnail.module.css.js.map +0 -1
- package/components/card/card-thumbnail/index.js +0 -23
- package/components/card/card-thumbnail/index.js.map +0 -1
- package/components/card/index.js +0 -157
- package/components/card/index.js.map +0 -1
- package/components/card/styles.module.css.js +0 -29
- package/components/card/styles.module.css.js.map +0 -1
- package/components/code-block/code-block.module.scss.js +0 -34
- package/components/code-block/code-block.module.scss.js.map +0 -1
- package/components/code-block/code-lines/index.js +0 -59
- package/components/code-block/code-lines/index.js.map +0 -1
- package/components/code-block/code-lines/utils/split-html-into-lines.js +0 -19
- package/components/code-block/code-lines/utils/split-html-into-lines.js.map +0 -1
- package/components/code-block/code-lines/utils/split-jsx-into-lines.js +0 -31
- package/components/code-block/code-lines/utils/split-jsx-into-lines.js.map +0 -1
- package/components/code-block/hidden-copy-content/index.js +0 -13
- package/components/code-block/hidden-copy-content/index.js.map +0 -1
- package/components/code-block/index.js +0 -88
- package/components/code-block/index.js.map +0 -1
- package/components/code-block/utils/parse-highlighted-lines.js +0 -39
- package/components/code-block/utils/parse-highlighted-lines.js.map +0 -1
- package/components/code-block/utils/process-snippet.js +0 -20
- package/components/code-block/utils/process-snippet.js.map +0 -1
- package/components/code-block/utils/shellwords.js +0 -33
- package/components/code-block/utils/shellwords.js.map +0 -1
- package/components/combo-box-primitive/index.js +0 -302
- package/components/combo-box-primitive/index.js.map +0 -1
- package/components/dialog-primitive/dialog.module.scss.js +0 -12
- package/components/dialog-primitive/dialog.module.scss.js.map +0 -1
- package/components/dialog-primitive/index.js +0 -15
- package/components/dialog-primitive/index.js.map +0 -1
- package/components/disclosure-primitive/index.js +0 -57
- package/components/disclosure-primitive/index.js.map +0 -1
- package/components/disclosure-primitive/styles.module.css.js +0 -7
- package/components/disclosure-primitive/styles.module.css.js.map +0 -1
- package/components/disclosure-primitive/use-disclosure-primitive.js +0 -17
- package/components/disclosure-primitive/use-disclosure-primitive.js.map +0 -1
- package/components/dismiss-button/index.js +0 -22
- package/components/dismiss-button/index.js.map +0 -1
- package/components/dismiss-button/styles.module.scss.js +0 -7
- package/components/dismiss-button/styles.module.scss.js.map +0 -1
- package/components/dropdown/index.js +0 -79
- package/components/dropdown/index.js.map +0 -1
- package/components/dropdown/list-item/custom.js +0 -9
- package/components/dropdown/list-item/custom.js.map +0 -1
- package/components/dropdown/list-item/index.js +0 -14
- package/components/dropdown/list-item/index.js.map +0 -1
- package/components/dropdown/list-item/interactive.js +0 -49
- package/components/dropdown/list-item/interactive.js.map +0 -1
- package/components/dropdown/list-item/separator.js +0 -17
- package/components/dropdown/list-item/separator.js.map +0 -1
- package/components/dropdown/list-item/styles.module.css.js +0 -26
- package/components/dropdown/list-item/styles.module.css.js.map +0 -1
- package/components/dropdown/list-item/title.js +0 -9
- package/components/dropdown/list-item/title.js.map +0 -1
- package/components/dropdown/styles.module.css.js +0 -24
- package/components/dropdown/styles.module.css.js.map +0 -1
- package/components/dropdown/toggle-button/index.js +0 -54
- package/components/dropdown/toggle-button/index.js.map +0 -1
- package/components/dropdown/toggle-button/styles.module.scss.js +0 -14
- package/components/dropdown/toggle-button/styles.module.scss.js.map +0 -1
- package/components/flight-icon/flight-icon.module.css.js +0 -12
- package/components/flight-icon/flight-icon.module.css.js.map +0 -1
- package/components/flight-icon/index.js +0 -58
- package/components/flight-icon/index.js.map +0 -1
- package/components/form/checkbox/form-checkbox.module.css.js +0 -8
- package/components/form/checkbox/form-checkbox.module.css.js.map +0 -1
- package/components/form/checkbox/index.js +0 -109
- package/components/form/checkbox/index.js.map +0 -1
- package/components/form/error/form-error.module.css.js +0 -14
- package/components/form/error/form-error.module.css.js.map +0 -1
- package/components/form/error/index.js +0 -22
- package/components/form/error/index.js.map +0 -1
- package/components/form/field/form-field.module.css.js +0 -17
- package/components/form/field/form-field.module.css.js.map +0 -1
- package/components/form/field/index.js +0 -46
- package/components/form/field/index.js.map +0 -1
- package/components/form/fieldset/form-fieldset.module.css.js +0 -19
- package/components/form/fieldset/form-fieldset.module.css.js.map +0 -1
- package/components/form/fieldset/index.js +0 -65
- package/components/form/fieldset/index.js.map +0 -1
- package/components/form/file-input/form-file-input.module.scss.js +0 -7
- package/components/form/file-input/form-file-input.module.scss.js.map +0 -1
- package/components/form/file-input/index.js +0 -68
- package/components/form/file-input/index.js.map +0 -1
- package/components/form/helper-text/form-helper-text.module.css.js +0 -7
- package/components/form/helper-text/form-helper-text.module.css.js.map +0 -1
- package/components/form/helper-text/index.js +0 -22
- package/components/form/helper-text/index.js.map +0 -1
- package/components/form/indicator/form-indicator.module.css.js +0 -8
- package/components/form/indicator/form-indicator.module.css.js.map +0 -1
- package/components/form/indicator/index.js +0 -23
- package/components/form/indicator/index.js.map +0 -1
- package/components/form/label/form-label.module.css.js +0 -10
- package/components/form/label/form-label.module.css.js.map +0 -1
- package/components/form/label/index.js +0 -33
- package/components/form/label/index.js.map +0 -1
- package/components/form/legend/form-legend.module.css.js +0 -10
- package/components/form/legend/form-legend.module.css.js.map +0 -1
- package/components/form/legend/index.js +0 -19
- package/components/form/legend/index.js.map +0 -1
- package/components/form/radio/form-radio.module.scss.js +0 -8
- package/components/form/radio/form-radio.module.scss.js.map +0 -1
- package/components/form/radio/index.js +0 -100
- package/components/form/radio/index.js.map +0 -1
- package/components/form/radio-card/description.js +0 -10
- package/components/form/radio-card/description.js.map +0 -1
- package/components/form/radio-card/form-radio-card.module.css.js +0 -30
- package/components/form/radio-card/form-radio-card.module.css.js.map +0 -1
- package/components/form/radio-card/group.js +0 -31
- package/components/form/radio-card/group.js.map +0 -1
- package/components/form/radio-card/index.js +0 -67
- package/components/form/radio-card/index.js.map +0 -1
- package/components/form/radio-card/label.js +0 -10
- package/components/form/radio-card/label.js.map +0 -1
- package/components/form/select/form-select.module.css.js +0 -14
- package/components/form/select/form-select.module.css.js.map +0 -1
- package/components/form/select/index.js +0 -79
- package/components/form/select/index.js.map +0 -1
- package/components/form/super-select/form-super-select.module.css.js +0 -22
- package/components/form/super-select/form-super-select.module.css.js.map +0 -1
- package/components/form/super-select/index.js +0 -170
- package/components/form/super-select/index.js.map +0 -1
- package/components/form/text-input/index.js +0 -91
- package/components/form/text-input/index.js.map +0 -1
- package/components/form/text-input/styles.module.css.js +0 -15
- package/components/form/text-input/styles.module.css.js.map +0 -1
- package/components/form/textarea/form-textarea.module.css.js +0 -14
- package/components/form/textarea/form-textarea.module.css.js.map +0 -1
- package/components/form/textarea/index.js +0 -74
- package/components/form/textarea/index.js.map +0 -1
- package/components/form/toggle/form-toggle.module.scss.js +0 -12
- package/components/form/toggle/form-toggle.module.scss.js.map +0 -1
- package/components/form/toggle/index.js +0 -102
- package/components/form/toggle/index.js.map +0 -1
- package/components/hds/wrappers/tooltip.js +0 -51
- package/components/hds/wrappers/tooltip.js.map +0 -1
- package/components/icon-tile/index.js +0 -50
- package/components/icon-tile/index.js.map +0 -1
- package/components/icon-tile/style.module.scss.js +0 -29
- package/components/icon-tile/style.module.scss.js.map +0 -1
- package/components/inline-link/index.js +0 -33
- package/components/inline-link/index.js.map +0 -1
- package/components/inline-link/inline-link.module.css.js +0 -11
- package/components/inline-link/inline-link.module.css.js.map +0 -1
- package/components/interactive/index.js +0 -59
- package/components/interactive/index.js.map +0 -1
- package/components/legacy-button/index.js +0 -65
- package/components/legacy-button/index.js.map +0 -1
- package/components/legacy-button/utils.js +0 -39
- package/components/legacy-button/utils.js.map +0 -1
- package/components/menu-primitive/index.js +0 -68
- package/components/menu-primitive/index.js.map +0 -1
- package/components/menu-primitive/styles.module.css.js +0 -12
- package/components/menu-primitive/styles.module.css.js.map +0 -1
- package/components/menu-primitive/use-menu-primitive.js +0 -17
- package/components/menu-primitive/use-menu-primitive.js.map +0 -1
- package/components/modal/index.js +0 -61
- package/components/modal/index.js.map +0 -1
- package/components/modal/modal.module.css.js +0 -8
- package/components/modal/modal.module.css.js.map +0 -1
- package/components/modal/use-modal.js +0 -17
- package/components/modal/use-modal.js.map +0 -1
- package/components/separator/index.js +0 -15
- package/components/separator/index.js.map +0 -1
- package/components/separator/separator.module.css.js +0 -10
- package/components/separator/separator.module.css.js.map +0 -1
- package/components/standalone-link/index.js +0 -54
- package/components/standalone-link/index.js.map +0 -1
- package/components/standalone-link/styles.module.scss.js +0 -17
- package/components/standalone-link/styles.module.scss.js.map +0 -1
- package/components/table/index.js +0 -52
- package/components/table/index.js.map +0 -1
- package/components/table/table.module.scss.js +0 -33
- package/components/table/table.module.scss.js.map +0 -1
- package/components/table/td.js +0 -28
- package/components/table/td.js.map +0 -1
- package/components/table/th-button-tooltip.js +0 -24
- package/components/table/th-button-tooltip.js.map +0 -1
- package/components/table/th.js +0 -43
- package/components/table/th.js.map +0 -1
- package/components/table/tr.js +0 -9
- package/components/table/tr.js.map +0 -1
- package/components/table/utils.js +0 -28
- package/components/table/utils.js.map +0 -1
- package/components/tabs/index.js +0 -117
- package/components/tabs/index.js.map +0 -1
- package/components/tabs/tab-panel.js +0 -35
- package/components/tabs/tab-panel.js.map +0 -1
- package/components/tabs/tab.js +0 -70
- package/components/tabs/tab.js.map +0 -1
- package/components/tabs/tabs.module.scss.js +0 -22
- package/components/tabs/tabs.module.scss.js.map +0 -1
- package/components/tabs/use-tabs-context.js +0 -16
- package/components/tabs/use-tabs-context.js.map +0 -1
- package/components/text/index.js +0 -112
- package/components/text/index.js.map +0 -1
- package/components/text/style.module.scss.js +0 -9
- package/components/text/style.module.scss.js.map +0 -1
- package/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js +0 -62
- package/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js.map +0 -1
- package/components/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css.js +0 -20
- package/components/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css.js.map +0 -1
- package/components/visualizations/bar-chart/horizontal-chart/index.js +0 -104
- package/components/visualizations/bar-chart/horizontal-chart/index.js.map +0 -1
- package/components/visualizations/bar-chart/horizontal-chart/legend/index.js +0 -13
- package/components/visualizations/bar-chart/horizontal-chart/legend/index.js.map +0 -1
- package/components/visualizations/bar-chart/horizontal-chart/legend/style.module.css.js +0 -14
- package/components/visualizations/bar-chart/horizontal-chart/legend/style.module.css.js.map +0 -1
- package/components/visualizations/bar-chart/horizontal-chart/style.module.css.js +0 -28
- package/components/visualizations/bar-chart/horizontal-chart/style.module.css.js.map +0 -1
- package/components/visualizations/bar-chart/index.js +0 -37
- package/components/visualizations/bar-chart/index.js.map +0 -1
- package/components/visualizations/bar-chart/style.module.css.js +0 -12
- package/components/visualizations/bar-chart/style.module.css.js.map +0 -1
- package/components/visualizations/donut-chart/components/arc-tooltip/index.js +0 -14
- package/components/visualizations/donut-chart/components/arc-tooltip/index.js.map +0 -1
- package/components/visualizations/donut-chart/components/arc-tooltip/styles.module.css.js +0 -10
- package/components/visualizations/donut-chart/components/arc-tooltip/styles.module.css.js.map +0 -1
- package/components/visualizations/donut-chart/components/external-arc-label/index.js +0 -58
- package/components/visualizations/donut-chart/components/external-arc-label/index.js.map +0 -1
- package/components/visualizations/donut-chart/components/external-arc-label/styles.module.css.js +0 -16
- package/components/visualizations/donut-chart/components/external-arc-label/styles.module.css.js.map +0 -1
- package/components/visualizations/donut-chart/components/internal-arc-label/index.js +0 -42
- package/components/visualizations/donut-chart/components/internal-arc-label/index.js.map +0 -1
- package/components/visualizations/donut-chart/components/internal-arc-label/styles.module.css.js +0 -14
- package/components/visualizations/donut-chart/components/internal-arc-label/styles.module.css.js.map +0 -1
- package/components/visualizations/donut-chart/index.js +0 -90
- package/components/visualizations/donut-chart/index.js.map +0 -1
- package/components/visualizations/donut-chart/styles.module.css.js +0 -20
- package/components/visualizations/donut-chart/styles.module.css.js.map +0 -1
- package/hooks/use-media-query/index.js +0 -16
- package/hooks/use-media-query/index.js.map +0 -1
- package/patterns/card/newsroom-card/index.js +0 -26
- package/patterns/card/newsroom-card/index.js.map +0 -1
- package/patterns/card/newsroom-card/style.module.css.js +0 -8
- package/patterns/card/newsroom-card/style.module.css.js.map +0 -1
- package/patterns/card/partner-card/index.js +0 -42
- package/patterns/card/partner-card/index.js.map +0 -1
- package/patterns/card/partner-card/style.module.css.js +0 -12
- package/patterns/card/partner-card/style.module.css.js.map +0 -1
- package/patterns/card/person-card/index.js +0 -52
- package/patterns/card/person-card/index.js.map +0 -1
- package/patterns/card/person-card/style.module.css.js +0 -12
- package/patterns/card/person-card/style.module.css.js.map +0 -1
- package/patterns/card/primitives.js +0 -77
- package/patterns/card/primitives.js.map +0 -1
- package/patterns/card/promo-card/index.js +0 -36
- package/patterns/card/promo-card/index.js.map +0 -1
- package/patterns/card/resource-card/index.js +0 -26
- package/patterns/card/resource-card/index.js.map +0 -1
- package/patterns/card/style.module.css.js +0 -30
- package/patterns/card/style.module.css.js.map +0 -1
- package/patterns/card/thumbnails/index.js +0 -25
- package/patterns/card/thumbnails/index.js.map +0 -1
- package/patterns/card/unified-card/index.js +0 -37
- package/patterns/card/unified-card/index.js.map +0 -1
- package/patterns/copy-button/clipboard.js +0 -78
- package/patterns/copy-button/clipboard.js.map +0 -1
- package/patterns/copy-button/index.js +0 -57
- package/patterns/copy-button/index.js.map +0 -1
- package/patterns/copy-button/style.module.css.js +0 -13
- package/patterns/copy-button/style.module.css.js.map +0 -1
- package/patterns/layout/index.js +0 -47
- package/patterns/layout/index.js.map +0 -1
- package/patterns/layout/layout.module.css.js +0 -20
- package/patterns/layout/layout.module.css.js.map +0 -1
- package/patterns/product-badge/index.js +0 -22
- package/patterns/product-badge/index.js.map +0 -1
- package/patterns/product-badge/style.module.css.js +0 -8
- package/patterns/product-badge/style.module.css.js.map +0 -1
- package/patterns/product-logo/index.js +0 -130
- package/patterns/product-logo/index.js.map +0 -1
- package/patterns/product-logo/product-logo.module.css.js +0 -13
- package/patterns/product-logo/product-logo.module.css.js.map +0 -1
- package/patterns/related-content/index.js +0 -65
- package/patterns/related-content/index.js.map +0 -1
- package/patterns/related-content/style.module.css.js +0 -22
- package/patterns/related-content/style.module.css.js.map +0 -1
- package/utils/get-contrast-yiq.js +0 -13
- package/utils/get-contrast-yiq.js.map +0 -1
- package/utils/hooks/use-screen-size.js +0 -10
- package/utils/hooks/use-screen-size.js.map +0 -1
- package/utils/i18n/constants/index.js +0 -98
- package/utils/i18n/constants/index.js.map +0 -1
- package/utils/i18n/helpers/locale-provider.js +0 -9
- package/utils/i18n/helpers/locale-provider.js.map +0 -1
- package/utils/i18n/helpers/to-smart-sentence-case.js +0 -12
- package/utils/i18n/helpers/to-smart-sentence-case.js.map +0 -1
- package/utils/i18n/helpers/to-smart-title-case.js +0 -10
- package/utils/i18n/helpers/to-smart-title-case.js.map +0 -1
- package/utils/i18n/helpers/use-locale.js +0 -14
- package/utils/i18n/helpers/use-locale.js.map +0 -1
- package/utils/i18n/index.js +0 -41
- package/utils/i18n/index.js.map +0 -1
- package/utils/i18n/index2.js +0 -33
- package/utils/i18n/index2.js.map +0 -1
- package/utils/make-normalizer/index.js +0 -34
- package/utils/make-normalizer/index.js.map +0 -1
- package/utils/mds-context/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"layout.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { jsx as c } from "react/jsx-runtime";
|
|
2
|
-
import { Badge as d } from "../../components/badge/index.js";
|
|
3
|
-
import s from "./style.module.css.js";
|
|
4
|
-
const e = ({ productName: o, hasDot: a }) => {
|
|
5
|
-
const r = o.replace("hashicorp", "HashiCorp"), t = r === "HashiCorp cloud platform" ? "hashicorp" : o;
|
|
6
|
-
return /* @__PURE__ */ c(
|
|
7
|
-
d,
|
|
8
|
-
{
|
|
9
|
-
className: s.badge,
|
|
10
|
-
text: r,
|
|
11
|
-
...a && {
|
|
12
|
-
icon: "dot",
|
|
13
|
-
iconColor: `var(--mds-color-${t}-brand)`
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
);
|
|
17
|
-
};
|
|
18
|
-
e.displayName = "ProductBadge";
|
|
19
|
-
export {
|
|
20
|
-
e as ProductBadge
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/patterns/product-badge/index.tsx"],"sourcesContent":["import { Badge } from '../../components/badge'\nimport s from './style.module.css'\n\ntype Products =\n\t| 'hashicorp'\n\t| 'boundary'\n\t| 'consul'\n\t| 'nomad'\n\t| 'packer'\n\t| 'terraform'\n\t| 'vault'\n\t| 'vagrant'\n\t| 'waypoint'\n\ninterface ProductBadgeProps {\n\tproductName: Products\n\thasDot?: boolean\n}\n\nconst ProductBadge = ({ productName, hasDot }: ProductBadgeProps) => {\n\tconst finalProductName = productName.replace('hashicorp', 'HashiCorp')\n\n\tconst productBrand =\n\t\tfinalProductName === 'HashiCorp cloud platform' ? 'hashicorp' : productName\n\n\treturn (\n\t\t<Badge\n\t\t\tclassName={s.badge}\n\t\t\ttext={finalProductName}\n\t\t\t{...(hasDot && {\n\t\t\t\ticon: 'dot',\n\t\t\t\ticonColor: `var(--mds-color-${productBrand}-brand)`,\n\t\t\t})}\n\t\t/>\n\t)\n}\n\nProductBadge.displayName = 'ProductBadge'\n\nexport type { ProductBadgeProps }\nexport { ProductBadge }\n"],"names":["ProductBadge","productName","hasDot","finalProductName","productBrand","jsx","Badge"],"mappings":";;;AAmBA,MAAMA,IAAe,CAAC,EAAE,aAAAC,GAAa,QAAAC,QAAgC;AACpE,QAAMC,IAAmBF,EAAY,QAAQ,aAAa,WAAW,GAE/DG,IACLD,MAAqB,6BAA6B,cAAcF;AAEjE,SACC,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,WAAW,EAAE;AAAA,MACb,MAAMH;AAAA,MACL,GAAID,KAAU;AAAA,QACd,MAAM;AAAA,QACN,WAAW,mBAAmBE,CAAY;AAAA,MAAA;AAAA,IAC3C;AAAA,EAAA;AAGH;AAEAJ,EAAa,cAAc;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"style.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { jsxs as s, jsx as c } from "react/jsx-runtime";
|
|
2
|
-
import p from "classnames";
|
|
3
|
-
import { makeNormalizerSet as u, makeNormalizer as t } from "../../utils/make-normalizer/index.js";
|
|
4
|
-
import { FlightIcon as v } from "../../components/flight-icon/index.js";
|
|
5
|
-
import { Text as i } from "../../components/text/index.js";
|
|
6
|
-
import o from "./product-logo.module.css.js";
|
|
7
|
-
function h(a) {
|
|
8
|
-
return a.charAt(0).toUpperCase() + a.slice(1);
|
|
9
|
-
}
|
|
10
|
-
const m = "small", d = "primary", O = "hcp", C = [
|
|
11
|
-
"vault-radar",
|
|
12
|
-
"vault-secrets",
|
|
13
|
-
"vault-dedicated"
|
|
14
|
-
], P = ["small", "medium", "large"], f = ["primary", "strong"], D = [
|
|
15
|
-
"hcp",
|
|
16
|
-
"hashicorp",
|
|
17
|
-
"boundary",
|
|
18
|
-
"consul",
|
|
19
|
-
"nomad",
|
|
20
|
-
"packer",
|
|
21
|
-
"terraform",
|
|
22
|
-
"vault",
|
|
23
|
-
"vault-dedicated",
|
|
24
|
-
"vault-enterprise",
|
|
25
|
-
"vault-radar",
|
|
26
|
-
"vault-secrets",
|
|
27
|
-
"vagrant",
|
|
28
|
-
"waypoint"
|
|
29
|
-
], N = u({
|
|
30
|
-
size: t(P, {
|
|
31
|
-
fallback: m
|
|
32
|
-
}),
|
|
33
|
-
color: t(f, {
|
|
34
|
-
fallback: d
|
|
35
|
-
}),
|
|
36
|
-
product: t(D, {
|
|
37
|
-
fallback: O
|
|
38
|
-
})
|
|
39
|
-
}), _ = ({
|
|
40
|
-
size: a = m,
|
|
41
|
-
color: l = d,
|
|
42
|
-
product: r
|
|
43
|
-
}) => {
|
|
44
|
-
const e = n[r]?.name ?? h(r);
|
|
45
|
-
return /* @__PURE__ */ s("div", { className: p(o["product-logo"], o[a]), children: [
|
|
46
|
-
/* @__PURE__ */ c(
|
|
47
|
-
v,
|
|
48
|
-
{
|
|
49
|
-
size: a === "small" ? 16 : 24,
|
|
50
|
-
name: n[r]?.icon ?? `${r}-color`,
|
|
51
|
-
color: n[r]?.color
|
|
52
|
-
}
|
|
53
|
-
),
|
|
54
|
-
C.includes(r) ? /* @__PURE__ */ s("div", { children: [
|
|
55
|
-
/* @__PURE__ */ s(
|
|
56
|
-
i.DisplayExpressive,
|
|
57
|
-
{
|
|
58
|
-
className: o[a],
|
|
59
|
-
color: l,
|
|
60
|
-
weight: "semibold",
|
|
61
|
-
children: [
|
|
62
|
-
e.split(" ").slice(0, 2).join(" "),
|
|
63
|
-
" "
|
|
64
|
-
]
|
|
65
|
-
}
|
|
66
|
-
),
|
|
67
|
-
/* @__PURE__ */ c(
|
|
68
|
-
i.DisplayExpressive,
|
|
69
|
-
{
|
|
70
|
-
className: o[a],
|
|
71
|
-
color: l,
|
|
72
|
-
weight: "regular",
|
|
73
|
-
children: e.split(" ").slice(2)[0]
|
|
74
|
-
}
|
|
75
|
-
)
|
|
76
|
-
] }) : (
|
|
77
|
-
// Default to unmodified display of the product name
|
|
78
|
-
/* @__PURE__ */ c(
|
|
79
|
-
i.DisplayExpressive,
|
|
80
|
-
{
|
|
81
|
-
className: o[a],
|
|
82
|
-
color: l,
|
|
83
|
-
weight: "semibold",
|
|
84
|
-
children: e
|
|
85
|
-
}
|
|
86
|
-
)
|
|
87
|
-
)
|
|
88
|
-
] });
|
|
89
|
-
};
|
|
90
|
-
_.displayName = "ProductLogo";
|
|
91
|
-
const n = {
|
|
92
|
-
hcp: {
|
|
93
|
-
icon: "hashicorp-square",
|
|
94
|
-
color: "var(--mds-color-hcp-brand)",
|
|
95
|
-
name: "HashiCorp Cloud Platform"
|
|
96
|
-
},
|
|
97
|
-
hashicorp: {
|
|
98
|
-
icon: "hashicorp",
|
|
99
|
-
color: "var(--mds-color-hashicorp-brand)",
|
|
100
|
-
name: "HashiCorp"
|
|
101
|
-
},
|
|
102
|
-
"vault-radar": {
|
|
103
|
-
icon: "vault-square",
|
|
104
|
-
color: "var(--mds-color-vault-radar-brand)",
|
|
105
|
-
name: "HCP Vault Radar"
|
|
106
|
-
},
|
|
107
|
-
"vault-secrets": {
|
|
108
|
-
icon: "vault-square",
|
|
109
|
-
color: "var(--mds-color-vault-secrets-brand)",
|
|
110
|
-
name: "HCP Vault Secrets"
|
|
111
|
-
},
|
|
112
|
-
"vault-dedicated": {
|
|
113
|
-
icon: "vault-fill",
|
|
114
|
-
color: "var(--mds-color-vault-secrets-brand)",
|
|
115
|
-
name: "HCP Vault Dedicated"
|
|
116
|
-
},
|
|
117
|
-
"vault-enterprise": {
|
|
118
|
-
icon: "vault-fill",
|
|
119
|
-
color: "var(--mds-color-vault-secrets-brand)",
|
|
120
|
-
name: "Vault Enterprise"
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
|
-
export {
|
|
124
|
-
f as PRODUCT_LOGO_COLORS,
|
|
125
|
-
D as PRODUCT_LOGO_PRODUCTS,
|
|
126
|
-
P as PRODUCT_LOGO_SIZES,
|
|
127
|
-
_ as ProductLogo,
|
|
128
|
-
N as normalizeProductLogoProps
|
|
129
|
-
};
|
|
130
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/patterns/product-logo/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport { makeNormalizer, makeNormalizerSet } from '../../utils/make-normalizer'\nimport { FlightIcon } from '../../components/flight-icon'\nimport { Text } from '../../components/text'\nimport s from './product-logo.module.css'\n\nfunction capitalize(value: string) {\n\treturn value.charAt(0).toUpperCase() + value.slice(1)\n}\n\nconst DEFAULT_SIZE = 'small'\nconst DEFAULT_COLOR = 'primary'\nconst DEFAULT_PRODUCT = 'hcp'\n\nconst HCP_PRODUCT_EXCEPTIONS = [\n\t'vault-radar',\n\t'vault-secrets',\n\t'vault-dedicated',\n]\n\nexport const PRODUCT_LOGO_SIZES = ['small', 'medium', 'large'] as const\nexport const PRODUCT_LOGO_COLORS = ['primary', 'strong'] as const\nexport const PRODUCT_LOGO_PRODUCTS = [\n\t'hcp',\n\t'hashicorp',\n\t'boundary',\n\t'consul',\n\t'nomad',\n\t'packer',\n\t'terraform',\n\t'vault',\n\t'vault-dedicated',\n\t'vault-enterprise',\n\t'vault-radar',\n\t'vault-secrets',\n\t'vagrant',\n\t'waypoint',\n] as const\n\nexport type ProductLogoSize = (typeof PRODUCT_LOGO_SIZES)[number]\nexport type ProductLogoColor = (typeof PRODUCT_LOGO_COLORS)[number]\nexport type ProductLogoProduct = (typeof PRODUCT_LOGO_PRODUCTS)[number]\n\nexport const normalizeProductLogoProps = makeNormalizerSet({\n\tsize: makeNormalizer(PRODUCT_LOGO_SIZES, {\n\t\tfallback: DEFAULT_SIZE,\n\t}),\n\tcolor: makeNormalizer(PRODUCT_LOGO_COLORS, {\n\t\tfallback: DEFAULT_COLOR,\n\t}),\n\tproduct: makeNormalizer(PRODUCT_LOGO_PRODUCTS, {\n\t\tfallback: DEFAULT_PRODUCT,\n\t}),\n})\n\nexport interface ProductLogoProps {\n\tsize?: ProductLogoSize\n\tcolor?: ProductLogoColor\n\tproduct: ProductLogoProduct\n}\n\nexport const ProductLogo = ({\n\tsize = DEFAULT_SIZE,\n\tcolor = DEFAULT_COLOR,\n\tproduct,\n}: ProductLogoProps) => {\n\tconst productName = PRODUCT_LOGO_MAP[product]?.name ?? capitalize(product)\n\n\treturn (\n\t\t<div className={classNames(s['product-logo'], s[size])}>\n\t\t\t<FlightIcon\n\t\t\t\tsize={size === 'small' ? 16 : 24}\n\t\t\t\tname={PRODUCT_LOGO_MAP[product]?.icon ?? `${product}-color`}\n\t\t\t\tcolor={PRODUCT_LOGO_MAP[product]?.color}\n\t\t\t/>\n\t\t\t{HCP_PRODUCT_EXCEPTIONS.includes(product) ? (\n\t\t\t\t<div>\n\t\t\t\t\t{/* Always bold \"HCP [Product]\"... */}\n\t\t\t\t\t<Text.DisplayExpressive\n\t\t\t\t\t\tclassName={s[size]}\n\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{productName.split(' ').slice(0, 2).join(' ')}{' '}\n\t\t\t\t\t</Text.DisplayExpressive>\n\t\t\t\t\t{/* ...But display the sub-product in regular weight */}\n\t\t\t\t\t<Text.DisplayExpressive\n\t\t\t\t\t\tclassName={s[size]}\n\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\tweight=\"regular\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{productName.split(' ').slice(2)[0]}\n\t\t\t\t\t</Text.DisplayExpressive>\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t// Default to unmodified display of the product name\n\t\t\t\t<Text.DisplayExpressive\n\t\t\t\t\tclassName={s[size]}\n\t\t\t\t\tcolor={color}\n\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t>\n\t\t\t\t\t{productName}\n\t\t\t\t</Text.DisplayExpressive>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nProductLogo.displayName = 'ProductLogo'\n\nconst PRODUCT_LOGO_MAP: Record<\n\tstring,\n\t{ icon: string; name: string; color: string }\n> = {\n\thcp: {\n\t\ticon: 'hashicorp-square',\n\t\tcolor: 'var(--mds-color-hcp-brand)',\n\t\tname: 'HashiCorp Cloud Platform',\n\t},\n\thashicorp: {\n\t\ticon: 'hashicorp',\n\t\tcolor: 'var(--mds-color-hashicorp-brand)',\n\t\tname: 'HashiCorp',\n\t},\n\t'vault-radar': {\n\t\ticon: 'vault-square',\n\t\tcolor: 'var(--mds-color-vault-radar-brand)',\n\t\tname: 'HCP Vault Radar',\n\t},\n\t'vault-secrets': {\n\t\ticon: 'vault-square',\n\t\tcolor: 'var(--mds-color-vault-secrets-brand)',\n\t\tname: 'HCP Vault Secrets',\n\t},\n\t'vault-dedicated': {\n\t\ticon: 'vault-fill',\n\t\tcolor: 'var(--mds-color-vault-secrets-brand)',\n\t\tname: 'HCP Vault Dedicated',\n\t},\n\t'vault-enterprise': {\n\t\ticon: 'vault-fill',\n\t\tcolor: 'var(--mds-color-vault-secrets-brand)',\n\t\tname: 'Vault Enterprise',\n\t},\n}\n"],"names":["capitalize","value","DEFAULT_SIZE","DEFAULT_COLOR","DEFAULT_PRODUCT","HCP_PRODUCT_EXCEPTIONS","PRODUCT_LOGO_SIZES","PRODUCT_LOGO_COLORS","PRODUCT_LOGO_PRODUCTS","normalizeProductLogoProps","makeNormalizerSet","makeNormalizer","ProductLogo","size","color","product","productName","PRODUCT_LOGO_MAP","jsxs","classNames","s","jsx","FlightIcon","Text"],"mappings":";;;;;;AAMA,SAASA,EAAWC,GAAe;AAClC,SAAOA,EAAM,OAAO,CAAC,EAAE,gBAAgBA,EAAM,MAAM,CAAC;AACrD;AAEA,MAAMC,IAAe,SACfC,IAAgB,WAChBC,IAAkB,OAElBC,IAAyB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AACD,GAEaC,IAAqB,CAAC,SAAS,UAAU,OAAO,GAChDC,IAAsB,CAAC,WAAW,QAAQ,GAC1CC,IAAwB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAMaC,IAA4BC,EAAkB;AAAA,EAC1D,MAAMC,EAAeL,GAAoB;AAAA,IACxC,UAAUJ;AAAA,EAAA,CACV;AAAA,EACD,OAAOS,EAAeJ,GAAqB;AAAA,IAC1C,UAAUJ;AAAA,EAAA,CACV;AAAA,EACD,SAASQ,EAAeH,GAAuB;AAAA,IAC9C,UAAUJ;AAAA,EAAA,CACV;AACF,CAAC,GAQYQ,IAAc,CAAC;AAAA,EAC3B,MAAAC,IAAOX;AAAA,EACP,OAAAY,IAAQX;AAAA,EACR,SAAAY;AACD,MAAwB;AACvB,QAAMC,IAAcC,EAAiBF,CAAO,GAAG,QAAQf,EAAWe,CAAO;AAEzE,SACC,gBAAAG,EAAC,OAAA,EAAI,WAAWC,EAAWC,EAAE,cAAc,GAAGA,EAAEP,CAAI,CAAC,GACpD,UAAA;AAAA,IAAA,gBAAAQ;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,MAAMT,MAAS,UAAU,KAAK;AAAA,QAC9B,MAAMI,EAAiBF,CAAO,GAAG,QAAQ,GAAGA,CAAO;AAAA,QACnD,OAAOE,EAAiBF,CAAO,GAAG;AAAA,MAAA;AAAA,IAAA;AAAA,IAElCV,EAAuB,SAASU,CAAO,sBACtC,OAAA,EAEA,UAAA;AAAA,MAAA,gBAAAG;AAAA,QAACK,EAAK;AAAA,QAAL;AAAA,UACA,WAAWH,EAAEP,CAAI;AAAA,UACjB,OAAAC;AAAA,UACA,QAAO;AAAA,UAEN,UAAA;AAAA,YAAAE,EAAY,MAAM,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG;AAAA,YAAG;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAGhD,gBAAAK;AAAA,QAACE,EAAK;AAAA,QAAL;AAAA,UACA,WAAWH,EAAEP,CAAI;AAAA,UACjB,OAAAC;AAAA,UACA,QAAO;AAAA,UAEN,YAAY,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACnC,GACD;AAAA;AAAA,MAGA,gBAAAO;AAAA,QAACE,EAAK;AAAA,QAAL;AAAA,UACA,WAAWH,EAAEP,CAAI;AAAA,UACjB,OAAAC;AAAA,UACA,QAAO;AAAA,UAEN,UAAAE;AAAA,QAAA;AAAA,MAAA;AAAA;AAAA,EACF,GAEF;AAEF;AAEAJ,EAAY,cAAc;AAE1B,MAAMK,IAGF;AAAA,EACH,KAAK;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEP,WAAW;AAAA,IACV,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEP,eAAe;AAAA,IACd,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEP,iBAAiB;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEP,mBAAmB;AAAA,IAClB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEP,oBAAoB;AAAA,IACnB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAER;"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
const o = "small__Y58kj", l = "medium__2A1Tv", m = "large__ho0Xp", a = {
|
|
2
|
-
"product-logo": "product-logo__moaPv",
|
|
3
|
-
small: o,
|
|
4
|
-
medium: l,
|
|
5
|
-
large: m
|
|
6
|
-
};
|
|
7
|
-
export {
|
|
8
|
-
a as default,
|
|
9
|
-
m as large,
|
|
10
|
-
l as medium,
|
|
11
|
-
o as small
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=product-logo.module.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"product-logo.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
-
import { Card as h } from "../../components/card/index.js";
|
|
4
|
-
import p from "classnames";
|
|
5
|
-
import { useMDSLink as f } from "../../utils/mds-context/index.js";
|
|
6
|
-
import i from "./style.module.css.js";
|
|
7
|
-
import { Text as l } from "../../components/text/index.js";
|
|
8
|
-
const u = ({
|
|
9
|
-
appearance: a = "transparent",
|
|
10
|
-
headline: o,
|
|
11
|
-
description: s,
|
|
12
|
-
cards: m,
|
|
13
|
-
cta: r
|
|
14
|
-
}) => {
|
|
15
|
-
const d = f();
|
|
16
|
-
return /* @__PURE__ */ t(
|
|
17
|
-
"div",
|
|
18
|
-
{
|
|
19
|
-
className: p(i.root, i[a], {
|
|
20
|
-
"mds-dark-mode": a === "dark"
|
|
21
|
-
}),
|
|
22
|
-
children: /* @__PURE__ */ n("div", { className: i.wrapper, children: [
|
|
23
|
-
/* @__PURE__ */ n("div", { className: i.textStack, children: [
|
|
24
|
-
/* @__PURE__ */ t(
|
|
25
|
-
l.DisplayExpressive,
|
|
26
|
-
{
|
|
27
|
-
tag: "h2",
|
|
28
|
-
color: "primary",
|
|
29
|
-
className: i.headline,
|
|
30
|
-
size: "400",
|
|
31
|
-
children: o
|
|
32
|
-
}
|
|
33
|
-
),
|
|
34
|
-
s ? /* @__PURE__ */ t(l.Body, { size: "300", color: "faint", tag: "p", children: s }) : null
|
|
35
|
-
] }),
|
|
36
|
-
/* @__PURE__ */ t("div", { className: i.cards, "data-testid": "wpl-cards-container", children: m.map((e, c) => /* @__PURE__ */ t(
|
|
37
|
-
h,
|
|
38
|
-
{
|
|
39
|
-
href: e.link,
|
|
40
|
-
content: {
|
|
41
|
-
...e.thumbnail && {
|
|
42
|
-
thumbnail: {
|
|
43
|
-
alt: e.thumbnail.alt,
|
|
44
|
-
src: e.thumbnail.src,
|
|
45
|
-
aspectRatio: "16/9"
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
eyebrow: e.meta,
|
|
49
|
-
heading: e.heading,
|
|
50
|
-
description: e.description,
|
|
51
|
-
showArrow: !0
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
c
|
|
55
|
-
)) }),
|
|
56
|
-
r ? /* @__PURE__ */ t("div", { className: i.cta, "data-testid": "wpl-cta-container", children: /* @__PURE__ */ t(d, { href: r.href, children: r.text }) }) : null
|
|
57
|
-
] })
|
|
58
|
-
}
|
|
59
|
-
);
|
|
60
|
-
};
|
|
61
|
-
u.displayName = "RelatedContent";
|
|
62
|
-
export {
|
|
63
|
-
u as RelatedContent
|
|
64
|
-
};
|
|
65
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/patterns/related-content/index.tsx"],"sourcesContent":["'use client'\n\nimport { Card } from '../../components/card'\nimport classNames from 'classnames'\nimport type { RelatedContentProps } from './types'\nimport { useMDSLink } from '../../utils/mds-context'\nimport s from './style.module.css'\nimport { Text } from '../../components'\n\nconst RelatedContent = ({\n\tappearance = 'transparent',\n\theadline,\n\tdescription,\n\tcards,\n\tcta,\n}: RelatedContentProps) => {\n\tconst Link = useMDSLink()\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(s.root, s[appearance], {\n\t\t\t\t['mds-dark-mode']: appearance === 'dark',\n\t\t\t})}\n\t\t>\n\t\t\t<div className={s.wrapper}>\n\t\t\t\t<div className={s.textStack}>\n\t\t\t\t\t<Text.DisplayExpressive\n\t\t\t\t\t\ttag=\"h2\"\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\tclassName={s.headline}\n\t\t\t\t\t\tsize=\"400\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{headline}\n\t\t\t\t\t</Text.DisplayExpressive>\n\t\t\t\t\t{description ? (\n\t\t\t\t\t\t<Text.Body size=\"300\" color=\"faint\" tag=\"p\">\n\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t</Text.Body>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t<div className={s.cards} data-testid=\"wpl-cards-container\">\n\t\t\t\t\t{cards.map((card, i) => (\n\t\t\t\t\t\t<Card\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\thref={card.link}\n\t\t\t\t\t\t\tcontent={{\n\t\t\t\t\t\t\t\t...(card.thumbnail && {\n\t\t\t\t\t\t\t\t\tthumbnail: {\n\t\t\t\t\t\t\t\t\t\talt: card.thumbnail.alt,\n\t\t\t\t\t\t\t\t\t\tsrc: card.thumbnail.src,\n\t\t\t\t\t\t\t\t\t\taspectRatio: '16/9',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\teyebrow: card.meta,\n\t\t\t\t\t\t\t\theading: card.heading,\n\t\t\t\t\t\t\t\tdescription: card.description,\n\t\t\t\t\t\t\t\tshowArrow: true,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\n\t\t\t\t{cta ? (\n\t\t\t\t\t<div className={s.cta} data-testid=\"wpl-cta-container\">\n\t\t\t\t\t\t<Link href={cta.href}>{cta.text}</Link>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nRelatedContent.displayName = 'RelatedContent'\n\nexport { RelatedContent }\n"],"names":["RelatedContent","appearance","headline","description","cards","cta","jsx","classNames","s","jsxs","Text","card","i","Card","Link"],"mappings":";;;;;;;AASwB,MACvBA,IAAa,CAAA;AAAA,EACb,YAAAC,IAAA;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AAAA,EACD,KAAAC;AACC,MAAA;AAEA,cACC;AAAA,SAAC,gBAAAC;AAAA,IAAA;AAAA,IAAA;AAAA,MAC6C,WAC3CC,EAAkBC,EAAA,MAAAA,EAAAP,CAAe,GAAA;AAAA,QAClC,iBAAAA,MAAA;AAAA,MAED,CAAA;AAAA,MACC,UAAC,gBAAAQ,EAAA,OAAI,EAAA,WAAaD,EAAA,SACjB,UAAA;AAAA,QAAA,gBAAAC,EAAA,OAAA,EAAA,WAAAD,EAAA,WAAA,UAAA;AAAA,UAAM,gBAAAF;AAAA,YAALI,EAAA;AAAA,YAAA;AAAA,cAEA,KAAA;AAAA,cACA,OAAA;AAAA,cACA,WAAKF,EAAA;AAAA,cAEJ;cAAA,UAAAN;AAAA,YACF;AAAA,UACC;AAAA,cAKF,gBAAAI,EAAAI,EAAA,MAAA,EAAA,MAAA,OAAA,OAAA,SAAA,KAAA,KAAA,UAAAP,EAAA,CAAA,IAAA;AAAA,QAAA,EAAA,CAAA;AAAA,QAGG,gBAAAG,EAAA,OAAA,EAAA,WAAAE,EAAA,OAAA,eAAA,uBAAA,UAAAJ,EAAA,IAAA,CAAAO,GAAAC,MAAA,gBAAAN;AAAA,UAAAO;AAAA,UAAA;AAAA,YAGA,QAAS;AAAA,YAAA;cACc,kBACV;AAAA,gBAAA;kBAEV,KAAKF,EAAK,UAAU;AAAA,kBACpB,iBAAa;AAAA,kBAAA,aAAA;AAAA,gBAEf;AAAA,cACA;AAAA,cACA,SAASA,EAAK;AAAA,cACd,SAAAA,EAAa;AAAA,cACb,aAAWA,EAAA;AAAA,cAAA,WAAA;AAAA,YACZ;AAAA,UAdK;AAAA,UAgBNC;AAAA,QAGD;QAIGP,IACL,gBAAAC,EAAA,OAAA,EAAA,WAAAE,EAAA,KAAA,eAAA,qBAAA,UAAA,gBAAAF,EAAAQ,GAAA,EAAA,MAAAT,EAAA,MAAA,UAAAA,EAAA,KAAA,CAAA,EAAA,CAAA,IAAA;AAAA,MAAA,EAAA,CAAA;AAAA,IACD;AAAA,EAEF;AAEA;;"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
const t = "root__wY2Kw", a = "transparent__oS97K", r = "wrapper__z6E7B g-grid g-grid-container", c = "textStack__T-LcO", n = "headline__Msi9v", o = "cards__RaaoR", e = "cta__bp4JK", s = "dark__ccH93", _ = {
|
|
2
|
-
root: t,
|
|
3
|
-
transparent: a,
|
|
4
|
-
wrapper: r,
|
|
5
|
-
textStack: c,
|
|
6
|
-
headline: n,
|
|
7
|
-
cards: o,
|
|
8
|
-
cta: e,
|
|
9
|
-
dark: s
|
|
10
|
-
};
|
|
11
|
-
export {
|
|
12
|
-
o as cards,
|
|
13
|
-
e as cta,
|
|
14
|
-
s as dark,
|
|
15
|
-
_ as default,
|
|
16
|
-
n as headline,
|
|
17
|
-
t as root,
|
|
18
|
-
c as textStack,
|
|
19
|
-
a as transparent,
|
|
20
|
-
r as wrapper
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=style.module.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"style.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
const r = (t) => (t.r * 299 + t.g * 587 + t.b * 114) / 1e3 >= 192 ? "dark" : "light", n = (t) => {
|
|
2
|
-
const e = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);
|
|
3
|
-
return e ? {
|
|
4
|
-
r: parseInt(e[1], 16),
|
|
5
|
-
g: parseInt(e[2], 16),
|
|
6
|
-
b: parseInt(e[3], 16)
|
|
7
|
-
} : { r: 0, g: 0, b: 0 };
|
|
8
|
-
};
|
|
9
|
-
export {
|
|
10
|
-
r as getContrastYIQ,
|
|
11
|
-
n as hexToRgb
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=get-contrast-yiq.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-contrast-yiq.js","sources":["../../src/utils/get-contrast-yiq.ts"],"sourcesContent":["/**\n * Calculates the contrast of an RGB color and determines whether to use dark or light text.\n * @param rgb - An object containing the red (r), green (g), and blue (b) components of the color.\n * @returns A string indicating whether to use 'dark' or 'light'.\n */\nexport const getContrastYIQ = (rgb: {\n\tr: number\n\tg: number\n\tb: number\n}): string => {\n\t// Calculate the YIQ value using the RGB components\n\tconst yiq = (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000\n\t// If YIQ is greater than or equal to 192, use 'dark', otherwise use 'light'\n\treturn yiq >= 192 ? 'dark' : 'light'\n}\n\n/**\n * Converts a HEX color string to an RGB object.\n * @param hex - The HEX color string (e.g., \"#ffffff\").\n * @returns An object containing the red (r), green (g), and blue (b) components, and black if the HEX string is invalid.\n */\nexport const hexToRgb = (hex: string): { r: number; g: number; b: number } => {\n\t// Extract the RGB components from the HEX string using a regular expression\n\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n\t// If the HEX string is valid, parse the components and return the RGB object\n\treturn result\n\t\t? {\n\t\t\t\tr: parseInt(result[1], 16),\n\t\t\t\tg: parseInt(result[2], 16),\n\t\t\t\tb: parseInt(result[3], 16),\n\t\t }\n\t\t: { r: 0, g: 0, b: 0 } // Return black if the HEX string is invalid\n}\n"],"names":["getContrastYIQ","rgb","hexToRgb","hex","result"],"mappings":"AAKO,MAAMA,IAAiB,CAACC,OAMjBA,EAAI,IAAI,MAAMA,EAAI,IAAI,MAAMA,EAAI,IAAI,OAAO,OAE1C,MAAM,SAAS,SAQjBC,IAAW,CAACC,MAAqD;AAE7E,QAAMC,IAAS,4CAA4C,KAAKD,CAAG;AAEnE,SAAOC,IACJ;AAAA,IACA,GAAG,SAASA,EAAO,CAAC,GAAG,EAAE;AAAA,IACzB,GAAG,SAASA,EAAO,CAAC,GAAG,EAAE;AAAA,IACzB,GAAG,SAASA,EAAO,CAAC,GAAG,EAAE;AAAA,EAAA,IAEzB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAA;AACrB;"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { useMediaQuery as e } from "../../hooks/use-media-query/index.js";
|
|
3
|
-
const t = () => e("(max-width: 768px)"), m = () => e("(min-width: 768px) and (max-width: 1119px)"), s = () => e("(min-width: 768px)"), d = () => e("(min-width: 1120px)");
|
|
4
|
-
export {
|
|
5
|
-
d as useLarge,
|
|
6
|
-
m as useMedium,
|
|
7
|
-
s as useMediumUp,
|
|
8
|
-
t as useSmall
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=use-screen-size.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-screen-size.js","sources":["../../../src/utils/hooks/use-screen-size.ts"],"sourcesContent":["'use client'\n\nimport { useMediaQuery } from '@web/hooks/use-media-query'\n\n// ref: https://github.com/hashicorp/web/blob/main/packages/mds-tokens/src/custom-media.css\nconst useSmall = () => useMediaQuery('(max-width: 768px)')\nconst useMedium = () =>\n\tuseMediaQuery('(min-width: 768px) and (max-width: 1119px)')\nconst useMediumUp = () => useMediaQuery('(min-width: 768px)')\nconst useLarge = () => useMediaQuery('(min-width: 1120px)')\n\nexport { useSmall, useMedium, useMediumUp, useLarge }\n"],"names":["useSmall","useMediaQuery","useMedium","useMediumUp"],"mappings":";;AAMA,MAAMA,IAAA,MAAYC,EACjB,oBAAc,GACTC,IAAA,MAAcD,EAAM,4CAAkC,GACtDE,IAAW,MAAMF,EAAc,oBAAqB;"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
const e = "en", n = {
|
|
2
|
-
en: /* @__PURE__ */ new Set([
|
|
3
|
-
"a",
|
|
4
|
-
"an",
|
|
5
|
-
"and",
|
|
6
|
-
"as",
|
|
7
|
-
"at",
|
|
8
|
-
"but",
|
|
9
|
-
"by",
|
|
10
|
-
"for",
|
|
11
|
-
"in",
|
|
12
|
-
"nor",
|
|
13
|
-
"of",
|
|
14
|
-
"on",
|
|
15
|
-
"or",
|
|
16
|
-
"so",
|
|
17
|
-
"the",
|
|
18
|
-
"to",
|
|
19
|
-
"up",
|
|
20
|
-
"yet"
|
|
21
|
-
]),
|
|
22
|
-
de: /* @__PURE__ */ new Set(),
|
|
23
|
-
// Capitalization rules in German don't suppress small words.
|
|
24
|
-
es: /* @__PURE__ */ new Set([
|
|
25
|
-
"el",
|
|
26
|
-
"la",
|
|
27
|
-
"los",
|
|
28
|
-
"las",
|
|
29
|
-
"un",
|
|
30
|
-
"una",
|
|
31
|
-
"unos",
|
|
32
|
-
"unas",
|
|
33
|
-
"y",
|
|
34
|
-
"o",
|
|
35
|
-
"pero",
|
|
36
|
-
"de",
|
|
37
|
-
"del",
|
|
38
|
-
"al",
|
|
39
|
-
"en",
|
|
40
|
-
"por",
|
|
41
|
-
"para",
|
|
42
|
-
"con"
|
|
43
|
-
]),
|
|
44
|
-
fr: /* @__PURE__ */ new Set([
|
|
45
|
-
"le",
|
|
46
|
-
"la",
|
|
47
|
-
"les",
|
|
48
|
-
"un",
|
|
49
|
-
"une",
|
|
50
|
-
"et",
|
|
51
|
-
"de",
|
|
52
|
-
"du",
|
|
53
|
-
"des",
|
|
54
|
-
"en",
|
|
55
|
-
"à",
|
|
56
|
-
"au",
|
|
57
|
-
"aux",
|
|
58
|
-
"pour",
|
|
59
|
-
"avec"
|
|
60
|
-
]),
|
|
61
|
-
ja: /* @__PURE__ */ new Set(),
|
|
62
|
-
// Japanese doesn't use title casing; characters are not case-sensitive
|
|
63
|
-
ko: /* @__PURE__ */ new Set(),
|
|
64
|
-
// Korean doesn't use casing
|
|
65
|
-
pt: /* @__PURE__ */ new Set([
|
|
66
|
-
"o",
|
|
67
|
-
"a",
|
|
68
|
-
"os",
|
|
69
|
-
"as",
|
|
70
|
-
"um",
|
|
71
|
-
"uma",
|
|
72
|
-
"uns",
|
|
73
|
-
"umas",
|
|
74
|
-
"e",
|
|
75
|
-
"ou",
|
|
76
|
-
"mas",
|
|
77
|
-
"de",
|
|
78
|
-
"do",
|
|
79
|
-
"da",
|
|
80
|
-
"dos",
|
|
81
|
-
"das",
|
|
82
|
-
"em",
|
|
83
|
-
"no",
|
|
84
|
-
"na",
|
|
85
|
-
"nos",
|
|
86
|
-
"nas",
|
|
87
|
-
"por",
|
|
88
|
-
"para",
|
|
89
|
-
"com"
|
|
90
|
-
]),
|
|
91
|
-
id: /* @__PURE__ */ new Set()
|
|
92
|
-
// ! TODO Determine Indonesian's small word rules, and apply them here
|
|
93
|
-
};
|
|
94
|
-
export {
|
|
95
|
-
e as DEFAULT_LOCALE,
|
|
96
|
-
n as smallWordsByLocale
|
|
97
|
-
};
|
|
98
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../utils/i18n/constants/index.ts"],"sourcesContent":["import type { SupportedLocale } from '../types'\n\nexport const DEFAULT_LOCALE = 'en'\n\nexport const LOCALE_LANGUAGE_MAP = {\n\ten: 'English',\n\tfr: 'Français',\n\tde: 'Deutsch',\n\tja: '日本語',\n\tko: '한국어',\n\tpt: 'Português',\n\tes: 'Español',\n\tid: 'Bahasa Indonesia',\n}\n\nexport const SUPPORTED_LOCALES = Object.keys(\n\tLOCALE_LANGUAGE_MAP\n) as SupportedLocale[]\n\nexport const smallWordsByLocale: Record<SupportedLocale, Set<string>> = {\n\ten: new Set([\n\t\t'a',\n\t\t'an',\n\t\t'and',\n\t\t'as',\n\t\t'at',\n\t\t'but',\n\t\t'by',\n\t\t'for',\n\t\t'in',\n\t\t'nor',\n\t\t'of',\n\t\t'on',\n\t\t'or',\n\t\t'so',\n\t\t'the',\n\t\t'to',\n\t\t'up',\n\t\t'yet',\n\t]),\n\tde: new Set(), // Capitalization rules in German don't suppress small words.\n\tes: new Set([\n\t\t'el',\n\t\t'la',\n\t\t'los',\n\t\t'las',\n\t\t'un',\n\t\t'una',\n\t\t'unos',\n\t\t'unas',\n\t\t'y',\n\t\t'o',\n\t\t'pero',\n\t\t'de',\n\t\t'del',\n\t\t'al',\n\t\t'en',\n\t\t'por',\n\t\t'para',\n\t\t'con',\n\t]),\n\tfr: new Set([\n\t\t'le',\n\t\t'la',\n\t\t'les',\n\t\t'un',\n\t\t'une',\n\t\t'et',\n\t\t'de',\n\t\t'du',\n\t\t'des',\n\t\t'en',\n\t\t'à',\n\t\t'au',\n\t\t'aux',\n\t\t'pour',\n\t\t'avec',\n\t]),\n\tja: new Set(), // Japanese doesn't use title casing; characters are not case-sensitive\n\tko: new Set(), // Korean doesn't use casing\n\tpt: new Set([\n\t\t'o',\n\t\t'a',\n\t\t'os',\n\t\t'as',\n\t\t'um',\n\t\t'uma',\n\t\t'uns',\n\t\t'umas',\n\t\t'e',\n\t\t'ou',\n\t\t'mas',\n\t\t'de',\n\t\t'do',\n\t\t'da',\n\t\t'dos',\n\t\t'das',\n\t\t'em',\n\t\t'no',\n\t\t'na',\n\t\t'nos',\n\t\t'nas',\n\t\t'por',\n\t\t'para',\n\t\t'com',\n\t]),\n\tid: new Set(), // ! TODO Determine Indonesian's small word rules, and apply them here\n}\n"],"names":["DEFAULT_LOCALE","smallWordsByLocale"],"mappings":"AAEO,MAAMA,IAAiB,MAiBjBC,IAA2D;AAAA,EACvE,wBAAQ,IAAI;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AAAA,EACD,wBAAQ,IAAA;AAAA;AAAA,EACR,wBAAQ,IAAI;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AAAA,EACD,wBAAQ,IAAI;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AAAA,EACD,wBAAQ,IAAA;AAAA;AAAA,EACR,wBAAQ,IAAA;AAAA;AAAA,EACR,wBAAQ,IAAI;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AAAA,EACD,wBAAQ,IAAA;AAAA;AACT;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"locale-provider.js","sources":["../../../../../utils/i18n/helpers/locale-provider.tsx"],"sourcesContent":["'use client'\n\nimport { createContext, type PropsWithChildren } from 'react'\nimport type { SupportedLocale } from '../types'\nimport { isSupportedLocale } from './is-supported-locale'\nimport { DEFAULT_LOCALE } from '../constants'\n\nfunction resolveLocale(input: string): SupportedLocale {\n\treturn isSupportedLocale(input) ? input : DEFAULT_LOCALE\n}\n\ntype LocaleContextValue = {\n\tlocale: SupportedLocale\n}\n\ninterface LocaleProviderProps extends PropsWithChildren {\n\t/**\n\t * Supported locales can be found in `SUPPORTED_LOCALES`.\n\t */\n\tlocale: string\n}\n\nexport const LocaleContext = createContext<LocaleContextValue | undefined>(\n\tundefined\n)\n\nexport const LocaleProvider = ({ locale, children }: LocaleProviderProps) => {\n\tconst resolvedLocale = resolveLocale(locale)\n\n\treturn (\n\t\t<LocaleContext.Provider value={{ locale: resolvedLocale }}>\n\t\t\t{children}\n\t\t</LocaleContext.Provider>\n\t)\n}\n"],"names":["LocaleContext","createContext"],"mappings":";;AAsB6B,MAC5BA,IAAAC;AAAA,EACD;;"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
function o(t, r) {
|
|
2
|
-
if (r === "ja" || r === "ko")
|
|
3
|
-
return t;
|
|
4
|
-
const e = t.match(/^(\s*[\p{P}\p{Zs}]*)?(\p{L})(.*)$/u);
|
|
5
|
-
if (!e) return t;
|
|
6
|
-
const [, n, s, a] = e;
|
|
7
|
-
return (n ?? "") + s.toLocaleUpperCase(r) + a.toLocaleLowerCase(r);
|
|
8
|
-
}
|
|
9
|
-
export {
|
|
10
|
-
o as toSmartSentenceCase
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=to-smart-sentence-case.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"to-smart-sentence-case.js","sources":["../../../../../utils/i18n/helpers/to-smart-sentence-case.ts"],"sourcesContent":["import type { SupportedLocale } from '../types'\n\nexport function toSmartSentenceCase(\n\ttext: string,\n\tlocale: SupportedLocale\n): string {\n\t// Skip transformation for non-cased languages\n\tif (locale === 'ja' || locale === 'ko') {\n\t\treturn text\n\t}\n\n\tconst match = text.match(/^(\\s*[\\p{P}\\p{Zs}]*)?(\\p{L})(.*)$/u)\n\n\tif (!match) return text // fallback if no match\n\n\tconst [, leading, firstChar, rest] = match\n\n\treturn (\n\t\t(leading ?? '') +\n\t\tfirstChar.toLocaleUpperCase(locale) +\n\t\trest.toLocaleLowerCase(locale)\n\t)\n}\n"],"names":["toSmartSentenceCase","text","locale","match","leading","firstChar","rest"],"mappings":"AAEO,SAASA,EACfC,GACAC,GACS;AAET,MAAIA,MAAW,QAAQA,MAAW;AACjC,WAAOD;AAGR,QAAME,IAAQF,EAAK,MAAM,oCAAoC;AAE7D,MAAI,CAACE,EAAO,QAAOF;AAEnB,QAAM,GAAGG,GAASC,GAAWC,CAAI,IAAIH;AAErC,UACEC,KAAW,MACZC,EAAU,kBAAkBH,CAAM,IAClCI,EAAK,kBAAkBJ,CAAM;AAE/B;"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { smallWordsByLocale as i } from "../constants/index.js";
|
|
2
|
-
function c(o, t) {
|
|
3
|
-
const s = i[t], e = o.toLocaleLowerCase(t).split(/([\s\-:,.]+)/);
|
|
4
|
-
let a = !0;
|
|
5
|
-
return e.map((r) => /^[\s\-:,.]+$/.test(r) ? (/[:.!?]\s*$/.test(r) && (a = !0), r) : r.charAt(0).toLocaleUpperCase && (a || !s.has(r)) ? (a = !1, r.charAt(0).toLocaleUpperCase(t) + r.slice(1)) : r).join("");
|
|
6
|
-
}
|
|
7
|
-
export {
|
|
8
|
-
c as toSmartTitleCase
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=to-smart-title-case.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"to-smart-title-case.js","sources":["../../../../../utils/i18n/helpers/to-smart-title-case.ts"],"sourcesContent":["import { smallWordsByLocale } from '../constants'\nimport { type SupportedLocale } from '../types'\n\nexport function toSmartTitleCase(\n\ttext: string,\n\tlocale: SupportedLocale\n): string {\n\tconst smallWords = smallWordsByLocale[locale]\n\tconst segments = text.toLocaleLowerCase(locale).split(/([\\s\\-:,.]+)/)\n\n\tlet capitalizeNext = true\n\n\treturn segments\n\t\t.map((segment) => {\n\t\t\tif (/^[\\s\\-:,.]+$/.test(segment)) {\n\t\t\t\t// If punctuation ends a sentence-like clause, capitalize the next word\n\t\t\t\tif (/[:.!?]\\s*$/.test(segment)) {\n\t\t\t\t\tcapitalizeNext = true\n\t\t\t\t}\n\t\t\t\treturn segment\n\t\t\t}\n\n\t\t\t// For non-cased languages (ja, ko), return as-is\n\t\t\tif (!segment.charAt(0).toLocaleUpperCase) return segment\n\n\t\t\tif (capitalizeNext || !smallWords.has(segment)) {\n\t\t\t\tcapitalizeNext = false\n\t\t\t\treturn segment.charAt(0).toLocaleUpperCase(locale) + segment.slice(1)\n\t\t\t} else {\n\t\t\t\treturn segment\n\t\t\t}\n\t\t})\n\t\t.join('')\n}\n"],"names":["toSmartTitleCase","text","locale","smallWords","smallWordsByLocale","segments","capitalizeNext","segment"],"mappings":";AAGO,SAASA,EACfC,GACAC,GACS;AACT,QAAMC,IAAaC,EAAmBF,CAAM,GACtCG,IAAWJ,EAAK,kBAAkBC,CAAM,EAAE,MAAM,cAAc;AAEpE,MAAII,IAAiB;AAErB,SAAOD,EACL,IAAI,CAACE,MACD,eAAe,KAAKA,CAAO,KAE1B,aAAa,KAAKA,CAAO,MAC5BD,IAAiB,KAEXC,KAIHA,EAAQ,OAAO,CAAC,EAAE,sBAEnBD,KAAkB,CAACH,EAAW,IAAII,CAAO,MAC5CD,IAAiB,IACVC,EAAQ,OAAO,CAAC,EAAE,kBAAkBL,CAAM,IAAIK,EAAQ,MAAM,CAAC,KAJpBA,CAQjD,EACA,KAAK,EAAE;AACV;"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { useContext as n } from "react";
|
|
2
|
-
import { DEFAULT_LOCALE as e } from "../constants/index.js";
|
|
3
|
-
import { LocaleContext as r } from "./locale-provider.js";
|
|
4
|
-
let t = !1;
|
|
5
|
-
function i() {
|
|
6
|
-
const o = n(r)?.locale;
|
|
7
|
-
return !o && typeof window < "u" && !t && (t = !0, console.warn(
|
|
8
|
-
`[@web/utils] No <LocaleProvider> found. Defaulting to "${e}".`
|
|
9
|
-
)), o || e;
|
|
10
|
-
}
|
|
11
|
-
export {
|
|
12
|
-
i as useLocale
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=use-locale.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-locale.js","sources":["../../../../../utils/i18n/helpers/use-locale.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { DEFAULT_LOCALE } from '../constants'\nimport { LocaleContext } from './locale-provider'\nimport type { SupportedLocale } from '../types'\n\nlet hasWarned = false\n\nexport function useLocale(): SupportedLocale {\n\tconst locale = useContext(LocaleContext)?.locale\n\n\tif (!locale && typeof window !== 'undefined' && !hasWarned) {\n\t\thasWarned = true\n\t\tconsole.warn(\n\t\t\t`[@web/utils] No <LocaleProvider> found. Defaulting to \"${DEFAULT_LOCALE}\".`\n\t\t)\n\t}\n\n\treturn locale || DEFAULT_LOCALE\n}\n"],"names":["hasWarned","useLocale","locale","useContext","LocaleContext","DEFAULT_LOCALE"],"mappings":";;;AAKA,IAAIA,IAAY;AAET,SAASC,IAA6B;AAC5C,QAAMC,IAASC,EAAWC,CAAa,GAAG;AAE1C,SAAI,CAACF,KAAU,OAAO,SAAW,OAAe,CAACF,MAChDA,IAAY,IACZ,QAAQ;AAAA,IACP,0DAA0DK,CAAc;AAAA,EAAA,IAInEH,KAAUG;AAClB;"}
|
package/utils/i18n/index.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { createLocalize as o } from "./index2.js";
|
|
2
|
-
const r = o({
|
|
3
|
-
de: {
|
|
4
|
-
optional: "optional",
|
|
5
|
-
// "optional" is the same in German
|
|
6
|
-
required: "erforderlich"
|
|
7
|
-
},
|
|
8
|
-
en: {
|
|
9
|
-
optional: "optional",
|
|
10
|
-
required: "required"
|
|
11
|
-
},
|
|
12
|
-
es: {
|
|
13
|
-
optional: "opcional",
|
|
14
|
-
required: "obligatorio"
|
|
15
|
-
},
|
|
16
|
-
fr: {
|
|
17
|
-
optional: "facultatif",
|
|
18
|
-
required: "obligatoire"
|
|
19
|
-
},
|
|
20
|
-
id: {
|
|
21
|
-
// ! TODO Translate text to Indonesian
|
|
22
|
-
optional: "optional",
|
|
23
|
-
required: "required"
|
|
24
|
-
},
|
|
25
|
-
ja: {
|
|
26
|
-
optional: "任意",
|
|
27
|
-
required: "必須"
|
|
28
|
-
},
|
|
29
|
-
ko: {
|
|
30
|
-
optional: "선택 사항",
|
|
31
|
-
required: "필수"
|
|
32
|
-
},
|
|
33
|
-
pt: {
|
|
34
|
-
optional: "opcional",
|
|
35
|
-
required: "obrigatório"
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
export {
|
|
39
|
-
r as localize
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=index.js.map
|
package/utils/i18n/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/utils/i18n/index.ts"],"sourcesContent":["import { createLocalize } from '@web/utils/i18n'\n\nexport const localize = createLocalize({\n\tde: {\n\t\toptional: 'optional', // \"optional\" is the same in German\n\t\trequired: 'erforderlich',\n\t},\n\ten: {\n\t\toptional: 'optional',\n\t\trequired: 'required',\n\t},\n\tes: {\n\t\toptional: 'opcional',\n\t\trequired: 'obligatorio',\n\t},\n\tfr: {\n\t\toptional: 'facultatif',\n\t\trequired: 'obligatoire',\n\t},\n\tid: {\n\t\t// ! TODO Translate text to Indonesian\n\t\toptional: 'optional',\n\t\trequired: 'required',\n\t},\n\tja: {\n\t\toptional: '任意',\n\t\trequired: '必須',\n\t},\n\tko: {\n\t\toptional: '선택 사항',\n\t\trequired: '필수',\n\t},\n\tpt: {\n\t\toptional: 'opcional',\n\t\trequired: 'obrigatório',\n\t},\n})\n"],"names":["localize","createLocalize"],"mappings":";AAEO,MAAMA,IAAWC,EAAe;AAAA,EACtC,IAAI;AAAA,IACH,UAAU;AAAA;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA;AAAA,IAEH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAAA,EAEX,IAAI;AAAA,IACH,UAAU;AAAA,IACV,UAAU;AAAA,EAAA;AAEZ,CAAC;"}
|
package/utils/i18n/index2.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import "./helpers/locale-provider.js";
|
|
2
|
-
import { toSmartSentenceCase as p } from "./helpers/to-smart-sentence-case.js";
|
|
3
|
-
import { toSmartTitleCase as f } from "./helpers/to-smart-title-case.js";
|
|
4
|
-
import "react";
|
|
5
|
-
function i(o, u) {
|
|
6
|
-
return u.split(".").reduce((t, r) => {
|
|
7
|
-
if (typeof t == "object" && t !== null && r in t)
|
|
8
|
-
return t[r];
|
|
9
|
-
}, o);
|
|
10
|
-
}
|
|
11
|
-
function w(o, u = "en") {
|
|
12
|
-
return function(r, n, s) {
|
|
13
|
-
const e = i(o[n], r) ?? i(o[u], r);
|
|
14
|
-
if (typeof e != "string") return "";
|
|
15
|
-
switch (s) {
|
|
16
|
-
case "title":
|
|
17
|
-
return f(e, n);
|
|
18
|
-
case "sentence":
|
|
19
|
-
return p(e, n);
|
|
20
|
-
case "upper":
|
|
21
|
-
return e.toLocaleUpperCase(n);
|
|
22
|
-
case "lower":
|
|
23
|
-
return e.toLocaleLowerCase(n);
|
|
24
|
-
case "none":
|
|
25
|
-
default:
|
|
26
|
-
return e;
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export {
|
|
31
|
-
w as createLocalize
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=index2.js.map
|
package/utils/i18n/index2.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index2.js","sources":["../../../../utils/i18n/index.ts"],"sourcesContent":["import { toSmartSentenceCase, toSmartTitleCase } from './helpers'\nimport type { SupportedLocale } from './types'\n\ntype Capitalization = 'none' | 'lower' | 'sentence' | 'title' | 'upper'\n\ntype DotPrefix<T extends string, U extends string> = `${T}.${U}`\n\ntype NestedKeyOf<ObjectType extends object> = {\n\t[K in keyof ObjectType & string]: ObjectType[K] extends object\n\t\t? DotPrefix<K, NestedKeyOf<ObjectType[K]>>\n\t\t: K\n}[keyof ObjectType & string]\n\nfunction getByDotPath<T extends object, P extends string>(\n\tobj: T,\n\tpath: P\n): unknown {\n\treturn path.split('.').reduce((acc: unknown, part) => {\n\t\tif (typeof acc === 'object' && acc !== null && part in acc) {\n\t\t\treturn (acc as Record<string, unknown>)[part]\n\t\t}\n\t\treturn undefined\n\t}, obj)\n}\n\nexport function createLocalize<Messages extends Record<string, unknown>>(\n\tlocalizations: Record<SupportedLocale, Messages>,\n\tfallbackLocale: SupportedLocale = 'en'\n) {\n\ttype Key = NestedKeyOf<Messages>\n\n\treturn function translate(\n\t\tkey: Key,\n\t\tlocale: SupportedLocale,\n\t\tcapitalization?: Capitalization\n\t): string {\n\t\tconst word =\n\t\t\tgetByDotPath(localizations[locale], key) ??\n\t\t\tgetByDotPath(localizations[fallbackLocale], key)\n\n\t\tif (typeof word !== 'string') return ''\n\n\t\tswitch (capitalization) {\n\t\t\tcase 'title':\n\t\t\t\treturn toSmartTitleCase(word, locale)\n\t\t\tcase 'sentence':\n\t\t\t\treturn toSmartSentenceCase(word, locale)\n\t\t\tcase 'upper':\n\t\t\t\treturn word.toLocaleUpperCase(locale)\n\t\t\tcase 'lower':\n\t\t\t\treturn word.toLocaleLowerCase(locale)\n\t\t\tcase 'none':\n\t\t\tdefault:\n\t\t\t\treturn word\n\t\t}\n\t}\n}\n"],"names":["getByDotPath","obj","path","acc","part","createLocalize","localizations","fallbackLocale","key","locale","capitalization","word","toSmartTitleCase","toSmartSentenceCase"],"mappings":";;;;AAaA,SAASA,EACRC,GACAC,GACU;AACV,SAAOA,EAAK,MAAM,GAAG,EAAE,OAAO,CAACC,GAAcC,MAAS;AACrD,QAAI,OAAOD,KAAQ,YAAYA,MAAQ,QAAQC,KAAQD;AACtD,aAAQA,EAAgCC,CAAI;AAAA,EAG9C,GAAGH,CAAG;AACP;AAEO,SAASI,EACfC,GACAC,IAAkC,MACjC;AAGD,SAAO,SACNC,GACAC,GACAC,GACS;AACT,UAAMC,IACLX,EAAaM,EAAcG,CAAM,GAAGD,CAAG,KACvCR,EAAaM,EAAcC,CAAc,GAAGC,CAAG;AAEhD,QAAI,OAAOG,KAAS,SAAU,QAAO;AAErC,YAAQD,GAAA;AAAA,MACP,KAAK;AACJ,eAAOE,EAAiBD,GAAMF,CAAM;AAAA,MACrC,KAAK;AACJ,eAAOI,EAAoBF,GAAMF,CAAM;AAAA,MACxC,KAAK;AACJ,eAAOE,EAAK,kBAAkBF,CAAM;AAAA,MACrC,KAAK;AACJ,eAAOE,EAAK,kBAAkBF,CAAM;AAAA,MACrC,KAAK;AAAA,MACL;AACC,eAAOE;AAAA,IAAA;AAAA,EAEV;AACD;"}
|