plass-ui 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +372 -0
- package/README.md +18 -16
- package/dist/components/accordion/PlAccordion.d.ts +1 -1
- package/dist/components/alert/PlAlert.js +1 -1
- package/dist/components/anchor/PlAnchor.d.ts +14 -1
- package/dist/components/anchor/PlAnchor.js +1 -1
- package/dist/components/animate-appear/PlAnimateAppear.js +1 -1
- package/dist/components/animate-blink/PlAnimateBlink.js +1 -1
- package/dist/components/animate-counter/PlAnimateCounter.js +1 -1
- package/dist/components/animate-fade/PlAnimateFade.js +1 -1
- package/dist/components/animate-float/PlAnimateFloat.js +1 -1
- package/dist/components/animate-grow/PlAnimateGrow.js +1 -1
- package/dist/components/animate-headline/PlAnimateHeadline.js +1 -1
- package/dist/components/animate-lighting/PlAnimateLighting.js +1 -1
- package/dist/components/animate-marquee/PlAnimateMarquee.d.ts +13 -4
- package/dist/components/animate-marquee/PlAnimateMarquee.js +1 -1
- package/dist/components/animate-reveal/PlAnimateReveal.js +1 -1
- package/dist/components/animate-rotate/PlAnimateRotate.js +1 -1
- package/dist/components/animate-scramble/PlAnimateScramble.js +1 -1
- package/dist/components/animate-shake/PlAnimateShake.js +1 -1
- package/dist/components/animate-slide/PlAnimateSlide.js +1 -1
- package/dist/components/animate-split/PlAnimateSplit.d.ts +7 -4
- package/dist/components/animate-split/PlAnimateSplit.js +1 -1
- package/dist/components/animate-typing/PlAnimateTyping.d.ts +3 -2
- package/dist/components/animate-typing/PlAnimateTyping.js +1 -1
- package/dist/components/animate-zoom/PlAnimateZoom.js +1 -1
- package/dist/components/app-logo/PlAppLogo.js +1 -1
- package/dist/components/area-chart/PlAreaChart.d.ts +1 -1
- package/dist/components/area-chart/PlAreaChart.js +1 -1
- package/dist/components/aspect-ratio/PlAspectRatio.d.ts +2 -1
- package/dist/components/aspect-ratio/PlAspectRatio.js +1 -1
- package/dist/components/avatar/PlAvatar.js +1 -1
- package/dist/components/back-top/PlBackTop.d.ts +2 -1
- package/dist/components/back-top/PlBackTop.js +1 -1
- package/dist/components/badge/PlBadge.js +1 -1
- package/dist/components/bar-chart/PlBarChart.d.ts +1 -1
- package/dist/components/bar-chart/PlBarChart.js +1 -1
- package/dist/components/bottom-navigation/PlBottomNavigation.d.ts +3 -0
- package/dist/components/breadcrumb/PlBreadcrumb.js +1 -1
- package/dist/components/button/PlButton.d.ts +8 -0
- package/dist/components/button/PlButton.js +1 -1
- package/dist/components/calendar/PlCalendar.js +1 -1
- package/dist/components/card/PlCard.js +1 -1
- package/dist/components/carousel/PlCarousel.d.ts +1 -1
- package/dist/components/carousel/PlCarousel.js +1 -1
- package/dist/components/chat-bubble/PlChatBubble.d.ts +4 -1
- package/dist/components/chat-bubble/PlChatBubble.js +1 -1
- package/dist/components/checkbox/PlCheckbox.js +1 -1
- package/dist/components/chip/PlChip.d.ts +6 -2
- package/dist/components/chip/PlChip.js +1 -1
- package/dist/components/code-block/PlCodeBlock.d.ts +19 -2
- package/dist/components/code-block/PlCodeBlock.js +1 -1
- package/dist/components/color-picker/PlColorPicker.js +1 -1
- package/dist/components/combobox/PlCombobox.d.ts +6 -5
- package/dist/components/combobox/PlCombobox.js +1 -1
- package/dist/components/command-palette/PlCommandPalette.d.ts +6 -2
- package/dist/components/command-palette/PlCommandPalette.js +1 -1
- package/dist/components/confirm/PlConfirmProvider.js +1 -1
- package/dist/components/container/PlContainer.js +1 -1
- package/dist/components/data-table/PlDataTable.d.ts +20 -6
- package/dist/components/data-table/PlDataTable.js +1 -1
- package/dist/components/date-picker/PlDatePicker.js +1 -1
- package/dist/components/date-range-picker/PlDateRangePicker.js +1 -1
- package/dist/components/date-time-picker/PlDateTimePicker.js +1 -1
- package/dist/components/drawer/PlDrawer.js +1 -1
- package/dist/components/file-picker/PlFilePicker.d.ts +4 -1
- package/dist/components/file-picker/PlFilePicker.js +1 -1
- package/dist/components/floating-bottom-navigation/PlFloatingBottomNavigation.d.ts +3 -0
- package/dist/components/floating-bottom-navigation/PlFloatingBottomNavigation.js +1 -1
- package/dist/components/form/PlForm.js +1 -1
- package/dist/components/gallery/PlGallery.d.ts +40 -2
- package/dist/components/gallery/PlGallery.js +1 -1
- package/dist/components/gallery/PlGalleryViewer.js +1 -1
- package/dist/components/gauge-chart/PlGaugeChart.js +1 -1
- package/dist/components/heatmap-chart/PlHeatmapChart.js +1 -1
- package/dist/components/highlight/PlHighlight.js +1 -1
- package/dist/components/hot-keys/PlHotKeys.js +1 -1
- package/dist/components/hover-card/PlHoverCard.d.ts +5 -3
- package/dist/components/hover-card/PlHoverCard.js +1 -1
- package/dist/components/how-to-steps/PlHowToSteps.js +1 -1
- package/dist/components/image/PlImage.d.ts +195 -8
- package/dist/components/image/PlImage.js +1 -1
- package/dist/components/image/PlImagePreview.d.ts +58 -0
- package/dist/components/image/PlImagePreview.js +1 -0
- package/dist/components/image/index.d.ts +1 -1
- package/dist/components/menu/PlMenu.d.ts +14 -5
- package/dist/components/menu/PlMenu.js +1 -1
- package/dist/components/meter/PlMeter.js +1 -1
- package/dist/components/navigation-menu/PlNavigationMenu.d.ts +7 -1
- package/dist/components/navigation-menu/PlNavigationMenu.js +1 -1
- package/dist/components/otp-field/PlOtpField.d.ts +6 -0
- package/dist/components/otp-field/PlOtpField.js +1 -1
- package/dist/components/page-layout/PlPageLayout.js +1 -1
- package/dist/components/pagination/PlPagination.d.ts +12 -9
- package/dist/components/pagination/PlPagination.js +1 -1
- package/dist/components/panes/PlPanes.d.ts +5 -0
- package/dist/components/panes/PlPanes.js +1 -1
- package/dist/components/pie-chart/PlPieChart.js +1 -1
- package/dist/components/pill/PlPill.js +1 -1
- package/dist/components/popover/PlPopover.d.ts +5 -5
- package/dist/components/popover/PlPopover.js +1 -1
- package/dist/components/progress-box/PlProgressBox.js +1 -1
- package/dist/components/progress-circular/PlProgressCircular.js +1 -1
- package/dist/components/progress-linear/PlProgressLinear.js +1 -1
- package/dist/components/radio-group/PlRadioGroup.js +1 -1
- package/dist/components/rating/PlRating.d.ts +1 -1
- package/dist/components/rating/PlRating.js +1 -1
- package/dist/components/scatter-chart/PlScatterChart.js +1 -1
- package/dist/components/scroll-area/PlScrollArea.js +1 -1
- package/dist/components/scroll-zone/PlScrollZone.d.ts +19 -6
- package/dist/components/scroll-zone/PlScrollZone.js +1 -1
- package/dist/components/segmented-button/PlSegmentedButton.js +1 -1
- package/dist/components/select/PlSelect.js +1 -1
- package/dist/components/show/PlShow.d.ts +16 -0
- package/dist/components/show/PlShow.js +1 -1
- package/dist/components/sidebar/PlSidebar.js +1 -1
- package/dist/components/sidebar/PlSidebarTrigger.js +1 -1
- package/dist/components/skeleton/PlSkeleton.js +1 -1
- package/dist/components/slider/PlSlider.d.ts +13 -1
- package/dist/components/slider/PlSlider.js +1 -1
- package/dist/components/sparkline/PlSparkline.js +1 -1
- package/dist/components/spoiler/PlSpoiler.d.ts +15 -8
- package/dist/components/spoiler/PlSpoiler.js +1 -1
- package/dist/components/stat/PlStat.d.ts +4 -0
- package/dist/components/stat/PlStat.js +1 -1
- package/dist/components/stepper/PlStepper.d.ts +1 -1
- package/dist/components/stepper/PlStepper.js +1 -1
- package/dist/components/switch/PlSwitch.js +1 -1
- package/dist/components/table/PlTable.d.ts +5 -5
- package/dist/components/tabs/PlTabs.d.ts +26 -1
- package/dist/components/tabs/PlTabs.js +1 -1
- package/dist/components/text-link/PlTextLink.js +1 -1
- package/dist/components/time-picker/PlTimePicker.js +1 -1
- package/dist/components/timeline/PlTimeline.js +1 -1
- package/dist/components/timeline-chart/PlTimelineChart.js +1 -1
- package/dist/components/toast/PlToast.js +1 -1
- package/dist/components/toggle/PlToggle.js +1 -1
- package/dist/components/tooltip/PlTooltip.js +1 -1
- package/dist/components/tour/PlTour.js +1 -1
- package/dist/components/transfer/PlTransfer.d.ts +10 -1
- package/dist/components/transfer/PlTransfer.js +1 -1
- package/dist/components/tree/PlTree.js +1 -1
- package/dist/components/tree-select/PlTreeSelect.js +1 -1
- package/dist/components/typography/PlTypography.js +1 -1
- package/dist/components/window-pane/PlWindowPane.js +1 -1
- package/dist/css/area-chart.css +1 -0
- package/dist/css/back-top.css +2 -0
- package/dist/css/bar-chart.css +1 -0
- package/dist/css/calendar.css +1 -0
- package/dist/css/carousel.css +2 -0
- package/dist/css/color-picker.css +1 -0
- package/dist/css/combobox.css +1 -0
- package/dist/css/command-palette.css +1 -0
- package/dist/css/confirm.css +2 -0
- package/dist/css/data-table.css +5 -0
- package/dist/css/date-picker.css +1 -0
- package/dist/css/date-range-picker.css +1 -0
- package/dist/css/date-time-picker.css +1 -0
- package/dist/css/floating-action-button.css +2 -0
- package/dist/css/gallery.css +5 -0
- package/dist/css/gauge-chart.css +1 -0
- package/dist/css/heatmap-chart.css +1 -0
- package/dist/css/icon-button.css +1 -0
- package/dist/css/image.css +2 -0
- package/dist/css/line-chart.css +1 -0
- package/dist/css/menubar.css +1 -0
- package/dist/css/pagination.css +1 -0
- package/dist/css/pie-chart.css +1 -0
- package/dist/css/popconfirm.css +2 -0
- package/dist/css/scatter-chart.css +1 -0
- package/dist/css/scroll-zone.css +2 -0
- package/dist/css/sidebar.css +3 -0
- package/dist/css/sparkline.css +1 -0
- package/dist/css/spoiler.css +1 -0
- package/dist/css/stat.css +1 -0
- package/dist/css/time-picker.css +1 -0
- package/dist/css/timeline-chart.css +1 -0
- package/dist/css/tour.css +1 -0
- package/dist/css/transfer.css +4 -0
- package/dist/css/tree-select.css +2 -0
- package/dist/hooks/usePlElementSize.d.ts +4 -1
- package/dist/hooks/usePlElementSize.js +1 -1
- package/dist/hooks/usePlHotKeys.d.ts +5 -1
- package/dist/hooks/usePlHotKeys.js +1 -1
- package/dist/hooks/usePlOnScreen.d.ts +4 -0
- package/dist/hooks/usePlOnScreen.js +1 -1
- package/dist/internal/animate.d.ts +30 -2
- package/dist/internal/animate.js +1 -1
- package/dist/internal/calendar.js +1 -1
- package/dist/internal/chart-frame.d.ts +5 -1
- package/dist/internal/chart-frame.js +1 -1
- package/dist/internal/chart-line.js +1 -1
- package/dist/internal/chart.d.ts +81 -3
- package/dist/internal/chart.js +1 -1
- package/dist/internal/color-scheme.js +1 -1
- package/dist/internal/data-table.d.ts +5 -4
- package/dist/internal/data-table.js +1 -1
- package/dist/internal/date.d.ts +10 -0
- package/dist/internal/date.js +1 -1
- package/dist/internal/drag.d.ts +16 -0
- package/dist/internal/drag.js +1 -1
- package/dist/internal/focusable.d.ts +8 -0
- package/dist/internal/focusable.js +1 -0
- package/dist/internal/form.d.ts +61 -0
- package/dist/internal/form.js +1 -0
- package/dist/internal/gallery.d.ts +60 -14
- package/dist/internal/gallery.js +1 -1
- package/dist/internal/glow.d.ts +17 -0
- package/dist/internal/glow.js +1 -0
- package/dist/internal/highlight.js +1 -1
- package/dist/internal/image.d.ts +94 -0
- package/dist/internal/image.js +1 -0
- package/dist/internal/inert.d.ts +19 -0
- package/dist/internal/inert.js +1 -0
- package/dist/internal/keys.d.ts +19 -0
- package/dist/internal/keys.js +1 -1
- package/dist/internal/labels.d.ts +45 -1
- package/dist/internal/labels.js +1 -1
- package/dist/internal/link.d.ts +17 -0
- package/dist/internal/link.js +1 -1
- package/dist/internal/page-layout.d.ts +14 -7
- package/dist/internal/page-layout.js +1 -1
- package/dist/internal/picker.d.ts +43 -6
- package/dist/internal/picker.js +1 -1
- package/dist/internal/progress.d.ts +16 -8
- package/dist/internal/progress.js +1 -1
- package/dist/internal/scramble.d.ts +4 -0
- package/dist/internal/scramble.js +1 -1
- package/dist/internal/scroll-target.d.ts +5 -0
- package/dist/internal/scroll-target.js +1 -0
- package/dist/internal/steps.js +1 -1
- package/dist/internal/styles.d.ts +66 -0
- package/dist/internal/styles.js +1 -1
- package/dist/internal/text.d.ts +39 -0
- package/dist/internal/text.js +1 -0
- package/dist/internal/watermark.d.ts +44 -0
- package/dist/internal/watermark.js +1 -0
- package/dist/internal/wheel.d.ts +52 -0
- package/dist/internal/wheel.js +1 -0
- package/dist/internal/window.js +1 -1
- package/dist/locales/de.js +1 -1
- package/dist/locales/es.js +1 -1
- package/dist/locales/fr.js +1 -1
- package/dist/locales/ja.js +1 -1
- package/dist/locales/ko.js +1 -1
- package/dist/locales/zh-Hans.js +1 -1
- package/dist/provider/PlColorSchemeScript.js +1 -1
- package/dist/provider/PlassProvider.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +258 -11
- package/dist/tokens.css +258 -11
- package/dist/types.d.ts +16 -29
- package/package.json +15 -15
package/dist/tailwind.css
CHANGED
|
@@ -608,7 +608,11 @@
|
|
|
608
608
|
--plass-primary-soft-press: color-mix(in srgb, var(--plass-primary-accent) 26%, transparent);
|
|
609
609
|
--plass-primary-line: color-mix(in srgb, var(--plass-primary-accent) 30%, transparent);
|
|
610
610
|
--plass-primary-line-hover: color-mix(in srgb, var(--plass-primary-accent) 48%, transparent);
|
|
611
|
-
|
|
611
|
+
/* The focus ring is the accent at full strength, because it is read against
|
|
612
|
+
the page rather than looked at: the ring has to clear 3:1 against the
|
|
613
|
+
sheet round a control in both themes, and only the per-theme accent does.
|
|
614
|
+
`solid` is one colour for both, and amber on white cannot reach it. */
|
|
615
|
+
--plass-primary-ring: var(--plass-primary-accent);
|
|
612
616
|
|
|
613
617
|
--plass-secondary-fill: linear-gradient(
|
|
614
618
|
135deg,
|
|
@@ -625,7 +629,7 @@
|
|
|
625
629
|
--plass-secondary-soft-press: color-mix(in srgb, var(--plass-secondary-accent) 26%, transparent);
|
|
626
630
|
--plass-secondary-line: color-mix(in srgb, var(--plass-secondary-accent) 30%, transparent);
|
|
627
631
|
--plass-secondary-line-hover: color-mix(in srgb, var(--plass-secondary-accent) 48%, transparent);
|
|
628
|
-
--plass-secondary-ring:
|
|
632
|
+
--plass-secondary-ring: var(--plass-secondary-accent);
|
|
629
633
|
|
|
630
634
|
--plass-success-fill: linear-gradient(
|
|
631
635
|
135deg,
|
|
@@ -642,7 +646,7 @@
|
|
|
642
646
|
--plass-success-soft-press: color-mix(in srgb, var(--plass-success-accent) 26%, transparent);
|
|
643
647
|
--plass-success-line: color-mix(in srgb, var(--plass-success-accent) 30%, transparent);
|
|
644
648
|
--plass-success-line-hover: color-mix(in srgb, var(--plass-success-accent) 48%, transparent);
|
|
645
|
-
--plass-success-ring:
|
|
649
|
+
--plass-success-ring: var(--plass-success-accent);
|
|
646
650
|
|
|
647
651
|
--plass-warning-fill: linear-gradient(
|
|
648
652
|
135deg,
|
|
@@ -659,7 +663,7 @@
|
|
|
659
663
|
--plass-warning-soft-press: color-mix(in srgb, var(--plass-warning-accent) 28%, transparent);
|
|
660
664
|
--plass-warning-line: color-mix(in srgb, var(--plass-warning-accent) 34%, transparent);
|
|
661
665
|
--plass-warning-line-hover: color-mix(in srgb, var(--plass-warning-accent) 52%, transparent);
|
|
662
|
-
--plass-warning-ring:
|
|
666
|
+
--plass-warning-ring: var(--plass-warning-accent);
|
|
663
667
|
|
|
664
668
|
--plass-danger-fill: linear-gradient(
|
|
665
669
|
135deg,
|
|
@@ -676,7 +680,7 @@
|
|
|
676
680
|
--plass-danger-soft-press: color-mix(in srgb, var(--plass-danger-accent) 26%, transparent);
|
|
677
681
|
--plass-danger-line: color-mix(in srgb, var(--plass-danger-accent) 30%, transparent);
|
|
678
682
|
--plass-danger-line-hover: color-mix(in srgb, var(--plass-danger-accent) 48%, transparent);
|
|
679
|
-
--plass-danger-ring:
|
|
683
|
+
--plass-danger-ring: var(--plass-danger-accent);
|
|
680
684
|
|
|
681
685
|
--plass-info-fill: linear-gradient(
|
|
682
686
|
135deg,
|
|
@@ -693,7 +697,7 @@
|
|
|
693
697
|
--plass-info-soft-press: color-mix(in srgb, var(--plass-info-accent) 26%, transparent);
|
|
694
698
|
--plass-info-line: color-mix(in srgb, var(--plass-info-accent) 30%, transparent);
|
|
695
699
|
--plass-info-line-hover: color-mix(in srgb, var(--plass-info-accent) 48%, transparent);
|
|
696
|
-
--plass-info-ring:
|
|
700
|
+
--plass-info-ring: var(--plass-info-accent);
|
|
697
701
|
/* The three greys a chart draws its frame with, derived so a project that
|
|
698
702
|
re-tones its border moves the grid with it.
|
|
699
703
|
|
|
@@ -1191,6 +1195,190 @@
|
|
|
1191
1195
|
* drift.
|
|
1192
1196
|
* ------------------------------------------------------------------------- */
|
|
1193
1197
|
|
|
1198
|
+
/*
|
|
1199
|
+
* The per-breakpoint slots do not inherit. Each one is written inline on the
|
|
1200
|
+
* element that reads it, and a custom property is inherited by default, so a
|
|
1201
|
+
* `PlFlex` nested in another took every rung its parent named and it did not:
|
|
1202
|
+
* a vertical flex inside `{ xs: 'vertical', md: 'horizontal' }` turned
|
|
1203
|
+
* horizontal at `md`, and a `PlGridItem` with no `span` inside a cell of eight
|
|
1204
|
+
* was eight columns wide. The slots they resolve into (`--p-cols`, `--p-gap-x`)
|
|
1205
|
+
* still inherit, which is how a grid item reads its grid.
|
|
1206
|
+
*/
|
|
1207
|
+
@property --p-gap-x-xs {
|
|
1208
|
+
syntax: '*';
|
|
1209
|
+
inherits: false;
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
@property --p-gap-x-sm {
|
|
1213
|
+
syntax: '*';
|
|
1214
|
+
inherits: false;
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
@property --p-gap-x-md {
|
|
1218
|
+
syntax: '*';
|
|
1219
|
+
inherits: false;
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1222
|
+
@property --p-gap-x-lg {
|
|
1223
|
+
syntax: '*';
|
|
1224
|
+
inherits: false;
|
|
1225
|
+
}
|
|
1226
|
+
|
|
1227
|
+
@property --p-gap-x-xl {
|
|
1228
|
+
syntax: '*';
|
|
1229
|
+
inherits: false;
|
|
1230
|
+
}
|
|
1231
|
+
|
|
1232
|
+
@property --p-gap-y-xs {
|
|
1233
|
+
syntax: '*';
|
|
1234
|
+
inherits: false;
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1237
|
+
@property --p-gap-y-sm {
|
|
1238
|
+
syntax: '*';
|
|
1239
|
+
inherits: false;
|
|
1240
|
+
}
|
|
1241
|
+
|
|
1242
|
+
@property --p-gap-y-md {
|
|
1243
|
+
syntax: '*';
|
|
1244
|
+
inherits: false;
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
@property --p-gap-y-lg {
|
|
1248
|
+
syntax: '*';
|
|
1249
|
+
inherits: false;
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1252
|
+
@property --p-gap-y-xl {
|
|
1253
|
+
syntax: '*';
|
|
1254
|
+
inherits: false;
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
@property --p-cols-xs {
|
|
1258
|
+
syntax: '*';
|
|
1259
|
+
inherits: false;
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1262
|
+
@property --p-cols-sm {
|
|
1263
|
+
syntax: '*';
|
|
1264
|
+
inherits: false;
|
|
1265
|
+
}
|
|
1266
|
+
|
|
1267
|
+
@property --p-cols-md {
|
|
1268
|
+
syntax: '*';
|
|
1269
|
+
inherits: false;
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
@property --p-cols-lg {
|
|
1273
|
+
syntax: '*';
|
|
1274
|
+
inherits: false;
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
@property --p-cols-xl {
|
|
1278
|
+
syntax: '*';
|
|
1279
|
+
inherits: false;
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1282
|
+
@property --p-dir-xs {
|
|
1283
|
+
syntax: '*';
|
|
1284
|
+
inherits: false;
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
@property --p-dir-sm {
|
|
1288
|
+
syntax: '*';
|
|
1289
|
+
inherits: false;
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
@property --p-dir-md {
|
|
1293
|
+
syntax: '*';
|
|
1294
|
+
inherits: false;
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
@property --p-dir-lg {
|
|
1298
|
+
syntax: '*';
|
|
1299
|
+
inherits: false;
|
|
1300
|
+
}
|
|
1301
|
+
|
|
1302
|
+
@property --p-dir-xl {
|
|
1303
|
+
syntax: '*';
|
|
1304
|
+
inherits: false;
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
@property --p-span-xs {
|
|
1308
|
+
syntax: '*';
|
|
1309
|
+
inherits: false;
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
@property --p-span-sm {
|
|
1313
|
+
syntax: '*';
|
|
1314
|
+
inherits: false;
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1317
|
+
@property --p-span-md {
|
|
1318
|
+
syntax: '*';
|
|
1319
|
+
inherits: false;
|
|
1320
|
+
}
|
|
1321
|
+
|
|
1322
|
+
@property --p-span-lg {
|
|
1323
|
+
syntax: '*';
|
|
1324
|
+
inherits: false;
|
|
1325
|
+
}
|
|
1326
|
+
|
|
1327
|
+
@property --p-span-xl {
|
|
1328
|
+
syntax: '*';
|
|
1329
|
+
inherits: false;
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
@property --p-offset-xs {
|
|
1333
|
+
syntax: '*';
|
|
1334
|
+
inherits: false;
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1337
|
+
@property --p-offset-sm {
|
|
1338
|
+
syntax: '*';
|
|
1339
|
+
inherits: false;
|
|
1340
|
+
}
|
|
1341
|
+
|
|
1342
|
+
@property --p-offset-md {
|
|
1343
|
+
syntax: '*';
|
|
1344
|
+
inherits: false;
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
@property --p-offset-lg {
|
|
1348
|
+
syntax: '*';
|
|
1349
|
+
inherits: false;
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
@property --p-offset-xl {
|
|
1353
|
+
syntax: '*';
|
|
1354
|
+
inherits: false;
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1357
|
+
@property --p-maxw-xs {
|
|
1358
|
+
syntax: '*';
|
|
1359
|
+
inherits: false;
|
|
1360
|
+
}
|
|
1361
|
+
|
|
1362
|
+
@property --p-maxw-sm {
|
|
1363
|
+
syntax: '*';
|
|
1364
|
+
inherits: false;
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1367
|
+
@property --p-maxw-md {
|
|
1368
|
+
syntax: '*';
|
|
1369
|
+
inherits: false;
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1372
|
+
@property --p-maxw-lg {
|
|
1373
|
+
syntax: '*';
|
|
1374
|
+
inherits: false;
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1377
|
+
@property --p-maxw-xl {
|
|
1378
|
+
syntax: '*';
|
|
1379
|
+
inherits: false;
|
|
1380
|
+
}
|
|
1381
|
+
|
|
1194
1382
|
.plass-grid,
|
|
1195
1383
|
.plass-flex {
|
|
1196
1384
|
--p-gap-x: var(--p-gap-x-xs, 0px);
|
|
@@ -1722,6 +1910,12 @@
|
|
|
1722
1910
|
flex-direction: column;
|
|
1723
1911
|
}
|
|
1724
1912
|
|
|
1913
|
+
/* Inset, so a box inside something that clips does not lose its ring. */
|
|
1914
|
+
.plass-marquee:focus-visible {
|
|
1915
|
+
outline: 2px solid var(--plass-primary-ring);
|
|
1916
|
+
outline-offset: -2px;
|
|
1917
|
+
}
|
|
1918
|
+
|
|
1725
1919
|
.plass-marquee-track {
|
|
1726
1920
|
display: flex;
|
|
1727
1921
|
flex: 0 0 auto;
|
|
@@ -1927,8 +2121,13 @@
|
|
|
1927
2121
|
--p-code-del: oklch(75% 0.15 25);
|
|
1928
2122
|
}
|
|
1929
2123
|
|
|
2124
|
+
/* Both ways of forcing light are named, the same pair the token block above
|
|
2125
|
+
answers to. `auto` means "whatever the page is", so a page that has said it
|
|
2126
|
+
is light with `.light` and one that has said it with `[data-theme='light']`
|
|
2127
|
+
have to leave the block light alike — otherwise the page is white and the
|
|
2128
|
+
code on it is the one dark rectangle nobody asked for. */
|
|
1930
2129
|
@media (prefers-color-scheme: dark) {
|
|
1931
|
-
:root:not([data-theme='light']) .plass-code[data-code-theme='auto'] {
|
|
2130
|
+
:root:not(.light):not([data-theme='light']) .plass-code[data-code-theme='auto'] {
|
|
1932
2131
|
--p-code-bg: oklch(19.5% 0.014 262);
|
|
1933
2132
|
--p-code-fg: oklch(90% 0.012 262);
|
|
1934
2133
|
|
|
@@ -2320,10 +2519,11 @@
|
|
|
2320
2519
|
* arrangement that still reads as a set.
|
|
2321
2520
|
*
|
|
2322
2521
|
* The three lines below are what the slot is *for*. A grid and a quilt lay out
|
|
2323
|
-
* in CSS Grid off `--p-cols`; a masonry deals its items into
|
|
2324
|
-
*
|
|
2325
|
-
*
|
|
2326
|
-
*
|
|
2522
|
+
* in CSS Grid off `--p-cols`; a masonry deals its items into lanes in JavaScript
|
|
2523
|
+
* and writes the count and the rows inline, because which lane an item lands in
|
|
2524
|
+
* depends on the heights of the items before it and no stylesheet can work that
|
|
2525
|
+
* out; and a justified row is flexbox, which needs no count at all — it fills
|
|
2526
|
+
* to the edge with whatever fits.
|
|
2327
2527
|
* ------------------------------------------------------------------------- */
|
|
2328
2528
|
|
|
2329
2529
|
.plass-gallery-grid,
|
|
@@ -2331,6 +2531,32 @@
|
|
|
2331
2531
|
grid-template-columns: repeat(var(--p-cols, 2), minmax(0, 1fr));
|
|
2332
2532
|
}
|
|
2333
2533
|
|
|
2534
|
+
/*
|
|
2535
|
+
* What holds a justified gallery's last row down.
|
|
2536
|
+
*
|
|
2537
|
+
* Every tile is grown in proportion to its own width, which is what makes a row
|
|
2538
|
+
* come out one height once it has been stretched to the edge. The last row is
|
|
2539
|
+
* the exception: it has fewer tiles and the same width to share, so they stretch
|
|
2540
|
+
* further than any row above them — one leftover photograph ends up filling the
|
|
2541
|
+
* whole width and standing two or three times as tall as the gallery it belongs
|
|
2542
|
+
* to.
|
|
2543
|
+
*
|
|
2544
|
+
* An empty `::after` with an absurd `flex-grow` eats the leftover width instead,
|
|
2545
|
+
* so the real tiles keep their basis and the row lands at the height it was
|
|
2546
|
+
* aiming for. It has to be a pseudo-element rather than a filler item: the list
|
|
2547
|
+
* is a `<ul>` with `role="list"`, and an extra `<li>` would be an extra item in
|
|
2548
|
+
* it — a photograph that is not there, counted by every screen reader that
|
|
2549
|
+
* announces how many there are.
|
|
2550
|
+
*
|
|
2551
|
+
* It costs a row of nothing when the last row happens to be full, which is why
|
|
2552
|
+
* the flex-basis is zero.
|
|
2553
|
+
*/
|
|
2554
|
+
.plass-gallery-justified::after {
|
|
2555
|
+
content: '';
|
|
2556
|
+
flex-grow: 1000000;
|
|
2557
|
+
flex-basis: 0;
|
|
2558
|
+
}
|
|
2559
|
+
|
|
2334
2560
|
/* ---------------------------------------------------------------------------
|
|
2335
2561
|
* Reduced motion
|
|
2336
2562
|
*
|
|
@@ -2402,6 +2628,27 @@
|
|
|
2402
2628
|
animation: none;
|
|
2403
2629
|
}
|
|
2404
2630
|
|
|
2631
|
+
/*
|
|
2632
|
+
* A marquee that stops would leave everything past the edge of its box out
|
|
2633
|
+
* of sight for good. One copy is drawn, and the box scrolls along it instead
|
|
2634
|
+
* of clipping it, so the strip stays one line rather than wrapping down the
|
|
2635
|
+
* page; a platform that draws a permanent scrollbar adds only the bar. The
|
|
2636
|
+
* component makes the box a tab stop while it scrolls.
|
|
2637
|
+
*/
|
|
2638
|
+
.plass-marquee {
|
|
2639
|
+
overflow-x: auto;
|
|
2640
|
+
overflow-y: hidden;
|
|
2641
|
+
}
|
|
2642
|
+
|
|
2643
|
+
.plass-marquee-vertical {
|
|
2644
|
+
overflow-x: hidden;
|
|
2645
|
+
overflow-y: auto;
|
|
2646
|
+
}
|
|
2647
|
+
|
|
2648
|
+
.plass-marquee-track + .plass-marquee-track {
|
|
2649
|
+
display: none;
|
|
2650
|
+
}
|
|
2651
|
+
|
|
2405
2652
|
/* The arc stops travelling and becomes an even glow. The same trade the
|
|
2406
2653
|
skeleton makes: the decoration survives, the motion does not. */
|
|
2407
2654
|
.plass-anim-lighting::before {
|
package/dist/tokens.css
CHANGED
|
@@ -611,7 +611,11 @@
|
|
|
611
611
|
--plass-primary-soft-press: color-mix(in srgb, var(--plass-primary-accent) 26%, transparent);
|
|
612
612
|
--plass-primary-line: color-mix(in srgb, var(--plass-primary-accent) 30%, transparent);
|
|
613
613
|
--plass-primary-line-hover: color-mix(in srgb, var(--plass-primary-accent) 48%, transparent);
|
|
614
|
-
|
|
614
|
+
/* The focus ring is the accent at full strength, because it is read against
|
|
615
|
+
the page rather than looked at: the ring has to clear 3:1 against the
|
|
616
|
+
sheet round a control in both themes, and only the per-theme accent does.
|
|
617
|
+
`solid` is one colour for both, and amber on white cannot reach it. */
|
|
618
|
+
--plass-primary-ring: var(--plass-primary-accent);
|
|
615
619
|
|
|
616
620
|
--plass-secondary-fill: linear-gradient(
|
|
617
621
|
135deg,
|
|
@@ -628,7 +632,7 @@
|
|
|
628
632
|
--plass-secondary-soft-press: color-mix(in srgb, var(--plass-secondary-accent) 26%, transparent);
|
|
629
633
|
--plass-secondary-line: color-mix(in srgb, var(--plass-secondary-accent) 30%, transparent);
|
|
630
634
|
--plass-secondary-line-hover: color-mix(in srgb, var(--plass-secondary-accent) 48%, transparent);
|
|
631
|
-
--plass-secondary-ring:
|
|
635
|
+
--plass-secondary-ring: var(--plass-secondary-accent);
|
|
632
636
|
|
|
633
637
|
--plass-success-fill: linear-gradient(
|
|
634
638
|
135deg,
|
|
@@ -645,7 +649,7 @@
|
|
|
645
649
|
--plass-success-soft-press: color-mix(in srgb, var(--plass-success-accent) 26%, transparent);
|
|
646
650
|
--plass-success-line: color-mix(in srgb, var(--plass-success-accent) 30%, transparent);
|
|
647
651
|
--plass-success-line-hover: color-mix(in srgb, var(--plass-success-accent) 48%, transparent);
|
|
648
|
-
--plass-success-ring:
|
|
652
|
+
--plass-success-ring: var(--plass-success-accent);
|
|
649
653
|
|
|
650
654
|
--plass-warning-fill: linear-gradient(
|
|
651
655
|
135deg,
|
|
@@ -662,7 +666,7 @@
|
|
|
662
666
|
--plass-warning-soft-press: color-mix(in srgb, var(--plass-warning-accent) 28%, transparent);
|
|
663
667
|
--plass-warning-line: color-mix(in srgb, var(--plass-warning-accent) 34%, transparent);
|
|
664
668
|
--plass-warning-line-hover: color-mix(in srgb, var(--plass-warning-accent) 52%, transparent);
|
|
665
|
-
--plass-warning-ring:
|
|
669
|
+
--plass-warning-ring: var(--plass-warning-accent);
|
|
666
670
|
|
|
667
671
|
--plass-danger-fill: linear-gradient(
|
|
668
672
|
135deg,
|
|
@@ -679,7 +683,7 @@
|
|
|
679
683
|
--plass-danger-soft-press: color-mix(in srgb, var(--plass-danger-accent) 26%, transparent);
|
|
680
684
|
--plass-danger-line: color-mix(in srgb, var(--plass-danger-accent) 30%, transparent);
|
|
681
685
|
--plass-danger-line-hover: color-mix(in srgb, var(--plass-danger-accent) 48%, transparent);
|
|
682
|
-
--plass-danger-ring:
|
|
686
|
+
--plass-danger-ring: var(--plass-danger-accent);
|
|
683
687
|
|
|
684
688
|
--plass-info-fill: linear-gradient(
|
|
685
689
|
135deg,
|
|
@@ -696,7 +700,7 @@
|
|
|
696
700
|
--plass-info-soft-press: color-mix(in srgb, var(--plass-info-accent) 26%, transparent);
|
|
697
701
|
--plass-info-line: color-mix(in srgb, var(--plass-info-accent) 30%, transparent);
|
|
698
702
|
--plass-info-line-hover: color-mix(in srgb, var(--plass-info-accent) 48%, transparent);
|
|
699
|
-
--plass-info-ring:
|
|
703
|
+
--plass-info-ring: var(--plass-info-accent);
|
|
700
704
|
/* The three greys a chart draws its frame with, derived so a project that
|
|
701
705
|
re-tones its border moves the grid with it.
|
|
702
706
|
|
|
@@ -1194,6 +1198,190 @@
|
|
|
1194
1198
|
* drift.
|
|
1195
1199
|
* ------------------------------------------------------------------------- */
|
|
1196
1200
|
|
|
1201
|
+
/*
|
|
1202
|
+
* The per-breakpoint slots do not inherit. Each one is written inline on the
|
|
1203
|
+
* element that reads it, and a custom property is inherited by default, so a
|
|
1204
|
+
* `PlFlex` nested in another took every rung its parent named and it did not:
|
|
1205
|
+
* a vertical flex inside `{ xs: 'vertical', md: 'horizontal' }` turned
|
|
1206
|
+
* horizontal at `md`, and a `PlGridItem` with no `span` inside a cell of eight
|
|
1207
|
+
* was eight columns wide. The slots they resolve into (`--p-cols`, `--p-gap-x`)
|
|
1208
|
+
* still inherit, which is how a grid item reads its grid.
|
|
1209
|
+
*/
|
|
1210
|
+
@property --p-gap-x-xs {
|
|
1211
|
+
syntax: '*';
|
|
1212
|
+
inherits: false;
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
@property --p-gap-x-sm {
|
|
1216
|
+
syntax: '*';
|
|
1217
|
+
inherits: false;
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
@property --p-gap-x-md {
|
|
1221
|
+
syntax: '*';
|
|
1222
|
+
inherits: false;
|
|
1223
|
+
}
|
|
1224
|
+
|
|
1225
|
+
@property --p-gap-x-lg {
|
|
1226
|
+
syntax: '*';
|
|
1227
|
+
inherits: false;
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1230
|
+
@property --p-gap-x-xl {
|
|
1231
|
+
syntax: '*';
|
|
1232
|
+
inherits: false;
|
|
1233
|
+
}
|
|
1234
|
+
|
|
1235
|
+
@property --p-gap-y-xs {
|
|
1236
|
+
syntax: '*';
|
|
1237
|
+
inherits: false;
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1240
|
+
@property --p-gap-y-sm {
|
|
1241
|
+
syntax: '*';
|
|
1242
|
+
inherits: false;
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
@property --p-gap-y-md {
|
|
1246
|
+
syntax: '*';
|
|
1247
|
+
inherits: false;
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
@property --p-gap-y-lg {
|
|
1251
|
+
syntax: '*';
|
|
1252
|
+
inherits: false;
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1255
|
+
@property --p-gap-y-xl {
|
|
1256
|
+
syntax: '*';
|
|
1257
|
+
inherits: false;
|
|
1258
|
+
}
|
|
1259
|
+
|
|
1260
|
+
@property --p-cols-xs {
|
|
1261
|
+
syntax: '*';
|
|
1262
|
+
inherits: false;
|
|
1263
|
+
}
|
|
1264
|
+
|
|
1265
|
+
@property --p-cols-sm {
|
|
1266
|
+
syntax: '*';
|
|
1267
|
+
inherits: false;
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
@property --p-cols-md {
|
|
1271
|
+
syntax: '*';
|
|
1272
|
+
inherits: false;
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
@property --p-cols-lg {
|
|
1276
|
+
syntax: '*';
|
|
1277
|
+
inherits: false;
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
@property --p-cols-xl {
|
|
1281
|
+
syntax: '*';
|
|
1282
|
+
inherits: false;
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1285
|
+
@property --p-dir-xs {
|
|
1286
|
+
syntax: '*';
|
|
1287
|
+
inherits: false;
|
|
1288
|
+
}
|
|
1289
|
+
|
|
1290
|
+
@property --p-dir-sm {
|
|
1291
|
+
syntax: '*';
|
|
1292
|
+
inherits: false;
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1295
|
+
@property --p-dir-md {
|
|
1296
|
+
syntax: '*';
|
|
1297
|
+
inherits: false;
|
|
1298
|
+
}
|
|
1299
|
+
|
|
1300
|
+
@property --p-dir-lg {
|
|
1301
|
+
syntax: '*';
|
|
1302
|
+
inherits: false;
|
|
1303
|
+
}
|
|
1304
|
+
|
|
1305
|
+
@property --p-dir-xl {
|
|
1306
|
+
syntax: '*';
|
|
1307
|
+
inherits: false;
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1310
|
+
@property --p-span-xs {
|
|
1311
|
+
syntax: '*';
|
|
1312
|
+
inherits: false;
|
|
1313
|
+
}
|
|
1314
|
+
|
|
1315
|
+
@property --p-span-sm {
|
|
1316
|
+
syntax: '*';
|
|
1317
|
+
inherits: false;
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
@property --p-span-md {
|
|
1321
|
+
syntax: '*';
|
|
1322
|
+
inherits: false;
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
@property --p-span-lg {
|
|
1326
|
+
syntax: '*';
|
|
1327
|
+
inherits: false;
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
@property --p-span-xl {
|
|
1331
|
+
syntax: '*';
|
|
1332
|
+
inherits: false;
|
|
1333
|
+
}
|
|
1334
|
+
|
|
1335
|
+
@property --p-offset-xs {
|
|
1336
|
+
syntax: '*';
|
|
1337
|
+
inherits: false;
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1340
|
+
@property --p-offset-sm {
|
|
1341
|
+
syntax: '*';
|
|
1342
|
+
inherits: false;
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1345
|
+
@property --p-offset-md {
|
|
1346
|
+
syntax: '*';
|
|
1347
|
+
inherits: false;
|
|
1348
|
+
}
|
|
1349
|
+
|
|
1350
|
+
@property --p-offset-lg {
|
|
1351
|
+
syntax: '*';
|
|
1352
|
+
inherits: false;
|
|
1353
|
+
}
|
|
1354
|
+
|
|
1355
|
+
@property --p-offset-xl {
|
|
1356
|
+
syntax: '*';
|
|
1357
|
+
inherits: false;
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
@property --p-maxw-xs {
|
|
1361
|
+
syntax: '*';
|
|
1362
|
+
inherits: false;
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
@property --p-maxw-sm {
|
|
1366
|
+
syntax: '*';
|
|
1367
|
+
inherits: false;
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
@property --p-maxw-md {
|
|
1371
|
+
syntax: '*';
|
|
1372
|
+
inherits: false;
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1375
|
+
@property --p-maxw-lg {
|
|
1376
|
+
syntax: '*';
|
|
1377
|
+
inherits: false;
|
|
1378
|
+
}
|
|
1379
|
+
|
|
1380
|
+
@property --p-maxw-xl {
|
|
1381
|
+
syntax: '*';
|
|
1382
|
+
inherits: false;
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1197
1385
|
.plass-grid,
|
|
1198
1386
|
.plass-flex {
|
|
1199
1387
|
--p-gap-x: var(--p-gap-x-xs, 0px);
|
|
@@ -1725,6 +1913,12 @@
|
|
|
1725
1913
|
flex-direction: column;
|
|
1726
1914
|
}
|
|
1727
1915
|
|
|
1916
|
+
/* Inset, so a box inside something that clips does not lose its ring. */
|
|
1917
|
+
.plass-marquee:focus-visible {
|
|
1918
|
+
outline: 2px solid var(--plass-primary-ring);
|
|
1919
|
+
outline-offset: -2px;
|
|
1920
|
+
}
|
|
1921
|
+
|
|
1728
1922
|
.plass-marquee-track {
|
|
1729
1923
|
display: flex;
|
|
1730
1924
|
flex: 0 0 auto;
|
|
@@ -1930,8 +2124,13 @@
|
|
|
1930
2124
|
--p-code-del: oklch(75% 0.15 25);
|
|
1931
2125
|
}
|
|
1932
2126
|
|
|
2127
|
+
/* Both ways of forcing light are named, the same pair the token block above
|
|
2128
|
+
answers to. `auto` means "whatever the page is", so a page that has said it
|
|
2129
|
+
is light with `.light` and one that has said it with `[data-theme='light']`
|
|
2130
|
+
have to leave the block light alike — otherwise the page is white and the
|
|
2131
|
+
code on it is the one dark rectangle nobody asked for. */
|
|
1933
2132
|
@media (prefers-color-scheme: dark) {
|
|
1934
|
-
:root:not([data-theme='light']) .plass-code[data-code-theme='auto'] {
|
|
2133
|
+
:root:not(.light):not([data-theme='light']) .plass-code[data-code-theme='auto'] {
|
|
1935
2134
|
--p-code-bg: oklch(19.5% 0.014 262);
|
|
1936
2135
|
--p-code-fg: oklch(90% 0.012 262);
|
|
1937
2136
|
|
|
@@ -2323,10 +2522,11 @@
|
|
|
2323
2522
|
* arrangement that still reads as a set.
|
|
2324
2523
|
*
|
|
2325
2524
|
* The three lines below are what the slot is *for*. A grid and a quilt lay out
|
|
2326
|
-
* in CSS Grid off `--p-cols`; a masonry deals its items into
|
|
2327
|
-
*
|
|
2328
|
-
*
|
|
2329
|
-
*
|
|
2525
|
+
* in CSS Grid off `--p-cols`; a masonry deals its items into lanes in JavaScript
|
|
2526
|
+
* and writes the count and the rows inline, because which lane an item lands in
|
|
2527
|
+
* depends on the heights of the items before it and no stylesheet can work that
|
|
2528
|
+
* out; and a justified row is flexbox, which needs no count at all — it fills
|
|
2529
|
+
* to the edge with whatever fits.
|
|
2330
2530
|
* ------------------------------------------------------------------------- */
|
|
2331
2531
|
|
|
2332
2532
|
.plass-gallery-grid,
|
|
@@ -2334,6 +2534,32 @@
|
|
|
2334
2534
|
grid-template-columns: repeat(var(--p-cols, 2), minmax(0, 1fr));
|
|
2335
2535
|
}
|
|
2336
2536
|
|
|
2537
|
+
/*
|
|
2538
|
+
* What holds a justified gallery's last row down.
|
|
2539
|
+
*
|
|
2540
|
+
* Every tile is grown in proportion to its own width, which is what makes a row
|
|
2541
|
+
* come out one height once it has been stretched to the edge. The last row is
|
|
2542
|
+
* the exception: it has fewer tiles and the same width to share, so they stretch
|
|
2543
|
+
* further than any row above them — one leftover photograph ends up filling the
|
|
2544
|
+
* whole width and standing two or three times as tall as the gallery it belongs
|
|
2545
|
+
* to.
|
|
2546
|
+
*
|
|
2547
|
+
* An empty `::after` with an absurd `flex-grow` eats the leftover width instead,
|
|
2548
|
+
* so the real tiles keep their basis and the row lands at the height it was
|
|
2549
|
+
* aiming for. It has to be a pseudo-element rather than a filler item: the list
|
|
2550
|
+
* is a `<ul>` with `role="list"`, and an extra `<li>` would be an extra item in
|
|
2551
|
+
* it — a photograph that is not there, counted by every screen reader that
|
|
2552
|
+
* announces how many there are.
|
|
2553
|
+
*
|
|
2554
|
+
* It costs a row of nothing when the last row happens to be full, which is why
|
|
2555
|
+
* the flex-basis is zero.
|
|
2556
|
+
*/
|
|
2557
|
+
.plass-gallery-justified::after {
|
|
2558
|
+
content: '';
|
|
2559
|
+
flex-grow: 1000000;
|
|
2560
|
+
flex-basis: 0;
|
|
2561
|
+
}
|
|
2562
|
+
|
|
2337
2563
|
/* ---------------------------------------------------------------------------
|
|
2338
2564
|
* Reduced motion
|
|
2339
2565
|
*
|
|
@@ -2405,6 +2631,27 @@
|
|
|
2405
2631
|
animation: none;
|
|
2406
2632
|
}
|
|
2407
2633
|
|
|
2634
|
+
/*
|
|
2635
|
+
* A marquee that stops would leave everything past the edge of its box out
|
|
2636
|
+
* of sight for good. One copy is drawn, and the box scrolls along it instead
|
|
2637
|
+
* of clipping it, so the strip stays one line rather than wrapping down the
|
|
2638
|
+
* page; a platform that draws a permanent scrollbar adds only the bar. The
|
|
2639
|
+
* component makes the box a tab stop while it scrolls.
|
|
2640
|
+
*/
|
|
2641
|
+
.plass-marquee {
|
|
2642
|
+
overflow-x: auto;
|
|
2643
|
+
overflow-y: hidden;
|
|
2644
|
+
}
|
|
2645
|
+
|
|
2646
|
+
.plass-marquee-vertical {
|
|
2647
|
+
overflow-x: hidden;
|
|
2648
|
+
overflow-y: auto;
|
|
2649
|
+
}
|
|
2650
|
+
|
|
2651
|
+
.plass-marquee-track + .plass-marquee-track {
|
|
2652
|
+
display: none;
|
|
2653
|
+
}
|
|
2654
|
+
|
|
2408
2655
|
/* The arc stops travelling and becomes an even glow. The same trade the
|
|
2409
2656
|
skeleton makes: the decoration survives, the motion does not. */
|
|
2410
2657
|
.plass-anim-lighting::before {
|