@hashicorp/mds-react 0.9.0 → 0.9.2
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/{dist/components → components}/accordion/index.d.ts +1 -1
- package/{dist/components → components}/accordion/item/index.d.ts +1 -1
- package/{dist/components → components}/alert/icon.d.ts +2 -2
- package/{dist/components → components}/alert/index.d.ts +6 -6
- package/{dist/components → components}/badge/index.d.ts +1 -1
- package/{dist/components → components}/badge-count/index.d.ts +1 -1
- package/{dist/components → components}/breadcrumbs/index.d.ts +2 -2
- package/{dist/components → components}/breadcrumbs/item/index.d.ts +1 -1
- package/{dist/components → components}/breadcrumbs/truncation-button/index.d.ts +1 -1
- package/{dist/components → components}/breadcrumbs/types/index.d.ts +1 -1
- package/{dist/components → components}/button/index.d.ts +2 -2
- package/{dist/components → components}/card/card-thumbnail/index.d.ts +1 -1
- package/components/card/index.d.ts +3 -0
- package/{dist/components → components}/card/types.d.ts +3 -3
- package/{dist/components → components}/code-block/code-lines/index.d.ts +8 -1
- package/{dist/components → components}/code-block/code-lines/utils/split-html-into-lines.d.ts +1 -1
- package/{dist/components → components}/code-block/code-lines/utils/split-jsx-into-lines.d.ts +1 -1
- package/components/code-block/hidden-copy-content/index.d.ts +5 -0
- package/{dist/components → components}/code-block/index.d.ts +1 -1
- package/{dist/components → components}/combo-box-primitive/index.d.ts +0 -1
- package/{dist/components → components}/dialog-primitive/index.d.ts +1 -1
- package/{dist/components → components}/disclosure-primitive/index.d.ts +2 -1
- package/{dist/components → components}/disclosure-primitive/use-disclosure-primitive.d.ts +2 -2
- package/{dist/components → components}/dismiss-button/index.d.ts +0 -1
- package/{dist/components → components}/dropdown/index.d.ts +6 -6
- package/{dist/components → components}/dropdown/list-item/custom.d.ts +1 -1
- package/{dist/components → components}/dropdown/list-item/index.d.ts +4 -4
- package/{dist/components → components}/dropdown/list-item/interactive.d.ts +1 -1
- package/{dist/components → components}/dropdown/list-item/separator.d.ts +1 -1
- package/{dist/components → components}/dropdown/list-item/title.d.ts +1 -1
- package/{dist/components → components}/dropdown/toggle-button/index.d.ts +2 -2
- package/{dist/components → components}/flight-icon/index.d.ts +2 -2
- package/{dist/components → components}/form/checkbox/index.d.ts +1 -1
- package/{dist/components → components}/form/error/index.d.ts +1 -1
- package/{dist/components → components}/form/field/index.d.ts +1 -1
- package/{dist/components → components}/form/fieldset/index.d.ts +1 -1
- package/{dist/components → components}/form/file-input/index.d.ts +1 -1
- package/{dist/components → components}/form/helper-text/index.d.ts +1 -1
- package/{dist/components → components}/form/label/index.d.ts +1 -1
- package/{dist/components → components}/form/legend/index.d.ts +1 -1
- package/{dist/components → components}/form/radio/index.d.ts +1 -1
- package/{dist/components → components}/form/radio-card/group.d.ts +1 -1
- package/{dist/components → components}/form/radio-card/index.d.ts +2 -2
- package/{dist/components → components}/form/select/index.d.ts +1 -1
- package/{dist/components → components}/form/super-select/index.d.ts +2 -2
- package/{dist/components → components}/form/text-input/index.d.ts +1 -1
- package/{dist/components → components}/form/textarea/index.d.ts +1 -1
- package/{dist/components → components}/form/toggle/index.d.ts +1 -1
- package/{dist/components → components}/hds/wrappers/tooltip.d.ts +4 -3
- package/{dist/components → components}/icon-tile/index.d.ts +1 -1
- package/components/index.js +77 -0
- package/{dist/components → components}/inline-link/index.d.ts +1 -1
- package/{dist/components → components}/interactive/index.d.ts +4 -3
- package/{dist/components → components}/legacy-button/index.d.ts +3 -3
- package/{dist/components → components}/legacy-button/types.d.ts +1 -1
- package/{dist/components → components}/legacy-button/utils.d.ts +1 -1
- package/{dist/components → components}/menu-primitive/index.d.ts +1 -1
- package/{dist/components → components}/menu-primitive/use-menu-primitive.d.ts +2 -2
- package/{dist/components → components}/modal/index.d.ts +1 -1
- package/{dist/components → components}/modal/use-modal.d.ts +2 -2
- package/{dist/components → components}/separator/index.d.ts +1 -1
- package/{dist/components → components}/standalone-link/index.d.ts +2 -2
- package/{dist/components → components}/table/index.d.ts +5 -5
- package/{dist/components → components}/table/td.d.ts +2 -2
- package/{dist/components → components}/table/th.d.ts +2 -2
- package/{dist/components → components}/table/tr.d.ts +1 -1
- package/{dist/components → components}/tabs/index.d.ts +3 -3
- package/{dist/components → components}/tabs/tab-panel.d.ts +1 -1
- package/{dist/components → components}/tabs/tab.d.ts +2 -2
- package/{dist/components → components}/tabs/use-tabs-context.d.ts +2 -2
- package/{dist/components → components}/text/index.d.ts +6 -6
- package/{dist/components → components}/visualizations/bar-chart/horizontal-chart/index.d.ts +0 -1
- package/{dist/components → components}/visualizations/bar-chart/index.d.ts +1 -1
- package/components/visualizations/donut-chart/components/arc-tooltip/index.d.ts +3 -0
- package/components/visualizations/donut-chart/components/external-arc-label/index.d.ts +3 -0
- package/components/visualizations/donut-chart/components/internal-arc-label/index.d.ts +3 -0
- package/{dist/components → components}/visualizations/donut-chart/index.d.ts +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/{dist/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 +105 -0
- package/{dist/patterns/index.js.map → index.js.map} +1 -1
- package/package.json +72 -108
- package/{dist/patterns → patterns}/card/newsroom-card/index.d.ts +1 -1
- package/{dist/patterns → patterns}/card/partner-card/index.d.ts +2 -2
- package/{dist/patterns → patterns}/card/person-card/index.d.ts +1 -1
- package/{dist/patterns → patterns}/card/primitives.d.ts +5 -5
- package/{dist/patterns → patterns}/card/promo-card/index.d.ts +1 -1
- package/{dist/patterns → patterns}/card/resource-card/index.d.ts +1 -1
- package/{dist/patterns → patterns}/card/thumbnails/index.d.ts +1 -1
- package/{dist/patterns → patterns}/card/types.d.ts +6 -6
- package/{dist/patterns → patterns}/card/unified-card/index.d.ts +1 -1
- package/{dist/patterns → patterns}/copy-button/clipboard.d.ts +1 -1
- package/{dist/patterns → patterns}/copy-button/index.d.ts +1 -1
- package/patterns/index.js +25 -0
- package/patterns/index.js.map +1 -0
- package/patterns/layout/index.d.ts +69 -0
- package/patterns/product-logo/index.d.ts +48 -0
- package/{dist/patterns → patterns}/related-content/index.d.ts +1 -1
- package/{dist/patterns → patterns}/related-content/types.d.ts +1 -1
- package/style.css +1 -0
- package/use-screen-size-BOnkX_K-.js +9 -0
- package/use-screen-size-BOnkX_K-.js.map +1 -0
- package/utils/i18n/index.d.ts +1 -0
- package/utils/index.js +10 -0
- package/utils/index.js.map +1 -0
- package/{dist/utils → utils}/make-normalizer/index.d.ts +6 -6
- package/{dist/utils → utils}/mds-context/index.d.ts +1 -1
- package/dist/components/accordion/index.js +0 -9
- package/dist/components/accordion/index.js.map +0 -1
- package/dist/components/accordion/item/button.js +0 -44
- package/dist/components/accordion/item/button.js.map +0 -1
- package/dist/components/accordion/item/index.js +0 -59
- package/dist/components/accordion/item/index.js.map +0 -1
- package/dist/components/accordion/style.module.scss.js +0 -24
- package/dist/components/accordion/style.module.scss.js.map +0 -1
- package/dist/components/alert/alert.module.scss.js +0 -29
- package/dist/components/alert/alert.module.scss.js.map +0 -1
- package/dist/components/alert/icon.js +0 -34
- package/dist/components/alert/icon.js.map +0 -1
- package/dist/components/alert/index.js +0 -97
- package/dist/components/alert/index.js.map +0 -1
- package/dist/components/badge/index.js +0 -50
- package/dist/components/badge/index.js.map +0 -1
- package/dist/components/badge/style.module.scss.js +0 -22
- package/dist/components/badge/style.module.scss.js.map +0 -1
- package/dist/components/badge-count/index.js +0 -29
- package/dist/components/badge-count/index.js.map +0 -1
- package/dist/components/badge-count/style.module.scss.js +0 -15
- package/dist/components/badge-count/style.module.scss.js.map +0 -1
- package/dist/components/breadcrumbs/index.js +0 -38
- package/dist/components/breadcrumbs/index.js.map +0 -1
- package/dist/components/breadcrumbs/item/index.js +0 -32
- package/dist/components/breadcrumbs/item/index.js.map +0 -1
- package/dist/components/breadcrumbs/style.module.scss.js +0 -27
- package/dist/components/breadcrumbs/style.module.scss.js.map +0 -1
- package/dist/components/breadcrumbs/truncation-button/index.js +0 -25
- package/dist/components/breadcrumbs/truncation-button/index.js.map +0 -1
- package/dist/components/button/index.js +0 -119
- package/dist/components/button/index.js.map +0 -1
- package/dist/components/button/styles.module.scss.js +0 -32
- package/dist/components/button/styles.module.scss.js.map +0 -1
- package/dist/components/card/card-thumbnail/card-thumbnail.module.css.js +0 -8
- package/dist/components/card/card-thumbnail/card-thumbnail.module.css.js.map +0 -1
- package/dist/components/card/card-thumbnail/index.js +0 -23
- package/dist/components/card/card-thumbnail/index.js.map +0 -1
- package/dist/components/card/index.d.ts +0 -3
- package/dist/components/card/index.js +0 -157
- package/dist/components/card/index.js.map +0 -1
- package/dist/components/card/styles.module.css.js +0 -29
- package/dist/components/card/styles.module.css.js.map +0 -1
- package/dist/components/code-block/code-block.module.scss.js +0 -34
- package/dist/components/code-block/code-block.module.scss.js.map +0 -1
- package/dist/components/code-block/code-lines/index.js +0 -59
- package/dist/components/code-block/code-lines/index.js.map +0 -1
- package/dist/components/code-block/code-lines/utils/split-html-into-lines.js +0 -19
- package/dist/components/code-block/code-lines/utils/split-html-into-lines.js.map +0 -1
- package/dist/components/code-block/code-lines/utils/split-jsx-into-lines.js +0 -31
- package/dist/components/code-block/code-lines/utils/split-jsx-into-lines.js.map +0 -1
- package/dist/components/code-block/hidden-copy-content/index.d.ts +0 -5
- package/dist/components/code-block/hidden-copy-content/index.js +0 -13
- package/dist/components/code-block/hidden-copy-content/index.js.map +0 -1
- package/dist/components/code-block/index.js +0 -88
- package/dist/components/code-block/index.js.map +0 -1
- package/dist/components/code-block/utils/parse-highlighted-lines.js +0 -39
- package/dist/components/code-block/utils/parse-highlighted-lines.js.map +0 -1
- package/dist/components/code-block/utils/process-snippet.js +0 -20
- package/dist/components/code-block/utils/process-snippet.js.map +0 -1
- package/dist/components/code-block/utils/shellwords.js +0 -33
- package/dist/components/code-block/utils/shellwords.js.map +0 -1
- package/dist/components/combo-box-primitive/index.js +0 -302
- package/dist/components/combo-box-primitive/index.js.map +0 -1
- package/dist/components/dialog-primitive/dialog.module.scss.js +0 -12
- package/dist/components/dialog-primitive/dialog.module.scss.js.map +0 -1
- package/dist/components/dialog-primitive/index.js +0 -15
- package/dist/components/dialog-primitive/index.js.map +0 -1
- package/dist/components/disclosure-primitive/index.js +0 -57
- package/dist/components/disclosure-primitive/index.js.map +0 -1
- package/dist/components/disclosure-primitive/styles.module.css.js +0 -7
- package/dist/components/disclosure-primitive/styles.module.css.js.map +0 -1
- package/dist/components/disclosure-primitive/use-disclosure-primitive.js +0 -17
- package/dist/components/disclosure-primitive/use-disclosure-primitive.js.map +0 -1
- package/dist/components/dismiss-button/index.js +0 -22
- package/dist/components/dismiss-button/index.js.map +0 -1
- package/dist/components/dismiss-button/styles.module.scss.js +0 -7
- package/dist/components/dismiss-button/styles.module.scss.js.map +0 -1
- package/dist/components/dropdown/index.js +0 -79
- package/dist/components/dropdown/index.js.map +0 -1
- package/dist/components/dropdown/list-item/custom.js +0 -9
- package/dist/components/dropdown/list-item/custom.js.map +0 -1
- package/dist/components/dropdown/list-item/index.js +0 -14
- package/dist/components/dropdown/list-item/index.js.map +0 -1
- package/dist/components/dropdown/list-item/interactive.js +0 -49
- package/dist/components/dropdown/list-item/interactive.js.map +0 -1
- package/dist/components/dropdown/list-item/separator.js +0 -17
- package/dist/components/dropdown/list-item/separator.js.map +0 -1
- package/dist/components/dropdown/list-item/styles.module.css.js +0 -26
- package/dist/components/dropdown/list-item/styles.module.css.js.map +0 -1
- package/dist/components/dropdown/list-item/title.js +0 -9
- package/dist/components/dropdown/list-item/title.js.map +0 -1
- package/dist/components/dropdown/styles.module.css.js +0 -24
- package/dist/components/dropdown/styles.module.css.js.map +0 -1
- package/dist/components/dropdown/toggle-button/index.js +0 -54
- package/dist/components/dropdown/toggle-button/index.js.map +0 -1
- package/dist/components/dropdown/toggle-button/styles.module.scss.js +0 -14
- package/dist/components/dropdown/toggle-button/styles.module.scss.js.map +0 -1
- package/dist/components/flight-icon/flight-icon.module.css.js +0 -12
- package/dist/components/flight-icon/flight-icon.module.css.js.map +0 -1
- package/dist/components/flight-icon/index.js +0 -58
- package/dist/components/flight-icon/index.js.map +0 -1
- package/dist/components/form/checkbox/form-checkbox.module.css.js +0 -8
- package/dist/components/form/checkbox/form-checkbox.module.css.js.map +0 -1
- package/dist/components/form/checkbox/index.js +0 -109
- package/dist/components/form/checkbox/index.js.map +0 -1
- package/dist/components/form/error/form-error.module.css.js +0 -14
- package/dist/components/form/error/form-error.module.css.js.map +0 -1
- package/dist/components/form/error/index.js +0 -22
- package/dist/components/form/error/index.js.map +0 -1
- package/dist/components/form/field/form-field.module.css.js +0 -17
- package/dist/components/form/field/form-field.module.css.js.map +0 -1
- package/dist/components/form/field/index.js +0 -46
- package/dist/components/form/field/index.js.map +0 -1
- package/dist/components/form/fieldset/form-fieldset.module.css.js +0 -19
- package/dist/components/form/fieldset/form-fieldset.module.css.js.map +0 -1
- package/dist/components/form/fieldset/index.js +0 -65
- package/dist/components/form/fieldset/index.js.map +0 -1
- package/dist/components/form/file-input/form-file-input.module.scss.js +0 -7
- package/dist/components/form/file-input/form-file-input.module.scss.js.map +0 -1
- package/dist/components/form/file-input/index.js +0 -68
- package/dist/components/form/file-input/index.js.map +0 -1
- package/dist/components/form/helper-text/form-helper-text.module.css.js +0 -7
- package/dist/components/form/helper-text/form-helper-text.module.css.js.map +0 -1
- package/dist/components/form/helper-text/index.js +0 -22
- package/dist/components/form/helper-text/index.js.map +0 -1
- package/dist/components/form/indicator/form-indicator.module.css.js +0 -8
- package/dist/components/form/indicator/form-indicator.module.css.js.map +0 -1
- package/dist/components/form/indicator/index.js +0 -22
- package/dist/components/form/indicator/index.js.map +0 -1
- package/dist/components/form/label/form-label.module.css.js +0 -10
- package/dist/components/form/label/form-label.module.css.js.map +0 -1
- package/dist/components/form/label/index.js +0 -33
- package/dist/components/form/label/index.js.map +0 -1
- package/dist/components/form/legend/form-legend.module.css.js +0 -10
- package/dist/components/form/legend/form-legend.module.css.js.map +0 -1
- package/dist/components/form/legend/index.js +0 -19
- package/dist/components/form/legend/index.js.map +0 -1
- package/dist/components/form/radio/form-radio.module.scss.js +0 -8
- package/dist/components/form/radio/form-radio.module.scss.js.map +0 -1
- package/dist/components/form/radio/index.js +0 -100
- package/dist/components/form/radio/index.js.map +0 -1
- package/dist/components/form/radio-card/description.js +0 -10
- package/dist/components/form/radio-card/description.js.map +0 -1
- package/dist/components/form/radio-card/form-radio-card.module.css.js +0 -30
- package/dist/components/form/radio-card/form-radio-card.module.css.js.map +0 -1
- package/dist/components/form/radio-card/group.js +0 -31
- package/dist/components/form/radio-card/group.js.map +0 -1
- package/dist/components/form/radio-card/index.js +0 -67
- package/dist/components/form/radio-card/index.js.map +0 -1
- package/dist/components/form/radio-card/label.js +0 -10
- package/dist/components/form/radio-card/label.js.map +0 -1
- package/dist/components/form/select/form-select.module.css.js +0 -14
- package/dist/components/form/select/form-select.module.css.js.map +0 -1
- package/dist/components/form/select/index.js +0 -79
- package/dist/components/form/select/index.js.map +0 -1
- package/dist/components/form/super-select/form-super-select.module.css.js +0 -22
- package/dist/components/form/super-select/form-super-select.module.css.js.map +0 -1
- package/dist/components/form/super-select/index.js +0 -170
- package/dist/components/form/super-select/index.js.map +0 -1
- package/dist/components/form/text-input/index.js +0 -91
- package/dist/components/form/text-input/index.js.map +0 -1
- package/dist/components/form/text-input/styles.module.css.js +0 -15
- package/dist/components/form/text-input/styles.module.css.js.map +0 -1
- package/dist/components/form/textarea/form-textarea.module.css.js +0 -14
- package/dist/components/form/textarea/form-textarea.module.css.js.map +0 -1
- package/dist/components/form/textarea/index.js +0 -74
- package/dist/components/form/textarea/index.js.map +0 -1
- package/dist/components/form/toggle/form-toggle.module.scss.js +0 -12
- package/dist/components/form/toggle/form-toggle.module.scss.js.map +0 -1
- package/dist/components/form/toggle/index.js +0 -102
- package/dist/components/form/toggle/index.js.map +0 -1
- package/dist/components/hds/wrappers/tooltip.js +0 -51
- package/dist/components/hds/wrappers/tooltip.js.map +0 -1
- package/dist/components/icon-tile/index.js +0 -50
- package/dist/components/icon-tile/index.js.map +0 -1
- package/dist/components/icon-tile/style.module.scss.js +0 -29
- package/dist/components/icon-tile/style.module.scss.js.map +0 -1
- package/dist/components/index.js +0 -119
- package/dist/components/index.js.map +0 -1
- package/dist/components/inline-link/index.js +0 -33
- package/dist/components/inline-link/index.js.map +0 -1
- package/dist/components/inline-link/inline-link.module.css.js +0 -11
- package/dist/components/inline-link/inline-link.module.css.js.map +0 -1
- package/dist/components/interactive/index.js +0 -59
- package/dist/components/interactive/index.js.map +0 -1
- package/dist/components/legacy-button/index.js +0 -65
- package/dist/components/legacy-button/index.js.map +0 -1
- package/dist/components/legacy-button/utils.js +0 -39
- package/dist/components/legacy-button/utils.js.map +0 -1
- package/dist/components/menu-primitive/index.js +0 -68
- package/dist/components/menu-primitive/index.js.map +0 -1
- package/dist/components/menu-primitive/styles.module.css.js +0 -12
- package/dist/components/menu-primitive/styles.module.css.js.map +0 -1
- package/dist/components/menu-primitive/use-menu-primitive.js +0 -17
- package/dist/components/menu-primitive/use-menu-primitive.js.map +0 -1
- package/dist/components/modal/index.js +0 -61
- package/dist/components/modal/index.js.map +0 -1
- package/dist/components/modal/modal.module.css.js +0 -8
- package/dist/components/modal/modal.module.css.js.map +0 -1
- package/dist/components/modal/use-modal.js +0 -17
- package/dist/components/modal/use-modal.js.map +0 -1
- package/dist/components/separator/index.js +0 -15
- package/dist/components/separator/index.js.map +0 -1
- package/dist/components/separator/separator.module.css.js +0 -10
- package/dist/components/separator/separator.module.css.js.map +0 -1
- package/dist/components/standalone-link/index.js +0 -54
- package/dist/components/standalone-link/index.js.map +0 -1
- package/dist/components/standalone-link/styles.module.scss.js +0 -17
- package/dist/components/standalone-link/styles.module.scss.js.map +0 -1
- package/dist/components/table/index.js +0 -52
- package/dist/components/table/index.js.map +0 -1
- package/dist/components/table/table.module.scss.js +0 -33
- package/dist/components/table/table.module.scss.js.map +0 -1
- package/dist/components/table/td.js +0 -28
- package/dist/components/table/td.js.map +0 -1
- package/dist/components/table/th-button-tooltip.js +0 -24
- package/dist/components/table/th-button-tooltip.js.map +0 -1
- package/dist/components/table/th.js +0 -43
- package/dist/components/table/th.js.map +0 -1
- package/dist/components/table/tr.js +0 -9
- package/dist/components/table/tr.js.map +0 -1
- package/dist/components/table/utils.js +0 -28
- package/dist/components/table/utils.js.map +0 -1
- package/dist/components/tabs/index.js +0 -117
- package/dist/components/tabs/index.js.map +0 -1
- package/dist/components/tabs/tab-panel.js +0 -35
- package/dist/components/tabs/tab-panel.js.map +0 -1
- package/dist/components/tabs/tab.js +0 -70
- package/dist/components/tabs/tab.js.map +0 -1
- package/dist/components/tabs/tabs.module.scss.js +0 -22
- package/dist/components/tabs/tabs.module.scss.js.map +0 -1
- package/dist/components/tabs/use-tabs-context.js +0 -16
- package/dist/components/tabs/use-tabs-context.js.map +0 -1
- package/dist/components/text/index.js +0 -112
- package/dist/components/text/index.js.map +0 -1
- package/dist/components/text/style.module.scss.js +0 -9
- package/dist/components/text/style.module.scss.js.map +0 -1
- package/dist/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js +0 -62
- package/dist/components/visualizations/bar-chart/horizontal-chart/dataset-value/index.js.map +0 -1
- package/dist/components/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css.js +0 -20
- package/dist/components/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css.js.map +0 -1
- package/dist/components/visualizations/bar-chart/horizontal-chart/index.js +0 -104
- package/dist/components/visualizations/bar-chart/horizontal-chart/index.js.map +0 -1
- package/dist/components/visualizations/bar-chart/horizontal-chart/legend/index.js +0 -13
- package/dist/components/visualizations/bar-chart/horizontal-chart/legend/index.js.map +0 -1
- package/dist/components/visualizations/bar-chart/horizontal-chart/legend/style.module.css.js +0 -14
- package/dist/components/visualizations/bar-chart/horizontal-chart/legend/style.module.css.js.map +0 -1
- package/dist/components/visualizations/bar-chart/horizontal-chart/style.module.css.js +0 -28
- package/dist/components/visualizations/bar-chart/horizontal-chart/style.module.css.js.map +0 -1
- package/dist/components/visualizations/bar-chart/index.js +0 -37
- package/dist/components/visualizations/bar-chart/index.js.map +0 -1
- package/dist/components/visualizations/bar-chart/style.module.css.js +0 -12
- package/dist/components/visualizations/bar-chart/style.module.css.js.map +0 -1
- package/dist/components/visualizations/donut-chart/components/arc-tooltip/index.d.ts +0 -3
- package/dist/components/visualizations/donut-chart/components/arc-tooltip/index.js +0 -14
- package/dist/components/visualizations/donut-chart/components/arc-tooltip/index.js.map +0 -1
- package/dist/components/visualizations/donut-chart/components/arc-tooltip/styles.module.css.js +0 -10
- package/dist/components/visualizations/donut-chart/components/arc-tooltip/styles.module.css.js.map +0 -1
- package/dist/components/visualizations/donut-chart/components/external-arc-label/index.d.ts +0 -3
- package/dist/components/visualizations/donut-chart/components/external-arc-label/index.js +0 -58
- package/dist/components/visualizations/donut-chart/components/external-arc-label/index.js.map +0 -1
- package/dist/components/visualizations/donut-chart/components/external-arc-label/styles.module.css.js +0 -16
- package/dist/components/visualizations/donut-chart/components/external-arc-label/styles.module.css.js.map +0 -1
- package/dist/components/visualizations/donut-chart/components/internal-arc-label/index.d.ts +0 -3
- package/dist/components/visualizations/donut-chart/components/internal-arc-label/index.js +0 -42
- package/dist/components/visualizations/donut-chart/components/internal-arc-label/index.js.map +0 -1
- package/dist/components/visualizations/donut-chart/components/internal-arc-label/styles.module.css.js +0 -14
- package/dist/components/visualizations/donut-chart/components/internal-arc-label/styles.module.css.js.map +0 -1
- package/dist/components/visualizations/donut-chart/index.js +0 -90
- package/dist/components/visualizations/donut-chart/index.js.map +0 -1
- package/dist/components/visualizations/donut-chart/styles.module.css.js +0 -20
- package/dist/components/visualizations/donut-chart/styles.module.css.js.map +0 -1
- package/dist/hooks/use-media-query/index.js +0 -16
- package/dist/hooks/use-media-query/index.js.map +0 -1
- package/dist/index.js +0 -158
- package/dist/index.js.map +0 -1
- package/dist/patterns/card/newsroom-card/index.js +0 -26
- package/dist/patterns/card/newsroom-card/index.js.map +0 -1
- package/dist/patterns/card/newsroom-card/style.module.css.js +0 -8
- package/dist/patterns/card/newsroom-card/style.module.css.js.map +0 -1
- package/dist/patterns/card/partner-card/index.js +0 -42
- package/dist/patterns/card/partner-card/index.js.map +0 -1
- package/dist/patterns/card/partner-card/style.module.css.js +0 -12
- package/dist/patterns/card/partner-card/style.module.css.js.map +0 -1
- package/dist/patterns/card/person-card/index.js +0 -52
- package/dist/patterns/card/person-card/index.js.map +0 -1
- package/dist/patterns/card/person-card/style.module.css.js +0 -12
- package/dist/patterns/card/person-card/style.module.css.js.map +0 -1
- package/dist/patterns/card/primitives.js +0 -77
- package/dist/patterns/card/primitives.js.map +0 -1
- package/dist/patterns/card/promo-card/index.js +0 -36
- package/dist/patterns/card/promo-card/index.js.map +0 -1
- package/dist/patterns/card/resource-card/index.js +0 -26
- package/dist/patterns/card/resource-card/index.js.map +0 -1
- package/dist/patterns/card/style.module.css.js +0 -30
- package/dist/patterns/card/style.module.css.js.map +0 -1
- package/dist/patterns/card/thumbnails/index.js +0 -25
- package/dist/patterns/card/thumbnails/index.js.map +0 -1
- package/dist/patterns/card/unified-card/index.js +0 -37
- package/dist/patterns/card/unified-card/index.js.map +0 -1
- package/dist/patterns/copy-button/clipboard.js +0 -78
- package/dist/patterns/copy-button/clipboard.js.map +0 -1
- package/dist/patterns/copy-button/index.js +0 -57
- package/dist/patterns/copy-button/index.js.map +0 -1
- package/dist/patterns/copy-button/style.module.css.js +0 -13
- package/dist/patterns/copy-button/style.module.css.js.map +0 -1
- package/dist/patterns/index.js +0 -35
- package/dist/patterns/layout/index.d.ts +0 -69
- package/dist/patterns/layout/index.js +0 -47
- package/dist/patterns/layout/index.js.map +0 -1
- package/dist/patterns/layout/layout.module.css.js +0 -20
- package/dist/patterns/layout/layout.module.css.js.map +0 -1
- package/dist/patterns/product-badge/index.js +0 -22
- package/dist/patterns/product-badge/index.js.map +0 -1
- package/dist/patterns/product-badge/style.module.css.js +0 -8
- package/dist/patterns/product-badge/style.module.css.js.map +0 -1
- package/dist/patterns/product-logo/index.d.ts +0 -48
- package/dist/patterns/product-logo/index.js +0 -130
- package/dist/patterns/product-logo/index.js.map +0 -1
- package/dist/patterns/product-logo/product-logo.module.css.js +0 -13
- package/dist/patterns/product-logo/product-logo.module.css.js.map +0 -1
- package/dist/patterns/related-content/index.js +0 -65
- package/dist/patterns/related-content/index.js.map +0 -1
- package/dist/patterns/related-content/style.module.css.js +0 -22
- package/dist/patterns/related-content/style.module.css.js.map +0 -1
- package/dist/style.css +0 -1
- package/dist/utils/get-contrast-yiq.js +0 -13
- package/dist/utils/get-contrast-yiq.js.map +0 -1
- package/dist/utils/hooks/use-screen-size.js +0 -10
- package/dist/utils/hooks/use-screen-size.js.map +0 -1
- package/dist/utils/i18n/index.d.ts +0 -1
- package/dist/utils/i18n/index.js +0 -41
- package/dist/utils/i18n/index.js.map +0 -1
- package/dist/utils/index.js +0 -10
- package/dist/utils/make-normalizer/index.js +0 -34
- package/dist/utils/make-normalizer/index.js.map +0 -1
- package/dist/utils/mds-context/index.js.map +0 -1
- /package/{dist/components → components}/accordion/item/button.d.ts +0 -0
- /package/{dist/components → components}/accordion/style.module.scss +0 -0
- /package/{dist/components → components}/alert/alert.module.scss +0 -0
- /package/{dist/components → components}/badge/style.module.scss +0 -0
- /package/{dist/components → components}/badge-count/style.module.scss +0 -0
- /package/{dist/components → components}/breadcrumbs/style.module.scss +0 -0
- /package/{dist/components → components}/button/styles.module.scss +0 -0
- /package/{dist/components → components}/card/card-thumbnail/card-thumbnail.module.css +0 -0
- /package/{dist/components → components}/card/styles.module.css +0 -0
- /package/{dist/components → components}/code-block/code-block.module.scss +0 -0
- /package/{dist/components → components}/code-block/utils/parse-highlighted-lines.d.ts +0 -0
- /package/{dist/components → components}/code-block/utils/process-snippet.d.ts +0 -0
- /package/{dist/components → components}/code-block/utils/shellwords.d.ts +0 -0
- /package/{dist/components → components}/dialog-primitive/dialog.module.scss +0 -0
- /package/{dist/components → components}/disclosure-primitive/styles.module.css +0 -0
- /package/{dist/components → components}/dismiss-button/styles.module.scss +0 -0
- /package/{dist/components → components}/dropdown/list-item/styles.module.css +0 -0
- /package/{dist/components → components}/dropdown/styles.module.css +0 -0
- /package/{dist/components → components}/dropdown/toggle-button/styles.module.scss +0 -0
- /package/{dist/components → components}/flight-icon/flight-icon.module.css +0 -0
- /package/{dist/components → components}/form/checkbox/form-checkbox.module.css +0 -0
- /package/{dist/components → components}/form/error/form-error.module.css +0 -0
- /package/{dist/components → components}/form/field/form-field.module.css +0 -0
- /package/{dist/components → components}/form/fieldset/form-fieldset.module.css +0 -0
- /package/{dist/components → components}/form/file-input/form-file-input.module.scss +0 -0
- /package/{dist/components → components}/form/helper-text/form-helper-text.module.css +0 -0
- /package/{dist/components → components}/form/indicator/form-indicator.module.css +0 -0
- /package/{dist/components → components}/form/indicator/index.d.ts +0 -0
- /package/{dist/components → components}/form/label/form-label.module.css +0 -0
- /package/{dist/components → components}/form/legend/form-legend.module.css +0 -0
- /package/{dist/components → components}/form/radio/form-radio.module.scss +0 -0
- /package/{dist/components → components}/form/radio-card/description.d.ts +0 -0
- /package/{dist/components → components}/form/radio-card/form-radio-card.module.css +0 -0
- /package/{dist/components → components}/form/radio-card/label.d.ts +0 -0
- /package/{dist/components → components}/form/select/form-select.module.css +0 -0
- /package/{dist/components → components}/form/super-select/form-super-select.module.css +0 -0
- /package/{dist/components → components}/form/text-input/styles.module.css +0 -0
- /package/{dist/components → components}/form/textarea/form-textarea.module.css +0 -0
- /package/{dist/components → components}/form/toggle/form-toggle.module.scss +0 -0
- /package/{dist/components → components}/icon-tile/style.module.scss +0 -0
- /package/{dist/components → components}/index.d.ts +0 -0
- /package/{dist/utils → components}/index.js.map +0 -0
- /package/{dist/components → components}/inline-link/inline-link.module.css +0 -0
- /package/{dist/components → components}/menu-primitive/styles.module.css +0 -0
- /package/{dist/components → components}/modal/modal.module.css +0 -0
- /package/{dist/components → components}/separator/separator.module.css +0 -0
- /package/{dist/components → components}/standalone-link/styles.module.scss +0 -0
- /package/{dist/components → components}/table/table.module.scss +0 -0
- /package/{dist/components → components}/table/th-button-tooltip.d.ts +0 -0
- /package/{dist/components → components}/table/utils.d.ts +0 -0
- /package/{dist/components → components}/tabs/tabs.module.scss +0 -0
- /package/{dist/components → components}/text/style.module.scss +0 -0
- /package/{dist/components → components}/visualizations/bar-chart/horizontal-chart/dataset-value/index.d.ts +0 -0
- /package/{dist/components → components}/visualizations/bar-chart/horizontal-chart/dataset-value/style.module.css +0 -0
- /package/{dist/components → components}/visualizations/bar-chart/horizontal-chart/legend/index.d.ts +0 -0
- /package/{dist/components → components}/visualizations/bar-chart/horizontal-chart/legend/style.module.css +0 -0
- /package/{dist/components → components}/visualizations/bar-chart/horizontal-chart/style.module.css +0 -0
- /package/{dist/components → components}/visualizations/bar-chart/style.module.css +0 -0
- /package/{dist/components → components}/visualizations/donut-chart/components/arc-tooltip/styles.module.css +0 -0
- /package/{dist/components → components}/visualizations/donut-chart/components/external-arc-label/styles.module.css +0 -0
- /package/{dist/components → components}/visualizations/donut-chart/components/index.d.ts +0 -0
- /package/{dist/components → components}/visualizations/donut-chart/components/internal-arc-label/styles.module.css +0 -0
- /package/{dist/components → components}/visualizations/donut-chart/styles.module.css +0 -0
- /package/{dist/components → components}/visualizations/donut-chart/types.d.ts +0 -0
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/patterns → patterns}/card/index.d.ts +0 -0
- /package/{dist/patterns → patterns}/card/newsroom-card/style.module.css +0 -0
- /package/{dist/patterns → patterns}/card/partner-card/style.module.css +0 -0
- /package/{dist/patterns → patterns}/card/person-card/style.module.css +0 -0
- /package/{dist/patterns → patterns}/card/style.module.css +0 -0
- /package/{dist/patterns → patterns}/copy-button/style.module.css +0 -0
- /package/{dist/patterns → patterns}/index.d.ts +0 -0
- /package/{dist/patterns → patterns}/layout/layout.module.css +0 -0
- /package/{dist/patterns → patterns}/product-badge/index.d.ts +0 -0
- /package/{dist/patterns → patterns}/product-badge/style.module.css +0 -0
- /package/{dist/patterns → patterns}/product-logo/product-logo.module.css +0 -0
- /package/{dist/patterns → patterns}/related-content/style.module.css +0 -0
- /package/{dist/styles → styles}/mixins/button.scss +0 -0
- /package/{dist/styles → styles}/mixins/focus-ring.scss +0 -0
- /package/{dist/utils → utils}/get-contrast-yiq.d.ts +0 -0
- /package/{dist/utils → utils}/hooks/use-screen-size.d.ts +0 -0
- /package/{dist/utils → utils}/index.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/button/index.tsx"],"sourcesContent":["import type { ForwardRefExoticComponent } from 'react'\nimport { forwardRef } from 'react'\nimport classNames from 'classnames'\nimport { Interactive } from '../interactive'\nimport type { FlightIconSize } from '../flight-icon'\nimport { FlightIcon } from '../flight-icon'\nimport s from './styles.module.scss'\n\nexport const BUTTON_SIZES = ['small', 'medium', 'large'] as const\nexport type ButtonSize = (typeof BUTTON_SIZES)[number]\n\nexport const BUTTON_ICON_POSITIONS = ['leading', 'trailing'] as const\nexport type ButtonIconPosition = (typeof BUTTON_ICON_POSITIONS)[number]\n\nexport const BUTTON_COLORS = [\n\t'primary',\n\t'primary-black',\n\t'primary-white',\n\t'secondary', // deprecated; maps to secondary-white\n\t'secondary-high-contrast', // alternates based on theme\n\t'secondary-white',\n\t'secondary-black',\n\t'tertiary',\n\t'critical',\n\t'boundary',\n\t'consul',\n\t'nomad',\n\t'packer',\n\t'terraform',\n\t'vagrant',\n\t'vault',\n\t'waypoint',\n\t'hashicorp', // alias to primary\n] as const\nexport type ButtonColor = (typeof BUTTON_COLORS)[number]\n\n// These are the only “real” colors our legacy button knows about\nconst LEGACY_COLORS = [\n\t'primary',\n\t'secondary',\n\t'tertiary',\n\t'critical',\n\t'custom',\n] as const\ntype LegacyButtonColor = (typeof LEGACY_COLORS)[number]\n\n// map HDS “super-set” colors down to our legacy ones\nconst COLOR_MAP: Record<ButtonColor, LegacyButtonColor> = {\n\tprimary: 'primary',\n\t'primary-black': 'custom',\n\t'primary-white': 'custom',\n\tsecondary: 'custom',\n\t'secondary-high-contrast': 'custom',\n\t'secondary-white': 'custom',\n\t'secondary-black': 'custom',\n\ttertiary: 'tertiary',\n\tcritical: 'critical',\n\tboundary: 'custom',\n\tconsul: 'custom',\n\tnomad: 'custom',\n\tpacker: 'custom',\n\tterraform: 'custom',\n\tvagrant: 'custom',\n\tvault: 'custom',\n\twaypoint: 'custom',\n\thashicorp: 'primary',\n}\n\ninterface ButtonPrimitiveProps {\n\tsize?: ButtonSize\n\tcolor?: LegacyButtonColor\n\tisFullWidth?: boolean\n\tisIconOnly?: boolean\n\ticon?: string\n\ticonPosition?: ButtonIconPosition\n\ttext?: string\n\thref?: string\n\tisHrefExternal?: boolean\n\tonClick?: React.MouseEventHandler<HTMLButtonElement>\n\tclassName?: string\n\tlocale?: string\n\tdisabled?: boolean\n\tautoFocus?: boolean\n\ttype?: 'button' | 'submit' | 'reset'\n}\n\nconst ICON_SIZE_MAP = {\n\tsmall: 12,\n\tmedium: 16,\n\tlarge: 24,\n} as const satisfies Record<'small' | 'medium' | 'large', FlightIconSize>\n\nconst ButtonPrimitive = forwardRef<HTMLButtonElement, ButtonPrimitiveProps>(\n\t(\n\t\t{\n\t\t\tsize = 'medium',\n\t\t\tcolor = 'primary',\n\t\t\tisFullWidth,\n\t\t\tisIconOnly,\n\t\t\ticon,\n\t\t\ticonPosition = 'leading',\n\t\t\ttext,\n\t\t\thref,\n\t\t\tisHrefExternal,\n\t\t\tclassName,\n\t\t\tlocale,\n\t\t\t...rest\n\t\t},\n\t\tref\n\t) => {\n\t\tconst hasIcon = Boolean(icon)\n\t\tconst showIconOnly = isIconOnly && hasIcon\n\n\t\tconst iconElement = icon && (\n\t\t\t<FlightIcon name={icon} size={ICON_SIZE_MAP[size]} />\n\t\t)\n\n\t\treturn (\n\t\t\t<Interactive\n\t\t\t\tclassName={classNames(\n\t\t\t\t\ts.button,\n\t\t\t\t\ts[`size-${size}`],\n\t\t\t\t\t{\n\t\t\t\t\t\t[s['width-full']]: isFullWidth,\n\t\t\t\t\t\t[s['icon-only']]: showIconOnly,\n\t\t\t\t\t},\n\t\t\t\t\tcolor !== 'custom' && s[`color-${color}`],\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\thref={rest.disabled ? '' : href}\n\t\t\t\tisHrefExternal={isHrefExternal}\n\t\t\t\taria-label={showIconOnly ? text : undefined}\n\t\t\t\tlocale={locale}\n\t\t\t\t{...rest}\n\t\t\t\tref={ref}\n\t\t\t>\n\t\t\t\t{showIconOnly && icon ? (\n\t\t\t\t\ticonElement\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{icon && iconPosition === 'leading' && iconElement}\n\t\t\t\t\t\t<div className={s.text}>{text}</div>\n\t\t\t\t\t\t{icon && iconPosition === 'trailing' && iconElement}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Interactive>\n\t\t)\n\t}\n)\nButtonPrimitive.displayName = 'ButtonPrimitive'\n\nexport interface ButtonProps extends Omit<ButtonPrimitiveProps, 'color'> {\n\tcolor?: ButtonColor\n}\n\nexport const Button = forwardRef<\n\tHTMLAnchorElement | HTMLButtonElement,\n\tButtonProps\n>(({ color = 'primary', className, ...rest }, ref) => {\n\tconst legacyColor = COLOR_MAP[color]\n\n\tconst remappedColors: Partial<Record<ButtonColor, ButtonColor>> = {\n\t\thashicorp: 'primary',\n\t\tsecondary: 'secondary-white',\n\t}\n\n\tconst customClass =\n\t\tlegacyColor === 'custom'\n\t\t\t? s[`color-${remappedColors[color] ?? color}`]\n\t\t\t: undefined\n\n\treturn (\n\t\t<ButtonPrimitive\n\t\t\t{...rest}\n\t\t\tcolor={legacyColor}\n\t\t\tclassName={classNames(customClass, className)}\n\t\t\tref={ref as ForwardRefExoticComponent<HTMLButtonElement>}\n\t\t/>\n\t)\n})\n\nButton.displayName = 'Button'\n"],"names":["BUTTON_SIZES","BUTTON_ICON_POSITIONS","BUTTON_COLORS","COLOR_MAP","ICON_SIZE_MAP","ButtonPrimitive","forwardRef","size","color","isFullWidth","isIconOnly","icon","iconPosition","text","href","isHrefExternal","className","locale","rest","ref","showIconOnly","iconElement","jsx","FlightIcon","Interactive","classNames","s","jsxs","Fragment","Button","legacyColor","customClass"],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
const o = "button__gOWvd", r = "text__KbKvH", c = {
|
|
2
|
-
button: o,
|
|
3
|
-
"width-full": "width-full__juTUO",
|
|
4
|
-
text: r,
|
|
5
|
-
"color-primary": "color-primary__rWbwp",
|
|
6
|
-
"color-secondary": "color-secondary__-5Q4d",
|
|
7
|
-
"color-tertiary": "color-tertiary__rw4Ww",
|
|
8
|
-
"color-critical": "color-critical__-8hXs",
|
|
9
|
-
"color-primary-white": "color-primary-white__2JDoz",
|
|
10
|
-
"color-primary-black": "color-primary-black__zTF4n",
|
|
11
|
-
"color-secondary-white": "color-secondary-white__AseI0",
|
|
12
|
-
"color-secondary-black": "color-secondary-black__b-umt",
|
|
13
|
-
"color-secondary-high-contrast": "color-secondary-high-contrast__3bxg3",
|
|
14
|
-
"color-boundary": "color-boundary__xJtzy",
|
|
15
|
-
"color-consul": "color-consul__5lFsa",
|
|
16
|
-
"color-nomad": "color-nomad__HGWXf",
|
|
17
|
-
"color-packer": "color-packer__vbRu0",
|
|
18
|
-
"color-terraform": "color-terraform__DQMD5",
|
|
19
|
-
"color-vagrant": "color-vagrant__iNokw",
|
|
20
|
-
"color-vault": "color-vault__Q6Qbm",
|
|
21
|
-
"color-waypoint": "color-waypoint__8j-Oi",
|
|
22
|
-
"size-small": "size-small__kT0Jp",
|
|
23
|
-
"icon-only": "icon-only__5c-is",
|
|
24
|
-
"size-medium": "size-medium__HxMcm",
|
|
25
|
-
"size-large": "size-large__MEpK3"
|
|
26
|
-
};
|
|
27
|
-
export {
|
|
28
|
-
o as button,
|
|
29
|
-
c as default,
|
|
30
|
-
r as text
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=styles.module.scss.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"card-thumbnail.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as e } from "react/jsx-runtime";
|
|
3
|
-
import { useMDSImage as l } from "../../../utils/mds-context/index.js";
|
|
4
|
-
import o from "./card-thumbnail.module.css.js";
|
|
5
|
-
const u = ({
|
|
6
|
-
alt: r,
|
|
7
|
-
aspectRatio: m,
|
|
8
|
-
src: t
|
|
9
|
-
}) => {
|
|
10
|
-
const i = l();
|
|
11
|
-
return t ? /* @__PURE__ */ e(
|
|
12
|
-
"div",
|
|
13
|
-
{
|
|
14
|
-
className: o.thumbnail,
|
|
15
|
-
style: { "--aspect-ratio": m },
|
|
16
|
-
children: /* @__PURE__ */ e(i, { fill: !0, alt: r, src: t })
|
|
17
|
-
}
|
|
18
|
-
) : null;
|
|
19
|
-
};
|
|
20
|
-
export {
|
|
21
|
-
u as CardThumbnail
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/card/card-thumbnail/index.tsx"],"sourcesContent":["'use client'\n\nimport { useMDSImage } from '../../../utils/mds-context'\nimport type { CardThumbnailProps } from '../types'\nimport s from './card-thumbnail.module.css'\n\nexport const CardThumbnail = ({\n\talt,\n\taspectRatio,\n\tsrc,\n}: CardThumbnailProps) => {\n\tconst Image = useMDSImage()\n\treturn src ? (\n\t\t<div\n\t\t\tclassName={s.thumbnail}\n\t\t\tstyle={{ ['--aspect-ratio' as string]: aspectRatio }}\n\t\t>\n\t\t\t<Image fill alt={alt} src={src} />\n\t\t</div>\n\t) : null\n}\n"],"names":["CardThumbnail","alt","aspectRatio","src","Image","useMDSImage","jsx","s"],"mappings":";;;;AAM8B,MAC7BA,IAAA,CAAA;AAAA,EACA,KAAAC;AAAA,EACA,aAAAC;AAAA,EACD,KAAAC;AACC,MAAA;AACA,QAAAC,IAAOC,EAAA;AACN,SAACF,IAAA,gBAAAG;AAAA,IAAA;AAAA,IAAA;AAAA,MAEA,WAAUC,EAAA;AAAA,MAEV,OAAA,EAAA,kBAAAL,EAAO;AAAA,MAAyB,UAAA,gBAAAI,EAAAF,GAAA,EAAA,MAAA,IAAA,KAAAH,GAAA,KAAAE,EAAA,CAAA;AAAA;EAGnC,IAAA;;"}
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsxs as d, jsx as a, Fragment as v } from "react/jsx-runtime";
|
|
3
|
-
import { forwardRef as x } from "react";
|
|
4
|
-
import { CardThumbnail as k } from "./card-thumbnail/index.js";
|
|
5
|
-
import { useMDSLink as A } from "../../utils/mds-context/index.js";
|
|
6
|
-
import { Text as c } from "../text/index.js";
|
|
7
|
-
import g from "classnames";
|
|
8
|
-
import { Badge as E } from "../badge/index.js";
|
|
9
|
-
import { StandaloneLink as u } from "../standalone-link/index.js";
|
|
10
|
-
import { IconArrowRight24 as L } from "@hashicorp/flight-icons/svg-react/arrow-right-24";
|
|
11
|
-
import e from "./styles.module.css.js";
|
|
12
|
-
const f = x(
|
|
13
|
-
({
|
|
14
|
-
children: r,
|
|
15
|
-
className: o,
|
|
16
|
-
content: i,
|
|
17
|
-
ctaLabel: t,
|
|
18
|
-
href: n,
|
|
19
|
-
standaloneLink: l,
|
|
20
|
-
isExternal: s,
|
|
21
|
-
onClickCapture: m,
|
|
22
|
-
"aria-label": C
|
|
23
|
-
}, b) => {
|
|
24
|
-
const w = A(), p = n && !t, N = s ? { target: "_blank", rel: "noopener noreferrer" } : {};
|
|
25
|
-
return /* @__PURE__ */ d(
|
|
26
|
-
"div",
|
|
27
|
-
{
|
|
28
|
-
ref: b,
|
|
29
|
-
className: g(
|
|
30
|
-
e.card,
|
|
31
|
-
{ [e.interactive]: p },
|
|
32
|
-
o
|
|
33
|
-
),
|
|
34
|
-
children: [
|
|
35
|
-
p && /* @__PURE__ */ a(
|
|
36
|
-
w,
|
|
37
|
-
{
|
|
38
|
-
href: n,
|
|
39
|
-
className: e.link,
|
|
40
|
-
draggable: "false",
|
|
41
|
-
onClickCapture: m,
|
|
42
|
-
"aria-label": C,
|
|
43
|
-
...N
|
|
44
|
-
}
|
|
45
|
-
),
|
|
46
|
-
i && /* @__PURE__ */ a(
|
|
47
|
-
P,
|
|
48
|
-
{
|
|
49
|
-
badges: i.badges,
|
|
50
|
-
description: i.description,
|
|
51
|
-
eyebrow: i.eyebrow,
|
|
52
|
-
heading: i.heading,
|
|
53
|
-
subheading: i.subheading,
|
|
54
|
-
thumbnail: i.thumbnail,
|
|
55
|
-
showArrow: i.showArrow && !!p,
|
|
56
|
-
cta: {
|
|
57
|
-
ctaLabel: t,
|
|
58
|
-
href: n,
|
|
59
|
-
standaloneLink: l,
|
|
60
|
-
onClickCapture: m,
|
|
61
|
-
isExternal: s
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
),
|
|
65
|
-
r,
|
|
66
|
-
r && /* @__PURE__ */ a(
|
|
67
|
-
h,
|
|
68
|
-
{
|
|
69
|
-
ctaLabel: t,
|
|
70
|
-
href: n,
|
|
71
|
-
standaloneLink: l,
|
|
72
|
-
onClickCapture: m,
|
|
73
|
-
isExternal: s
|
|
74
|
-
}
|
|
75
|
-
)
|
|
76
|
-
]
|
|
77
|
-
}
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
);
|
|
81
|
-
f.displayName = "Card";
|
|
82
|
-
const P = ({
|
|
83
|
-
badges: r,
|
|
84
|
-
description: o,
|
|
85
|
-
eyebrow: i,
|
|
86
|
-
heading: t,
|
|
87
|
-
thumbnail: n,
|
|
88
|
-
subheading: l,
|
|
89
|
-
cta: s,
|
|
90
|
-
showArrow: m
|
|
91
|
-
}) => /* @__PURE__ */ d("div", { className: g(e.content, { [e["has-thumbnail"]]: n }), children: [
|
|
92
|
-
n && /* @__PURE__ */ a(k, { ...n }),
|
|
93
|
-
/* @__PURE__ */ d("div", { className: e.contentLockup, children: [
|
|
94
|
-
/* @__PURE__ */ a(B, { children: i }),
|
|
95
|
-
/* @__PURE__ */ a(z, { children: t }),
|
|
96
|
-
/* @__PURE__ */ a(D, { children: l }),
|
|
97
|
-
/* @__PURE__ */ a(T, { children: o }),
|
|
98
|
-
/* @__PURE__ */ a(j, { badges: r }),
|
|
99
|
-
s && /* @__PURE__ */ a(
|
|
100
|
-
h,
|
|
101
|
-
{
|
|
102
|
-
ctaLabel: s.ctaLabel,
|
|
103
|
-
href: s.href,
|
|
104
|
-
standaloneLink: s.standaloneLink,
|
|
105
|
-
isExternal: s.isExternal,
|
|
106
|
-
onClickCapture: s.onClickCapture
|
|
107
|
-
}
|
|
108
|
-
),
|
|
109
|
-
m ? /* @__PURE__ */ a("div", { className: e.arrow, children: /* @__PURE__ */ a(L, {}) }) : null
|
|
110
|
-
] })
|
|
111
|
-
] }), h = ({
|
|
112
|
-
href: r,
|
|
113
|
-
ctaLabel: o,
|
|
114
|
-
standaloneLink: i,
|
|
115
|
-
isExternal: t,
|
|
116
|
-
onClickCapture: n
|
|
117
|
-
}) => {
|
|
118
|
-
const l = r && !o;
|
|
119
|
-
if (i) {
|
|
120
|
-
const s = {
|
|
121
|
-
...i,
|
|
122
|
-
icon: i.icon || "chevron-right",
|
|
123
|
-
iconPosition: i.iconPosition || "trailing"
|
|
124
|
-
};
|
|
125
|
-
return /* @__PURE__ */ a(u, { className: e.cta, ...s });
|
|
126
|
-
}
|
|
127
|
-
return r && !l && o ? /* @__PURE__ */ a(
|
|
128
|
-
u,
|
|
129
|
-
{
|
|
130
|
-
className: e.cta,
|
|
131
|
-
text: o,
|
|
132
|
-
href: r,
|
|
133
|
-
icon: "chevron-right",
|
|
134
|
-
iconPosition: "trailing",
|
|
135
|
-
color: "secondary",
|
|
136
|
-
onClickCapture: n,
|
|
137
|
-
isHrefExternal: t
|
|
138
|
-
}
|
|
139
|
-
) : null;
|
|
140
|
-
}, B = ({ children: r }) => r ? Array.isArray(r) ? /* @__PURE__ */ a(S, { items: Array.from(r) }) : /* @__PURE__ */ a(y, { children: r }) : null, S = ({ items: r }) => /* @__PURE__ */ a("ul", { className: e.meta, children: r.map((o, i) => /* @__PURE__ */ d("li", { children: [
|
|
141
|
-
/* @__PURE__ */ a(y, { children: o }),
|
|
142
|
-
i < r.length - 1 ? /* @__PURE__ */ a("span", { className: e.metaSeparator, "aria-hidden": !0, children: "|" }) : null
|
|
143
|
-
] }, o)) }), y = ({ children: r }) => r ? /* @__PURE__ */ a(c.Label, { color: "faint", weight: "medium", children: r }) : null, z = ({ children: r }) => r ? /* @__PURE__ */ a(
|
|
144
|
-
c.DisplayExpressive,
|
|
145
|
-
{
|
|
146
|
-
tag: "span",
|
|
147
|
-
size: "200",
|
|
148
|
-
weight: "semibold",
|
|
149
|
-
color: "strong",
|
|
150
|
-
children: r
|
|
151
|
-
}
|
|
152
|
-
) : null, D = ({ children: r }) => r ? /* @__PURE__ */ a(c.Body, { tag: "span", size: "200", className: e.subheading, color: "primary", children: r }) : null, T = ({ children: r }) => r ? typeof r == "string" ? /* @__PURE__ */ a(c.Body, { tag: "span", size: "200", color: "primary", children: r }) : /* @__PURE__ */ a(v, { children: r }) : null, j = ({ badges: r }) => r && r.length > 0 ? /* @__PURE__ */ a("div", { className: e.badges, children: r.map((o) => /* @__PURE__ */ a(E, { ...o }, o.text)) }) : null;
|
|
153
|
-
f.displayName = "Card";
|
|
154
|
-
export {
|
|
155
|
-
f as Card
|
|
156
|
-
};
|
|
157
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/card/index.tsx"],"sourcesContent":["'use client'\n\nimport { forwardRef, type PropsWithChildren } from 'react'\nimport type { CardContentProps, CardProps, CardCtaProps } from './types'\nimport { CardThumbnail } from './card-thumbnail'\nimport { useMDSLink } from '../../utils/mds-context'\nimport { Text } from '../text'\nimport classNames from 'classnames'\nimport { Badge } from '../badge'\nimport { StandaloneLink } from '../standalone-link'\nimport { IconArrowRight24 } from '@hashicorp/flight-icons/svg-react/arrow-right-24'\nimport s from './styles.module.css'\n\nconst Card = forwardRef<HTMLDivElement, CardProps>(\n\t(\n\t\t{\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tcontent,\n\t\t\tctaLabel,\n\t\t\thref,\n\t\t\tstandaloneLink,\n\t\t\tisExternal,\n\t\t\tonClickCapture,\n\t\t\t'aria-label': ariaLabel,\n\t\t},\n\t\tref\n\t) => {\n\t\tconst Link = useMDSLink()\n\n\t\tconst isCardLink = href && !ctaLabel\n\n\t\tconst linkProps = isExternal\n\t\t\t? { target: '_blank', rel: 'noopener noreferrer' }\n\t\t\t: {}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\ts.card,\n\t\t\t\t\t{ [s.interactive]: isCardLink },\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{isCardLink && (\n\t\t\t\t\t<Link\n\t\t\t\t\t\thref={href}\n\t\t\t\t\t\tclassName={s.link}\n\t\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t\t\tonClickCapture={onClickCapture}\n\t\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\t\t{...linkProps}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{content && (\n\t\t\t\t\t<CardContent\n\t\t\t\t\t\tbadges={content.badges}\n\t\t\t\t\t\tdescription={content.description}\n\t\t\t\t\t\teyebrow={content.eyebrow}\n\t\t\t\t\t\theading={content.heading}\n\t\t\t\t\t\tsubheading={content.subheading}\n\t\t\t\t\t\tthumbnail={content.thumbnail}\n\t\t\t\t\t\tshowArrow={content.showArrow && !!isCardLink}\n\t\t\t\t\t\tcta={{\n\t\t\t\t\t\t\tctaLabel,\n\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\tstandaloneLink,\n\t\t\t\t\t\t\tonClickCapture,\n\t\t\t\t\t\t\tisExternal,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t\t{children && (\n\t\t\t\t\t<CardCta\n\t\t\t\t\t\tctaLabel={ctaLabel}\n\t\t\t\t\t\thref={href}\n\t\t\t\t\t\tstandaloneLink={standaloneLink}\n\t\t\t\t\t\tonClickCapture={onClickCapture}\n\t\t\t\t\t\tisExternal={isExternal}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t)\n\t}\n)\n\nCard.displayName = 'Card'\n\nconst CardContent = ({\n\tbadges,\n\tdescription,\n\teyebrow,\n\theading,\n\tthumbnail,\n\tsubheading,\n\tcta,\n\tshowArrow,\n}: CardContentProps) => {\n\treturn (\n\t\t<div className={classNames(s.content, { [s['has-thumbnail']]: thumbnail })}>\n\t\t\t{thumbnail && <CardThumbnail {...thumbnail} />}\n\t\t\t<div className={s.contentLockup}>\n\t\t\t\t<CardEyebrow>{eyebrow}</CardEyebrow>\n\t\t\t\t<CardHeading>{heading}</CardHeading>\n\t\t\t\t<CardSubheading>{subheading}</CardSubheading>\n\t\t\t\t<CardDescription>{description}</CardDescription>\n\t\t\t\t<Badges badges={badges} />\n\t\t\t\t{cta && (\n\t\t\t\t\t<CardCta\n\t\t\t\t\t\tctaLabel={cta.ctaLabel}\n\t\t\t\t\t\thref={cta.href}\n\t\t\t\t\t\tstandaloneLink={cta.standaloneLink}\n\t\t\t\t\t\tisExternal={cta.isExternal}\n\t\t\t\t\t\tonClickCapture={cta.onClickCapture}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{showArrow ? (\n\t\t\t\t\t<div className={s.arrow}>\n\t\t\t\t\t\t<IconArrowRight24 />\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\nconst CardCta = ({\n\thref,\n\tctaLabel,\n\tstandaloneLink,\n\tisExternal,\n\tonClickCapture,\n}: CardCtaProps) => {\n\tconst isCardLink = href && !ctaLabel\n\n\tif (standaloneLink) {\n\t\tconst standaloneLinkProps = {\n\t\t\t...standaloneLink,\n\t\t\ticon: standaloneLink.icon || 'chevron-right',\n\t\t\ticonPosition: standaloneLink.iconPosition || 'trailing',\n\t\t}\n\n\t\treturn <StandaloneLink className={s.cta} {...standaloneLinkProps} />\n\t}\n\n\tif (href && !isCardLink && ctaLabel) {\n\t\treturn (\n\t\t\t<StandaloneLink\n\t\t\t\tclassName={s.cta}\n\t\t\t\ttext={ctaLabel}\n\t\t\t\thref={href}\n\t\t\t\ticon=\"chevron-right\"\n\t\t\t\ticonPosition=\"trailing\"\n\t\t\t\tcolor=\"secondary\"\n\t\t\t\tonClickCapture={onClickCapture}\n\t\t\t\tisHrefExternal={isExternal}\n\t\t\t/>\n\t\t)\n\t}\n\n\treturn null\n}\n\nconst CardEyebrow = ({ children }: PropsWithChildren) => {\n\tif (!children) {\n\t\treturn null\n\t}\n\n\tif (Array.isArray(children)) {\n\t\treturn <CardEyebrowList items={Array.from(children)} />\n\t}\n\n\treturn <CardEyebrowText>{children}</CardEyebrowText>\n}\n\nconst CardEyebrowList = ({ items }: { items: string[] }) => (\n\t<ul className={s.meta}>\n\t\t{items.map((item, idx) => (\n\t\t\t<li key={item}>\n\t\t\t\t<CardEyebrowText>{item}</CardEyebrowText>\n\t\t\t\t{idx < items.length - 1 ? (\n\t\t\t\t\t<span className={s.metaSeparator} aria-hidden={true}>\n\t\t\t\t\t\t|\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t</li>\n\t\t))}\n\t</ul>\n)\n\nconst CardEyebrowText = ({ children }: PropsWithChildren) =>\n\tchildren ? (\n\t\t<Text.Label color=\"faint\" weight=\"medium\">\n\t\t\t{children}\n\t\t</Text.Label>\n\t) : null\n\nconst CardHeading = ({ children }: PropsWithChildren) =>\n\tchildren ? (\n\t\t<Text.DisplayExpressive\n\t\t\ttag=\"span\"\n\t\t\tsize=\"200\"\n\t\t\tweight=\"semibold\"\n\t\t\tcolor=\"strong\"\n\t\t>\n\t\t\t{children}\n\t\t</Text.DisplayExpressive>\n\t) : null\n\nconst CardSubheading = ({ children }: PropsWithChildren) =>\n\tchildren ? (\n\t\t<Text.Body tag=\"span\" size=\"200\" className={s.subheading} color=\"primary\">\n\t\t\t{children}\n\t\t</Text.Body>\n\t) : null\n\nconst CardDescription = ({ children }: PropsWithChildren) => {\n\tif (!children) {\n\t\treturn null\n\t}\n\n\tif (typeof children === 'string') {\n\t\treturn (\n\t\t\t<Text.Body tag=\"span\" size=\"200\" color=\"primary\">\n\t\t\t\t{children}\n\t\t\t</Text.Body>\n\t\t)\n\t}\n\n\treturn <>{children}</>\n}\n\nconst Badges = ({ badges }: { badges: CardContentProps['badges'] }) =>\n\tbadges && badges.length > 0 ? (\n\t\t<div className={s.badges}>\n\t\t\t{badges.map((badge) => (\n\t\t\t\t<Badge key={badge.text} {...badge} />\n\t\t\t))}\n\t\t</div>\n\t) : null\n\nCard.displayName = 'Card'\nexport { Card }\n"],"names":["Card","forwardRef","children","className","content","ctaLabel","href","standaloneLink","isExternal","onClickCapture","ariaLabel","ref","Link","useMDSLink","isCardLink","jsxs","classNames","s","jsx","linkProps","CardContent","CardCta","badges","description","eyebrow","heading","thumbnail","subheading","cta","showArrow","CardThumbnail","CardEyebrow","CardHeading","CardSubheading","CardDescription","IconArrowRight24","standaloneLinkProps","StandaloneLink","CardEyebrowList","CardEyebrowText","items","item","idx","Text","Fragment","Badges","badge","Badge"],"mappings":"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"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
const t = "card__HomZw", a = "interactive__Irpce", n = "arrow__qnBL7", c = "link__Dz3Nf", e = "cta__UfNG2", o = "content__SiycH", _ = "subheading__MM0J8", s = "contentLockup__08EYi", r = "badges__GrCpe", i = "meta__8eKyE", d = "metaSeparator__44API", m = {
|
|
2
|
-
card: t,
|
|
3
|
-
interactive: a,
|
|
4
|
-
arrow: n,
|
|
5
|
-
link: c,
|
|
6
|
-
cta: e,
|
|
7
|
-
content: o,
|
|
8
|
-
"has-thumbnail": "has-thumbnail__ftF14",
|
|
9
|
-
subheading: _,
|
|
10
|
-
contentLockup: s,
|
|
11
|
-
badges: r,
|
|
12
|
-
meta: i,
|
|
13
|
-
metaSeparator: d
|
|
14
|
-
};
|
|
15
|
-
export {
|
|
16
|
-
n as arrow,
|
|
17
|
-
r as badges,
|
|
18
|
-
t as card,
|
|
19
|
-
o as content,
|
|
20
|
-
s as contentLockup,
|
|
21
|
-
e as cta,
|
|
22
|
-
m as default,
|
|
23
|
-
a as interactive,
|
|
24
|
-
c as link,
|
|
25
|
-
i as meta,
|
|
26
|
-
d as metaSeparator,
|
|
27
|
-
_ as subheading
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=styles.module.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
const e = "dark__aBMo7", n = "token__aGMSy", t = "title__nX-Ny", i = "description__-44hG", _ = "header__42Fek", a = "body__pLFmP", l = "code__J06se", o = {
|
|
2
|
-
"code-block": "code-block__dOm6M",
|
|
3
|
-
"line-highlight": "line-highlight__a84m6",
|
|
4
|
-
dark: e,
|
|
5
|
-
"language-css": "language-css__8iYaN",
|
|
6
|
-
token: n,
|
|
7
|
-
"language-javascript": "language-javascript__EWK5u",
|
|
8
|
-
"language-markup": "language-markup__E7NSA",
|
|
9
|
-
"language-html": "language-html__rLwMK",
|
|
10
|
-
"is-standalone": "is-standalone__WLWxy",
|
|
11
|
-
title: t,
|
|
12
|
-
description: i,
|
|
13
|
-
header: _,
|
|
14
|
-
body: a,
|
|
15
|
-
code: l,
|
|
16
|
-
"copy-button": "copy-button__nMsTD",
|
|
17
|
-
"line-highlight-first": "line-highlight-first__OMDUP",
|
|
18
|
-
"line-highlight-last": "line-highlight-last__qC6nm",
|
|
19
|
-
"line-numbers": "line-numbers__a9m-I",
|
|
20
|
-
"line-numbers-rows": "line-numbers-rows__MjGTO",
|
|
21
|
-
"line-of-code": "line-of-code__mDztA",
|
|
22
|
-
"line-number": "line-number__-g7V-"
|
|
23
|
-
};
|
|
24
|
-
export {
|
|
25
|
-
a as body,
|
|
26
|
-
l as code,
|
|
27
|
-
e as dark,
|
|
28
|
-
o as default,
|
|
29
|
-
i as description,
|
|
30
|
-
_ as header,
|
|
31
|
-
t as title,
|
|
32
|
-
n as token
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=code-block.module.scss.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-block.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsxs as c, Fragment as L, jsx as e } from "react/jsx-runtime";
|
|
3
|
-
import { useMemo as d } from "react";
|
|
4
|
-
import u from "classnames";
|
|
5
|
-
import G from "../utils/parse-highlighted-lines.js";
|
|
6
|
-
import N from "./utils/split-jsx-into-lines.js";
|
|
7
|
-
import b from "./utils/split-html-into-lines.js";
|
|
8
|
-
import h from "../code-block.module.scss.js";
|
|
9
|
-
const S = ({
|
|
10
|
-
value: n,
|
|
11
|
-
hasLineNumbers: I,
|
|
12
|
-
highlightLines: f
|
|
13
|
-
}) => {
|
|
14
|
-
const o = G(f), m = d(() => (typeof n == "string" ? b(n) : N(n)).map((g, l) => {
|
|
15
|
-
const t = l + 1, s = o.indexOf(t) !== -1;
|
|
16
|
-
return { children: g, highlight: s };
|
|
17
|
-
}).map(({ highlight: g, ...l }, t, s) => {
|
|
18
|
-
const p = t === 0 ? null : s[t - 1], a = t === s.length - 1 ? null : s[t + 1];
|
|
19
|
-
return {
|
|
20
|
-
...l,
|
|
21
|
-
highlight: g,
|
|
22
|
-
highlightIsFirstInGroup: !p || !p.highlight,
|
|
23
|
-
highlightIsLastInGroup: !a || !a.highlight
|
|
24
|
-
};
|
|
25
|
-
}), [n, o]);
|
|
26
|
-
return /* @__PURE__ */ c(L, { children: [
|
|
27
|
-
I ? /* @__PURE__ */ e("span", { "aria-hidden": "true", className: h["line-numbers-rows"], children: m.map((i, r) => /* @__PURE__ */ e(
|
|
28
|
-
"span",
|
|
29
|
-
{
|
|
30
|
-
className: u(h["line-number"], {
|
|
31
|
-
[h["line-highlight"]]: i.highlight,
|
|
32
|
-
[h["line-highlight-first"]]: i.highlightIsFirstInGroup,
|
|
33
|
-
[h["line-highlight-last"]]: i.highlightIsLastInGroup
|
|
34
|
-
})
|
|
35
|
-
},
|
|
36
|
-
r
|
|
37
|
-
)) }) : null,
|
|
38
|
-
/* @__PURE__ */ e("span", { children: m.map((i, r) => /* @__PURE__ */ c(
|
|
39
|
-
"span",
|
|
40
|
-
{
|
|
41
|
-
className: u(h["line-of-code"], {
|
|
42
|
-
[h["line-highlight"]]: i.highlight,
|
|
43
|
-
[h["line-highlight-first"]]: i.highlightIsFirstInGroup,
|
|
44
|
-
[h["line-highlight-last"]]: i.highlightIsLastInGroup
|
|
45
|
-
}),
|
|
46
|
-
children: [
|
|
47
|
-
i.children,
|
|
48
|
-
`
|
|
49
|
-
`
|
|
50
|
-
]
|
|
51
|
-
},
|
|
52
|
-
r
|
|
53
|
-
)) })
|
|
54
|
-
] });
|
|
55
|
-
};
|
|
56
|
-
export {
|
|
57
|
-
S as CodeLines
|
|
58
|
-
};
|
|
59
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/code-block/code-lines/index.tsx"],"sourcesContent":["'use client'\n\n/**\n * Note: lines of code are expected to be stable. If we need to work with\n * dynamic code blocks in the future, we could assign random unique IDs\n * to each line during the `linesOfCode` `useMemo` function.\n *\n * For now, we disable react/no-array-index key for the entire file.\n */\n/* eslint-disable react/no-array-index-key */\n\nimport { useMemo, type ReactNode } from 'react'\nimport classNames from 'classnames'\nimport parseHighlightedLines from '../utils/parse-highlighted-lines'\nimport splitJsxIntoLines from './utils/split-jsx-into-lines'\nimport splitHtmlIntoLines from './utils/split-html-into-lines'\nimport s from '../code-block.module.scss'\n\ninterface CodeLinesProps {\n\tvalue: ReactNode\n\thasLineNumbers?: boolean\n\thighlightLines?: string\n}\n\n/**\n * Render the provided code into separate line elements,\n * accounting for all provided options.\n */\nconst CodeLines = ({\n\tvalue,\n\thasLineNumbers: lineNumbers,\n\thighlightLines: highlight,\n}: CodeLinesProps) => {\n\t// Parse out an array of integers representing which lines to highlight\n\tconst highlightedLines = parseHighlightedLines(highlight) as number[]\n\n\t/**\n\t * Split the incoming code into lines.\n\t * We need to do this in order to render each line of code in a\n\t * separate element, which is necessary for features such as highlighting\n\t * specific lines and allowing code to wrap.\n\t */\n\tconst linesOfCode = useMemo(() => {\n\t\tconst isHtmlString = typeof value === 'string'\n\t\tconst lineElements = isHtmlString\n\t\t\t? splitHtmlIntoLines(value)\n\t\t\t: splitJsxIntoLines(value)\n\t\treturn lineElements\n\t\t\t.map((children, index) => {\n\t\t\t\tconst number = index + 1\n\t\t\t\tconst highlight = highlightedLines.indexOf(number) !== -1\n\t\t\t\treturn { children, highlight }\n\t\t\t})\n\t\t\t.map(({ highlight, ...rest }, index, lines) => {\n\t\t\t\t// Add properties to help with highlighting adjacent lines of code,\n\t\t\t\t// in which case we want to apply a border to the first and last lines,\n\t\t\t\t// but not the lines in the middle of the group.\n\t\t\t\tconst prevLine = index === 0 ? null : lines[index - 1]\n\t\t\t\tconst nextLine = index === lines.length - 1 ? null : lines[index + 1]\n\t\t\t\treturn {\n\t\t\t\t\t...rest,\n\t\t\t\t\thighlight,\n\t\t\t\t\thighlightIsFirstInGroup: !prevLine || !prevLine.highlight,\n\t\t\t\t\thighlightIsLastInGroup: !nextLine || !nextLine.highlight,\n\t\t\t\t}\n\t\t\t})\n\t}, [value, highlightedLines])\n\n\t/**\n\t * For overflowing code, we use a two-column layout.\n\t * The first column contains line numbers, and is effectively fixed.\n\t * The second column contains the lines themselves, and is an overflow\n\t * container to allow extra long lines to scroll as needed.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{lineNumbers ? (\n\t\t\t\t<span aria-hidden=\"true\" className={s['line-numbers-rows']}>\n\t\t\t\t\t{linesOfCode.map((line, idx) => (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tkey={idx}\n\t\t\t\t\t\t\tclassName={classNames(s['line-number'], {\n\t\t\t\t\t\t\t\t[s['line-highlight']]: line.highlight,\n\t\t\t\t\t\t\t\t[s['line-highlight-first']]: line.highlightIsFirstInGroup,\n\t\t\t\t\t\t\t\t[s['line-highlight-last']]: line.highlightIsLastInGroup,\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</span>\n\t\t\t) : null}\n\t\t\t<span>\n\t\t\t\t{linesOfCode.map((line, idx) => (\n\t\t\t\t\t<span\n\t\t\t\t\t\tkey={idx}\n\t\t\t\t\t\tclassName={classNames(s['line-of-code'], {\n\t\t\t\t\t\t\t[s['line-highlight']]: line.highlight,\n\t\t\t\t\t\t\t[s['line-highlight-first']]: line.highlightIsFirstInGroup,\n\t\t\t\t\t\t\t[s['line-highlight-last']]: line.highlightIsLastInGroup,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t{line.children}\n\t\t\t\t\t\t{/* We are _not_ rendering our lines as block elements, so we need\n\t\t\t\t\t\t to add a trailing newline to all lines. As well, trailing\n\t\t\t\t\t\t\t\tnewlines are necessary for some browsers (FireFox)\n\t\t\t\t\t\t to preserve whitespace during select-and-copy of code */}\n\t\t\t\t\t\t{'\\n'}\n\t\t\t\t\t</span>\n\t\t\t\t))}\n\t\t\t</span>\n\t\t</>\n\t)\n}\n\nexport { CodeLines }\n"],"names":["CodeLines","value","lineNumbers","highlight","highlightedLines","parseHighlightedLines","useMemo","splitHtmlIntoLines","splitJsxIntoLines","children","index","number","highlight2","rest","prevLine","lines","nextLine","jsxs","Fragment","jsx","s","linesOfCode","line","idx","classNames"],"mappings":";;;;;;;;AA4BmB,MAClBA,IAAA,CAAA;AAAA,EACA,OAAAC;AAAA,EACA,gBAAgBC;AAAA,EACjB,gBAAsBC;AAErB;AAQA,QAAMC,IAAcC,EAAcF,CAAA,OAC3BG,EAAe,OACA,OAAAL,KAClB,WAGcM,EAAUN,CAAA,IAAAO,EAAAP,CAAA,GACV,KAAQQ,GAAAC,MAAA;AACvB,UAAMP,IAAAA,IAAY,OACCC,UAAUO,CAAA,MAAA;AAC7B,aACO,UAAAF,GAAAN,WAAAA;EAIP,CAAA,EAAA,IAAA,CAAM,EAAA,WAAWS,GAAc,GAAAC,EAAO,GAAAH,SAAe;AACrD,UAAMI,IAAWJ,MAAU,IAAA,OAAMK,MAAa,CAAO,GACrDC,IAAON,MAAAK,EAAA,SAAA,IAAA,OAAAA,EAAAL,IAAA,CAAA;AAAA,WACH;AAAA,MACH,GAAAG;AAAA,MACA,WAAAD;AAAA,MACA,yBAAyB,MAAa,GAAS;AAAA,MAChD,wBAAA,CAAAI,KAAA,CAAAA,EAAA;AAAA,IACA;AAAA,EACH,CAAG,QASF,CAAA;AACE,SAAA,gBAAAC,EAAAC,GACC,EAAA,UAAK;AAAA,IAEJhB,IAAC,gBAAAiB,EAAA,QAAA,EAAA,eAAA,QAAA,WAAAC,EAAA,mBAAA,GAAA,UAAAC,EAAA,IAAA,CAAAC,GAAAC,MAAA,gBAAAJ;AAAA,MAAA;AAAA,MAAA;AAAA,QAEwC,WACpCK,EAAiBJ,EAAA,aAAQ,GAAA;AAAA,UAC5B,CAACA,EAAE,gBAAA,CAAA,GAAAE,EAAuB;AAAA,UAC1B,CAACF,EAAE,sBAAsB,CAAA,KAAQ;AAAA,UACjC,CAAAA,EAAA,qBAAA,CAAA,GAAAE,EAAA;AAAA,QAAA,CAAA;AAAA,MALI;AAAA;IASL,CAAA,EAAA,CAAA,IAAA;AAAA,IAGD,gBAAAH,EAAA,QAAA,EAAA,UAAAE,EAAA,IAAA,CAAAC,GAAAC,MAAA,gBAAAN;AAAA,MAAA;AAAA,MAAA;AAAA,QAEyC,WACrCO,EAAiBJ,EAAA,cAAQ,GAAA;AAAA,UAC5B,CAACA,EAAE,gBAAA,CAAA,GAAAE,EAAuB;AAAA,UAC1B,CAACF,EAAE,sBAAsB,CAAA,KAAQ;AAAA,UACjC,CAAAA,EAAA,qBAAA,CAAA,GAAAE,EAAA;AAAA,QAEA;QAAA,UAAK;AAAA,UAKLA,EAAA;AAAA,UAAA;AAAA;AAAA,QAAA;AAAA,MAZI;AAAA,MAcNC;AAAA,KAEH,EAAA,CAAA;AAAA,EAEF,EAAA,CAAA;;"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
const r = '<span class="line"></span>';
|
|
3
|
-
function p(t) {
|
|
4
|
-
const s = t.split(`
|
|
5
|
-
`);
|
|
6
|
-
return s.map((n, i) => i == s.length - 1 && n == "" ? null : /* @__PURE__ */ e(
|
|
7
|
-
"span",
|
|
8
|
-
{
|
|
9
|
-
dangerouslySetInnerHTML: {
|
|
10
|
-
__html: n === "" || n === r ? " " : n
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
i
|
|
14
|
-
));
|
|
15
|
-
}
|
|
16
|
-
export {
|
|
17
|
-
p as default
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=split-html-into-lines.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"split-html-into-lines.js","sources":["../../../../../src/components/code-block/code-lines/utils/split-html-into-lines.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\n\nconst SHIKI_BLANK_LINE = '<span class=\"line\"></span>'\n/**\n * Given a string of HTML, split it on newlines,\n * and return an array of React <span> elements,\n * each of which will contain a single line.\n *\n * Note that HTML tokens should not be multi-line,\n * ie, all newline characters should be surfaced\n * to the top level rather than nested in syntax\n * highlighting tokens (otherwise the line-by-line\n * markup we render would be invalid). We have\n * a rehype plugin we use with our highlightString()\n * utility to ensure newlines are surfaced in this way.\n *\n * @param {string} codeHtml String of HTML\n * @returns Array of JSX <span> elements\n */\nfunction splitHtmlIntoLines(codeHtml: string): (ReactNode | null)[] {\n\tconst lineParts = codeHtml.split('\\n')\n\treturn lineParts.map((lineHtml, stableIdx) => {\n\t\t// Cut trailing newlines\n\t\tconst isLastLine = stableIdx == lineParts.length - 1\n\t\tconst isTrailingNewline = isLastLine && lineHtml == ''\n\t\tif (isTrailingNewline) return null\n\t\t// Otherwise, render the line\n\t\treturn (\n\t\t\t<span\n\t\t\t\t// This array is stable, so we can use index as key\n\t\t\t\t// eslint-disable-next-line react/no-array-index-key\n\t\t\t\tkey={stableIdx}\n\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t__html:\n\t\t\t\t\t\tlineHtml === '' || lineHtml === SHIKI_BLANK_LINE\n\t\t\t\t\t\t\t? ' '\n\t\t\t\t\t\t\t: lineHtml,\n\t\t\t\t}}\n\t\t\t/>\n\t\t)\n\t})\n}\n\nexport default splitHtmlIntoLines\n"],"names":["SHIKI_BLANK_LINE","splitHtmlIntoLines","codeHtml","lineParts","lineHtml","stableIdx","jsx"],"mappings":";AAEA,MAAMA,IAAmB;AAiBzB,SAASC,EAAmBC,GAAwC;AACnE,QAAMC,IAAYD,EAAS,MAAM;AAAA,CAAI;AACrC,SAAOC,EAAU,IAAI,CAACC,GAAUC,MAEZA,KAAaF,EAAU,SAAS,KACXC,KAAY,KACtB,OAG7B,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MAIA,yBAAyB;AAAA,QACxB,QACCF,MAAa,MAAMA,MAAaJ,IAC7B,WACAI;AAAA,MAAA;AAAA,IACL;AAAA,IANKC;AAAA,EAAA,CASP;AACF;"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Children as f } from "react";
|
|
2
|
-
function h(u) {
|
|
3
|
-
const i = f.toArray(u).map((e) => typeof e == "object" && "props" in e && e.props.className?.includes("empty-line") ? `
|
|
4
|
-
` : e);
|
|
5
|
-
return i.reduce(
|
|
6
|
-
(e, n, o) => {
|
|
7
|
-
const s = o === i.length - 1, t = n === `
|
|
8
|
-
`, r = n !== `
|
|
9
|
-
`;
|
|
10
|
-
t && e.consecutiveNewlines++;
|
|
11
|
-
const p = t && s, N = e.consecutiveNewlines > 0;
|
|
12
|
-
if ((r || p) && N) {
|
|
13
|
-
e.currentLine.length > 0 && (e.lines.push(e.currentLine), e.currentLine = []);
|
|
14
|
-
for (let l = 1; l < e.consecutiveNewlines; l++)
|
|
15
|
-
e.lines.push("");
|
|
16
|
-
e.consecutiveNewlines = 0;
|
|
17
|
-
}
|
|
18
|
-
return r && (e.currentLine.push(n), s && e.lines.push(e.currentLine)), e;
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
lines: [],
|
|
22
|
-
currentLine: [],
|
|
23
|
-
consecutiveNewlines: 1
|
|
24
|
-
// Start at 1 to handle leading newlines
|
|
25
|
-
}
|
|
26
|
-
).lines;
|
|
27
|
-
}
|
|
28
|
-
export {
|
|
29
|
-
h as default
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=split-jsx-into-lines.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"split-jsx-into-lines.js","sources":["../../../../../src/components/code-block/code-lines/utils/split-jsx-into-lines.ts"],"sourcesContent":["import { Children, type ReactNode } from 'react'\n\n/**\n * Given an array of React children,\n * split the array on newlines, grouping consecutive\n * non-newline tokens in individual line elements,\n * and return an array of React <span> elements,\n * each of which will contain a single line.\n *\n * Note that JSX tokens should not be multi-line,\n * ie, all newline characters should be surfaced\n * to the top level rather than nested in syntax\n * highlighting tokens (otherwise the line-by-line\n * markup we render would be invalid). We have\n * a rehype plugin we include with our markdown defaults\n * to ensure newlines are surfaced in this way.\n *\n * @param {*} codeJsx Array of JSX elements, some of which may be newline strings\n * @returns Array of JSX <span> elements representing individual lines\n */\nfunction splitJsxIntoLines(codeJsx: React.ReactNode | React.ReactNode[]) {\n\tconst linesArray = Children.toArray(codeJsx)\n\t/**\n\t * Many newlines take the form of a literal newline string, `\\n`.\n\t * However, some newlines take different forms. We expect these to be tagged\n\t * with an `empty-line` className by our rehype code plugins.\n\t * Here we detect the latter types of newline, and convert them to the former.\n\t */\n\tconst withNormalizedNewlines = linesArray.map((token) => {\n\t\t// If our token has an `empty-line` className, use a literal newline\n\t\t// rather than the token itself (which would render, but with zero height)\n\t\tif (typeof token === 'object' && 'props' in token) {\n\t\t\tif (token.props.className?.includes('empty-line')) {\n\t\t\t\treturn '\\n'\n\t\t\t}\n\t\t}\n\t\t// Otherwise, return the token unmodified\n\t\treturn token\n\t})\n\t// Filter out any surfaces newlines, that are \"in between\"\n\t// other lines of code. Special exceptions should be made for:\n\t// 1. newlines at start or end of array - should be rendered as blank lines\n\t// 2. consecutive newlines - \"n\" consecutive newlines should be rendered\n\t// as \"n - 1\" blank lines.\n\tconst accumulatedLines = withNormalizedNewlines.reduce(\n\t\t(acc, token, idx) => {\n\t\t\tconst isLastLine = idx === withNormalizedNewlines.length - 1\n\t\t\tconst isNewline = token === '\\n'\n\t\t\tconst isInlineToken = token !== '\\n'\n\t\t\t// For newlines, increment the consecutive newline counter\n\t\t\tif (isNewline) acc.consecutiveNewlines++\n\t\t\t// If this token is an inline token, and we have\n\t\t\t// pending newlines, then start a new line,\n\t\t\t// adding blank lines for consecutive newlines as needed\n\t\t\tconst isFinalNewline = isNewline && isLastLine\n\t\t\tconst hasNewlines = acc.consecutiveNewlines > 0\n\t\t\tconst needsNewlines = (isInlineToken || isFinalNewline) && hasNewlines\n\t\t\tif (needsNewlines) {\n\t\t\t\t// If there are any tokens in the current line, add them as a new line\n\t\t\t\tif (acc.currentLine.length > 0) {\n\t\t\t\t\tacc.lines.push(acc.currentLine)\n\t\t\t\t\tacc.currentLine = []\n\t\t\t\t}\n\t\t\t\t// Add blank lines for each consecutive newline, then reset the counter\n\t\t\t\tfor (let i = 1; i < acc.consecutiveNewlines; i++) {\n\t\t\t\t\tacc.lines.push('')\n\t\t\t\t}\n\t\t\t\tacc.consecutiveNewlines = 0\n\t\t\t}\n\t\t\t// If this token is an inline token,\n\t\t\t// append it to the current line\n\t\t\tif (isInlineToken) {\n\t\t\t\tacc.currentLine.push(token)\n\t\t\t\t// If this is the last line,\n\t\t\t\t// then ensure the current line\n\t\t\t\t// has been pushed to the lines array\n\t\t\t\tif (isLastLine) acc.lines.push(acc.currentLine)\n\t\t\t}\n\t\t\treturn acc\n\t\t},\n\t\t{\n\t\t\tlines: [] as ReactNode[],\n\t\t\tcurrentLine: [] as ReactNode[],\n\t\t\tconsecutiveNewlines: 1, // Start at 1 to handle leading newlines\n\t\t}\n\t)\n\treturn accumulatedLines.lines\n}\n\nexport default splitJsxIntoLines\n"],"names":["splitJsxIntoLines","codeJsx","withNormalizedNewlines","Children","token","acc","idx","isLastLine","isNewline","isInlineToken","isFinalNewline","hasNewlines","i"],"mappings":";AAoBA,SAASA,EAAkBC,GAA8C;AAQxE,QAAMC,IAPaC,EAAS,QAAQF,CAAO,EAOD,IAAI,CAACG,MAG1C,OAAOA,KAAU,YAAY,WAAWA,KACvCA,EAAM,MAAM,WAAW,SAAS,YAAY,IACxC;AAAA,IAIFA,CACP;AAgDD,SA1CyBF,EAAuB;AAAA,IAC/C,CAACG,GAAKD,GAAOE,MAAQ;AACpB,YAAMC,IAAaD,MAAQJ,EAAuB,SAAS,GACrDM,IAAYJ,MAAU;AAAA,GACtBK,IAAgBL,MAAU;AAAA;AAEhC,MAAII,KAAWH,EAAI;AAInB,YAAMK,IAAiBF,KAAaD,GAC9BI,IAAcN,EAAI,sBAAsB;AAE9C,WADuBI,KAAiBC,MAAmBC,GACxC;AAElB,QAAIN,EAAI,YAAY,SAAS,MAC5BA,EAAI,MAAM,KAAKA,EAAI,WAAW,GAC9BA,EAAI,cAAc,CAAA;AAGnB,iBAASO,IAAI,GAAGA,IAAIP,EAAI,qBAAqBO;AAC5C,UAAAP,EAAI,MAAM,KAAK,EAAE;AAElB,QAAAA,EAAI,sBAAsB;AAAA,MAC3B;AAGA,aAAII,MACHJ,EAAI,YAAY,KAAKD,CAAK,GAItBG,KAAYF,EAAI,MAAM,KAAKA,EAAI,WAAW,IAExCA;AAAA,IACR;AAAA,IACA;AAAA,MACC,OAAO,CAAA;AAAA,MACP,aAAa,CAAA;AAAA,MACb,qBAAqB;AAAA;AAAA,IAAA;AAAA,EACtB,EAEuB;AACzB;"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
-
import { forwardRef as s, useState as i, useEffect as l } from "react";
|
|
4
|
-
const f = ({ code: e }, n) => {
|
|
5
|
-
const [r, o] = i(!1);
|
|
6
|
-
return l(() => {
|
|
7
|
-
o(!0);
|
|
8
|
-
}, []), r ? /* @__PURE__ */ t("pre", { ref: n, style: { display: "none" }, children: typeof e == "string" ? /* @__PURE__ */ t("span", { dangerouslySetInnerHTML: { __html: e } }) : e }) : null;
|
|
9
|
-
}, C = s(f);
|
|
10
|
-
export {
|
|
11
|
-
C as HiddenCopyContent
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/code-block/hidden-copy-content/index.tsx"],"sourcesContent":["'use client'\n\nimport { forwardRef, useEffect, useState, type ReactNode } from 'react'\n\n/**\n * This hidden element acts solely as a container\n * that we can fetch textContent to copy to clipboard.\n * This allows to ignore the \"how will we copy this cleanly\"\n * concern when splitting code into lines, and adding\n * line numbers and so on in other parts of code-block.\n */\nconst HiddenCopyContentComponent = (\n\t{ code }: { code: ReactNode },\n\tcopyRef: React.ForwardedRef<HTMLPreElement>\n) => {\n\tconst [isClient, setIsClient] = useState(false)\n\n\tuseEffect(() => {\n\t\tsetIsClient(true)\n\t}, [])\n\n\t/**\n\t * We are avoiding SSR here as this component is only used for the copy-to-clipboard interaction, and so rendering\n\t * the text content of the code introduces duplicate markup and some difficult-to-debug hydration mismatches.\n\t * By the time someone interacts with the copy-to-clipboard functionality, this should be rendered.\n\t */\n\tif (!isClient) return null\n\n\treturn (\n\t\t<pre ref={copyRef} style={{ display: 'none' }}>\n\t\t\t{typeof code === 'string' ? (\n\t\t\t\t<span dangerouslySetInnerHTML={{ __html: code }} />\n\t\t\t) : (\n\t\t\t\tcode\n\t\t\t)}\n\t\t</pre>\n\t)\n}\n\nconst HiddenCopyContent = forwardRef(HiddenCopyContentComponent)\n\nexport { HiddenCopyContent }\n"],"names":["HiddenCopyContentComponent","code","copyRef","isClient","setIsClient","useState","useEffect","jsx"],"mappings":";;;AAeC,MAAAA,IAAgC,CAAA,EAAA,MAAAC,EAAS,GAAAC,MAAK;AAE9C,QAAA,CAAAC,GAAgBC,CAAA,IAAAC,EAAA,EAAA;AAWhB,SAVCC,EAAA,MAAY;AACb,IAAAF,EAAK,EAAA;AAAA,EAOL,GAAA,CAAI,CAAC,OAWN,gBAAAG,EAAA,OAAA,EAAA,KAAAL,GAAA,OAAA,EAAA,SAAA,OAAA,GAAA,UAAA,OAAAD,KAAA,WAAA,gBAAAM,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAAN,EAAA,EAAA,CAAA,IAAAA,EAAA,CAAA;AAEA;"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsxs as t, jsx as o } from "react/jsx-runtime";
|
|
3
|
-
import { useRef as h, useId as x } from "react";
|
|
4
|
-
import N from "classnames";
|
|
5
|
-
import { Text as a } from "../text/index.js";
|
|
6
|
-
import { CodeLines as b } from "./code-lines/index.js";
|
|
7
|
-
import { HiddenCopyContent as k } from "./hidden-copy-content/index.js";
|
|
8
|
-
import B from "./utils/process-snippet.js";
|
|
9
|
-
import { CopyButton as g } from "../../patterns/copy-button/index.js";
|
|
10
|
-
import e from "./code-block.module.scss.js";
|
|
11
|
-
const w = ({
|
|
12
|
-
title: r,
|
|
13
|
-
description: s,
|
|
14
|
-
language: c,
|
|
15
|
-
value: i,
|
|
16
|
-
isStandalone: p = !0,
|
|
17
|
-
hasCopyButton: f,
|
|
18
|
-
hasLineNumbers: n = !0,
|
|
19
|
-
highlightLines: u,
|
|
20
|
-
maxHeight: y = "auto",
|
|
21
|
-
className: C
|
|
22
|
-
}) => {
|
|
23
|
-
const d = h(null), l = x();
|
|
24
|
-
return /* @__PURE__ */ t(
|
|
25
|
-
"div",
|
|
26
|
-
{
|
|
27
|
-
className: N(
|
|
28
|
-
e["code-block"],
|
|
29
|
-
e.dark,
|
|
30
|
-
{
|
|
31
|
-
[e[`language-${c}`]]: c,
|
|
32
|
-
[e["is-standalone"]]: p,
|
|
33
|
-
[e["line-numbers"]]: n
|
|
34
|
-
},
|
|
35
|
-
C
|
|
36
|
-
),
|
|
37
|
-
children: [
|
|
38
|
-
/* @__PURE__ */ t("div", { className: e.header, children: [
|
|
39
|
-
r && /* @__PURE__ */ o(
|
|
40
|
-
a.HDSBody,
|
|
41
|
-
{
|
|
42
|
-
size: "200",
|
|
43
|
-
tag: "p",
|
|
44
|
-
weight: "semibold",
|
|
45
|
-
className: e.title,
|
|
46
|
-
children: r
|
|
47
|
-
}
|
|
48
|
-
),
|
|
49
|
-
s && /* @__PURE__ */ o(a.HDSBody, { tag: "p", size: "100", className: e.description, children: s })
|
|
50
|
-
] }),
|
|
51
|
-
/* @__PURE__ */ t("div", { className: e.body, children: [
|
|
52
|
-
/* @__PURE__ */ o(k, { code: i, ref: d }),
|
|
53
|
-
/* @__PURE__ */ o("pre", { className: e.code, id: l, style: { maxHeight: y }, children: /* @__PURE__ */ o("code", { children: /* @__PURE__ */ o(
|
|
54
|
-
b,
|
|
55
|
-
{
|
|
56
|
-
value: i,
|
|
57
|
-
highlightLines: u,
|
|
58
|
-
hasLineNumbers: n
|
|
59
|
-
}
|
|
60
|
-
) }) }),
|
|
61
|
-
f && /* @__PURE__ */ o(
|
|
62
|
-
g,
|
|
63
|
-
{
|
|
64
|
-
className: e["copy-button"],
|
|
65
|
-
"aria-describedby": l,
|
|
66
|
-
getTextFn: () => {
|
|
67
|
-
const m = d.current?.textContent;
|
|
68
|
-
if (!m)
|
|
69
|
-
throw new Error(
|
|
70
|
-
"`code-block` - Couldn't find text content to copy."
|
|
71
|
-
);
|
|
72
|
-
return B(m);
|
|
73
|
-
},
|
|
74
|
-
text: "Copy",
|
|
75
|
-
isIconOnly: !0,
|
|
76
|
-
size: "small"
|
|
77
|
-
}
|
|
78
|
-
)
|
|
79
|
-
] })
|
|
80
|
-
]
|
|
81
|
-
}
|
|
82
|
-
);
|
|
83
|
-
};
|
|
84
|
-
w.displayName = "CodeBlock";
|
|
85
|
-
export {
|
|
86
|
-
w as CodeBlock
|
|
87
|
-
};
|
|
88
|
-
//# sourceMappingURL=index.js.map
|