@12-apps/ui 6.41.2 → 6.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
- package/dist/_internal/components/data-display/Alert/Alert.metrics.js +3 -3
- package/dist/_internal/components/data-display/Alert/Alert.styles.js +3 -3
- package/dist/_internal/components/data-display/Badge/Badge.js +4 -4
- package/dist/_internal/components/data-display/Badge/Badge.styles.js +4 -4
- package/dist/_internal/components/data-display/Badge/BadgeContent.js +4 -4
- package/dist/_internal/components/data-display/Banner/Banner.js +3 -3
- package/dist/_internal/components/data-display/Banner/Banner.styles.js +3 -3
- package/dist/_internal/components/data-display/CardKit/CardKebab.js +3 -3
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +3 -3
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +3 -3
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +3 -3
- package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +4 -4
- package/dist/_internal/components/data-display/Carousel/Carousel.js +4 -4
- package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +4 -4
- package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +4 -4
- package/dist/_internal/components/data-display/Chart/Chart.js +4 -4
- package/dist/_internal/components/data-display/Chart/SpecChart.js +4 -4
- package/dist/_internal/components/data-display/Chart/chart-context.js +4 -4
- package/dist/_internal/components/data-display/Chart/chart-internals.js +4 -4
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +4 -4
- package/dist/_internal/components/data-display/DataGrid/DataGrid.body.js +2 -2
- package/dist/_internal/components/data-display/DataGrid/DataGrid.cells.js +1 -1
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +13 -4
- package/dist/_internal/components/data-display/DataGrid/DataGrid.model.js +12 -1
- package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +6 -6
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +30 -29
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +36 -35
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +6 -6
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +6 -6
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +7 -7
- package/dist/_internal/components/data-display/DataViews/base-card.js +6 -6
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +15 -10
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +14 -9
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +16 -11
- package/dist/_internal/components/data-display/DataViews/data-views-bar-controls.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-columns.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-day-input.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +11 -10
- package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +12 -7
- package/dist/_internal/components/data-display/DataViews/data-views-empty.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-export.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +15 -14
- package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +29 -28
- package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +11 -1
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +7 -7
- package/dist/_internal/components/data-display/DataViews/data-views-number-input.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +10 -2
- package/dist/_internal/components/data-display/DataViews/data-views-search.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +14 -13
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +9 -9
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +13 -12
- package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +6 -6
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +10 -2
- package/dist/_internal/components/data-display/DataViews/save-view-preview.js +6 -6
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +3 -3
- package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +6 -6
- package/dist/_internal/components/data-display/FleetMap/FleetBody.js +1 -1
- package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +1 -1
- package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +1 -1
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js +4 -4
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +7 -7
- package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +2 -2
- package/dist/_internal/components/data-display/Lightbox/LightboxCurrentMedia.js +3 -2
- package/dist/_internal/components/data-display/Lightbox/LightboxMedia.js +2 -1
- package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +3 -3
- package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +2 -1
- package/dist/_internal/components/data-display/MapPreview/MapLayers.js +1 -1
- package/dist/_internal/components/data-display/MapPreview/MapPreview.js +1 -1
- package/dist/_internal/components/data-display/MapPreview/MapSearchBar.js +1 -1
- package/dist/_internal/components/data-display/Progress/Progress.js +6 -6
- package/dist/_internal/components/data-display/Progress/Progress.metrics.js +4 -4
- package/dist/_internal/components/data-display/Progress/Progress.styles.js +5 -5
- package/dist/_internal/components/data-display/Sheet/Sheet.body.js +4 -4
- package/dist/_internal/components/data-display/Sheet/Sheet.js +4 -4
- package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +4 -4
- package/dist/_internal/components/data-display/Table/Table.helpers.js +3 -1
- package/dist/_internal/components/data-display/Table/Table.js +11 -3
- package/dist/_internal/components/data-display/Table/TableParts.hooks.js +2 -2
- package/dist/_internal/components/data-display/Table/TableParts.js +2 -2
- package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.js +2 -2
- package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.views.js +1 -1
- package/dist/_internal/components/data-display/index.js +26 -26
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +3 -3
- package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +2 -2
- package/dist/_internal/components/feedback/TutorialOverlay/TutorialStepBody.js +1 -1
- package/dist/_internal/components/feedback/index.js +5 -5
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +1 -1
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +1 -1
- package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +1 -1
- package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +1 -1
- package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +1 -1
- package/dist/_internal/components/form/Autocomplete/Autocomplete.js +1 -1
- package/dist/_internal/components/form/Autocomplete/Autocomplete.parts.js +1 -1
- package/dist/_internal/components/form/Button/Button.js +3 -3
- package/dist/_internal/components/form/Button/Button.styles.js +3 -3
- package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryRows.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategorySelect.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +1 -1
- package/dist/_internal/components/form/CepField/CepField.js +1 -1
- package/dist/_internal/components/form/Command/Command.js +4 -4
- package/dist/_internal/components/form/Command/Command.styles.js +4 -4
- package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +1 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +1 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +1 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +1 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +1 -1
- package/dist/_internal/components/form/Input/Input.js +1 -1
- package/dist/_internal/components/form/Input/Input.styles.js +1 -1
- package/dist/_internal/components/form/InputOTP/InputOTP.js +1 -1
- package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +1 -1
- package/dist/_internal/components/form/Label/Label.js +4 -4
- package/dist/_internal/components/form/Label/Label.styles.js +4 -4
- package/dist/_internal/components/form/Menubar/Menubar.item.js +4 -4
- package/dist/_internal/components/form/Menubar/Menubar.js +4 -4
- package/dist/_internal/components/form/Menubar/Menubar.styles.js +4 -4
- package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +4 -4
- package/dist/_internal/components/form/NumberField/NumberField.js +1 -1
- package/dist/_internal/components/form/PhoneInput/PhoneInput.js +1 -1
- package/dist/_internal/components/form/RadioGroup/RadioGroup.js +1 -1
- package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +1 -1
- package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +1 -1
- package/dist/_internal/components/form/Select/Select.js +1 -1
- package/dist/_internal/components/form/Switch/Switch.js +3 -3
- package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
- package/dist/_internal/components/form/Switch/Switch.styles.js +3 -3
- package/dist/_internal/components/form/Textarea/Textarea.js +2 -2
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +1 -1
- package/dist/_internal/components/form/Toggle/Toggle.js +1 -1
- package/dist/_internal/components/form/Toggle/Toggle.styles.js +1 -1
- package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +1 -1
- package/dist/_internal/components/form/index.js +5 -5
- package/dist/_internal/components/form/total-form/Fields/CategoryField.js +1 -1
- package/dist/_internal/components/form/total-form/Fields/CepField.js +1 -1
- package/dist/_internal/components/form/total-form/Fields/SelectField.js +1 -1
- package/dist/_internal/components/form/total-form/Fields/TextField.js +1 -1
- package/dist/_internal/components/form/total-form/Fields/ToggleField.js +1 -1
- package/dist/_internal/components/form/total-form/Fields/index.js +1 -1
- package/dist/_internal/components/form/total-form/SubmitButton.js +3 -3
- package/dist/_internal/components/index.js +43 -43
- package/dist/_internal/components/layout/Box/Box.js +7 -7
- package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/MultiSelectTriggers.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/SavedViewsMenu.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/SortByDropdown.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +1 -1
- package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -2
- package/dist/_internal/components/layout/Dashboard/DashboardParts.js +1 -1
- package/dist/_internal/components/layout/SettingCard/SettingCard.js +9 -9
- package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +8 -8
- package/dist/_internal/components/layout/SettingCard/SettingGrid.js +9 -9
- package/dist/_internal/components/layout/SettingCard/SettingGroup.js +10 -10
- package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +9 -9
- package/dist/_internal/components/layout/SettingCard/SettingToggle.js +10 -10
- package/dist/_internal/components/layout/Stack/Stack.js +8 -8
- package/dist/_internal/components/layout/TableFilter/TableFilter.js +1 -1
- package/dist/_internal/components/layout/index.js +15 -15
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +4 -4
- package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +4 -4
- package/dist/_internal/components/navigation/Pagination/Pagination.js +1 -1
- package/dist/_internal/components/navigation/Pagination/PaginationParts.js +1 -1
- package/dist/_internal/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/_internal/components/navigation/Tabs/Tabs.styles.js +1 -1
- package/dist/_internal/components/navigation/index.js +4 -4
- package/dist/_internal/components/typography/Heading/Heading.js +6 -6
- package/dist/_internal/components/typography/Heading/Heading.metrics.js +4 -4
- package/dist/_internal/components/typography/Heading/Heading.styles.js +5 -5
- package/dist/_internal/components/typography/Text/Text.js +5 -5
- package/dist/_internal/components/typography/Text/Text.metrics.js +4 -4
- package/dist/_internal/components/typography/index.js +8 -8
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +4 -4
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +4 -4
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +4 -4
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +4 -4
- package/dist/_internal/components/utility/index.js +4 -4
- package/dist/_internal/en-US.data-display.js +3 -1
- package/dist/_internal/en-US.feedback.js +1 -1
- package/dist/_internal/icons/Icon.js +7 -7
- package/dist/_internal/provider/UiProvider.js +6 -6
- package/dist/_internal/provider/mui-bridge.js +5 -5
- package/dist/_internal/provider/use-ui-theme.js +6 -6
- package/dist/_internal/pt-BR.data-display.js +3 -1
- package/dist/_internal/pt-BR.feedback.js +1 -1
- package/dist/_internal/social-login-button/social-login-button.js +9 -9
- package/dist/_internal/tokens/density.js +1 -1
- package/dist/_internal/tokens/field-height.js +1 -1
- package/dist/_internal/tokens/theme.js +3 -3
- package/dist/_internal/user-avatar/user-avatar.js +6 -6
- package/dist/charts.js +4 -4
- package/dist/{chunk-K4L42FF6.js → chunk-24JOJJ2J.js} +3 -3
- package/dist/chunk-24JOJJ2J.js.map +1 -0
- package/dist/{chunk-YPIVLPXF.js → chunk-33NBMNTB.js} +2 -2
- package/dist/{chunk-JE6GQB5J.js → chunk-4Z2HIHA5.js} +4 -4
- package/dist/{chunk-FHW3ATT7.js → chunk-53HQNN3C.js} +2 -2
- package/dist/{chunk-53O2TNSR.js → chunk-5DAVXZPY.js} +3 -3
- package/dist/{chunk-DH5UJD2I.js → chunk-5FHPZOYK.js} +2 -2
- package/dist/{chunk-NSVSC6ZC.js → chunk-5PJM772Y.js} +4 -4
- package/dist/{chunk-VYM2GPR6.js → chunk-5PTCT3LF.js} +2 -2
- package/dist/{chunk-ZH2SZ6B3.js → chunk-652PYSML.js} +6 -6
- package/dist/{chunk-PEOOCQ2T.js → chunk-6IRJAIS4.js} +2 -2
- package/dist/{chunk-PAT2BQOQ.js → chunk-6IWO7CM2.js} +2 -2
- package/dist/{chunk-YFODI4KT.js → chunk-6WZUZHJM.js} +8 -8
- package/dist/{chunk-KCDNOMMT.js → chunk-6Z6PUG4C.js} +9 -3
- package/dist/chunk-6Z6PUG4C.js.map +1 -0
- package/dist/{chunk-QEI5DC6S.js → chunk-7KJOODQB.js} +1 -1
- package/dist/{chunk-6ZD3FI5P.js → chunk-AOFI3GDS.js} +4 -4
- package/dist/{chunk-H72YKEGD.js → chunk-AOKLEE64.js} +2 -2
- package/dist/{chunk-RDFPM2AQ.js → chunk-BJGUDLWZ.js} +4 -4
- package/dist/{chunk-X66E5WSX.js → chunk-C4QKXFZN.js} +3 -3
- package/dist/{chunk-OJUORFGO.js → chunk-C6JUGWAU.js} +4 -4
- package/dist/{chunk-DLWLIPCP.js → chunk-CKFZQQ6T.js} +2 -2
- package/dist/{chunk-Z2NN53E5.js → chunk-DCT2PKMQ.js} +2 -2
- package/dist/{chunk-G6ZPQHBL.js → chunk-DSHM7VN6.js} +2 -2
- package/dist/{chunk-WV62BSWA.js → chunk-F5BYZNXY.js} +2 -2
- package/dist/{chunk-RDZGXJOD.js → chunk-F5GXWK6B.js} +2 -2
- package/dist/{chunk-4Z7GEO2R.js → chunk-G7RYAWPZ.js} +2 -2
- package/dist/{chunk-UFNIS7KC.js → chunk-GGBFDHXE.js} +11 -8
- package/dist/chunk-GGBFDHXE.js.map +1 -0
- package/dist/{chunk-4S2LWZ7L.js → chunk-GO6XDMBB.js} +2 -2
- package/dist/{chunk-2XHIF3M3.js → chunk-GXQDWHPN.js} +25 -3
- package/dist/chunk-GXQDWHPN.js.map +1 -0
- package/dist/{chunk-KHOAXZW2.js → chunk-H3GYVR7S.js} +3 -3
- package/dist/{chunk-XZJM6EPC.js → chunk-HUAQQ5ZL.js} +12 -2
- package/dist/chunk-HUAQQ5ZL.js.map +1 -0
- package/dist/{chunk-C6OVO6AT.js → chunk-I6MVJWUO.js} +2 -2
- package/dist/{chunk-F7JTIHV5.js → chunk-ICDAYOJ6.js} +6 -5
- package/dist/chunk-ICDAYOJ6.js.map +1 -0
- package/dist/{chunk-ASCUWG55.js → chunk-IOCY5G43.js} +8 -3
- package/dist/chunk-IOCY5G43.js.map +1 -0
- package/dist/{chunk-4XHVGUOM.js → chunk-J2SFOLGZ.js} +2 -2
- package/dist/{chunk-7TE4TMS3.js → chunk-JSOJKHEI.js} +3 -3
- package/dist/{chunk-ZNBLGS66.js → chunk-K62RHTFB.js} +3 -3
- package/dist/{chunk-6N2EDWMG.js → chunk-KWU62UPM.js} +2 -2
- package/dist/{chunk-NHEWST3N.js → chunk-L3MRRAZM.js} +3 -2
- package/dist/chunk-L3MRRAZM.js.map +1 -0
- package/dist/{chunk-3MEIGSDK.js → chunk-LTTYUSJ2.js} +5 -2
- package/dist/chunk-LTTYUSJ2.js.map +1 -0
- package/dist/{chunk-CJ45OL7L.js → chunk-M2GVHVE4.js} +2 -2
- package/dist/{chunk-3AQD2EA6.js → chunk-M42ZOCO7.js} +10 -9
- package/dist/chunk-M42ZOCO7.js.map +1 -0
- package/dist/{chunk-MEBQKYH4.js → chunk-MBNXCCRG.js} +4 -4
- package/dist/{chunk-UT73NGRS.js → chunk-MLUUF7OZ.js} +2 -2
- package/dist/{chunk-KW3H5FUS.js → chunk-MPYIEIBA.js} +2 -2
- package/dist/{chunk-DFI2RKVQ.js → chunk-MRWYKNBY.js} +2 -2
- package/dist/{chunk-HFVYWHJT.js → chunk-NYT3UVOH.js} +8 -8
- package/dist/{chunk-YWJDUJAR.js → chunk-O6IF4BZT.js} +2 -2
- package/dist/{chunk-3UEZ6NUI.js → chunk-OCQ6GDCF.js} +2 -2
- package/dist/{chunk-JAGAFEZL.js → chunk-OD3L6GX5.js} +2 -2
- package/dist/{chunk-RPBGUWNF.js → chunk-ON4TRXCM.js} +3 -3
- package/dist/{chunk-GJFAI3J5.js → chunk-OOB3YWPX.js} +17 -10
- package/dist/chunk-OOB3YWPX.js.map +1 -0
- package/dist/{chunk-TZASFX6G.js → chunk-P53KRCKW.js} +4 -4
- package/dist/{chunk-NOLSQK4J.js → chunk-PGV2FLE3.js} +2 -2
- package/dist/{chunk-C2TERIB4.js → chunk-QSNLIWEB.js} +2 -2
- package/dist/{chunk-2DWBJJK6.js → chunk-RBGUS7WO.js} +2 -2
- package/dist/{chunk-XZY7O7JJ.js → chunk-RHKT2XW2.js} +2 -2
- package/dist/{chunk-4SHMSLFA.js → chunk-RRG75JJS.js} +2 -2
- package/dist/{chunk-6MD5QXXJ.js → chunk-RWRPF24F.js} +4 -4
- package/dist/{chunk-VPAOVEI2.js → chunk-SJGYMI6Y.js} +3 -3
- package/dist/chunk-SV4FYSDL.js +92 -0
- package/dist/chunk-SV4FYSDL.js.map +1 -0
- package/dist/{chunk-EQXIW5MQ.js → chunk-TCMH3FXD.js} +2 -2
- package/dist/{chunk-STTULW2K.js → chunk-TE3XYCX7.js} +2 -2
- package/dist/{chunk-TJ3334AJ.js → chunk-TMW7RBW7.js} +3 -3
- package/dist/{chunk-DGMDQHMI.js → chunk-U6DOF5CR.js} +14 -2
- package/dist/chunk-U6DOF5CR.js.map +1 -0
- package/dist/{chunk-ASHXIAJO.js → chunk-UGH2DDST.js} +5 -2
- package/dist/chunk-UGH2DDST.js.map +1 -0
- package/dist/{chunk-LODMNSLR.js → chunk-UP7SSTCZ.js} +8 -7
- package/dist/chunk-UP7SSTCZ.js.map +1 -0
- package/dist/{chunk-WFAJTO2B.js → chunk-UVFZQCC7.js} +5 -9
- package/dist/chunk-UVFZQCC7.js.map +1 -0
- package/dist/{chunk-U5SH3VRJ.js → chunk-V5ZLUJV7.js} +25 -3
- package/dist/chunk-V5ZLUJV7.js.map +1 -0
- package/dist/{chunk-VCBV5JM7.js → chunk-VNOXUWK7.js} +2 -2
- package/dist/{chunk-IVJKILIX.js → chunk-VZ4VAQX3.js} +2 -2
- package/dist/{chunk-IWGW2E35.js → chunk-WF4XK5AS.js} +2 -2
- package/dist/{chunk-6REPQ352.js → chunk-WL7IG7TT.js} +2 -2
- package/dist/{chunk-5QAJ3Y5F.js → chunk-XQWUVQ2F.js} +2 -2
- package/dist/{chunk-U67ZQ6VM.js → chunk-YIWVHEPW.js} +2 -2
- package/dist/{chunk-DH77PLFF.js → chunk-YTVXT5TD.js} +2 -2
- package/dist/{chunk-MKLIMY3D.js → chunk-YZHX2HTC.js} +2 -2
- package/dist/{chunk-ZEYUSS3W.js → chunk-Z6LTEJ7F.js} +10 -7
- package/dist/chunk-Z6LTEJ7F.js.map +1 -0
- package/dist/{chunk-H5ZTIELC.js → chunk-ZFXTRPQO.js} +5 -4
- package/dist/chunk-ZFXTRPQO.js.map +1 -0
- package/dist/data-display/Alert.js +3 -3
- package/dist/data-display/Badge.js +4 -4
- package/dist/data-display/Banner.js +3 -3
- package/dist/data-display/CardKit.js +3 -3
- package/dist/data-display/Carousel.js +4 -4
- package/dist/data-display/Chart.js +4 -4
- package/dist/data-display/DataGrid.js +13 -4
- package/dist/data-display/DataViews.js +41 -40
- package/dist/data-display/DescriptionItem.js +6 -6
- package/dist/data-display/FleetMap.js +4 -4
- package/dist/data-display/Lightbox.js +7 -7
- package/dist/data-display/MapPreview.js +1 -1
- package/dist/data-display/Progress.js +6 -6
- package/dist/data-display/Sheet.js +4 -4
- package/dist/data-display/Table.js +11 -3
- package/dist/data-display/TimingDiagram.js +2 -2
- package/dist/en-US.js +4 -2
- package/dist/feedback/ConfirmAction.js +3 -3
- package/dist/feedback/NotificationStatusNotice.js +3 -3
- package/dist/feedback/TutorialOverlay.js +2 -2
- package/dist/form/AddressAutocomplete.js +1 -1
- package/dist/form/Autocomplete.js +1 -1
- package/dist/form/Button.js +3 -3
- package/dist/form/CategorySelect.js +1 -1
- package/dist/form/CepField.js +1 -1
- package/dist/form/Command.js +4 -4
- package/dist/form/CreatableSelect.js +1 -1
- package/dist/form/DateRangePicker.js +1 -1
- package/dist/form/Input.js +1 -1
- package/dist/form/InputOTP.js +1 -1
- package/dist/form/Label.js +4 -4
- package/dist/form/Menubar.js +4 -4
- package/dist/form/NumberField.js +1 -1
- package/dist/form/PhoneInput.js +1 -1
- package/dist/form/RadioGroup.js +1 -1
- package/dist/form/Select.js +1 -1
- package/dist/form/Switch.js +3 -3
- package/dist/form/Textarea.js +2 -2
- package/dist/form/Toggle.js +1 -1
- package/dist/form/ToggleGroup.js +1 -1
- package/dist/form/total-form.js +3 -3
- package/dist/icons.js +7 -7
- package/dist/layout/Box.js +7 -7
- package/dist/layout/ContentToolbar.js +1 -1
- package/dist/layout/Dashboard.js +2 -2
- package/dist/layout/SettingCard.js +13 -13
- package/dist/layout/Stack.js +8 -8
- package/dist/layout/TableFilter.js +1 -1
- package/dist/locales.js +8 -4
- package/dist/locales.js.map +1 -1
- package/dist/navigation/AppHeader.js +4 -4
- package/dist/navigation/Pagination.js +1 -1
- package/dist/navigation/Tabs.js +1 -1
- package/dist/provider.js +7 -7
- package/dist/pt-BR.js +4 -2
- package/dist/social-login-button.js +9 -9
- package/dist/tokens.js +15 -15
- package/dist/types/components/data-display/DataGrid/DataGrid.body.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.cells.d.ts +3 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.cells.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.d.ts +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.model.d.ts +19 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.model.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts +12 -2
- package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +8 -2
- package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-bodies.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-layout-context.d.ts +12 -0
- package/dist/types/components/data-display/DataViews/data-views-layout-context.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/LightboxMedia.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/LightboxThumbnails.d.ts.map +1 -1
- package/dist/types/components/data-display/Table/Table.d.ts.map +1 -1
- package/dist/types/components/data-display/Table/Table.helpers.d.ts +10 -1
- package/dist/types/components/data-display/Table/Table.helpers.d.ts.map +1 -1
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.d.ts.map +1 -1
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.views.d.ts +2 -0
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.views.d.ts.map +1 -1
- package/dist/types/components/layout/Dashboard/Dashboard.d.ts +1 -1
- package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts +22 -12
- package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts.map +1 -1
- package/dist/types/components/layout/Dashboard/DashboardParts.d.ts +1 -1
- package/dist/types/components/layout/Dashboard/DashboardParts.d.ts.map +1 -1
- package/dist/types/copy/data-display.d.ts +40 -1
- package/dist/types/copy/data-display.d.ts.map +1 -1
- package/dist/types/copy/feedback.d.ts +7 -1
- package/dist/types/copy/feedback.d.ts.map +1 -1
- package/dist/types/en-US.data-display.d.ts +2 -1
- package/dist/types/en-US.data-display.d.ts.map +1 -1
- package/dist/types/en-US.feedback.d.ts.map +1 -1
- package/dist/types/locales.d.ts +2 -1
- package/dist/types/locales.d.ts.map +1 -1
- package/dist/types/pt-BR.data-display.d.ts +2 -1
- package/dist/types/pt-BR.data-display.d.ts.map +1 -1
- package/dist/types/pt-BR.feedback.d.ts.map +1 -1
- package/dist/typography/Heading.js +6 -6
- package/dist/typography/Text.js +5 -5
- package/dist/user-avatar.js +6 -6
- package/dist/utility/WorkflowStep.js +4 -4
- package/package.json +1 -1
- package/src/components/data-display/DataGrid/DataGrid.body.tsx +2 -1
- package/src/components/data-display/DataGrid/DataGrid.cells.tsx +7 -4
- package/src/components/data-display/DataGrid/DataGrid.model.ts +30 -1
- package/src/components/data-display/DataGrid/DataGrid.tsx +11 -5
- package/src/components/data-display/DataGrid/DataGrid.types.ts +13 -2
- package/src/components/data-display/DataViews/data-views-copy.ts +8 -2
- package/src/components/data-display/DataViews/data-views-grid-bodies.tsx +1 -0
- package/src/components/data-display/DataViews/data-views-layout-context.tsx +24 -1
- package/src/components/data-display/Lightbox/Lightbox.tsx +8 -2
- package/src/components/data-display/Lightbox/LightboxMedia.tsx +5 -2
- package/src/components/data-display/Lightbox/LightboxThumbnails.tsx +7 -3
- package/src/components/data-display/Table/Table.helpers.ts +20 -2
- package/src/components/data-display/Table/Table.tsx +5 -2
- package/src/components/data-display/TimingDiagram/TimingDiagram.tsx +10 -7
- package/src/components/data-display/TimingDiagram/TimingDiagram.views.tsx +6 -2
- package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +2 -2
- package/src/components/layout/Dashboard/Dashboard.types.ts +22 -12
- package/src/components/layout/Dashboard/DashboardParts.tsx +10 -7
- package/src/copy/data-display.ts +41 -1
- package/src/copy/feedback.ts +7 -1
- package/src/en-US.data-display.ts +23 -0
- package/src/en-US.feedback.ts +3 -0
- package/src/locales.ts +2 -0
- package/src/pt-BR.data-display.ts +23 -0
- package/src/pt-BR.feedback.ts +3 -0
- package/dist/chunk-2XHIF3M3.js.map +0 -1
- package/dist/chunk-3AQD2EA6.js.map +0 -1
- package/dist/chunk-3MEIGSDK.js.map +0 -1
- package/dist/chunk-ASCUWG55.js.map +0 -1
- package/dist/chunk-ASHXIAJO.js.map +0 -1
- package/dist/chunk-BAFDSAWY.js +0 -86
- package/dist/chunk-BAFDSAWY.js.map +0 -1
- package/dist/chunk-DGMDQHMI.js.map +0 -1
- package/dist/chunk-F7JTIHV5.js.map +0 -1
- package/dist/chunk-GJFAI3J5.js.map +0 -1
- package/dist/chunk-H5ZTIELC.js.map +0 -1
- package/dist/chunk-K4L42FF6.js.map +0 -1
- package/dist/chunk-KCDNOMMT.js.map +0 -1
- package/dist/chunk-LODMNSLR.js.map +0 -1
- package/dist/chunk-NHEWST3N.js.map +0 -1
- package/dist/chunk-U5SH3VRJ.js.map +0 -1
- package/dist/chunk-UFNIS7KC.js.map +0 -1
- package/dist/chunk-WFAJTO2B.js.map +0 -1
- package/dist/chunk-XZJM6EPC.js.map +0 -1
- package/dist/chunk-ZEYUSS3W.js.map +0 -1
- /package/dist/{chunk-YPIVLPXF.js.map → chunk-33NBMNTB.js.map} +0 -0
- /package/dist/{chunk-JE6GQB5J.js.map → chunk-4Z2HIHA5.js.map} +0 -0
- /package/dist/{chunk-FHW3ATT7.js.map → chunk-53HQNN3C.js.map} +0 -0
- /package/dist/{chunk-53O2TNSR.js.map → chunk-5DAVXZPY.js.map} +0 -0
- /package/dist/{chunk-DH5UJD2I.js.map → chunk-5FHPZOYK.js.map} +0 -0
- /package/dist/{chunk-NSVSC6ZC.js.map → chunk-5PJM772Y.js.map} +0 -0
- /package/dist/{chunk-VYM2GPR6.js.map → chunk-5PTCT3LF.js.map} +0 -0
- /package/dist/{chunk-ZH2SZ6B3.js.map → chunk-652PYSML.js.map} +0 -0
- /package/dist/{chunk-PEOOCQ2T.js.map → chunk-6IRJAIS4.js.map} +0 -0
- /package/dist/{chunk-PAT2BQOQ.js.map → chunk-6IWO7CM2.js.map} +0 -0
- /package/dist/{chunk-YFODI4KT.js.map → chunk-6WZUZHJM.js.map} +0 -0
- /package/dist/{chunk-QEI5DC6S.js.map → chunk-7KJOODQB.js.map} +0 -0
- /package/dist/{chunk-6ZD3FI5P.js.map → chunk-AOFI3GDS.js.map} +0 -0
- /package/dist/{chunk-H72YKEGD.js.map → chunk-AOKLEE64.js.map} +0 -0
- /package/dist/{chunk-RDFPM2AQ.js.map → chunk-BJGUDLWZ.js.map} +0 -0
- /package/dist/{chunk-X66E5WSX.js.map → chunk-C4QKXFZN.js.map} +0 -0
- /package/dist/{chunk-OJUORFGO.js.map → chunk-C6JUGWAU.js.map} +0 -0
- /package/dist/{chunk-DLWLIPCP.js.map → chunk-CKFZQQ6T.js.map} +0 -0
- /package/dist/{chunk-Z2NN53E5.js.map → chunk-DCT2PKMQ.js.map} +0 -0
- /package/dist/{chunk-G6ZPQHBL.js.map → chunk-DSHM7VN6.js.map} +0 -0
- /package/dist/{chunk-WV62BSWA.js.map → chunk-F5BYZNXY.js.map} +0 -0
- /package/dist/{chunk-RDZGXJOD.js.map → chunk-F5GXWK6B.js.map} +0 -0
- /package/dist/{chunk-4Z7GEO2R.js.map → chunk-G7RYAWPZ.js.map} +0 -0
- /package/dist/{chunk-4S2LWZ7L.js.map → chunk-GO6XDMBB.js.map} +0 -0
- /package/dist/{chunk-KHOAXZW2.js.map → chunk-H3GYVR7S.js.map} +0 -0
- /package/dist/{chunk-C6OVO6AT.js.map → chunk-I6MVJWUO.js.map} +0 -0
- /package/dist/{chunk-4XHVGUOM.js.map → chunk-J2SFOLGZ.js.map} +0 -0
- /package/dist/{chunk-7TE4TMS3.js.map → chunk-JSOJKHEI.js.map} +0 -0
- /package/dist/{chunk-ZNBLGS66.js.map → chunk-K62RHTFB.js.map} +0 -0
- /package/dist/{chunk-6N2EDWMG.js.map → chunk-KWU62UPM.js.map} +0 -0
- /package/dist/{chunk-CJ45OL7L.js.map → chunk-M2GVHVE4.js.map} +0 -0
- /package/dist/{chunk-MEBQKYH4.js.map → chunk-MBNXCCRG.js.map} +0 -0
- /package/dist/{chunk-UT73NGRS.js.map → chunk-MLUUF7OZ.js.map} +0 -0
- /package/dist/{chunk-KW3H5FUS.js.map → chunk-MPYIEIBA.js.map} +0 -0
- /package/dist/{chunk-DFI2RKVQ.js.map → chunk-MRWYKNBY.js.map} +0 -0
- /package/dist/{chunk-HFVYWHJT.js.map → chunk-NYT3UVOH.js.map} +0 -0
- /package/dist/{chunk-YWJDUJAR.js.map → chunk-O6IF4BZT.js.map} +0 -0
- /package/dist/{chunk-3UEZ6NUI.js.map → chunk-OCQ6GDCF.js.map} +0 -0
- /package/dist/{chunk-JAGAFEZL.js.map → chunk-OD3L6GX5.js.map} +0 -0
- /package/dist/{chunk-RPBGUWNF.js.map → chunk-ON4TRXCM.js.map} +0 -0
- /package/dist/{chunk-TZASFX6G.js.map → chunk-P53KRCKW.js.map} +0 -0
- /package/dist/{chunk-NOLSQK4J.js.map → chunk-PGV2FLE3.js.map} +0 -0
- /package/dist/{chunk-C2TERIB4.js.map → chunk-QSNLIWEB.js.map} +0 -0
- /package/dist/{chunk-2DWBJJK6.js.map → chunk-RBGUS7WO.js.map} +0 -0
- /package/dist/{chunk-XZY7O7JJ.js.map → chunk-RHKT2XW2.js.map} +0 -0
- /package/dist/{chunk-4SHMSLFA.js.map → chunk-RRG75JJS.js.map} +0 -0
- /package/dist/{chunk-6MD5QXXJ.js.map → chunk-RWRPF24F.js.map} +0 -0
- /package/dist/{chunk-VPAOVEI2.js.map → chunk-SJGYMI6Y.js.map} +0 -0
- /package/dist/{chunk-EQXIW5MQ.js.map → chunk-TCMH3FXD.js.map} +0 -0
- /package/dist/{chunk-STTULW2K.js.map → chunk-TE3XYCX7.js.map} +0 -0
- /package/dist/{chunk-TJ3334AJ.js.map → chunk-TMW7RBW7.js.map} +0 -0
- /package/dist/{chunk-VCBV5JM7.js.map → chunk-VNOXUWK7.js.map} +0 -0
- /package/dist/{chunk-IVJKILIX.js.map → chunk-VZ4VAQX3.js.map} +0 -0
- /package/dist/{chunk-IWGW2E35.js.map → chunk-WF4XK5AS.js.map} +0 -0
- /package/dist/{chunk-6REPQ352.js.map → chunk-WL7IG7TT.js.map} +0 -0
- /package/dist/{chunk-5QAJ3Y5F.js.map → chunk-XQWUVQ2F.js.map} +0 -0
- /package/dist/{chunk-U67ZQ6VM.js.map → chunk-YIWVHEPW.js.map} +0 -0
- /package/dist/{chunk-DH77PLFF.js.map → chunk-YTVXT5TD.js.map} +0 -0
- /package/dist/{chunk-MKLIMY3D.js.map → chunk-YZHX2HTC.js.map} +0 -0
|
@@ -5,6 +5,8 @@ import { alpha, styled } from '@mui/material/styles/index.js';
|
|
|
5
5
|
import type { FC } from 'react';
|
|
6
6
|
import React, { useMemo } from 'react';
|
|
7
7
|
|
|
8
|
+
import type { TimingDiagramCopy } from '../../../copy';
|
|
9
|
+
|
|
8
10
|
import type { TimingData, TimingDiagramProps } from './TimingDiagram.types';
|
|
9
11
|
import type { Phase, PhaseKey, TimingViewProps } from './TimingDiagram.views';
|
|
10
12
|
import {
|
|
@@ -63,13 +65,13 @@ const calculatePercentages = (data: TimingData): Record<string, number> => {
|
|
|
63
65
|
|
|
64
66
|
// A phase with no recorded time never happened — an HTTP request has no SSL
|
|
65
67
|
// handshake, for instance — so it gets no bar and no legend entry.
|
|
66
|
-
const phasesOf = (data: TimingData): Phase[] =>
|
|
68
|
+
const phasesOf = (data: TimingData, copy: TimingDiagramCopy): Phase[] =>
|
|
67
69
|
[
|
|
68
|
-
{ key: 'dns', label:
|
|
69
|
-
{ key: 'connect', label:
|
|
70
|
-
{ key: 'ssl', label:
|
|
71
|
-
{ key: 'request', label:
|
|
72
|
-
{ key: 'response', label:
|
|
70
|
+
{ key: 'dns', label: copy.dns, value: data.dns },
|
|
71
|
+
{ key: 'connect', label: copy.connect, value: data.connect },
|
|
72
|
+
{ key: 'ssl', label: copy.ssl, value: data.ssl },
|
|
73
|
+
{ key: 'request', label: copy.request, value: data.request },
|
|
74
|
+
{ key: 'response', label: copy.response, value: data.response },
|
|
73
75
|
].filter((phase) => phase.value !== undefined && phase.value > 0);
|
|
74
76
|
|
|
75
77
|
const VIEWS: Record<string, FC<TimingViewProps>> = {
|
|
@@ -89,7 +91,7 @@ export const TimingDiagram: FC<TimingDiagramProps> = ({
|
|
|
89
91
|
variant = 'waterfall',
|
|
90
92
|
}) => {
|
|
91
93
|
const percentages = useMemo(() => calculatePercentages(data), [data]);
|
|
92
|
-
const phases = phasesOf(data);
|
|
94
|
+
const phases = phasesOf(data, copy);
|
|
93
95
|
const View = VIEWS[variant];
|
|
94
96
|
|
|
95
97
|
return (
|
|
@@ -103,6 +105,7 @@ export const TimingDiagram: FC<TimingDiagramProps> = ({
|
|
|
103
105
|
phases={phases}
|
|
104
106
|
percentages={percentages}
|
|
105
107
|
data={data}
|
|
108
|
+
copy={copy}
|
|
106
109
|
animated={animated}
|
|
107
110
|
showLabels={showLabels}
|
|
108
111
|
showTooltips={showTooltips}
|
|
@@ -7,6 +7,7 @@ import type { FC, ReactElement } from 'react';
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
|
|
9
9
|
import type { TimingData } from './TimingDiagram.types';
|
|
10
|
+
import type { TimingDiagramCopy } from '../../../copy';
|
|
10
11
|
import { onMedia, sheen, uiInk } from '../../../tokens/ink';
|
|
11
12
|
import { rem, rems } from '../../../tokens/relative';
|
|
12
13
|
|
|
@@ -34,6 +35,7 @@ export interface TimingViewProps {
|
|
|
34
35
|
phases: Phase[];
|
|
35
36
|
percentages: Record<string, number>;
|
|
36
37
|
data: TimingData;
|
|
38
|
+
copy: TimingDiagramCopy;
|
|
37
39
|
animated: boolean;
|
|
38
40
|
showLabels: boolean;
|
|
39
41
|
showTooltips: boolean;
|
|
@@ -227,6 +229,7 @@ export const StackedView: FC<TimingViewProps> = ({
|
|
|
227
229
|
phases,
|
|
228
230
|
percentages,
|
|
229
231
|
data,
|
|
232
|
+
copy,
|
|
230
233
|
animated,
|
|
231
234
|
showLabels,
|
|
232
235
|
showTooltips,
|
|
@@ -260,7 +263,7 @@ export const StackedView: FC<TimingViewProps> = ({
|
|
|
260
263
|
0ms
|
|
261
264
|
</Typography>
|
|
262
265
|
<Typography variant="caption" color="text.secondary" fontWeight="bold">
|
|
263
|
-
|
|
266
|
+
{copy.total(formatTime(data.total))}
|
|
264
267
|
</Typography>
|
|
265
268
|
</Box>
|
|
266
269
|
</Box>
|
|
@@ -328,6 +331,7 @@ export const HorizontalView: FC<TimingViewProps> = ({
|
|
|
328
331
|
phases,
|
|
329
332
|
percentages,
|
|
330
333
|
data,
|
|
334
|
+
copy,
|
|
331
335
|
animated,
|
|
332
336
|
}) => {
|
|
333
337
|
const theme = useTheme();
|
|
@@ -352,7 +356,7 @@ export const HorizontalView: FC<TimingViewProps> = ({
|
|
|
352
356
|
))}
|
|
353
357
|
<Box sx={{ mt: 2, pt: 2, borderTop: `1px solid ${alpha(theme.palette.divider, 0.2)}` }}>
|
|
354
358
|
<Typography variant="body2" fontWeight="bold" color="primary">
|
|
355
|
-
|
|
359
|
+
{copy.totalTime(formatTime(data.total))}
|
|
356
360
|
</Typography>
|
|
357
361
|
</Box>
|
|
358
362
|
</HorizontalBar>
|
|
@@ -109,7 +109,7 @@ const TutorialStepNav: React.FC<{
|
|
|
109
109
|
endIcon={<NextIcon />}
|
|
110
110
|
onClick={onNext}
|
|
111
111
|
disabled={requiresActionBeforeNext}
|
|
112
|
-
title={requiresActionBeforeNext ?
|
|
112
|
+
title={requiresActionBeforeNext ? copy.requiresAction : ''}
|
|
113
113
|
data-testid="tutorial-next-button"
|
|
114
114
|
>
|
|
115
115
|
{copy.next}
|
|
@@ -126,7 +126,7 @@ const TutorialStepNav: React.FC<{
|
|
|
126
126
|
}}
|
|
127
127
|
data-testid="tutorial-finish-button"
|
|
128
128
|
>
|
|
129
|
-
{stepCount === 1 ?
|
|
129
|
+
{stepCount === 1 ? copy.complete : copy.finish}
|
|
130
130
|
</Button>
|
|
131
131
|
)}
|
|
132
132
|
</Stack>
|
|
@@ -52,24 +52,32 @@ export interface DashboardHeaderProps {
|
|
|
52
52
|
|
|
53
53
|
/** Props for `<Dashboard.Info>` — an `[i]` popover summarising the page. */
|
|
54
54
|
export interface DashboardInfoProps {
|
|
55
|
-
/** Popover heading.
|
|
56
|
-
title
|
|
55
|
+
/** Popover heading. REQUIRED — the fallback was the English "About this page". */
|
|
56
|
+
title: ReactNode;
|
|
57
57
|
/** Popover body content. */
|
|
58
58
|
children: ReactNode;
|
|
59
|
-
/** Accessible label for the trigger.
|
|
60
|
-
ariaLabel
|
|
59
|
+
/** Accessible label for the trigger. REQUIRED — the fallback was the English "Page information". */
|
|
60
|
+
ariaLabel: string;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
/** Props for `<Dashboard.FilterToggle>` — the funnel icon. */
|
|
64
64
|
export interface DashboardFilterToggleProps {
|
|
65
|
-
/**
|
|
66
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Accessible label while `<Dashboard.Filters>` is expanded. REQUIRED — the
|
|
67
|
+
* fallback was the English "Hide filters".
|
|
68
|
+
*/
|
|
69
|
+
hideLabel: string;
|
|
70
|
+
/**
|
|
71
|
+
* Accessible label while `<Dashboard.Filters>` is collapsed. REQUIRED — the
|
|
72
|
+
* fallback was the English "Show filters".
|
|
73
|
+
*/
|
|
74
|
+
showLabel: string;
|
|
67
75
|
}
|
|
68
76
|
|
|
69
77
|
/** Shared props for both modes of `<Dashboard.Settings>`. */
|
|
70
78
|
interface DashboardSettingsBaseProps {
|
|
71
|
-
/** Accessible label for the trigger.
|
|
72
|
-
ariaLabel
|
|
79
|
+
/** Accessible label for the trigger. REQUIRED — the fallback was the English "Settings". */
|
|
80
|
+
ariaLabel: string;
|
|
73
81
|
}
|
|
74
82
|
|
|
75
83
|
/**
|
|
@@ -79,8 +87,8 @@ interface DashboardSettingsBaseProps {
|
|
|
79
87
|
export interface DashboardSettingsDialogProps extends DashboardSettingsBaseProps {
|
|
80
88
|
/** The dialog's close button — a glyph with no visible label. REQUIRED. */
|
|
81
89
|
closeLabel: string;
|
|
82
|
-
/** Dialog title.
|
|
83
|
-
title
|
|
90
|
+
/** Dialog title. REQUIRED — the fallback was the English "Settings". */
|
|
91
|
+
title: ReactNode;
|
|
84
92
|
/** Dialog body. */
|
|
85
93
|
children: ReactNode;
|
|
86
94
|
href?: never;
|
|
@@ -132,8 +140,10 @@ export interface DashboardExportProps {
|
|
|
132
140
|
formats?: DashboardExportFormat[];
|
|
133
141
|
/** Invoked with the chosen format id. */
|
|
134
142
|
onExport: (formatId: string) => void;
|
|
135
|
-
/**
|
|
136
|
-
|
|
143
|
+
/**
|
|
144
|
+
* Button label. REQUIRED — the fallback was the English "Export" (FUT-2568).
|
|
145
|
+
*/
|
|
146
|
+
label: ReactNode;
|
|
137
147
|
}
|
|
138
148
|
|
|
139
149
|
/** Props for `<Dashboard.Action>` — a slot for a primary/secondary button. */
|
|
@@ -38,9 +38,9 @@ export const DashboardSpacer = (): React.JSX.Element => <Box sx={{ flex: 1 }} ar
|
|
|
38
38
|
DashboardSpacer.displayName = 'Dashboard.Spacer';
|
|
39
39
|
|
|
40
40
|
export const DashboardInfo = ({
|
|
41
|
-
title
|
|
41
|
+
title,
|
|
42
42
|
children,
|
|
43
|
-
ariaLabel
|
|
43
|
+
ariaLabel,
|
|
44
44
|
}: DashboardInfoProps): React.JSX.Element => {
|
|
45
45
|
const { testIdPrefix } = useDashboardContext();
|
|
46
46
|
const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null);
|
|
@@ -78,9 +78,12 @@ export const DashboardInfo = ({
|
|
|
78
78
|
};
|
|
79
79
|
DashboardInfo.displayName = 'Dashboard.Info';
|
|
80
80
|
|
|
81
|
-
export const DashboardFilterToggle = ({
|
|
81
|
+
export const DashboardFilterToggle = ({
|
|
82
|
+
hideLabel,
|
|
83
|
+
showLabel,
|
|
84
|
+
}: DashboardFilterToggleProps): React.JSX.Element => {
|
|
82
85
|
const { filtersVisible, toggleFilters, activeFilterCount, testIdPrefix } = useDashboardContext();
|
|
83
|
-
const label =
|
|
86
|
+
const label = filtersVisible ? hideLabel : showLabel;
|
|
84
87
|
return (
|
|
85
88
|
<Tooltip title={label}>
|
|
86
89
|
<IconButton
|
|
@@ -101,10 +104,10 @@ export const DashboardFilterToggle = ({ ariaLabel }: DashboardFilterToggleProps)
|
|
|
101
104
|
DashboardFilterToggle.displayName = 'Dashboard.FilterToggle';
|
|
102
105
|
|
|
103
106
|
export const DashboardSettings = ({
|
|
104
|
-
title
|
|
107
|
+
title,
|
|
105
108
|
closeLabel,
|
|
106
109
|
children,
|
|
107
|
-
ariaLabel
|
|
110
|
+
ariaLabel,
|
|
108
111
|
href,
|
|
109
112
|
linkComponent,
|
|
110
113
|
}: DashboardSettingsProps): React.JSX.Element => {
|
|
@@ -168,7 +171,7 @@ const DEFAULT_EXPORT_FORMATS: DashboardExportFormat[] = [
|
|
|
168
171
|
export const DashboardExport = ({
|
|
169
172
|
formats = DEFAULT_EXPORT_FORMATS,
|
|
170
173
|
onExport,
|
|
171
|
-
label
|
|
174
|
+
label,
|
|
172
175
|
}: DashboardExportProps): React.JSX.Element => {
|
|
173
176
|
const { testIdPrefix } = useDashboardContext();
|
|
174
177
|
const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);
|
package/src/copy/data-display.ts
CHANGED
|
@@ -24,6 +24,16 @@ export interface LightboxCopy {
|
|
|
24
24
|
/** The slideshow toggle, in its two states. */
|
|
25
25
|
play: string;
|
|
26
26
|
pause: string;
|
|
27
|
+
/** The dialog's own accessible name, read out before its hidden title. */
|
|
28
|
+
dialogLabel: string;
|
|
29
|
+
/** The hidden title's item count, when the current item has no `alt`. */
|
|
30
|
+
itemPosition: (index: number, total: number) => string;
|
|
31
|
+
/** A `<video>`'s accessible name, when the item has no `alt`. */
|
|
32
|
+
videoFallback: (index: number, total: number) => string;
|
|
33
|
+
/** An `<img>`'s `alt`, when the item has no `alt`. */
|
|
34
|
+
imageFallback: (index: number, total: number) => string;
|
|
35
|
+
/** A filmstrip thumbnail's `alt`, when the item has no `alt`. */
|
|
36
|
+
thumbnailFallback: (index: number) => string;
|
|
27
37
|
}
|
|
28
38
|
|
|
29
39
|
/** The map preview's control bar — same shape, same reason, as the lightbox. */
|
|
@@ -42,10 +52,40 @@ export interface CarouselCopy {
|
|
|
42
52
|
next: string;
|
|
43
53
|
}
|
|
44
54
|
|
|
45
|
-
/** The request-timing diagram's own
|
|
55
|
+
/** The request-timing diagram's own words: its region, its phases, its totals. */
|
|
46
56
|
export interface TimingDiagramCopy {
|
|
47
57
|
regionLabel: string;
|
|
48
58
|
heading: string;
|
|
59
|
+
/** The five phases a waterfall/stacked/horizontal bar can show. */
|
|
60
|
+
dns: string;
|
|
61
|
+
connect: string;
|
|
62
|
+
ssl: string;
|
|
63
|
+
request: string;
|
|
64
|
+
response: string;
|
|
65
|
+
/** The stacked view's own total sentence, e.g. "Total: 1.20s". */
|
|
66
|
+
total: (formatted: string) => string;
|
|
67
|
+
/** The horizontal view's own total sentence, e.g. "Total Time: 1.20s". */
|
|
68
|
+
totalTime: (formatted: string) => string;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* The DataGrid's own words — every one a fallback the caller can still
|
|
73
|
+
* override: `column.ariaLabel`, `expansion.expandLabel`/`collapseLabel` and
|
|
74
|
+
* the grid's own `ariaLabel` all win when given. REQUIRED: the fallbacks were
|
|
75
|
+
* English literals with no way to localise them at all.
|
|
76
|
+
*/
|
|
77
|
+
export interface DataGridCopy {
|
|
78
|
+
/** A sortable header button's accessible name, unless the column's own `ariaLabel` wins. */
|
|
79
|
+
sortBy: (header: string) => string;
|
|
80
|
+
/** A row's selection checkbox, unless `selection` is off. */
|
|
81
|
+
selectRow: (rowNumber: number) => string;
|
|
82
|
+
/** The header's select-all checkbox. */
|
|
83
|
+
selectAllRows: string;
|
|
84
|
+
/** The expand chevron's two states, unless `expansion.expandLabel`/`collapseLabel` win. */
|
|
85
|
+
expandRow: string;
|
|
86
|
+
collapseRow: string;
|
|
87
|
+
/** The grid's own accessible name, unless the caller's `ariaLabel` wins. */
|
|
88
|
+
gridLabel: string;
|
|
49
89
|
}
|
|
50
90
|
|
|
51
91
|
export interface DataStateCopy {
|
package/src/copy/feedback.ts
CHANGED
|
@@ -15,12 +15,18 @@
|
|
|
15
15
|
* table, the grid, the async container, the hover card and the infinite
|
|
16
16
|
* scroller each rendered their own copy of.
|
|
17
17
|
*/
|
|
18
|
-
/** The guided tour's
|
|
18
|
+
/** The guided tour's controls, and the toast/modal chrome around it. */
|
|
19
19
|
export interface TutorialCopy {
|
|
20
20
|
skip: string;
|
|
21
21
|
previous: string;
|
|
22
22
|
next: string;
|
|
23
23
|
restart: string;
|
|
24
|
+
/** The last step's own next button, when it is the tour's only step. */
|
|
25
|
+
complete: string;
|
|
26
|
+
/** The last step's own next button, in a tour of more than one step. */
|
|
27
|
+
finish: string;
|
|
28
|
+
/** The next/finish button's title while `requiresActionBeforeNext` blocks it. */
|
|
29
|
+
requiresAction: string;
|
|
24
30
|
}
|
|
25
31
|
|
|
26
32
|
/** Chrome that carries a glyph and no text, across several small surfaces. */
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import type { DataViewsCopy } from "./components/data-display/DataViews/data-views-copy";
|
|
6
6
|
import type {
|
|
7
7
|
CarouselCopy,
|
|
8
|
+
DataGridCopy,
|
|
8
9
|
DataStateCopy,
|
|
9
10
|
LightboxCopy,
|
|
10
11
|
MapPreviewCopy,
|
|
@@ -26,6 +27,20 @@ export const EN_US_LIGHTBOX_COPY: LightboxCopy = {
|
|
|
26
27
|
resetZoom: "Reset zoom",
|
|
27
28
|
play: "Start the slideshow",
|
|
28
29
|
pause: "Pause the slideshow",
|
|
30
|
+
dialogLabel: "Lightbox",
|
|
31
|
+
itemPosition: (index, total) => `Item ${index} of ${total}`,
|
|
32
|
+
videoFallback: (index, total) => `Video ${index} of ${total}`,
|
|
33
|
+
imageFallback: (index, total) => `Image ${index} of ${total}`,
|
|
34
|
+
thumbnailFallback: (index) => `Thumbnail ${index}`,
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const EN_US_DATA_GRID_COPY: DataGridCopy = {
|
|
38
|
+
sortBy: (header) => `Sort by ${header}`,
|
|
39
|
+
selectRow: (rowNumber) => `Select row ${rowNumber}`,
|
|
40
|
+
selectAllRows: "Select all rows",
|
|
41
|
+
expandRow: "Expand row",
|
|
42
|
+
collapseRow: "Collapse row",
|
|
43
|
+
gridLabel: "Data grid",
|
|
29
44
|
};
|
|
30
45
|
|
|
31
46
|
export const EN_US_MAP_PREVIEW_COPY: MapPreviewCopy = {
|
|
@@ -45,6 +60,13 @@ export const EN_US_CAROUSEL_COPY: CarouselCopy = {
|
|
|
45
60
|
export const EN_US_TIMING_DIAGRAM_COPY: TimingDiagramCopy = {
|
|
46
61
|
regionLabel: "Timing diagram",
|
|
47
62
|
heading: "Request timing",
|
|
63
|
+
dns: "DNS Lookup",
|
|
64
|
+
connect: "Connection",
|
|
65
|
+
ssl: "SSL/TLS",
|
|
66
|
+
request: "Request",
|
|
67
|
+
response: "Response",
|
|
68
|
+
total: (formatted) => `Total: ${formatted}`,
|
|
69
|
+
totalTime: (formatted) => `Total Time: ${formatted}`,
|
|
48
70
|
};
|
|
49
71
|
|
|
50
72
|
export const EN_US_DATA_STATE_COPY: DataStateCopy = {
|
|
@@ -161,6 +183,7 @@ export const EN_US_DATA_VIEWS_COPY: DataViewsCopy = {
|
|
|
161
183
|
},
|
|
162
184
|
tableFilter: EN_US_TABLE_FILTER_COPY,
|
|
163
185
|
grid: {
|
|
186
|
+
...EN_US_DATA_GRID_COPY,
|
|
164
187
|
rowActions: "Actions",
|
|
165
188
|
bulkActions: (selectedCount) => `Actions (${selectedCount}) ▾`,
|
|
166
189
|
emptyFilteredTitle: "No results for these filters",
|
package/src/en-US.feedback.ts
CHANGED
|
@@ -13,6 +13,9 @@ export const EN_US_TUTORIAL_COPY: TutorialCopy = {
|
|
|
13
13
|
previous: "Back",
|
|
14
14
|
next: "Next",
|
|
15
15
|
restart: "Start over",
|
|
16
|
+
complete: "Complete",
|
|
17
|
+
finish: "Finish",
|
|
18
|
+
requiresAction: "Complete the required action first",
|
|
16
19
|
};
|
|
17
20
|
|
|
18
21
|
export const EN_US_CHROME_COPY: ChromeCopy = {
|
package/src/locales.ts
CHANGED
|
@@ -30,6 +30,7 @@ import type {
|
|
|
30
30
|
CodeEditorCopy,
|
|
31
31
|
CommandPaletteCopy,
|
|
32
32
|
ConfirmActionCopy,
|
|
33
|
+
DataGridCopy,
|
|
33
34
|
DataStateCopy,
|
|
34
35
|
InstallPromptCopy,
|
|
35
36
|
LightboxCopy,
|
|
@@ -69,6 +70,7 @@ export const DATA_STATE_COPY = pack<DataStateCopy>(
|
|
|
69
70
|
pt.PT_BR_DATA_STATE_COPY,
|
|
70
71
|
en.EN_US_DATA_STATE_COPY,
|
|
71
72
|
);
|
|
73
|
+
export const DATA_GRID_COPY = pack<DataGridCopy>(pt.PT_BR_DATA_GRID_COPY, en.EN_US_DATA_GRID_COPY);
|
|
72
74
|
export const DATA_VIEWS_COPY = pack<DataViewsCopy>(
|
|
73
75
|
pt.PT_BR_DATA_VIEWS_COPY,
|
|
74
76
|
en.EN_US_DATA_VIEWS_COPY,
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import type { DataViewsCopy } from "./components/data-display/DataViews/data-views-copy";
|
|
6
6
|
import type {
|
|
7
7
|
CarouselCopy,
|
|
8
|
+
DataGridCopy,
|
|
8
9
|
DataStateCopy,
|
|
9
10
|
LightboxCopy,
|
|
10
11
|
MapPreviewCopy,
|
|
@@ -26,6 +27,20 @@ export const PT_BR_LIGHTBOX_COPY: LightboxCopy = {
|
|
|
26
27
|
resetZoom: "Restaurar o zoom",
|
|
27
28
|
play: "Iniciar a apresentação",
|
|
28
29
|
pause: "Pausar a apresentação",
|
|
30
|
+
dialogLabel: "Galeria de imagens",
|
|
31
|
+
itemPosition: (index, total) => `Item ${index} de ${total}`,
|
|
32
|
+
videoFallback: (index, total) => `Vídeo ${index} de ${total}`,
|
|
33
|
+
imageFallback: (index, total) => `Imagem ${index} de ${total}`,
|
|
34
|
+
thumbnailFallback: (index) => `Miniatura ${index}`,
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const PT_BR_DATA_GRID_COPY: DataGridCopy = {
|
|
38
|
+
sortBy: (header) => `Ordenar por ${header}`,
|
|
39
|
+
selectRow: (rowNumber) => `Selecionar linha ${rowNumber}`,
|
|
40
|
+
selectAllRows: "Selecionar todas as linhas",
|
|
41
|
+
expandRow: "Expandir linha",
|
|
42
|
+
collapseRow: "Recolher linha",
|
|
43
|
+
gridLabel: "Grade de dados",
|
|
29
44
|
};
|
|
30
45
|
|
|
31
46
|
export const PT_BR_MAP_PREVIEW_COPY: MapPreviewCopy = {
|
|
@@ -45,6 +60,13 @@ export const PT_BR_CAROUSEL_COPY: CarouselCopy = {
|
|
|
45
60
|
export const PT_BR_TIMING_DIAGRAM_COPY: TimingDiagramCopy = {
|
|
46
61
|
regionLabel: "Diagrama de tempos",
|
|
47
62
|
heading: "Tempo da requisição",
|
|
63
|
+
dns: "Busca de DNS",
|
|
64
|
+
connect: "Conexão",
|
|
65
|
+
ssl: "SSL/TLS",
|
|
66
|
+
request: "Requisição",
|
|
67
|
+
response: "Resposta",
|
|
68
|
+
total: (formatted) => `Total: ${formatted}`,
|
|
69
|
+
totalTime: (formatted) => `Tempo total: ${formatted}`,
|
|
48
70
|
};
|
|
49
71
|
|
|
50
72
|
export const PT_BR_DATA_STATE_COPY: DataStateCopy = {
|
|
@@ -158,6 +180,7 @@ export const PT_BR_DATA_VIEWS_COPY: DataViewsCopy = {
|
|
|
158
180
|
},
|
|
159
181
|
tableFilter: PT_BR_TABLE_FILTER_COPY,
|
|
160
182
|
grid: {
|
|
183
|
+
...PT_BR_DATA_GRID_COPY,
|
|
161
184
|
rowActions: "Ações",
|
|
162
185
|
bulkActions: (selectedCount) => `Ações (${selectedCount}) ▾`,
|
|
163
186
|
emptyFilteredTitle: "Nenhum resultado para esses filtros",
|
package/src/pt-BR.feedback.ts
CHANGED
|
@@ -13,6 +13,9 @@ export const PT_BR_TUTORIAL_COPY: TutorialCopy = {
|
|
|
13
13
|
previous: "Anterior",
|
|
14
14
|
next: "Próximo",
|
|
15
15
|
restart: "Recomeçar",
|
|
16
|
+
complete: "Concluir",
|
|
17
|
+
finish: "Finalizar",
|
|
18
|
+
requiresAction: "Conclua a ação obrigatória primeiro",
|
|
16
19
|
};
|
|
17
20
|
|
|
18
21
|
export const PT_BR_CHROME_COPY: ChromeCopy = {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/en-US.data-display.ts"],"sourcesContent":["/**\n * The en-US pack for the data-display family. Split the same way\n * `pt-BR.data-display.ts` is — see `en-US.ts` for why.\n */\nimport type { DataViewsCopy } from \"./components/data-display/DataViews/data-views-copy\";\nimport type {\n CarouselCopy,\n DataStateCopy,\n LightboxCopy,\n MapPreviewCopy,\n TimingDiagramCopy,\n} from './copy';\nimport { EN_US_TABLE_FILTER_COPY } from './en-US.layout';\nimport {\n EN_US_CATEGORY_SELECT_COPY,\n EN_US_CONFIRM_ACTION_COPY,\n EN_US_SAVED_VIEWS_LABELS,\n} from './en-US.shared';\n\nexport const EN_US_LIGHTBOX_COPY: LightboxCopy = {\n close: \"Close\",\n previous: \"Previous\",\n next: \"Next\",\n zoomIn: \"Zoom in\",\n zoomOut: \"Zoom out\",\n resetZoom: \"Reset zoom\",\n play: \"Start the slideshow\",\n pause: \"Pause the slideshow\",\n};\n\nexport const EN_US_MAP_PREVIEW_COPY: MapPreviewCopy = {\n zoomIn: \"Zoom in\",\n zoomOut: \"Zoom out\",\n center: \"Centre the map\",\n mapType: \"Change the map type\",\n fullscreen: \"Full screen\",\n search: \"Search for an address\",\n};\n\nexport const EN_US_CAROUSEL_COPY: CarouselCopy = {\n previous: \"Previous\",\n next: \"Next\",\n};\n\nexport const EN_US_TIMING_DIAGRAM_COPY: TimingDiagramCopy = {\n regionLabel: \"Timing diagram\",\n heading: \"Request timing\",\n};\n\nexport const EN_US_DATA_STATE_COPY: DataStateCopy = {\n empty: \"Nothing here\",\n loading: \"Loading…\",\n endOfList: \"No more items to load\",\n dismissAlert: \"Dismiss\",\n dismissBanner: \"Dismiss this banner\",\n};\n\nexport const EN_US_DATA_VIEWS_COPY: DataViewsCopy = {\n savedViewsMenu: EN_US_SAVED_VIEWS_LABELS,\n confirmAction: EN_US_CONFIRM_ACTION_COPY,\n categorySelect: EN_US_CATEGORY_SELECT_COPY,\n board: {\n countOnPage: (label, count) => `${label}: ${count} on this page`,\n onThisPage: (count) => `${count} on this page`,\n pageSum: (sum) => `This page totals ${sum}`,\n emptyColumn: \"Nothing at this stage\",\n pageScopeNote: \"The counts and totals below cover only the items on this page.\",\n },\n deleteView: {\n title: \"Delete view\",\n target: (viewName) => `Delete \"${viewName}\"?`,\n sharedWarning: \"This view is shared — the team will lose access to it.\",\n // `entityLabel` is the HOST's word for what the rows are, so the sentence is\n // built around it rather than naming a noun of its own.\n rowsUnaffected: (entityLabel) =>\n `${entityLabel} are not affected; only the saved slice is removed.`,\n confirm: \"Delete view\",\n cancel: \"Cancel\",\n },\n manageViews: {\n title: \"Manage views\",\n empty: \"No saved views.\",\n edit: \"Edit\",\n defaultTag: \"Default\",\n otherUserTag: \"Another user's\",\n deleteTitle: \"Delete this saved view?\",\n deleteBody: \"The filters and columns it holds are lost. This cannot be undone.\",\n deleteConfirm: \"Delete\",\n },\n saveView: {\n sharedDescription: \"Anyone in the store will be able to open and use this view.\",\n setDefaultTitle: \"Set as default\",\n setDefaultDescription: \"This screen opens on this view instead of the Main view.\",\n previewHeading: \"What this view holds\",\n previewUnchanged: \"Nothing has changed — this view will match the Main view.\",\n sortRowLabel: \"Sorting\",\n saveFailed: \"Could not save the view.\",\n titleEditing: \"Edit view\",\n titleCreating: \"Save view\",\n descriptionLabel: \"Description — optional\",\n descriptionPlaceholder: \"What this view is for\",\n submitEditing: \"Save changes\",\n submitCreating: \"Save view\",\n nameLabel: \"Name\",\n cancel: \"Cancel\",\n pinnedTitle: \"Pin to the sidebar\",\n pinnedDescription: \"Appears as a shortcut in the menu, under this screen.\",\n sharedTitle: \"Share with the team\",\n namePlaceholder: \"e.g. Declined card payments this week\",\n previewFilters: \"Filters\",\n previewHiddenColumns: \"Hidden columns\",\n },\n columns: {\n visibleCount: (visible, total) => `${visible} of ${total} visible`,\n reset: \"Default\",\n showAll: \"Show all\",\n dragHint: \"Drag to reorder the columns.\",\n moveUp: (columnLabel) => `Move ${columnLabel} up`,\n moveDown: (columnLabel) => `Move ${columnLabel} down`,\n },\n display: {\n sortTab: \"Sort\",\n columnsTab: \"Columns\",\n panelTab: \"Display\",\n direction: \"Direction\",\n layoutHints: {\n table: \"Comparable columns, good for scanning numbers.\",\n list: \"One row per item, with the key fields.\",\n cards: \"Larger blocks, good for a handful of items.\",\n board: \"A column per stage, for tracking what is where.\",\n },\n densityHeadings: {\n table: \"Row height\",\n list: \"Row height\",\n cards: \"Cards per row\",\n board: \"Column width\",\n },\n densityLabels: {\n table: { compact: \"Low\", cozy: \"Medium\", comfortable: \"High\" },\n list: { compact: \"Low\", cozy: \"Medium\", comfortable: \"High\" },\n cards: { compact: \"Many\", cozy: \"Some\", comfortable: \"Few\" },\n board: { compact: \"Narrow\", cozy: \"Medium\", comfortable: \"Wide\" },\n },\n boardUnavailable: \"This screen declares no stages, so it offers no board.\",\n densityUnavailableNarrow:\n \"One card per row at this width — density returns on larger screens.\",\n trigger: \"Display\",\n fieldHeading: \"Field\",\n formatHeading: \"Format\",\n cardZoom: \"Card size\",\n },\n export: {\n formats: {\n // The extension is the file's, not a word: it stays as it is written on\n // disk in every language.\n json: { label: \"JSON (.json)\", hint: \"For integrations\" },\n },\n visibleColumns: (columnCount) => `${columnCount} visible columns, in their current order`,\n trigger: \"Export\",\n triggerLabel: \"Export\",\n },\n tableFilter: EN_US_TABLE_FILTER_COPY,\n grid: {\n rowActions: \"Actions\",\n bulkActions: (selectedCount) => `Actions (${selectedCount}) ▾`,\n emptyFilteredTitle: \"No results for these filters\",\n emptyFilteredHint: \"Adjust or remove the filters.\",\n emptyFilteredAction: \"Clear filters\",\n },\n filters: {\n moreFilters: (count) => `More filters: ${count} did not fit in the bar`,\n moreFiltersApplied: (count, appliedCount) =>\n `More filters: ${count} did not fit in the bar, ${appliedCount} applied`,\n moreTriggerLabel: \"More\",\n moreHeading: \"More filters\",\n overflowNote: \"did not fit in the bar\",\n rangeEnd: \"To\",\n rangeInvalid: \"The start must be earlier than the end.\",\n rangeInclusiveNote: \"Both dates are included in the result.\",\n rangeStart: \"From\",\n // The mask is what the reader TYPES, so it follows their own date order\n // rather than being carried over. A translated label above an unchanged\n // mask is the shape that gets a date entered backwards.\n dayMask: \"mm/dd/yyyy\",\n clearAllFilters: \"Clear all filters\",\n // The KEYS are the package's own preset ids and stay as they are — the\n // surface matches on them. Only the labels beside them are words.\n rangePresets: {\n hoje: \"Today\",\n ontem: \"Yesterday\",\n semana: \"This week\",\n mes: \"This month\",\n ano: \"This year\",\n },\n scopesLabel: \"Status\",\n panelTitle: \"Filters\",\n clear: \"Clear\",\n clearAll: \"Clear filters\",\n clearRange: (label) => `Clear ${label}`,\n allOption: \"All\",\n optionSearchPlaceholder: \"Search…\",\n optionsEmpty: \"No results\",\n optionsHeading: \"Options\",\n },\n selection: {\n selectAllOnPage: \"Select all on this page\",\n clearSelection: \"Clear selection\",\n selectAll: \"Select all\",\n onThisPage: (count) => `${count} on this page`,\n selectRow: \"Select\",\n expandRow: \"Expand details\",\n collapseRow: \"Collapse details\",\n },\n nav: {\n mainView: \"Main view\",\n defaultTag: \"Default\",\n viewOptions: (viewName) => `${viewName} options`,\n emptyHint: \"No saved views. Adjust filters, columns or sorting and save below.\",\n setDefault: \"Set as default\",\n deleteView: \"Delete view\",\n unsavedChanges: \"Unsaved changes\",\n label: \"View\",\n update: \"Update view\",\n save: \"Save view\",\n saveAs: \"Save as new\",\n reset: \"Reset\",\n updateFailed: \"Could not update the view\",\n dismissError: \"Dismiss\",\n goBack: \"Back\",\n pageSize: \"Show:\",\n saveFailed: \"Could not save the change to the view.\",\n editView: \"Rename and edit\",\n pinToSidebar: \"Pin to the sidebar\",\n shareWithTeam: \"Share with the team\",\n },\n search: {\n placeholder: \"Search…\",\n allColumnsLabel: \"Search every column\",\n keywordPlaceholder: \"Press Enter to filter\",\n open: \"Search\",\n close: \"Close search\",\n clear: \"Clear search\",\n },\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/data-display/TimingDiagram/TimingDiagram.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport type { FC } from 'react';\nimport React, { useMemo } from 'react';\n\nimport type { TimingData, TimingDiagramProps } from './TimingDiagram.types';\nimport type { Phase, PhaseKey, TimingViewProps } from './TimingDiagram.views';\nimport {\n HorizontalView,\n phaseColors,\n StackedView,\n WaterfallView,\n} from './TimingDiagram.views';\nimport { rem } from '../../../tokens/relative';\n\n// Styled components\nconst DiagramContainer = styled(Paper)(({ theme }) => ({\n padding: theme.spacing(3),\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.9)} 0%, ${alpha(theme.palette.background.paper, 0.8)} 100%)`,\n backdropFilter: `blur(${rem(theme, 10)})`,\n WebkitBackdropFilter: `blur(${rem(theme, 10)})`,\n border: `1px solid ${alpha(theme.palette.divider, 0.18)}`,\n borderRadius: theme.shape.borderRadius * 2,\n}));\n\nconst Legend = styled(Box)(({ theme }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n gap: theme.spacing(2),\n marginTop: theme.spacing(2),\n paddingTop: theme.spacing(2),\n borderTop: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n}));\n\nconst LegendItem = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n '& .color': {\n width: rem(theme, 12),\n height: rem(theme, 12),\n borderRadius: rem(theme, 2),\n },\n '& .label': {\n fontSize: rem(theme, 12.8),\n color: theme.palette.text.secondary,\n },\n}));\n\n// Helper functions\nconst calculatePercentages = (data: TimingData): Record<string, number> => {\n const total = data.total || 1;\n return {\n dns: ((data.dns || 0) / total) * 100,\n connect: ((data.connect || 0) / total) * 100,\n ssl: ((data.ssl || 0) / total) * 100,\n request: ((data.request || 0) / total) * 100,\n response: ((data.response || 0) / total) * 100,\n };\n};\n\n// A phase with no recorded time never happened — an HTTP request has no SSL\n// handshake, for instance — so it gets no bar and no legend entry.\nconst phasesOf = (data: TimingData): Phase[] =>\n [\n { key: 'dns', label: 'DNS Lookup', value: data.dns },\n { key: 'connect', label: 'Connection', value: data.connect },\n { key: 'ssl', label: 'SSL/TLS', value: data.ssl },\n { key: 'request', label: 'Request', value: data.request },\n { key: 'response', label: 'Response', value: data.response },\n ].filter((phase) => phase.value !== undefined && phase.value > 0);\n\nconst VIEWS: Record<string, FC<TimingViewProps>> = {\n waterfall: WaterfallView,\n stacked: StackedView,\n horizontal: HorizontalView,\n};\n\n// Main component\nexport const TimingDiagram: FC<TimingDiagramProps> = ({\n copy,\n data,\n showLabels = true,\n height,\n animated = true,\n showTooltips = true,\n variant = 'waterfall',\n}) => {\n const percentages = useMemo(() => calculatePercentages(data), [data]);\n const phases = phasesOf(data);\n const View = VIEWS[variant];\n\n return (\n <DiagramContainer elevation={2} role=\"region\" aria-label={copy.regionLabel} tabIndex={0}>\n <Typography variant=\"h6\" fontWeight=\"bold\" gutterBottom>\n {copy.heading}\n </Typography>\n\n {View && (\n <View\n phases={phases}\n percentages={percentages}\n data={data}\n animated={animated}\n showLabels={showLabels}\n showTooltips={showTooltips}\n // The waterfall's plot height, 40 design px unless the caller says otherwise.\n plotHeightPx={height ?? 40}\n />\n )}\n\n {showLabels && (\n <Legend>\n {phases.map((phase) => (\n <LegendItem key={phase.key}>\n <Box\n className=\"color\"\n sx={(theme) => ({ backgroundColor: phaseColors(theme)[phase.key as PhaseKey] })}\n />\n <Typography className=\"label\">{phase.label}</Typography>\n </LegendItem>\n ))}\n </Legend>\n )}\n </DiagramContainer>\n );\n};\n\n// Export default\nexport default TimingDiagram;\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pt-BR.feedback.ts"],"sourcesContent":["/**\n * The pt-BR pack for the feedback family. Split out of `pt-BR.ts`, which is a\n * barrel over this folder — see that file for why.\n */\nimport type {\n ChromeCopy,\n NotificationUnblockCopy,\n TutorialCopy,\n} from './copy';\n\nexport const PT_BR_TUTORIAL_COPY: TutorialCopy = {\n skip: \"Pular\",\n previous: \"Anterior\",\n next: \"Próximo\",\n restart: \"Recomeçar\",\n};\n\nexport const PT_BR_CHROME_COPY: ChromeCopy = {\n dismissToast: \"Fechar o aviso\",\n goBack: \"Voltar\",\n closePanel: \"Fechar\",\n closeTab: \"Fechar a aba\",\n scrollRegion: \"Conteúdo rolável\",\n scrollToTop: \"Voltar ao topo\",\n share: \"Compartilhar\",\n};\n\nconst PT_BR_CHROMIUM_DESKTOP = [\n \"Clique no ícone à esquerda do endereço do site.\",\n \"Abra \\\"Configurações do site\\\".\",\n \"Em \\\"Notificações\\\", escolha \\\"Permitir\\\".\",\n \"Volte a esta página e recarregue.\",\n] as const;\n\nconst PT_BR_CHROMIUM_ANDROID = [\n \"Toque no ícone à esquerda do endereço do site.\",\n \"Toque em \\\"Permissões\\\".\",\n \"Toque em \\\"Notificações\\\" e escolha \\\"Permitir\\\".\",\n \"Volte a esta página e recarregue.\",\n] as const;\n\nexport const PT_BR_NOTIFICATION_UNBLOCK_COPY: NotificationUnblockCopy = {\n ios: [\n \"Abra os Ajustes do iPhone.\",\n \"Toque em \\\"Notificações\\\".\",\n \"Encontre este app na lista e ative \\\"Permitir Notificações\\\".\",\n ],\n chrome: { desktop: PT_BR_CHROMIUM_DESKTOP, android: PT_BR_CHROMIUM_ANDROID },\n edge: {\n desktop: [\n \"Clique no cadeado à esquerda do endereço do site.\",\n \"Abra \\\"Permissões para este site\\\".\",\n \"Em \\\"Notificações\\\", escolha \\\"Permitir\\\".\",\n \"Volte a esta página e recarregue.\",\n ],\n android: PT_BR_CHROMIUM_ANDROID,\n },\n firefox: {\n desktop: [\n \"Clique no ícone de permissões à esquerda do endereço do site.\",\n \"Ao lado de \\\"Enviar notificações\\\", clique no X para tirar o bloqueio.\",\n \"Recarregue a página e ative as notificações de novo.\",\n ],\n android: [\n \"Abra o menu do navegador e toque em \\\"Configurações\\\".\",\n \"Toque em \\\"Permissões de sites\\\" e depois em \\\"Notificações\\\".\",\n \"Encontre este site e escolha \\\"Permitir\\\".\",\n \"Volte a esta página e recarregue.\",\n ],\n },\n opera: { desktop: PT_BR_CHROMIUM_DESKTOP, android: PT_BR_CHROMIUM_ANDROID },\n safari: {\n desktop: [\n \"No menu Safari, abra \\\"Ajustes\\\".\",\n \"Vá na aba \\\"Sites\\\" e, na lateral, em \\\"Notificações\\\".\",\n \"Encontre este site e escolha \\\"Permitir\\\".\",\n \"Volte a esta página e recarregue.\",\n ],\n },\n samsung: {\n android: [\n \"Abra o menu do navegador e toque em \\\"Configurações\\\".\",\n \"Toque em \\\"Sites e downloads\\\" e depois em \\\"Notificações\\\".\",\n \"Encontre este site e permita as notificações.\",\n \"Volte a esta página e recarregue.\",\n ],\n },\n other: [\n \"Abra as configurações do navegador.\",\n \"Procure as permissões dos sites e depois \\\"Notificações\\\".\",\n \"Permita as notificações para este site.\",\n \"Volte a esta página e recarregue.\",\n ],\n};\n"],"mappings":";AAUO,IAAM,sBAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,SAAS;AACX;AAEO,IAAM,oBAAgC;AAAA,EAC3C,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAAA,EACd,aAAa;AAAA,EACb,OAAO;AACT;AAEA,IAAM,yBAAyB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,yBAAyB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,kCAA2D;AAAA,EACtE,KAAK;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,QAAQ,EAAE,SAAS,wBAAwB,SAAS,uBAAuB;AAAA,EAC3E,MAAM;AAAA,IACJ,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO,EAAE,SAAS,wBAAwB,SAAS,uBAAuB;AAAA,EAC1E,QAAQ;AAAA,IACN,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/data-display/Lightbox/LightboxMedia.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport React from 'react';\n\nimport type { LightboxItem } from './Lightbox.types';\n\nexport interface LightboxMediaProps {\n item: LightboxItem;\n index: number;\n total: number;\n zoomLevel: number;\n panOffset: { x: number; y: number };\n zoomable: boolean;\n isDragging: boolean;\n testId: (suffix: string) => string;\n onLoadStart: () => void;\n onLoaded: () => void;\n onWheel: (event: React.WheelEvent) => void;\n onDoubleClick: () => void;\n}\n\nconst cursorFor = (zoomLevel: number, zoomable: boolean): string => {\n if (zoomLevel > 1) return 'move';\n return zoomable ? 'zoom-in' : 'default';\n};\n\nexport const LightboxMedia: FC<LightboxMediaProps> = ({\n item,\n index,\n total,\n zoomLevel,\n panOffset,\n zoomable,\n isDragging,\n testId,\n onLoadStart,\n onLoaded,\n onWheel,\n onDoubleClick,\n}) => {\n if (item.type === 'video') {\n return (\n <video\n src={item.src}\n controls\n style={{ maxWidth: '90vw', maxHeight: '80vh', objectFit: 'contain' }}\n onLoadStart={onLoadStart}\n onLoadedData={onLoaded}\n aria-label={item.alt || `Video ${index + 1} of ${total}`}\n data-testid={testId('video')}\n />\n );\n }\n\n return (\n <img\n src={item.src}\n alt={item.alt || `Image ${index + 1} of ${total}`}\n style={{\n // At 1x the image is bounded by the viewport; once zoomed it is allowed\n // to overflow so there is something to pan around.\n maxWidth: zoomLevel === 1 ? '90vw' : 'none',\n maxHeight: zoomLevel === 1 ? '80vh' : 'none',\n transform: `scale(${zoomLevel}) translate(${panOffset.x}px, ${panOffset.y}px)`,\n transformOrigin: 'center',\n cursor: cursorFor(zoomLevel, zoomable),\n transition: isDragging ? 'none' : 'transform 0.2s ease',\n objectFit: 'contain',\n }}\n onLoad={onLoaded}\n onWheel={onWheel}\n onDoubleClick={onDoubleClick}\n draggable={false}\n data-testid={testId('image')}\n />\n );\n};\n"],"mappings":";AAyCM;AArBN,IAAM,YAAY,CAAC,WAAmB,aAA8B;AAClE,MAAI,YAAY,EAAG,QAAO;AAC1B,SAAO,WAAW,YAAY;AAChC;AAEO,IAAM,gBAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,MAAI,KAAK,SAAS,SAAS;AACzB,WACE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK,KAAK;AAAA,QACV,UAAQ;AAAA,QACR,OAAO,EAAE,UAAU,QAAQ,WAAW,QAAQ,WAAW,UAAU;AAAA,QACnE;AAAA,QACA,cAAc;AAAA,QACd,cAAY,KAAK,OAAO,SAAS,QAAQ,CAAC,OAAO,KAAK;AAAA,QACtD,eAAa,OAAO,OAAO;AAAA;AAAA,IAC7B;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK,KAAK;AAAA,MACV,KAAK,KAAK,OAAO,SAAS,QAAQ,CAAC,OAAO,KAAK;AAAA,MAC/C,OAAO;AAAA;AAAA;AAAA,QAGL,UAAU,cAAc,IAAI,SAAS;AAAA,QACrC,WAAW,cAAc,IAAI,SAAS;AAAA,QACtC,WAAW,SAAS,SAAS,eAAe,UAAU,CAAC,OAAO,UAAU,CAAC;AAAA,QACzE,iBAAiB;AAAA,QACjB,QAAQ,UAAU,WAAW,QAAQ;AAAA,QACrC,YAAY,aAAa,SAAS;AAAA,QAClC,WAAW;AAAA,MACb;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX,eAAa,OAAO,OAAO;AAAA;AAAA,EAC7B;AAEJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/en-US.feedback.ts"],"sourcesContent":["/**\n * The en-US pack for the feedback family. Split the same way\n * `pt-BR.feedback.ts` is — see `en-US.ts` for why.\n */\nimport type {\n ChromeCopy,\n NotificationUnblockCopy,\n TutorialCopy,\n} from './copy';\n\nexport const EN_US_TUTORIAL_COPY: TutorialCopy = {\n skip: \"Skip\",\n previous: \"Back\",\n next: \"Next\",\n restart: \"Start over\",\n};\n\nexport const EN_US_CHROME_COPY: ChromeCopy = {\n dismissToast: \"Dismiss\",\n goBack: \"Back\",\n closePanel: \"Close\",\n closeTab: \"Close tab\",\n scrollRegion: \"Scrollable content\",\n scrollToTop: \"Back to top\",\n share: \"Share\",\n};\n\nconst EN_US_CHROMIUM_DESKTOP = [\n \"Click the icon to the left of the site's address.\",\n \"Open \\\"Site settings\\\".\",\n \"Under \\\"Notifications\\\", choose \\\"Allow\\\".\",\n \"Come back to this page and reload it.\",\n] as const;\n\nconst EN_US_CHROMIUM_ANDROID = [\n \"Tap the icon to the left of the site's address.\",\n \"Tap \\\"Permissions\\\".\",\n \"Tap \\\"Notifications\\\" and choose \\\"Allow\\\".\",\n \"Come back to this page and reload it.\",\n] as const;\n\nexport const EN_US_NOTIFICATION_UNBLOCK_COPY: NotificationUnblockCopy = {\n ios: [\n \"Open the iPhone's Settings.\",\n \"Tap \\\"Notifications\\\".\",\n \"Find this app in the list and turn on \\\"Allow Notifications\\\".\",\n ],\n chrome: { desktop: EN_US_CHROMIUM_DESKTOP, android: EN_US_CHROMIUM_ANDROID },\n edge: {\n desktop: [\n \"Click the lock to the left of the site's address.\",\n \"Open \\\"Permissions for this site\\\".\",\n \"Under \\\"Notifications\\\", choose \\\"Allow\\\".\",\n \"Come back to this page and reload it.\",\n ],\n android: EN_US_CHROMIUM_ANDROID,\n },\n firefox: {\n desktop: [\n \"Click the permissions icon to the left of the site's address.\",\n \"Next to \\\"Send notifications\\\", click the X to clear the block.\",\n \"Reload the page and turn notifications on again.\",\n ],\n android: [\n \"Open the browser menu and tap \\\"Settings\\\".\",\n \"Tap \\\"Site permissions\\\", then \\\"Notifications\\\".\",\n \"Find this site and choose \\\"Allow\\\".\",\n \"Come back to this page and reload it.\",\n ],\n },\n opera: { desktop: EN_US_CHROMIUM_DESKTOP, android: EN_US_CHROMIUM_ANDROID },\n safari: {\n desktop: [\n \"In the Safari menu, open \\\"Settings\\\".\",\n \"Go to the \\\"Websites\\\" tab and pick \\\"Notifications\\\" in the sidebar.\",\n \"Find this site and choose \\\"Allow\\\".\",\n \"Come back to this page and reload it.\",\n ],\n },\n samsung: {\n android: [\n \"Open the browser menu and tap \\\"Settings\\\".\",\n \"Tap \\\"Sites and downloads\\\", then \\\"Notifications\\\".\",\n \"Find this site and allow notifications.\",\n \"Come back to this page and reload it.\",\n ],\n },\n other: [\n \"Open the browser's settings.\",\n \"Look for site permissions, then \\\"Notifications\\\".\",\n \"Allow notifications for this site.\",\n \"Come back to this page and reload it.\",\n ],\n};\n"],"mappings":";AAUO,IAAM,sBAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,SAAS;AACX;AAEO,IAAM,oBAAgC;AAAA,EAC3C,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAAA,EACd,aAAa;AAAA,EACb,OAAO;AACT;AAEA,IAAM,yBAAyB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,yBAAyB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,kCAA2D;AAAA,EACtE,KAAK;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,QAAQ,EAAE,SAAS,wBAAwB,SAAS,uBAAuB;AAAA,EAC3E,MAAM;AAAA,IACJ,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO,EAAE,SAAS,wBAAwB,SAAS,uBAAuB;AAAA,EAC1E,QAAQ;AAAA,IACN,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
|
package/dist/chunk-BAFDSAWY.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
thumbnailStripSx
|
|
3
|
-
} from "./chunk-3KA6MYIR.js";
|
|
4
|
-
import {
|
|
5
|
-
onMedia,
|
|
6
|
-
sheen
|
|
7
|
-
} from "./chunk-FQ6UW7IY.js";
|
|
8
|
-
import {
|
|
9
|
-
rem,
|
|
10
|
-
sxRem
|
|
11
|
-
} from "./chunk-YKCAJ2TN.js";
|
|
12
|
-
|
|
13
|
-
// src/components/data-display/Lightbox/LightboxThumbnails.tsx
|
|
14
|
-
import PlayIcon from "@mui/icons-material/PlayArrow";
|
|
15
|
-
import Box from "@mui/material/Box/index.js";
|
|
16
|
-
import { jsx } from "react/jsx-runtime";
|
|
17
|
-
var THUMB = { widthPx: 60, heightPx: 40 };
|
|
18
|
-
var frame = (theme, color) => `${rem(theme, 2)} solid ${color}`;
|
|
19
|
-
var VideoThumbnail = () => /* @__PURE__ */ jsx(
|
|
20
|
-
Box,
|
|
21
|
-
{
|
|
22
|
-
sx: {
|
|
23
|
-
width: "100%",
|
|
24
|
-
height: "100%",
|
|
25
|
-
background: (theme) => sheen(theme, 0.1),
|
|
26
|
-
display: "flex",
|
|
27
|
-
alignItems: "center",
|
|
28
|
-
justifyContent: "center"
|
|
29
|
-
},
|
|
30
|
-
children: /* @__PURE__ */ jsx(PlayIcon, { sx: { color: onMedia, fontSize: sxRem(16) } })
|
|
31
|
-
}
|
|
32
|
-
);
|
|
33
|
-
var LightboxThumbnails = ({
|
|
34
|
-
items,
|
|
35
|
-
currentIndex,
|
|
36
|
-
testId,
|
|
37
|
-
onSelect
|
|
38
|
-
}) => /* @__PURE__ */ jsx(
|
|
39
|
-
Box,
|
|
40
|
-
{
|
|
41
|
-
sx: {
|
|
42
|
-
...thumbnailStripSx,
|
|
43
|
-
position: "absolute",
|
|
44
|
-
bottom: sxRem(16),
|
|
45
|
-
left: "50%",
|
|
46
|
-
transform: "translateX(-50%)",
|
|
47
|
-
display: "flex",
|
|
48
|
-
gap: 1,
|
|
49
|
-
maxWidth: "90vw",
|
|
50
|
-
overflowX: "auto",
|
|
51
|
-
padding: 1
|
|
52
|
-
},
|
|
53
|
-
"data-testid": testId("thumbnails"),
|
|
54
|
-
children: items.map((item, index) => /* @__PURE__ */ jsx(
|
|
55
|
-
Box,
|
|
56
|
-
{
|
|
57
|
-
onClick: () => onSelect(index),
|
|
58
|
-
sx: {
|
|
59
|
-
width: sxRem(THUMB.widthPx),
|
|
60
|
-
height: sxRem(THUMB.heightPx),
|
|
61
|
-
cursor: "pointer",
|
|
62
|
-
border: (theme) => frame(theme, currentIndex === index ? onMedia(theme) : "transparent"),
|
|
63
|
-
borderRadius: 0.5,
|
|
64
|
-
overflow: "hidden",
|
|
65
|
-
flexShrink: 0,
|
|
66
|
-
"&:hover": { border: (theme) => frame(theme, sheen(theme, 0.7)) }
|
|
67
|
-
},
|
|
68
|
-
"data-testid": testId(`thumbnail-${index}`),
|
|
69
|
-
children: item.type === "video" ? /* @__PURE__ */ jsx(VideoThumbnail, {}) : /* @__PURE__ */ jsx(
|
|
70
|
-
"img",
|
|
71
|
-
{
|
|
72
|
-
src: item.src,
|
|
73
|
-
alt: item.alt || `Thumbnail ${index + 1}`,
|
|
74
|
-
style: { width: "100%", height: "100%", objectFit: "cover" }
|
|
75
|
-
}
|
|
76
|
-
)
|
|
77
|
-
},
|
|
78
|
-
`${item.src}-${index}`
|
|
79
|
-
))
|
|
80
|
-
}
|
|
81
|
-
);
|
|
82
|
-
|
|
83
|
-
export {
|
|
84
|
-
LightboxThumbnails
|
|
85
|
-
};
|
|
86
|
-
//# sourceMappingURL=chunk-BAFDSAWY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/data-display/Lightbox/LightboxThumbnails.tsx"],"sourcesContent":["import PlayIcon from '@mui/icons-material/PlayArrow';\nimport Box from '@mui/material/Box/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { thumbnailStripSx } from './Lightbox.constants';\nimport type { LightboxItem } from './Lightbox.types';\nimport { onMedia, sheen } from '../../../tokens/ink';\nimport { rem, sxRem } from '../../../tokens/relative';\n\n/** One filmstrip frame, in design px. */\nconst THUMB = { widthPx: 60, heightPx: 40 } as const;\n\nconst frame = (theme: Theme, color: string): string => `${rem(theme, 2)} solid ${color}`;\n\nconst VideoThumbnail: FC = () => (\n <Box\n sx={{\n width: '100%',\n height: '100%',\n background: (theme: Theme) => sheen(theme, 0.1),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <PlayIcon sx={{ color: onMedia, fontSize: sxRem(16) }} />\n </Box>\n);\n\nexport interface LightboxThumbnailsProps {\n items: LightboxItem[];\n currentIndex: number;\n testId: (suffix: string) => string;\n onSelect: (index: number) => void;\n}\n\nexport const LightboxThumbnails: FC<LightboxThumbnailsProps> = ({\n items,\n currentIndex,\n testId,\n onSelect,\n}) => (\n <Box\n sx={{\n ...thumbnailStripSx,\n position: 'absolute',\n bottom: sxRem(16),\n left: '50%',\n transform: 'translateX(-50%)',\n display: 'flex',\n gap: 1,\n maxWidth: '90vw',\n overflowX: 'auto',\n padding: 1,\n }}\n data-testid={testId('thumbnails')}\n >\n {items.map((item, index) => (\n <Box\n key={`${item.src}-${index}`}\n onClick={() => onSelect(index)}\n sx={{\n width: sxRem(THUMB.widthPx),\n height: sxRem(THUMB.heightPx),\n cursor: 'pointer',\n border: (theme: Theme) => frame(theme, currentIndex === index ? onMedia(theme) : 'transparent'),\n borderRadius: 0.5,\n overflow: 'hidden',\n flexShrink: 0,\n '&:hover': { border: (theme: Theme) => frame(theme, sheen(theme, 0.7)) },\n }}\n data-testid={testId(`thumbnail-${index}`)}\n >\n {item.type === 'video' ? (\n <VideoThumbnail />\n ) : (\n <img\n src={item.src}\n alt={item.alt || `Thumbnail ${index + 1}`}\n style={{ width: '100%', height: '100%', objectFit: 'cover' }}\n />\n )}\n </Box>\n ))}\n </Box>\n);\n"],"mappings":";;;;;;;;;;;;;AAAA,OAAO,cAAc;AACrB,OAAO,SAAS;AA0BZ;AAfJ,IAAM,QAAQ,EAAE,SAAS,IAAI,UAAU,GAAG;AAE1C,IAAM,QAAQ,CAAC,OAAc,UAA0B,GAAG,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK;AAEtF,IAAM,iBAAqB,MACzB;AAAA,EAAC;AAAA;AAAA,IACC,IAAI;AAAA,MACF,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,YAAY,CAAC,UAAiB,MAAM,OAAO,GAAG;AAAA,MAC9C,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,IAClB;AAAA,IAEA,8BAAC,YAAS,IAAI,EAAE,OAAO,SAAS,UAAU,MAAM,EAAE,EAAE,GAAG;AAAA;AACzD;AAUK,IAAM,qBAAkD,CAAC;AAAA,EAC9D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE;AAAA,EAAC;AAAA;AAAA,IACC,IAAI;AAAA,MACF,GAAG;AAAA,MACH,UAAU;AAAA,MACV,QAAQ,MAAM,EAAE;AAAA,MAChB,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,eAAa,OAAO,YAAY;AAAA,IAE/B,gBAAM,IAAI,CAAC,MAAM,UAChB;AAAA,MAAC;AAAA;AAAA,QAEC,SAAS,MAAM,SAAS,KAAK;AAAA,QAC7B,IAAI;AAAA,UACF,OAAO,MAAM,MAAM,OAAO;AAAA,UAC1B,QAAQ,MAAM,MAAM,QAAQ;AAAA,UAC5B,QAAQ;AAAA,UACR,QAAQ,CAAC,UAAiB,MAAM,OAAO,iBAAiB,QAAQ,QAAQ,KAAK,IAAI,aAAa;AAAA,UAC9F,cAAc;AAAA,UACd,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW,EAAE,QAAQ,CAAC,UAAiB,MAAM,OAAO,MAAM,OAAO,GAAG,CAAC,EAAE;AAAA,QACzE;AAAA,QACA,eAAa,OAAO,aAAa,KAAK,EAAE;AAAA,QAEvC,eAAK,SAAS,UACb,oBAAC,kBAAe,IAEhB;AAAA,UAAC;AAAA;AAAA,YACC,KAAK,KAAK;AAAA,YACV,KAAK,KAAK,OAAO,aAAa,QAAQ,CAAC;AAAA,YACvC,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,WAAW,QAAQ;AAAA;AAAA,QAC7D;AAAA;AAAA,MArBG,GAAG,KAAK,GAAG,IAAI,KAAK;AAAA,IAuB3B,CACD;AAAA;AACH;","names":[]}
|