From e4671b4b6accc08c75db0b94b68dd26f52b73227 Mon Sep 17 00:00:00 2001 From: Michael Matloka Date: Wed, 15 Nov 2023 15:45:50 +0100 Subject: [PATCH 1/5] style(frontend): Always order CSS properties in one way --- .stylelintrc.js | 9 +- .../ExportedInsight/ExportedInsight.scss | 24 +-- frontend/src/exporter/Exporter.scss | 4 +- .../layout/ErrorBoundary/ErrorBoundary.scss | 12 +- .../layout/navigation-3000/Navigation.scss | 132 ++++++------ .../components/Breadcrumbs.scss | 38 ++-- .../components/KeyboardShortcut.scss | 10 +- .../navigation-3000/sidepanel/SidePanel.scss | 18 +- .../navigation/Breadcrumbs/Breadcrumbs.scss | 6 +- .../layout/navigation/SideBar/SideBar.scss | 64 +++--- .../src/layout/navigation/TopBar/TopBar.scss | 54 ++--- .../ActivationSidebar/ActivationSidebar.scss | 14 +- .../components/ActivityLog/ActivityLog.scss | 18 +- .../lib/components/Animation/Animation.scss | 6 +- .../AnnotationsOverlay.scss | 16 +- .../lib/components/BridgePage/BridgePage.scss | 40 ++-- .../src/lib/components/Cards/CardMeta.scss | 27 +-- .../Cards/InsightCard/InsightCard.scss | 50 ++--- .../components/Cards/TextCard/TextCard.scss | 4 +- .../components/CodeSnippet/CodeSnippet.scss | 2 +- .../CommandPalette/CommandPalette.scss | 42 ++-- .../components/CompactList/CompactList.scss | 16 +- .../components/DateDisplay/DateDisplay.scss | 10 +- .../DateFilter/RollingDateRangeFilter.scss | 24 +-- .../DefinitionPopover/DefinitionPopover.scss | 30 +-- .../DropdownSelector/DropdownSelector.scss | 6 +- .../EditableField/EditableField.scss | 18 +- .../components/EmptyMessage/EmptyMessage.scss | 4 +- .../SelectableElement.scss | 2 +- .../HedgehogBuddy/HedgehogBuddy.scss | 6 +- .../lib/components/HelpButton/HelpButton.scss | 4 +- .../components/InsightLabel/InsightLabel.scss | 10 +- .../InsightLegend/InsightLegend.scss | 4 +- frontend/src/lib/components/Map/Maplibre.scss | 2 +- .../src/lib/components/NotFound/NotFound.scss | 20 +- .../components/PayGateMini/PayGateMini.scss | 6 +- .../components/PayGatePage/PayGatePage.scss | 6 +- .../PropertiesTable/PropertiesTable.scss | 16 +- .../PropertyFilters/PropertyFilters.scss | 12 +- .../PropertyFilters/components/FilterRow.scss | 2 +- .../components/PropertyFilterButton.scss | 17 +- .../components/PropertyValue.scss | 8 +- .../components/TaxonomicPropertyFilter.scss | 18 +- .../PropertyGroupFilters.scss | 36 ++-- .../src/lib/components/PropertyKeyInfo.scss | 12 +- .../src/lib/components/Resizer/Resizer.scss | 17 +- .../components/SelectGradientOverflow.scss | 18 +- .../lib/components/Sharing/SharingModal.scss | 2 +- .../lib/components/StickyView/StickyView.scss | 2 +- .../src/lib/components/TZLabel/index.scss | 6 +- .../TaxonomicFilter/InfiniteList.scss | 14 +- .../TaxonomicFilter/TaxonomicFilter.scss | 20 +- .../TimelineSeekbar/TimelineSeekbar.scss | 25 +-- .../UniversalSearch/UniversalSearch.scss | 2 +- .../UserActivityIndicator.scss | 2 +- .../LemonActionableTooltip.scss | 8 +- .../lib/lemon-ui/LemonBadge/LemonBadge.scss | 38 ++-- .../lib/lemon-ui/LemonBanner/LemonBanner.scss | 20 +- .../lib/lemon-ui/LemonButton/LemonButton.scss | 192 +++++++++--------- .../lemon-ui/LemonCalendar/LemonCalendar.scss | 4 +- .../src/lib/lemon-ui/LemonCard/LemonCard.scss | 2 +- .../lemon-ui/LemonCheckbox/LemonCheckbox.scss | 24 +-- .../lemon-ui/LemonCollapse/LemonCollapse.scss | 10 +- .../lemon-ui/LemonDivider/LemonDivider.scss | 4 +- .../LemonFileInput/LemonFileInput.scss | 4 +- .../lib/lemon-ui/LemonInput/LemonInput.scss | 32 +-- .../lib/lemon-ui/LemonLabel/LemonLabel.scss | 2 +- .../lib/lemon-ui/LemonModal/LemonModal.scss | 42 ++-- .../LemonProgressCircle.scss | 2 +- .../src/lib/lemon-ui/LemonRow/LemonRow.scss | 46 ++--- .../LemonSegmentedButton.scss | 15 +- .../LemonSelectMultiple.scss | 20 +- .../lemon-ui/LemonSkeleton/LemonSkeleton.scss | 10 +- .../lib/lemon-ui/LemonSwitch/LemonSwitch.scss | 34 ++-- .../lib/lemon-ui/LemonTable/LemonTable.scss | 49 ++--- .../lemon-ui/LemonTable/LemonTableLoader.scss | 16 +- .../src/lib/lemon-ui/LemonTabs/LemonTabs.scss | 27 +-- .../src/lib/lemon-ui/LemonTag/LemonTag.scss | 34 ++-- .../lemon-ui/LemonTextArea/LemonTextArea.scss | 25 ++- .../lib/lemon-ui/LemonWidget/LemonWidget.scss | 6 +- .../lib/lemon-ui/Lettermark/Lettermark.scss | 16 +- frontend/src/lib/lemon-ui/Link/Link.scss | 12 +- .../PaginationControl/PaginationControl.scss | 2 +- .../src/lib/lemon-ui/Popover/Popover.scss | 30 +-- .../ProfilePicture/ProfilePicture.scss | 30 +-- .../src/lib/lemon-ui/Spinner/Spinner.scss | 26 +-- frontend/src/lib/lemon-ui/icons/icons.scss | 2 +- frontend/src/lib/logic/newPrompt/prompt.scss | 10 +- .../ColumnConfigurator.scss | 19 +- .../queries/nodes/DataTable/DataTable.scss | 26 +-- .../nodes/InsightViz/EditorFilters.scss | 28 +-- .../src/queries/nodes/InsightViz/Insight.scss | 6 +- .../PropertyGroupFilters.scss | 16 +- .../scenes/PreflightCheck/PreflightCheck.scss | 20 +- frontend/src/scenes/authentication/Login.scss | 2 +- .../scenes/batch_exports/BatchExports.scss | 6 +- frontend/src/scenes/billing/Billing.scss | 12 +- frontend/src/scenes/billing/BillingGauge.scss | 10 +- frontend/src/scenes/billing/BillingHero.scss | 8 +- .../src/scenes/billing/PlanComparison.scss | 4 +- frontend/src/scenes/billing/PlanTable.scss | 4 +- .../CohortFilters/CohortCriteriaGroups.scss | 10 +- .../CohortCriteriaRowBuilder.scss | 24 +-- .../cohorts/CohortFilters/CohortField.scss | 6 +- frontend/src/scenes/cohorts/Cohorts.scss | 12 +- frontend/src/scenes/dashboard/Dashboard.scss | 10 +- .../src/scenes/dashboard/DashboardItems.scss | 26 +-- .../dashboard/EmptyDashboardComponent.scss | 26 +-- .../scenes/dashboard/NewDashboardModal.scss | 4 +- .../definition/Definition.scss | 32 +-- .../events/EventDefinitionsTable.scss | 22 +- .../properties/PropertyDefinitionsTable.scss | 8 +- .../src/scenes/experiments/Experiment.scss | 72 +++---- .../src/scenes/feature-flags/FeatureFlag.scss | 20 +- .../FeatureFlagInstructions.scss | 2 +- .../scenes/feature-flags/JSONEditorInput.scss | 6 +- .../FunnelBarChart/FunnelBarChart.scss | 44 ++-- .../FunnelBarGraph/FunnelBarGraph.scss | 32 +-- .../src/scenes/ingestion/IngestionWizard.scss | 34 ++-- .../ingestion/panels/InstructionsPanel.scss | 4 +- .../src/scenes/ingestion/panels/Panels.scss | 16 +- .../insights/EmptyStates/EmptyStates.scss | 12 +- frontend/src/scenes/insights/Insight.scss | 24 +-- .../InsightTooltip/InsightTooltip.scss | 28 +-- .../InsightTooltip/LEGACY_InsightTooltip.scss | 30 +-- .../filters/ActionFilter/ActionFilter.scss | 8 +- .../ActionFilterRow/ActionFilterRow.scss | 10 +- .../filters/BreakdownFilter/BreakdownTag.scss | 6 +- .../BreakdownFilter/BreakdownTagMenu.scss | 2 +- .../insights/views/BoldNumber/BoldNumber.scss | 6 +- .../views/Funnels/CorrelationMatrix.scss | 18 +- .../views/Funnels/FunnelCorrelation.scss | 8 +- .../views/Funnels/FunnelCorrelationTable.scss | 37 ++-- .../insights/views/Histogram/Histogram.scss | 5 +- .../views/InsightsTable/InsightsTable.scss | 4 +- .../insights/views/WorldMap/WorldMap.scss | 4 +- .../AddToNotebook/DraggableToNotebook.scss | 5 +- .../scenes/notebooks/Nodes/NodeWrapper.scss | 30 +-- .../scenes/notebooks/Notebook/Notebook.scss | 42 ++-- .../NotebookPanel/NotebookPanel.scss | 30 +-- .../NotebookPanel/NotebookPopover.scss | 52 ++--- .../src/scenes/notebooks/NotebookScene.scss | 2 +- .../Suggestions/FloatingSuggestions.scss | 2 +- frontend/src/scenes/paths/Paths.scss | 4 +- .../src/scenes/persons/MergeSplitPerson.scss | 16 +- .../src/scenes/persons/PersonDisplay.scss | 2 +- frontend/src/scenes/persons/PersonScene.scss | 4 +- .../scenes/plugins/source/PluginSource.scss | 2 +- .../project-homepage/ProjectHomepage.scss | 17 +- .../scenes/retention/RetentionContainer.scss | 4 +- .../src/scenes/retention/RetentionTable.scss | 16 +- .../scenes/saved-insights/SavedInsights.scss | 26 +-- .../player/PlayerFrame.scss | 42 ++-- .../player/PlayerFrameOverlay.scss | 6 +- .../session-recordings/player/PlayerMeta.scss | 12 +- .../player/PlayerUpNext.scss | 20 +- .../player/SessionRecordingPlayer.scss | 36 ++-- .../player/controller/Seekbar.scss | 70 +++---- .../player/inspector/PlayerInspectorList.scss | 2 +- .../SessionRecordingPlayerExplorer.scss | 6 +- .../playlist/SessionRecordingsPlaylist.scss | 20 +- frontend/src/scenes/settings/Settings.scss | 15 +- .../settings/organization/InviteModal.scss | 6 +- .../src/scenes/surveys/SurveyAppearance.scss | 128 ++++++------ .../src/scenes/surveys/SurveyTemplates.scss | 6 +- frontend/src/scenes/surveys/SurveyView.scss | 6 +- .../scenes/toolbar-launch/ToolbarLaunch.scss | 8 +- frontend/src/styles/fonts.scss | 6 +- frontend/src/styles/global.scss | 156 +++++++------- frontend/src/styles/mixins.scss | 18 +- frontend/src/styles/utilities.scss | 22 +- frontend/src/styles/utility-legacy.scss | 2 +- frontend/src/styles/vars.scss | 2 + frontend/src/toolbar/actions/ActionsTab.scss | 4 +- .../src/toolbar/button/ToolbarButton.scss | 32 +-- frontend/src/toolbar/flags/featureFlags.scss | 4 +- frontend/src/toolbar/styles.scss | 12 +- package.json | 1 + pnpm-lock.yaml | 12 ++ 179 files changed, 1741 insertions(+), 1721 deletions(-) diff --git a/.stylelintrc.js b/.stylelintrc.js index 5df820f88d8fb..547e51a3710b9 100644 --- a/.stylelintrc.js +++ b/.stylelintrc.js @@ -1,8 +1,8 @@ module.exports = { - extends: 'stylelint-config-standard-scss', // TODO: Enable separately, as the diff will be significant - // TODO: Enable separately, as the diff will be significant "plugins": ["stylelint-order"], + extends: ['stylelint-config-standard-scss', 'stylelint-config-recess-order'], + plugins: ['stylelint-order'], rules: { - 'no-descending-specificity': null, + 'no-descending-specificity': null, // TODO: Enable separately, as the diff will be significant 'number-max-precision': 5, 'value-keyword-case': [ 'lower', @@ -42,7 +42,6 @@ module.exports = { 'scss/operator-no-newline-after': null, // Doesn't always play well with prettier 'scss/at-extend-no-missing-placeholder': null, 'scss/comment-no-empty': null, - // "order/order": ["dollar-variables", "custom-properties", "declarations", "rules", "at-rules"], - // "order/properties-order": ["width", "height"], + 'order/order': ['dollar-variables', 'custom-properties', 'declarations', 'rules', 'at-rules'], }, } diff --git a/frontend/src/exporter/ExportedInsight/ExportedInsight.scss b/frontend/src/exporter/ExportedInsight/ExportedInsight.scss index cab975ef99ae8..27e657cc6231a 100644 --- a/frontend/src/exporter/ExportedInsight/ExportedInsight.scss +++ b/frontend/src/exporter/ExportedInsight/ExportedInsight.scss @@ -1,19 +1,19 @@ .ExportedInsight { position: relative; - min-width: 0; - max-width: 100%; - border-radius: var(--radius); - border: 1px solid var(--border); z-index: 3; - background: var(--bg-light); display: flex; flex-direction: column; + min-width: 0; + max-width: 100%; + background: var(--bg-light); + border: 1px solid var(--border); + border-radius: var(--radius); .ExportedInsight__header { - padding: 1rem; - border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; + padding: 1rem; + border-bottom: 1px solid var(--border); .ExportedInsight__header__title { font-size: 1rem; @@ -22,9 +22,9 @@ } .ExportedInsight__content { - flex: 1; position: relative; z-index: 1; + flex: 1; .FunnelBarChart { min-height: 50vw; @@ -47,13 +47,13 @@ .ExportedInsight__watermark { position: absolute; - right: 0; top: 0; + right: 0; z-index: 2; svg { - font-size: 0.75rem; margin: 0.25rem; + font-size: 0.75rem; } } @@ -66,10 +66,10 @@ flex-direction: column; .FunnelBarChart { + flex: 1; height: 100%; - max-height: 100%; min-height: auto; - flex: 1; + max-height: 100%; } .InsightViz { diff --git a/frontend/src/exporter/Exporter.scss b/frontend/src/exporter/Exporter.scss index 17fb7a4e4b3e5..1845e3a800b9f 100644 --- a/frontend/src/exporter/Exporter.scss +++ b/frontend/src/exporter/Exporter.scss @@ -15,9 +15,9 @@ @include screen($md) { display: flex; - justify-content: space-between; - align-items: center; gap: 1rem; + align-items: center; + justify-content: space-between; .SharedDashboard-header-title { max-width: 50%; diff --git a/frontend/src/layout/ErrorBoundary/ErrorBoundary.scss b/frontend/src/layout/ErrorBoundary/ErrorBoundary.scss index be9ac8887a160..2027e62542aba 100644 --- a/frontend/src/layout/ErrorBoundary/ErrorBoundary.scss +++ b/frontend/src/layout/ErrorBoundary/ErrorBoundary.scss @@ -1,10 +1,10 @@ .ErrorBoundary { - background: var(--danger-highlight); - border-radius: var(--radius); - margin: 1.5rem; - padding: 0.75rem 1rem 1rem; min-width: 0; height: fit-content; + padding: 0.75rem 1rem 1rem; + margin: 1.5rem; + background: var(--danger-highlight); + border-radius: var(--radius); .main-app-content > & { margin: 1.5rem 0; @@ -12,15 +12,15 @@ h2 { margin-bottom: 0.75rem; - color: var(--danger); font-weight: 600; + color: var(--danger); } pre { + padding: 0.75rem 1rem; margin-bottom: 0.75rem; background: var(--border-light); border-radius: var(--radius); - padding: 0.75rem 1rem; } .help-button { diff --git a/frontend/src/layout/navigation-3000/Navigation.scss b/frontend/src/layout/navigation-3000/Navigation.scss index 780a3787f7295..7dee9b95ab455 100644 --- a/frontend/src/layout/navigation-3000/Navigation.scss +++ b/frontend/src/layout/navigation-3000/Navigation.scss @@ -7,8 +7,8 @@ display: flex; width: 100%; height: 100vh; - background: var(--bg-3000); overflow: hidden; + background: var(--bg-3000); > main { flex: 1; @@ -20,8 +20,8 @@ .Navigation3000__scene { // `relative` is for positioning of the scene-level spinner position: relative; - margin: var(--scene-padding-y) var(--scene-padding-x); min-height: calc(100vh - var(--breadcrumbs-height-full) - var(--scene-padding-y) * 2); + margin: var(--scene-padding-y) var(--scene-padding-x); &.Navigation3000__scene--raw { --scene-padding-y: 0px; @@ -41,14 +41,14 @@ border-right-width: 1px; .Navbar3000__content { - flex: 1; + z-index: var(--z-main-nav); display: flex; + flex: 1; flex-direction: column; justify-content: space-between; padding: 0 0.375rem; - background: var(--accent-3000); overflow-y: auto; - z-index: var(--z-main-nav); + background: var(--accent-3000); .LemonButton { min-height: 2.25rem !important; // Reduce minimum height @@ -78,15 +78,15 @@ &.NavbarButton--here { &::after { - content: '•'; position: absolute; + right: 0; bottom: 0.25rem; left: 0; - right: 0; - text-align: center; font-size: 1.25rem; line-height: 0.5625rem; color: var(--default); + text-align: center; + content: '•'; } .LemonButton__icon { @@ -105,12 +105,12 @@ --sidebar-background: var(--bg-3000); position: relative; + box-sizing: content-box; + flex: 0 0 var(--sidebar-width); // This border is just for sizing, the visible border is on the content and slider // Hidden when the sidebar is closed border-right: min(1px, var(--sidebar-width)) solid transparent; - flex: 0 0 var(--sidebar-width); - box-sizing: content-box; [theme='dark'] & { --sidebar-background: var(--accent-3000); @@ -123,29 +123,29 @@ h3, h4, h5 { - color: var(--default); - text-overflow: ellipsis; - overflow: hidden; margin: 0; + overflow: hidden; line-height: inherit; + color: var(--default); + text-overflow: ellipsis; } h3 { + font-size: 0.75rem; font-weight: 600; line-height: 2rem; - font-size: 0.75rem; } h4 { + flex-grow: 1; + font-size: 0.6875rem; font-weight: 600; line-height: 1.75rem; - font-size: 0.6875rem; - flex-grow: 1; } h5 { - font-weight: 400; font-size: 0.75rem; + font-weight: 400; text-transform: none; letter-spacing: normal; } @@ -155,25 +155,25 @@ } .LemonInput--type-search { - transition: none; max-width: none; border-color: transparent; // Only show border on focus here border-radius: 0; + transition: none; } } .Sidebar3000__content { position: fixed; top: 0; + box-sizing: content-box; display: flex; flex-direction: column; align-items: stretch; - height: 100vh; width: var(--sidebar-width); + height: 100vh; + overflow: hidden; font-size: 0.6875rem; - box-sizing: content-box; white-space: nowrap; - overflow: hidden; background: var(--sidebar-background); // Extend the border into viewport overscroll @@ -192,58 +192,59 @@ position: relative; // For SpinnerOverlay display: flex; flex-direction: column; - align-items: stretch; flex-grow: 1; + align-items: stretch; overflow: hidden auto; } .Sidebar3000__hint { z-index: 1; - flex: 0 0 var(--sidebar-row-height); display: flex; + flex: 0 0 var(--sidebar-row-height); align-items: center; justify-content: space-between; padding: 0 var(--sidebar-horizontal-padding); - background: var(--bg-3000); - border-top-width: 1px; font-weight: 500; user-select: none; + background: var(--bg-3000); + border-top-width: 1px; } .Sidebar3000__slider { position: absolute; top: 0; - bottom: 0; right: calc( -1 * var(--sidebar-slider-padding) - min(1px, var(--sidebar-width)) ); // Center around the original sidebar border - width: calc(2 * var(--sidebar-slider-padding) + 1px); // The interactive area is enlarged for easier interaction - cursor: col-resize; - user-select: none; // Fixes inadvertent selection of scene text when resizing + bottom: 0; z-index: var( --z-notifications-popover ); // A bit above navbar for a nicer slider experience when the sidebar is closed + + width: calc(2 * var(--sidebar-slider-padding) + 1px); // The interactive area is enlarged for easier interaction + cursor: col-resize; + user-select: none; // Fixes inadvertent selection of scene text when resizing &::before, &::after { - content: ''; position: absolute; top: 0; bottom: 0; left: var(--sidebar-slider-padding); width: 1px; pointer-events: none; + content: ''; } &::before { - transition: 100ms ease transform; background: var(--border); + transition: 100ms ease transform; } &::after { - transition: 100ms ease transform; background: var(--text-3000); opacity: 0; + transition: 100ms ease transform; } &:hover::after, @@ -262,9 +263,9 @@ } .Sidebar3000__header { + display: flex; flex: 0 0 var(--sidebar-row-height); gap: 0.25rem; - display: flex; align-items: center; padding: 0 var(--sidebar-horizontal-padding); } @@ -278,11 +279,11 @@ --accordion-header-background: var(--accent-3000); --accordion-inset: 0rem; - min-height: var(--accordion-row-height); - flex-shrink: 0; - flex-basis: 0; display: flex; + flex-basis: 0; flex-direction: column; + flex-shrink: 0; + min-height: var(--accordion-row-height); [theme='dark'] & { --accordion-header-background: var(--bg-3000); @@ -320,22 +321,22 @@ z-index: 1; display: flex; align-items: center; - background: var(--accordion-header-background); height: var(--accordion-row-height); padding: 0 var(--sidebar-horizontal-padding); - border-bottom-width: 1px; cursor: pointer; user-select: none; + background: var(--accordion-header-background); + border-bottom-width: 1px; &:hover { background: var(--border-3000); } > .LemonIcon { - transition: 50ms ease transform; - font-size: var(--accordion-arrow-size); flex-shrink: 0; margin-right: calc(var(--accordion-inset-expandable) - var(--accordion-arrow-size)); + font-size: var(--accordion-arrow-size); + transition: 50ms ease transform; .Accordion[aria-expanded='true'] & { transform: rotate(90deg); @@ -350,19 +351,19 @@ --sidebar-list-item-background: var(--sidebar-background); position: relative; - color: var(--muted); line-height: 1.125rem; - opacity: 0.9; // Make items slightly lower contrast when not hovered + color: var(--muted); + list-style: none; background: var(--sidebar-list-item-background); border-bottom-width: 1px; - list-style: none; + opacity: 0.9; // Make items slightly lower contrast when not hovered &:hover:not([aria-disabled='true']), &[aria-current='page'], &.SidebarListItem--is-renaming { - opacity: 1; - --sidebar-list-item-background: var(--border-3000); + + opacity: 1; } &:hover, @@ -381,7 +382,6 @@ &.SidebarListItem--has-menu.SidebarListItem--extended { &::after { - content: ''; position: absolute; // Position 1px away so that the :focus-visible border isn't overlaid @@ -389,6 +389,7 @@ right: 1px; bottom: 1px; width: 3.5rem; + content: ''; background: linear-gradient( to left, var(--sidebar-list-item-background) 0%, @@ -402,12 +403,12 @@ &.SidebarListItem--marker-fold, &.SidebarListItem--marker-ribbon { &::before { - content: ''; - display: block; position: absolute; top: 0; left: 0; z-index: 1; + display: block; + content: ''; } } @@ -415,8 +416,8 @@ &::before { width: 0; height: 0; - border-left: var(--sidebar-list-item-fold-size) solid var(--sidebar-list-item-status-color); border-bottom: var(--sidebar-list-item-fold-size) solid transparent; + border-left: var(--sidebar-list-item-fold-size) solid var(--sidebar-list-item-status-color); } } @@ -462,11 +463,11 @@ color: inherit; &:focus-visible::after { - content: ''; position: absolute; inset: 0 0 -1px; - border: 1px solid var(--default); pointer-events: none; + content: ''; + border: 1px solid var(--default); } } @@ -474,6 +475,7 @@ row-gap: 1px; padding: 0 var(--sidebar-horizontal-padding) 0 var(--sidebar-list-item-inset); color: inherit !important; // Disable link color + .SidebarListItem[aria-disabled='true'] & { cursor: default; } @@ -484,21 +486,21 @@ background: var(--bg-light); input { - outline: none; - height: 100%; width: 100%; + height: 100%; + padding: 0 calc(var(--sidebar-horizontal-padding) + 2.5rem) 0 var(--sidebar-list-item-inset); font-size: 0.75rem; color: var(--default); - padding: 0 calc(var(--sidebar-horizontal-padding) + 2.5rem) 0 var(--sidebar-list-item-inset); background: none; + outline: none; } &::after { - content: ''; position: absolute; inset: 0 0 -1px; - border: 1px solid var(--default); pointer-events: none; + content: ''; + border: 1px solid var(--default); .SidebarListItem[aria-invalid='true'] & { border-color: var(--danger); @@ -510,30 +512,30 @@ position: absolute; top: 2rem; left: 0; - line-height: 1.25rem; - padding: 0 0.25rem; z-index: 1; - background: var(--danger); + padding: 0 0.25rem; + line-height: 1.25rem; color: #fff; white-space: normal; + background: var(--danger); &::before { - display: block; - content: ''; position: absolute; top: -0.5rem; left: 0; + display: block; + content: ''; border: 0.25rem solid transparent; - border-left-color: var(--danger); border-bottom-color: var(--danger); + border-left-color: var(--danger); } } .SidebarListItem__actions { - z-index: 1; // Show above .SidebarListItem::after gradient position: absolute; - right: var(--sidebar-horizontal-padding); top: 50%; - transform: translateY(-50%); + right: var(--sidebar-horizontal-padding); + z-index: 1; // Show above .SidebarListItem::after gradient display: none; // Only show on hover/focus or for current page + transform: translateY(-50%); } diff --git a/frontend/src/layout/navigation-3000/components/Breadcrumbs.scss b/frontend/src/layout/navigation-3000/components/Breadcrumbs.scss index 75b3dae2df67d..34731f75de5e6 100644 --- a/frontend/src/layout/navigation-3000/components/Breadcrumbs.scss +++ b/frontend/src/layout/navigation-3000/components/Breadcrumbs.scss @@ -1,33 +1,33 @@ .Breadcrumbs3000 { --breadcrumbs-compaction-rate: 0; - z-index: var(--z-main-nav); position: sticky; top: 0; + z-index: var(--z-main-nav); display: flex; align-items: start; height: var(--breadcrumbs-height-full); - pointer-events: none; white-space: nowrap; + pointer-events: none; } .Breadcrumbs3000__content { - backdrop-filter: blur(8px); display: flex; align-items: center; width: 100%; - padding: 0 1rem; height: calc( var(--breadcrumbs-height-full) - (var(--breadcrumbs-height-full) - var(--breadcrumbs-height-compact)) * var(--breadcrumbs-compaction-rate) ); - background: var(--glass-bg-3000); - border-bottom: 1px solid var(--glass-border-3000); + padding: 0 1rem; font-size: calc(0.75rem + 0.0625rem * var(--breadcrumbs-compaction-rate)); - line-height: 1rem; font-weight: 600; - user-select: none; + line-height: 1rem; pointer-events: auto; + user-select: none; + background: var(--glass-bg-3000); + backdrop-filter: blur(8px); + border-bottom: 1px solid var(--glass-border-3000); } .Breadcrumbs3000__crumbs { @@ -43,12 +43,12 @@ .Breadcrumbs3000__here { position: relative; - line-height: 1.2; + height: calc(1em * 1.2 * (1 - var(--breadcrumbs-compaction-rate))); margin: calc(0.25rem * (1 - var(--breadcrumbs-compaction-rate))) 0 0; + overflow: hidden; font-size: 1rem; font-weight: 700; - overflow: hidden; - height: calc(1em * 1.2 * (1 - var(--breadcrumbs-compaction-rate))); + line-height: 1.2; > span { position: absolute; @@ -57,13 +57,13 @@ } .Breadcrumbs3000__breadcrumb { - flex-shrink: 0; display: flex; + flex-shrink: 0; align-items: center; + overflow: hidden; + color: var(--default); white-space: pre; cursor: default; - color: var(--default); - overflow: hidden; &.Link:hover { color: inherit; @@ -88,8 +88,8 @@ } > span { - transition: opacity 200ms ease; opacity: 0.5; + transition: opacity 200ms ease; } > .Lettermark { @@ -97,8 +97,8 @@ } > .LemonIcon { - font-size: 1rem; margin-left: 0.125rem; + font-size: 1rem; opacity: 0.5; } } @@ -118,10 +118,10 @@ } .Breadcrumbs3000__actions { - flex-grow: 1; display: flex; - justify-content: flex-end; + flex-grow: 1; + gap: 0.5rem; align-items: center; + justify-content: flex-end; margin-left: 0.5rem; - gap: 0.5rem; } diff --git a/frontend/src/layout/navigation-3000/components/KeyboardShortcut.scss b/frontend/src/layout/navigation-3000/components/KeyboardShortcut.scss index 6a1645dbcfd0e..9f60f2beaa051 100644 --- a/frontend/src/layout/navigation-3000/components/KeyboardShortcut.scss +++ b/frontend/src/layout/navigation-3000/components/KeyboardShortcut.scss @@ -6,18 +6,18 @@ display: inline-flex; align-items: center; justify-content: center; - height: 1.25rem; min-width: 1.25rem; + height: 1.25rem; padding: 0 0.1875rem; - border-radius: 0.125rem; - border-width: 1px; - background: var(--accent-3000); color: var(--default); text-transform: capitalize; + background: var(--accent-3000); + border-width: 1px; + border-radius: 0.125rem; .KeyboardShortcut--muted > & { - background: none; color: var(--muted); + background: none; } .ant-tooltip & { diff --git a/frontend/src/layout/navigation-3000/sidepanel/SidePanel.scss b/frontend/src/layout/navigation-3000/sidepanel/SidePanel.scss index 30c14c722c8d4..9bfc3610cb018 100644 --- a/frontend/src/layout/navigation-3000/sidepanel/SidePanel.scss +++ b/frontend/src/layout/navigation-3000/sidepanel/SidePanel.scss @@ -1,16 +1,19 @@ .SidePanel3000 { position: relative; - flex-shrink: 0; - box-sizing: content-box; z-index: var(--z-main-nav); - width: 3rem; + box-sizing: content-box; display: flex; + flex-shrink: 0; + width: 3rem; background: var(--accent-3000); &--open { position: relative; - max-width: 60%; + + // NOTE: This is only a default, as the resizer will override this + width: min(30%, 40rem); min-width: 30rem; + max-width: 60%; @media (max-width: 1200px) { position: fixed; @@ -23,9 +26,6 @@ box-shadow: none; } } - - // NOTE: This is only a default, as the resizer will override this - width: min(30%, 40rem); } &--resizing { @@ -37,11 +37,11 @@ display: flex; flex-direction: column; justify-content: space-between; - height: 100vh; width: 3rem; - border-left-width: 1px; + height: 100vh; overflow-y: auto; user-select: none; + border-left-width: 1px; .LemonButton { min-height: 2.25rem !important; // Reduce minimum height diff --git a/frontend/src/layout/navigation/Breadcrumbs/Breadcrumbs.scss b/frontend/src/layout/navigation/Breadcrumbs/Breadcrumbs.scss index 625535c49575e..15a70cfef57d9 100644 --- a/frontend/src/layout/navigation/Breadcrumbs/Breadcrumbs.scss +++ b/frontend/src/layout/navigation/Breadcrumbs/Breadcrumbs.scss @@ -3,17 +3,17 @@ align-items: center; width: 100%; margin-top: 1rem; - cursor: default; overflow-x: auto; + cursor: default; } .Breadcrumbs__breadcrumb { display: flex; + gap: 0.5rem; align-items: center; font-weight: var(--font-medium); white-space: pre; user-select: none; - gap: 0.5rem; &--current { color: var(--default); @@ -21,8 +21,8 @@ } &--actionable { - cursor: pointer; color: var(--primary); + cursor: pointer; } } diff --git a/frontend/src/layout/navigation/SideBar/SideBar.scss b/frontend/src/layout/navigation/SideBar/SideBar.scss index 32576a7fb18db..2dc3f8c41972f 100644 --- a/frontend/src/layout/navigation/SideBar/SideBar.scss +++ b/frontend/src/layout/navigation/SideBar/SideBar.scss @@ -1,30 +1,30 @@ @import '../../../styles/mixins'; .SideBar { - display: flex; - overflow: hidden; position: relative; + display: flex; flex: 1; + overflow: hidden; } .SideBar__content { display: flex; - flex-direction: column; flex: 1; + flex-direction: column; overflow: auto; } .SideBar__slider { - transition: 200ms ease margin, 200ms ease transform; position: absolute; z-index: var(--z-lemon-sidebar); + display: flex; + flex-direction: column; flex-shrink: 0; - height: 100%; width: 15.5rem; + height: 100%; background: var(--side); border-right: 1px solid var(--border); - display: flex; - flex-direction: column; + transition: 200ms ease margin, 200ms ease transform; .SideBar--hidden & { // As an optimization we use transform instead of margin on mobile, @@ -32,48 +32,48 @@ transform: translateX(-15.5rem); } - @include screen($lg) { - height: initial; - position: relative; - - .SideBar--hidden & { - margin-left: -15.5rem; - } - } - .SideBar__slider__content { - flex: 1; display: flex; + flex: 1; flex-direction: column; - overflow: hidden; justify-content: space-between; + overflow: hidden; > ul { - overflow: auto; padding: 1rem 0.5rem; + overflow: auto; li { margin-top: 1px; } } } + + @include screen($lg) { + position: relative; + height: initial; + + .SideBar--hidden & { + margin-left: -15.5rem; + } + } } .SideBar__overlay { - z-index: var(--z-mobile-nav-overlay); - transition: background-color var(--modal-transition-time) ease-out, - backdrop-filter var(--modal-transition-time) ease-out; - opacity: 1; position: absolute; - height: 100%; + z-index: var(--z-mobile-nav-overlay); width: 100%; + height: 100%; background-color: var(--modal-backdrop-color); backdrop-filter: blur(var(--modal-backdrop-blur)); + opacity: 1; + transition: background-color var(--modal-transition-time) ease-out, + backdrop-filter var(--modal-transition-time) ease-out; .SideBar--hidden & { + pointer-events: none; background-color: transparent; backdrop-filter: blur(0); - pointer-events: none; } @include screen($lg) { @@ -82,14 +82,14 @@ } .SideBar__heading { + margin-top: 1rem; margin-left: 0.5rem; - color: var(--muted); - line-height: 1.5rem; font-size: 0.75rem; font-weight: 600; + line-height: 1.5rem; + color: var(--muted); text-transform: uppercase; letter-spacing: 0.5px; - margin-top: 1rem; &:first-of-type { margin-top: 0; @@ -98,21 +98,21 @@ .ProjectSwitcher__label { padding: 0 0.5rem; - color: var(--muted); - line-height: 1.5rem; font-size: 0.75rem; font-weight: 600; + line-height: 1.5rem; + color: var(--muted); text-transform: uppercase; letter-spacing: 0.5px; } .SideBar__side-actions { - max-height: calc(100vh - 20rem); max-width: calc(100vw - 14rem); + max-height: calc(100vh - 20rem); .LaunchToolbarButton { - padding-left: 0.5em; padding-right: 0.5em; + padding-left: 0.5em; .LemonButton__content { display: block; diff --git a/frontend/src/layout/navigation/TopBar/TopBar.scss b/frontend/src/layout/navigation/TopBar/TopBar.scss index 8e1732a7d2d34..95ff26aa19ab1 100644 --- a/frontend/src/layout/navigation/TopBar/TopBar.scss +++ b/frontend/src/layout/navigation/TopBar/TopBar.scss @@ -1,17 +1,17 @@ @import '../../../styles/mixins'; .TopBar { - z-index: var(--z-main-nav); position: sticky; top: 0; + z-index: var(--z-main-nav); display: flex; + gap: 1rem; align-items: center; justify-content: space-between; height: 3.5rem; padding: 0.5rem; background: var(--bg-bridge); border-bottom: 1px solid var(--border); - gap: 1rem; @include screen($sm) { padding: 0.5rem 1rem; @@ -45,20 +45,20 @@ } .TopBar__logo { + flex-shrink: 0; width: 40px; overflow: hidden; - flex-shrink: 0; svg { vertical-align: middle; } @include screen($md) { + display: flex; + align-items: center; width: auto; overflow: hidden; font-size: 1rem; - display: flex; - align-items: center; } } @@ -71,27 +71,23 @@ } .Announcement { - transition: margin 200ms ease; - flex-shrink: 0; display: flex; - justify-content: center; + flex-shrink: 0; align-items: center; - background: #000; - font-size: 1rem; - color: white; + justify-content: center; height: 3rem; padding: 0 1rem 0 0.5rem; // padding is larger on the right to accommodate the close button - text-align: center; + font-size: 1rem; font-weight: 500; + color: white; + text-align: center; + background: #000; + transition: margin 200ms ease; &.Announcement--hidden { margin-top: -3rem; } - @include screen($sm) { - padding: 0 1rem; - } - p { margin: 0; } @@ -105,15 +101,19 @@ color: var(--brand-red); text-decoration: underline; } + + @include screen($sm) { + padding: 0 1rem; + } } .Announcement__close { - display: flex; position: absolute; right: 0.5rem; - cursor: pointer; - font-size: 1.25rem; + display: flex; padding: 0.125rem; + font-size: 1.25rem; + cursor: pointer; @include screen($sm) { right: 1rem; @@ -121,8 +121,8 @@ } .SitePopover { - max-width: 22rem; min-width: 16rem; + max-width: 22rem; } .SitePopover__main-info { @@ -130,19 +130,19 @@ } .SitePopover__side-link { - color: var(--primary); margin-left: 0.5rem; - font-weight: 600; font-size: 0.8125rem; + font-weight: 600; + color: var(--primary); text-align: right; } .SitePopover__crumb { display: flex; align-items: center; + height: 2.5rem; font-size: 1.5rem; color: var(--primary-alt); - height: 2.5rem; cursor: pointer; } @@ -154,12 +154,12 @@ position: absolute; top: -0.375rem; right: -0.375rem; + box-sizing: content-box; + font-size: 0.75rem; color: #fff; background: var(--danger); - font-size: 0.75rem; - box-sizing: content-box; - border-radius: 100%; border: 2px solid var(--bg-bridge); + border-radius: 100%; } .SitePopover__section { @@ -190,7 +190,7 @@ } .AccessLevelIndicator { - font-size: 0.625rem; margin-left: 0.5rem; + font-size: 0.625rem; text-transform: uppercase; } diff --git a/frontend/src/lib/components/ActivationSidebar/ActivationSidebar.scss b/frontend/src/lib/components/ActivationSidebar/ActivationSidebar.scss index 267ed27a7a08f..e4c2e54e02d40 100644 --- a/frontend/src/lib/components/ActivationSidebar/ActivationSidebar.scss +++ b/frontend/src/lib/components/ActivationSidebar/ActivationSidebar.scss @@ -1,20 +1,20 @@ @import '../../../styles/mixins'; .ActivationSideBar { - z-index: var(--z-lemon-sidebar); - transition: 200ms ease margin, 200ms ease transform; position: absolute; right: 0; + z-index: var(--z-lemon-sidebar); flex-shrink: 0; + width: 25rem; height: 100%; + margin-left: -25rem; background: var(--side); border-left: 1px solid var(--border); - width: 25rem; - margin-left: -25rem; + transition: 200ms ease margin, 200ms ease transform; @include screen($lg) { - height: initial; position: relative; + height: initial; } } @@ -26,10 +26,10 @@ position: sticky; top: 3.5rem; right: 0; - width: 100%; - height: calc(100vh - 3.5rem); display: flex; flex-direction: column; + width: 100%; + height: calc(100vh - 3.5rem); overflow: scroll; > div > ul { diff --git a/frontend/src/lib/components/ActivityLog/ActivityLog.scss b/frontend/src/lib/components/ActivityLog/ActivityLog.scss index 28c9964def293..420d9bf8f2235 100644 --- a/frontend/src/lib/components/ActivityLog/ActivityLog.scss +++ b/frontend/src/lib/components/ActivityLog/ActivityLog.scss @@ -4,17 +4,17 @@ } .summary-card { - border-radius: var(--radius); - border: 1px solid var(--border); padding: 1rem; + border: 1px solid var(--border); + border-radius: var(--radius); .taxonomic-breakdown-filter.tag-pill { - font-size: 0.8125rem; padding: 0; + font-size: 0.8125rem; + vertical-align: unset; + background: none; border: none; border-radius: 0; - background: none; - vertical-align: unset; } section:not(:last-child) { @@ -24,12 +24,12 @@ .activity-log-row { display: flex; + gap: 0.5rem; + max-width: 50rem; + padding: 0.5rem; margin-top: 0.5rem; line-height: 24px; - max-width: 50rem; overflow-wrap: anywhere; - padding: 0.5rem; - gap: 0.5rem; &.unread { background-color: var(--primary-highlight); @@ -47,8 +47,8 @@ flex-grow: 1; .highlighted-activity { - background-color: var(--mark); display: inline; + background-color: var(--mark); & > .PersonDisplay { min-width: 5.5rem; diff --git a/frontend/src/lib/components/Animation/Animation.scss b/frontend/src/lib/components/Animation/Animation.scss index f60434aba11bb..fe37305c24b67 100644 --- a/frontend/src/lib/components/Animation/Animation.scss +++ b/frontend/src/lib/components/Animation/Animation.scss @@ -1,4 +1,7 @@ .Animation { + display: inline-flex; + align-items: center; + justify-content: center; max-width: 300px; // A correct aspect-ratio is be passed via a style prop. This is as a fallback. @@ -6,9 +9,6 @@ overflow: hidden; opacity: 1; transition: 400ms ease opacity; - display: inline-flex; - align-items: center; - justify-content: center; &.Animation--hidden { opacity: 0; diff --git a/frontend/src/lib/components/AnnotationsOverlay/AnnotationsOverlay.scss b/frontend/src/lib/components/AnnotationsOverlay/AnnotationsOverlay.scss index 51423b115d892..ef9d5ae5e237b 100644 --- a/frontend/src/lib/components/AnnotationsOverlay/AnnotationsOverlay.scss +++ b/frontend/src/lib/components/AnnotationsOverlay/AnnotationsOverlay.scss @@ -9,17 +9,17 @@ display: flex; align-items: center; justify-content: center; + width: var(--annotations-overlay-tick-interval); + height: 3rem; margin-left: calc( var(--annotations-overlay-tick-interval) * var(--annotations-badge-index) - var(--annotations-overlay-chart-area-left) + var(--annotations-overlay-first-tick-left) ); - height: 3rem; - width: var(--annotations-overlay-tick-interval); - border: none; + appearance: none !important; + cursor: pointer; background: none; + border: none; transform: translate(-50%, -50%); - cursor: pointer; - appearance: none !important; > .LemonBadge { transition: transform 200ms ease; // Same as LemonBadge's transition @@ -32,15 +32,15 @@ .AnnotationsPopover { --annotations-popover-width: 30rem; - transition: left 200ms ease, opacity 100ms ease, transform 100ms ease; z-index: var(--z-annotation-popover) !important; + transition: left 200ms ease, opacity 100ms ease, transform 100ms ease; .LemonModal { - margin: 0; min-width: var(--annotations-popover-width); max-width: var(--annotations-popover-width); - box-shadow: none; + margin: 0; border: none; + box-shadow: none; } .Popover__box { diff --git a/frontend/src/lib/components/BridgePage/BridgePage.scss b/frontend/src/lib/components/BridgePage/BridgePage.scss index fca0fc8ef9599..4cc1901e4ae59 100644 --- a/frontend/src/lib/components/BridgePage/BridgePage.scss +++ b/frontend/src/lib/components/BridgePage/BridgePage.scss @@ -1,24 +1,23 @@ @import '../../../styles/mixins'; .BridgePage { - background-color: var(--bg-bridge); position: relative; display: flex; - flex-direction: column; flex: 1; + flex-direction: column; overflow: scroll; + background-color: var(--bg-bridge); + -ms-overflow-style: none; &::-webkit-scrollbar { width: 0 !important; } - -ms-overflow-style: none; - .BridgePage__main { display: flex; - justify-content: center; - align-items: center; flex: 1; + align-items: center; + justify-content: center; padding: 1rem; } @@ -27,8 +26,8 @@ } .BridgePage__left-wrapper { - margin-right: 60px; display: none; + margin-right: 60px; @include screen($md) { display: block; @@ -38,11 +37,11 @@ .BridgePage__content { position: relative; - box-shadow: var(--shadow-elevation); width: 100%; padding: 2rem; background-color: white; border-radius: var(--radius); + box-shadow: var(--shadow-elevation); h2 { font-weight: bold; @@ -52,18 +51,18 @@ .BridgePage__footer { display: flex; - justify-content: center; gap: 10%; + justify-content: center; + width: 100%; margin: 1rem 0; - color: var(--muted); font-weight: 500; - width: 100%; + color: var(--muted); } .BridgePage__left { position: relative; - visibility: none; display: none; + visibility: none; img { height: 300px; @@ -75,15 +74,17 @@ .BridgePage__left__message { position: absolute; - left: 265px; bottom: 220px; + left: 265px; max-width: 150px; - background-color: var(--default); - border-radius: 0.75rem; padding: 0.5rem 0.75rem; - color: #fff; font-size: 0.8em; font-weight: 600; + color: #fff; + background-color: var(--default); + border-radius: 0.75rem; + opacity: 0; + transition-timing-function: cubic-bezier(0.455, 0.03, 0.31, 1.585); &::after { position: absolute; @@ -95,9 +96,6 @@ border-left-color: var(--default); } - opacity: 0; - transition-timing-function: cubic-bezier(0.455, 0.03, 0.31, 1.585); - &.BridgePage__left__message--enter { opacity: 0; transform: translateY(50px) rotate(0deg) scale(0.5); @@ -106,8 +104,8 @@ &.BridgePage__left__message--enter-active, &.BridgePage__left__message--enter-done { opacity: 1; - transform: translateY(0) rotate(5deg) scale(1); transition: 200ms opacity, 200ms transform; + transform: translateY(0) rotate(5deg) scale(1); } @media (prefers-reduced-motion) { @@ -147,8 +145,8 @@ &.BridgePage--fixed-width { @include screen($md) { .BridgePage__content { - max-width: 400px; width: 400px; + max-width: 400px; } } } diff --git a/frontend/src/lib/components/Cards/CardMeta.scss b/frontend/src/lib/components/Cards/CardMeta.scss index 779e07abfc0d5..09fdc2ced6be5 100644 --- a/frontend/src/lib/components/Cards/CardMeta.scss +++ b/frontend/src/lib/components/Cards/CardMeta.scss @@ -1,14 +1,14 @@ .TextCard, .InsightCard { .handle { + position: absolute; + z-index: var(--z-raised); display: flex; align-items: flex-end; justify-content: center; - position: absolute; width: 100%; height: 100%; pointer-events: none; - z-index: var(--z-raised); &.horizontal { svg { @@ -38,29 +38,29 @@ position: absolute; top: 0; left: 0; + z-index: 101; // Elevate above viz display: flex; flex-direction: column; width: 100%; max-height: calc(100% - 2rem); - background: var(--bg-light); - z-index: 101; // Elevate above viz overflow: hidden; + background: var(--bg-light); border-radius: var(--radius); h5 { - color: var(--muted); - line-height: 1.5rem; margin-bottom: 0; + line-height: 1.5rem; + color: var(--muted); } h4 { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; height: 1.5em; + margin-bottom: 0.125rem; + overflow: hidden; font-size: 1rem; font-weight: 600; - margin-bottom: 0.125rem; + text-overflow: ellipsis; + white-space: nowrap; } } @@ -106,8 +106,9 @@ align-self: stretch; width: 0.375rem; margin: 0 0.75rem 0 -0.25rem; - border-radius: var(--radius); background: var(--muted); // Just a fallback value in case there's some unrecognized value + border-radius: var(--radius); + &.blue { background: var(--blue); } @@ -139,9 +140,9 @@ } .CardMeta__top { - align-self: stretch; display: flex; align-items: center; + align-self: stretch; justify-content: space-between; height: 2rem; @@ -152,6 +153,6 @@ .CardMeta__controls { display: flex; - align-items: center; gap: 0.25rem; + align-items: center; } diff --git a/frontend/src/lib/components/Cards/InsightCard/InsightCard.scss b/frontend/src/lib/components/Cards/InsightCard/InsightCard.scss index 8ab685214c862..32411c76ec74c 100644 --- a/frontend/src/lib/components/Cards/InsightCard/InsightCard.scss +++ b/frontend/src/lib/components/Cards/InsightCard/InsightCard.scss @@ -1,13 +1,13 @@ .InsightCard { - transition: border 200ms ease; position: relative; - height: 30rem; + z-index: 3; min-width: 0; max-width: 100%; - border-radius: var(--radius); - border: 1px solid var(--border); - z-index: 3; + height: 30rem; background: var(--bg-light); + border: 1px solid var(--border); + border-radius: var(--radius); + transition: border 200ms ease; &--highlighted { border-color: var(--primary); @@ -15,8 +15,8 @@ } .ant-alert { - margin: 1rem; width: 100%; + margin: 1rem; overflow: auto; } } @@ -28,8 +28,8 @@ display: flex; align-items: center; justify-content: center; - min-height: 0; width: 100%; + min-height: 0; overflow: auto; .LineGraph, @@ -39,9 +39,9 @@ .insight-empty-state { height: 100%; // Fix wonkiness when SpinnerOverlay is shown - font-size: 0.875rem; // Reduce font size padding-top: 0; padding-bottom: 0; + font-size: 0.875rem; // Reduce font size } > :first-child { @@ -72,21 +72,21 @@ } .InsightDetails__query { - margin-top: 0.25rem; padding: 0.5rem; - border-radius: var(--radius); + margin-top: 0.25rem; background: var(--side); + border-radius: var(--radius); .LemonRow { - padding-left: 0; padding-right: 0; + padding-left: 0; } } .InsightDetails__formula { code { - font-weight: 600; margin-left: 0.375rem; + font-weight: 600; } } @@ -107,9 +107,9 @@ margin-bottom: 0.5rem; .breakdown-tag { + padding: 0.375rem 0.75rem; font-size: 0.8125rem; line-height: 0.8125rem; - padding: 0.375rem 0.75rem; } } @@ -127,12 +127,12 @@ } .taxonomic-breakdown-filter.tag-pill { - font-size: 0.8125rem; padding: 0; + font-size: 0.8125rem; + vertical-align: unset; + background: none; border: none; border-radius: 0; - background: none; - vertical-align: unset; } } @@ -145,12 +145,12 @@ align-items: center; padding: 0.125rem 0.25rem; margin: 0 0.25rem; - background: var(--primary-bg-hover); - border-radius: var(--radius); - color: var(--primary-alt); font-size: 0.6875rem; font-weight: 600; line-height: 1rem; + color: var(--primary-alt); + background: var(--primary-bg-hover); + border-radius: var(--radius); &.SeriesDisplay__raw-name--action, &.SeriesDisplay__raw-name--event { @@ -159,15 +159,15 @@ &::before { display: inline-block; flex-shrink: 0; - text-align: center; width: 1rem; - border-radius: 0.25rem; margin-right: 0.25rem; - background: var(--primary); - color: var(--bg-light); - line-height: 1rem; font-size: 0.625rem; font-weight: 700; + line-height: 1rem; + color: var(--bg-light); + text-align: center; + background: var(--primary); + border-radius: 0.25rem; } } @@ -187,6 +187,6 @@ .SeriesDisplay__arrow { flex-shrink: 0; margin-right: 0.25rem; - color: var(--border-bold); font-size: 1.25rem; + color: var(--border-bold); } diff --git a/frontend/src/lib/components/Cards/TextCard/TextCard.scss b/frontend/src/lib/components/Cards/TextCard/TextCard.scss index f88af17286e05..b43a968d29d94 100644 --- a/frontend/src/lib/components/Cards/TextCard/TextCard.scss +++ b/frontend/src/lib/components/Cards/TextCard/TextCard.scss @@ -9,13 +9,13 @@ overflow-y: auto; ul { - list-style-type: disc; list-style-position: inside; + list-style-type: disc; } ol { - list-style-type: numeric; list-style-position: inside; + list-style-type: numeric; } img { diff --git a/frontend/src/lib/components/CodeSnippet/CodeSnippet.scss b/frontend/src/lib/components/CodeSnippet/CodeSnippet.scss index 4fb411ba56520..a9caf36b783da 100644 --- a/frontend/src/lib/components/CodeSnippet/CodeSnippet.scss +++ b/frontend/src/lib/components/CodeSnippet/CodeSnippet.scss @@ -13,9 +13,9 @@ .CodeSnippet__actions { position: absolute; - display: flex; top: 0.25rem; right: 0.25rem; + display: flex; gap: 0.5rem; .LemonButton .LemonIcon { diff --git a/frontend/src/lib/components/CommandPalette/CommandPalette.scss b/frontend/src/lib/components/CommandPalette/CommandPalette.scss index 0972ea918e81e..3f51fcc87839b 100644 --- a/frontend/src/lib/components/CommandPalette/CommandPalette.scss +++ b/frontend/src/lib/components/CommandPalette/CommandPalette.scss @@ -1,17 +1,16 @@ .palette__overlay { - z-index: var(--z-command-palette); position: fixed; top: 0; left: 0; - width: 100%; - height: 100%; + z-index: var(--z-command-palette); display: flex; flex-direction: column; align-items: center; + width: 100%; + height: 100%; } .palette__box { - box-shadow: var(--shadow-elevation); position: absolute; top: 30%; display: flex; @@ -19,29 +18,30 @@ width: 36rem; max-width: 100%; max-height: 60%; + overflow: hidden; color: #fff; - border-radius: var(--radius); background-color: var(--bg-3000-dark); - overflow: hidden; + border-radius: var(--radius); + box-shadow: var(--shadow-elevation); @media (max-width: 500px) { top: 10%; - max-height: 80%; width: 100%; + max-height: 80%; } @media (max-height: 500px) { top: 0%; - max-height: 100%; max-width: 90%; + max-height: 100%; } } .palette__row { display: flex; align-items: center; - height: 4rem; width: 100%; + height: 4rem; padding: 0 1.875rem; font-size: 1rem; line-height: 4rem; @@ -49,10 +49,10 @@ .palette__row--small { height: 1.5rem; - line-height: 1.5rem; font-size: 0.75rem; - text-transform: uppercase; font-weight: bold; + line-height: 1.5rem; + text-transform: uppercase; } .palette__display { @@ -62,11 +62,11 @@ .palette__input { flex-grow: 1; + overflow-y: auto; + color: #fff; + background: transparent; border: none; outline: none; - background: transparent; - color: #fff; - overflow-y: auto; } .palette__results { @@ -74,13 +74,13 @@ } .palette__result { - height: 4rem; - width: 100%; - padding: 0 1.875rem; + position: relative; display: flex; align-items: center; + width: 100%; + height: 4rem; + padding: 0 1.875rem; font-size: 1rem; - position: relative; } .palette__result--focused { @@ -88,12 +88,12 @@ &::before, &::after { - content: ''; position: absolute; - left: 0; top: 0; bottom: 0; + left: 0; width: 0.375rem; + content: ''; } &::before { @@ -114,8 +114,8 @@ } .palette__scope { - background-color: rgb(255 255 255 / 10%); color: rgb(255 255 255 / 80%); + background-color: rgb(255 255 255 / 10%); } .palette__icon { diff --git a/frontend/src/lib/components/CompactList/CompactList.scss b/frontend/src/lib/components/CompactList/CompactList.scss index cd329a1d8e4f7..0a2a871bc4604 100644 --- a/frontend/src/lib/components/CompactList/CompactList.scss +++ b/frontend/src/lib/components/CompactList/CompactList.scss @@ -1,23 +1,23 @@ .compact-list { - border-radius: var(--radius); - border: 1px solid var(--border); - height: calc(19.5rem + 1px); - background: var(--bg-light); box-sizing: content-box; display: flex; - flex-direction: column; flex: 1; + flex-direction: column; + height: calc(19.5rem + 1px); + background: var(--bg-light); + border: 1px solid var(--border); + border-radius: var(--radius); .compact-list-header { - padding: 0.5rem 1rem 0; display: flex; align-items: center; justify-content: space-between; + padding: 0.5rem 1rem 0; h3 { margin-bottom: 0; - font-weight: 600; font-size: 1rem; + font-weight: 600; line-height: 1.4; } } @@ -28,7 +28,7 @@ .scrollable-list { flex: 1; - overflow: auto auto; padding: 0 0.5rem 0.5rem; + overflow: auto auto; } } diff --git a/frontend/src/lib/components/DateDisplay/DateDisplay.scss b/frontend/src/lib/components/DateDisplay/DateDisplay.scss index 8eca620583e94..9abaab047f9a3 100644 --- a/frontend/src/lib/components/DateDisplay/DateDisplay.scss +++ b/frontend/src/lib/components/DateDisplay/DateDisplay.scss @@ -1,11 +1,11 @@ .dated-highlight { - color: var(--muted); - margin-right: 4px; padding: 0.125rem 0.25rem; - border: 1px solid var(--border-light); + margin-right: 4px; + color: var(--muted); + white-space: nowrap; background-color: var(--bg-light); + border: 1px solid var(--border-light); border-radius: var(--radius); - white-space: nowrap; } .date-display-dates { @@ -13,7 +13,7 @@ .secondary-date { margin-left: 2px; - color: var(--muted-alt); font-weight: normal; + color: var(--muted-alt); } } diff --git a/frontend/src/lib/components/DateFilter/RollingDateRangeFilter.scss b/frontend/src/lib/components/DateFilter/RollingDateRangeFilter.scss index 8f99bb64c0bde..5744dd65083f6 100644 --- a/frontend/src/lib/components/DateFilter/RollingDateRangeFilter.scss +++ b/frontend/src/lib/components/DateFilter/RollingDateRangeFilter.scss @@ -1,13 +1,13 @@ .RollingDateRangeFilter { display: flex; - min-height: 2rem; + align-items: center; height: 2rem; + min-height: 2rem; padding: 1.25rem 0.5rem; - align-items: center; - color: var(--default); - font-weight: normal; font-size: 0.875rem; + font-weight: normal; line-height: 1.375em; + color: var(--default); cursor: pointer; transition: background 0.3s ease; @@ -17,8 +17,8 @@ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { - appearance: none; margin: 0; + appearance: none; } /* Firefox */ @@ -33,17 +33,17 @@ } .RollingDateRangeFilter__counter { + box-sizing: border-box; display: flex; - margin: 0; + align-items: center; height: 2rem; - border: 1px solid var(--border); - border-radius: 0.25rem; - background-color: var(--bg-light); - box-sizing: border-box; + margin: 0; margin-right: 0.25rem; margin-left: 0.25rem; line-height: 1.25rem; - align-items: center; + background-color: var(--bg-light); + border: 1px solid var(--border); + border-radius: 0.25rem; input { width: 3rem; @@ -51,9 +51,9 @@ } .RollingDateRangeFilter__counter__step { + padding: 0.25rem; margin: 0 0.25rem; border-radius: var(--radius); - padding: 0.25rem; &:hover { background-color: var(--primary-highlight); diff --git a/frontend/src/lib/components/DefinitionPopover/DefinitionPopover.scss b/frontend/src/lib/components/DefinitionPopover/DefinitionPopover.scss index 664020d434acf..29b61267be66f 100644 --- a/frontend/src/lib/components/DefinitionPopover/DefinitionPopover.scss +++ b/frontend/src/lib/components/DefinitionPopover/DefinitionPopover.scss @@ -16,9 +16,9 @@ .definition-popover-header-row-title { font-size: 0.6875rem; font-weight: 600; - letter-spacing: 0.05em; - text-transform: uppercase; color: var(--muted); + text-transform: uppercase; + letter-spacing: 0.05em; } .definition-popover-header-row-buttons { @@ -27,8 +27,8 @@ font-size: 0.8125rem; a { - user-select: none; margin-left: 1rem; + user-select: none; } .definition-popover-disabled-button { @@ -41,17 +41,17 @@ .definition-popover-title { display: flex; align-items: center; - font-weight: 600; - font-size: 1.25rem; min-height: 1.5rem; margin-bottom: 0.25rem; - white-space: normal; + font-size: 1.25rem; + font-weight: 600; line-height: 1.2; + white-space: normal; svg.taxonomy-icon { - font-size: 1.5rem; - margin-right: 0.75rem; flex-shrink: 0; + margin-right: 0.75rem; + font-size: 1.5rem; &.taxonomy-icon-muted { color: var(--muted-alt); @@ -73,8 +73,8 @@ } .definition-popover-description { - font-weight: 400; margin: 0.5rem 0; + font-weight: 400; overflow-wrap: break-word; &.empty { @@ -101,12 +101,12 @@ } .definition-popover-divider { + align-items: flex-start; width: 100%; margin-top: 1rem; margin-bottom: 1rem; - align-items: flex-start; - text-transform: uppercase; font-size: 0.6875rem; + text-transform: uppercase; } .definition-popover-grid { @@ -120,9 +120,9 @@ .definition-popover-grid-card-title { font-size: 0.6875rem; font-weight: 600; - letter-spacing: 0.05em; - text-transform: uppercase; color: var(--muted); + text-transform: uppercase; + letter-spacing: 0.05em; } .definition-popover-grid-card-content { @@ -136,8 +136,8 @@ flex-direction: column; .label-text { - font-weight: 600; margin-right: 0.25rem; + font-weight: 600; } .definition-popover-edit-form-label { @@ -150,8 +150,8 @@ &.definition-popover-owner-select { .ant-select-selector { .ant-select-selection-placeholder { - color: black; font-weight: normal; + color: black; } } } diff --git a/frontend/src/lib/components/DropdownSelector/DropdownSelector.scss b/frontend/src/lib/components/DropdownSelector/DropdownSelector.scss index b8ffa8d145235..a90539bbeeb3c 100644 --- a/frontend/src/lib/components/DropdownSelector/DropdownSelector.scss +++ b/frontend/src/lib/components/DropdownSelector/DropdownSelector.scss @@ -1,10 +1,10 @@ .dropdown-selector { - padding: 0.5rem; - border: 1px solid var(--border-light); - border-radius: var(--radius); display: flex; align-items: center; + padding: 0.5rem; cursor: pointer; + border: 1px solid var(--border-light); + border-radius: var(--radius); &.disabled { color: var(--muted); diff --git a/frontend/src/lib/components/EditableField/EditableField.scss b/frontend/src/lib/components/EditableField/EditableField.scss index c58f63e9d2114..ea36a2b57dd14 100644 --- a/frontend/src/lib/components/EditableField/EditableField.scss +++ b/frontend/src/lib/components/EditableField/EditableField.scss @@ -12,9 +12,9 @@ } .EditableField__notice { + margin-left: 0.5rem; font-size: 1.5rem; color: var(--muted); - margin-left: 0.5rem; } .EditableField__highlight { @@ -26,8 +26,8 @@ min-height: 2rem; padding: 0.25rem; // Some padding to give the focus outline more breathing space margin: -0.25rem; - white-space: pre-wrap; overflow: auto; + white-space: pre-wrap; } &--editing .EditableField__highlight { @@ -35,8 +35,8 @@ align-items: flex-end; width: auto; max-width: calc(100% + 0.5rem); - outline: 1px solid var(--border); border-radius: var(--radius); + outline: 1px solid var(--border); } .EditableField__autosize { @@ -48,29 +48,29 @@ position: absolute; top: 0; left: 0; - visibility: hidden; height: 0; overflow: scroll; white-space: pre; + visibility: hidden; } .EditableField__actions { - flex-shrink: 0; display: flex; - align-items: center; + flex-shrink: 0; gap: 0.5rem; + align-items: center; margin-left: 0.5rem; } input, textarea { max-width: 100%; - border: none; - background: transparent; + padding: 0; font: inherit; color: var(--default); + background: transparent; + border: none; outline: none; - padding: 0; } textarea { diff --git a/frontend/src/lib/components/EmptyMessage/EmptyMessage.scss b/frontend/src/lib/components/EmptyMessage/EmptyMessage.scss index beebb4188566a..0593e813b75fb 100644 --- a/frontend/src/lib/components/EmptyMessage/EmptyMessage.scss +++ b/frontend/src/lib/components/EmptyMessage/EmptyMessage.scss @@ -1,9 +1,9 @@ .empty-message { display: flex; flex-direction: column; - height: 100%; - justify-content: center; align-items: center; + justify-content: center; + height: 100%; .title { text-align: center; diff --git a/frontend/src/lib/components/HTMLElementsDisplay/SelectableElement.scss b/frontend/src/lib/components/HTMLElementsDisplay/SelectableElement.scss index 17b0dded01c1d..511d7113e47c1 100644 --- a/frontend/src/lib/components/HTMLElementsDisplay/SelectableElement.scss +++ b/frontend/src/lib/components/HTMLElementsDisplay/SelectableElement.scss @@ -1,7 +1,7 @@ .SelectableElement { - transition: background-color 200ms ease, color 200ms ease, border 200ms ease; border: 1px solid transparent; border-radius: 4px; + transition: background-color 200ms ease, color 200ms ease, border 200ms ease; &.SelectableElement--selected { background: var(--primary); diff --git a/frontend/src/lib/components/HedgehogBuddy/HedgehogBuddy.scss b/frontend/src/lib/components/HedgehogBuddy/HedgehogBuddy.scss index a16ea6a598aae..29a642d2f7c8a 100644 --- a/frontend/src/lib/components/HedgehogBuddy/HedgehogBuddy.scss +++ b/frontend/src/lib/components/HedgehogBuddy/HedgehogBuddy.scss @@ -1,16 +1,16 @@ .HedgehogBuddy { - z-index: var(--z-hedgehog-buddy); position: fixed; - cursor: pointer; + z-index: var(--z-hedgehog-buddy); margin: 0; + cursor: pointer; &::after { // Hack for preloading images position: absolute; + z-index: -1; // hide images width: 0; height: 0; overflow: hidden; - z-index: -1; // hide images content: attr(data-content); } } diff --git a/frontend/src/lib/components/HelpButton/HelpButton.scss b/frontend/src/lib/components/HelpButton/HelpButton.scss index 58422a1f1b48d..d2801dde9e517 100644 --- a/frontend/src/lib/components/HelpButton/HelpButton.scss +++ b/frontend/src/lib/components/HelpButton/HelpButton.scss @@ -1,10 +1,10 @@ .help-button { + display: flex; align-items: center; height: 2.5rem; - cursor: pointer; - display: flex; font-size: 1.5rem; color: var(--primary-alt); + cursor: pointer; &.inline { display: inline-flex; diff --git a/frontend/src/lib/components/InsightLabel/InsightLabel.scss b/frontend/src/lib/components/InsightLabel/InsightLabel.scss index 811e8e1456c8e..3021375c9a4b7 100644 --- a/frontend/src/lib/components/InsightLabel/InsightLabel.scss +++ b/frontend/src/lib/components/InsightLabel/InsightLabel.scss @@ -2,17 +2,17 @@ max-width: 100%; .value { + padding-right: 4px; margin-left: 0.3rem; font-size: 1.176em; font-weight: bold; - padding-right: 4px; } .ant-tag { margin-right: 0; + color: var(--primary-alt); background-color: var(--border-light); border: 0; - color: var(--primary-alt); } .graph-series-glyph { @@ -22,10 +22,10 @@ } .color-icon { - border-radius: 50%; - margin-left: 2px; + box-sizing: border-box; margin-right: 6px; + margin-left: 2px; border: 2px solid #fff; - box-sizing: border-box; + border-radius: 50%; } } diff --git a/frontend/src/lib/components/InsightLegend/InsightLegend.scss b/frontend/src/lib/components/InsightLegend/InsightLegend.scss index 30aab2ee059eb..977e383c4ebd7 100644 --- a/frontend/src/lib/components/InsightLegend/InsightLegend.scss +++ b/frontend/src/lib/components/InsightLegend/InsightLegend.scss @@ -1,7 +1,7 @@ .InsightLegendMenu { - box-shadow: none !important; - background-color: var(--bg-light); max-height: 100%; + background-color: var(--bg-light); + box-shadow: none !important; &.InsightLegendMenu--in-card-view { max-width: 40%; diff --git a/frontend/src/lib/components/Map/Maplibre.scss b/frontend/src/lib/components/Map/Maplibre.scss index f4c4cdeb2fda7..27d56fd7b3084 100644 --- a/frontend/src/lib/components/Map/Maplibre.scss +++ b/frontend/src/lib/components/Map/Maplibre.scss @@ -5,8 +5,8 @@ @media screen { .maplibregl-ctrl-attrib.maplibregl-compact { - background-color: var(--bg-light); color: var(--muted-3000); + background-color: var(--bg-light); } .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button { diff --git a/frontend/src/lib/components/NotFound/NotFound.scss b/frontend/src/lib/components/NotFound/NotFound.scss index 1d8d678a36110..c4cc46aadb951 100644 --- a/frontend/src/lib/components/NotFound/NotFound.scss +++ b/frontend/src/lib/components/NotFound/NotFound.scss @@ -1,23 +1,23 @@ .NotFoundComponent { - text-align: center; - margin: 6rem auto; max-width: 600px; + margin: 6rem auto; + text-align: center; .NotFoundComponent__graphic { - background: url('../../../../public/not-found-astrohog.png') no-repeat center center; - height: 270px; width: 100%; + height: 270px; + background: url('../../../../public/not-found-astrohog.png') no-repeat center center; } .NotebookNode & { - background-color: var(--danger-highlight); - margin: 0; - max-width: 100%; - padding: 2rem; - flex: 1; display: flex; + flex: 1; flex-direction: column; - justify-content: center; align-items: center; + justify-content: center; + max-width: 100%; + padding: 2rem; + margin: 0; + background-color: var(--danger-highlight); } } diff --git a/frontend/src/lib/components/PayGateMini/PayGateMini.scss b/frontend/src/lib/components/PayGateMini/PayGateMini.scss index a9096bd882c7e..b0a82aaa1ef90 100644 --- a/frontend/src/lib/components/PayGateMini/PayGateMini.scss +++ b/frontend/src/lib/components/PayGateMini/PayGateMini.scss @@ -2,18 +2,18 @@ display: flex; flex-direction: column; align-items: center; + padding: 0.75rem; + font-size: 0.875rem; text-align: center; background: var(--side); border: 1px solid var(--border); border-radius: var(--radius); - padding: 0.75rem; - font-size: 0.875rem; } .PayGateMini__icon { display: flex; - color: var(--warning); font-size: 2rem; + color: var(--warning); } .PayGateMini__description { diff --git a/frontend/src/lib/components/PayGatePage/PayGatePage.scss b/frontend/src/lib/components/PayGatePage/PayGatePage.scss index 044923eea3bbb..0df48ad4f5daf 100644 --- a/frontend/src/lib/components/PayGatePage/PayGatePage.scss +++ b/frontend/src/lib/components/PayGatePage/PayGatePage.scss @@ -2,13 +2,13 @@ display: flex; flex-direction: column; align-items: center; - text-align: center; margin-top: 1rem; + text-align: center; h2 { + margin-bottom: 8px; font-size: 32px; font-weight: 600; - margin-bottom: 8px; .highlight { font-weight: bold; @@ -21,8 +21,8 @@ } .pay-buttons { - margin-top: 1rem; width: 320px; max-width: 90%; + margin-top: 1rem; } } diff --git a/frontend/src/lib/components/PropertiesTable/PropertiesTable.scss b/frontend/src/lib/components/PropertiesTable/PropertiesTable.scss index 2ec1fd268b87f..883ca5ed7b902 100644 --- a/frontend/src/lib/components/PropertiesTable/PropertiesTable.scss +++ b/frontend/src/lib/components/PropertiesTable/PropertiesTable.scss @@ -1,7 +1,7 @@ .properties-table-key { + display: flex; min-width: 8rem; max-width: 24rem; - display: flex; } .property-value-type { @@ -10,16 +10,16 @@ width: fit-content; height: 1.25rem; padding: 0.125rem 0.25rem; - letter-spacing: 0.25px; - border-radius: var(--radius); - border: 1px solid var(--border-light); - background: var(--mid); - color: var(--muted-alt); font-size: 0.625rem; font-weight: 500; + color: var(--muted-alt); text-transform: uppercase; + letter-spacing: 0.25px; white-space: nowrap; cursor: default; + background: var(--mid); + border: 1px solid var(--border-light); + border-radius: var(--radius); &:not(:first-child) { margin-left: 0.25rem; @@ -27,10 +27,10 @@ } .properties-table-value { - min-width: 12rem; - max-width: fit-content; display: flex; align-items: center; + min-width: 12rem; + max-width: fit-content; .value-link { > * { diff --git a/frontend/src/lib/components/PropertyFilters/PropertyFilters.scss b/frontend/src/lib/components/PropertyFilters/PropertyFilters.scss index 51a33cfeeec3e..aebb946866446 100644 --- a/frontend/src/lib/components/PropertyFilters/PropertyFilters.scss +++ b/frontend/src/lib/components/PropertyFilters/PropertyFilters.scss @@ -3,27 +3,27 @@ gap: 0.5rem; .PropertyFilters__content { - flex: 1; display: flex; + flex: 1; flex-wrap: wrap; gap: 0.5rem; overflow: hidden; } .PropertyFilters__prefix { - color: #c4c4c4; + padding: 0 5px; font-size: 18px; + color: #c4c4c4; user-select: none; - padding: 0 5px; } .logical-row-divider { - font-weight: 600; - font-size: 12px; - text-transform: uppercase; align-items: flex-start; margin-top: 0.5rem; margin-bottom: 0; + font-size: 12px; + font-weight: 600; + text-transform: uppercase; &::before, &::after { diff --git a/frontend/src/lib/components/PropertyFilters/components/FilterRow.scss b/frontend/src/lib/components/PropertyFilters/components/FilterRow.scss index 9de06d30018bd..8b07ffb8b56b2 100644 --- a/frontend/src/lib/components/PropertyFilters/components/FilterRow.scss +++ b/frontend/src/lib/components/PropertyFilters/components/FilterRow.scss @@ -4,8 +4,8 @@ } .property-filter-row { - overflow: hidden; flex-basis: 100%; + overflow: hidden; &.wrap-filters { flex-basis: auto; diff --git a/frontend/src/lib/components/PropertyFilters/components/PropertyFilterButton.scss b/frontend/src/lib/components/PropertyFilters/components/PropertyFilterButton.scss index 97aaa8014eee1..f4760971ff52d 100644 --- a/frontend/src/lib/components/PropertyFilters/components/PropertyFilterButton.scss +++ b/frontend/src/lib/components/PropertyFilters/components/PropertyFilterButton.scss @@ -1,22 +1,21 @@ .PropertyFilterButton { + display: inline-flex; + gap: 0.5rem; + align-items: center; overflow: hidden; - border-color: transparent; + text-shadow: none; background: var(--border); - display: inline-flex; + border-color: transparent; + box-shadow: none; transition-duration: 200ms; // Shorten from Ant's 300ms &:hover, &:focus { - border-color: var(--border); - background: var(--border); color: var(--text-default); + background: var(--border); + border-color: var(--border); } - text-shadow: none; - box-shadow: none; - align-items: center; - gap: 0.5rem; - > :not(.PropertyFilterButton-content) { flex-shrink: 0; } diff --git a/frontend/src/lib/components/PropertyFilters/components/PropertyValue.scss b/frontend/src/lib/components/PropertyFilters/components/PropertyValue.scss index 0a33bc26c1aae..6bb87aa7f7ec7 100644 --- a/frontend/src/lib/components/PropertyFilters/components/PropertyValue.scss +++ b/frontend/src/lib/components/PropertyFilters/components/PropertyValue.scss @@ -1,9 +1,9 @@ .property-filters-property-value { min-width: 150px; min-height: 40px; + background-color: var(--bg-light); border: 1px solid var(--border); border-radius: var(--radius); - background-color: var(--bg-light); .ant-select-selection-search, .ant-select-selection-placeholder { @@ -14,19 +14,19 @@ &.ant-select-single { .ant-select-selector { - min-height: 38px !important; height: unset; - border: none !important; + min-height: 38px !important; background-color: inherit; + border: none !important; } } &.ant-select-multiple { .ant-select-selector { height: 100% !important; - border: none !important; padding: 5px 40px 5px 11px; background-color: inherit; + border: none !important; .ant-select-selection-search { padding-left: 0 !important; diff --git a/frontend/src/lib/components/PropertyFilters/components/TaxonomicPropertyFilter.scss b/frontend/src/lib/components/PropertyFilters/components/TaxonomicPropertyFilter.scss index 14434cda6f019..301f2dd2fbd29 100644 --- a/frontend/src/lib/components/PropertyFilters/components/TaxonomicPropertyFilter.scss +++ b/frontend/src/lib/components/PropertyFilters/components/TaxonomicPropertyFilter.scss @@ -4,8 +4,8 @@ &--in-dropdown { width: 900px; - max-width: 100%; min-width: 300px; + max-width: 100%; background: var(--bg-light); .TaxonomicPropertyFilter__row__items { @@ -21,33 +21,33 @@ overflow: hidden; .TaxonomicPropertyFilter__row__operator { - flex-shrink: 0; - width: 4.5rem; display: flex; - justify-content: flex-end; + flex-shrink: 0; align-items: center; + justify-content: flex-end; + width: 4.5rem; height: 40px; // Matches typical row height .arrow { - color: #c4c4c4; + position: relative; font-size: 18px; font-weight: bold; - position: relative; + color: #c4c4c4; user-select: none; } } .TaxonomicPropertyFilter__row__items { - flex: 1; display: flex; + flex: 1; flex-wrap: wrap; - align-items: flex-start; gap: 0.5rem; + align-items: flex-start; overflow: hidden; > * { - overflow: hidden; max-width: 100%; + overflow: hidden; } } diff --git a/frontend/src/lib/components/PropertyGroupFilters/PropertyGroupFilters.scss b/frontend/src/lib/components/PropertyGroupFilters/PropertyGroupFilters.scss index b30e128738345..8da9ee8734004 100644 --- a/frontend/src/lib/components/PropertyGroupFilters/PropertyGroupFilters.scss +++ b/frontend/src/lib/components/PropertyGroupFilters/PropertyGroupFilters.scss @@ -1,43 +1,43 @@ .property-group-filters { .property-group { - background-color: var(--side); padding: 0.5rem; + background-color: var(--side); border-radius: 4px; } .property-group-and-or-separator { - color: var(--primary-alt); + position: relative; padding: 0.5rem 0; font-size: 12px; font-weight: 600; - position: relative; + color: var(--primary-alt); &::before { position: absolute; - left: 17px; top: 0; + left: 17px; width: 2px; height: 100%; - background-color: var(--border-light); content: ' '; + background-color: var(--border-light); } > span { position: relative; - display: inline-block; z-index: 1; - background-color: var(--bg-light); - padding: 0.25rem; + display: inline-block; width: 35px; + padding: 0.25rem; text-align: center; + background-color: var(--bg-light); } } } .property-group-title { margin-bottom: 0; - font-weight: 600; font-size: 12px; + font-weight: 600; color: black; } @@ -50,29 +50,29 @@ padding-bottom: 0.5rem; .condition-text { - font-weight: 700; display: flex; + align-items: center; + justify-content: center; width: 40px; height: 40px; margin-right: 12px; - justify-content: center; - align-items: center; - border-radius: 4px; - background-color: var(--mid); - color: var(--primary-alt); font-size: 12px; + font-weight: 700; + color: var(--primary-alt); + background-color: var(--mid); + border-radius: 4px; &.selected { - background-color: var(--primary); color: #fff; + background-color: var(--primary); } } .condition-option { - background-color: var(--bg-light); padding: 0.5rem; - margin-left: 0.5rem; margin-right: 0.5rem; + margin-left: 0.5rem; + background-color: var(--bg-light); border-radius: 4px; } diff --git a/frontend/src/lib/components/PropertyKeyInfo.scss b/frontend/src/lib/components/PropertyKeyInfo.scss index 693cc701c17ea..80872d69b5e4c 100644 --- a/frontend/src/lib/components/PropertyKeyInfo.scss +++ b/frontend/src/lib/components/PropertyKeyInfo.scss @@ -3,9 +3,9 @@ display: inline-flex; gap: 0.25rem; align-items: center; - vertical-align: bottom; - overflow: hidden; max-width: 100%; + overflow: hidden; + vertical-align: bottom; } .PropertyKeyInfo__header { @@ -14,19 +14,19 @@ .PropertyKeyInfo__text { &.PropertyKeyInfo__text--ellipsis { - white-space: nowrap; - text-overflow: ellipsis; overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } } .PropertyKeyInfo__logo { display: inline-block; - height: 1rem; + flex-shrink: 0; width: 1rem; + height: 1rem; background-image: url('../../../public/posthog-icon.svg'); background-size: cover; - flex-shrink: 0; } .PropertyKeyInfo__overlay { diff --git a/frontend/src/lib/components/Resizer/Resizer.scss b/frontend/src/lib/components/Resizer/Resizer.scss index 52df99380745f..25fe3fdae5d2c 100644 --- a/frontend/src/lib/components/Resizer/Resizer.scss +++ b/frontend/src/lib/components/Resizer/Resizer.scss @@ -4,43 +4,44 @@ position: absolute; top: 0; bottom: 0; - width: var(--resizer-width); - cursor: col-resize; - user-select: none; // Fixes inadvertent selection of scene text when resizing z-index: var( --z-notifications-popover ); // A bit above navbar for a nicer slider experience when the sidebar is closed + width: var(--resizer-width); + cursor: col-resize; + user-select: none; // Fixes inadvertent selection of scene text when resizing + .Resizer[aria-hidden='true'] & { cursor: e-resize; } .Resizer__handle { position: absolute; - left: calc(var(--resizer-width) / 2); top: 0; bottom: 0; + left: calc(var(--resizer-width) / 2); width: 1px; &::before, &::after { - content: ''; position: absolute; top: 0; bottom: 0; - width: 1px; box-sizing: content-box; + width: 1px; + content: ''; } &::before { - transition: 100ms ease transform; background: var(--border); + transition: 100ms ease transform; } &::after { - transition: 100ms ease transform; background: var(--text-3000); opacity: 0; + transition: 100ms ease transform; } } diff --git a/frontend/src/lib/components/SelectGradientOverflow.scss b/frontend/src/lib/components/SelectGradientOverflow.scss index c583519744598..344855c6dd49d 100644 --- a/frontend/src/lib/components/SelectGradientOverflow.scss +++ b/frontend/src/lib/components/SelectGradientOverflow.scss @@ -2,11 +2,11 @@ .ant-select-dropdown { .scrollable-above::after { - @extend %mixin-gradient-overlay; - - background: linear-gradient(to bottom, rgb(255 255 255 / 100%), rgb(255 255 255 / 0%)); - bottom: unset; top: 0; + bottom: unset; + background: linear-gradient(to bottom, rgb(255 255 255 / 100%), rgb(255 255 255 / 0%)); + + @extend %mixin-gradient-overlay; } .scrollable-below::after { @@ -16,17 +16,17 @@ .ant-select-selection-overflow-item { .ant-tag { - margin: 1px 4px 1px 0; display: flex; - align-items: center; flex: 0 0 auto; - overflow: hidden; + align-items: center; padding: 0 4px 0 8px; + margin: 1px 4px 1px 0; + overflow: hidden; font-size: inherit; line-height: inherit; + user-select: none; background: #f5f5f5; border: 1px solid #f0f0f0; - user-select: none; .label { overflow: hidden; @@ -34,8 +34,8 @@ } .btn-close { - font-size: 10px; margin-left: 4px; + font-size: 10px; .anticon-close { color: rgb(0 0 0 / 45%); diff --git a/frontend/src/lib/components/Sharing/SharingModal.scss b/frontend/src/lib/components/Sharing/SharingModal.scss index 67fd85b547634..fc7ad30d53ae9 100644 --- a/frontend/src/lib/components/Sharing/SharingModal.scss +++ b/frontend/src/lib/components/Sharing/SharingModal.scss @@ -1,4 +1,4 @@ .SharingPreview { - background-color: var(--mid); padding: 0.5rem; + background-color: var(--mid); } diff --git a/frontend/src/lib/components/StickyView/StickyView.scss b/frontend/src/lib/components/StickyView/StickyView.scss index 5161d360b186b..22d93acb82ee9 100644 --- a/frontend/src/lib/components/StickyView/StickyView.scss +++ b/frontend/src/lib/components/StickyView/StickyView.scss @@ -3,7 +3,7 @@ .StickyView__sticker { display: flex; - flex-direction: column; flex: 1; + flex-direction: column; } } diff --git a/frontend/src/lib/components/TZLabel/index.scss b/frontend/src/lib/components/TZLabel/index.scss index cdfb2645b50d6..a864a13755ba4 100644 --- a/frontend/src/lib/components/TZLabel/index.scss +++ b/frontend/src/lib/components/TZLabel/index.scss @@ -4,16 +4,16 @@ margin-top: 0.5rem; > :nth-child(1) { + margin-right: 6px; font-weight: bold; color: var(--primary-alt); - margin-right: 6px; } > :nth-child(2) { - color: var(--muted); - margin-right: 16px; flex-grow: 1; + margin-right: 16px; font-style: italic; + color: var(--muted); } > :nth-child(3) { diff --git a/frontend/src/lib/components/TaxonomicFilter/InfiniteList.scss b/frontend/src/lib/components/TaxonomicFilter/InfiniteList.scss index 227fbe2346059..1d1cbedb95404 100644 --- a/frontend/src/lib/components/TaxonomicFilter/InfiniteList.scss +++ b/frontend/src/lib/components/TaxonomicFilter/InfiniteList.scss @@ -1,12 +1,12 @@ .taxonomic-infinite-list { - min-height: 200px; flex-grow: 1; + min-height: 200px; &.empty-infinite-list { - width: 100%; display: flex; align-items: center; justify-content: center; + width: 100%; .no-infinite-results { color: #666; @@ -17,8 +17,8 @@ display: flex; align-items: center; justify-content: space-between; - color: var(--default); padding: 4px 12px; + color: var(--default); cursor: pointer; border: none; @@ -28,16 +28,16 @@ user-select: none; .taxonomic-list-row-contents-icon { - min-width: 30px; display: flex; - font-size: 1.25rem; justify-content: center; + min-width: 30px; margin-right: 4px; margin-left: -4px; + font-size: 1.25rem; svg.taxonomy-icon { - vertical-align: middle; flex-shrink: 0; + vertical-align: middle; &.taxonomy-icon-muted { color: var(--muted-alt); @@ -59,9 +59,9 @@ & > span { max-width: 100%; - white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + white-space: nowrap; } } diff --git a/frontend/src/lib/components/TaxonomicFilter/TaxonomicFilter.scss b/frontend/src/lib/components/TaxonomicFilter/TaxonomicFilter.scss index 98f01dd22f7c5..35c489a80f9e2 100644 --- a/frontend/src/lib/components/TaxonomicFilter/TaxonomicFilter.scss +++ b/frontend/src/lib/components/TaxonomicFilter/TaxonomicFilter.scss @@ -1,9 +1,9 @@ .taxonomic-filter { + display: flex; + flex-direction: column; width: 550px; max-width: calc(100vw - 40px); background: var(--bg-light); - display: flex; - flex-direction: column; .posthog-3000 & { background: var(--bg-3000); @@ -21,15 +21,15 @@ .taxonomic-group-title { display: flex; - width: 100%; align-items: stretch; - color: var(--muted); - text-transform: uppercase; - font-size: 12px; - line-height: 12px; + width: 100%; padding-top: 10px; padding-left: 10px; + font-size: 12px; font-weight: 600; + line-height: 12px; + color: var(--muted); + text-transform: uppercase; &.with-border { border-top: 1px solid var(--border-light); @@ -37,18 +37,18 @@ } .taxonomic-pills { + padding-left: 10px; margin-top: 8px; margin-bottom: 8px; - padding-left: 10px; .ant-tag { - transition: none; margin-right: 2px; margin-bottom: 2px; - cursor: pointer; color: var(--link); + cursor: pointer; background: var(--side); border-color: var(--side); + transition: none; &.taxonomic-count-zero { color: var(--muted); diff --git a/frontend/src/lib/components/TimelineSeekbar/TimelineSeekbar.scss b/frontend/src/lib/components/TimelineSeekbar/TimelineSeekbar.scss index d0ac9a6fe4220..8a7fd94b66af6 100644 --- a/frontend/src/lib/components/TimelineSeekbar/TimelineSeekbar.scss +++ b/frontend/src/lib/components/TimelineSeekbar/TimelineSeekbar.scss @@ -8,8 +8,8 @@ .TimelineSeekbar__meta { display: flex; - justify-content: space-between; gap: 0.5rem; + justify-content: space-between; } .TimelineSeekbar__note { @@ -22,12 +22,12 @@ .TimelineSeekbar__current { width: fit-content; padding: 0 0.25rem; - border-radius: var(--radius); - background: var(--primary); - color: var(--bg-light); - line-height: 1.25rem; font-size: 0.75rem; font-weight: 500; + line-height: 1.25rem; + color: var(--bg-light); + background: var(--primary); + border-radius: var(--radius); &::selection { background: var(--primary-light); // Default selection background is invisible on primary @@ -45,25 +45,26 @@ } .TimelineSeekbar__points { - display: flex; - height: 100%; position: relative; top: 0; left: calc(var(--timeline-seekbar-thickness) * 2); + display: flex; width: calc(100% - var(--timeline-seekbar-arrow-width) - var(--timeline-seekbar-thickness) * 3 - 1.25rem); + height: 100%; .LemonBadge:not(.LemonBadge--active) { + background-clip: padding-box; + // Connect each badge to the line rightward to signal the direction in which the badge is applicable border-right-color: transparent; - background-clip: padding-box; } } .TimelineSeekbar__section { position: absolute; - cursor: pointer; left: calc(var(--timeline-seekbar-section-progress-current) - var(--timeline-seekbar-thickness)); width: var(--timeline-seekbar-section-progress-next); + cursor: pointer; border-left: var(--timeline-seekbar-thickness) solid var(--bg-light); &:last-child { @@ -75,8 +76,8 @@ position: absolute; top: calc(50% - var(--timeline-seekbar-thickness) / 2); left: 0; - height: var(--timeline-seekbar-thickness); width: calc(100% - var(--timeline-seekbar-arrow-width)); + height: var(--timeline-seekbar-thickness); background: var(--primary); } @@ -87,10 +88,10 @@ height: 1.25rem; &::before { - content: ''; display: block; - margin: calc(var(--timeline-seekbar-thickness) + 0.125rem) 0; height: var(--timeline-seekbar-arrow-height); + margin: calc(var(--timeline-seekbar-thickness) + 0.125rem) 0; + content: ''; background: var(--primary); } } diff --git a/frontend/src/lib/components/UniversalSearch/UniversalSearch.scss b/frontend/src/lib/components/UniversalSearch/UniversalSearch.scss index 64f84a90265df..f327ff82c96be 100644 --- a/frontend/src/lib/components/UniversalSearch/UniversalSearch.scss +++ b/frontend/src/lib/components/UniversalSearch/UniversalSearch.scss @@ -17,9 +17,9 @@ } .universal-search-popover { - background: var(--bg-light); display: flex; flex-direction: column; + background: var(--bg-light); &.force-minimum-width { min-width: 300px; diff --git a/frontend/src/lib/components/UserActivityIndicator/UserActivityIndicator.scss b/frontend/src/lib/components/UserActivityIndicator/UserActivityIndicator.scss index c1882261dd97c..4eed076f46ca4 100644 --- a/frontend/src/lib/components/UserActivityIndicator/UserActivityIndicator.scss +++ b/frontend/src/lib/components/UserActivityIndicator/UserActivityIndicator.scss @@ -1,7 +1,7 @@ .UserActivityIndicator { display: flex; align-items: center; + overflow-x: auto; font-size: 0.8125rem; white-space: nowrap; - overflow-x: auto; } diff --git a/frontend/src/lib/lemon-ui/LemonActionableTooltip/LemonActionableTooltip.scss b/frontend/src/lib/lemon-ui/LemonActionableTooltip/LemonActionableTooltip.scss index 7a5d1c1db4b74..6796a72e580b3 100644 --- a/frontend/src/lib/lemon-ui/LemonActionableTooltip/LemonActionableTooltip.scss +++ b/frontend/src/lib/lemon-ui/LemonActionableTooltip/LemonActionableTooltip.scss @@ -22,11 +22,11 @@ } .LemonActionableTooltip__icon { - color: var(--primary); display: flex; align-items: center; width: 1.5rem; height: 1.5rem; + color: var(--primary); > svg { width: 100%; @@ -48,8 +48,8 @@ .LemonActionableTooltip__url-buttons { display: flex; - width: 100%; flex-direction: column; + width: 100%; > * + * { margin-top: 0.25rem; @@ -58,8 +58,8 @@ .LemonActionableTooltip__action-buttons { display: flex; - width: 100%; flex-direction: column; + width: 100%; > * + * { margin-top: 0.25rem; @@ -67,9 +67,9 @@ } .LemonActionableTooltip__navigation { - color: var(--muted); display: flex; align-items: center; + color: var(--muted); > * + * { margin-left: 0.25rem; diff --git a/frontend/src/lib/lemon-ui/LemonBadge/LemonBadge.scss b/frontend/src/lib/lemon-ui/LemonBadge/LemonBadge.scss index 186df996abe84..412a63c8baf20 100644 --- a/frontend/src/lib/lemon-ui/LemonBadge/LemonBadge.scss +++ b/frontend/src/lib/lemon-ui/LemonBadge/LemonBadge.scss @@ -5,27 +5,27 @@ --lemon-badge-position-offset: 0.5rem; --lemon-badge-border-width: 0.125rem; - flex-shrink: 0; + position: absolute; + z-index: 1; // Make sure it is at least in front of non-absolute items display: flex; + flex-shrink: 0; align-items: center; justify-content: center; - color: var(--bg-light); - border: var(--lemon-badge-border-width) solid var(--bg-light); - background: var(--lemon-badge-color); width: fit-content; min-width: var(--lemon-badge-size); // This is a minimum to accomodate multiple digits height: var(--lemon-badge-size); - font-size: var(--lemon-badge-font-size); - line-height: var(--lemon-badge-size); // Just enough so the overall size is unaffected with a single digit (i.e. badge stays round) padding: calc(var(--lemon-badge-size) / 8); - border-radius: calc(var(--lemon-badge-size) / 2); - user-select: none; - pointer-events: none; - position: absolute; + font-size: var(--lemon-badge-font-size); font-weight: 700; - z-index: 1; // Make sure it is at least in front of non-absolute items + line-height: var(--lemon-badge-size); + color: var(--bg-light); + pointer-events: none; + user-select: none; + background: var(--lemon-badge-color); + border: var(--lemon-badge-border-width) solid var(--bg-light); + border-radius: calc(var(--lemon-badge-size) / 2); > * { // For non-text content, make sure that content fills up the whole badge, and that the badge stays round @@ -70,8 +70,8 @@ } &.LemonBadge--position-bottom-right { - bottom: calc(var(--lemon-badge-position-offset) * -1); right: calc(var(--lemon-badge-position-offset) * -1); + bottom: calc(var(--lemon-badge-position-offset) * -1); } &.LemonBadge--small { @@ -85,19 +85,19 @@ } &.LemonBadge--dot { - min-width: 0; width: calc(var(--lemon-badge-size) * 0.5 + var(--lemon-badge-border-width)); + min-width: 0; height: calc(var(--lemon-badge-size) * 0.5 + var(--lemon-badge-border-width)); } &.LemonBadge--active { - outline: calc(var(--lemon-badge-font-size) / 5) solid var(--lemon-badge-color); z-index: var(--z-raised); // In croweded badge situation, show active ones above the rest + outline: calc(var(--lemon-badge-font-size) / 5) solid var(--lemon-badge-color); } .posthog-3000 & { - border-color: var(--accent-3000); background: var(--muted); + border-color: var(--accent-3000); &.LemonBadge--small { --lemon-badge-size: 1.125rem; @@ -105,24 +105,24 @@ } &.LemonBadge--enter { - transform: scale(0.5); opacity: 0; + transform: scale(0.5); } &.LemonBadge--enter-active { - transform: scale(1); opacity: 1; transition: all 200ms ease-out; + transform: scale(1); } &.LemonBadge--exit { - transform: scale(1); opacity: 1; + transform: scale(1); } &.LemonBadge--exit-active { - transform: scale(0.5); opacity: 0; transition: all 200ms ease-in; + transform: scale(0.5); } } diff --git a/frontend/src/lib/lemon-ui/LemonBanner/LemonBanner.scss b/frontend/src/lib/lemon-ui/LemonBanner/LemonBanner.scss index e165aaa435d4f..59e8ba7f2c2b8 100644 --- a/frontend/src/lib/lemon-ui/LemonBanner/LemonBanner.scss +++ b/frontend/src/lib/lemon-ui/LemonBanner/LemonBanner.scss @@ -1,31 +1,31 @@ .LemonBanner { - border-radius: var(--radius); - padding: 0.5rem 0.75rem; - color: var(--primary-alt); - font-weight: 500; display: flex; - align-items: center; - text-align: left; gap: 0.5rem; + align-items: center; min-height: 3rem; + padding: 0.5rem 0.75rem; + font-weight: 500; + color: var(--primary-alt); + text-align: left; + border-radius: var(--radius); &.LemonBanner--info { background-color: var(--primary-alt-highlight); } &.LemonBanner--warning { - background-color: var(--warning-highlight); color: var(--warning-dark); + background-color: var(--warning-highlight); } &.LemonBanner--error { - background-color: var(--danger-highlight); color: var(--danger); + background-color: var(--danger-highlight); } &.LemonBanner--success { - background-color: var(--success-highlight); color: var(--success-dark); + background-color: var(--success-highlight); } p { @@ -33,8 +33,8 @@ } > .LemonIcon { - line-height: 0; flex-shrink: 0; font-size: 1.5rem; + line-height: 0; } } diff --git a/frontend/src/lib/lemon-ui/LemonButton/LemonButton.scss b/frontend/src/lib/lemon-ui/LemonButton/LemonButton.scss index d683e23796f6f..0a8fe14c56365 100644 --- a/frontend/src/lib/lemon-ui/LemonButton/LemonButton.scss +++ b/frontend/src/lib/lemon-ui/LemonButton/LemonButton.scss @@ -2,32 +2,32 @@ --lemon-button-height: 2.5rem; position: relative; - transition: background-color 200ms ease, color 200ms ease, border 200ms ease, opacity 200ms ease, - transform 100ms ease; display: flex; flex-direction: row; flex-shrink: 0; + gap: 0.5rem; align-items: center; justify-content: flex-start; min-height: var(--lemon-button-height); padding: 0.25rem 0.75rem; - gap: 0.5rem; - background: none; - border-radius: var(--radius); - border: none; font-size: 0.875rem; - text-align: left; - line-height: 1.5rem; font-weight: 500; + line-height: 1.5rem; + text-align: left; + appearance: none !important; // Important as this gets overridden by Ant styles... cursor: pointer; user-select: none; - appearance: none !important; // Important as this gets overridden by Ant styles... + background: none; + border: none; + border-radius: var(--radius); + transition: background-color 200ms ease, color 200ms ease, border 200ms ease, opacity 200ms ease, + transform 100ms ease; .LemonButton__content { - flex: 1; - line-height: initial; display: flex; + flex: 1; align-items: center; + line-height: initial; } &[aria-disabled='true']:not(.LemonButton--loading) { @@ -41,8 +41,8 @@ &.LemonButton--full-width { width: 100%; - padding-left: 0.5rem; padding-right: 0.5rem; + padding-left: 0.5rem; overflow: hidden; .LemonButton__content { @@ -68,15 +68,15 @@ } &.LemonButton--no-content { - padding-left: 0.5rem; padding-right: 0.5rem; + padding-left: 0.5rem; } &.LemonButton--xsmall { --lemon-button-height: 1.5rem; - padding: 0.125rem 0.375rem; gap: 0.25rem; + padding: 0.125rem 0.375rem; font-size: 0.75rem; .LemonButton__icon { @@ -98,8 +98,8 @@ .Breadcrumbs3000 & { --lemon-button-height: 2rem; - padding: 0.125rem 0.5rem; gap: 0.25rem; + padding: 0.125rem 0.5rem; .LemonButton__icon { font-size: 1.25rem; @@ -119,8 +119,8 @@ &.LemonButton--large { --lemon-button-height: 3.5rem; - padding: 0.5rem 1rem; gap: 0.75rem; + padding: 0.5rem 1rem; font-size: 1rem; .LemonButton__icon { @@ -139,12 +139,12 @@ } &.LemonButton--no-padding { - min-height: 0; - height: auto; width: auto; + height: auto; + min-height: 0; padding: 0; - padding-left: 0; padding-right: 0; + padding-left: 0; &.LemonButton--full-width { width: 100%; @@ -153,10 +153,10 @@ .LemonButton__icon { display: flex; - font-size: 1.5rem; flex-shrink: 0; - transition: color 200ms ease; justify-items: center; + font-size: 1.5rem; + transition: color 200ms ease; } // LemonStealth has some specific styles @@ -166,8 +166,8 @@ &:not([aria-disabled='true']):hover, &.LemonButton--active { - background: var(--primary-highlight); color: inherit; // Avoid links being colored on hover + background: var(--primary-highlight); } &.LemonButton--active { @@ -202,74 +202,6 @@ } } - @each $status in ('primary', 'danger', 'primary-alt', 'muted') { - &.LemonButton--status-#{$status} { - color: var(--#{$status}, var(--primary)); - - &:not([aria-disabled='true']):hover, - &.LemonButton--active { - background: var(--#{$status}-highlight, var(--primary-highlight)); - } - - &:not([aria-disabled='true']):active { - color: var(--#{$status}-dark, var(--primary-dark)); - - .LemonButton__icon { - color: var(--#{$status}-dark, var(--primary-dark)); - } - } - - .LemonButton__icon { - color: var(--#{$status}); - } - - // Primary - blocked color style - &.LemonButton--primary { - color: #fff; - background: var(--#{$status}); - - .LemonButton__icon { - color: #fff; - } - - &:not([aria-disabled='true']):hover, - &.LemonButton--active { - color: #fff; - background: var(--#{$status}-light, var(--#{$status})); - - .LemonButton__icon { - color: #fff; - } - } - - &:not([aria-disabled='true']):active { - background: var(--#{$status}-dark, var(--#{$status})); - color: #fff; - - .LemonButton__icon { - color: #fff; - } - } - } - - // Secondary - outlined color style - &.LemonButton--secondary { - background: var(--bg-light); - border: 1px solid var(--border); - - &:not([aria-disabled='true']):hover, - &.LemonButton--active { - background: var(--#{$status}-highlight, var(--primary-highlight)); - border-color: var(--#{$status}); - } - - &:not([aria-disabled='true']):active { - border-color: var(--#{$status}-dark, var(--status)); - } - } - } - } - .ant-tooltip & { // Buttons have an overriden style in tooltips, as they are always dark &:hover { @@ -307,8 +239,8 @@ &:not([aria-disabled='true']):hover, &.LemonButton--active { - background: var(--primary-3000-hover); color: #fff; + background: var(--primary-3000-hover); } .LemonButton__icon { @@ -322,8 +254,8 @@ &:not([aria-disabled='true']):hover, &.LemonButton--active { - background: var(--secondary-3000-hover); color: var(--default); + background: var(--secondary-3000-hover); } .LemonButton__icon { @@ -345,6 +277,74 @@ transform: scale(calc(35 / 36)); } } + + @each $status in ('primary', 'danger', 'primary-alt', 'muted') { + &.LemonButton--status-#{$status} { + color: var(--#{$status}, var(--primary)); + + &:not([aria-disabled='true']):hover, + &.LemonButton--active { + background: var(--#{$status}-highlight, var(--primary-highlight)); + } + + &:not([aria-disabled='true']):active { + color: var(--#{$status}-dark, var(--primary-dark)); + + .LemonButton__icon { + color: var(--#{$status}-dark, var(--primary-dark)); + } + } + + .LemonButton__icon { + color: var(--#{$status}); + } + + // Primary - blocked color style + &.LemonButton--primary { + color: #fff; + background: var(--#{$status}); + + .LemonButton__icon { + color: #fff; + } + + &:not([aria-disabled='true']):hover, + &.LemonButton--active { + color: #fff; + background: var(--#{$status}-light, var(--#{$status})); + + .LemonButton__icon { + color: #fff; + } + } + + &:not([aria-disabled='true']):active { + color: #fff; + background: var(--#{$status}-dark, var(--#{$status})); + + .LemonButton__icon { + color: #fff; + } + } + } + + // Secondary - outlined color style + &.LemonButton--secondary { + background: var(--bg-light); + border: 1px solid var(--border); + + &:not([aria-disabled='true']):hover, + &.LemonButton--active { + background: var(--#{$status}-highlight, var(--primary-highlight)); + border-color: var(--#{$status}); + } + + &:not([aria-disabled='true']):active { + border-color: var(--#{$status}-dark, var(--status)); + } + } + } + } } .LemonButtonWithSideAction { @@ -352,14 +352,14 @@ } .LemonButtonWithSideAction__spacer { - height: 1.5rem; - width: 1.5rem; box-sizing: content-box; + width: 1.5rem; + height: 1.5rem; &.LemonButtonWithSideAction__spacer--divider { - opacity: 0.17; padding-left: 0.375rem; border-left: 1px solid currentColor; + opacity: 0.17; } .LemonButton--small & { @@ -371,8 +371,8 @@ position: absolute; top: 50%; right: 0.5rem; - transform: translateY(-50%); background: none; + transform: translateY(-50%); .LemonButtonWithSideAction--small & { right: 0.375rem; diff --git a/frontend/src/lib/lemon-ui/LemonCalendar/LemonCalendar.scss b/frontend/src/lib/lemon-ui/LemonCalendar/LemonCalendar.scss index 8df6f4fc1166c..0780aadb3a745 100644 --- a/frontend/src/lib/lemon-ui/LemonCalendar/LemonCalendar.scss +++ b/frontend/src/lib/lemon-ui/LemonCalendar/LemonCalendar.scss @@ -38,11 +38,11 @@ position: absolute; bottom: 5px; left: calc(50% - var(--lemon-calendar-today-radius)); - content: ''; - border-radius: 100%; width: calc(var(--lemon-calendar-today-radius) * 2); height: calc(var(--lemon-calendar-today-radius) * 2); + content: ''; background: currentColor; + border-radius: 100%; } } } diff --git a/frontend/src/lib/lemon-ui/LemonCard/LemonCard.scss b/frontend/src/lib/lemon-ui/LemonCard/LemonCard.scss index f5fd7cf2493a4..93536a63df521 100644 --- a/frontend/src/lib/lemon-ui/LemonCard/LemonCard.scss +++ b/frontend/src/lib/lemon-ui/LemonCard/LemonCard.scss @@ -3,8 +3,8 @@ &.LemonCard--hoverEffect { &:hover { - transform: scale(1.01); box-shadow: var(--shadow-elevation); + transform: scale(1.01); } } } diff --git a/frontend/src/lib/lemon-ui/LemonCheckbox/LemonCheckbox.scss b/frontend/src/lib/lemon-ui/LemonCheckbox/LemonCheckbox.scss index 8ffed36ab0d40..f9e2a64711859 100644 --- a/frontend/src/lib/lemon-ui/LemonCheckbox/LemonCheckbox.scss +++ b/frontend/src/lib/lemon-ui/LemonCheckbox/LemonCheckbox.scss @@ -1,14 +1,14 @@ .LemonCheckbox { display: flex; + align-items: center; width: fit-content; font-weight: 500; - align-items: center; line-height: 1.5rem; .LemonCheckbox__input { - appearance: none !important; width: 0 !important; // Some ant-form styles override this so we mark as important height: 0 !important; + appearance: none !important; } label { @@ -16,32 +16,32 @@ --box-color: var(--primary); display: flex; - align-items: center; - cursor: pointer; gap: 0.5rem; + align-items: center; min-height: 1.5rem; + cursor: pointer; > .LemonCheckbox__box { + flex-shrink: 0; width: 1rem; height: 1rem; - transition: border 200ms ease, background 200ms ease; background: var(--bg-light); border: 1.5px solid var(--border-bold); border-radius: 3px; // Intentionally a bit smaller than --radius - flex-shrink: 0; + transition: border 200ms ease, background 200ms ease; path { - transition: stroke-dashoffset 200ms ease; stroke: var(--bg-light); stroke-dasharray: var(--tick-length); stroke-dashoffset: var(--tick-length); + transition: stroke-dashoffset 200ms ease; } } } &.LemonCheckbox--disabled label { - cursor: not-allowed; color: var(--muted); + cursor: not-allowed; } &.LemonCheckbox--full-width { @@ -86,17 +86,17 @@ &.LemonCheckbox--bordered { label { + min-height: 2.5rem; padding: 0 0.75rem; - border-radius: var(--radius); - border: 1px solid var(--border); background: var(--bg-light); - min-height: 2.5rem; + border: 1px solid var(--border); + border-radius: var(--radius); } &.LemonCheckbox--small { label { - padding: 0 0.5rem; min-height: 2rem; + padding: 0 0.5rem; } } diff --git a/frontend/src/lib/lemon-ui/LemonCollapse/LemonCollapse.scss b/frontend/src/lib/lemon-ui/LemonCollapse/LemonCollapse.scss index 7d86dc8538262..ec66483e669d2 100644 --- a/frontend/src/lib/lemon-ui/LemonCollapse/LemonCollapse.scss +++ b/frontend/src/lib/lemon-ui/LemonCollapse/LemonCollapse.scss @@ -2,10 +2,10 @@ display: flex; flex-direction: column; align-items: stretch; + overflow: hidden; + background: var(--bg-light); border: 1px solid var(--border); border-radius: var(--radius); - background: var(--bg-light); - overflow: hidden; } .LemonCollapsePanel { @@ -20,9 +20,9 @@ .LemonCollapsePanel__header { min-height: 2.875rem; - border-radius: 0; padding: 0.5rem 0.75rem !important; // Override reduced side padding font-weight: 500 !important; // Override status="stealth"'s font-weight + border-radius: 0; .posthog-3000 &.LemonButton:active { transform: inherit; @@ -30,11 +30,11 @@ } .LemonCollapsePanel__body { - transition: height 200ms ease; + box-sizing: content-box; height: 0; overflow: hidden; border-top-width: 1px; - box-sizing: content-box; + transition: height 200ms ease; } .LemonCollapsePanel__content { diff --git a/frontend/src/lib/lemon-ui/LemonDivider/LemonDivider.scss b/frontend/src/lib/lemon-ui/LemonDivider/LemonDivider.scss index 112206bf755bd..ac30964542867 100644 --- a/frontend/src/lib/lemon-ui/LemonDivider/LemonDivider.scss +++ b/frontend/src/lib/lemon-ui/LemonDivider/LemonDivider.scss @@ -1,8 +1,8 @@ .LemonDivider { + flex-shrink: 0; width: 100%; height: 1px; background: var(--border); - flex-shrink: 0; &--dashed { background: repeating-linear-gradient( @@ -19,9 +19,9 @@ } &--vertical { + align-self: stretch; width: 1px; height: auto; - align-self: stretch; &.LemonDivider--thick { width: 3px; diff --git a/frontend/src/lib/lemon-ui/LemonFileInput/LemonFileInput.scss b/frontend/src/lib/lemon-ui/LemonFileInput/LemonFileInput.scss index 1a266d6ba5b08..b451b6d9be5e7 100644 --- a/frontend/src/lib/lemon-ui/LemonFileInput/LemonFileInput.scss +++ b/frontend/src/lib/lemon-ui/LemonFileInput/LemonFileInput.scss @@ -5,12 +5,12 @@ .FileDropTarget--active::after { --file-drop-target-padding: 0.5rem; - content: ''; position: absolute; top: calc(-1 * var(--file-drop-target-padding)); left: calc(-1 * var(--file-drop-target-padding)); - height: calc(100% + var(--file-drop-target-padding) * 2); width: calc(100% + var(--file-drop-target-padding) * 2); + height: calc(100% + var(--file-drop-target-padding) * 2); + content: ''; border: 3px dashed var(--primary); border-radius: var(--radius); } diff --git a/frontend/src/lib/lemon-ui/LemonInput/LemonInput.scss b/frontend/src/lib/lemon-ui/LemonInput/LemonInput.scss index 03943ad9f9bf1..e03551b9ec181 100644 --- a/frontend/src/lib/lemon-ui/LemonInput/LemonInput.scss +++ b/frontend/src/lib/lemon-ui/LemonInput/LemonInput.scss @@ -1,20 +1,20 @@ .LemonInput { - transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease, opacity 200ms ease; display: flex; + gap: 0.25rem; + align-items: center; + justify-content: center; min-height: 2.5rem; padding: 0.25rem 0.5rem; - background: none; - border-radius: var(--radius); font-size: 0.875rem; - text-align: left; line-height: 1.25rem; - cursor: text; color: var(--default); - border: 1px solid var(--border); + text-align: left; + cursor: text; + background: none; background-color: var(--bg-light); - align-items: center; - justify-content: center; - gap: 0.25rem; + border: 1px solid var(--border); + border-radius: var(--radius); + transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease, opacity 200ms ease; &:hover:not([aria-disabled='true']) { border-color: var(--primary-light); @@ -34,26 +34,26 @@ } .LemonInput__input { - border: none; - outline: none; - background: none; - width: 100%; align-self: stretch; // Improves selectability + width: 100%; text-overflow: ellipsis; + background: none; + border: none; + outline: none; &:disabled { - opacity: var(--opacity-disabled); cursor: not-allowed; + opacity: var(--opacity-disabled); } } .LemonIcon { + flex-shrink: 0; width: 1em; height: 1em; - transition: color 200ms ease; font-size: 1.5rem; color: var(--muted-alt); - flex-shrink: 0; + transition: color 200ms ease; } &.LemonInput--small { diff --git a/frontend/src/lib/lemon-ui/LemonLabel/LemonLabel.scss b/frontend/src/lib/lemon-ui/LemonLabel/LemonLabel.scss index 16762d83a23ac..b2ef9faca7fd0 100644 --- a/frontend/src/lib/lemon-ui/LemonLabel/LemonLabel.scss +++ b/frontend/src/lib/lemon-ui/LemonLabel/LemonLabel.scss @@ -1,8 +1,8 @@ .LemonLabel { display: inline-flex; - align-items: center; flex-wrap: wrap; column-gap: 0.25rem; + align-items: center; font-weight: 600; line-height: 1.5rem; diff --git a/frontend/src/lib/lemon-ui/LemonModal/LemonModal.scss b/frontend/src/lib/lemon-ui/LemonModal/LemonModal.scss index 3f99c8ea0f9c5..b90e39a969d52 100644 --- a/frontend/src/lib/lemon-ui/LemonModal/LemonModal.scss +++ b/frontend/src/lib/lemon-ui/LemonModal/LemonModal.scss @@ -1,12 +1,12 @@ .LemonModal__overlay { position: fixed; inset: 0; - transition: background-color var(--modal-transition-time) ease-out, - backdrop-filter var(--modal-transition-time) ease-out; z-index: var(--z-modal); display: flex; align-items: center; justify-content: center; + transition: background-color var(--modal-transition-time) ease-out, + backdrop-filter var(--modal-transition-time) ease-out; &.LemonModal__overlay--force-modal-above-popovers { z-index: var(--z-force-modal-above-popovers); @@ -25,37 +25,37 @@ .LemonModal { position: relative; - max-width: 90%; + display: flex; + flex-direction: column; width: fit-content; min-width: min(28rem, 100%); + max-width: 90%; max-height: 90%; margin: 1rem auto; - border-radius: var(--radius); background-color: var(--bg-light); border: 1px solid var(--border); + border-radius: var(--radius); box-shadow: var(--shadow-elevation); + opacity: 0; transition: opacity var(--modal-transition-time) ease-out, transform var(--modal-transition-time) ease-out; - display: flex; - flex-direction: column; + transform: scale(0.85); // Transition properties will-change: transform; - transform: scale(0.85); - opacity: 0; &.LemonModal--fullscreen { - max-width: 100%; - max-height: 100%; width: 100%; + max-width: 100%; height: 100%; - border-radius: 0; - border: none; + max-height: 100%; margin: 0; + border: none; + border-radius: 0; } &.ReactModal__Content--after-open:not(.ReactModal__Content--before-close) { - transform: scale(1); opacity: 1; + transform: scale(1); } .LemonModal__close { @@ -72,9 +72,9 @@ // We nest the content in layout so that "simple" modal implementations can use this class as well .LemonModal__layout { display: flex; + flex: 1; flex-direction: column; overflow-y: hidden; - flex: 1; } .LemonModal__content { @@ -94,17 +94,17 @@ } .LemonModal__header { + padding-bottom: 1.25rem; margin: 1.5rem; margin-bottom: 0; - padding-bottom: 1.25rem; border-bottom: 1px solid var(--border); h3 { - margin-bottom: 0; margin-right: 1.5rem; + margin-bottom: 0; font-size: 1.125rem; - line-height: 1.5rem; font-weight: 700; + line-height: 1.5rem; } p { @@ -115,14 +115,14 @@ .LemonModal__footer { display: flex; flex-wrap: wrap; - justify-content: flex-end; gap: 0.5rem; - border-top: 1px solid var(--border); + align-items: center; + justify-content: flex-end; + padding-top: 1.5rem; margin: 1.5rem; margin-top: 0; - padding-top: 1.5rem; white-space: nowrap; - align-items: center; + border-top: 1px solid var(--border); } .LemonModal__header + .LemonModal__footer { diff --git a/frontend/src/lib/lemon-ui/LemonProgressCircle/LemonProgressCircle.scss b/frontend/src/lib/lemon-ui/LemonProgressCircle/LemonProgressCircle.scss index 24d0850cff5dc..3b30f7309fa9d 100644 --- a/frontend/src/lib/lemon-ui/LemonProgressCircle/LemonProgressCircle.scss +++ b/frontend/src/lib/lemon-ui/LemonProgressCircle/LemonProgressCircle.scss @@ -1,6 +1,6 @@ .LemonProgressCircle { - display: inline-block; position: relative; + display: inline-block; vertical-align: text-bottom; circle { diff --git a/frontend/src/lib/lemon-ui/LemonRow/LemonRow.scss b/frontend/src/lib/lemon-ui/LemonRow/LemonRow.scss index f847cc3127765..683909cbd8a92 100644 --- a/frontend/src/lib/lemon-ui/LemonRow/LemonRow.scss +++ b/frontend/src/lib/lemon-ui/LemonRow/LemonRow.scss @@ -1,5 +1,4 @@ .LemonRow { - transition: background-color 200ms ease, color 200ms ease, border 200ms ease, opacity 200ms ease; display: flex; flex-direction: column; flex-shrink: 0; @@ -7,17 +6,18 @@ justify-content: center; min-height: 2.5rem; padding: 0.25rem 1rem; - background: none; - border-radius: var(--radius); - border: none; font-size: 0.875rem; - text-align: left; line-height: 1.25rem; + text-align: left; + background: none; + border: none; + border-radius: var(--radius); + transition: background-color 200ms ease, color 200ms ease, border 200ms ease, opacity 200ms ease; &.LemonRow--status-highlighted { - background: var(--primary-bg-hover); - color: var(--default); font-weight: 600; + color: var(--default); + background: var(--primary-bg-hover); .LemonRow__icon { color: var(--primary); @@ -52,19 +52,19 @@ } .LemonRow__main-area { - width: 100%; - height: 100%; display: flex; align-items: center; justify-content: center; + width: 100%; + height: 100%; } .LemonRow__extended-area { display: flex; flex-direction: column; - font-size: 0.8125rem; - margin-left: 2rem; padding-bottom: 0.125rem; + margin-left: 2rem; + font-size: 0.8125rem; } .LemonRow--outlined { @@ -73,8 +73,8 @@ .LemonRow--full-width { width: 100%; - padding-left: 0.5rem; padding-right: 0.5rem; + padding-left: 0.5rem; .LemonRow__icon:not(:first-child):last-child { margin-right: 0; @@ -97,9 +97,9 @@ .LemonRow--symbolic { display: block; - min-height: 0; - height: 1.5rem; width: 1.5rem; + height: 1.5rem; + min-height: 0; padding: 0; } @@ -108,21 +108,21 @@ padding: 0.5rem 1rem; &.LemonRow--symbolic { - min-height: 0; - height: 1.75rem; width: 1.75rem; + height: 1.75rem; + min-height: 0; padding: 0; } } .LemonRow--large { - @extend .LemonRow--tall; - font-size: 1rem; .LemonRow__icon { font-size: 1.75rem; } + + @extend .LemonRow--tall; } .LemonRow--small { @@ -130,9 +130,9 @@ padding: 0.125rem 0.5rem; &.LemonRow--symbolic { - min-height: 0; - height: 1.25rem; width: 1.25rem; + height: 1.25rem; + min-height: 0; padding: 0; } @@ -142,18 +142,18 @@ } .LemonRow__icon { - transition: background-color 200ms ease, color 200ms ease; display: flex; flex-shrink: 0; font-size: 1.5rem; color: var(--muted-alt); + transition: background-color 200ms ease, color 200ms ease; } .LemonRow__content { - flex-grow: 1; - min-width: 0; display: flex; + flex-grow: 1; align-items: center; + min-width: 0; } .LemonRow__content, diff --git a/frontend/src/lib/lemon-ui/LemonSegmentedButton/LemonSegmentedButton.scss b/frontend/src/lib/lemon-ui/LemonSegmentedButton/LemonSegmentedButton.scss index 291b5ffa77646..0568f1c0549b3 100644 --- a/frontend/src/lib/lemon-ui/LemonSegmentedButton/LemonSegmentedButton.scss +++ b/frontend/src/lib/lemon-ui/LemonSegmentedButton/LemonSegmentedButton.scss @@ -3,14 +3,14 @@ flex-shrink: 0; width: fit-content; background: var(--bg-light); - border-radius: var(--radius); border: 1px solid var(--border); + border-radius: var(--radius); > ul { z-index: 1; // Place above slider - list-style: none; display: flex; align-items: stretch; + list-style: none; } &.LemonSegmentedButton--full-width { @@ -23,10 +23,10 @@ position: absolute; top: -1px; // 1px of border left: -1px; // 1px of border - height: calc(100% + 2px); // 1px of border (top + bottom) width: calc(var(--lemon-segmented-button-slider-width) + 2px); // 1px of border (left + right) - transform: translateX(var(--lemon-segmented-button-slider-offset)); + height: calc(100% + 2px); // 1px of border (top + bottom) background: var(--primary); + transform: translateX(var(--lemon-segmented-button-slider-offset)); &.LemonSegmentedButton__slider--first { border-top-left-radius: var(--radius); @@ -49,12 +49,13 @@ flex: 1; .LemonButton { + min-height: calc(var(--lemon-button-height) - 2px); + border-radius: 0; + outline: 1px solid transparent; + // Original transition with outline added transition: background-color 200ms ease, color 200ms ease, border 200ms ease, opacity 200ms ease, outline 200ms ease; - outline: 1px solid transparent; - border-radius: 0; - min-height: calc(var(--lemon-button-height) - 2px); } &:first-child, diff --git a/frontend/src/lib/lemon-ui/LemonSelectMultiple/LemonSelectMultiple.scss b/frontend/src/lib/lemon-ui/LemonSelectMultiple/LemonSelectMultiple.scss index a382503f15b58..87bc18c4df626 100644 --- a/frontend/src/lib/lemon-ui/LemonSelectMultiple/LemonSelectMultiple.scss +++ b/frontend/src/lib/lemon-ui/LemonSelectMultiple/LemonSelectMultiple.scss @@ -6,12 +6,12 @@ &.ant-select-single .ant-select-selector { min-height: 40px; padding: 0.25rem; - border-radius: var(--radius); font-size: 0.875rem; - text-align: left; line-height: 1.25rem; - border: 1px solid var(--border); + text-align: left; background: var(--bg-light); + border: 1px solid var(--border); + border-radius: var(--radius); .ant-select-selection-overflow { gap: 0.25rem; @@ -40,8 +40,8 @@ &.ant-select-single { .ant-select-selector { - height: 40px; box-sizing: border-box; + height: 40px; .ant-select-selection-search-input { height: 38px; @@ -64,22 +64,22 @@ } .LemonSelectMultipleDropdown { - background: var(--bg-light); padding: 0.5rem; - border-radius: var(--radius); - border: 1px solid var(--primary); margin: -4px 0; // Counteract antd wrapper + background: var(--bg-light); + border: 1px solid var(--primary); + border-radius: var(--radius); .ant-select-item { padding: 0; - background: none; padding-bottom: 0.2rem; + background: none; .ant-select-item-option-content { height: 40px; + padding: 0.25rem 0.5rem; cursor: pointer; border-radius: var(--radius); - padding: 0.25rem 0.5rem; } &.ant-select-item-option-active { @@ -110,8 +110,8 @@ .LemonSelectMultipleDropdown__skeleton { display: flex; - align-items: center; gap: 0.5rem; + align-items: center; height: 40px; padding: 0 0.25rem; } diff --git a/frontend/src/lib/lemon-ui/LemonSkeleton/LemonSkeleton.scss b/frontend/src/lib/lemon-ui/LemonSkeleton/LemonSkeleton.scss index 29095c2aac936..f17f363a260ae 100644 --- a/frontend/src/lib/lemon-ui/LemonSkeleton/LemonSkeleton.scss +++ b/frontend/src/lib/lemon-ui/LemonSkeleton/LemonSkeleton.scss @@ -11,10 +11,6 @@ background-size: 400% 100%; animation: LemonSkeleton__shimmer 2s ease infinite; - @media (prefers-reduced-motion) { - animation: none; - } - &.LemonSkeleton--static { animation: none; } @@ -23,11 +19,15 @@ // See https://adrianroselli.com/2020/11/more-accessible-skeletons.html > span { display: block; - overflow: hidden; width: 1px; height: 1px; + overflow: hidden; white-space: nowrap; } + + @media (prefers-reduced-motion) { + animation: none; + } } @keyframes LemonSkeleton__shimmer { diff --git a/frontend/src/lib/lemon-ui/LemonSwitch/LemonSwitch.scss b/frontend/src/lib/lemon-ui/LemonSwitch/LemonSwitch.scss index 6ce695c71a252..de9592b5fdc8b 100644 --- a/frontend/src/lib/lemon-ui/LemonSwitch/LemonSwitch.scss +++ b/frontend/src/lib/lemon-ui/LemonSwitch/LemonSwitch.scss @@ -1,10 +1,10 @@ .LemonSwitch { + display: flex; + gap: 0.5rem; + align-items: center; width: fit-content; font-weight: 500; line-height: 1.5rem; - display: flex; - align-items: center; - gap: 0.5rem; label[for] { cursor: pointer; // A label with for=* also toggles the switch, so it shouldn't have the text select cursor @@ -20,16 +20,16 @@ } &.LemonSwitch--bordered { + min-height: 2.5rem; padding: 0 0.75rem; - border-radius: var(--radius); - border: 1px solid var(--border); background: var(--bg-light); - min-height: 2.5rem; + border: 1px solid var(--border); + border-radius: var(--radius); &.LemonSwitch--small { - padding: 0 0.5rem; gap: 0.5rem; min-height: 2rem; + padding: 0 0.5rem; } } @@ -52,12 +52,12 @@ position: relative; display: inline-block; flex-shrink: 0; - padding: 0; width: 2.25rem; height: 1.25rem; + padding: 0; + cursor: pointer; background: none; border: none; - cursor: pointer; .LemonSwitch--disabled & { cursor: not-allowed; @@ -66,13 +66,13 @@ .LemonSwitch__slider { position: absolute; - left: 0; top: 5px; + left: 0; display: inline-block; width: 2.25rem; height: 0.625rem; - border-radius: 0.625rem; background-color: var(--border); + border-radius: 0.625rem; transition: background-color 100ms ease; .LemonSwitch--checked & { @@ -84,21 +84,21 @@ position: absolute; top: 0; left: 0; + display: flex; + align-items: center; + justify-content: center; width: 1.25rem; height: 1.25rem; - border-radius: 0.625rem; + cursor: inherit; background-color: #fff; border: 2px solid var(--border); + border-radius: 0.625rem; transition: background-color 100ms ease, transform 100ms ease, border-color 100ms ease; - cursor: inherit; - display: flex; - align-items: center; - justify-content: center; .LemonSwitch--checked & { - transform: translateX(1rem); background-color: var(--primary); border-color: var(--primary); + transform: translateX(1rem); } .LemonSwitch--active & { diff --git a/frontend/src/lib/lemon-ui/LemonTable/LemonTable.scss b/frontend/src/lib/lemon-ui/LemonTable/LemonTable.scss index 2a911f8ef6bb0..68e381872ae28 100644 --- a/frontend/src/lib/lemon-ui/LemonTable/LemonTable.scss +++ b/frontend/src/lib/lemon-ui/LemonTable/LemonTable.scss @@ -1,14 +1,14 @@ .LemonTable { + --row-base-height: 3rem; + --row-horizontal-padding: 1rem; + position: relative; + flex: 1; width: 100%; + overflow: hidden; background: var(--bg-light); - border-radius: var(--radius); border: 1px solid var(--border); - overflow: hidden; - flex: 1; - - --row-base-height: 3rem; - --row-horizontal-padding: 1rem; + border-radius: var(--radius); &.LemonTable--with-ribbon { --row-ribbon-width: 0.25rem; @@ -17,12 +17,12 @@ position: relative; &::after { - content: ''; position: absolute; top: 0; left: 0; width: var(--row-ribbon-width); height: 100%; + content: ''; background: var(--row-ribbon-color); } } @@ -42,9 +42,9 @@ } &--embedded { + background: none; border: none; border-radius: 0; - background: none; } &--borderless-rows { @@ -54,9 +54,9 @@ } &--stealth { + background: none; border: none; border-radius: 0; - background: none; .LemonTable__content > table > thead { background: none; @@ -94,16 +94,16 @@ .LemonTable__content > table { width: 100%; - border-collapse: collapse; border-spacing: 0; + border-collapse: collapse; > thead { position: relative; - border-bottom: 1px solid var(--border); - background: var(--mid); font-size: 0.75rem; - letter-spacing: 0.03125rem; text-transform: uppercase; + letter-spacing: 0.03125rem; + background: var(--mid); + border-bottom: 1px solid var(--border); > tr { > th { @@ -130,9 +130,9 @@ } &.LemonTable__row--status-highlighted { - background: var(--primary-bg-hover); - color: var(--default); font-weight: 600; + color: var(--default); + background: var(--primary-bg-hover); } > td { @@ -178,9 +178,10 @@ } &[colspan='0'] { + padding-right: 0 !important; + // Hidden cells should not affect the width of the table padding-left: 0 !important; - padding-right: 0 !important; } } } @@ -192,20 +193,20 @@ } .LemonTable__overlay { - transition: opacity 200ms ease; position: absolute; top: 0; left: 0; + z-index: 2; width: 100%; height: 100%; + pointer-events: none; background: var(--bg-light); opacity: 0; - pointer-events: none; - z-index: 2; + transition: opacity 200ms ease; .LemonTable--loading & { - opacity: 0.5; pointer-events: auto; + opacity: 0.5; } } @@ -225,8 +226,8 @@ } .LemonTable__footer { - border-top: 1px solid var(--border); cursor: default; + border-top: 1px solid var(--border); } // Stickiness is disabled in snapshots due to flakiness @@ -240,16 +241,16 @@ body:not(.storybook-test-runner) { // Replicate .scrollable style for sticky cells &::before { - transition: box-shadow 200ms ease; - content: ''; position: absolute; top: 0; left: 0; + z-index: -1; // Place below cell content width: 100%; height: 100%; - z-index: -1; // Place below cell content clip-path: inset(0 -16px 0 0); + content: ''; box-shadow: -16px 0 16px 16px transparent; + transition: box-shadow 200ms ease; } } diff --git a/frontend/src/lib/lemon-ui/LemonTable/LemonTableLoader.scss b/frontend/src/lib/lemon-ui/LemonTable/LemonTableLoader.scss index 314f0e2806528..45644cb167387 100644 --- a/frontend/src/lib/lemon-ui/LemonTable/LemonTableLoader.scss +++ b/frontend/src/lib/lemon-ui/LemonTable/LemonTableLoader.scss @@ -1,25 +1,25 @@ .LemonTableLoader { - transition: height 200ms ease, top 200ms ease; - z-index: 10; position: absolute; - left: 0; - padding: 0; bottom: -1px; + left: 0; + z-index: 10; width: 100%; height: 0; + padding: 0; + overflow: hidden; background: var(--primary-bg-active); border: none !important; - overflow: hidden; + transition: height 200ms ease, top 200ms ease; &::after { - content: ''; position: absolute; - left: 0; top: 0; + left: 0; width: 50%; height: 100%; - animation: LemonTableLoader__swooping 1.5s linear infinite; + content: ''; background: var(--primary); + animation: LemonTableLoader__swooping 1.5s linear infinite; } &.LemonTableLoader--enter-active, diff --git a/frontend/src/lib/lemon-ui/LemonTabs/LemonTabs.scss b/frontend/src/lib/lemon-ui/LemonTabs/LemonTabs.scss index 4ff742148785c..bd1d888c92b43 100644 --- a/frontend/src/lib/lemon-ui/LemonTabs/LemonTabs.scss +++ b/frontend/src/lib/lemon-ui/LemonTabs/LemonTabs.scss @@ -12,35 +12,37 @@ .LemonTabs__bar { position: relative; - flex-shrink: 0; - margin-bottom: 1rem; - list-style: none; display: flex; flex-direction: row; + flex-shrink: 0; align-items: stretch; + margin-bottom: 1rem; overflow-x: auto; + list-style: none; &::before { - // The bottom border - content: ''; position: absolute; - left: 0; bottom: 0; - height: 1px; + left: 0; width: 100%; + height: 1px; + + // The bottom border + content: ''; background: var(--border); } &::after { - // The active tab slider - content: ''; position: absolute; bottom: 0; left: 0; - height: 0.125rem; width: var(--lemon-tabs-slider-width); - transform: translateX(var(--lemon-tabs-slider-offset)); + height: 0.125rem; + + // The active tab slider + content: ''; background: var(--link); + transform: translateX(var(--lemon-tabs-slider-offset)); .LemonTabs--transitioning & { transition: width 200ms ease, transform 200ms ease; @@ -71,9 +73,10 @@ } a { + color: inherit; + // Make tab labels that are links the same colors as regular tab labels text-decoration: none; - color: inherit; transition: none; } } diff --git a/frontend/src/lib/lemon-ui/LemonTag/LemonTag.scss b/frontend/src/lib/lemon-ui/LemonTag/LemonTag.scss index 6b8dce12a4432..820e132340a40 100644 --- a/frontend/src/lib/lemon-ui/LemonTag/LemonTag.scss +++ b/frontend/src/lib/lemon-ui/LemonTag/LemonTag.scss @@ -1,48 +1,48 @@ .LemonTag { - font-size: 0.75rem; - font-weight: var(--font-medium); - background: var(--border); - padding: 0.125rem 0.25rem; - border-radius: var(--radius); display: inline-flex; align-items: center; - color: var(--default); + padding: 0.125rem 0.25rem; + font-size: 0.75rem; + font-weight: var(--font-medium); line-height: 1rem; + color: var(--default); white-space: nowrap; + background: var(--border); + border-radius: var(--radius); &.primary { - background-color: var(--primary); color: #fff; + background-color: var(--primary); } &.highlight { - background-color: var(--mark); color: var(--bg-charcoal); + background-color: var(--mark); } &.warning { - background-color: var(--warning); color: var(--bg-charcoal); + background-color: var(--warning); } &.danger { - background-color: var(--danger); color: #fff; + background-color: var(--danger); } &.success { - background-color: var(--success); color: #fff; + background-color: var(--success); } &.completion { - background-color: var(--purple-light); color: var(--bg-charcoal); + background-color: var(--purple-light); } &.caution { - background-color: var(--danger-lighter); color: var(--bg-charcoal); + background-color: var(--danger-lighter); } &.none { @@ -50,19 +50,19 @@ } &.LemonTag--size-small { - font-size: 0.625rem; padding: 0.0625rem 0.1875rem; + font-size: 0.625rem; } .LemonTag__icon { - font-size: 0.875rem; - margin-right: 0.125rem; display: flex; + margin-right: 0.125rem; + font-size: 0.875rem; } .LemonTag__right-button { - margin-left: 0.25rem; min-height: 1.5rem; padding: 0.125rem !important; + margin-left: 0.25rem; } } diff --git a/frontend/src/lib/lemon-ui/LemonTextArea/LemonTextArea.scss b/frontend/src/lib/lemon-ui/LemonTextArea/LemonTextArea.scss index 389975e57915a..efafb00ba9321 100644 --- a/frontend/src/lib/lemon-ui/LemonTextArea/LemonTextArea.scss +++ b/frontend/src/lib/lemon-ui/LemonTextArea/LemonTextArea.scss @@ -1,29 +1,28 @@ .LemonTextArea { - transition: background-color 200ms ease, color 200ms ease, border 200ms ease, opacity 200ms ease; + display: block; + width: 100%; min-height: 2.5rem; padding: 0.5rem; - background: none; - border-radius: var(--radius); font-size: 0.875rem; - text-align: left; line-height: 1.25rem; - cursor: text; color: var(--default); - border: 1px solid var(--border); + text-align: left; + text-overflow: ellipsis; + cursor: text; + background: none; background-color: var(--bg-light); + border: 1px solid var(--border); + border-radius: var(--radius); outline: none; - display: block; + transition: background-color 200ms ease, color 200ms ease, border 200ms ease, opacity 200ms ease; &:not(:disabled):hover { border: 1px solid var(--primary-light); } - width: 100%; - text-overflow: ellipsis; - &:disabled { - opacity: var(--opacity-disabled); cursor: not-allowed; + opacity: var(--opacity-disabled); } &:focus:not(:disabled) { @@ -37,12 +36,12 @@ .LemonTextArea--preview { ul { - list-style-type: disc; list-style-position: inside; + list-style-type: disc; } ol { - list-style-type: decimal; list-style-position: inside; + list-style-type: decimal; } } diff --git a/frontend/src/lib/lemon-ui/LemonWidget/LemonWidget.scss b/frontend/src/lib/lemon-ui/LemonWidget/LemonWidget.scss index 9382a90fd4e4b..5bbc6dd0ed5aa 100644 --- a/frontend/src/lib/lemon-ui/LemonWidget/LemonWidget.scss +++ b/frontend/src/lib/lemon-ui/LemonWidget/LemonWidget.scss @@ -1,15 +1,15 @@ .LemonWidget { background: var(--bg-light); - border-radius: var(--radius); border: 1px solid var(--border); + border-radius: var(--radius); .LemonWidget__header { display: flex; align-items: center; justify-content: space-between; - font-weight: 500; padding: 0.25rem; - color: var(--muted-alt-3000, var(--primary)); font-size: 0.875rem; + font-weight: 500; + color: var(--muted-alt-3000, var(--primary)); } } diff --git a/frontend/src/lib/lemon-ui/Lettermark/Lettermark.scss b/frontend/src/lib/lemon-ui/Lettermark/Lettermark.scss index 87067e7e6df31..96209c98e0c3f 100644 --- a/frontend/src/lib/lemon-ui/Lettermark/Lettermark.scss +++ b/frontend/src/lib/lemon-ui/Lettermark/Lettermark.scss @@ -3,28 +3,28 @@ flex-shrink: 0; width: 1.5rem; height: 1.5rem; - border-radius: var(--radius); font-size: 0.75rem; font-weight: 600; line-height: 1.5rem; - text-align: center; color: var(--lettermark-1-text); - background: var(--lettermark-1-bg); + text-align: center; user-select: none; + background: var(--lettermark-1-bg); + border-radius: var(--radius); &.Lettermark--rounded { border-radius: 1.5rem; } + &.Lettermark--variant-gray { + color: var(--default); + background: var(--border-light); + } + @each $variant in (1, 2, 3, 4, 5, 6, 7, 8) { &.Lettermark--variant-#{$variant} { color: var(--lettermark-#{$variant}-text); background: var(--lettermark-#{$variant}-bg); } } - - &.Lettermark--variant-gray { - color: var(--default); - background: var(--border-light); - } } diff --git a/frontend/src/lib/lemon-ui/Link/Link.scss b/frontend/src/lib/lemon-ui/Link/Link.scss index 7b4702499c601..3b8d62c688a3b 100644 --- a/frontend/src/lib/lemon-ui/Link/Link.scss +++ b/frontend/src/lib/lemon-ui/Link/Link.scss @@ -1,12 +1,12 @@ .Link { - transition: color 200ms ease, opacity 200ms ease; - background: none; - color: var(--link); - border: none; - outline: none; padding: 0; line-height: inherit; + color: var(--link); cursor: pointer; + background: none; + border: none; + outline: none; + transition: color 200ms ease, opacity 200ms ease; &:not(:disabled) { &:hover { @@ -19,8 +19,8 @@ } &:disabled { - opacity: var(--opacity-disabled); cursor: not-allowed; + opacity: var(--opacity-disabled); } > .LemonIcon { diff --git a/frontend/src/lib/lemon-ui/PaginationControl/PaginationControl.scss b/frontend/src/lib/lemon-ui/PaginationControl/PaginationControl.scss index 723f62436c8ce..5458d75e8428f 100644 --- a/frontend/src/lib/lemon-ui/PaginationControl/PaginationControl.scss +++ b/frontend/src/lib/lemon-ui/PaginationControl/PaginationControl.scss @@ -1,7 +1,7 @@ .PaginationControl { - align-self: flex-end; display: flex; align-items: center; + align-self: flex-end; justify-content: flex-end; > span { diff --git a/frontend/src/lib/lemon-ui/Popover/Popover.scss b/frontend/src/lib/lemon-ui/Popover/Popover.scss index f989f61f3f5bb..5ad37071885d6 100644 --- a/frontend/src/lib/lemon-ui/Popover/Popover.scss +++ b/frontend/src/lib/lemon-ui/Popover/Popover.scss @@ -1,9 +1,9 @@ .Popover { - perspective: 80rem; - perspective-origin: top; z-index: var(--z-popover); display: flex; flex-direction: row; + perspective: 80rem; + perspective-origin: top; h5 { margin: 0.25rem 0.5rem; @@ -26,16 +26,16 @@ .Popover__box { position: relative; // For arrow - transition: opacity 50ms ease, transform 50ms ease; - transform-origin: top; - box-shadow: var(--shadow-elevation); - background: var(--bg-light); flex-grow: 1; max-width: 100%; padding: 0.5rem; - border-radius: var(--radius); + background: var(--bg-light); border: 1px solid var(--border); + border-radius: var(--radius); + box-shadow: var(--shadow-elevation); opacity: 0; + transition: opacity 50ms ease, transform 50ms ease; + transform-origin: top; .Popover--actionable & { border-color: var(--primary); @@ -45,9 +45,9 @@ // the reference and the floating element. This makes hover-based popovers possible .Popover[data-placement^='bottom'] & { - transform-origin: top; margin-top: 0.25rem; transform: rotateX(-6deg); + transform-origin: top; } .Popover[data-placement^='bottom'].Popover--with-arrow & { @@ -55,9 +55,9 @@ } .Popover[data-placement^='top'] & { - transform-origin: bottom; margin-bottom: 0.25rem; transform: rotateX(6deg); + transform-origin: bottom; } .Popover[data-placement^='top'].Popover--with-arrow & { @@ -65,9 +65,9 @@ } .Popover[data-placement^='left'] & { - transform-origin: right; margin-right: 0.25rem; transform: rotateY(-6deg); + transform-origin: right; } .Popover[data-placement^='left'].Popover--with-arrow & { @@ -75,9 +75,9 @@ } .Popover[data-placement^='right'] & { - transform-origin: left; margin-left: 0.25rem; transform: rotateY(6deg); + transform-origin: left; } .Popover[data-placement^='right'].Popover--with-arrow & { @@ -95,8 +95,8 @@ } .posthog-3000 & { - background: var(--bg-3000); padding: 0.25rem; + background: var(--bg-3000); } .posthog-3000 .Popover--actionable & { @@ -108,8 +108,8 @@ position: absolute; width: 0.5rem; height: 0.5rem; - transform: rotate(45deg); background: var(--bg-3000); + transform: rotate(45deg); [data-placement^='bottom'] & { top: -0.25rem; @@ -119,8 +119,8 @@ [data-placement^='top'] & { bottom: -0.25rem; - border-bottom: 1px solid var(--border); border-right: 1px solid var(--border); + border-bottom: 1px solid var(--border); } [data-placement^='left'] & { @@ -141,6 +141,6 @@ } .Popover__content { - overflow-y: auto; max-height: 100%; + overflow-y: auto; } diff --git a/frontend/src/lib/lemon-ui/ProfilePicture/ProfilePicture.scss b/frontend/src/lib/lemon-ui/ProfilePicture/ProfilePicture.scss index 9e5a327867146..a8a6bfe9c01e0 100644 --- a/frontend/src/lib/lemon-ui/ProfilePicture/ProfilePicture.scss +++ b/frontend/src/lib/lemon-ui/ProfilePicture/ProfilePicture.scss @@ -13,63 +13,63 @@ } .ProfilePicture { - flex-shrink: 0; - border-radius: 50%; - background-color: var(--lettermark-6-text); - color: #5f1903; display: flex; + flex-shrink: 0; align-items: center; justify-content: center; font-weight: 600; + color: #5f1903; user-select: none; + background-color: var(--lettermark-6-text); + border-radius: 50%; &.xxl { width: 48px; height: 48px; - line-height: 48px; font-size: 20px; + line-height: 48px; } &.xl { width: 40px; height: 40px; - line-height: 40px; font-size: 20px; + line-height: 40px; } &.lg { width: 32px; height: 32px; - line-height: 32px; font-size: 18px; // 2/3 of width/height in the smallest size, 1/2 in the biggest, interpolated in between + line-height: 32px; } &.md { width: 24px; height: 24px; - line-height: 24px; font-size: 14px; + line-height: 24px; } &.sm { width: 18px; height: 18px; - line-height: 18px; font-size: 12px; + line-height: 18px; } &.xs { width: 16px; height: 16px; - line-height: 16px; font-size: 11px; + line-height: 16px; } .Lettermark { width: inherit; height: inherit; - line-height: inherit; font-size: inherit; + line-height: inherit; } } @@ -90,13 +90,13 @@ display: flex; align-items: center; justify-content: center; - height: 1.5rem; width: 1.5rem; - border-radius: 50%; - background: var(--primary); - color: #fff; + height: 1.5rem; font-size: 0.625rem; font-weight: 600; + color: #fff; letter-spacing: -0.05em; user-select: none; + background: var(--primary); + border-radius: 50%; } diff --git a/frontend/src/lib/lemon-ui/Spinner/Spinner.scss b/frontend/src/lib/lemon-ui/Spinner/Spinner.scss index 9504dd20eb1c4..f8b3175e83dec 100644 --- a/frontend/src/lib/lemon-ui/Spinner/Spinner.scss +++ b/frontend/src/lib/lemon-ui/Spinner/Spinner.scss @@ -1,11 +1,11 @@ .Spinner { + --spinner-color: var(--brand-blue); + display: inline-block; // Same as .LemonIcon - vertical-align: -0.15em; // Same as .LemonIcon + flex-shrink: 0; width: 1em; height: 1em; - flex-shrink: 0; - - --spinner-color: var(--brand-blue); + vertical-align: -0.15em; // Same as .LemonIcon &.Spinner--textColored { --spinner-color: currentColor; @@ -18,10 +18,10 @@ > circle { display: block; fill: transparent; - stroke-width: 8px; - transform-origin: center; stroke: var(--spinner-color); stroke-linecap: round; + stroke-width: 8px; + transform-origin: center; } &:nth-child(1) { @@ -40,36 +40,36 @@ @keyframes Spinner__writhe { 0%, 100% { - stroke-dashoffset: -60; stroke-dasharray: 70; + stroke-dashoffset: -60; } 50% { - stroke-dashoffset: -30; stroke-dasharray: 70; + stroke-dashoffset: -30; } } .SpinnerOverlay { - transition: opacity 0.2s ease; position: absolute; inset: 0; - text-align: center; - min-height: 6rem; z-index: var(--z-content-overlay); display: flex; align-items: center; justify-content: center; + min-height: 6rem; + text-align: center; + transition: opacity 0.2s ease; &[aria-hidden='true'] { - opacity: 0; pointer-events: none; + opacity: 0; } &::before { - content: ''; position: absolute; inset: 0; + content: ''; background: var(--bg-light); opacity: 0.5; } diff --git a/frontend/src/lib/lemon-ui/icons/icons.scss b/frontend/src/lib/lemon-ui/icons/icons.scss index 2615626e1d155..d7990daa765cc 100644 --- a/frontend/src/lib/lemon-ui/icons/icons.scss +++ b/frontend/src/lib/lemon-ui/icons/icons.scss @@ -1,5 +1,5 @@ .LemonIcon { display: inline-block; - vertical-align: -0.15em; // -0.15em ensures vertical centering in inline contexts width: 1em; + vertical-align: -0.15em; // -0.15em ensures vertical centering in inline contexts } diff --git a/frontend/src/lib/logic/newPrompt/prompt.scss b/frontend/src/lib/logic/newPrompt/prompt.scss index 355cb23c9af2e..86a2aad37d1cc 100644 --- a/frontend/src/lib/logic/newPrompt/prompt.scss +++ b/frontend/src/lib/logic/newPrompt/prompt.scss @@ -1,14 +1,14 @@ .PromptPopup { position: fixed; - bottom: 10px; right: 10px; + bottom: 10px; z-index: 2000; flex-direction: column; - background: white; - border-radius: 8px; - padding-top: 5px; min-width: 300px; min-height: 100px; - box-shadow: -6px 0 16px -8px rgb(0 0 0 / 8%), -9px 0 28px 0 rgb(0 0 0 / 5%), -12px 0 48px 16px rgb(0 0 0 / 3%); + padding-top: 5px; + background: white; border: 1px solid #f0f0f0; + border-radius: 8px; + box-shadow: -6px 0 16px -8px rgb(0 0 0 / 8%), -9px 0 28px 0 rgb(0 0 0 / 5%), -12px 0 48px 16px rgb(0 0 0 / 3%); } diff --git a/frontend/src/queries/nodes/DataTable/ColumnConfigurator/ColumnConfigurator.scss b/frontend/src/queries/nodes/DataTable/ColumnConfigurator/ColumnConfigurator.scss index bc1db304a1058..78e48683ea698 100644 --- a/frontend/src/queries/nodes/DataTable/ColumnConfigurator/ColumnConfigurator.scss +++ b/frontend/src/queries/nodes/DataTable/ColumnConfigurator/ColumnConfigurator.scss @@ -1,17 +1,16 @@ .ColumnConfiguratorModal { .Columns { - width: 700px; display: flex; column-gap: 1rem; + width: 700px; + padding: 0.5rem; + background-color: var(--side); + border-radius: 0.25rem; @media (max-width: 960px) { display: block; width: auto; } - - background-color: var(--side); - border-radius: 0.25rem; - padding: 0.5rem; } .HalfColumn { @@ -27,10 +26,10 @@ align-items: center; justify-content: flex-start; padding: 0 0.5rem; - overflow: hidden; - border-radius: var(--radius); margin: calc(var(--radius) / 2) 0; + overflow: hidden; background-color: var(--primary-bg-hover); + border-radius: var(--radius); } .selected-column-col { @@ -39,10 +38,10 @@ } .drag-handle { - cursor: move; - color: var(--default); - font-size: 1.2em; padding-right: 0.25rem; + font-size: 1.2em; + color: var(--default); + cursor: move; svg { transform: rotate(90deg); diff --git a/frontend/src/queries/nodes/DataTable/DataTable.scss b/frontend/src/queries/nodes/DataTable/DataTable.scss index ea5d0bf3de23e..ae0f574e2a5f1 100644 --- a/frontend/src/queries/nodes/DataTable/DataTable.scss +++ b/frontend/src/queries/nodes/DataTable/DataTable.scss @@ -3,6 +3,19 @@ max-width: 20rem; } + .DataTable__row--highlight_once { + animation: DataTable__highlight 2000ms ease-out; + } + + .DataTable__row--category_row { + height: 2rem; + font-size: 0.75rem; + font-weight: 600; + color: var(--muted); + text-align: center; + background-color: var(--mid); + } + @keyframes DataTable__highlight { 0% { background-color: var(--mark); @@ -12,17 +25,4 @@ background-color: initial; } } - - .DataTable__row--highlight_once { - animation: DataTable__highlight 2000ms ease-out; - } - - .DataTable__row--category_row { - background-color: var(--mid); - color: var(--muted); - font-weight: 600; - font-size: 0.75rem; - height: 2rem; - text-align: center; - } } diff --git a/frontend/src/queries/nodes/InsightViz/EditorFilters.scss b/frontend/src/queries/nodes/InsightViz/EditorFilters.scss index 01e9016fb7aa1..5986130c95cc2 100644 --- a/frontend/src/queries/nodes/InsightViz/EditorFilters.scss +++ b/frontend/src/queries/nodes/InsightViz/EditorFilters.scss @@ -6,10 +6,10 @@ container-type: inline-size; &:not(.EditorFiltersWrapper--embedded) { - border: 1px solid var(--border); - border-radius: var(--radius); padding: 1rem; margin-bottom: 1rem; + border: 1px solid var(--border); + border-radius: var(--radius); } .EditorFilters { @@ -33,22 +33,12 @@ } &.EditorFiltersWrapper--singlecolumn { - border: none; - background: none; padding: 0; margin-right: 1rem; + background: none; + border: none; container-type: normal; - @include screen($xl) { - --editor-panel-width: max(25vw, 28rem); - - .EditorFilters { - width: var(--editor-panel-width); - display: block; - padding-right: 1rem; - } - } - .EditorFilters { flex-direction: column; gap: 0; @@ -61,6 +51,16 @@ margin-top: 1rem; } } + + @include screen($xl) { + --editor-panel-width: max(25vw, 28rem); + + .EditorFilters { + display: block; + width: var(--editor-panel-width); + padding-right: 1rem; + } + } } &.EditorFiltersWrapper--embedded { diff --git a/frontend/src/queries/nodes/InsightViz/Insight.scss b/frontend/src/queries/nodes/InsightViz/Insight.scss index dec25f40432c6..ef2f8073056ae 100644 --- a/frontend/src/queries/nodes/InsightViz/Insight.scss +++ b/frontend/src/queries/nodes/InsightViz/Insight.scss @@ -1,8 +1,8 @@ .trends-insights-container { position: relative; - min-height: min(calc(90vh - 16rem), 36rem); display: flex; justify-content: center; + min-height: min(calc(90vh - 16rem), 36rem); .LineGraph { height: calc(100% - 1rem) !important; @@ -13,8 +13,8 @@ border-radius: 0 0 var(--radius) var(--radius); &.non-empty-state { - min-height: 26rem; position: relative; + min-height: 26rem; margin-bottom: 0; } @@ -25,8 +25,8 @@ .funnel-significance-highlight { display: inline-flex; - background: var(--primary); color: var(--bg-light); + background: var(--primary); .LemonIcon { color: var(--bg-light); diff --git a/frontend/src/queries/nodes/InsightViz/PropertyGroupFilters/PropertyGroupFilters.scss b/frontend/src/queries/nodes/InsightViz/PropertyGroupFilters/PropertyGroupFilters.scss index 0c2b080492e42..52b27b016bf84 100644 --- a/frontend/src/queries/nodes/InsightViz/PropertyGroupFilters/PropertyGroupFilters.scss +++ b/frontend/src/queries/nodes/InsightViz/PropertyGroupFilters/PropertyGroupFilters.scss @@ -1,35 +1,35 @@ .PropertyGroupFilters { .property-group { - background-color: var(--side); padding: 0.5rem; + background-color: var(--side); border-radius: 4px; } .property-group-and-or-separator { - color: var(--primary-alt); + position: relative; padding: 0.5rem 0; font-size: 12px; font-weight: 600; - position: relative; + color: var(--primary-alt); &::before { position: absolute; - left: 17px; top: 0; + left: 17px; width: 2px; height: 100%; - background-color: var(--border-light); content: ' '; + background-color: var(--border-light); } > span { position: relative; - display: inline-block; z-index: 1; - background-color: var(--bg-light); - padding: 0.25rem; + display: inline-block; width: 35px; + padding: 0.25rem; text-align: center; + background-color: var(--bg-light); } } } diff --git a/frontend/src/scenes/PreflightCheck/PreflightCheck.scss b/frontend/src/scenes/PreflightCheck/PreflightCheck.scss index 2b83263873c2e..864d6e7795a63 100644 --- a/frontend/src/scenes/PreflightCheck/PreflightCheck.scss +++ b/frontend/src/scenes/PreflightCheck/PreflightCheck.scss @@ -21,8 +21,8 @@ } .Preflight__checks-container { - border-radius: var(--radius); border: 1px solid var(--border); + border-radius: var(--radius); svg { font-size: 20px; @@ -30,17 +30,17 @@ .Preflight__check-summary { display: flex; + align-items: center; padding: 12px; border-bottom: 1px solid var(--border); - align-items: center; .Preflight__summary-icon-container { - width: 40px; - height: 40px; - border-radius: 20px; display: flex; align-items: center; justify-content: center; + width: 40px; + height: 40px; + border-radius: 20px; } .Preflight__summary-text-container { @@ -52,8 +52,8 @@ } .Preflight__summary-header { - font-weight: 600; font-size: 14px; + font-weight: 600; } .Preflight__summary-description { @@ -64,15 +64,15 @@ } .Preflight__cannot-continue { - background-color: var(--side); - border: 2px solid var(--mid); display: flex; align-items: center; justify-content: center; + background-color: var(--side); + border: 2px solid var(--mid); p { - font-size: 14px; margin-bottom: 0; + font-size: 14px; } } @@ -124,9 +124,9 @@ .PreflightItem { display: flex; - padding: 12px; align-items: center; justify-content: center; + padding: 12px; border-bottom: 1px solid var(--border); p { diff --git a/frontend/src/scenes/authentication/Login.scss b/frontend/src/scenes/authentication/Login.scss index 86c36aee780f5..ae6fda82bd59f 100644 --- a/frontend/src/scenes/authentication/Login.scss +++ b/frontend/src/scenes/authentication/Login.scss @@ -1,9 +1,9 @@ @import '../../styles/mixins'; .PasswordWrapper { + max-height: 1000px; overflow: hidden; transition: max-height 0.8s ease-in-out; - max-height: 1000px; &.zero-height { max-height: 0; diff --git a/frontend/src/scenes/batch_exports/BatchExports.scss b/frontend/src/scenes/batch_exports/BatchExports.scss index 835ed19de7ec9..d8ee2eea18ae5 100644 --- a/frontend/src/scenes/batch_exports/BatchExports.scss +++ b/frontend/src/scenes/batch_exports/BatchExports.scss @@ -6,17 +6,17 @@ @keyframes BatchExportRunIcon__pulse { 0% { - outline-offset: 0; outline-color: var(--primary-light); + outline-offset: 0; } 80% { - outline-offset: 20px; outline-color: transparent; + outline-offset: 20px; } 100% { - outline-offset: 20px; outline-color: transparent; + outline-offset: 20px; } } diff --git a/frontend/src/scenes/billing/Billing.scss b/frontend/src/scenes/billing/Billing.scss index 8088a048cf769..b904cffb8b845 100644 --- a/frontend/src/scenes/billing/Billing.scss +++ b/frontend/src/scenes/billing/Billing.scss @@ -1,32 +1,32 @@ .BillingPlan { - max-width: 500px; flex-grow: 1; + max-width: 500px; .BillingPlan__description { ol, ul { - margin-top: 1rem; padding-left: 0; - list-style: none; + margin-top: 1rem; text-align: center; + list-style: none; li { - line-height: 1.2rem; margin-bottom: 1rem; + line-height: 1.2rem; } .disclaimer { + padding-left: 1px; font-size: 10px; font-weight: bold; vertical-align: top; - padding-left: 1px; } } .disclaimer-details { + margin-top: 1rem; font-size: 0.75rem; color: var(--muted); - margin-top: 1rem; } } } diff --git a/frontend/src/scenes/billing/BillingGauge.scss b/frontend/src/scenes/billing/BillingGauge.scss index b9c73a13291f6..a1ac810b41da5 100644 --- a/frontend/src/scenes/billing/BillingGauge.scss +++ b/frontend/src/scenes/billing/BillingGauge.scss @@ -3,15 +3,15 @@ .BillingGaugeItem__info { position: absolute; - white-space: nowrap; - border-left: 1px solid var(--border); + bottom: 100%; left: 100%; + padding: 0 0.25rem 0.5rem; margin-left: -1px; font-size: 0.8rem; - background: var(--bg-light); - bottom: 100%; - padding: 0 0.25rem 0.5rem; line-height: 1rem; + white-space: nowrap; + background: var(--bg-light); + border-left: 1px solid var(--border); &--bottom { top: 100%; diff --git a/frontend/src/scenes/billing/BillingHero.scss b/frontend/src/scenes/billing/BillingHero.scss index 0928d8d935c0c..00ccf01249b32 100644 --- a/frontend/src/scenes/billing/BillingHero.scss +++ b/frontend/src/scenes/billing/BillingHero.scss @@ -1,22 +1,22 @@ .BillingHero { - background-color: var(--mark); - border-radius: 0.5rem; position: relative; display: flex; flex-direction: row; align-items: center; justify-content: space-between; + background-color: var(--mark); + border-radius: 0.5rem; } .BillingHero__hog { - overflow: hidden; position: relative; width: 200px; padding-top: 1rem; + overflow: hidden; } .BillingHero__hog__img { - height: 200px; width: 200px; + height: 200px; margin: -20px -30px; } diff --git a/frontend/src/scenes/billing/PlanComparison.scss b/frontend/src/scenes/billing/PlanComparison.scss index 57c4ed6bd6d63..9dd0803826a2d 100644 --- a/frontend/src/scenes/billing/PlanComparison.scss +++ b/frontend/src/scenes/billing/PlanComparison.scss @@ -6,8 +6,8 @@ table.PlanComparison { table-layout: fixed; td { - vertical-align: top; padding: 0.75rem 1.25rem; + vertical-align: top; &.PlanTable__td__upgradeButton { padding-top: 1rem; @@ -16,10 +16,10 @@ table.PlanComparison { } th { - vertical-align: top; padding: 0.75rem 1.25rem; font-weight: 600; text-align: left; + vertical-align: top; &.PlanTable__th__section { padding: 0.25rem 1.25rem; diff --git a/frontend/src/scenes/billing/PlanTable.scss b/frontend/src/scenes/billing/PlanTable.scss index af301e35f3114..3edfa6e80765e 100644 --- a/frontend/src/scenes/billing/PlanTable.scss +++ b/frontend/src/scenes/billing/PlanTable.scss @@ -5,15 +5,15 @@ table-layout: fixed; td { - vertical-align: top; padding: 1.25rem; + vertical-align: top; } th { - vertical-align: top; padding: 1.25rem; font-weight: 800; text-align: left; + vertical-align: top; &.PlanTable__th__section { padding: 0.25rem 1.25rem; diff --git a/frontend/src/scenes/cohorts/CohortFilters/CohortCriteriaGroups.scss b/frontend/src/scenes/cohorts/CohortFilters/CohortCriteriaGroups.scss index 9f62a93d6366e..5721f2ffc1c8d 100644 --- a/frontend/src/scenes/cohorts/CohortFilters/CohortCriteriaGroups.scss +++ b/frontend/src/scenes/cohorts/CohortFilters/CohortCriteriaGroups.scss @@ -1,9 +1,9 @@ .CohortCriteriaGroups__matching-group { + width: 100%; padding-top: 1rem; + margin: 0.5rem 0; border: 1px solid var(--border); border-radius: 4px; - width: 100%; - margin: 0.5rem 0; &.CohortCriteriaGroups__matching-group--error { border: 1px solid var(--danger); @@ -11,9 +11,9 @@ } .CohortCriteriaGroups__matching-group__logical-divider { - color: var(--primary-alt); - font-weight: 600; + padding: 0 1.5rem; font-size: 12px; + font-weight: 600; + color: var(--primary-alt); text-transform: uppercase; - padding: 0 1.5rem; } diff --git a/frontend/src/scenes/cohorts/CohortFilters/CohortCriteriaRowBuilder.scss b/frontend/src/scenes/cohorts/CohortFilters/CohortCriteriaRowBuilder.scss index 2e2df05cf2178..7e79cfa8e4c58 100644 --- a/frontend/src/scenes/cohorts/CohortFilters/CohortCriteriaRowBuilder.scss +++ b/frontend/src/scenes/cohorts/CohortFilters/CohortCriteriaRowBuilder.scss @@ -2,9 +2,9 @@ padding: 0 0.5rem; .CohortCriteriaRow__Criteria { - border-radius: var(--radius); - border: 1px solid transparent; padding: 0.25rem 0.5rem; + border: 1px solid transparent; + border-radius: var(--radius); &.CohortCriteriaRow__Criteria--error { border: 1px solid var(--danger); @@ -30,9 +30,9 @@ } .logical-row-divider { - color: var(--primary-alt); - font-weight: 600; font-size: 12px; + font-weight: 600; + color: var(--primary-alt); text-transform: uppercase; &::before, @@ -46,21 +46,21 @@ } .CohortCriteriaRow__inline-divider { - margin: 0 0.5rem; + flex: 1; height: 1px; + margin: 0 0.5rem; background-color: var(--border); - flex: 1; } .CohortCriteriaRow__Criteria__arrow { - color: var(--muted); - font-size: 18px; - font-weight: bold; - padding-left: 6px; - padding-right: 8px; position: relative; top: 6px; - user-select: none; flex-shrink: 0; + padding-right: 8px; + padding-left: 6px; + font-size: 18px; + font-weight: bold; + color: var(--muted); + user-select: none; } } diff --git a/frontend/src/scenes/cohorts/CohortFilters/CohortField.scss b/frontend/src/scenes/cohorts/CohortFilters/CohortField.scss index 075dda92dc0d9..45cb5e9a6620a 100644 --- a/frontend/src/scenes/cohorts/CohortFilters/CohortField.scss +++ b/frontend/src/scenes/cohorts/CohortFilters/CohortField.scss @@ -32,19 +32,19 @@ &.ant-select-single { .ant-select-selector { - min-height: 38px !important; height: unset; - border: none !important; + min-height: 38px !important; background-color: inherit; + border: none !important; } } &.ant-select-multiple { .ant-select-selector { height: 100% !important; - border: none !important; padding: 5px 40px 5px 11px; background-color: inherit; + border: none !important; .ant-select-selection-search { padding-left: 0 !important; diff --git a/frontend/src/scenes/cohorts/Cohorts.scss b/frontend/src/scenes/cohorts/Cohorts.scss index 8dd6ee18eeee8..4d042968f077a 100644 --- a/frontend/src/scenes/cohorts/Cohorts.scss +++ b/frontend/src/scenes/cohorts/Cohorts.scss @@ -1,12 +1,12 @@ .cohorts-drawer .ant-drawer-content-wrapper { - max-width: 850px !important; width: 100% !important; + max-width: 850px !important; } .cohort-recalculating { - background-color: var(--mid); padding: 0.5rem 1rem; margin-top: 1rem; + background-color: var(--mid); border-radius: var(--radius); .ant-spin-spinning { @@ -16,8 +16,8 @@ .cohort-csv-dragger { height: 155px !important; - background-color: transparent !important; margin-top: 1rem; + background-color: transparent !important; border: 2px dashed var(--primary) !important; border-radius: 4px !important; @@ -27,16 +27,16 @@ .ant-upload-drag-container { display: flex !important; - justify-content: center; flex-direction: column; align-items: center; + justify-content: center; height: 100%; padding: 0 1rem; .ant-upload-text { - font-weight: 600; - font-size: 1rem !important; margin: 8px 0 0 !important; + font-size: 1rem !important; + font-weight: 600; } } } diff --git a/frontend/src/scenes/dashboard/Dashboard.scss b/frontend/src/scenes/dashboard/Dashboard.scss index f35d1decb41af..2406cc1f04420 100644 --- a/frontend/src/scenes/dashboard/Dashboard.scss +++ b/frontend/src/scenes/dashboard/Dashboard.scss @@ -3,25 +3,25 @@ .dashboard-header { display: flex; justify-content: space-between; - margin-bottom: 1rem; width: 100%; + margin-bottom: 1rem; &.full-screen { margin-top: 1rem; } .dashboard-meta { - white-space: nowrap; display: flex; align-items: center; + white-space: nowrap; .ant-btn { + margin-left: 10px; + .anticon { vertical-align: baseline; } - margin-left: 10px; - &.button-box { padding: 4px 8px; } @@ -32,8 +32,8 @@ flex-direction: column; .dashboard-meta { - padding-top: 1rem; justify-content: flex-end; + padding-top: 1rem; } } } diff --git a/frontend/src/scenes/dashboard/DashboardItems.scss b/frontend/src/scenes/dashboard/DashboardItems.scss index 7cf51ba05a33f..b5fba6635291b 100644 --- a/frontend/src/scenes/dashboard/DashboardItems.scss +++ b/frontend/src/scenes/dashboard/DashboardItems.scss @@ -1,12 +1,12 @@ .dashboard-items-wrapper { - margin-top: 1rem; width: 100%; // This provides the width for the dashboard items grid + margin-top: 1rem; } .react-grid-layout { position: relative; - transition: height 100ms ease; margin-bottom: 2rem; + transition: height 100ms ease; /* remove initial loading animation, animations are only needed in edit mode */ &.dashboard-view-mode .react-grid-item { @@ -19,8 +19,8 @@ } .react-grid-item.resizing { - z-index: 1; will-change: width, height; + z-index: 1; } .react-grid-item.react-draggable { @@ -28,8 +28,8 @@ } .react-grid-item.react-draggable-dragging { - transition: none; z-index: 105; + transition: none; will-change: transform; } @@ -38,14 +38,14 @@ } .react-grid-item.react-grid-placeholder { - transition: 100ms ease; - max-width: 100%; position: relative; - border: 1px solid var(--primary); - outline: 1px solid var(--primary); - border-radius: var(--radius); z-index: 2; + max-width: 100%; user-select: none; + border: 1px solid var(--primary); + border-radius: var(--radius); + outline: 1px solid var(--primary); + transition: 100ms ease; } .react-resizable-hide > .react-resizable-handle { @@ -58,12 +58,12 @@ & > .react-resizable-handle { position: absolute; + right: -0.5rem; + bottom: -0.5rem; + z-index: 10; width: 2rem; height: 2rem; - bottom: -0.5rem; - right: -0.5rem; cursor: se-resize; - z-index: 10; } & > .react-resizable-handle.react-resizable-handle-se { @@ -78,8 +78,8 @@ } & > .react-resizable-handle.react-resizable-handle-s { - left: 0; right: 2rem; + left: 0; width: auto; cursor: ns-resize; } diff --git a/frontend/src/scenes/dashboard/EmptyDashboardComponent.scss b/frontend/src/scenes/dashboard/EmptyDashboardComponent.scss index bf4a7f6f3db78..b8e3359b89362 100644 --- a/frontend/src/scenes/dashboard/EmptyDashboardComponent.scss +++ b/frontend/src/scenes/dashboard/EmptyDashboardComponent.scss @@ -5,35 +5,35 @@ margin-top: 1rem; .EmptyDashboard__fade { - margin-top: 1rem; + position: relative; height: 150px; + margin-top: 1rem; overflow: hidden; - position: relative; &::after { + width: 100%; + height: 150px; + .posthog-3000 & { --bg-light: var(--bg-3000); // Make the fade blend in with the 3000 background smoothly } @extend %mixin-gradient-overlay; - - width: 100%; - height: 150px; } } .EmptyDashboard__cta { - border-width: 1px; - border-radius: var(--radius); - padding: 1.5rem; - box-shadow: var(--shadow-elevation); - background: var(--bg-light); - width: 360px; - max-width: calc(100% - 32px); position: absolute; top: 16px; left: 50%; - transform: translateX(-50%); z-index: var(--z-content-overlay); + width: 360px; + max-width: calc(100% - 32px); + padding: 1.5rem; + background: var(--bg-light); + border-width: 1px; + border-radius: var(--radius); + box-shadow: var(--shadow-elevation); + transform: translateX(-50%); } } diff --git a/frontend/src/scenes/dashboard/NewDashboardModal.scss b/frontend/src/scenes/dashboard/NewDashboardModal.scss index b14c650aecaa0..2607c3c28c620 100644 --- a/frontend/src/scenes/dashboard/NewDashboardModal.scss +++ b/frontend/src/scenes/dashboard/NewDashboardModal.scss @@ -1,9 +1,9 @@ .NewDashboardModal { .DashboardTemplateChooser { - max-width: 780px; + display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5em 0.5em; - display: grid; + max-width: 780px; } .TemplateItem { diff --git a/frontend/src/scenes/data-management/definition/Definition.scss b/frontend/src/scenes/data-management/definition/Definition.scss index 4e708a8082ee9..15b40ae820b36 100644 --- a/frontend/src/scenes/data-management/definition/Definition.scss +++ b/frontend/src/scenes/data-management/definition/Definition.scss @@ -28,12 +28,12 @@ flex-direction: column; .definition-popover-grid-card-title { + margin-bottom: 4px; font-size: 11px; font-weight: 600; - letter-spacing: 0.5px; - text-transform: uppercase; color: var(--muted); - margin-bottom: 4px; + text-transform: uppercase; + letter-spacing: 0.5px; } .definition-popover-grid-card-content { @@ -51,17 +51,17 @@ display: flex; align-items: center; width: fit-content; + max-width: 300px; padding: 0.125rem 0.25rem; - letter-spacing: 0.25px; - border-radius: var(--radius); - border: 1px solid var(--border-light); - background: var(--mid); - color: var(--muted-alt); font-size: 0.625rem; font-weight: 500; + color: var(--muted-alt); + letter-spacing: 0.25px; word-break: break-all; - max-width: 300px; cursor: text; + background: var(--mid); + border: 1px solid var(--border-light); + border-radius: var(--radius); } td.definition-column-name { @@ -70,21 +70,21 @@ align-items: center; .definition-column-name-content { + position: relative; display: flex; flex-direction: column; - position: relative; .definition-column-name-content-title { - font-weight: 600; - cursor: pointer; position: relative; overflow: visible; + font-weight: 600; + cursor: pointer; &::before { - content: ''; position: absolute; inset: -5px -50px -5px -10px; height: 22px; + content: ''; } } @@ -129,15 +129,15 @@ // Shared across definition view and edit modes .definition-sent-as { display: flex; - align-items: center; flex-direction: row; - color: var(--muted); + align-items: center; margin: 0.5rem 0; + color: var(--muted); pre { + margin: 0 0.25rem; font-size: 13px; font-weight: 600; - margin: 0 0.25rem; } } } diff --git a/frontend/src/scenes/data-management/events/EventDefinitionsTable.scss b/frontend/src/scenes/data-management/events/EventDefinitionsTable.scss index 6f510e589a9c7..9bf7df3658094 100644 --- a/frontend/src/scenes/data-management/events/EventDefinitionsTable.scss +++ b/frontend/src/scenes/data-management/events/EventDefinitionsTable.scss @@ -30,23 +30,23 @@ align-items: center; .definition-column-name-content { + position: relative; display: flex; flex-direction: column; - position: relative; - min-height: 32px; justify-content: center; + min-height: 32px; .definition-column-name-content-title { - font-weight: 600; - cursor: pointer; position: relative; overflow: visible; + font-weight: 600; + cursor: pointer; &::before { - content: ''; position: absolute; inset: -5px -50px -5px -10px; height: 22px; + content: ''; } } } @@ -62,17 +62,17 @@ display: flex; align-items: center; width: fit-content; + max-width: 300px; padding: 0.125rem 0.25rem; - letter-spacing: 0.25px; - border-radius: var(--radius); - border: 1px solid var(--border-light); - background: var(--mid); - color: var(--muted-alt); font-size: 0.625rem; font-weight: 500; + color: var(--muted-alt); + letter-spacing: 0.25px; word-break: break-all; - max-width: 300px; cursor: text; + background: var(--mid); + border: 1px solid var(--border-light); + border-radius: var(--radius); } .LemonTable__expansion { diff --git a/frontend/src/scenes/data-management/properties/PropertyDefinitionsTable.scss b/frontend/src/scenes/data-management/properties/PropertyDefinitionsTable.scss index 50b3d7bfb9394..0fdf17e80f30a 100644 --- a/frontend/src/scenes/data-management/properties/PropertyDefinitionsTable.scss +++ b/frontend/src/scenes/data-management/properties/PropertyDefinitionsTable.scss @@ -25,23 +25,23 @@ td.definition-column-name { .definition-column-name-content { + position: relative; display: flex; flex-direction: column; - position: relative; - min-height: 32px; justify-content: center; + min-height: 32px; .definition-column-name-content-title { font-weight: 600; cursor: pointer; &::before { - content: ''; position: absolute; top: -5px; - left: -10px; right: -50px; + left: -10px; height: 22px; + content: ''; } } } diff --git a/frontend/src/scenes/experiments/Experiment.scss b/frontend/src/scenes/experiments/Experiment.scss index 762e1ad83b78a..c198c5ca46c0a 100644 --- a/frontend/src/scenes/experiments/Experiment.scss +++ b/frontend/src/scenes/experiments/Experiment.scss @@ -1,16 +1,16 @@ .experiment-form { .metrics-selection { - border-top: 1px solid var(--border); - padding-top: 1rem; width: 100%; + padding-top: 1rem; + border-top: 1px solid var(--border); } .person-selection { - width: 100%; - border-top: 1px solid var(--border); - padding-top: 1rem; align-items: center; justify-content: space-between; + width: 100%; + padding-top: 1rem; + border-top: 1px solid var(--border); } .insights-graph-container { @@ -33,12 +33,12 @@ } .insights-graph-container-row-right { + display: flex; + align-items: center; width: 100%; - height: min(calc(90vh - 16rem), 36rem); // same as .trends-insights-container max-width: 300px; + height: min(calc(90vh - 16rem), 36rem); // same as .trends-insights-container padding: 0 1rem 1rem 0; - display: flex; - align-items: center; } } @@ -50,10 +50,10 @@ } .insights-graph-header { - margin-top: 0 !important; - padding-left: 1rem; - padding-right: 1rem; min-height: 48px; + padding-right: 1rem; + padding-left: 1rem; + margin-top: 0 !important; } .experiment-preview { @@ -72,8 +72,8 @@ } .variants { - margin-top: 0.5rem; padding-bottom: 1rem; + margin-top: 0.5rem; .ant-form-horizontal { min-height: 32px; @@ -85,8 +85,8 @@ } .border-bottom { - border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; } .feature-flag-variant { @@ -94,11 +94,11 @@ align-items: center; padding: 0.5rem; background: var(--bg-light); - border-width: 1px; border-color: var(--border); + border-width: 1px; border-top-style: solid; - border-left-style: solid; border-right-style: solid; + border-left-style: solid; .extend-variant-fully { flex: 1; @@ -108,25 +108,25 @@ .variant-label { display: flex; flex-direction: row; - justify-content: center; align-items: center; - border-radius: 4px; - color: #fff; + justify-content: center; min-width: 52px; padding: 2px 6px; margin-right: 8px; font-size: 12px; font-weight: 500; + color: #fff; letter-spacing: 0.01em; + border-radius: 4px; } } .secondary-metrics { - margin-top: 1rem; + width: 100%; padding-top: 1rem; - border-top: 1px solid var(--border); + margin-top: 1rem; margin-bottom: 1rem; - width: 100%; + border-top: 1px solid var(--border); } .ant-input-number-disabled { @@ -186,10 +186,10 @@ margin-top: 0.5rem; li::before { - content: '\2022'; display: inline-block; - font-weight: 900; margin-right: 4px; + font-weight: 900; + content: '\2022'; } .ant-progress-inner { @@ -203,14 +203,14 @@ .no-experiment-results { display: flex; - justify-content: center; align-items: center; - margin-top: 1rem; - background-color: var(--side); - border: 1px solid var(--border); + justify-content: center; width: 100%; min-height: 320px; + margin-top: 1rem; font-size: 24px; + background-color: var(--side); + border: 1px solid var(--border); } .computation-time-and-sampling-notice { @@ -219,31 +219,31 @@ } .preview-conversion-goal-num { - height: 24px; width: 24px; + height: 24px; + margin-right: 0.5rem; + font-weight: 700; + color: var(--primary-alt); text-align: center; background-color: var(--side); - color: var(--primary-alt); - font-weight: 700; - margin-right: 0.5rem; } .experiment-preview-row { - border-bottom: 1px solid var(--border); padding-bottom: 1rem; margin-bottom: 1rem; + border-bottom: 1px solid var(--border); &:last-child { - border-bottom: none; padding-bottom: 0; margin-bottom: 0; + border-bottom: none; } } .metric-name { - border: 1px solid var(--border); - border-radius: 4px; + flex: 1; padding: 8px 8px 8px 16px; margin-left: 0.5rem; - flex: 1; + border: 1px solid var(--border); + border-radius: 4px; } diff --git a/frontend/src/scenes/feature-flags/FeatureFlag.scss b/frontend/src/scenes/feature-flags/FeatureFlag.scss index 730181e4ad083..55e400f4f7d95 100644 --- a/frontend/src/scenes/feature-flags/FeatureFlag.scss +++ b/frontend/src/scenes/feature-flags/FeatureFlag.scss @@ -1,9 +1,9 @@ .variant-form-list { + padding: 16px; + margin-top: 16px; font-size: 13px; border: 1px solid var(--border); border-radius: var(--radius); - padding: 16px; - margin-top: 16px; .ant-form-item { min-height: 32px; @@ -13,10 +13,10 @@ font-weight: bold; .ant-col { - min-height: 32px; display: flex; - justify-content: space-between; align-items: center; + justify-content: space-between; + min-height: 32px; } } } @@ -24,13 +24,13 @@ .feature-flag-property-display { display: flex; flex-flow: row wrap; - align-items: center; gap: 0.5rem; + align-items: center; margin-top: 0.5rem; .arrow-right { - margin-right: -8px; margin-top: 0.25rem; + margin-right: -8px; } .display-value { @@ -39,17 +39,17 @@ } .condition-set-separator { - color: var(--primary-alt); + margin-bottom: 0.5rem; + margin-left: 0.5rem; font-size: 12px; font-weight: var(--font-semibold); - margin-left: 0.5rem; - margin-bottom: 0.5rem; + color: var(--primary-alt); } .feature-flag-form-row { display: flex; - align-items: center; flex-wrap: wrap; + align-items: center; width: 100%; .centered { diff --git a/frontend/src/scenes/feature-flags/FeatureFlagInstructions.scss b/frontend/src/scenes/feature-flags/FeatureFlagInstructions.scss index 5d93c3c275519..369c230425b5c 100644 --- a/frontend/src/scenes/feature-flags/FeatureFlagInstructions.scss +++ b/frontend/src/scenes/feature-flags/FeatureFlagInstructions.scss @@ -6,9 +6,9 @@ justify-items: center; .FeatureFlagInstructionsHeader__header-title__icon { - color: var(--text-muted-alt); margin-right: 12px; font-size: 1.6em; + color: var(--text-muted-alt); } } } diff --git a/frontend/src/scenes/feature-flags/JSONEditorInput.scss b/frontend/src/scenes/feature-flags/JSONEditorInput.scss index 1ad4102fca3c7..3aac722d947be 100644 --- a/frontend/src/scenes/feature-flags/JSONEditorInput.scss +++ b/frontend/src/scenes/feature-flags/JSONEditorInput.scss @@ -16,19 +16,19 @@ .placeholder { position: absolute; top: 0; - left: 0; bottom: 0; - height: 100%; + left: 0; width: 100%; + height: 100%; pointer-events: none; .placeholderLabelContainer { display: flex; align-items: center; - pointer-events: none; height: 100%; padding-left: 18px; color: gray; + pointer-events: none; } } } diff --git a/frontend/src/scenes/funnels/FunnelBarChart/FunnelBarChart.scss b/frontend/src/scenes/funnels/FunnelBarChart/FunnelBarChart.scss index 79df64b8138d7..77514bd2affce 100644 --- a/frontend/src/scenes/funnels/FunnelBarChart/FunnelBarChart.scss +++ b/frontend/src/scenes/funnels/FunnelBarChart/FunnelBarChart.scss @@ -18,8 +18,8 @@ --bar-width: 0.5rem; // This should be overriden from React --bar-row-height: 18rem; - margin: 0.5rem 1rem 0; width: 100%; + margin: 0.5rem 1rem 0; > tbody { > tr { @@ -47,10 +47,10 @@ } .StepBarLabels { - height: calc(var(--bar-row-height) - 3rem); display: flex; flex-direction: column-reverse; align-items: flex-end; + height: calc(var(--bar-row-height) - 3rem); } .StepBarLabels__segment { @@ -64,19 +64,19 @@ } .StepBarLabels__label { - transform: translateY(-50%); font-size: 0.75rem; font-weight: 500; + transform: translateY(-50%); } .StepBars { position: relative; display: flex; - align-items: flex-end; gap: 0.125rem; - border-bottom: 1px solid var(--border); + align-items: flex-end; height: calc(var(--bar-row-height) - 3rem); padding: 0 1rem; + border-bottom: 1px solid var(--border); &:not(.StepBars--first) { border-left: 1px dashed var(--border); @@ -85,8 +85,8 @@ .StepBars__grid { position: absolute; - left: 0; bottom: 0; + left: 0; display: flex; flex-direction: column; align-items: stretch; @@ -107,18 +107,18 @@ --conversion-rate: 100%; // This should be overriden from React position: relative; - border-radius: var(--radius); - width: calc(var(--bar-width) / 2); // We need to conserve space in narrow viewports flex-shrink: 0; + width: calc(var(--bar-width) / 2); // We need to conserve space in narrow viewports height: 100%; - - @include screen($lg) { - width: var(--bar-width); - } + border-radius: var(--radius); .InsightCard & { width: calc(var(--bar-width) / 2) !important; // Also need to conserve space in cards } + + @include screen($lg) { + width: var(--bar-width); + } } .StepBar__backdrop, @@ -127,8 +127,8 @@ bottom: 0; left: 0; width: 100%; - border-radius: var(--radius); cursor: pointer; + border-radius: var(--radius); .InsightCard & { cursor: default; @@ -143,7 +143,6 @@ } .StepBar__backdrop { - transition: opacity 200ms ease; height: 100%; background: repeating-linear-gradient( -22.5deg, @@ -154,6 +153,7 @@ ), var(--series-color); opacity: 0.125; + transition: opacity 200ms ease; &:hover { opacity: 0.2; @@ -165,9 +165,9 @@ } .StepBar__fill { - transition: filter 200ms ease; - background: var(--series-color); height: var(--conversion-rate); + background: var(--series-color); + transition: filter 200ms ease; &:hover { filter: brightness(0.9); @@ -179,26 +179,26 @@ } .StepLegend { - border-left: 1px solid var(--border); - white-space: nowrap; height: 100%; + white-space: nowrap; + border-left: 1px solid var(--border); > .LemonRow { min-height: 1.5rem; padding: 0 0.5rem; - font-weight: 500; margin-top: 0.25rem; + font-weight: 500; &:first-child { width: fit-content; - font-weight: 600; margin-top: 0; + font-weight: 600; } } .funnel-inspect-button { - line-height: 1.5rem; font-weight: inherit; + line-height: 1.5rem; } } @@ -207,8 +207,8 @@ table { width: 100%; - border-collapse: collapse; border-spacing: 0; + border-collapse: collapse; } tr { diff --git a/frontend/src/scenes/funnels/FunnelBarGraph/FunnelBarGraph.scss b/frontend/src/scenes/funnels/FunnelBarGraph/FunnelBarGraph.scss index e234468e940d1..8dc4d44974ef8 100644 --- a/frontend/src/scenes/funnels/FunnelBarGraph/FunnelBarGraph.scss +++ b/frontend/src/scenes/funnels/FunnelBarGraph/FunnelBarGraph.scss @@ -6,13 +6,13 @@ $glyph_height: 23px; // Based on .funnel-step-glyph .funnel-bar-graph { min-height: 100%; - padding-left: 1.5rem; padding-right: 1.5rem; padding-bottom: 1rem; + padding-left: 1.5rem; .InsightCard & { - padding-left: 1rem; padding-right: 1rem; + padding-left: 1rem; } .funnel-step { @@ -39,8 +39,8 @@ $glyph_height: 23px; // Based on .funnel-step-glyph line-height: 1.5rem; .value-inspector-button-icon { - font-size: 1.5rem; margin-right: 0.25rem; + font-size: 1.5rem; vertical-align: bottom; } } @@ -48,13 +48,13 @@ $glyph_height: 23px; // Based on .funnel-step-glyph .funnel-series-container { position: absolute; - left: 0; top: 0; - height: 100%; - width: $series_container_width; + left: 0; display: flex; flex-direction: column; align-items: center; + width: $series_container_width; + height: 100%; .graph-series-glyph { user-select: none; @@ -63,8 +63,8 @@ $glyph_height: 23px; // Based on .funnel-step-glyph .funnel-series-linebox { position: absolute; left: 0; - width: calc(#{$series_container_width} / 2 + 1px); box-sizing: border-box; + width: calc(#{$series_container_width} / 2 + 1px); border-right: 2px solid var(--mid); &.before { @@ -73,8 +73,8 @@ $glyph_height: 23px; // Based on .funnel-step-glyph } &.after { - bottom: 0; top: calc(#{$glyph_height} / 2); + bottom: 0; height: calc(100% - #{$glyph_height} / 2); } } @@ -88,21 +88,21 @@ $glyph_height: 23px; // Based on .funnel-step-glyph header, footer { - line-height: $glyph_height; display: flex; align-items: center; + line-height: $glyph_height; } header { + position: relative; display: flex; - justify-content: space-between; flex-wrap: wrap; - position: relative; + justify-content: space-between; .funnel-step-title { - @extend %mixin-text-ellipsis; - font-weight: bold; + + @extend %mixin-text-ellipsis; } button { @@ -112,12 +112,12 @@ $glyph_height: 23px; // Based on .funnel-step-glyph } .funnel-bar-wrapper { + display: flex; + flex-direction: row; height: 32px; margin: 4px 0; background-color: var(--funnel-background); border-radius: 4px; - display: flex; - flex-direction: row; .funnel-bar { position: relative; @@ -140,8 +140,8 @@ $glyph_height: 23px; // Based on .funnel-step-glyph .funnel-bar-percentage { position: absolute; top: 8px; - line-height: 16px; font-weight: bold; + line-height: 16px; color: #fff; &.inside { diff --git a/frontend/src/scenes/ingestion/IngestionWizard.scss b/frontend/src/scenes/ingestion/IngestionWizard.scss index e1d2b422bdf7c..23c33fee7062d 100644 --- a/frontend/src/scenes/ingestion/IngestionWizard.scss +++ b/frontend/src/scenes/ingestion/IngestionWizard.scss @@ -1,11 +1,11 @@ .IngestionContainer { display: flex; - height: 100%; + flex-direction: column; align-items: center; justify-content: center; - padding: 2rem; - flex-direction: column; width: 100%; + height: 100%; + padding: 2rem; } .IngestionContent { @@ -15,15 +15,15 @@ } .IngestionTopbar { - border-bottom: 1px solid var(--border); - padding: 0.25rem 1rem; - display: flex; - justify-content: space-between; position: sticky; top: 0; - background-color: white; - width: 100%; z-index: 10; + display: flex; + justify-content: space-between; + width: 100%; + padding: 0.25rem 1rem; + background-color: white; + border-bottom: 1px solid var(--border); .help-button { margin-right: 1rem; @@ -31,13 +31,13 @@ } .platform-item { - margin-right: 10px; padding: 10px; - padding-left: 20px; padding-right: 20px; + padding-left: 20px; + margin-right: 10px; + cursor: pointer; border: 1px solid gray; border-radius: 2px; - cursor: pointer; } .platform-item:hover { @@ -45,33 +45,33 @@ } .selectable-item:hover { - background-color: gainsboro; cursor: pointer; + background-color: gainsboro; } .IngestionSidebar__bottom { margin-top: auto; .popover { - padding-left: 0.5rem; padding-right: 0.5rem; + padding-left: 0.5rem; } } .IngestionSidebar__help { display: flex; flex-direction: column; + margin-top: 1rem; font-weight: 500; color: var(--primary); - margin-top: 1rem; } .IngestionSidebar__steps { - color: var(--muted-alt); font-size: 14px; + color: var(--muted-alt); .LemonButton { - font-weight: 600; margin-bottom: 0.5rem; + font-weight: 600; } } diff --git a/frontend/src/scenes/ingestion/panels/InstructionsPanel.scss b/frontend/src/scenes/ingestion/panels/InstructionsPanel.scss index 5d7b1c7ce4408..8ce51963fd88d 100644 --- a/frontend/src/scenes/ingestion/panels/InstructionsPanel.scss +++ b/frontend/src/scenes/ingestion/panels/InstructionsPanel.scss @@ -9,19 +9,19 @@ } h2 { + margin-top: 0.5rem; font-size: 20px; font-weight: 800; line-height: 24px; letter-spacing: -0.02em; - margin-top: 0.5rem; } h3 { + margin-top: 0.5rem; font-size: 16px; font-weight: 700; line-height: 24px; letter-spacing: 0; - margin-top: 0.5rem; } ol { diff --git a/frontend/src/scenes/ingestion/panels/Panels.scss b/frontend/src/scenes/ingestion/panels/Panels.scss index ca98aa806c405..66eb33b780b36 100644 --- a/frontend/src/scenes/ingestion/panels/Panels.scss +++ b/frontend/src/scenes/ingestion/panels/Panels.scss @@ -3,25 +3,25 @@ } .panel-footer { - background-color: white; - margin-bottom: 1rem; bottom: 0; + margin-bottom: 1rem; + background-color: white; } .ingestion-title { - font-size: 28px; - font-weight: 700; - line-height: 40px; display: flex; - align-items: center; gap: 0.5rem; + align-items: center; margin: 0; + font-size: 28px; + font-weight: 700; + line-height: 40px; } .IngestionSubtitle { + margin: 1rem 0; font-size: 20px; font-weight: 800; - margin: 1rem 0; } .prompt-text { @@ -32,6 +32,6 @@ display: flex; flex-direction: column; align-items: center; - text-align: center; margin-bottom: 1rem; + text-align: center; } diff --git a/frontend/src/scenes/insights/EmptyStates/EmptyStates.scss b/frontend/src/scenes/insights/EmptyStates/EmptyStates.scss index abb96d022d645..ffa3cdf1a0f3c 100644 --- a/frontend/src/scenes/insights/EmptyStates/EmptyStates.scss +++ b/frontend/src/scenes/insights/EmptyStates/EmptyStates.scss @@ -1,12 +1,12 @@ .insight-empty-state { display: flex; flex-direction: column; - justify-content: center; + flex-grow: 1; align-items: center; - color: var(--muted); + justify-content: center; padding: 1rem; font-size: 1.1em; - flex-grow: 1; + color: var(--muted); &.error { .illustration-main, @@ -31,8 +31,8 @@ } h2 { - font-weight: 600; font-size: 1.5rem; + font-weight: 600; line-height: 1.6rem; color: var(--primary-alt); } @@ -47,11 +47,11 @@ .illustration-main { display: flex; justify-content: center; - font-size: 4rem; height: auto; + margin-bottom: 0.75rem; + font-size: 4rem; line-height: 1em; text-align: center; - margin-bottom: 0.75rem; .ant-empty { height: 6rem; diff --git a/frontend/src/scenes/insights/Insight.scss b/frontend/src/scenes/insights/Insight.scss index 5ac69e14f709c..d6b693f7b6fd4 100644 --- a/frontend/src/scenes/insights/Insight.scss +++ b/frontend/src/scenes/insights/Insight.scss @@ -21,11 +21,11 @@ margin-bottom: 1rem; .ant-card-head { - border-bottom: 1px solid var(--border); min-height: unset; - background-color: var(--bg-light); - padding-left: 1rem; padding-right: 1rem; + padding-left: 1rem; + background-color: var(--bg-light); + border-bottom: 1px solid var(--border); .ant-card-head-title { padding: 0; @@ -42,13 +42,13 @@ } .insights-graph-container-row-right { - height: min(calc(90vh - 16rem), 36rem); // same as .trends-insights-container - max-width: 45%; - min-width: 300px; - width: fit-content; - padding: 0 1rem 1rem 0; display: flex; align-items: center; + width: fit-content; + min-width: 300px; + max-width: 45%; + height: min(calc(90vh - 16rem), 36rem); // same as .trends-insights-container + padding: 0 1rem 1rem 0; } } @@ -64,9 +64,9 @@ align-items: center; .insight-title-text { - white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + white-space: nowrap; } } @@ -80,11 +80,11 @@ } .insights-graph-header { + min-height: 48px; + padding-right: 1rem; + padding-left: 1rem; margin-top: 0 !important; margin-bottom: 0 !important; - padding-left: 1rem; - padding-right: 1rem; - min-height: 48px; } } diff --git a/frontend/src/scenes/insights/InsightTooltip/InsightTooltip.scss b/frontend/src/scenes/insights/InsightTooltip/InsightTooltip.scss index df45e9cdac85b..db87eca9afff6 100644 --- a/frontend/src/scenes/insights/InsightTooltip/InsightTooltip.scss +++ b/frontend/src/scenes/insights/InsightTooltip/InsightTooltip.scss @@ -1,19 +1,19 @@ .InsightTooltipWrapper { position: absolute; - transition: all 0.4s; z-index: var(--z-graph-tooltip); pointer-events: none; + transition: all 0.4s; } .InsightTooltip { + max-width: 30rem; overflow: hidden; - border: 1px solid var(--border); - box-shadow: var(--shadow-elevation); font-size: 0.8125rem; - max-width: 30rem; - border-radius: var(--radius); - background: var(--bg-light); pointer-events: none; + background: var(--bg-light); + border: 1px solid var(--border); + border-radius: var(--radius); + box-shadow: var(--shadow-elevation); .LemonRow { font-size: 0.8125rem; @@ -22,8 +22,8 @@ .LemonTable { font-size: 0.75rem; border: none; - border-bottom-left-radius: 0; border-bottom-right-radius: 0; + border-bottom-left-radius: 0; &:not(:last-child) { border-bottom: 1px solid var(--border); @@ -55,9 +55,9 @@ .LemonTable__content > table { .datum-label-column { - font-weight: 600; display: flex; align-items: center; + font-weight: 600; } .series-data-cell { @@ -65,21 +65,21 @@ } .tag-pill { - background-color: var(--border-3000); margin-right: 0; - border: 0; - color: var(--primary-alt); overflow: hidden; + color: var(--primary-alt); vertical-align: middle; + background-color: var(--border-3000); + border: 0; } } } .table-subtext { - font-size: 0.75rem; - text-align: center; padding: 0.5rem 1rem; + font-size: 0.75rem; color: var(--muted); + text-align: center; background-color: var(--bg-light); .table-subtext-truncated { @@ -90,8 +90,8 @@ display: flex; align-items: center; justify-content: center; - color: var(--default); font-weight: 600; + color: var(--default); white-space: nowrap; } } diff --git a/frontend/src/scenes/insights/InsightTooltip/LEGACY_InsightTooltip.scss b/frontend/src/scenes/insights/InsightTooltip/LEGACY_InsightTooltip.scss index 996dd47bb8056..7178400c3fc68 100644 --- a/frontend/src/scenes/insights/InsightTooltip/LEGACY_InsightTooltip.scss +++ b/frontend/src/scenes/insights/InsightTooltip/LEGACY_InsightTooltip.scss @@ -1,14 +1,14 @@ .legacy-ph-graph-tooltip { - box-shadow: 0 4px 12px rgb(0 0 0 / 10%); - font-size: 14px; - overflow-x: hidden; z-index: var(--z-graph-tooltip); - transition: all 0.4s; max-width: 480px; padding: 8px 12px; + overflow-x: hidden; + font-size: 14px; + background: #fafafa; border: 1px solid var(--border); border-radius: var(--radius); - background: #fafafa; + box-shadow: 0 4px 12px rgb(0 0 0 / 10%); + transition: all 0.4s; } .inner-tooltip { @@ -19,29 +19,29 @@ } footer { - margin-top: 0 !important; padding-top: 6px; + margin-top: 0 !important; border-top: 1px solid var(--border); } } header { - font-weight: bold; margin-bottom: 0.5rem; + font-weight: bold; } footer { + display: flex; + align-items: center; + justify-content: center; margin-top: 0.5rem; - font-weight: bold; font-size: 85%; + font-weight: bold; color: var(--muted); - display: flex; - justify-content: center; - align-items: center; svg { - font-size: 1.4em; margin-right: 4px; + font-size: 1.4em; } } @@ -56,17 +56,17 @@ font-style: italic; svg { - margin-left: 2px; margin-right: 6px; + margin-left: 2px; } } ul { - list-style-type: none; + max-height: 32vh; padding: 0; margin-bottom: 0; - max-height: 32vh; overflow-y: hidden; // As the element has pointer-events: none to allow proper function, scrolling is not supported anyways + list-style-type: none; li { display: flex; diff --git a/frontend/src/scenes/insights/filters/ActionFilter/ActionFilter.scss b/frontend/src/scenes/insights/filters/ActionFilter/ActionFilter.scss index 129c9a28765eb..6c5b3dea1d24a 100644 --- a/frontend/src/scenes/insights/filters/ActionFilter/ActionFilter.scss +++ b/frontend/src/scenes/insights/filters/ActionFilter/ActionFilter.scss @@ -9,28 +9,28 @@ } &.ActionFilter--bordered { - border-radius: var(--radius); border: 1px solid var(--border); + border-radius: var(--radius); .ActionFilterRow { margin-top: 0; .ActionFilterRow-content { - margin-bottom: 0; padding: 1rem; + margin-bottom: 0; border-bottom: 1px solid var(--border); } } .ActionFilter-footer { - margin-top: 0; padding: 0.5rem; + margin-top: 0; } .ActionFilterRow-filters { + padding: 0.5rem; background-color: var(--side); border-bottom: 1px solid var(--border); - padding: 0.5rem; } } } diff --git a/frontend/src/scenes/insights/filters/ActionFilter/ActionFilterRow/ActionFilterRow.scss b/frontend/src/scenes/insights/filters/ActionFilter/ActionFilterRow/ActionFilterRow.scss index 854c50ea3469f..9dc8e30f6d6c2 100644 --- a/frontend/src/scenes/insights/filters/ActionFilter/ActionFilterRow/ActionFilterRow.scss +++ b/frontend/src/scenes/insights/filters/ActionFilter/ActionFilterRow/ActionFilterRow.scss @@ -17,24 +17,24 @@ .ActionFilterRow__start, .ActionFilterRow__end { - height: 40px; display: flex; - align-items: center; flex: 0; gap: 0.25rem; + align-items: center; + height: 40px; } .ActionFilterRow__center { flex: 1; - overflow: hidden; flex-wrap: wrap; gap: 0.5rem; + overflow: hidden; } } .ActionFilterRowDragHandle { - cursor: move; - color: var(--default); font-size: 1.2em; + color: var(--default); + cursor: move; transform: rotate(90deg); } diff --git a/frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTag.scss b/frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTag.scss index 05b9e0739cf0f..96e31d3b122d1 100644 --- a/frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTag.scss +++ b/frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTag.scss @@ -1,10 +1,10 @@ .breakdown-tag { - vertical-align: bottom; padding: 8px 12px; + font-size: 14px; + font-weight: 400; line-height: 16px; color: var(--primary-alt); + vertical-align: bottom; background-color: var(--primary-bg-hover); border-radius: 40px; - font-weight: 400; - font-size: 14px; } diff --git a/frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTagMenu.scss b/frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTagMenu.scss index 2edeadab568fc..ae386137e5627 100644 --- a/frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTagMenu.scss +++ b/frontend/src/scenes/insights/filters/BreakdownFilter/BreakdownTagMenu.scss @@ -1,6 +1,6 @@ .histogram-bin-input { width: 60px; - margin: 0 0.5rem; padding: 0.25rem; + margin: 0 0.5rem; background-color: var(--bg-light); } diff --git a/frontend/src/scenes/insights/views/BoldNumber/BoldNumber.scss b/frontend/src/scenes/insights/views/BoldNumber/BoldNumber.scss index b43f8c6bb0712..53e1270d2b538 100644 --- a/frontend/src/scenes/insights/views/BoldNumber/BoldNumber.scss +++ b/frontend/src/scenes/insights/views/BoldNumber/BoldNumber.scss @@ -16,11 +16,11 @@ .BoldNumber__value { width: 100%; - text-align: center; padding: 0 2rem; margin: 0 auto; - line-height: 1; font-weight: 700; + line-height: 1; + text-align: center; letter-spacing: -0.025em; .InsightCard & { @@ -39,7 +39,7 @@ .BoldNumber__comparison { margin-top: 0.5rem; margin-bottom: -1.5rem; - color: var(--muted-alt); font-weight: 500; + color: var(--muted-alt); cursor: default; } diff --git a/frontend/src/scenes/insights/views/Funnels/CorrelationMatrix.scss b/frontend/src/scenes/insights/views/Funnels/CorrelationMatrix.scss index a315676b55406..256c96fa8223e 100644 --- a/frontend/src/scenes/insights/views/Funnels/CorrelationMatrix.scss +++ b/frontend/src/scenes/insights/views/Funnels/CorrelationMatrix.scss @@ -6,21 +6,21 @@ .correlation-table-wrapper { table { - border-radius: var(--radius); - border: 1px solid var(--border); - border-collapse: separate; - border-spacing: 0; margin: 0 auto; + border-spacing: 0; + border-collapse: separate; + border: 1px solid var(--border); + border-radius: var(--radius); td { padding: 0.5rem 1rem; - border-left: 1px solid var(--border); - border-top: 1px solid var(--border); text-align: center; + border-top: 1px solid var(--border); + border-left: 1px solid var(--border); .percentage { - font-weight: bold; padding-bottom: 0.25rem; + font-weight: bold; } &:first-child { @@ -39,9 +39,9 @@ thead, .horizontal-header { font-weight: bold; - background-color: var(--antd-table-background-dark); - text-transform: uppercase; color: var(--muted); + text-transform: uppercase; + background-color: var(--antd-table-background-dark); } tbody { diff --git a/frontend/src/scenes/insights/views/Funnels/FunnelCorrelation.scss b/frontend/src/scenes/insights/views/Funnels/FunnelCorrelation.scss index b01a965afdb4e..d1932ec322b9d 100644 --- a/frontend/src/scenes/insights/views/Funnels/FunnelCorrelation.scss +++ b/frontend/src/scenes/insights/views/Funnels/FunnelCorrelation.scss @@ -11,14 +11,14 @@ } h4 { - font-size: 1.1em; + position: relative; display: flex; align-items: center; - border-bottom: 1px solid var(--border); padding: 0.5rem 1rem; - margin-left: -1rem; margin-right: -1rem; - position: relative; + margin-left: -1rem; + font-size: 1.1em; + border-bottom: 1px solid var(--border); .close-button { position: absolute; diff --git a/frontend/src/scenes/insights/views/Funnels/FunnelCorrelationTable.scss b/frontend/src/scenes/insights/views/Funnels/FunnelCorrelationTable.scss index 41934f4a6aa43..8628fe75d08d6 100644 --- a/frontend/src/scenes/insights/views/Funnels/FunnelCorrelationTable.scss +++ b/frontend/src/scenes/insights/views/Funnels/FunnelCorrelationTable.scss @@ -1,8 +1,8 @@ .funnel-correlation-table { margin-top: 1rem; + overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); - overflow: hidden; .ant-table { thead th { @@ -11,53 +11,52 @@ } .funnel-correlation-header { - background: var(--mid); display: flex; + place-content: space-between space-between; align-items: center; align-self: stretch; padding: 0.25rem 0.5rem; - place-content: space-between space-between; + background: var(--mid); border-top-left-radius: var(--radius); border-top-right-radius: var(--radius); .table-header { + display: flex; + align-items: center; + font-size: 11px; font-style: normal; font-weight: bold; - font-size: 11px; line-height: 16px; - display: flex; - align-items: center; - letter-spacing: 0.02em; - text-transform: uppercase; color: var(--default); + text-transform: uppercase; + letter-spacing: 0.02em; } .table-options { display: flex; flex-grow: 1; - justify-content: flex-end; align-items: center; + justify-content: flex-end; .title { - font-family: var(--font-sans); - font-style: normal; - font-weight: 600; - font-size: 11px; - line-height: 16px; - /* identical to box height, or 145% */ display: flex; align-items: center; - letter-spacing: 0.02em; - text-transform: uppercase; margin: 5px; + font-family: var(--font-sans); + font-size: 11px; + font-style: normal; + font-weight: 600; + line-height: 16px; color: var(--muted); + text-transform: uppercase; + letter-spacing: 0.02em; } .LemonCheckbox:not(:last-child) label { - border-radius: var(--radius) 0 0 var(--radius); border-right: none; + border-radius: var(--radius) 0 0 var(--radius); } .LemonCheckbox:last-child label { @@ -67,9 +66,9 @@ } .column-info { + padding-left: 4px; color: var(--muted-alt); cursor: pointer; - padding-left: 4px; } .nested-properties-table { diff --git a/frontend/src/scenes/insights/views/Histogram/Histogram.scss b/frontend/src/scenes/insights/views/Histogram/Histogram.scss index e6d3138958889..8fdce54b60005 100644 --- a/frontend/src/scenes/insights/views/Histogram/Histogram.scss +++ b/frontend/src/scenes/insights/views/Histogram/Histogram.scss @@ -9,8 +9,8 @@ display: flex; svg { - margin-left: 1rem; margin-right: 1rem; + margin-left: 1rem; /* * Axis @@ -66,10 +66,11 @@ g#labels { text.bar-label { + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + // same as chart-js font-size: 12px; font-weight: normal; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; fill: var(--white); &.outside { diff --git a/frontend/src/scenes/insights/views/InsightsTable/InsightsTable.scss b/frontend/src/scenes/insights/views/InsightsTable/InsightsTable.scss index 2d59cd226cc7a..ae0127fb1cd5e 100644 --- a/frontend/src/scenes/insights/views/InsightsTable/InsightsTable.scss +++ b/frontend/src/scenes/insights/views/InsightsTable/InsightsTable.scss @@ -12,9 +12,9 @@ align-items: center; .edit-icon { + font-size: 1rem; color: var(--primary); cursor: pointer; - font-size: 1rem; } .insights-label { @@ -22,8 +22,8 @@ cursor: pointer; .EntityFilterInfo { - color: var(--primary); font-weight: 500; + color: var(--primary); } } } diff --git a/frontend/src/scenes/insights/views/WorldMap/WorldMap.scss b/frontend/src/scenes/insights/views/WorldMap/WorldMap.scss index d8f9bffe605e7..85f47ea9e41f9 100644 --- a/frontend/src/scenes/insights/views/WorldMap/WorldMap.scss +++ b/frontend/src/scenes/insights/views/WorldMap/WorldMap.scss @@ -1,13 +1,13 @@ .WorldMap { - padding: 1rem 0; width: 100%; + padding: 1rem 0; color: var(--border); .landxx { fill: currentColor; + fill-rule: evenodd; stroke: var(--bg-light); stroke-width: 0.125rem; - fill-rule: evenodd; &:hover { color: var(--primary-dark) !important; diff --git a/frontend/src/scenes/notebooks/AddToNotebook/DraggableToNotebook.scss b/frontend/src/scenes/notebooks/AddToNotebook/DraggableToNotebook.scss index 2ee530fe2d87a..fdbc75f2d157f 100644 --- a/frontend/src/scenes/notebooks/AddToNotebook/DraggableToNotebook.scss +++ b/frontend/src/scenes/notebooks/AddToNotebook/DraggableToNotebook.scss @@ -2,11 +2,12 @@ position: relative; &--dragging { + background-color: var(--bg-light); + outline: 1px solid var(--primary); + // Weird hack - this fixes chrome from not correctly identifying the bounds of the component for the drag preview // https://github.com/react-dnd/react-dnd/issues/832#issuecomment-442071628 transform: translate3d(0, 0, 0); - outline: 1px solid var(--primary); - background-color: var(--bg-light); } &[draggable='true'] { diff --git a/frontend/src/scenes/notebooks/Nodes/NodeWrapper.scss b/frontend/src/scenes/notebooks/Nodes/NodeWrapper.scss index 179f475205dbf..8f147864e8660 100644 --- a/frontend/src/scenes/notebooks/Nodes/NodeWrapper.scss +++ b/frontend/src/scenes/notebooks/Nodes/NodeWrapper.scss @@ -6,24 +6,24 @@ transform: translate3d(0, 0, 0); .NotebookNode__box { - transform: translate3d(0, 0, 0); + overflow: hidden; + background-color: var(--bg-light); border: 1px solid var(--border-color); border-radius: var(--radius); - background-color: var(--bg-light); transition: border 150ms linear, margin-bottom 150ms linear; - overflow: hidden; + transform: translate3d(0, 0, 0); .NotebookNode__meta { display: flex; - justify-content: space-between; align-items: center; + justify-content: space-between; + height: var(--notebook-node-meta-height); + padding: var(--notebook-node-meta-padding); + overflow: hidden; font-size: 0.875rem; font-weight: 500; color: var(--primary-alt); - padding: var(--notebook-node-meta-padding); border-bottom: 1px solid var(--border); - height: var(--notebook-node-meta-height); - overflow: hidden; } .NotebookNode__settings { @@ -31,26 +31,26 @@ } .NotebookNode__content { - transition: box-shadow 150ms ease-out; z-index: 1; + transition: box-shadow 150ms ease-out; } } .NotebookNode__gap { display: flex; gap: 0.2rem; + align-items: center; + height: 1.25rem; overflow: hidden; - transition: all 150ms linear 1000ms; opacity: 0; - height: 1.25rem; - align-items: center; + transition: all 150ms linear 1000ms; } &--editable:hover, &--selected { .NotebookNode__gap { - opacity: 1; height: 2rem; + opacity: 1; transition: all 150ms linear; } } @@ -65,11 +65,11 @@ .NotebookNode__meta { position: absolute; top: 0; - left: 0; right: 0; + left: 0; + z-index: var(--z-popover); pointer-events: none; visibility: hidden; - z-index: var(--z-popover); background-color: var(--bg-light); } @@ -94,8 +94,8 @@ .NotebookNode.ph-image { img { flex: 1; - height: 100%; width: 100%; + height: 100%; object-fit: contain; } } diff --git a/frontend/src/scenes/notebooks/Notebook/Notebook.scss b/frontend/src/scenes/notebooks/Notebook/Notebook.scss index 5f7893e770de2..1e5d84f2bf153 100644 --- a/frontend/src/scenes/notebooks/Notebook/Notebook.scss +++ b/frontend/src/scenes/notebooks/Notebook/Notebook.scss @@ -1,14 +1,14 @@ .Notebook { - flex: 1; display: flex; + flex: 1; flex-direction: column; width: 100%; .NotebookEditor { + position: relative; flex: 1; width: 100%; overflow: hidden; - position: relative; .ProseMirror { &-focused { @@ -28,16 +28,15 @@ } > .is-empty::before { - content: attr(data-placeholder); float: left; + height: 0; color: rgb(0 0 0 / 20%); + pointer-events: none; + content: attr(data-placeholder); [theme='dark'] & { color: rgb(255 255 255 / 20%); } - - pointer-events: none; - height: 0; } > ol { @@ -49,8 +48,8 @@ } > ul[data-type='taskList'] { - list-style-type: none; padding-left: 0; + list-style-type: none; li { display: flex; @@ -88,26 +87,26 @@ } > pre { + padding: 0.5rem; + margin-bottom: 0.5rem; + overflow-x: auto; background-color: rgb(0 0 0 / 5%); border-radius: var(--radius); - overflow-x: auto; - margin-bottom: 0.5rem; - padding: 0.5rem; } > code, > p code { + padding: 0.2rem; background-color: rgb(0 0 0 / 5%); border-radius: var(--radius); - padding: 0.2rem; } } .Backlink { padding: 0.125rem 0.25rem; + background-color: var(--white); border: 1px solid var(--border); border-radius: var(--radius); - background-color: var(--white); &:hover { background-color: var(--side); @@ -123,9 +122,9 @@ } &.Backlink--active { - border: 1px solid var(--brand-blue); - background: var(--brand-blue); color: var(--white); + background: var(--brand-blue); + border: 1px solid var(--brand-blue); & .Backlink__label, & svg { @@ -149,25 +148,26 @@ &--editable { .NotebookEditor .ProseMirror { + flex: 1; + // Add some padding to help clicking below the last element padding-bottom: 10rem; - flex: 1; } } .NotebookColumn { + --notebook-sidebar-height: calc(100vh - 9rem); + position: relative; width: 0; transition: width var(--notebook-popover-transition-properties); - --notebook-sidebar-height: calc(100vh - 9rem); - .NotebookColumn__content { position: sticky; - align-self: flex-start; top: 0; - transform: translateX(-100%); + align-self: flex-start; transition: transform var(--notebook-popover-transition-properties); + transform: translateX(-100%); } .NotebookScene &, @@ -219,8 +219,8 @@ } .NotebookHistory { - flex: 1; display: flex; + flex: 1; flex-direction: column; height: var(--notebook-sidebar-height); overflow: hidden; @@ -231,8 +231,8 @@ box-shadow: 0 4px 10px 0 rgb(0 0 0 / 10%); .LemonInput { - border: 0; min-height: 0; + border: 0; } } diff --git a/frontend/src/scenes/notebooks/NotebookPanel/NotebookPanel.scss b/frontend/src/scenes/notebooks/NotebookPanel/NotebookPanel.scss index d4a2460692e24..9b21832b0a0c5 100644 --- a/frontend/src/scenes/notebooks/NotebookPanel/NotebookPanel.scss +++ b/frontend/src/scenes/notebooks/NotebookPanel/NotebookPanel.scss @@ -1,47 +1,47 @@ @import '../../../styles/mixins'; .NotebookPanel { - flex: 1; display: flex; + flex: 1; flex-direction: column; - background-color: var(--accent-3000); overflow: hidden; + background-color: var(--accent-3000); .NotebookPanelDropzone { + display: flex; + height: 4rem; + margin: 0.5rem; border: 2px dashed var(--border-3000); border-radius: var(--radius); - margin: 0.5rem; transition: all 150ms; - height: 4rem; - display: flex; .NotebookPanelDropzone__message { - flex: 1; display: flex; + flex: 1; flex-direction: column; - justify-content: center; align-items: center; - font-weight: 700; + justify-content: center; + padding: 1rem; font-size: 1rem; + font-weight: 700; color: var(--muted-alt); text-align: center; pointer-events: none; background-color: var(--bg-light); - padding: 1rem; opacity: 0.75; transition: all 150ms; } .NotebookPanelDropzone__dropped { - overflow: hidden; - flex: 1; display: flex; + flex: 1; flex-direction: column; + overflow: hidden; } &--active { - border-color: var(--primary); height: 8rem; + border-color: var(--primary); .NotebookPanelDropzone__message { opacity: 1; @@ -49,11 +49,11 @@ } &--dropped { - border: none; + align-items: initial; + justify-content: flex-start; height: 100%; margin: 1rem; - justify-content: flex-start; - align-items: initial; + border: none; } } } diff --git a/frontend/src/scenes/notebooks/NotebookPanel/NotebookPopover.scss b/frontend/src/scenes/notebooks/NotebookPanel/NotebookPopover.scss index ba0ab7a664877..92d523fda79b2 100644 --- a/frontend/src/scenes/notebooks/NotebookPanel/NotebookPopover.scss +++ b/frontend/src/scenes/notebooks/NotebookPanel/NotebookPopover.scss @@ -10,8 +10,8 @@ position: absolute; inset: 0; z-index: 1; - background-color: rgb(0 0 0 / 10%); pointer-events: none; + background-color: rgb(0 0 0 / 10%); opacity: 0; transition: opacity 200ms ease-out; } @@ -19,31 +19,31 @@ .NotebookPopover__content { position: absolute; top: 1rem; - bottom: 1rem; right: 1rem; + bottom: 1rem; z-index: 2; + display: flex; + flex-direction: column; + width: 50rem; // This will be controlable min-width: 30rem; max-width: calc(100vw - 2rem); - width: 50rem; // This will be controlable pointer-events: all; - display: flex; - flex-direction: column; + transition: transform var(--notebook-popover-transition-properties), + width var(--notebook-popover-transition-properties); // Transition properties that are overwritten transform: translateX(calc(100% + 1rem)); - transition: transform var(--notebook-popover-transition-properties), - width var(--notebook-popover-transition-properties); .NotebookPopover__content__card { - flex: 1; display: flex; + flex: 1; flex-direction: column; - border-radius: var(--radius); + overflow: hidden; background-color: var(--bg-3000); border: 1px solid var(--border-3000); + border-radius: var(--radius); box-shadow: 0 16px 16px rgb(0 0 0 / 0%); transition: box-shadow 150ms linear; - overflow: hidden; } } @@ -87,42 +87,42 @@ } .NotebookPanelDropzone { - box-shadow: 0 16px 16px rgb(0 0 0 / 15%); - border: 2px dashed var(--border-3000); - border-radius: var(--radius); - transition: all 150ms; + display: flex; height: 4rem; margin-bottom: 1rem; backdrop-filter: blur(5px); - display: flex; + border: 2px dashed var(--border-3000); + border-radius: var(--radius); + box-shadow: 0 16px 16px rgb(0 0 0 / 15%); + transition: all 150ms; .NotebookPanelDropzone__message { - flex: 1; display: flex; + flex: 1; flex-direction: column; - justify-content: center; align-items: center; - font-weight: 700; + justify-content: center; + padding: 1rem; font-size: 1rem; + font-weight: 700; color: var(--muted-alt); text-align: center; pointer-events: none; background-color: var(--bg-light); - padding: 1rem; opacity: 0.75; transition: all 150ms; } .NotebookPanelDropzone__dropped { - overflow: hidden; - flex: 1; display: flex; + flex: 1; flex-direction: column; + overflow: hidden; } &--active { - border-color: var(--primary); height: 8rem; + border-color: var(--primary); .NotebookPanelDropzone__message { opacity: 1; @@ -130,12 +130,12 @@ } &--dropped { + align-items: initial; + justify-content: flex-start; + height: 100%; padding: 1rem; - border-color: var(--primary); background-color: var(--bg-light); - height: 100%; - justify-content: flex-start; - align-items: initial; + border-color: var(--primary); } } } diff --git a/frontend/src/scenes/notebooks/NotebookScene.scss b/frontend/src/scenes/notebooks/NotebookScene.scss index 596dcd4efbed7..3844c09c24552 100644 --- a/frontend/src/scenes/notebooks/NotebookScene.scss +++ b/frontend/src/scenes/notebooks/NotebookScene.scss @@ -2,8 +2,8 @@ .Navigation3000 & { position: absolute; inset: 0; - overflow-y: auto; padding: 0 1rem; + overflow-y: auto; } .ProseMirror > .react-renderer { diff --git a/frontend/src/scenes/notebooks/Suggestions/FloatingSuggestions.scss b/frontend/src/scenes/notebooks/Suggestions/FloatingSuggestions.scss index bc4d9791e78ff..80e60079591f6 100644 --- a/frontend/src/scenes/notebooks/Suggestions/FloatingSuggestions.scss +++ b/frontend/src/scenes/notebooks/Suggestions/FloatingSuggestions.scss @@ -4,7 +4,7 @@ } .NotebookFloatingButton { - z-index: var(--z-popover); position: absolute; left: 0; + z-index: var(--z-popover); } diff --git a/frontend/src/scenes/paths/Paths.scss b/frontend/src/scenes/paths/Paths.scss index f15cb42af4435..9d78145ffbde8 100644 --- a/frontend/src/scenes/paths/Paths.scss +++ b/frontend/src/scenes/paths/Paths.scss @@ -1,11 +1,11 @@ .Paths { position: relative; - max-height: 100%; width: 100%; height: 720px; + max-height: 100%; .Paths__canvas { - height: 100% !important; width: 100%; + height: 100% !important; } } diff --git a/frontend/src/scenes/persons/MergeSplitPerson.scss b/frontend/src/scenes/persons/MergeSplitPerson.scss index e8e8d458c31d1..bec932bf130d9 100644 --- a/frontend/src/scenes/persons/MergeSplitPerson.scss +++ b/frontend/src/scenes/persons/MergeSplitPerson.scss @@ -1,14 +1,14 @@ .merge-split-person { .activity-header { - background-color: var(--mid); - border-top: 1px solid var(--border); - border-bottom: 1px solid var(--border); - margin-left: -24px; - margin-right: -24px; - padding: 8px 0; display: flex; justify-content: center; + padding: 8px 0; + margin-right: -24px; margin-bottom: 1rem; + margin-left: -24px; + background-color: var(--mid); + border-top: 1px solid var(--border); + border-bottom: 1px solid var(--border); } .ant-modal-header { @@ -29,9 +29,9 @@ // TODO: consider moving this style globally code { - background-color: var(--mid); - color: var(--primary-alt); padding: 4px 8px; + color: var(--primary-alt); + background-color: var(--mid); border-radius: var(--radius); } } diff --git a/frontend/src/scenes/persons/PersonDisplay.scss b/frontend/src/scenes/persons/PersonDisplay.scss index 1a4c0a82b7a14..35bd87c28bad9 100644 --- a/frontend/src/scenes/persons/PersonDisplay.scss +++ b/frontend/src/scenes/persons/PersonDisplay.scss @@ -2,8 +2,8 @@ display: inline; .ProfilePicture { - transition: opacity 200ms ease; margin-right: 0.5rem; + transition: opacity 200ms ease; } a:hover { diff --git a/frontend/src/scenes/persons/PersonScene.scss b/frontend/src/scenes/persons/PersonScene.scss index b22eea07f7361..5c65a590db946 100644 --- a/frontend/src/scenes/persons/PersonScene.scss +++ b/frontend/src/scenes/persons/PersonScene.scss @@ -2,9 +2,9 @@ display: inline-flex; align-items: center; height: 1.25rem; - line-height: 1.125rem; - margin: 0 0 0 0.25rem; padding: 0 0.25rem 0 0.375rem; + margin: 0 0 0 0.25rem; + line-height: 1.125rem; color: var(--primary); cursor: pointer; diff --git a/frontend/src/scenes/plugins/source/PluginSource.scss b/frontend/src/scenes/plugins/source/PluginSource.scss index 3c5ba7ac5a183..661dab92145e3 100644 --- a/frontend/src/scenes/plugins/source/PluginSource.scss +++ b/frontend/src/scenes/plugins/source/PluginSource.scss @@ -1,6 +1,6 @@ .PluginSource { .ant-form-item-explain-error { - white-space: pre-wrap; font-family: var(--font-mono); + white-space: pre-wrap; } } diff --git a/frontend/src/scenes/project-homepage/ProjectHomepage.scss b/frontend/src/scenes/project-homepage/ProjectHomepage.scss index 3066991290387..63513c92dd7f2 100644 --- a/frontend/src/scenes/project-homepage/ProjectHomepage.scss +++ b/frontend/src/scenes/project-homepage/ProjectHomepage.scss @@ -1,9 +1,9 @@ .project-homepage { .homepage-dashboard-header { - margin-top: 1rem; display: flex; - justify-content: space-between; align-items: center; + justify-content: space-between; + margin-top: 1rem; .dashboard-title-container { display: flex; @@ -24,13 +24,12 @@ display: flex; .top-list { + width: 33%; margin-bottom: 1.5rem; .posthog-3000 & { margin-bottom: 0; } - - width: 33%; } .spacer { @@ -47,12 +46,12 @@ } .empty-state-container { - background-color: var(--side); - width: 100%; - justify-content: center; - align-items: center; - padding: 4rem; display: flex; flex-direction: column; + align-items: center; + justify-content: center; + width: 100%; + padding: 4rem; + background-color: var(--side); } } diff --git a/frontend/src/scenes/retention/RetentionContainer.scss b/frontend/src/scenes/retention/RetentionContainer.scss index 3f450fa32e890..db24e1565caa4 100644 --- a/frontend/src/scenes/retention/RetentionContainer.scss +++ b/frontend/src/scenes/retention/RetentionContainer.scss @@ -10,10 +10,10 @@ .RetentionContainer { .LineGraph { position: relative; + width: 100%; + height: 300px; margin-top: 0.5rem; margin-bottom: 1rem; - height: 300px; - width: 100%; } } } diff --git a/frontend/src/scenes/retention/RetentionTable.scss b/frontend/src/scenes/retention/RetentionTable.scss index 7e10b09fb8173..f4fc3c7d49e6f 100644 --- a/frontend/src/scenes/retention/RetentionTable.scss +++ b/frontend/src/scenes/retention/RetentionTable.scss @@ -1,17 +1,17 @@ .RetentionTable { --retention-table-color: var(--primary); - font-weight: 500; width: 100%; + font-weight: 500; th { - white-space: nowrap; - font-weight: 500; - border-left: 1px solid var(--border); padding: 0 0.5rem; + font-weight: 500; + text-align: left; + white-space: nowrap; border-top: 10px solid transparent; border-bottom: 10px solid transparent; - text-align: left; + border-left: 1px solid var(--border); &:first-of-type { border-left: none; @@ -36,13 +36,13 @@ } .RetentionTable__Tab { + min-height: 2rem; padding: 0.5rem; margin: 2px; - border-radius: 0.25rem; text-align: right; - min-height: 2rem; - transition: transform 200ms ease-out; background-color: var(--retention-table-color); // NOTE: This is usually overridden in JS + border-radius: 0.25rem; + transition: transform 200ms ease-out; &:hover { transform: scale(1.05); diff --git a/frontend/src/scenes/saved-insights/SavedInsights.scss b/frontend/src/scenes/saved-insights/SavedInsights.scss index a9e79b54a7ba8..aec897f509c02 100644 --- a/frontend/src/scenes/saved-insights/SavedInsights.scss +++ b/frontend/src/scenes/saved-insights/SavedInsights.scss @@ -2,29 +2,29 @@ .saved-insights { > .LemonTable td { - padding-bottom: 0.75rem !important; padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; &.icon-column .LemonSkeleton { - height: 2rem; width: 2rem; + height: 2rem; } } .new-insight-dropdown-btn { - cursor: pointer; height: 40px; - background-color: var(--primary); padding: 8px 12px 8px 16px; + color: white; + cursor: pointer; + background-color: var(--primary); border: 1px solid var(--border); border-radius: 4px; - color: white; } .saved-insight-empty-state { display: flex; - justify-content: center; align-items: center; + justify-content: center; text-align: center; .insight-empty-state__wrapper { @@ -33,22 +33,22 @@ margin-bottom: 17rem; .illustration-main { + margin-bottom: 1rem; font-size: 5rem; line-height: 1em; - text-align: center; - margin-bottom: 1rem; color: var(--border); + text-align: center; } .empty-state__title { - font-weight: 600; font-size: 1.5rem; + font-weight: 600; line-height: 1.6rem; } .empty-state__description { - font-weight: 500; font-size: 1rem; + font-weight: 500; line-height: 1.7rem; color: var(--muted); } @@ -70,14 +70,14 @@ align-items: center; .icon-container { - height: 22px; + position: relative; width: 22px; + height: 22px; margin-right: 8px; - position: relative; .icon-container-inner { - font-size: 22px; margin-left: -2px; + font-size: 22px; } } } diff --git a/frontend/src/scenes/session-recordings/player/PlayerFrame.scss b/frontend/src/scenes/session-recordings/player/PlayerFrame.scss index 28a6555789e01..9682ebb04bf9e 100644 --- a/frontend/src/scenes/session-recordings/player/PlayerFrame.scss +++ b/frontend/src/scenes/session-recordings/player/PlayerFrame.scss @@ -1,21 +1,21 @@ @import '../../../styles/mixins'; .PlayerFrame { - height: 100%; + position: relative; + display: flex; + align-items: center; + justify-content: center; width: 100%; + height: 100%; overflow: hidden; background-color: var(--bg-charcoal); - display: flex; - justify-content: center; - align-items: center; - position: relative; .PlayerFrame__content { position: absolute; iframe { - border: 0; background-color: white; + border: 0; } // Copied over from rrweb replay css @@ -27,23 +27,23 @@ position: absolute; width: 20px; height: 20px; - transition: left 0.05s linear, top 0.05s linear; - background-size: contain; - background-position: center center; - background-repeat: no-repeat; background-image: url('data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzMwMHB4JyB3aWR0aD0nMzAwcHgnICBmaWxsPSIjMDAwMDAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRhdGEtbmFtZT0iTGF5ZXIgMSIgdmlld0JveD0iMCAwIDUwIDUwIiB4PSIwcHgiIHk9IjBweCI+PHRpdGxlPkRlc2lnbl90bnA8L3RpdGxlPjxwYXRoIGQ9Ik00OC43MSw0Mi45MUwzNC4wOCwyOC4yOSw0NC4zMywxOEExLDEsMCwwLDAsNDQsMTYuMzlMMi4zNSwxLjA2QTEsMSwwLDAsMCwxLjA2LDIuMzVMMTYuMzksNDRhMSwxLDAsMCwwLDEuNjUuMzZMMjguMjksMzQuMDgsNDIuOTEsNDguNzFhMSwxLDAsMCwwLDEuNDEsMGw0LjM4LTQuMzhBMSwxLDAsMCwwLDQ4LjcxLDQyLjkxWm0tNS4wOSwzLjY3TDI5LDMyYTEsMSwwLDAsMC0xLjQxLDBsLTkuODUsOS44NUwzLjY5LDMuNjlsMzguMTIsMTRMMzIsMjcuNThBMSwxLDAsMCwwLDMyLDI5TDQ2LjU5LDQzLjYyWiI+PC9wYXRoPjwvc3ZnPg=='); + background-repeat: no-repeat; + background-position: center center; + background-size: contain; border-color: transparent; /* otherwise we transition from black when .touch-device class is added */ + transition: left 0.05s linear, top 0.05s linear; } .replayer-mouse::after { - content: ''; display: inline-block; width: 20px; height: 20px; + content: ''; background: rgb(73 80 246); border-radius: 100%; - transform: translate(-50%, -50%); opacity: 0.3; + transform: translate(-50%, -50%); } .replayer-mouse.active::after { @@ -51,15 +51,15 @@ } .replayer-mouse.touch-device { - background-image: none; /* there's no passive cursor on touch-only screens */ width: 70px; height: 70px; - border-width: 4px; - border-style: solid; - border-radius: 100%; - margin-left: -37px; margin-top: -37px; + margin-left: -37px; + background-image: none; /* there's no passive cursor on touch-only screens */ border-color: rgb(73 80 246 / 0%); + border-style: solid; + border-width: 4px; + border-radius: 100%; transition: left 0s linear, top 0s linear, border-color 0.2s ease-in-out; } @@ -83,29 +83,29 @@ @keyframes PlayerFrame__click { 0% { - opacity: 0.3; width: 20px; height: 20px; + opacity: 0.3; } 50% { - opacity: 0.5; width: 10px; height: 10px; + opacity: 0.5; } } @keyframes PlayerFrame__touch-click { 0% { - opacity: 0; width: 20px; height: 20px; + opacity: 0; } 50% { - opacity: 0.5; width: 10px; height: 10px; + opacity: 0.5; } } } diff --git a/frontend/src/scenes/session-recordings/player/PlayerFrameOverlay.scss b/frontend/src/scenes/session-recordings/player/PlayerFrameOverlay.scss index ad3bc2a5ae2bf..bcbb05b8e695e 100644 --- a/frontend/src/scenes/session-recordings/player/PlayerFrameOverlay.scss +++ b/frontend/src/scenes/session-recordings/player/PlayerFrameOverlay.scss @@ -6,13 +6,13 @@ .PlayerFrameOverlay__content { position: absolute; inset: 0; + z-index: 1; display: flex; - justify-content: center; align-items: center; - z-index: 1; - transition: opacity 100ms; + justify-content: center; background-color: rgb(0 0 0 / 15%); opacity: 0.8; + transition: opacity 100ms; &:hover { opacity: 1; diff --git a/frontend/src/scenes/session-recordings/player/PlayerMeta.scss b/frontend/src/scenes/session-recordings/player/PlayerMeta.scss index 3312579e0b711..95ee512534ea3 100644 --- a/frontend/src/scenes/session-recordings/player/PlayerMeta.scss +++ b/frontend/src/scenes/session-recordings/player/PlayerMeta.scss @@ -1,16 +1,16 @@ .PlayerMeta { position: relative; - border-bottom: 1px solid var(--border); display: flex; flex-direction: column; flex-shrink: 0; overflow: hidden; + border-bottom: 1px solid var(--border); .PlayerMetaPersonProperties { - background: var(--side); + padding: 0.5rem; overflow: auto; + background: var(--side); border-bottom: 1px solid transparent; - padding: 0.5rem; } &:not(.PlayerMeta--fullscreen) { @@ -46,18 +46,18 @@ &--fullscreen { flex-direction: row; - justify-content: space-between; align-items: center; + justify-content: space-between; height: 48px; .PlayerMetaPersonProperties { position: fixed; top: 48px; - left: 0; bottom: 97px; // NOTE: This isn't perfect but for now hardcoded to match the bottom area size. + left: 0; z-index: 1; - max-width: 40rem; width: 100%; + max-width: 40rem; border-right: 1px solid var(--border); transition: 200ms transform ease-out; diff --git a/frontend/src/scenes/session-recordings/player/PlayerUpNext.scss b/frontend/src/scenes/session-recordings/player/PlayerUpNext.scss index 850ac5880448f..634ca26deb300 100644 --- a/frontend/src/scenes/session-recordings/player/PlayerUpNext.scss +++ b/frontend/src/scenes/session-recordings/player/PlayerUpNext.scss @@ -1,9 +1,9 @@ .PlayerUpNext { - transition: 250ms transform ease-out; position: absolute; right: 1rem; bottom: 1rem; z-index: 11; + transition: 250ms transform ease-out; &--enter { transform: translateY(200%); @@ -27,26 +27,26 @@ position: relative; display: flex; align-items: center; - line-height: 1.5rem; min-height: 2.5rem; padding: 0.25rem 0.75rem; - border-radius: var(--radius); - box-shadow: var(--shadow-elevation); - background-color: rgb(255 255 255 / 75%); - backdrop-filter: blur(5px); + overflow: hidden; font-weight: 600; + line-height: 1.5rem; cursor: pointer; - overflow: hidden; + background-color: rgb(255 255 255 / 75%); + backdrop-filter: blur(5px); border: 1px solid rgb(0 0 0 / 50%); + border-radius: var(--radius); + box-shadow: var(--shadow-elevation); .PlayerUpNextButtonBackground { position: absolute; - left: 0; top: 0; bottom: 0; + left: 0; width: 0; - background-color: var(--bg-light); color: var(--primary-alt); + background-color: var(--bg-light); } &.PlayerUpNextButton--animating { @@ -57,8 +57,8 @@ &:hover { .PlayerUpNextButtonBackground { - animation: none; width: 100%; + animation: none; } } } diff --git a/frontend/src/scenes/session-recordings/player/SessionRecordingPlayer.scss b/frontend/src/scenes/session-recordings/player/SessionRecordingPlayer.scss index f57dc4c405164..05569a3cdd54e 100644 --- a/frontend/src/scenes/session-recordings/player/SessionRecordingPlayer.scss +++ b/frontend/src/scenes/session-recordings/player/SessionRecordingPlayer.scss @@ -7,12 +7,12 @@ position: relative; display: flex; flex-direction: row; - overflow: hidden; - height: 100%; width: 100%; + height: 100%; + overflow: hidden; + background-color: var(--bg-light); border: 1px solid var(--border); border-radius: var(--radius); - background-color: var(--bg-light); &--no-border { border: none; @@ -22,10 +22,10 @@ .SessionRecordingPlayer__body { position: relative; z-index: 0; - background-color: var(--bg-light); min-width: 1px; height: 100%; overflow: hidden; + background-color: var(--bg-light); } .SessionRecordingPlayer__main { @@ -36,9 +36,9 @@ &--fullscreen { position: fixed; inset: 0; + z-index: var(--z-modal); overflow-y: auto; background-color: var(--bg-light); - z-index: var(--z-modal); border: none; border-radius: 0; @@ -63,18 +63,18 @@ } .SessionRecordingPlayer__inspector { - flex-shrink: 0; - border-left: 1px solid var(--border); position: absolute; - right: 0; top: 0; + right: 0; bottom: 0; z-index: 10; + flex-shrink: 0; width: var(--inspector-width); max-width: 95%; - transform: translateX(calc(100% - var(--inspector-peek-width))); - transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; + border-left: 1px solid var(--border); box-shadow: 0 0 5px rgb(0 0 0 / 10%); + transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; + transform: translateX(calc(100% - var(--inspector-peek-width))); .PlayerInspectorPreview { position: absolute; @@ -87,12 +87,12 @@ &--inspector-focus { .SessionRecordingPlayer__inspector { - transform: translateX(0); box-shadow: -10px 0 20px rgb(0 0 0 / 20%); + transform: translateX(0); .PlayerInspectorPreview { - opacity: 0; pointer-events: none; + opacity: 0; } } } @@ -103,13 +103,13 @@ } .SessionRecordingPlayer__inspector { - min-width: 30%; + position: relative; width: 40%; + min-width: 30%; max-width: 400px; - position: relative; - transform: translateX(0); box-shadow: none; transition: none; + transform: translateX(0); .PlayerInspectorPreview { display: none; @@ -134,13 +134,13 @@ .PlayerControlSeekIcon__seconds { position: absolute; - font-size: 6px; - font-weight: bold; - text-align: center; inset: 0; display: flex; align-items: center; justify-content: center; + font-size: 6px; + font-weight: bold; + text-align: center; } .PlayerControlSeekIcon__icon { diff --git a/frontend/src/scenes/session-recordings/player/controller/Seekbar.scss b/frontend/src/scenes/session-recordings/player/controller/Seekbar.scss index 1ee0c5586e7d0..a0552fb61621e 100644 --- a/frontend/src/scenes/session-recordings/player/controller/Seekbar.scss +++ b/frontend/src/scenes/session-recordings/player/controller/Seekbar.scss @@ -3,10 +3,10 @@ --slider-height: 20px; --thumb-size: 15px; - width: 100%; - height: var(--slider-height); position: relative; display: flex; + width: 100%; + height: var(--slider-height); &:hover, &--scrubbing { @@ -18,30 +18,30 @@ } .PlayerSeekbar__slider { + position: absolute; + top: calc((var(--slider-height) - var(--bar-height)) / 2); + right: 0; + left: 0; z-index: 2; height: var(--bar-height); + cursor: pointer; background-color: var(--border-light); border-radius: var(--bar-height); - position: absolute; - left: 0; - right: 0; - top: calc((var(--slider-height) - var(--bar-height)) / 2); transition: height 150ms ease-in-out, top 150ms ease-in-out; - cursor: pointer; .PlayerSeekbar__bufferbar, .PlayerSeekbar__currentbar, .PlayerSeekbar__segments { position: absolute; - height: 100%; - left: 0; top: 0; + left: 0; width: 0; + height: 100%; } .PlayerSeekbar__bufferbar { - background-color: var(--border); z-index: 2; + background-color: var(--border); border-radius: var(--bar-height); } @@ -52,10 +52,10 @@ } .PlayerSeekbar__segments { - height: 100%; - white-space: nowrap; z-index: 4; width: 100%; + height: 100%; + white-space: nowrap; .PlayerSeekbar__segments__item { float: left; @@ -70,27 +70,27 @@ } .PlayerSeekbar__thumb { - z-index: 5; - backface-visibility: hidden; - top: calc(var(--bar-height) / 2); - margin-top: calc(var(--thumb-size) / 2 * -1); position: absolute; - border-radius: 50%; + top: calc(var(--bar-height) / 2); + z-index: 5; width: var(--thumb-size); height: var(--thumb-size); - border: 2px solid var(--bg-light); + margin-top: calc(var(--thumb-size) / 2 * -1); background-color: var(--recording-seekbar-red); + border: 2px solid var(--bg-light); + border-radius: 50%; transition: top 150ms ease-in-out; + backface-visibility: hidden; } } .PlayerSeekBarPreview { position: absolute; - z-index: 6; bottom: 100%; + z-index: 6; width: 100%; - opacity: 0; pointer-events: none; + opacity: 0; transition: opacity 150ms ease-in-out; .PlayerSeekBarPreview__tooltip { @@ -98,33 +98,33 @@ .PlayerSeekBarPreview__tooltip__content { display: inline-block; - border-radius: var(--radius); padding: 0.1rem; + margin-bottom: 0.5rem; font-size: 0.8rem; font-weight: 600; color: #fff; background-color: var(--muted-dark); + border-radius: var(--radius); transform: translateX(-50%); - margin-bottom: 0.5rem; } } } } .PlayerSeekbarTicks { + position: relative; z-index: 1; width: 100%; height: 0.75rem; - position: relative; .PlayerSeekbarTick { --tick-color: var(--muted-alt); --tick-width: 3px; - cursor: pointer; position: absolute; - height: 100%; top: 0; + height: 100%; + cursor: pointer; transition: transform 150ms ease-in-out; &--warning { @@ -142,36 +142,36 @@ .PlayerSeekbarTick__line { position: absolute; width: var(--tick-width); + height: 100%; margin-left: calc(var(--tick-width) / 2 * -1); + background-color: var(--tick-color); border-radius: 2px; opacity: 0.5; - height: 100%; - background-color: var(--tick-color); } .PlayerSeekbarTick__info { position: absolute; bottom: 100%; - background-color: var(--tick-color); + max-width: 20rem; padding: 0.25rem 0.5rem; + margin-bottom: 0.25rem; font-size: 0.8rem; - border-radius: 0.25rem; - transform: translateX(-50%); - white-space: nowrap; color: #fff; - margin-bottom: 0.25rem; - opacity: 0; + white-space: nowrap; visibility: hidden; + background-color: var(--tick-color); + border-radius: 0.25rem; + opacity: 0; transition: opacity 150ms ease-in-out; - max-width: 20rem; + transform: translateX(-50%); } &:hover { --tick-width: 5px; .PlayerSeekbarTick__info { - opacity: 1; visibility: visible; + opacity: 1; } .PlayerSeekbarTick__line { diff --git a/frontend/src/scenes/session-recordings/player/inspector/PlayerInspectorList.scss b/frontend/src/scenes/session-recordings/player/inspector/PlayerInspectorList.scss index b821b4b8d4c21..b7c78d5300fee 100644 --- a/frontend/src/scenes/session-recordings/player/inspector/PlayerInspectorList.scss +++ b/frontend/src/scenes/session-recordings/player/inspector/PlayerInspectorList.scss @@ -2,11 +2,11 @@ position: absolute; top: 0; right: 0; - pointer-events: none; z-index: 1; width: 1rem; height: 0.5rem; margin-top: 0.25rem; + pointer-events: none; background-color: var(--primary); border-radius: var(--radius) 0 0 var(--radius); transition: transform 200ms linear; diff --git a/frontend/src/scenes/session-recordings/player/view-explorer/SessionRecordingPlayerExplorer.scss b/frontend/src/scenes/session-recordings/player/view-explorer/SessionRecordingPlayerExplorer.scss index c7ef3432dab58..f09d91117b50e 100644 --- a/frontend/src/scenes/session-recordings/player/view-explorer/SessionRecordingPlayerExplorer.scss +++ b/frontend/src/scenes/session-recordings/player/view-explorer/SessionRecordingPlayerExplorer.scss @@ -1,17 +1,17 @@ .SessionRecordingPlayerExplorer { display: flex; - flex-direction: column; flex: 1; + flex-direction: column; height: 100%; padding: 0.5rem; overflow: hidden; .SessionRecordingPlayerExplorer__wrapper { flex: 1; - border: 1px solid var(--border); padding: 0.5rem; - background-color: var(--default); overflow: hidden; + background-color: var(--default); + border: 1px solid var(--border); .SessionRecordingPlayerExplorer__iframe { transform-origin: top left; diff --git a/frontend/src/scenes/session-recordings/playlist/SessionRecordingsPlaylist.scss b/frontend/src/scenes/session-recordings/playlist/SessionRecordingsPlaylist.scss index 455928f1dad82..6933e566eaac6 100644 --- a/frontend/src/scenes/session-recordings/playlist/SessionRecordingsPlaylist.scss +++ b/frontend/src/scenes/session-recordings/playlist/SessionRecordingsPlaylist.scss @@ -4,29 +4,29 @@ .SessionRecordingsPlaylist { display: flex; flex-direction: row; - justify-content: flex-start; align-items: flex-start; + justify-content: flex-start; + height: 100%; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); - height: 100%; .SessionRecordingsPlaylist__list { - flex-shrink: 0; display: flex; flex-direction: column; - max-width: 350px; - min-width: 300px; + flex-shrink: 0; width: 25%; - overflow: hidden; + min-width: 300px; + max-width: 350px; height: 100%; + overflow: hidden; } .SessionRecordingsPlaylist__player { flex: 1; + width: 100%; height: 100%; overflow: hidden; - width: 100%; .SessionRecordingsPlaylist__loading { display: flex; @@ -55,11 +55,11 @@ } .SessionRecordingPreview { + position: relative; display: flex; padding: 0.5rem 0 0.5rem 0.5rem; - cursor: pointer; - position: relative; overflow: hidden; + cursor: pointer; border-left: 6px solid transparent; transition: background-color 200ms ease, border 200ms ease; @@ -72,7 +72,7 @@ } .SessionRecordingPreview__property-icon:hover { - transition: opacity 200ms; opacity: 1; + transition: opacity 200ms; } } diff --git a/frontend/src/scenes/settings/Settings.scss b/frontend/src/scenes/settings/Settings.scss index ac3e09d44c3e1..37b8f3daf2e94 100644 --- a/frontend/src/scenes/settings/Settings.scss +++ b/frontend/src/scenes/settings/Settings.scss @@ -2,14 +2,15 @@ display: flex; gap: 2rem; align-items: start; + margin-top: 1rem; .Settings__sections { - flex-shrink: 0; position: sticky; - max-width: 20rem; - min-width: 14rem; - width: 20%; top: 0.5rem; + flex-shrink: 0; + width: 20%; + min-width: 14rem; + max-width: 20rem; .posthog-3000 & { top: 4rem; @@ -21,19 +22,17 @@ } &--compact { - gap: 0; flex-direction: column; + gap: 0; .Settings__sections { + position: relative; width: 100%; min-width: 100%; max-width: 100%; - position: relative; } } - margin-top: 1rem; - .posthog-3000 &, .LemonModal & { margin-top: 0; diff --git a/frontend/src/scenes/settings/organization/InviteModal.scss b/frontend/src/scenes/settings/organization/InviteModal.scss index 0e0e6032de5d8..0f12f6048fc64 100644 --- a/frontend/src/scenes/settings/organization/InviteModal.scss +++ b/frontend/src/scenes/settings/organization/InviteModal.scss @@ -1,10 +1,10 @@ .InviteModal__share_link { - -ms-overflow-style: none; - scrollbar-width: none; display: flex; - white-space: nowrap; width: 175px; overflow: scroll; + white-space: nowrap; + -ms-overflow-style: none; + scrollbar-width: none; } .InviteModal__share_link::-webkit-scrollbar { diff --git a/frontend/src/scenes/surveys/SurveyAppearance.scss b/frontend/src/scenes/surveys/SurveyAppearance.scss index 32ee384fc1d83..9777a43b7db92 100644 --- a/frontend/src/scenes/surveys/SurveyAppearance.scss +++ b/frontend/src/scenes/surveys/SurveyAppearance.scss @@ -1,83 +1,83 @@ .survey-form { + position: relative; + box-sizing: border-box; + flex-direction: column; + width: 320px; margin: 0; - color: black; - font-weight: normal; font-family: -apple-system, BlinkMacSystemFont, Inter, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + font-weight: normal; + line-height: 1.4; + color: black; text-align: left; - width: 320px; border-bottom: 0; - flex-direction: column; - box-shadow: -6px 0 16px -8px rgb(0 0 0 / 8%), -9px 0 28px 0 rgb(0 0 0 / 5%), -12px 0 48px 16px rgb(0 0 0 / 3%); border-radius: 10px; - line-height: 1.4; - position: relative; - box-sizing: border-box; + box-shadow: -6px 0 16px -8px rgb(0 0 0 / 8%), -9px 0 28px 0 rgb(0 0 0 / 5%), -12px 0 48px 16px rgb(0 0 0 / 3%); } .form-submit[disabled] { - opacity: 0.6; - filter: grayscale(100%); cursor: not-allowed; + filter: grayscale(100%); + opacity: 0.6; } .survey-form textarea { - font-size: 14px; + padding-top: 10px; + padding-right: 10px; + padding-left: 10px; + margin-top: 14px; font-family: -apple-system, BlinkMacSystemFont, Inter, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; - background: white; + font-size: 14px; color: black; - outline: none; - padding-left: 10px; - padding-right: 10px; - padding-top: 10px; + background: white; border-radius: 6px; - margin-top: 14px; + outline: none; } .form-submit { + position: relative; box-sizing: border-box; + display: inline-block; + width: 100%; + padding: 12px; margin: 0; - font-family: inherit; overflow: visible; - text-transform: none; - position: relative; - display: inline-block; + font-family: inherit; + font-size: 14px; font-weight: 700; - white-space: nowrap; text-align: center; - border: 1.5px solid transparent; + text-shadow: 0 -1px 0 rgb(0 0 0 / 12%); + text-transform: none; + white-space: nowrap; + touch-action: manipulation; cursor: pointer; user-select: none; - touch-action: manipulation; - padding: 12px; - font-size: 14px; + border: 1.5px solid transparent; border-radius: 6px; outline: 0; - text-shadow: 0 -1px 0 rgb(0 0 0 / 12%); box-shadow: 0 2px 0 rgb(0 0 0 / 4.5%); - width: 100%; } .form-cancel { float: right; - border: none; - background: none; cursor: pointer; + background: none; + border: none; } .cancel-btn-wrapper { position: absolute; - width: 35px; - height: 35px; - border-radius: 100%; top: 0; right: 0; - transform: translate(50%, -50%); - background: white; display: flex; - justify-content: center; align-items: center; + justify-content: center; + width: 35px; + height: 35px; + background: white; + border-radius: 100%; + transform: translate(50%, -50%); } .bolded { @@ -90,27 +90,27 @@ } .footer-branding { - font-size: 11px; - margin-top: 10px; - text-align: center; display: flex; - justify-content: center; gap: 4px; align-items: center; + justify-content: center; + margin-top: 10px; + font-size: 11px; font-weight: 500; - text-decoration: none; color: inherit !important; + text-align: center; + text-decoration: none; } .survey-box { - padding: 20px 25px 10px; display: flex; flex-direction: column; + padding: 20px 25px 10px; } .survey-question { - font-weight: 500; font-size: 14px; + font-weight: 500; } .question-textarea-wrapper { @@ -119,14 +119,14 @@ } .description { - font-size: 13px; margin-top: 5px; + font-size: 13px; opacity: 0.6; } .ratings-number { - font-size: 14px; padding: 8px 0; + font-size: 14px; border: none; } @@ -140,8 +140,8 @@ .rating-options-buttons { display: grid; - border-radius: 6px; overflow: hidden; + border-radius: 6px; } .rating-options-buttons > .ratings-number { @@ -158,10 +158,10 @@ } .ratings-emoji { + padding: 0; font-size: 16px; background-color: transparent; border: none; - padding: 0; } .ratings-emoji:hover { @@ -171,9 +171,9 @@ .rating-text { display: flex; flex-direction: row; - font-size: 11px; justify-content: space-between; margin-top: 6px; + font-size: 11px; opacity: 0.6; } @@ -184,13 +184,13 @@ } .multiple-choice-options .choice-option { + position: relative; display: flex; - align-items: center; gap: 4px; + align-items: center; + margin-bottom: 5px; font-size: 13px; cursor: pointer; - margin-bottom: 5px; - position: relative; } .multiple-choice-options > .choice-option:last-of-type { @@ -198,12 +198,12 @@ } .multiple-choice-options input { - cursor: pointer; position: absolute; - opacity: 0; + inset: 0; width: 100%; height: 100%; - inset: 0; + cursor: pointer; + opacity: 0; } .choice-check { @@ -236,26 +236,26 @@ .multiple-choice-options label { width: 100%; - cursor: pointer; padding: 10px; + cursor: pointer; + background: white; border: 1.5px solid rgb(0 0 0 / 25%); border-radius: 4px; - background: white; } .thank-you-message { position: relative; bottom: 0; - box-shadow: -6px 0 16px -8px rgb(0 0 0 / 8%), -9px 0 28px 0 rgb(0 0 0 / 5%), -12px 0 48px 16px rgb(0 0 0 / 3%); - font-family: -apple-system, BlinkMacSystemFont, Inter, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, - 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; - border-radius: 10px; - padding: 20px 25px 10px; - text-align: center; + box-sizing: border-box; width: 320px; min-width: 150px; + padding: 20px 25px 10px; + font-family: -apple-system, BlinkMacSystemFont, Inter, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; line-height: 1.4; - box-sizing: border-box; + text-align: center; + border-radius: 10px; + box-shadow: -6px 0 16px -8px rgb(0 0 0 / 8%), -9px 0 28px 0 rgb(0 0 0 / 5%), -12px 0 48px 16px rgb(0 0 0 / 3%); } .thank-you-message-body { @@ -265,8 +265,8 @@ .thank-you-message-header { margin: 10px 0 0; - font-weight: bold; font-size: 19px; + font-weight: bold; color: inherit; } diff --git a/frontend/src/scenes/surveys/SurveyTemplates.scss b/frontend/src/scenes/surveys/SurveyTemplates.scss index e0706c96e65df..3968350dbdaf8 100644 --- a/frontend/src/scenes/surveys/SurveyTemplates.scss +++ b/frontend/src/scenes/surveys/SurveyTemplates.scss @@ -1,13 +1,13 @@ @import '../../styles/mixins'; .SurveyTemplateContainer { - flex: 1; display: flex; + flex: 1; align-items: center; - border: 1px solid var(--border); - border-radius: 6px; min-height: 300px; margin-top: 2px; + border: 1px solid var(--border); + border-radius: 6px; &:hover { cursor: pointer; diff --git a/frontend/src/scenes/surveys/SurveyView.scss b/frontend/src/scenes/surveys/SurveyView.scss index 40c0cf169a8ab..019b4f780b392 100644 --- a/frontend/src/scenes/surveys/SurveyView.scss +++ b/frontend/src/scenes/surveys/SurveyView.scss @@ -10,12 +10,12 @@ } .masonry-item { - margin: 0; + box-sizing: border-box; + break-inside: avoid; display: grid; grid-template-rows: 1fr auto; + margin: 0; margin-bottom: 10px; - break-inside: avoid; - box-sizing: border-box; } .masonry-item-text { diff --git a/frontend/src/scenes/toolbar-launch/ToolbarLaunch.scss b/frontend/src/scenes/toolbar-launch/ToolbarLaunch.scss index 33e6efce15e57..7063bfdd10da0 100644 --- a/frontend/src/scenes/toolbar-launch/ToolbarLaunch.scss +++ b/frontend/src/scenes/toolbar-launch/ToolbarLaunch.scss @@ -7,10 +7,6 @@ .fh-item { width: calc(100% * (1 / 2) - 8px); - @media (max-width: 599px) { - width: calc(100% - 8px); - } - .fh-icon { font-size: 1.6em; } @@ -18,6 +14,10 @@ h4 { font-size: 1.2em; } + + @media (max-width: 599px) { + width: calc(100% - 8px); + } } } } diff --git a/frontend/src/styles/fonts.scss b/frontend/src/styles/fonts.scss index 9633ed07675ee..944e17533bd41 100644 --- a/frontend/src/styles/fonts.scss +++ b/frontend/src/styles/fonts.scss @@ -3,8 +3,8 @@ font-family: Inter; font-style: normal; font-weight: 700; - font-display: swap; src: url('../../public/Inter.woff2') format('woff2'), url('../../public/Inter.woff') format('woff'); + font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @@ -13,8 +13,8 @@ font-family: Inter; font-style: normal; font-weight: 500; - font-display: swap; src: url('../../public/Inter.woff2') format('woff2'), url('../../public/Inter.woff') format('woff'); + font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @@ -24,8 +24,8 @@ font-family: Inter; font-style: normal; font-weight: 400; - font-display: swap; src: url('../../public/Inter.woff2') format('woff2'), url('../../public/Inter.woff') format('woff'); + font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } diff --git a/frontend/src/styles/global.scss b/frontend/src/styles/global.scss index 2c35db1562c61..cc05ecd0dca74 100644 --- a/frontend/src/styles/global.scss +++ b/frontend/src/styles/global.scss @@ -30,30 +30,26 @@ body strong { // Disable default styling for ul ul { + padding-left: 0; margin-bottom: 0; list-style: none; - padding-left: 0; } // This may look odd but sets up our utility classes * { + border-color: var(--border); border-style: solid; border-width: 0; - border-color: var(--border); } .page-title-row { display: flex; flex-wrap: wrap; + gap: 0.5rem 1rem; align-items: center; min-height: 2.5rem; - gap: 0.5rem 1rem; margin: 1.25rem 0 0.25rem; - @include screen($md) { - flex-wrap: nowrap; - } - .ant-form-item { margin-bottom: 0 !important; } @@ -61,25 +57,29 @@ ul { .posthog-3000 & { margin-top: 1rem; } + + @include screen($md) { + flex-wrap: nowrap; + } } .page-title { min-width: 0; - font-size: 28px; - line-height: 34px; margin: 0; + font-size: 28px; font-weight: 600; + line-height: 34px; } .page-caption { - @extend .text-sm; - max-width: 48rem; margin-bottom: 1rem; &.tabbed { margin-bottom: 0.5rem; } + + @extend .text-sm; } .page-description { @@ -88,30 +88,30 @@ ul { } .page-buttons { - flex-shrink: 0; - flex-grow: 1; display: flex; + flex-grow: 1; + flex-shrink: 0; + gap: 0.5rem; align-items: center; justify-content: right; - gap: 0.5rem; } .secondary { font-size: 0.9em; - letter-spacing: 1px; - color: var(--primary-alt); font-weight: var(--font-medium); + color: var(--primary-alt); text-transform: uppercase; - border: 0; + letter-spacing: 1px; background: none; + border: 0; } .card-secondary { font-size: 11px; + font-weight: 600; color: var(--muted); - letter-spacing: 0.5px; text-transform: uppercase; - font-weight: 600; + letter-spacing: 0.5px; } mark { @@ -121,14 +121,14 @@ mark { // Supplement text, such as email under user name .supplement { - text-overflow: ellipsis; overflow: hidden; - color: var(--muted-alt); font-size: 0.8125rem; + color: var(--muted-alt); + text-overflow: ellipsis; &--danger { - color: var(--danger); font-weight: 600; + color: var(--danger); } } @@ -172,15 +172,15 @@ input::-ms-clear { .Toastify__toast { align-items: center; - opacity: 1 !important; padding: 0.75rem; margin-bottom: 0.5rem; - border-radius: var(--radius); font-family: var(--font-sans); - border: 1px solid var(--border); - box-shadow: var(--shadow-elevation); font-size: 1rem; cursor: unset; + border: 1px solid var(--border); + border-radius: var(--radius); + box-shadow: var(--shadow-elevation); + opacity: 1 !important; } .Toastify__toast-container { @@ -188,11 +188,8 @@ input::-ms-clear { } .Toastify__toast-body { - @extend .text-sm; - @extend .text-default; - - font-weight: 500; padding: 0; + font-weight: 500; b, strong { @@ -202,14 +199,17 @@ input::-ms-clear { button { margin: 0 0.75rem; } + + @extend .text-sm; + @extend .text-default; } .Toastify__toast-icon { - color: var(--muted-alt); width: 1.5rem; height: 1.5rem; margin-right: 0.75rem; font-size: 1.5rem; + color: var(--muted-alt); .Toastify__toast--success & { color: var(--toastify-color-success); @@ -233,16 +233,16 @@ input::-ms-clear { .scrollable { &::before, &::after { - z-index: 1; - transition: opacity 200ms ease; - opacity: 0; - content: ''; position: absolute; top: 0; left: 0; + z-index: 1; width: 100%; height: 100%; pointer-events: none; + content: ''; + opacity: 0; + transition: opacity 200ms ease; } &::before { @@ -314,13 +314,13 @@ input::-ms-clear { } .info-indicator { + margin-left: 4px; color: var(--primary-alt) !important; cursor: pointer; - margin-left: 4px; &.left { - margin-left: 0; margin-right: 4px; + margin-left: 0; } } @@ -343,47 +343,47 @@ input::-ms-clear { // Graph series glyph .graph-series-glyph { - border-radius: 50%; - border: 2px solid var(--default); - font-weight: bold; - font-size: 12px; - height: 22px; - width: 22px; display: flex; + flex-shrink: 0; align-items: center; justify-content: center; + width: 22px; + height: 22px; + font-size: 12px; + font-weight: bold; pointer-events: none; - flex-shrink: 0; + border: 2px solid var(--default); + border-radius: 50%; // variants &.funnel-step-glyph { - border-color: var(--border); - background-color: white; - color: var(--primary-alt); - height: 23px; width: 23px; + height: 23px; font-size: unset; + color: var(--primary-alt); + background-color: white; + border-color: var(--border); } } // Bottom notice (DEBUG=1 mode) #bottom-notice { + position: fixed; + bottom: 0; + left: 0; z-index: var(--z-bottom-notice); display: flex !important; flex-direction: row; - position: fixed; width: 100%; - bottom: 0; - left: 0; - background: #000; - color: #fff; font-size: 0.75rem; line-height: 1.5rem; + color: #fff; + background: #000; code { - color: inherit; font-size: inherit; + color: inherit; } &.warning div { @@ -423,15 +423,15 @@ input::-ms-clear { } button { - border: none; - background: transparent; - color: inherit; width: 1.5rem; height: 1.5rem; padding: 0; font-size: 1rem; font-weight: bold; + color: inherit; cursor: pointer; + background: transparent; + border: none; } @media screen and (min-width: 750px) { @@ -461,12 +461,12 @@ input::-ms-clear { } .overlay__child { - transition: opacity 0.25s ease; position: absolute; - width: 100%; - height: 100%; top: 0; left: 0; + width: 100%; + height: 100%; + transition: opacity 0.25s ease; .overlay--danger & { background: repeating-linear-gradient( @@ -482,8 +482,8 @@ input::-ms-clear { // Tags .simple-tag { - border-radius: var(--radius); padding: 2px 6px; + border-radius: var(--radius); &.tag-light-blue { background-color: var(--primary-highlight); @@ -498,27 +498,27 @@ input::-ms-clear { .main-app-content { position: relative; // So that scene-level is positioned correctly. - min-width: 0; + flex: 1; width: 100%; + min-width: 0; padding: 0 1rem 1rem; - flex: 1; background-color: var(--bg-light); - @include screen($sm) { - padding: 0 1rem 2rem; - } - - @include screen($lg) { - padding: 0 2rem 4rem; - } - &.main-app-content--plain { padding: 0; } &.main-app-content--container { - max-width: 72rem; align-self: center; + max-width: 72rem; + } + + @include screen($sm) { + padding: 0 1rem 2rem; + } + + @include screen($lg) { + padding: 0 2rem 4rem; } } @@ -590,8 +590,8 @@ body { --mid: var(--bg-3000); --side: var(--bg-3000); - background: var(--bg-3000); overflow: hidden; // Each area handles scrolling individually (e.g. navbar, scene, side panel) + background: var(--bg-3000); * > { ::-webkit-scrollbar { @@ -604,8 +604,8 @@ body { } ::-webkit-scrollbar-thumb { - border-radius: 0.25rem; background: var(--trace-3000); + border-radius: 0.25rem; &:hover { background: var(--muted-3000); @@ -622,13 +622,13 @@ body { } h5 { + margin-bottom: 0.25rem; font-size: 0.6875rem; font-weight: 600; + line-height: 1.5rem; color: var(--muted-alt); text-transform: uppercase; letter-spacing: 0.5px; - margin-bottom: 0.25rem; - line-height: 1.5rem; } pre, @@ -654,8 +654,8 @@ body { } .ant-dropdown { - border-radius: var(--radius); color: var(--default); + border-radius: var(--radius); } .ant-dropdown-menu { @@ -759,9 +759,9 @@ body { *::before, *::after { transition-duration: 0ms !important; - animation-fill-mode: forwards !important; animation-duration: 0ms !important; animation-iteration-count: 1 !important; + animation-fill-mode: forwards !important; } // Hide some parts of the UI that were causing flakiness diff --git a/frontend/src/styles/mixins.scss b/frontend/src/styles/mixins.scss index 6fb6db7db668a..dc16291fd11ee 100644 --- a/frontend/src/styles/mixins.scss +++ b/frontend/src/styles/mixins.scss @@ -1,30 +1,30 @@ @import 'vars'; %mixin-gradient-overlay { - content: ''; + position: absolute; + bottom: 0; width: 100%; height: 3rem; - background: linear-gradient(to top, var(--bg-light), transparent); - position: absolute; pointer-events: none; - bottom: 0; + content: ''; + background: linear-gradient(to top, var(--bg-light), transparent); } %mixin-gradient-overlay-right { - content: ''; + position: absolute; + bottom: 0; width: 3rem; height: 100%; - background: linear-gradient(to left, var(--bg-light), transparent); - position: absolute; pointer-events: none; - bottom: 0; + content: ''; + background: linear-gradient(to left, var(--bg-light), transparent); } %mixin-text-ellipsis { + max-width: calc(100% - 8px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - max-width: calc(100% - 8px); } @mixin screen($breakpoint) { diff --git a/frontend/src/styles/utilities.scss b/frontend/src/styles/utilities.scss index 0e33b9b17b2c1..7042a5f2ce4ad 100644 --- a/frontend/src/styles/utilities.scss +++ b/frontend/src/styles/utilities.scss @@ -11,6 +11,8 @@ custom naming conventions 🙌 */ +/* stylelint-disable order/order */ + // TODO: Support the screen breakpoint versions like md:foo // The problem is CSS file size, which could be solved by using Tailwind directly. // See the Grid section, which has breakpoint support, to add it for something in this file. @@ -48,13 +50,13 @@ } .mx-#{escape-number($space)} { - margin-left: #{$space * 0.25}rem; margin-right: #{$space * 0.25}rem; + margin-left: #{$space * 0.25}rem; } .-mx-#{escape-number($space)} { - margin-left: #{-$space * 0.25}rem; margin-right: #{-$space * 0.25}rem; + margin-left: #{-$space * 0.25}rem; } .my-#{escape-number($space)} { @@ -68,8 +70,8 @@ } .px-#{escape-number($space)} { - padding-left: #{$space * 0.25}rem; padding-right: #{$space * 0.25}rem; + padding-left: #{$space * 0.25}rem; } .py-#{escape-number($space)} { @@ -86,8 +88,8 @@ } .inset-x-#{escape-number($space)} { - left: #{$space * 0.25}rem; right: #{$space * 0.25}rem; + left: #{$space * 0.25}rem; } .inset-y-#{escape-number($space)} { @@ -431,8 +433,8 @@ $decorations: underline, overline, line-through, no-underline; border-color: var(--#{$name}); } .border-x-#{$name} { - border-left-color: var(--#{$name}); border-right-color: var(--#{$name}); + border-left-color: var(--#{$name}); } .border-y-#{$name} { border-top-color: var(--#{$name}); @@ -898,8 +900,8 @@ $decorations: underline, overline, line-through, no-underline; } .break-normal { - overflow-wrap: normal; word-break: normal; + overflow-wrap: normal; } .break-words { @@ -1026,8 +1028,8 @@ $decorations: underline, overline, line-through, no-underline; } .rounded-b { - border-bottom-left-radius: var(--radius); /* 4px */ border-bottom-right-radius: var(--radius); /* 4px */ + border-bottom-left-radius: var(--radius); /* 4px */ } .rounded-none { @@ -1350,16 +1352,16 @@ $decorations: underline, overline, line-through, no-underline; } .line-clamp-2 { - overflow: hidden; - display: -webkit-box; -webkit-box-orient: vertical; + display: -webkit-box; -webkit-line-clamp: 2; + overflow: hidden; } .transition-all { - transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; + transition-property: all; } .aspect-auto { diff --git a/frontend/src/styles/utility-legacy.scss b/frontend/src/styles/utility-legacy.scss index 1d319f9bee2fd..d7bcbe3369bf9 100644 --- a/frontend/src/styles/utility-legacy.scss +++ b/frontend/src/styles/utility-legacy.scss @@ -5,8 +5,8 @@ align-items: center; margin-top: 12px; font-size: 22px; - line-height: 26px; font-weight: bold; + line-height: 26px; &.highlighted { padding: 1rem 1rem 1rem 0.5rem; diff --git a/frontend/src/styles/vars.scss b/frontend/src/styles/vars.scss index 5a433b34540f2..43b4695add365 100644 --- a/frontend/src/styles/vars.scss +++ b/frontend/src/styles/vars.scss @@ -2,6 +2,8 @@ @use 'sass:map'; @use 'sass:color'; +/* stylelint-disable order/order */ + $sm: 576px; $md: 768px; $lg: 992px; diff --git a/frontend/src/toolbar/actions/ActionsTab.scss b/frontend/src/toolbar/actions/ActionsTab.scss index 6a6a0f8866ec5..821d9462682fe 100644 --- a/frontend/src/toolbar/actions/ActionsTab.scss +++ b/frontend/src/toolbar/actions/ActionsTab.scss @@ -24,14 +24,14 @@ transition: opacity 0.5s; .action-field-hint { - font-size: 12px; margin-top: 4px; + font-size: 12px; } .action-field-caption { + padding: 8px 0; font-size: 0.8em; color: rgb(0 0 0 / 50%); - padding: 8px 0; } } diff --git a/frontend/src/toolbar/button/ToolbarButton.scss b/frontend/src/toolbar/button/ToolbarButton.scss index 2ea811c6abdaf..c1f4f191b3860 100644 --- a/frontend/src/toolbar/button/ToolbarButton.scss +++ b/frontend/src/toolbar/button/ToolbarButton.scss @@ -1,15 +1,15 @@ #button-toolbar { position: fixed; - left: 0; top: 0; + left: 0; z-index: 2147483020; opacity: 1; transition: opacity ease 0.5s; .circle-button { - transition: box-shadow 0.2s ease; box-shadow: 0 0.3px 0.7px rgb(0 0 0 / 25%), 0 0.8px 1.7px rgb(0 0 0 / 18%), 0 1.5px 3.1px rgb(0 0 0 / 14.9%), 0 2.7px 5.4px rgb(0 0 0 / 12.5%), 0 5px 10px rgb(0 0 0 / 10.1%), 0 12px 24px rgb(0 0 0 / 7%); + transition: box-shadow 0.2s ease; &:hover { box-shadow: 0 1.3px 2.7px rgb(0 0 0 / 25%), 0 3.2px 6.4px rgb(0 0 0 / 18%), 0 6px 12px rgb(0 0 0 / 14.9%), @@ -31,17 +31,17 @@ .toolbar-info-windows { position: fixed; - width: 300px; - left: 0; top: 0; + left: 0; z-index: 2147483020; + width: 300px; + background-color: rgb(255 255 255); + border: 1px solid var(--border); + border-radius: 4px; box-shadow: 0 0.3px 0.7px rgb(0 0 0 / 25%), 0 0.8px 1.7px rgb(0 0 0 / 18%), 0 1.5px 3.1px rgb(0 0 0 / 14.9%), 0 2.7px 5.4px rgb(0 0 0 / 12.5%), 0 5px 10px rgb(0 0 0 / 10.1%), 0 12px 24px rgb(0 0 0 / 7%); opacity: 1; transition: opacity ease 0.5s; - background-color: rgb(255 255 255); - border-radius: 4px; - border: 1px solid var(--border); .toolbar-block { max-height: 80vh; @@ -49,32 +49,32 @@ } .toolbar-info-window-title { - line-height: 26px; display: flex; align-items: center; margin: 0 8px; + line-height: 26px; border-bottom: 1px solid var(--border); .toolbar-info-window-draggable { - flex: 1; display: flex; - width: 100%; + flex: 1; align-items: center; - cursor: move; + width: 100%; padding: 15px 0; + cursor: move; .window-label { + padding-left: 8px; + margin-bottom: 0; font-size: 14px; font-weight: bold; - margin-bottom: 0; - padding-left: 8px; } } .close-button { - cursor: pointer; padding: 8px; color: rgb(0 0 0 / 60%); + cursor: pointer; transition: color 0.1s ease-in-out; &:hover { @@ -85,11 +85,11 @@ } .overridden-tag { + padding: 0 4px; margin-left: 5px; font-size: 11px; - padding: 0 4px; + font-weight: bold; line-height: 20px; background: var(--mark); border-radius: 4px; - font-weight: bold; } diff --git a/frontend/src/toolbar/flags/featureFlags.scss b/frontend/src/toolbar/flags/featureFlags.scss index e4f8b80d567a9..476be675acca3 100644 --- a/frontend/src/toolbar/flags/featureFlags.scss +++ b/frontend/src/toolbar/flags/featureFlags.scss @@ -5,8 +5,8 @@ .toolbar-block { .feature-flag-row { .feature-flag-row-header { - background-color: #fafafa; min-height: 38px; + background-color: #fafafa; > * { margin: 0 5px; @@ -17,8 +17,8 @@ } .feature-flag-external-link { - color: rgb(0 0 0 / 50%); line-height: normal; + color: rgb(0 0 0 / 50%); &:hover { color: rgb(0 0 0 / 80%); diff --git a/frontend/src/toolbar/styles.scss b/frontend/src/toolbar/styles.scss index 9e23aa050b7d8..62c100a701ee8 100644 --- a/frontend/src/toolbar/styles.scss +++ b/frontend/src/toolbar/styles.scss @@ -8,19 +8,19 @@ } :host { - @include root-variables; - // reset fonts all: initial; font-family: var(--font-sans); font-size: 14px; line-height: 1.5; + + @include root-variables; } .toolbar-block { - background: white; - color: black; font-size: 14px; + color: black; + background: white; &.no-padding { padding: 0; @@ -32,11 +32,11 @@ } .section-title { + margin-bottom: 10px; font-size: 12px; - text-transform: uppercase; font-weight: bold; color: hsl(220deg 15% 49% / 100%); - margin-bottom: 10px; + text-transform: uppercase; } .fade-component-container { diff --git a/package.json b/package.json index b08c1c590a617..7d5a9a6005fe1 100644 --- a/package.json +++ b/package.json @@ -280,6 +280,7 @@ "storybook-addon-pseudo-states": "2.1.2", "style-loader": "^2.0.0", "stylelint": "^15.11.0", + "stylelint-config-recess-order": "^4.3.0", "stylelint-config-standard-scss": "^11.1.0", "stylelint-order": "^6.0.3", "sucrase": "^3.29.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b5effe3cb21c8..b28ad51ca3f6e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -642,6 +642,9 @@ devDependencies: stylelint: specifier: ^15.11.0 version: 15.11.0(typescript@4.9.5) + stylelint-config-recess-order: + specifier: ^4.3.0 + version: 4.3.0(stylelint@15.11.0) stylelint-config-standard-scss: specifier: ^11.1.0 version: 11.1.0(postcss@8.4.31)(stylelint@15.11.0) @@ -18237,6 +18240,15 @@ packages: postcss-selector-parser: 3.1.2 dev: true + /stylelint-config-recess-order@4.3.0(stylelint@15.11.0): + resolution: {integrity: sha512-EWVtxZ8oq4/meTrRNUDrS5TqMz6TX72JjKDwVQq0JJDXE+P/o7UuFw3wWV/0O9yvJfh/da6nJY71ZUn/wSfB4g==} + peerDependencies: + stylelint: '>=15' + dependencies: + stylelint: 15.11.0(typescript@4.9.5) + stylelint-order: 6.0.3(stylelint@15.11.0) + dev: true + /stylelint-config-recommended-scss@13.1.0(postcss@8.4.31)(stylelint@15.11.0): resolution: {integrity: sha512-8L5nDfd+YH6AOoBGKmhH8pLWF1dpfY816JtGMePcBqqSsLU+Ysawx44fQSlMOJ2xTfI9yTGpup5JU77c17w1Ww==} peerDependencies: From fb88b3c577cbc3d83bd0238a6ccf857e187483b7 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 Nov 2023 15:02:02 +0000 Subject: [PATCH 2/5] Update UI snapshots for `chromium` (1) --- ...sthog-3000-navigation--navigation-3000.png | Bin 94429 -> 95883 bytes ...sthog-3000-navigation--navigation-base.png | Bin 109242 -> 110555 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/frontend/__snapshots__/posthog-3000-navigation--navigation-3000.png b/frontend/__snapshots__/posthog-3000-navigation--navigation-3000.png index 3829c37b8d85224f0e1f43cb4c8a7dd7513da9cd..7feaebb6a77370049b5b6021307b2f32e68e9dee 100644 GIT binary patch literal 95883 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�Decy$apr8kVYC*i=$o#k8>-*CK;KW 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 D8VH#C literal 94429 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 B?7{#5 diff --git a/frontend/__snapshots__/posthog-3000-navigation--navigation-base.png b/frontend/__snapshots__/posthog-3000-navigation--navigation-base.png index 827ca87dda7ee515be83b71b5a76ee77d5e5e792..c90c98f612fe4133ff0e1a7eb83d298491ad1917 100644 GIT binary patch literal 110555 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 literal 109242 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%0DaMSes`IwV*ob0USdzX@d{1QoB?iyxiIZZt6 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 From 432c325239a2a92b2b45e1d6ea1275cafd1bcfa5 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 22 Nov 2023 14:26:22 +0000 Subject: [PATCH 3/5] Update UI snapshots for `chromium` (1) --- ...mon-ui-lemon-segmented-button--default.png | Bin 4465 -> 3462 bytes ...-ui-lemon-segmented-button--full-width.png | Bin 4465 -> 3462 bytes ...lemon-ui-lemon-segmented-button--small.png | Bin 4284 -> 3294 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/frontend/__snapshots__/lemon-ui-lemon-segmented-button--default.png b/frontend/__snapshots__/lemon-ui-lemon-segmented-button--default.png index dfe7248daa59f4026ea0230e338453029f02e59c..bfbdc35d9115009ebfb52d375e41e277ce1f596e 100644 GIT binary patch delta 3447 zcmV--4T$pbB8D4~Fnd30078o+-^!9sx+9#T9Mcu*uz3W$KRdGrZo zM+9UMS>%DTs8xZA^`N4F0=~y0C}^$V0xFAAfro;1mrX==umOum-71R(3ZgW5e|)(o zO(|_|k~Xyce&^hC=gys(J574$n{Szk1;B2%_i{KKi580`7JsOUa>Wxj-WKdGD8)eP zTzjy)peR>5e>k1a{Z^}Wrp;zsXGu#->r<{=xz$%+eKnOTRU#xLB-kBPyr6E+VD~^N z4u1S!uzOIpvD@v~Y&wCwlF7-*Av-&p>3%N|((JZD+qW#=rD zvRn4}`ZPsR%yRw$Y}yS;tKsP+Ig(aO-uVl`?p@g;Ie$gQz}!c2O0auXIw|K%rDMOr zfg_UsDHFEtEx7zonQ}gG1ZvlWIyHTHs-h^~lAZx8Q{mK^OY_q+;H#Z5AP%By2d95! zjr_*Q1L?)zkFtPiq4w0vuy~F8dS$8{-eAlYNA`xN#+ZGwqA1>wo*^1pL7X}xWk&Z^ z!B!k(oqv_{@)>d-^q43IO5iaq)E2LSs7RUR`NGOnX+wpYq6D7v7rdWjf|Px5FjNdJ zx;~XP1}4gRKpb>w3sYZ#ZTlpzNwmA%wtX;hEb8{FbAMsSRx6es(A@YDEG#~^Wm z=P@lAQa*(XfBD{KNhRwnOihw>|4tB7U(#)w!luPAXM(%zoC%WGrm0-V)R#H{^Om{I zm49Y#rCDHuZ)`kpKgay zeV~O64jqG}_h9pGQQ1SU^1W?EDGmJcyZJi59{2B=EgHe~jlk)IUyeiS*O23cJ39K; zZb{?S_u+K5Sh5TOwm%(Wqs4!A&op;%NPm-Pm@*nx&T^Ll(e5%br7bhou!SpSflWIE`5G}`7b8Q-+LwDlTbUIU3kP}pjq=de7G5s zCPTOOlGhDr*BtsKz&jh^?q0>)Cq=o^_|pds$=~q)>JiZBpOS7|4^Cvk-a}VW-bN2U>moJx$yf8h^ir);D4|l?)!Cn!Xv}L{v&MI3K5kceh>`LB}Cs`4~tg9 z@28}X*Ie!SjKca=wG`I4-P^;0NzkA+jGqnP9L&G&=R4$|uwfmTp8#=f z;PHi*E{sfC4UzwV+2f&JEqHtp?E7BsrF;gHUlgrz!6c{<3U93QtnW>~URw*-*1Q9Hx7sR(9U0wcVh2hxFObk|Kshj?n`KPt!NW9s(-=qjWT!{eDSRe zS_3*m^{Vnt{rr3J)ejW0(eB9bCb>+CAi}DSYn`qk+;W>ELF$?nXaEB{!&keY$3tR@ z%+JkJ*jQJiD!egO(k&WEx>Ci<=UyvOf)3Zgf=9sNge7Y{>yLQ`zWYH0S>g!! zyPjC&{b%8mrWOpc&VP#3FN_hr;9srWv#@LH$n0d>UYWV%W&S(jq@58D7U1TVqDd`X z5BKzOmuu4$p14QSEgM0*f5WC-(6oWrznfhvUm}R6b|76|ZZrMr+7=!kW$I&56c27{ zA^(@&njtG(<$vVkr{Bn75M3MEH+NsRZw|J)Q1=?Su2D_ikAL(G_@^tceiZb)Nz!#9 z#XofTn9Smfqkd81bQW+gK+l*wQiSEJ@59X3LcLpi=zdtVHiI92hTCs(Td_J^XD(i%#0a&B%8->^c)6-o;PfGQ zX0d!Y#th-Y-+%d+-+n;OP5OK0mkaT{Zd}iuj&eChv;UNH+EKW(i)Z=k8+!^hZ~CQ+ zU=@F<7%H>y3V zkWVVd;eUDU%yVtFUy9-@u?@W29AQ`wDeEs)t3dr)a$a>^>y-Q$B;&*TSC{ zL}R+E+of$-ESGP;IO+$26{!*sl94GI(Uj4WKV>vj2@^A9hmmq@-79%Unc3r|PDZA* zvBJaxdVq6(iWwLrXy>89u=>A}zhSH7dpp+oOMgLQrNeot5Dm$5oiI!SXgaorJ%=O^ zaOx{2p6`9p;4&~yr1=M%JoCRfD1Y$DEV*9&3EbHYX2!#i?()JFM9ap26K-fCYWj__ z@{eE!TV41zkI!yrn&-9IekqDSwDMwR8wi1xABL&uFP8~)SDN_P`gIi3R9FRb?FGBO zw|^L#S?x&J@Pb&E_NR+k@WU5mcaf+_Il8o!ygD_dOhjd=V}!?NnA}3E?Ffkg&yOl$ zayB#8IUMHly(Kydw(s|B$C&(p_+?YShN_hz{!Umn9fo#?w?6d#870R2*!vb(_mzaG zj_M;S>){M|`CWN|2fJopwQ9&(w$+Wrd4IiheZjN1`v!;xb^k2reY2>%&%X_WI=gMr zg)y=>JUm+hKf1Pq)NQg}CpTvMr6?tZ6Io*N0vRMX@0QtjW7p#2h{|9;D#GROi{_UD z1-rhtjJh3OO%ZKt;#?6{2hzoaHha7Tisa_lZ?fKZ>s}FN?V3y7s7Ptc40m;dDSt1^ zZcVWb3)@J*qDE?AVsD2>B_;;m= z|7OV=c<&RLtc|!0BCE;$;k}@8n7prF?3Adx5ECO$ums2 z8c5nOLxKo1W4o;JL)_bGdCR2XkT6vIhVjpdPpV}MteWMv3VA!$J)Zz)&wsX-Jp;2& z%~+G5_=ax5RW{J~B)Hh^cFc^AAY&ZJ@`A2yWi8sOk0o#Kayd5}Bmk$xcK5zQ-X)xZZBEU zkBXuwic%0N)D%Tglv0BVHAPVrrPQE8O;Hp@DK)52Qxru}N)1*Z%i-@Xm5QP$iV{Rz zaxBXV96WdKT#&n?C~%6RD8A#8V+XCktjx?z&YU?zPEHa0YM!DfilP(|IXO9;K7E?Z z%uIk;767~5-pk=|Bw8$%SfFZ9d#HFt+<09OS{6v1YY%o86y-|i52w?)-)gnawApOy Z{txz96;TxHpbY>3002ovPDHLkV1kVm%-a9} delta 4458 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 diff --git a/frontend/__snapshots__/lemon-ui-lemon-segmented-button--full-width.png b/frontend/__snapshots__/lemon-ui-lemon-segmented-button--full-width.png index dfe7248daa59f4026ea0230e338453029f02e59c..bfbdc35d9115009ebfb52d375e41e277ce1f596e 100644 GIT binary patch delta 3447 zcmV--4T$pbB8D4~Fnd30078o+-^!9sx+9#T9Mcu*uz3W$KRdGrZo zM+9UMS>%DTs8xZA^`N4F0=~y0C}^$V0xFAAfro;1mrX==umOum-71R(3ZgW5e|)(o zO(|_|k~Xyce&^hC=gys(J574$n{Szk1;B2%_i{KKi580`7JsOUa>Wxj-WKdGD8)eP zTzjy)peR>5e>k1a{Z^}Wrp;zsXGu#->r<{=xz$%+eKnOTRU#xLB-kBPyr6E+VD~^N z4u1S!uzOIpvD@v~Y&wCwlF7-*Av-&p>3%N|((JZD+qW#=rD zvRn4}`ZPsR%yRw$Y}yS;tKsP+Ig(aO-uVl`?p@g;Ie$gQz}!c2O0auXIw|K%rDMOr zfg_UsDHFEtEx7zonQ}gG1ZvlWIyHTHs-h^~lAZx8Q{mK^OY_q+;H#Z5AP%By2d95! zjr_*Q1L?)zkFtPiq4w0vuy~F8dS$8{-eAlYNA`xN#+ZGwqA1>wo*^1pL7X}xWk&Z^ z!B!k(oqv_{@)>d-^q43IO5iaq)E2LSs7RUR`NGOnX+wpYq6D7v7rdWjf|Px5FjNdJ zx;~XP1}4gRKpb>w3sYZ#ZTlpzNwmA%wtX;hEb8{FbAMsSRx6es(A@YDEG#~^Wm z=P@lAQa*(XfBD{KNhRwnOihw>|4tB7U(#)w!luPAXM(%zoC%WGrm0-V)R#H{^Om{I zm49Y#rCDHuZ)`kpKgay zeV~O64jqG}_h9pGQQ1SU^1W?EDGmJcyZJi59{2B=EgHe~jlk)IUyeiS*O23cJ39K; zZb{?S_u+K5Sh5TOwm%(Wqs4!A&op;%NPm-Pm@*nx&T^Ll(e5%br7bhou!SpSflWIE`5G}`7b8Q-+LwDlTbUIU3kP}pjq=de7G5s zCPTOOlGhDr*BtsKz&jh^?q0>)Cq=o^_|pds$=~q)>JiZBpOS7|4^Cvk-a}VW-bN2U>moJx$yf8h^ir);D4|l?)!Cn!Xv}L{v&MI3K5kceh>`LB}Cs`4~tg9 z@28}X*Ie!SjKca=wG`I4-P^;0NzkA+jGqnP9L&G&=R4$|uwfmTp8#=f z;PHi*E{sfC4UzwV+2f&JEqHtp?E7BsrF;gHUlgrz!6c{<3U93QtnW>~URw*-*1Q9Hx7sR(9U0wcVh2hxFObk|Kshj?n`KPt!NW9s(-=qjWT!{eDSRe zS_3*m^{Vnt{rr3J)ejW0(eB9bCb>+CAi}DSYn`qk+;W>ELF$?nXaEB{!&keY$3tR@ z%+JkJ*jQJiD!egO(k&WEx>Ci<=UyvOf)3Zgf=9sNge7Y{>yLQ`zWYH0S>g!! zyPjC&{b%8mrWOpc&VP#3FN_hr;9srWv#@LH$n0d>UYWV%W&S(jq@58D7U1TVqDd`X z5BKzOmuu4$p14QSEgM0*f5WC-(6oWrznfhvUm}R6b|76|ZZrMr+7=!kW$I&56c27{ zA^(@&njtG(<$vVkr{Bn75M3MEH+NsRZw|J)Q1=?Su2D_ikAL(G_@^tceiZb)Nz!#9 z#XofTn9Smfqkd81bQW+gK+l*wQiSEJ@59X3LcLpi=zdtVHiI92hTCs(Td_J^XD(i%#0a&B%8->^c)6-o;PfGQ zX0d!Y#th-Y-+%d+-+n;OP5OK0mkaT{Zd}iuj&eChv;UNH+EKW(i)Z=k8+!^hZ~CQ+ zU=@F<7%H>y3V zkWVVd;eUDU%yVtFUy9-@u?@W29AQ`wDeEs)t3dr)a$a>^>y-Q$B;&*TSC{ zL}R+E+of$-ESGP;IO+$26{!*sl94GI(Uj4WKV>vj2@^A9hmmq@-79%Unc3r|PDZA* zvBJaxdVq6(iWwLrXy>89u=>A}zhSH7dpp+oOMgLQrNeot5Dm$5oiI!SXgaorJ%=O^ zaOx{2p6`9p;4&~yr1=M%JoCRfD1Y$DEV*9&3EbHYX2!#i?()JFM9ap26K-fCYWj__ z@{eE!TV41zkI!yrn&-9IekqDSwDMwR8wi1xABL&uFP8~)SDN_P`gIi3R9FRb?FGBO zw|^L#S?x&J@Pb&E_NR+k@WU5mcaf+_Il8o!ygD_dOhjd=V}!?NnA}3E?Ffkg&yOl$ zayB#8IUMHly(Kydw(s|B$C&(p_+?YShN_hz{!Umn9fo#?w?6d#870R2*!vb(_mzaG zj_M;S>){M|`CWN|2fJopwQ9&(w$+Wrd4IiheZjN1`v!;xb^k2reY2>%&%X_WI=gMr zg)y=>JUm+hKf1Pq)NQg}CpTvMr6?tZ6Io*N0vRMX@0QtjW7p#2h{|9;D#GROi{_UD z1-rhtjJh3OO%ZKt;#?6{2hzoaHha7Tisa_lZ?fKZ>s}FN?V3y7s7Ptc40m;dDSt1^ zZcVWb3)@J*qDE?AVsD2>B_;;m= z|7OV=c<&RLtc|!0BCE;$;k}@8n7prF?3Adx5ECO$ums2 z8c5nOLxKo1W4o;JL)_bGdCR2XkT6vIhVjpdPpV}MteWMv3VA!$J)Zz)&wsX-Jp;2& z%~+G5_=ax5RW{J~B)Hh^cFc^AAY&ZJ@`A2yWi8sOk0o#Kayd5}Bmk$xcK5zQ-X)xZZBEU zkBXuwic%0N)D%Tglv0BVHAPVrrPQE8O;Hp@DK)52Qxru}N)1*Z%i-@Xm5QP$iV{Rz zaxBXV96WdKT#&n?C~%6RD8A#8V+XCktjx?z&YU?zPEHa0YM!DfilP(|IXO9;K7E?Z z%uIk;767~5-pk=|Bw8$%SfFZ9d#HFt+<09OS{6v1YY%o86y-|i52w?)-)gnawApOy Z{txz96;TxHpbY>3002ovPDHLkV1kVm%-a9} delta 4458 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 diff --git a/frontend/__snapshots__/lemon-ui-lemon-segmented-button--small.png b/frontend/__snapshots__/lemon-ui-lemon-segmented-button--small.png index 8ef1ffe9b510ef7fc39ee4bc3f37c7e4b0c4fb54..20eaad96cc7f82899bd7eb92be9d8a332936c0c7 100644 GIT binary patch delta 3278 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 M07*qoM6N<$g2X0Ba{vGU delta 4276 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 WNSL@0wFQa*0000 Date: Wed, 22 Nov 2023 14:27:27 +0000 Subject: [PATCH 4/5] Update UI snapshots for `chromium` (2) --- ...i-lemon-badge-lemon-badge--positioning.png | Bin 2288 -> 3077 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/frontend/__snapshots__/lemon-ui-lemon-badge-lemon-badge--positioning.png b/frontend/__snapshots__/lemon-ui-lemon-badge-lemon-badge--positioning.png index 111163f5e184bdb7a676ff5572b90e3d55973b03..e672243819df731a9dc6690d2fecf3769ca7c730 100644 GIT binary patch literal 3077 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 Hy2bqm&p-P1 literal 2288 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 a-{P;;_#u`V*Y+ZH33UQzX;N Date: Thu, 23 Nov 2023 21:23:20 +0100 Subject: [PATCH 5/5] Expand `loadNotebooksContainingResource` Storybook mock --- frontend/src/mocks/handlers.ts | 14 ++++++++++++-- frontend/src/scenes/insights/Insights.stories.tsx | 10 ---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/frontend/src/mocks/handlers.ts b/frontend/src/mocks/handlers.ts index 7da9a39b575fb..4bc8241d88bd1 100644 --- a/frontend/src/mocks/handlers.ts +++ b/frontend/src/mocks/handlers.ts @@ -33,7 +33,17 @@ export const defaultMocks: Mocks = { '/api/projects/:team_id/event_definitions/': EMPTY_PAGINATED_RESPONSE, '/api/projects/:team_id/cohorts/': toPaginatedResponse([MOCK_DEFAULT_COHORT]), '/api/projects/:team_id/dashboards/': EMPTY_PAGINATED_RESPONSE, - '/api/projects/@current/dashboard_templates/repository/': [], + '/api/projects/:team_id/dashboard_templates/repository/': [], + '/api/projects/:team_id/notebooks': () => { + // this was matching on `?contains=query` but that made MSW unhappy and seems unnecessary + return [ + 200, + { + count: 0, + results: [], + }, + ] + }, '/api/projects/:team_id/groups/': EMPTY_PAGINATED_RESPONSE, '/api/projects/:team_id/groups_types/': [], '/api/projects/:team_id/insights/': EMPTY_PAGINATED_RESPONSE, @@ -44,7 +54,7 @@ export const defaultMocks: Mocks = { } as SharingConfigurationType, '/api/projects/:team_id/property_definitions/': EMPTY_PAGINATED_RESPONSE, '/api/projects/:team_id/feature_flags/': EMPTY_PAGINATED_RESPONSE, - 'api/projects/:team_id/feature_flags/:feature_flag_id/role_access': EMPTY_PAGINATED_RESPONSE, + '/api/projects/:team_id/feature_flags/:feature_flag_id/role_access': EMPTY_PAGINATED_RESPONSE, '/api/projects/:team_id/experiments/': EMPTY_PAGINATED_RESPONSE, '/api/projects/:team_id/explicit_members/': [], '/api/organizations/@current/': (): MockSignature => [ diff --git a/frontend/src/scenes/insights/Insights.stories.tsx b/frontend/src/scenes/insights/Insights.stories.tsx index ea0532b199365..41ada5331a87b 100644 --- a/frontend/src/scenes/insights/Insights.stories.tsx +++ b/frontend/src/scenes/insights/Insights.stories.tsx @@ -23,16 +23,6 @@ const meta: Meta = { '/api/projects/:team_id/persons/retention': sampleRetentionPeopleResponse, '/api/projects/:team_id/persons/properties': samplePersonProperties, '/api/projects/:team_id/groups_types': [], - '/api/projects/:team_id/notebooks': () => { - // this was matching on `?contains=query` but that made MSW unhappy and seems unnecessary - return [ - 200, - { - count: 0, - results: [], - }, - ] - }, }, post: { '/api/projects/:team_id/cohorts/': { id: 1 },